Apt升级失败,执行sudo dpkg --configure -a时系统冻结且SSH连接中断
Apt升级失败,执行sudo dpkg --configure -a时系统冻结且SSH连接中断
嘿,我看到你碰到了APT升级的棘手问题——先是dpkg中断报错,然后执行修复命令又卡在AppArmor相关步骤,连SSH连接都断了。别慌,我给你整理了几个靠谱的解决步骤:
你遇到的问题详情
- 运行
sudo apt upgrade时弹出错误:E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
- 执行修复命令
sudo dpkg --configure -a时,系统卡在Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd这一行,随后SSH断开、系统冻结。
解决步骤
1. 临时关闭AppArmor完成dpkg配置
问题根源是AppArmor重载配置时卡住了,我们先临时关掉它再执行修复:
- 如果还能连上SSH或者本地能操作终端,先停止AppArmor服务:
sudo systemctl stop apparmor - 接着执行dpkg修复命令:
sudo dpkg --configure -a - 等命令跑完,再重启AppArmor服务:
sudo systemctl start apparmor
2. 若SSH已断开,用本地终端操作
要是已经连不上SSH了,你得直接在主机的本地终端操作(虚拟机的话就打开控制台):
- 开机后进入终端,先执行
sudo systemctl stop apparmor,再跑sudo dpkg --configure -a,完成后重启AppArmor就行。
3. 验证修复结果
修复完后,先检查dpkg状态是否正常:
sudo dpkg --audit
再尝试重新执行升级:
sudo apt update && sudo apt upgrade -y
4. 处理rsyslogd的AppArmor配置(可选)
如果后续还是碰到rsyslogd的AppArmor问题,可以手动调整:
- 先查看配置文件状态:
ls -l /etc/apparmor.d/usr.sbin.rsyslogd - 要是不需要这个禁用标记,直接删掉:
sudo rm /etc/apparmor.d/disable/usr.sbin.rsyslogd - 最后重新加载AppArmor配置:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.rsyslogd
备注:内容来源于stack exchange,提问作者Faizan Waheed
相关产品推荐
相关产品推荐

