Linux安装软件时90%的人会遇到这个报错,如何解决?

系统 Linux
遇到这种情况,一般我们只需要安静地等待几分钟,或者先去做其他的事情,比如浏览一下良许 Linux 公众号里的文章,直到当前的更新、安装或卸载任务完成后,锁就会自动释放,然后就可以进行 apt 操作了。

 [[347000]]

提示 Could not get lock /var/lib/dpkg/lock 报错?

有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示:

  1. E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) 
  2. E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 

或者

  1. E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable) 
  2. E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it? 
  3. E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable) 
  4. E: Unable to lock directory /var/lib/apt/lists/ 

这种时候大可不必惊慌,这些错误提示一般都是因为某些程序在系统后台进行着某些 apt 操作,因此锁定了 apt 数据库,所以暂时不能进行 apt 操作。

解决方案

那遇到这种情况,一般我们只需要安静地等待几分钟,或者先去做其他的事情,比如浏览一下良许 Linux 公众号里的文章,直到当前的更新、安装或卸载任务完成后,锁就会自动释放,然后就可以进行 apt 操作了。

当然了,上面说的是正常情况下的对应,那非正常情况下,比方说你等了好多个几分钟锁都还没有被释放,你就要看看是不是该进程由于某些原因而卡住了并且一直占用着锁。如果是的话,那你只能干掉这个进程,然后删除该锁定了。

首先,我们先找出是哪个进程占用了锁文件 /var/lib/dpkg/lock

  1. $ sudo lsof /var/lib/dpkg/lock 

其他锁文件对应的命令

  1. $ sudo lsof /var/lib/dpkg/lock-frontend 
  2. $ sudo lsof /var/lib/apt/lists/lock 

然后得到输出结果

  1. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME  
  2. unattende 1548 root 6uW REG 8,2 0 1181062 /var/lib/dpkg/lock 

我们可以从结果中看到,该进程的 PID 为 1548

接着,kill 掉这个进程

  1. $ sudo kill -9 1548 

然后你就可以放心地删除锁文件

  1. $ sudo rm /var/lib/dpkg/lock 

或者

  1. $ sudo rm /var/lib/dpkg/lock-frontend 
  2. $ sudo rm /var/lib/apt/lists/lock 

如果需要,还可以删除缓存目录下的锁文件

  1. $ sudo rm /var/cache/apt/archives/lock 

做完上面的步骤后,记得要运行以下命令

  1. $ sudo dpkg --configure -a 

这样问题应该就可以解决了

本文授权转载自公众号「良许Linux」。良许,世界500强外企Linux开发工程师,公众号里分享大量Linux干货,欢迎关注!

 

责任编辑:武晓燕 来源: 良许Linux
相关推荐

2019-12-03 08:29:39

代码调优网络

2021-12-15 09:20:10

语言面试目录

2020-08-24 13:15:59

Python代码描述符

2020-08-24 15:25:27

Python 开发运维

2021-10-15 06:49:37

MySQL

2022-10-25 08:46:26

JSONJavaScript

2021-10-18 22:29:54

OOMJava Out Of Memo

2021-09-25 13:05:10

MYSQL开发数据库

2023-04-04 09:04:18

命令驱动器

2024-10-08 08:14:08

用户生命周期分析服务

2023-09-07 17:06:21

@Autowired报错原因分析

2024-01-16 08:26:25

Vue项目服务器

2013-08-01 10:05:54

大数据信息安全

2020-01-06 15:23:41

NettyTCP粘包

2015-04-01 10:26:32

开发中文乱码问题

2024-01-10 09:44:11

MySQL死锁

2021-02-19 11:01:46

异步竞态接口异步

2022-08-30 18:46:24

安全软件开发测试软件

2009-12-10 14:19:41

配置静态路由

2024-03-27 14:54:21

KubernetesK8S集群
点赞
收藏

51CTO技术栈公众号