You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无头Ubuntu树莓派执行sudo dpkg --configure -a遇SSH连接挂起求助

dpkg修复时SSH断连的原因与解决办法

原因

  • 执行sudo dpkg --configure -a修复中断的安装时,未完成的包配置可能需要更新NetworkManager,触发了服务重启。
  • SSH连接依赖当前的网络链路,NetworkManager重启会重置网络接口(Wi-Fi/以太网),直接导致SSH会话中断,而且这个过程没有任何交互提示,完全是后台自动操作。

解决办法

1. 本地终端操作(最稳妥)

如果能给树莓派接显示器和键盘,直接在本地执行修复命令。本地连接不依赖NetworkManager,哪怕它重启也不会影响操作,能顺利完成配置。

2. 临时禁止dpkg重启NetworkManager

先给dpkg加个临时规则,让它处理包的时候不重启NetworkManager:

  • 新建dpkg配置文件:sudo nano /etc/dpkg/dpkg.cfg.d/99-norestart
  • 写入一行:no-restart-on-upgrade network-manager
  • 保存退出后,正常执行sudo dpkg --configure -a
  • 修复完成后,删掉这个临时文件:sudo rm /etc/dpkg/dpkg.cfg.d/99-norestart,避免影响后续系统更新。

3. 用串行控制台连接

如果树莓派开了UART串口,用USB转TTL线连到电脑,用minicom这类工具通过串口登录。串口连接不依赖网络,NetworkManager重启也不会断,能正常执行修复。

4. 先设静态IP再操作

如果当前用的是DHCP IP,先改成静态IP,减少重启后IP变化导致的断连:

  • 找到NetworkManager的连接配置文件,一般在/etc/NetworkManager/system-connections/目录下,找对应你当前网络连接的文件(比如带Wi-Fi名称的文件)
  • 编辑文件里的[ipv4]部分,改成静态配置:
    [ipv4]
    method=manual
    addresses=你的静态IP/子网掩码;网关IP;
    dns=8.8.8.8;8.8.4.4;
    
  • 重启NetworkManager生效:sudo systemctl restart NetworkManager
  • 再用SSH连接执行修复命令,虽然还是可能断连,但静态IP的情况下恢复会更快,或者大概率能维持连接。

内容的提问来源于stack exchange,提问作者BBB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 23:50:25