- Ubuntu报错,无法获取锁 E: Could not get
- linux上apt-get,出现“E: Could not ge
- Ubuntu 16.04 sudo apt-get update
- E: Could not get lock /var/lib/d
- E: Could not get lock /var/lib/d
- Ubuntu使用教程:E: 无法获得锁 /var/lib/apt
- Android Studio 加载 gradle报错 Could
- ubuntu下出现的问题-控制台更新源失败
- 连接远程的redis 集群报Could not get a re
- Could not get a resource from th
背景
我在Ubuntu虚拟机上运行命令sudo apt-get install subversion
下载svn时报错:
![](https://img.haomeiwen.com/i18082186/2a1de1dca9035208.png)
错误信息提示大概是说无法获取位置/var/lib/dpkg/
的某个锁。
报错原因
通过查阅资料,我了解到这个错误的原因可能是有另一个程序正在运行,占用了锁,这个运行的程序可能是之前下载未正常完成或者是系统自动更新产生的。
于是我用ps aux | grep apt-get
查看了一下正在运行apt-get的进程:
![](https://img.haomeiwen.com/i18082186/5c7223b01740b34f.png)
果然有一个PID为2642的进程。
话不多说,直接kill掉:
![](https://img.haomeiwen.com/i18082186/a3e1192532821db4.png)
奇怪了,还是报错。
那么再次查看一下进程,又发现了一个PID为2657的,那再杀死它吧。
然后再看一下,却还是有一个进程:
![](https://img.haomeiwen.com/i18082186/b8531d5ec15da01c.png)
看来这样无穷无尽的kill是没有用的。到底是什么原因我还不想去探究,现在要紧的是把这个问题解决掉,我才能正常下载svn。
解决方法
最后使用了最暴力的解决办法,直接删除这个锁的文件:
sudo rm /var/lib/dpkg/lock-frontend
sudo rm/var/lib/dpkg/lock
奏效了:
![](https://img.haomeiwen.com/i18082186/c6e58195c6220f9f.png)
注意:这样暴力删除锁不知道会造成什么不良后果,请慎用!
但就我的情况来说,并没有出现后续问题。等以后空了去详细查一下这个报错产生和kill进程失败的原因。
网友评论