三年前我第一次拿到预装银河麒麟的办公电脑时,问同事的第一句话是:这系统怎么装软件?同事头也没抬:先去安全中心把三员管理设好,不然你装了也会被拦回来。当时我心想,装个软件也这么麻烦?后来才明白,麒麟系统的"麻烦"不是技术门槛,而是权限模型和普通Linux完全不一样。这篇帖子就是从那台机器开始,我陆陆续续攒下的麒麟基本操作笔记,持续更新,碰到新坑就补,直到哪天我不再做这套系统的运维为止。
帖子会围绕两个最核心的事展开:一是三员管理,这是麒麟区别于其他Linux发行版最大的地方,不搞懂它,后面装软件、改配置全都会处处碰壁;二是安装软件的完整路径,从软件商店到apt、deb、源码编译,以及报错怎么排查。适合刚接手麒麟机器的人、做国产化项目交付的运维同行,以及从Ubuntu或CentOS迁过来的Linux用户参考。
1. 三员管理:为什么它比装机更早成为"第一道门槛"
1.1 三员模式到底管的是哪三员
用过Ubuntu的人都知道root用户是"大包大揽"的,sudo一下什么都干了。但麒麟系统为了满足等级保护和分级保护相关要求,把最高权限拆成了三个人:系统管理员、安全管理员、审计管理员。这三个人各管一摊,互相之间不能越权,这叫三权分立。
- 系统管理员:负责日常系统维护,装软件、配网络、挂载磁盘、启停服务,权限集中在"系统能不能正常跑"。
- 安全管理员:负责安全策略,比如用户口令策略、外设管控、三员规则调整、日志审阅权限分配,权限集中在"安全规则怎么定"。
- 审计管理员:只能查看日志和审计记录,不能改系统配置,也不能下发策略,权限集中在"发生了什么事"。
我见过不少刚接触麒麟的同事,启用三员之后用原来带sudo的账号去装软件,结果被提示没有权限,第一反应是系统坏了。其实不是,是当前登录的普通用户已经被收回了管理员能力,你得切到系统管理员身份去操作。这个认知转换,是适应麒麟的第一课。
1.2 启用三员管理的操作路径与前置条件
在银河麒麟V10桌面版上,路径一般是:打开"安全中心"(有的版本叫"安全工具"),找到"管理员设置"或"三员管理",点启用,然后按向导分别设置三个管理员的密码。不同版本界面略有差异,但大逻辑一样:系统会引导你创建或启用系统管理员、安全管理员、审计管理员三个账号。
有几个我踩过的细节要注意:
- 启用之前保证电源稳定,最好插着电源线。这个过程会写系统安全策略配置,中途断电可能造成策略文件不完整,之后登录都会出问题。
- 三个管理员的密码不要设成一模一样,复杂度要求通常包含大小写字母、数字和特殊字符,长度8位以上。如果图省事全设一样,安全管理员那边可能会弹策略不通过的提示。
- 启用之后建议马上把三个账号密码记到公司密码管理库里。这仨密码一旦忘了,重置流程比普通用户密码麻烦得多。
1.3 启用三员后,最先感受的几处变化与细节
启用三员前后,系统行为变化非常明显。
第一,登录界面不再是单一用户。开机后你会看到可以选择角色登录,而不是之前那个固定的用户头像。普通工作账号、系统管理员、安全管理员、审计管理员是分开的入口。
第二,普通账号的sudo基本废了。我试过在普通账号下执行sudo命令,提示该用户不在sudoers中。这不是配置错了,而是三员模式下的安全策略就这样设计的。普通账号就是用来做日常办公的,干不了管理员活。
第三,装软件、改系统配置这些事,必须切到系统管理员账号去操作。安全策略由安全管理员下发,审计管理员看日志。三员之间互相不能改对方的密码,也不能用对方的名义干任何事,所以运维排障时要提前想好用哪个身份登录。
第四,部分机器上安全管理员可以开启"软件安装校验"策略,开启后非官方来源的deb包装不上,软件商店装包也可能被策略拦下。很多用户反馈"软件商店装啥都失败",最后定位到是安全策略太严。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 装软件前的三分钟摸底:系统版本、架构和软件源
2.1 三条命令确认系统底细
装软件之前,最重要的是先搞清楚手里这台机器的系统版本和CPU架构。麒麟系统支持x86、ARM(飞腾、鲲鹏)、龙芯等多种架构,同一个软件在不同架构下的安装包不能混用。
我每次拿到机器,固定会跑三条命令:
bash复制cat /etc/os-release
uname -m
nkvers
cat /etc/os-release看系统名称和版本号,确认是桌面版还是服务器版。uname -m看架构,x86_64 是Intel/AMD架构,aarch64 是ARM架构。nkvers是麒麟自带的内核版本查看命令,能看出具体是V10的哪个SP版本。
很多用户在网上下载了deb包,双击安装提示架构不符,其实就是没看uname -m。同一个微信安装包,x86和ARM不能互换。
2.2 桌面版与服务器版的安装差异
银河麒麟分了桌面版和服务器版两个大方向,两者的安装方式差异很大。
桌面版基于Debian体系,软件包用deb格式,安装命令是apt和dpkg,软件商店也是图形化安装入口。服务器版虽然也有基于Debian体系的,但实际项目里我遇到过不少需要手动装rpm的,甚至还有直接把源码包拉下来编译的场景。所以拿到机器先确认是哪个版本,再去搜对应的安装教程,别拿着桌面版的思路去折腾服务器版。
另外,同一个软件在不同的麒麟版本上也可能有不同来源。比如某数据库客户端,官方提供的是rpm包,桌面版上要先用alien转成deb或者直接用rpm命令强制装,这就要额外注意依赖问题。
2.3 软件源:装软件前先把"粮道"打通
麒麟的软件源配置文件在/etc/apt/sources.list,桌面版默认会指向镜像源或厂商源。我遇到最多的问题是内网环境apt源不通,导致apt-get update和软件商店都报错。
判断源通不通,先看文件内容:
bash复制cat /etc/apt/sources.list
如果是内网机器,源地址往往是内网镜像,需要确认当前机器能访问到。如果是公网机器,源地址多半是官方源或第三方镜像,可以试试直接ping一下源域名。
配置本地源时,我常用的做法是把ISO挂载后作为本地仓库:
bash复制mount -o loop /path/to/kylin.iso /mnt/cdrom
apt-cdrom add
apt-get update
这样就能用光盘自带的软件包来装基础软件,适合没有外网的环境。打通源之后,后续装软件的路就顺了。
3. 软件商店、apt、deb、源码:四条安装路径的取舍与实操
3.1 软件商店:最省心,但报错也最迷
软件商店是麒麟普通用户最常用的安装入口,界面类似手机应用商店,搜到软件点安装就行。日常办公软件(WPS、浏览器、微信的Linux版等)基本都能在这里找到,对不熟悉命令行的用户很友好。
但软件商店的问题也很典型:报错信息太笼统。最常见的错误代码0006,点安装之后弹一个错误提示,也不说清楚是网络问题、源问题还是权限问题。后面第4节我会专门讲排查过程。
在三员模式下,软件商店装软件要确保当前登录的是系统管理员,普通账号即使打开软件商店,安装时也会被权限策略拦下来。这一点我提醒过很多同事,他们反馈"商店装不了软件",最后都是这个原因。
3.2 apt命令:最推荐日常使用的安装方式
如果你稍微熟悉命令行,我强烈建议直接用apt。它比软件商店稳定,报错也准确得多。
安装软件的基本操作:
bash复制sudo apt update
sudo apt install -y 软件名
查询软件是否存在:
bash复制apt search 软件名
apt show 软件名
卸载软件:
bash复制sudo apt remove -y 软件名
我在做批量交付时,经常一台新机器到手先跑一遍apt update,把软件源元数据刷新,后面所有软件都能直接装。注意三员模式下,sudo要用系统管理员身份执行,普通账号执行会提示无权限。
3.3 dpkg离线安装:deb包和依赖的连锁处理
有些软件官方只提供deb包下载,比如达梦数据库客户端、某些国产办公软件。这种离线安装包用dpkg -i装:
bash复制sudo dpkg -i 软件包.deb
dpkg装的时候最怕依赖缺失。报错很明显:提示缺少某某库文件或某某依赖包。处理办法是先更新软件源,再让系统自动修复依赖:
bash复制sudo apt-get -f install
这个命令会自动安装刚才缺的依赖,装完再重新执行一次dpkg -i。多数情况下这条链路能搞定90%的deb包安装问题。
依赖特别复杂的时候,我推荐用gdebi这个工具,它会在安装deb时自动拉取依赖,比dpkg友好很多:
bash复制sudo apt install gdebi-core
sudo gdebi 软件包.deb
3.4 源码编译装软件:什么时候才需要这么折腾
源码编译是很多人一看就头疼的方式,但在麒麟上,我发现有些软件确实没有现成的deb或rpm包,或者仓库里的版本太老,只能源码编译。
标准流程是:
bash复制tar -xzf 软件源码.tar.gz
cd 软件目录
./configure --prefix=/usr/local/软件名
make -j4
sudo make install
编译常见的坑是缺编译器和依赖库,需要提前装好:
bash复制sudo apt install -y build-essential make gcc g++
建议是:能装deb就先装deb,能装rpm就先装rpm,源码编译放在最后。因为源码编译的软件后续卸载比较麻烦,而且每次系统更新补丁,源码编译的软件常常不会被纳入管理,安全性要自己把控。我在生产机器上编译软件一定会记录编译参数和安装路径,方便后面维护。
4. 安装软件时的高频报错与排查链路
4.1 软件商店错误代码0006的实际排查
错误代码0006是麒麟软件商店的高频报错。我统计过手头遇到的机器,80%是软件源问题,10%是权限问题,剩下10%是网络问题。
排查链路我从简单到复杂排一下:
第一步,确认当前登录的是不是系统管理员。非管理员账号安装会被拦,报错不一定都提示权限不足,也可能以通用错误码出现。
第二步,打开终端跑apt-get update,如果提示源连接失败或哈希校验错误,说明源有问题。要么换源,要么检查网络:
bash复制sudo apt-get update
第三步,清理软件商店缓存:
bash复制sudo apt-get clean
sudo rm -rf ~/.cache/kylin-software-center
然后重新打开软件商店再试。
第四步,检查系统时间和时区。如果机器时间不对,https仓库的证书校验会失败,软件商店同样报通用错误。同步时间:
bash复制sudo apt install -y ntpdate
sudo ntpdate ntp.aliyun.com
这条链路走完,基本能解决0006。真正源坏了的情况,我会直接编辑/etc/apt/sources.list切换到可用的镜像源。
4.2 双击deb没反应或提示权限不足
从网页下载的deb包,双击后没反应,是麒麟新手高频问题。原因通常是文件管理器自带的软件安装器没有正确唤起,或者当前用户的权限不够。
解决办法还是命令行靠谱:
bash复制sudo dpkg -i 下载的软件.deb
如果提示权限不足,先确认当前用户是不是系统管理员。如果确认已经是系统管理员但还不行,检查文件的属主和权限:
bash复制ls -l 下载的软件.deb
chmod +x 下载的软件.deb
有些deb包是从Windows浏览器下载的,文件可能被标记成不可执行,chmod加权限后就能正常安装了。
4.3 三员模式下用不了sudo怎么办
启用三员后,普通账号的sudo会用不了,报错"用户不在sudoers文件中"。很多刚上手的用户在这一步就卡住了,以为系统坏了。
这里的正确处理方式是:注销当前普通账号,在登录界面选择系统管理员登录,然后再执行sudo。如果不想来回切换界面,可以在终端用su -切到系统管理员:
bash复制su - 系统管理员用户名
输入系统管理员密码后,再跑sudo命令。注意su -之后环境变量会切换,要确保操作的是目标账号。
还有一个变通方案:如果安全管理员允许,可以在安全中心里把普通账号加入sudoers或授权组,但这不符合最小权限原则,生产环境我不建议做。
4.4 离线环境装依赖包的小工具与笨办法
内网机器装软件最头疼的是依赖包没法下载。我常用的办法有三个:
第一个,找一台能联网的同版本麒麟机器,用apt-get install的时候先把包缓存下来:
bash复制sudo apt-get -d install 软件名
下载的deb包会缓存在/var/cache/apt/archives,拷贝到内网机器上,用dpkg -i *.deb批量安装。
第二个,如果依赖关系特别乱,用dpkg-scanpackages把拷贝过去的deb包做成一个本地源:
bash复制cd /path/to/debs
dpkg-scanpackages . /dev/null | gzip > Packages.gz
然后修改/etc/apt/sources.list指向本地目录,再apt-get update。
第三个笨办法,但也是保底方案:把整个/var/cache/apt/archives目录从同版本机器打包拷贝过来,然后dpkg -i全部安装。虽然不优雅,但应急场景下非常管用。
5. 生态软件落地实录:Wine、Docker、数据库、字体与驱动
5.1 用麒麟Wine助手装Windows软件(以微信为例)
微信有麒麟原生版,但在某些版本上的功能不如Windows端全。这时候很多人会用到麒麟Wine助手。Wine助手本质上是一个Windows应用兼容层管理器,我们在麒麟上通过它运行Windows版微信、QQ这类软件。
安装Wine助手,先看软件商店里有没有,没有就去官网下对应架构的deb包,然后:
bash复制sudo dpkg -i wine助手安装包.deb
sudo apt-get -f install
装完后打开Wine助手,它会引导你下载Wine运行环境和Windows软件安装包。以微信为例,点"添加应用",选安装包,等待安装在Wine容器里,完成后从Wine助手启动。
注意,Wine方案在不同架构上的表现差异很大。x86机器跑Windows软件兼容性最好,ARM机器(比如飞腾、鲲鹏)上很多Windows软件跑不了。如果是ARM架构,建议优先找原生Linux版或麒麟适配版,别死磕Wine。
5.2 Docker部署与镜像加速配置
麒麟系统上装Docker,桌面版我推荐用系统源里的docker.io包:
bash复制sudo apt install -y docker.io
sudo systemctl enable --now docker
docker version
如果要用docker-ce版本,可以从Docker官方仓库添加源,但内网环境不推荐,依赖太多。我实际交付中大量用的是docker.io,够稳。
装完后配置镜像加速,编辑/etc/docker/daemon.json:
json复制{
"registry-mirrors": ["https://你的加速地址"]
}
然后重启Docker:
bash复制sudo systemctl restart docker
配置镜像加速后拉取公共镜像会快很多。我在内网环境里还会引导大家用私有镜像仓库,避免外网拉取的不确定性。
5.3 安装达梦数据库客户端的内外网两种方式
达梦数据库在政企项目里出现频率很高,安装客户端有两种场景。
有外网的机器,直接去达梦官网下载对应架构的安装包,解压后执行:
bash复制tar -xzf dm8_客户端包.tar.gz
cd 解压目录
./DMInstall.bin
图形化安装向导会一步步引导,注意选择语言和安装路径。
内网机器,就得找项目交付同事要安装包,拷进去后执行同样的命令。装完后客户端一般在安装目录的/tool子目录里,启动工具前需要配置连接信息,IP、端口、用户名、密码。
达梦客户端装完后可能缺少图形界面依赖库导致工具打不开,ldd一下可执行文件,缺什么库就apt install什么库。常见的缺libncurses:
bash复制sudo apt install -y libncurses5
5.4 补字体、装显卡驱动、调多屏输出的实操
字体问题在麒麟上特别常见,打开WPS提示缺仿宋GB2312,公文排版全是乱码。补字体很简单:从网上下载TTF文件,放到字体目录:
bash复制sudo mkdir -p /usr/share/fonts/chinese
sudo cp 仿宋_GB2312.ttf /usr/share/fonts/chinese/
sudo fc-cache -fv
然后重启WPS就能看到字体了。
显卡驱动是另一大坑。麒麟桌面版默认用的驱动可能跑不动4K屏或双屏扩展,需要装NVIDIA驱动。官方.run文件安装流程是:先切换到命令行模式,禁用nouveau开源驱动,再安装:
bash复制sudo bash NVIDIA-Linux-x86_64-xxx.run
装驱动前一定要备份重要数据,这个操作如果内核版本不匹配,可能导致桌面起不来。我吃过一次亏,装完驱动重启后卡在黑屏,后来是进单用户模式重新配置才救回来。
多屏输出的问题,先在"设置-显示"里点扩展模式,如果识别不到第二块屏,用命令行看:
bash复制xrandr
能识别就手动指定分辨率:
bash复制xrandr --output HDMI-1 --mode 1920x1080 --right-of VGA-1
5.5 U盘、光盘与移动硬盘的挂载细节
麒麟系统插U盘后弹"U盘需要首先挂载分区"的提示,是很多人搜过的问题。我遇到的场景一般是三种:
一是NTFS格式的U盘,系统默认可能没装ntfs-3g驱动,需要手动装:
bash复制sudo apt install -y ntfs-3g
装完重新插拔U盘就能识别了。
二是自动挂载服务异常,手动挂载应急:
bash复制sudo mkdir -p /mnt/usb
sudo mount /dev/sdb1 /mnt/usb
挂载完去/mnt/usb复制文件,用完再umount。
三是办公电脑开启了外设管控策略,安全管理员在安全中心里没放行USB存储设备。这种属于策略问题,命令行改不了,得走安全管理员授权。
光盘挂载也有固定流程:
bash复制sudo mkdir -p /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
卸载用:
bash复制sudo umount /mnt/cdrom
6. 系统应急自救:密码找回、任务栏消失、网络不通
6.1 忘记管理员密码的恢复流程
麒麟管理员密码忘了,没有图形界面自带的找回入口,得走单用户模式。这个方法我建议收藏,迟早用得上。
步骤是:重启机器,在GRUB引导界面按e进入编辑模式,找到以linux开头的那一行,在末尾加上single,然后按Ctrl+X启动。系统会以单用户模式进入,这时直接执行:
bash复制passwd 管理员用户名
输入两次新密码,然后reboot重启。这个流程在银河麒麟V10上实测有效。
注意,如果磁盘做了全盘加密,单用户模式会卡在解密阶段,这种情况只能联系厂商或找加密恢复方案,普通运维处理不了。
6.2 任务栏消失的快速恢复
麒麟桌面版偶尔会出现任务栏消失的情况,重启电脑是好多人第一反应。其实不用,先按下Ctrl+Alt+F1切到字符终端,登录后重启面板进程就行。
银河麒麟V10桌面版的任务栏进程一般是ukui-panel,执行:
bash复制pkill ukui-panel
或者在图形终端里直接重启桌面:
bash复制nohup ukui-panel &
如果还是不行,删除用户桌面配置文件再重启(会丢失部分个性化设置):
bash复制rm -rf ~/.config/ukui
reboot
这个方法也适用于Kylin桌面环境类似的问题。
6.3 局域网ping不通与MTU调整
内网机器ping不通,是交付现场最常见的网络问题。我的排查顺序固定是这几步:
先看同网段通不通:
bash复制ping 同网段IP
再看网关:
bash复制ip route show
ping 网关IP
然后看DNS:
bash复制cat /etc/resolv.conf
nslookup 某个域名
如果同网段通、网关通、但外网不通,多半是DNS或防火墙策略的问题。如果配置没问题但大包不通,可能是MTU(最大传输单元)问题,比如某些网络环境MTU是1400,系统默认1500会导致大包被丢弃:
bash复制sudo ifconfig eth0 mtu 1400
这个命令即时生效,但重启会失效。要永久生效,写在网络配置文件里。改MTU之前先确认网络环境下发的要求,别自己随便调,调小了会影响性能。
6.4 这个笔记为什么一直更新
最后说说"持续更新直到我不用为止"这句话。
我做国产化运维这几年,最大的感受是:麒麟系统不是难,而是"不一样"。它底层逻辑还是Linux,但因为权限模型、安全策略、软件生态这几层和普通发行版差异很大,导致很多人一开始处处碰壁。这个帖子存在的意义,就是把我实战中踩过的坑、验证过的方法,一条条记录下来。谁的维护经验能覆盖更多真实场景,谁交付的项目就能少走弯路。
我也建议各位刚接手麒麟设备的同行,建一个自己的问题库。每解决一个问题就记几笔,命令、报错、原因、解决方式,攒几个月回头看,这就是你最有价值的运维资产。我自己就是这样,遇到一次任务栏消失,记下了pkill ukui-panel,后来在三个项目现场都直接套用,省了不少时间。
接下来这个笔记还会继续往下补,比如vsftpd完整配置、Qt开发环境搭建、Anaconda安装这类场景,都是我在项目里遇到过、也验证过的,有空我会逐步整理进来。希望对大家有用。
