提醒 Could not get lock /var/lib/dpkg/lock 报错?
有些小伙伴在应用 apt 包管理器更新或装置软件时,可能会遇到过诸如以下的谬误提醒:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
或者
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
这种时候大可不必惊恐,这些谬误提醒个别都是因为某些程序在零碎后盾进行着某些 apt 操作,因而锁定了 apt 数据库,所以临时不能进行 apt 操作。
解决方案
那遇到这种状况,个别咱们只须要宁静地期待几分钟,或者先去做其余的事件,比方浏览一下良许 Linux 公众号里的文章,直到以后的更新、装置或卸载工作实现后,锁就会主动开释,而后就能够进行 apt 操作了。
当然了,下面说的是失常状况下的对应,那非正常状况下,比方说你等了好多个几分钟锁都还没有被开释,你就要看看是不是该过程因为某些起因而卡住了并且始终占用着锁。如果是的话,那你只能干掉这个过程,而后删除该锁定了。
首先,咱们先找出是哪个过程占用了锁文件 /var/lib/dpkg/lock
$ sudo lsof /var/lib/dpkg/lock
其余锁文件对应的命令
$ sudo lsof /var/lib/dpkg/lock-frontend
$ sudo lsof /var/lib/apt/lists/lock
而后失去输入后果
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1548 root 6uW REG 8,2 0 1181062 /var/lib/dpkg/lock
咱们能够从后果中看到,该过程的 PID 为 1548
接着,kill 掉这个过程
$ sudo kill -9 1548
而后你就能够释怀地删除锁文件
$ sudo rm /var/lib/dpkg/lock
或者
$ sudo rm /var/lib/dpkg/lock-frontend
$ sudo rm /var/lib/apt/lists/lock
如果须要,还能够删除缓存目录下的锁文件
$ sudo rm /var/cache/apt/archives/lock
做完下面的步骤后,记得要运行以下命令
$ sudo dpkg --configure -a
这样问题应该就能够解决了
最初,祝你好运!
最初,最近很多小伙伴找我要 Linux 学习路线图 ,于是我依据本人的教训,利用业余时间熬夜肝了一个月,整顿了一份电子书。无论你是面试还是自我晋升,置信都会对你有帮忙!
收费送给大家,只求大家金指给我点个赞!
电子书 | Linux 开发学习路线图
也心愿有小伙伴能退出我,把这份电子书做得更完满!
有播种?心愿老铁们来个三连击,给更多的人看到这篇文章
举荐浏览:
- 干货 | 程序员进阶架构师必备资源免费送
- 神器 | 反对搜寻的资源网站