如何解决无法锁定管理目录 (/var/lib/dpkg/)

Yel*_*aaz 35 apt dpkg

我真的是 UBUNTU 14.04 的新手,每当我尝试更新或安装任何东西时,我都会收到此错误:

sudo apt-get update [sudo] password for trojanfm: 
E: Could not ge lock /var/lib/apt/lists/lock - open (11: Resource temporarily
unavailable)
E: Unable to lock directory /var/lib/apt/lists/ 
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?
Run Code Online (Sandbox Code Playgroud)

kus*_*rma 65

搜索进程。从 Ubuntu 16.04 开始,使用“apt”代替“apt-get”

ps -A | grep apt-get

或者

ps -aux | grep 'apt-get'

或者

ps -A | grep apt

然后查看是否有任何进程以 apt-get/apt 身份运行

使用以下命令杀死该进程:

sudo kill -9 <process-id> 
Run Code Online (Sandbox Code Playgroud)

例如,如果进程 ID 是 2345

sudo kill -9 2345
Run Code Online (Sandbox Code Playgroud)

然后运行 ​​sudo apt-get update

编辑:如果您确定没有运行 dpkg 或 apt 实例并且仍然收到消息,则可以删除该文件:

sudo rm /var/lib/apt/lists/lock
Run Code Online (Sandbox Code Playgroud)

锁定文件只是一个大小为零的文件,表示锁定资源。

更新:

从 Ubuntu 16.04 版本开始,apt-get被替换为apt。正在运行的进程可以通过以下方式定位:

ps -A | grep apt
Run Code Online (Sandbox Code Playgroud)

  • 最好的方法是在搜索更新时等待几分钟,然后运行您的更新命令或终止 apt-get 进程,然后手动运行。系统启动后,它会自动运行 sudo apt-get update 以搜索最新更新。:) (6认同)
  • 一旦系统启动,ubuntu 会自动检查更新,不是你,而是系统。 (2认同)