Ubuntu16 升级软件包出现错误
root@hosltoc:~# sudo apt-get update
Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因,可能是上次安装时没正常完成,而导致出现此状况。
原因:刚装好的Ubantu
系统,内部缺少很多软件源,这时,系统会自动启动软件源更新进程apt-get
,并且它会一直存活。由于它在运行时,会占用软件源更新时的系统锁(以下称“系统更新锁”,此锁文件在/var/lib/apt/lists/
目录下),而当有新的apt-get
进程生成时,就会因为得不到系统更新锁而出现:
E: 无法获得锁 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)错误提示!
因此,我们只要将原先的apt-get
进程杀死,重新激活新的apt-get
进程,就可以让新的软件管理器正常工作了!
解决方法
找出并杀掉apt-get或者apt进程
用这个命令查看一下进程:
ps -e | grep apt
显示结果如下:
6362 ? 00:00:00 apt
6934 ? 00:00:00 apt-get
7368 ? 00:00:00 synaptic
执行
sudo killall apt
sudo killall apt-get
sudo killall synaptic
再次在终端里查看ps -e | grep apt
没有任何结果了
删除锁定文件
首先运行下面的命令来移除 /var/lib/dpkg/
文件夹下的锁定文件:
sudo rm /var/lib/dpkg/lock
强制重新配置软件包
sudo dpkg --configure -a
也可以删除 /var/lib/apt/lists/
以及缓存文件夹下的锁定文件:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
更新软件包源列表sudo apt-get update
OK!
转自:https://www.tecmint.com/fix-unable-to-lock-the-administration-directory-var-lib-dpkg-lock/