天天看点

修复 Ubuntu 中“Unable to lock the administration directory (/var/lib/dpkg/)”的

这个错误尤其对那些对这个错误原因不了解的 linux(ubuntu)新手而言更加恼人。

下面是一个例子,展示了出现在 ubuntu 16.10 上的文件锁定错误:

<code>tecmint@tecmint:~$ sudo apt install neofetch</code>

<code>[sudo] password for tecmint:</code>

<code>e: could not get lock /var/lib/dpkg/lock - open (11: resource temporarily unavailable)</code>

<code>e: unable to lock the administration directory (/var/lib/dpkg), is another process using it?</code>

下面的输出是另外一个可能显示的错误:

<code>e: could not get lock /var/lib/apt/lists/lock - open (11: resource temporarily unavailable)</code>

<code>e: unable to lock directory /var/lib/apt/lists/</code>

<code>e: unable to lock the administration directory (/var/lib/dpkg/), is another process using it?</code>

你将来遇到这个错误该怎么去解决?有好几种方法处理这个错误,但是本篇中我们会用两种或许是最简单和最有效的方法来解决它。

<a target="_blank"></a>

<code>$ ps -a | grep apt</code>

修复 Ubuntu 中“Unable to lock the administration directory (/var/lib/dpkg/)”的

找出 apt 以及 apt-get 进程

上面截图中的第一列是进程 id(pid)。

<code>$ sudo kill -9 processnumber</code>

<code>或者</code>

<code>$ sudo kill -sigkill processnumber</code>

比如,下面命令中的<code>9</code>是 <code>sigkill</code> 的信号数,它会杀掉第一个 apt 进程:

<code>$ sudo kill -9 13431</code>

<code>$ sudo kill -sigkill 13431</code>

锁定的文件会阻止 linux 系统中某些文件或者数据的访问,这个概念也存在于 windows 或者其他的操作系统中。

一旦你运行了 apt-get 或者 apt 命令,锁定文件将会创建于<code>/var/lib/apt/lists/</code>、<code>/var/lib/dpkg/</code>、<code>/var/cache/apt/archives/</code> 中。

这有助于运行中的 apt-get 或者 apt 进程能够避免被其它需要使用相同文件的用户或者系统进程所打断。当该进程执行完毕后,锁定文件将会删除。

重要提醒:万一你在没有看到 apt-get 或者 apt 进程的情况下在上面两个不同的文件夹中看到了锁定文件,这是因为进程由于某个原因被杀掉了,因此你需要删除锁定文件来避免该错误。

首先运行下面的命令来移除 <code>/var/lib/dpkg/</code> 文件夹下的锁定文件:

<code>$ sudo rm /var/lib/dpkg/lock</code>

之后像下面这样强制重新配置软件包:

<code>$ sudo dpkg --configure -a</code>

也可以删除 <code>/var/lib/apt/lists/</code> 以及缓存文件夹下的锁定文件:

<code>$ sudo rm /var/lib/apt/lists/lock</code>

<code>$ sudo rm /var/cache/apt/archives/lock</code>

接下来,更新你的软件包源列表:

<code>$ sudo apt update</code>

<code>$ sudo apt-get update</code>

原文发布时间为:2017-12-16

本文来自云栖社区合作伙伴“linux中国”

继续阅读