优先释放dpkg锁:执行sudo rm -f /var/lib/dpkg/lock和lock-frontend,再运行sudo dpkg --configure -a完成中断配置;随后用sudo apt install -f修复依赖,killall kylin-software-center并清除缓存重启服务,必要时禁用KYSEC netcontrol模块及重建software-center.db数据库。

银河麒麟应用商店点击安装软件后卡在“正在安装中”界面,进度条不动、无报错提示、鼠标可操作但按钮无响应,这种情况不是网络慢或软件大,而是底层dpkg进程被锁死、依赖未修复或服务状态僵化导致的假性运行状态。
确认并释放dpkg安装锁
这是最常见也最优先要处理的环节。只要/var/lib/dpkg/lock文件存在且被占用,所有安装操作都会挂起在“正在安装中”,连终端执行sudo apt install也会卡住不动。
打开终端,依次执行:
sudo rm -f /var/lib/dpkg/lock→sudo rm -f /var/lib/dpkg/lock-frontend→sudo dpkg --configure -a
【执行前请确保没有其他软件商店窗口、终端apt命令、系统更新弹窗正在运行,否则可能引发包管理器损坏】。第三步会逐个完成中断的配置任务,输出中出现“Setting up xxx (x.x.x)”即表示恢复成功。
强制修复断裂依赖关系
依赖未满足时,商店前端不报错,只停在“正在安装中”,因为dpkg已将包解压但无法调用后续脚本完成注册。
方法一:一键修复
sudo apt install -f
方法二:指定重装目标包(适用于知道具体软件名)
sudo apt install --reinstall 软件包名
这一步必须在释放锁之后执行,否则命令会直接等待锁释放而无限挂起。
重启软件商店后台服务
服务进程kylin-software-center可能已进入不可响应状态,仍在前台显示图标,但实际已失去与dpkg的通信能力。
第一步:停止当前服务实例
killall kylin-software-center
第二步:清除残留IPC缓存
rm -f ~/.cache/kylin-software-center/*.lock
第三步:重新拉起服务并验证状态
kylin-software-center &→sleep 2→pgrep -f kylin-software-center
若最后一条命令返回一串数字,说明进程已正常启动;若无输出,需检查/var/log/syslog中是否有dbus或glib相关错误。
关闭KYSEC netcontrol模块拦截
这个模块会静默拦截软件商店对archive.kylinos.cn的HTTPS连接请求,导致安装流程卡在“下载依赖”环节,前端显示“正在安装中”,实则根本没发出去任何网络包。
在终端中运行:
sudo getstatus | grep netcontrol
如果输出为“netcontrol: warning”,立即执行:
sudo kylin-secure-tools set-netcontrol -s disable
【禁用后无需重启,商店下次调用安装接口时将直连源服务器】。该操作不影响防火墙、病毒查杀等其他安全功能。
重建商店专属数据库缓存
kylin-software-center依赖/var/cache/kylin-software-center/software-center.db记录已安装状态和依赖图谱。该文件损坏会导致它反复尝试校验却无法确认安装是否完成,从而永远停留在“正在安装中”。
执行:
sudo rm -f /var/cache/kylin-software-center/software-center.db→sudo systemctl restart kylin-software-center.service
重启服务后,数据库会在首次加载应用列表时自动重建,整个过程约8~12秒,期间商店界面可能短暂空白,属正常现象。


















