Ubuntu dpkg锁解决办法

Ubuntu dpkg锁

ubuntu 经常出现:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)

这个错误表明Ubuntu系统在尝试使用APT(高级包装工具)时无法获取一个锁文件。锁文件用于防止多个进程同时修改系统软件包数据库,以防止数据库损坏。错误信息中的“资源暂时不可用”通常意味着文件系统正忙于处理其他进程的I/O操作,或者有其他用户正在使用APT。

解决方法:

【方法一】确认没有其他进程正在使用APT。

可以使用sudo lsof /var/lib/dpkg/lock-frontend来检查是否有进程正在使用该文件。

【方法二】如果没有其他进程正在使用。

可以尝试等待一段时间后重试,或者重启系统。

【方法三】可以尝试手动删除锁文件。

这是一个风险操作,因为它可能会导致软件包系统处于不一致的状态。只有当其他方法都无法解决问题时才应执行此操作:

1
2
3
4
5
6
7
8
#停止所有APT相关的进程:
sudo killall apt apt-get apt-cdrom
#然后删除锁文件:
sudo rm /var/lib/dpkg/lock-frontend
#清理APT状态:
sudo dpkg --configure -a
#更新软件包列表:
sudo apt update

【方法四】直接杀死进程

1
2
3
ps -e | grep apt-get
#找出名称含有apt-get是进程,查到PID执行
sudo kill PID

【方法五】强制解锁

1
2
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock