第一次接触Linux安装的新手常会被各种发行版和安装选项搞得晕头转向。作为使用Linux十五年的老鸟,我建议从Ubuntu LTS版本开始入门,它的硬件兼容性和社区支持都相当完善。安装前需要准备一个至少8GB的U盘和30GB的磁盘空间——这个容量可以保证系统有充足的扩展余地。
重要提示:安装时遇到显卡驱动问题,可先选择"安全图形模式"进入安装界面
安装介质制作推荐使用Ventoy工具,它允许直接将ISO文件拷贝到U盘而无需反复格式化。启动时注意BIOS设置中要关闭Secure Boot安全启动选项,这对大多数Linux发行版都适用。分区方案建议采用:
Debian系的apt和RedHat系的yum/dnf是两大主流包管理工具。apt的优势在于依赖解析更智能,而dnf则采用更新的依赖解决算法。例如安装Nginx服务时:
bash复制# Debian/Ubuntu
sudo apt update && sudo apt install nginx
# CentOS/RHEL
sudo dnf install nginx
当需要特定版本或自定义功能时,源码安装是必备技能。以安装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
关键参数说明:
现代Linux发行版普遍采用systemd管理服务。创建一个自定义服务的标准流程:
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
journalctl是排查服务问题的利器,常用组合命令:
bash复制# 查看最近100条日志
journalctl -n 100
# 追踪特定服务日志
journalctl -u nginx -f
# 显示带时间的完整日志
journalctl -o verbose
容器技术极大简化了应用部署流程。安装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
对于安全性要求高的环境,推荐使用Podman:
bash复制# 创建pod
podman pod create --name mypod
# 添加容器到pod
podman run -d --pod mypod nginx
bash复制# CPU监控
top -o %CPU
# 内存监控
free -h
# 磁盘IO监控
iotop
# 网络流量监控
nload
/etc/sysctl.conf关键优化项:
conf复制# 提高TCP连接数
net.ipv4.tcp_max_syn_backlog = 8192
# 减少swap使用倾向
vm.swappiness = 10
# 加快文件访问
vm.vfs_cache_pressure = 50
bash复制sudo apt update && sudo apt upgrade -y
bash复制sudo ufw allow 22/tcp
sudo ufw enable
bash复制# 修改/etc/ssh/sshd_config
PermitRootLogin no
bash复制sudo apt install fail2ban
创建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"
crontab的进阶用法:
bash复制# 每5分钟检查服务状态
*/5 * * * * systemctl is-active --quiet nginx || systemctl restart nginx
# 每天凌晨压缩日志
0 0 * * * find /var/log -name "*.log" -mtime +7 -exec gzip {} \;
使用xrandr配置双屏:
bash复制xrandr --output HDMI-1 --auto --right-of eDP-1
Fcitx5配置要点:
bash复制sudo apt install fcitx5 fcitx5-chinese-addons
在~/.pam_environment添加:
conf复制GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
使用LiveCD修复GRUB:
bash复制mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
chroot /mnt
grub-install /dev/sda
update-grub
快速定位大文件:
bash复制# 查找大于100MB的文件
find / -type f -size +100M -exec ls -lh {} \;
# 分析目录大小
du -h --max-depth=1 /var
实际运维中我发现,80%的问题都能通过日志分析和系统监控提前发现。建议养成定期检查/var/log目录的习惯,配置好日志轮转策略。对于生产环境,一定要实施完善的备份方案——我吃过太多次没备份的亏了。