1. 银河麒麟系统升级前的关键准备
作为一名长期从事国产操作系统运维的技术人员,我深知银河麒麟系统升级过程中可能遇到的各类"坑"。在正式操作前,这些准备工作绝对不能马虎。
数据备份是重中之重。我建议采用三级备份策略:
- 用户数据备份:使用rsync同步/home目录到外部存储
bash复制rsync -avz --progress /home/ user@backup_server:/kylin_backup/home_$(date +%Y%m%d) - 系统配置备份:打包关键配置文件
bash复制tar -czvf /backup/etc_backup_$(date +%Y%m%d).tar.gz /etc/{ssh,network,fstab,grub*} - 全盘镜像备份(可选):使用dd命令创建系统盘完整镜像
bash复制dd if=/dev/sda of=/mnt/backup/kylin_v10_full.img bs=4M status=progress
特别注意:备份完成后务必验证备份文件的完整性,我曾遇到过因存储介质故障导致备份失效的情况。
系统环境检查清单:
- 确认当前系统版本:
cat /etc/kylin-release - 检查磁盘空间:
df -h(系统分区至少保留10GB空闲空间) - 验证网络连接:
ping update.cs2c.com.cn -c 4 - 记录关键服务状态:
systemctl list-units --type=service --state=running
2. 源配置与系统升级全流程
2.1 现有源的处理技巧
移除旧版源时,我推荐以下更安全的做法:
bash复制mkdir -p /etc/yum.repos.d/backup_v10
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup_v10/
这种方法比直接删除更保险,保留了回滚的可能性。
2.2 V11源安装的注意事项
安装新源时,建议先下载rpm包到本地再安装:
bash复制wget https://update.cs2c.com.cn/NS/V11/2503/os/adv/lic/base/x86_64/Packages/{kylin-release-11-01.6.p246.ky11.x86_64.rpm,kylin-repos-1.0-2.6.p03.ky11.x86_64.rpm}
rpm -ivh --nodeps --force kylin-release-11-01.6.p246.ky11.x86_64.rpm
rpm -ivh --nodeps --force kylin-repos-1.0-2.6.p03.ky11.x86_64.rpm
经验之谈:有时源服务器可能响应缓慢,添加
--nogpgcheck参数可以避免因密钥验证导致的超时问题。
2.3 系统升级的核心命令解析
执行升级时,这个组合命令是我测试过最稳定的:
bash复制dnf -y --allowerasing --setopt=deltarpm=false distro-sync --nogpgcheck
参数解释:
--allowerasing:允许替换冲突的软件包--setopt=deltarpm=false:禁用增量更新,避免网络不稳定导致的问题distro-sync:确保系统完全同步到新版本
升级过程中常见问题处理:
- 遇到依赖冲突:
dnf repoquery --unsatisfied查看问题依赖 - 下载速度慢:
dnf --setopt=timeout=600 -y update - 内存不足:添加swap空间
dd if=/dev/zero of=/swapfile bs=1G count=4
3. 升级后系统修复与优化
3.1 基础环境重装策略
Minimal Install组的安装需要特别注意:
bash复制dnf group install "Minimal Install" -y --skip-broken
添加--skip-broken参数可以避免因个别软件包问题导致整个安装失败。
SSH服务恢复技巧:
bash复制systemctl enable --now sshd
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
systemctl restart sshd
3.2 引导修复的深度解析
分区类型判断进阶技巧:
bash复制lsblk -o NAME,PTTYPE,FSTYPE,MOUNTPOINT
这个命令可以更直观地查看分区表和文件系统类型。
UEFI引导修复的完整流程:
- 确认EFI分区位置:
bash复制
mount | grep efi - 重建grub配置:
bash复制
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg - 添加启动项(以/dev/nvme0n1p1为例):
bash复制efibootmgr -c -w -L "Kylin_V11" -d /dev/nvme0n1 -p 1 -l \\EFI\\kylin\\shimx64.efi
传统BIOS引导修复要点:
bash复制grub2-install --target=i386-pc /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
血泪教训:曾经有次忘记指定
--target=i386-pc参数,导致系统无法引导,最后只能通过救援模式修复。
4. 升级后常见问题排查指南
4.1 网络配置问题处理
网卡名称变更的解决方案:
bash复制vi /etc/default/grub
# 添加 net.ifnames=0 biosdevname=0
grub2-mkconfig -o /boot/grub2/grub.cfg
4.2 图形界面异常修复
如果升级后图形界面无法启动:
bash复制dnf reinstall kylin-desktop lightdm -y
systemctl set-default graphical.target
systemctl isolate graphical.target
4.3 性能优化建议
- 关闭不必要的服务:
bash复制systemctl disable bluetooth.service cups.service - 调整swappiness值:
bash复制echo 'vm.swappiness=10' >> /etc/sysctl.conf - 优化文件系统:
bash复制
fstrim -av
5. 升级后的验证与调优
系统升级完成后,建议执行以下验证步骤:
-
基础功能检查清单:
bash复制# 检查内核版本 uname -r # 验证系统版本 cat /etc/os-release # 测试网络连接 ping -c 4 www.cs2c.com.cn # 检查所有服务状态 systemctl list-units --type=service --state=failed -
性能基准测试(可选):
bash复制# CPU测试 dd if=/dev/zero bs=1M count=1024 | md5sum # 磁盘IO测试 fio --filename=/tmp/test --size=1G --direct=1 --rw=randrw --bs=4k --ioengine=libaio --iodepth=256 --runtime=60 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1 -
安全加固建议:
bash复制# 更新所有安全补丁 dnf update --security -y # 检查防火墙规则 firewall-cmd --list-all # 审计已安装软件包 rpm -Va > /var/log/rpm_verify.log
在实际操作中,我发现银河麒麟V11对硬件兼容性有了显著提升,特别是在国产CPU平台上的性能优化非常明显。不过需要注意的是,某些老旧的硬件驱动可能需要手动安装,建议提前准备好相关驱动包。