Linux系统安装与配置全流程详解

发布时间:2026/7/25 6:15:01

Linux系统安装与配置全流程详解 1. Linux系统安装全流程解析作为从业15年的Linux系统管理员我见证了从光盘安装到自动化部署的整个技术演进历程。现代Linux安装早已不是简单的下一步点击操作而是需要综合考虑硬件兼容性、分区方案、引导方式等关键因素的系统工程。以主流的CentOS和Ubuntu为例我将拆解安装过程中的每个技术细节。1.1 安装介质准备要点制作启动U盘时建议使用Ventoy这类多镜像启动工具。相比传统的dd命令或Rufus工具Ventoy允许在同一个U盘存放多个ISO文件且支持Windows和Linux双平台制作。实际操作中要注意# 查看U盘设备标识通常为/dev/sdb lsblk # 使用Ventoy安装注意替换sdX为实际设备 sudo sh Ventoy2Disk.sh -i /dev/sdX重要提示执行前务必确认设备路径错误的设备选择会导致数据丢失。建议先拔掉其他外接存储设备。1.2 分区方案设计原则生产环境推荐采用LVM分区方案其优势在于支持在线扩容特别是/var和/home目录可做快照备份关键操作前创建快照方便调整分区大小典型的分区结构建议/boot 1GB 标准分区 swap 内存1.5倍 标准分区 / 50GB LVM /var 50GB LVM /home 剩余空间 LVM对于SSD设备需要额外注意对齐分区使用-sector-size参数启用discard挂载选项考虑使用fstrim定时任务2. 系统初始化关键配置2.1 网络配置最佳实践网络配置现在普遍采用nmcli替代传统的ifcfg文件。以下是通过命令行配置静态IP的规范操作nmcli con add con-name eth0-static ifname eth0 type ethernet \ ip4 192.168.1.100/24 gw4 192.168.1.1 \ dns4 8.8.8.8 dns4 8.8.4.4 nmcli con up eth0-static关键参数说明ip4IP地址/掩码长度gw4默认网关dns4可指定多个DNS服务器2.2 安全加固三板斧SSH安全修改默认端口禁用root登录启用密钥认证sed -i s/#Port 22/Port 2222/ /etc/ssh/sshd_config echo PermitRootLogin no /etc/ssh/sshd_config防火墙配置firewall-cmd --permanent --add-port2222/tcp firewall-cmd --reloadSELinux策略 生产环境建议保持enforcing模式setenforce 1 sed -i s/SELINUXpermissive/SELINUXenforcing/ /etc/selinux/config3. 软件包管理深度解析3.1 YUM/DNF高级用法RHEL系发行版中配置国内镜像源可显著提升安装速度# 备份原repo文件 mkdir /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo backup/ # 添加阿里云源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 清理并重建缓存 yum clean all yum makecache常用查询命令# 查找提供特定文件的包 yum provides */ifconfig # 查看软件包依赖 repoquery --requires httpd # 下载不安装 yum install --downloadonly httpd3.2 APT实用技巧Ubuntu系中处理依赖问题的黄金命令# 修复损坏的依赖 apt --fix-broken install # 彻底清除已删除包的残留配置 apt purge $(dpkg -l | grep ^rc | awk {print $2})PPA源管理建议优先使用官方PPA添加前验证GPG key定期清理无用PPA# 列出所有PPA源 grep -r ^ /etc/apt/sources.list.d/4. 服务管理进阶指南4.1 Systemd单元文件编写自定义服务示例/etc/systemd/system/myapp.service[Unit] DescriptionMy Custom Application Afternetwork.target [Service] Typesimple Userappuser WorkingDirectory/opt/myapp ExecStart/usr/bin/python3 /opt/myapp/main.py Restarton-failure RestartSec5s [Install] WantedBymulti-user.target关键参数解析Restart策略on-failure表示异常退出时重启User指定运行账户提升安全性RestartSec设置重启间隔避免频繁重启4.2 日志管理方案journalctl的实用过滤命令# 按时间范围查看 journalctl --since 2023-01-01 --until 2023-01-02 # 显示内核日志 journalctl -k # 追踪特定服务日志 journalctl -u nginx -f对于需要长期保存的日志建议配置logrotate定期切割重要日志转存到ELK等集中式系统敏感日志设置权限限制5. 常见故障排查手册5.1 启动问题排查流程查看引导日志journalctl -b检查服务依赖关系systemctl list-dependencies myapp.service进入救援模式在GRUB菜单按e编辑在linux行尾添加init/bin/bashCtrlX启动5.2 性能问题定位内存分析组合拳free -h # 查看整体使用 vmstat 1 5 # 监控虚拟内存 slabtop # 查看内核对象缓存IO瓶颈检查iostat -x 1 # 查看设备负载 iotop # 实时IO进程监控6. 自动化运维实践6.1 Kickstart无人值守安装典型ks.cfg配置片段# 分区配置 clearpart --all --initlabel part /boot --fstypexfs --size1024 part swap --size4096 part / --fstypexfs --size20480 part /var --fstypexfs --size10240 # 软件包选择 %packages ^minimal vim-enhanced %end生成加密的root密码python -c import crypt; print(crypt.crypt(mypassword))6.2 Ansible基础配置主机清单示例/etc/ansible/hosts[web] web1.example.com ansible_useradmin web2.example.com [db] db1.example.com ansible_becomeyes常用模块速查# 批量安装软件 ansible web -m yum -a namehttpd statepresent # 文件分发 ansible all -m copy -a src/etc/hosts dest/tmp/hosts # 服务管理 ansible web -m service -a namehttpd enabledyes statestarted在多年的运维实践中我发现90%的问题都源于基础配置不规范。建议所有操作前做好备份关键修改使用版本控制工具记录。对于生产环境推荐使用配置管理工具保持系统状态的一致性。

相关新闻