这是我在 Ubuntu 服务器 14.04.4LT 中安装软件包时收到的错误消息:
could not get lock /var/lib/dpkg/lock - open (11 resources temporary not available)
unable to lock the administrative directory (/var/lib/dpkg/) another process using it.
答案1
您可以使用此命令查看哪个程序锁定了文件:
# lsof /var/lib/dpkg/lock
有时在桌面环境中,当您需要使用 apt-get 时,packagekit 会锁定文件以查找新的更新...
然后,当您知道锁定 apt-get 的进程时,您可以使用 kill 命令退出它。
答案2
分析错误。
ERR: could not get lock /var/lib/dpkg/lock - open (11 resources temporary not available)
意味着安装服务无法使用该锁。
...the administrative directory (/var/lib/dpkg/) another process using it.
意味着另一个进程正在使用该目录。
该/var/lib/dpkg
目录是包含安装程序服务安装和/或卸载所需的所有资源的目录。锁定文件是安装程序/卸载程序“锁定”目录的文件,以便只有他可以使用它。因此,如果您在安装包时卸载某些东西(反之亦然),整个/var/lib/dpkg
目录将被程序 B 使用,而程序 A 无法使用它。
(把它想象成一个洗手间,两个人不能同时使用它!这就是为什么你必须锁上它。c;)
因此解决方案是:
等到其他程序卸载完毕,或者任何与自动安装的软件包有关的网络流量(您看不到)结束。然后安装它。(洗手间会空着)