Linux安装软件时90%的人会遇到这个报错

发表于:2020-10-22 09:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:良许    来源:51CTO

#
Linux
分享:
  提示 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 
  这样问题应该就可以解决了

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号