ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

麒麟系统上手实践:安装配置、开发适配与排障实录

麒麟系统上手实践:安装配置、开发适配与排障实录 做运维这些年经手的操作系统从 Windows XP 一路折腾到 CentOS、Ubuntu再到各种行业定制的发行版。最近两年因为国产化替代和自主可控的需求越来越普遍我开始认真接触麒麟操作系统。说句实话第一次在真机安装前我内心是有点儿不以为然的总觉得这是“换皮Linux”。但实际用下来它确实是一个完整的、独立的、值得我们重新审视的操作系统而不是简单的拿来主义。这篇东西我想以自己的实测经历为线索把麒麟系统的安装、配置、日常使用、开发适配和排障过程完整记录下来希望能给准备迁移到麒麟平台或者正在评估这套系统的朋友提供一些能直接拿来用的参考。1. 麒麟系统到底是什么版本梳理与应用定位1.1 麒麟系统的来龙去脉和常见版本很多刚接触的朋友会搞混“麒麟”这个词因为市面上叫麒麟的系统不止一个。简单梳理一下目前主流的有两条线一条是面向桌面办公和服务器领域的银河麒麟系列另一条是面向高校教学和社区开发的开放麒麟版本。虽然侧重点不同但它们的底层都基于Linux内核遵循着开源的精神只是在上层做了大量的国产化适配。从内核版本和包管理风格来看麒麟系统给我的感觉非常接近 Red Hat 和 Debian 系的一个融合体。比如桌面版默认采用 apt/dpkg 包管理但系统服务又常用 systemd 来管理命令行的习惯和老 Linux 玩家不会有冲突。更重要的是它在内核层面加入了国产CPU架构的支持像飞腾、鲲鹏、龙芯、兆芯、海光、申威这些平台都有对应的镜像包这是普通 Ubuntu 默认镜像没法直接覆盖的。所以麒麟不是一个简单的发行版它更像是一套面向特定硬件生态的“官方适配系统”。1.2 适合部署麒麟的场景与选型建议根据我自己的部署经验麒麟系统最适合以下三类场景政企办公终端日常办公涉及浏览器、文档编辑、邮件客户端、即时通讯、影音播放。在没有明确要求必须用 Windows 的环境下麒麟桌面已经可以拿来做主力机。信创项目服务器内网服务器跑数据库、Web服务、文件共享选麒麟服务器版稳定性和官方维护周期是我比较看重的点。硬件受限的老机器麒麟的桌面版对配置要求不算高4GB内存、双核CPU的旧笔记本跑轻量办公反而比 Windows 10 更流畅。选型建议上如果你是个人尝鲜推荐从桌面版开始优先选择带最新桌面环境类似Taskbar风格的版本如果是项目交付一定要跟厂商或渠道确认好CPU架构对应的镜像版本比如 x86_64 和 ARM64 的包源完全不同交叉安装会白费功夫。2. 安装麒麟系统前必须知道的那些事2.1 镜像选择CPU架构和桌面环境怎么选安装前第一个容易踩坑的环节就是镜像下载。我记得第一次下载时直接在官网点了一个“最新版”结果拷到U盘上引导后安装器直接报“此介质不支持当前架构”。后来才发现自己拿的是 ARM 版而测试机是 x86_64 的 AMD 盒。正确做法是先通过 lscpu 或 uname -m 确认机器的架构。以 lscpu 的输出为例如果 Architecture 显示 x86_64 就选 AMD64 镜像如果显示 aarch64 就选 ARM64 镜像。桌面环境的选择则更看个人习惯麒麟的默认桌面操作逻辑接近 Windows有开始菜单和任务栏适合从 Windows 迁移过来的用户如果你想用熟悉的 GNOME 风格某些版本也提供了自定义桌面安装选项。我的建议是初期就用默认桌面减少员工培训成本。2.2 制作U盘启动盘的新手向步骤制作启动盘的方式和 Ubuntu 类似但我推荐用 dd 方式写入镜像而不是用那种仅解压镜像到U盘的工具因为麒麟安装器对引导分区的完整度要求比较高。在 Linux 环境下插入U盘后先找到设备名例如 /dev/sdb然后执行sudo umount /dev/sdb* sudo dd if麒麟镜像.iso of/dev/sdb bs4M statusprogress oflagsync在 Windows 环境下我习惯用 Rufus注意写入模式要选“DD镜像”模式而不是“ISO镜像”模式。很多朋友反映引导失败就是因为默认用了 ISO 模式导致 EFI 分区没有被正确打开。2.3 安装过程中的分区与引导细节麒麟的图形化安装器做得很友好基本可以一路 Next。但有个细节必须留意在“安装位置”这一步默认会建议使用整个磁盘。如果你是想做双系统或者磁盘上已经有重要数据一定要手动分区。我踩过一次坑为了保护一块机械硬盘上的数据我选择了“手动分区”但安装器仍然在某个节点自动格式化了原来的 EFI 分区导致 Windows 引导损坏。后来我用 boot-repair 工具才把引导修回来。手动分区建议这样分分区大小类型挂载点/boot/efi512MBEFI System/boot/efiswap与内存大小一致swapswap/剩余所有空间ext4/如果机器内存是 16GBswap 可以给到 8GB 或直接不单独分用交换文件代替也可以。但考虑到服务器环境可能用到休眠功能建议还是分一个 swap 分区。引导安装的位置也需要注意如果你的机器有多块硬盘安装器会让你选择引导程序安装到哪块磁盘。一定要选你计划作为启动盘的第一块硬盘否则重启后默认从旧盘启动系统根本进不去。3. 上手初体验基础配置与软件安装实操3.1 关闭防火墙与设置软件源刚装好的麒麟系统默认防火墙是启用的这会对局域网访问造成一定的障碍。如果你在内网环境且确实需要开放端口我的建议是先不用着急关闭整个防火墙而是按需开放端口sudo systemctl status firewalld sudo firewall-cmd --permanent --add-port8080/tcp sudo firewall-cmd --reload但如果只是个人办公电脑直接关闭更省心sudo systemctl disable firewalld --now软件源方面麒麟官方源的速度有时候会不稳定尤其是在非电信的网络下。这里提供一个换源思路先备份原列表再替换为国内大型镜像站的麒麟源。需要注意麒麟的源标识与 Ubuntu 源不同直接复制 Ubuntu 源会导致依赖错误。可以从官方源的文件结构里看到仓库路径然后替换域名。比如先把 /etc/apt/sources.list 备份再写好新的源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s|http://archive.xxx.com|http://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list sudo apt update换源后绝大多数常用包的下载速度都能从几KB跳到几MB。3.2 一键安装常用办公软件的思路麒麟应用商店里已经内置了一批办公软件集合但不一定是最新版本。为了快速部署我建议走 apt 命令行并配合一个批量安装脚本sudo apt install -y wps-office wechat \ evince vlc file-roller gimp \ firefox-esr这里的“wechat”是指商店里的 Linux 版本可能版本不是最新的但日常聊天够用。WPS 安装后要额外在命令行执行一次wps然后按提示选择字体目录。我遇到过文档打开后乱码的问题是因为系统缺少中文手工字体。只需要把 Windows 下的 C:\Windows\Fonts 中的常用字体拷贝到 /usr/share/fonts/ 下再执行sudo fc-cache -fv乱码问题就基本解决了。3.3 硬件驱动与打印机适配处理对一个操作系统来说最见功底的地方不是 UI 好不好看而是外设能不能即插即用。麒麟系统对常见打印机和无线网卡的支持我给出一个基于实测的经验口诀惠普打印机绝大多数型号走的是 HPLIP 驱动装完系统后只要用hp-setup命令按提示添加即可。佳能打印机部分老型号用cnijfilter2系列驱动需要去官网下载 Linux 驱动的 deb 包手动安装。无线网卡Intel 网卡基本免驱Realtek 网卡部分型号需要关闭 secure boot 或者使用dkms安装驱动。我遇到过最离谱的情况是打印机通过 USB 连接后系统能识别设备节点但 CUPS 里始终找不到打印机。最后发现是用户没有加入 lp 用户组。解决办法sudo usermod -aG lp 当前用户名 newgrp lp这个坑藏得比较深因为安装驱动的教程很少会强调用户组权限。4. 开发环境的搭建与国产化适配之路4.1 用包管理器搞定 Python/Node/数据库很多人担心在麒麟系统上做开发会不会有很多障碍其实它就是 Linux只要你有 Linux 操作基础搭建环境跟 Ubuntu 没有本质区别反而有些包版本更加收敛、稳定。以 Python 为例系统自带的 Python3 版本可能不是最新的建议用 pyenv 管理多版本sudo apt install -y build-essential libssl-dev zlib1g-dev \ libffi-dev libreadline-dev libbz2-dev curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash pyenv install 3.10.12 pyenv global 3.10.12Node.js 可以通过 nvm 安装curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash nvm install --lts数据库方面麒麟官方源里没有 MySQL但可以通过 MariaDB 替代sudo apt install -y mariadb-server sudo systemctl enable --now mariadb如果是为项目交付部署的服务器我更推荐用容器跑数据库方便迁移也减少对宿主机环境的污染。4.2 容器与虚拟化在麒麟上跑项目的经验麒麟系统带完整的虚拟化栈。我在这上面同时跑过多个容器化服务包括业务后台、消息队列和缓存节点整体稳定性不错。安装 Docker 可以直接用官方安装脚本curl -fsSL https://get.docker.com | bash sudo systemctl enable --now docker但要注意在国产 CPU比如 ARM 架构上部分 x86 镜像无法直接运行。这时候需要提前准备 ARM64 版本的镜像或者通过 qemu-user-static 配合 Docker 的多架构模拟容器。虚拟化方面如果你需要跑 Windows 虚拟机以兼容老系统应用程序可以直接用 virt-manager 创建 KVM 虚拟机显卡用 virtio-vga网卡用 virtio性能会比 VirtualBox 好不少。我帮客户适配过一台老式评标系统就是靠麒麟宿主机上的 Win7 虚拟机跑 IE 控件解决的。4.3 前端应用适配检查清单很多项目的管理后台是 Web 应用原本部署在 CentOS 上迁移到麒麟时需要做一轮严格的兼容性检查。我总结了一份检查清单几乎每次都能用上操作系统的 glibc 版本是否满足程序的要求用ldd --version查看。默认 shell 是 bash但部分脚本里写死了/bin/sh链接可能造成问题。原部署脚本里如果用了 Red Hat 系的 yum/dnf 命令在麒麟上要么改成 apt要么写一个兼容函数。防火墙默认区域策略是否跟原环境一致重点检查端口放行规则。SELinux 或 AppArmor 是否开启可能限制进程读取文件。我遇到过一次比较隐蔽的 bug前端页面能打开但一直转圈报网络错误。抓包发现是 WebSocket 握手被防火墙拦截了。当时我只开放了 80/443 端口没有放行 8080/8443 等自定义端口重新配置防火墙后问题就消失了。所以适配阶段一定不要只看业务端口要结合整个通信链路去排查。5. 日常维护与高频问题排查实录5.1 系统启动故障与引导修复麒麟系统用得久了最容易出现的启动问题就是开机黑屏或卡在 logo 界面。常规思路是先进启动菜单选择“高级选项”然后进入恢复模式。如果恢复模式可以进大概率是某个驱动模块的问题比如显卡驱动或网卡驱动。如果恢复模式也进不去则需要用系统镜像的U盘进入救援模式。启动安装盘后选择“救援模式”系统会自动挂载硬盘分区然后提供一个 shell。此时可以检查引导ls /boot/efi/EFI/如果 EFI 目录下缺少某个引导记录重新安装 GRUBmount /dev/sda2 /mnt mount /dev/sda1 /mnt/boot/efi grub-install --root-directory/mnt /dev/sda update-grub这个操作的关键点是搞清楚根分区和EFI分区分别是哪个可以通过 lsblk 列出所有磁盘分区再确认。5.2 常见软件闪退与缺失库处理小白用户最常遇到的是打开自带浏览器或 WPS 时窗口闪一下就消失。这个时候不要先去骂软件差打开命令行看输出才最直接。例如wps会看到类似error while loading shared libraries: libpng12.so.0的提示说明系统没有某些老版本的运行库。这种问题有两种解法从 Debian 老版本仓库直接下载对应的 deb 包装上把库文件手动拷贝到/usr/lib/x86_64-linux-gnu/下并执行ldconfig。我建议优先用软件包管理器补齐避免手动放置导致依赖混乱。还有一个很坑的软件是输入法如果遇到候选框不显示通常是 fcitx 与某些程序的 GTK 模块冲突。可以在该程序启动前执行export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx5.3 性能调优换源与关闭无谓服务麒麟系统的默认性能在全新安装后其实表现挺好的。但如果是旧电脑或者服务器长期跑着业务建议做几项轻量调优。首先关闭不必要的图形服务。服务器版可以设置默认进入多用户模式sudo systemctl set-default multi-user.target图形界面占用的内存和CPU其实不小能省则省。其次清理开机自启服务用systemd-analyze blame查看哪些服务耗时最长然后再逐一禁用。我自己习惯保留 sshd、systemd-journald、cron而把蓝牙、打印服务、虚拟化监控服务在个人机器上停掉。内存不够时还可以调整 swap 的使用倾向sudo sysctl vm.swappiness10 echo vm.swappiness10 | sudo tee /etc/sysctl.d/99-swap.conf这个参数的意思是系统尽可能优先使用物理内存减少磁盘换入换出对机械硬盘的老机器效果尤为明显。在 SSD 上影响不大但仍然能降低闪存寿命损耗。至于桌面端也可以在设置里关闭动画特效默认开启的模糊透明效果在集成显卡上会拖累使用体验。把这些关掉之后K 系列桌面从观感上会更朴素但操作流畅度会有立竿见影的提升。6. 最后再说一点别的说实话麒麟系统这几年的进步是肉眼可见的。最初我装完系统第一件事就是找终端换源而现在它的应用商店已经能覆盖九成以上的办公需求最初很多驱动装不上现在主流打印机、扫描仪、USB 网卡基本上都能识别。但我也必须坦率地说生态仍然有不小缺口。很多专业软件比如复杂CAD、富行业特性的客户端需要深度调优甚至必须在云端虚拟化中运行。对于想要迁移过来的团队我建议别一次性全切先在几台办公终端上试运行一个月把硬件清单和软件清单跑一遍发现问题再用虚拟化或双系统过渡。最后分享一个小技巧很多对稳定性和数据安全要求高的场景可以把麒麟系统的/home单独放到一块独立物理盘上系统盘坏了不影响用户数据重装系统也方便日常维护时养成定期apt update apt upgrade的习惯但升级前一定要查看变更日志不要盲目追新稳定压倒一切。这是我踩过几次坑之后总结出来的经验写在这里希望能让读者少走一些弯路。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表