我正在使用 Ubuntu 12.04,但没有收到任何更新。
两周多以来,每当我尝试手动检查更新时,更新管理器中都不会显示任何更新。然后我尝试通过终端使用 apt-get。
然后屏幕上显示以下错误消息:
E: Could not get 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?
我在系统托盘中看不到任何错误符号
答案1
您需要对所有 apt-get 命令使用 sudo,但我假设您正在这样做......
lsof|grep /var/lib/dpkg
您可以使用和找出锁定这些文件的内容lsof|grep /var/lib/apt
。这样可以显示正在访问这些文件和目录的所有内容。然后,您可以终止这些进程(并根据需要使用 lsof 查看是否有任何内容保持打开状态)。如果终止这些进程不起作用,请尝试kill -KILL <pid>
发送 SIGKILL,这应该可以解决问题。
如果您发布锁定这些文件的进程,我们可以关闭它们。对于我的个人系统,我更喜欢sudo apt-get update && sudo apt-get upgrade
每天自行更新系统。
编辑,也尝试一下 fuser - 这对大多数人来说可能是一种更简单的方法,但请将 lsof 放在口袋里,作为必须知道的 Linux 命令。始终使用 sudo 执行与进程相关的命令,因为您可能会错过一些您不拥有的东西。
me@me:/tmp$ sudo fuser /var/cache/debconf/config.dat
/var/cache/debconf/config.dat: 8112
me@me:/tmp$ ps aux|grep 8112
root 8112 0.0 0.0 71276 15984 pts/5 SN+ May13 0:00 /usr/bin/perl -w /usr/sbin/dpkg-preconfigure --apt
答案2
解决方案 1
导致此错误的原因是,由于您没有正确的权限,Ubuntu 不允许用户运行许多系统命令。为了解决这些问题,请输入
sudo apt-get
sudo 命令为您提供该命令的全部权限。
解决方案 2
要接收更新,请单击系统设置图标,然后单击软件和更新。当此窗口打开时,单击更新选项卡并选择要更新的相应区域,然后从下拉列表中选择更新的频率、时间和处理更新的方式。