1. Linux系统安装全流程解析
第一次接触Linux安装的新手常会被各种发行版和安装选项搞得晕头转向。作为使用Linux十五年的老鸟,我建议从Ubuntu LTS版本开始入门,它的硬件兼容性和社区支持都相当完善。安装前需要准备一个至少8GB的U盘和30GB的磁盘空间——这个容量可以保证系统有充足的扩展余地。
重要提示:安装时遇到显卡驱动问题,可先选择"安全图形模式"进入安装界面
安装介质制作推荐使用Ventoy工具,它允许直接将ISO文件拷贝到U盘而无需反复格式化。启动时注意BIOS设置中要关闭Secure Boot安全启动选项,这对大多数Linux发行版都适用。分区方案建议采用:
- /boot 500MB (EFI系统分区)
- swap 内存大小的1.5倍
- / 剩余空间的70%
- /home 剩余30%
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 软件包管理核心机制
2.1 包管理系统对比
Debian系的apt和RedHat系的yum/dnf是两大主流包管理工具。apt的优势在于依赖解析更智能,而dnf则采用更新的依赖解决算法。例如安装Nginx服务时:
bash复制# Debian/Ubuntu
sudo apt update && sudo apt install nginx
# CentOS/RHEL
sudo dnf install nginx
2.2 源码编译安装详解
当需要特定版本或自定义功能时,源码安装是必备技能。以安装Python3.10为例:
bash复制wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
tar xzf Python-3.10.0.tgz
cd Python-3.10.0
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall
关键参数说明:
- --enable-optimizations 启用性能优化编译
- make -j$(nproc) 使用所有CPU核心加速编译
- altinstall 防止覆盖系统默认Python
3. 系统服务管理实战
3.1 systemd服务配置
现代Linux发行版普遍采用systemd管理服务。创建一个自定义服务的标准流程:
- 在/etc/systemd/system/创建.service文件
- 典型服务文件模板:
ini复制[Unit]
Description=My Custom Service
[Service]
ExecStart=/usr/local/bin/myapp
Restart=always
User=appuser
[Install]
WantedBy=multi-user.target
- 重载配置并启用服务:
bash复制sudo systemctl daemon-reload
sudo systemctl enable --now myapp.service
3.2 服务日志排查技巧
journalctl是排查服务问题的利器,常用组合命令:
bash复制# 查看最近100条日志
journalctl -n 100
# 追踪特定服务日志
journalctl -u nginx -f
# 显示带时间的完整日志
journalctl -o verbose
4. 容器化应用管理方案
4.1 Docker核心操作
容器技术极大简化了应用部署流程。安装Docker后基本操作流:
bash复制# 拉取镜像
docker pull nginx:1.21
# 运行容器
docker run -d -p 80:80 --name myweb nginx:1.21
# 查看运行状态
docker ps
# 进入容器shell
docker exec -it myweb bash
4.2 Podman无守护进程方案
对于安全性要求高的环境,推荐使用Podman:
bash复制# 创建pod
podman pod create --name mypod
# 添加容器到pod
podman run -d --pod mypod nginx
5. 性能监控与优化
5.1 基础监控命令
bash复制# CPU监控
top -o %CPU
# 内存监控
free -h
# 磁盘IO监控
iotop
# 网络流量监控
nload
5.2 系统调优参数
/etc/sysctl.conf关键优化项:
conf复制# 提高TCP连接数
net.ipv4.tcp_max_syn_backlog = 8192
# 减少swap使用倾向
vm.swappiness = 10
# 加快文件访问
vm.vfs_cache_pressure = 50
6. 安全加固 checklist
- 定期更新系统:
bash复制sudo apt update && sudo apt upgrade -y
- 配置防火墙规则:
bash复制sudo ufw allow 22/tcp
sudo ufw enable
- 禁用root SSH登录:
bash复制# 修改/etc/ssh/sshd_config
PermitRootLogin no
- 安装fail2ban防暴力破解:
bash复制sudo apt install fail2ban
7. 自动化运维工具链
7.1 Ansible基础配置
创建inventory文件定义主机组:
ini复制[webservers]
web1 ansible_host=192.168.1.10
web2 ansible_host=192.168.1.11
[all:vars]
ansible_user=admin
执行批量命令:
bash复制ansible webservers -m ping
ansible all -a "uptime"
7.2 定时任务管理
crontab的进阶用法:
bash复制# 每5分钟检查服务状态
*/5 * * * * systemctl is-active --quiet nginx || systemctl restart nginx
# 每天凌晨压缩日志
0 0 * * * find /var/log -name "*.log" -mtime +7 -exec gzip {} \;
8. 桌面环境配置技巧
8.1 多显示器设置
使用xrandr配置双屏:
bash复制xrandr --output HDMI-1 --auto --right-of eDP-1
8.2 输入法优化
Fcitx5配置要点:
bash复制sudo apt install fcitx5 fcitx5-chinese-addons
在~/.pam_environment添加:
conf复制GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
9. 常见故障处理手册
9.1 系统无法启动
使用LiveCD修复GRUB:
bash复制mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
chroot /mnt
grub-install /dev/sda
update-grub
9.2 磁盘空间告急
快速定位大文件:
bash复制# 查找大于100MB的文件
find / -type f -size +100M -exec ls -lh {} \;
# 分析目录大小
du -h --max-depth=1 /var
10. 进阶资源推荐
- 性能分析工具:
- perf:系统级性能分析
- bpftrace:动态内核追踪
- 网络调试利器:
- tcpdump:抓包分析
- mtr:网络路径诊断
- 系统救援工具:
- systemrescuecd:全能救援镜像
- testdisk:数据恢复工具
实际运维中我发现,80%的问题都能通过日志分析和系统监控提前发现。建议养成定期检查/var/log目录的习惯,配置好日志轮转策略。对于生产环境,一定要实施完善的备份方案——我吃过太多次没备份的亏了。
