1. Debian系统安装全流程实录
作为一名Linux系统管理员,我过去十年在各种硬件平台上部署过数百次Debian系统。今天想完整记录一次标准的Debian 12安装过程,同时分享几个让终端更好看的配置技巧,以及安装后必做的优化设置。这个流程适用于大多数x86_64架构的PC设备,包含从镜像下载到基础环境配置的全套操作。
注意:建议准备至少20GB可用空间的U盘作为安装介质,安装过程会清空目标磁盘数据,请提前备份重要文件。
1.1 安装镜像获取与验证
首先访问Debian官网下载最新稳定版镜像。当前最新LTS版本是Debian 12.5(代号Bookworm),推荐选择包含非自由固件的netinst镜像(约650MB):
# 下载镜像(使用清华源加速) wget https://mirrors.tuna.tsinghua.edu.cn/debian-cd/current/amd64/iso-cd/debian-12.5.0-amd64-netinst.iso # 验证SHA256校验和 echo "a4e48f5c5a7b3e4e6c8c3f8e3b8e3f8e3b8e3f8e3b8e3f8e3b8e3f8e3b8e3f8 debian-12.5.0-amd64-netinst.iso" | sha256sum -c如果校验失败,绝对不要继续安装流程——这可能意味着下载过程中出现了数据损坏,或者更糟的情况。我曾在企业环境中遇到过因镜像校验跳过导致整个集群部署失败的情况。
1.2 制作可启动安装介质
推荐使用Ventoy制作多系统启动U盘(相比Rufus或Etcher更灵活):
# 在Linux下安装Ventoy sudo apt install ventoy # 插入U盘后(假设是/dev/sdb) sudo ventoy -i /dev/sdb制作完成后,直接将ISO文件拷贝到U盘即可。这种方式最大的优势是可以随时添加其他系统镜像,而无需反复格式化U盘。
2. 安装过程关键配置详解
2.1 分区方案设计
对于SSD设备,我通常采用以下分区方案(以1TB磁盘为例):
| 挂载点 | 类型 | 大小 | 文件系统 | 备注 |
|---|---|---|---|---|
| /boot/efi | EFI | 512MB | FAT32 | 必须为第一个分区 |
| /boot | 主分区 | 1GB | ext4 | 独立boot分区更安全 |
| / | 主分区 | 100GB | ext4 | 启用discard选项支持TRIM |
| /home | 逻辑分区 | 剩余空间 | ext4 | 用户数据独立存放 |
| swap | 交换分区 | 内存大小的1-1.5倍 | swap | 休眠需要≥内存大小 |
重要提示:如果使用LVM或加密方案,需要在分区时选择"手动"模式。企业级部署建议启用LUKS加密,但会轻微影响IO性能。
2.2 软件包选择策略
在"软件选择"界面,建议:
- 只勾选"标准系统工具"和"SSH服务器"
- 取消所有桌面环境选项(可后续按需安装)
- 不要安装打印服务器(除非确实需要)
这种最小化安装可以减少攻击面,后续通过apt按需安装软件。例如安装常用工具包:
sudo apt install build-essential curl git vim tmux htop3. 安装后必做优化配置
3.1 配置国内软件源
编辑/etc/apt/sources.list替换为清华源:
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free更新软件包索引:
sudo apt update && sudo apt upgrade -y3.2 终端美化方案
安装zsh和oh-my-zsh:
sudo apt install zsh fonts-powerline sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"推荐使用Powerlevel10k主题:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k编辑~/.zshrc修改配置:
ZSH_THEME="powerlevel10k/powerlevel10k" plugins=(git zsh-autosuggestions zsh-syntax-highlighting)4. 常见问题解决方案
4.1 安装过程中断问题
如果安装过程因网络问题中断,可以尝试:
- 改用有线网络连接
- 选择不同的镜像源
- 使用完整DVD镜像而非netinst
4.2 双系统时间不同步
Windows和Linux双系统会出现时间差异,解决方法:
sudo timedatectl set-local-rtc 1 --adjust-system-clock4.3 显卡驱动问题
对于NVIDIA显卡:
sudo apt install nvidia-driver firmware-misc-nonfree然后重启系统。如果遇到黑屏,可以尝试在GRUB启动时添加nomodeset参数。
5. 进阶软件安装示例
5.1 Docker安装与配置
# 卸载旧版本 sudo apt remove docker docker-engine docker.io containerd runc # 安装依赖 sudo apt install ca-certificates curl gnupg # 添加官方GPG密钥 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # 设置仓库 echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装Docker sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 验证安装 sudo docker run hello-world5.2 RustDesk远程桌面配置
# 下载最新版 wget https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-x86_64.deb # 安装依赖 sudo apt install libxcb-keysyms1 libxcb-image0 libxcb-xtest0 # 安装软件包 sudo dpkg -i rustdesk-1.2.3-x86_64.deb6. 系统安全加固建议
- 配置防火墙规则:
sudo apt install ufw sudo ufw allow ssh sudo ufw enable- 禁用root SSH登录:
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl restart sshd- 设置自动安全更新:
sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades- 密码复杂度策略(编辑/etc/pam.d/common-password):
password requisite pam_pwquality.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1这套配置要求密码至少10个字符,包含大小写字母、数字和特殊字符。在企业环境中,我通常会结合LDAP或Kerberos实现集中认证。