ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Linux系统安装与初始化全流程指南

Linux系统安装与初始化全流程指南

1. Linux系统安装与初始化指南

作为一名使用Linux系统超过10年的老用户,我见证了从Ubuntu 8.04到最新的22.04 LTS的演变历程。Linux系统以其稳定性、安全性和灵活性著称,是开发者、运维人员和科技爱好者的首选操作系统。本文将分享我在不同场景下安装和初始化Linux系统的实战经验,涵盖从基础安装到生产环境优化的全流程。

Linux系统的安装过程看似简单,但细节决定成败。一个合理的初始配置能为后续使用省去大量麻烦。无论是个人电脑、服务器还是云环境,我都建议遵循"最小化安装+按需定制"的原则。下面我将从准备工作开始,逐步拆解每个关键环节。

2. 安装前的准备工作

2.1 硬件兼容性检查

在开始安装前,务必确认你的硬件与目标Linux发行版兼容。我曾在2015年遇到一台戴尔XPS笔记本,其Broadcom无线网卡在Ubuntu上需要额外安装驱动。现代硬件对Linux的支持已经大幅改善,但仍需注意:

  • 显卡:NVIDIA显卡需要专有驱动,AMD显卡通常开箱即用
  • 无线网卡:Intel芯片兼容性最佳,部分Realtek芯片需要额外固件
  • 特殊硬件:如指纹识别、触控板手势等功能可能受限

提示:使用lspci和lsusb命令可以列出所有PCI和USB设备,对照Linux硬件兼容性列表(HCL)检查

2.2 选择合适的发行版

Linux发行版众多,选择取决于你的使用场景:

  • 桌面用户:Ubuntu、Linux Mint、Fedora
  • 服务器:CentOS Stream、Ubuntu Server、Debian
  • 老硬件:Lubuntu、Xubuntu(轻量级)
  • 专业领域:RHEL(企业)、Kali Linux(安全)

我个人推荐新手从Ubuntu开始,它有最完善的文档和社区支持。对于服务器,CentOS Stream的稳定性已经足够,且保持与RHEL兼容。

2.3 制作安装介质

制作启动盘的三种主流方法:

  1. Rufus(Windows平台):

    • 选择DD模式写入ISO
    • 兼容性最好,支持UEFI和传统BIOS
  2. Etcher(跨平台):

    • 界面友好,自动验证写入结果
    • 适合不熟悉命令行的新手
  3. dd命令(Linux/macOS):

    sudo dd if=ubuntu-22.04.iso of=/dev/sdX bs=4M status=progress
    • 最原始但最可靠的方法
    • 注意确认目标设备(/dev/sdX)避免误操作

警告:制作启动盘会清空U盘所有数据,务必提前备份

3. 系统安装详细步骤

3.1 分区方案设计

合理的分区方案能提升系统安全性和管理效率。以下是我的推荐方案(以100GB磁盘为例):

挂载点大小文件系统备注
/boot/efi512MBFAT32UEFI必备
/boot1GBext4内核和引导文件
/30GBext4根目录
/home剩余空间ext4用户数据独立
swap内存大小的1-2倍swap休眠需要等于内存大小

对于SSD,建议:

  • 启用TRIM:fstrim -v /
  • 挂载选项添加discard
  • 考虑使用f2fs文件系统(需内核支持)

3.2 安装过程关键选项

  1. 语言选择:

    • 建议选择英语,避免后续开发中出现编码问题
    • 可以同时安装中文支持包
  2. 网络配置:

    # 安装时检查网络 ping -c 3 google.com # 如果无法解析,检查DNS cat /etc/resolv.conf
  3. 软件选择:

    • 最小化安装:仅选择标准系统工具
    • 避免预装不需要的软件(如办公套件)
    • 可以后期通过apt或dnf按需安装
  4. 用户创建:

    • 避免直接使用root账户
    • 创建具有sudo权限的普通用户
    • 密码强度建议12位以上,包含大小写、数字和符号

3.3 首次启动后的检查

安装完成后,执行以下检查:

# 检查硬件识别 lspci -k | grep -A 2 -i "vga\|3d\|display" # 网络连接 ip a # 磁盘挂载 df -h # 系统信息 uname -a lsb_release -a

4. 系统初始化配置

4.1 基础软件包安装

更新软件源并安装基础工具包:

sudo apt update && sudo apt upgrade -y # Debian/Ubuntu sudo dnf update -y # RHEL/CentOS/Fedora # 常用工具 sudo apt install -y build-essential git curl wget vim tmux htop net-tools

4.2 安全加固

  1. 防火墙配置:

    sudo ufw enable # Ubuntu sudo ufw allow ssh sudo systemctl enable --now firewalld # CentOS sudo firewall-cmd --permanent --add-service=ssh
  2. SSH安全:

    sudo vim /etc/ssh/sshd_config

    修改以下参数:

    PermitRootLogin no PasswordAuthentication no # 使用密钥认证 Port 2222 # 修改默认端口
  3. 自动更新:

    sudo apt install unattended-upgrades # Ubuntu sudo dpkg-reconfigure -plow unattended-upgrades

4.3 开发环境配置

  1. Python环境:

    sudo apt install python3-pip python3-venv python3 -m pip install --upgrade pip
  2. Node.js:

    curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs
  3. Docker:

    sudo apt install docker.io sudo systemctl enable --now docker sudo usermod -aG docker $USER

4.4 性能优化

  1. 交换空间优化:

    echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
  2. 文件系统优化:

    sudo tune2fs -o journal_data_writeback /dev/sdX1 # ext4 sudo mount -o remount,noatime,commit=60 /
  3. 服务管理:

    sudo systemctl list-unit-files --type=service sudo systemctl disable bluetooth.service # 禁用不需要的服务

5. 常见问题与解决方案

5.1 安装阶段问题

问题1:无法识别NVMe SSD

  • 解决方案:在BIOS中切换存储模式为AHCI
  • 检查内核是否加载NVMe驱动:
    lsmod | grep nvme

问题2:双系统时间不同步

  • 原因:Windows使用本地时间,Linux使用UTC
  • 修复:
    timedatectl set-local-rtc 1 --adjust-system-clock

5.2 驱动问题

NVIDIA显卡驱动安装:

ubuntu-drivers devices # 检测推荐驱动 sudo apt install nvidia-driver-530 # 安装推荐版本 sudo prime-select nvidia # 切换为NVIDIA显卡

无线网卡驱动:

lspci -k | grep -A 3 -i network sudo apt install firmware-realtek # 常见Realtek网卡

5.3 网络配置

静态IP设置:

sudo vim /etc/netplan/01-netcfg.yaml # Ubuntu

示例配置:

network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]

DNS解析慢:

sudo vim /etc/systemd/resolved.conf

添加:

DNS=8.8.8.8 1.1.1.1 DNSOverTLS=opportunistic

6. 高级初始化技巧

6.1 自动化初始化脚本

创建init.sh脚本实现一键初始化:

#!/bin/bash # 系统更新 sudo apt update && sudo apt upgrade -y # 安装基础包 sudo apt install -y git curl wget vim tmux htop # 配置SSH sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl restart sshd # 设置时区 sudo timedatectl set-timezone Asia/Shanghai # 优化内核参数 echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

6.2 备份与恢复

使用rsync进行系统备份:

sudo rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /backup/

创建系统快照(Btrfs):

sudo btrfs subvolume snapshot / /snapshots/$(date +%Y-%m-%d)

6.3 容器化初始化

使用Docker快速部署开发环境:

FROM ubuntu:22.04 RUN apt update && apt install -y \ build-essential \ python3-pip \ git \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt CMD ["/bin/bash"]

构建并运行:

docker build -t dev-env . docker run -it --rm -v $(pwd):/app dev-env

7. 生产环境特别注意事项

对于服务器部署,还需要考虑:

  1. 日志管理:

    sudo apt install logrotate sudo vim /etc/logrotate.conf
  2. 监控设置:

    sudo apt install prometheus-node-exporter sudo systemctl enable --now prometheus-node-exporter
  3. 备份策略:

    • 每日增量备份
    • 每周全量备份
    • 异地备份(至少3-2-1原则)
  4. 安全审计:

    sudo apt install auditd sudo auditctl -l sudo ausearch -k "user-login"
  5. 性能基准测试:

    # CPU sysbench cpu --cpu-max-prime=20000 run # 内存 sysbench memory --memory-block-size=1K --memory-total-size=10G run # 磁盘IO sysbench fileio --file-total-size=5G prepare sysbench fileio --file-test-mode=rndrw run

经过多年实践,我发现Linux系统的稳定性和性能很大程度上取决于初始安装和配置的质量。遵循本文的指导,你可以建立一个既安全又高效的Linux环境。记住,每个系统都应该根据具体需求进行定制,盲目复制配置可能适得其反。建议在重要操作前先在小环境测试,确认无误后再应用到生产系统。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进