歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu使用教程:E: 無法獲得鎖 /var/lib/apt/lists/lock - open (11 資源臨時不可用)

Ubuntu使用教程:E: 無法獲得鎖 /var/lib/apt/lists/lock - open (11 資源臨時不可用)

日期:2017/2/28 14:30:39   编辑:Linux教程

查看一下是否有使用apt-get的程序,終端輸入:ps -aux,找到使用apt-get的程序(最後一列),查看其PID號,然後殺死其進程,輸入sudo kill PID.

用sudo apt-get update時出現“ E: 無法獲得鎖 /var/lib/apt/lists/lock”錯誤。

在網上搜索到的解決方案──“將/var/lib/apt/list/lock刪除掉即可”──其實是一種極端的情況,也就是在上次更新沒有正常關閉的情況下使用。

在大部分情況下,問題的原因在於其它的程序如系統的自動更新、新立得等正在使用apt-get進程,所以解決方法也就是將這一進程關閉。

具體如下:

1、ps-aux 查出apt-get進程的PID,通常是一個四位數字。

2、用sudo kill PID代碼 殺死進程

3、用sudo apt-get update,sudo apt-get dist-upgrade升級。

方法一:

執行一下 sudo dpkg --configure -a

方法二(親測可以用):

sudo rm /var/lib/apt/lists/lock

方法三:

1、ps-aux 查出apt-get進程的PID,

2、用sudo kill PID代碼 殺死進程(我都是找出帶apt字樣的進程格殺勿論)

---------------------------分割線---------------------------

E:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

出現這個問題的原因可能是有另外一個程序正在運行,導致資源被鎖不可用。而導致資源被鎖的原因,可能是上次安裝時沒正常完成,而導致出現此狀況。

解決方法:輸入以下命令

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

之後再安裝想裝的包,即可解決

今天玩Ubuntu的時候,在弄更新源的時候,突然出現以下錯誤:

[1]+ Stopped sudo apt-get update
www.linuxidc.com@linux:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the list directory

開始以為是權限不夠,就是用 sudo apt-get update,發現還是報錯,問題沒有解決。於是上網搜索了一下,答案如下:

問題應該是之前那個更新被強制取消的問題,進程仍然還在。用這個命令查看一下:

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 沒有任何結果了

繼續執行sudo apt-get update

OK!


原因:剛裝好的Ubantu系統,內部缺少很多軟件源,這時,系統會自動啟動軟件源更新進程“apt-get”,並且它會一直存活。由於它在運行時,會占用軟件源更新時的系統鎖(以下稱“系統更新鎖”,此鎖文件在“/var/lib/apt/lists/”目錄下),而當有新的apt-get進程生成時,就會因為得不到系統更新鎖而出現"E: 無法獲得鎖 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)"錯誤提示!因此,我們只要將原先的apt-get進程殺死,從新激活新的apt-get進程,就可以讓新立德軟件管理器正常工作了!

這時,你可以按一下步驟來解決:
1、輸入以下命令:“ps -aux > temp.txt”.敲回車確定。這時會有“warning”出現,但不予理會。
2、輸入以下命令:“grep -n apt-get temp.txt”鍵入回車確定。而後從命令輸出中找到 apt-get 進程的PID。
3、輸入以下命令:“sudo kill <PID>”。
4、完成。

or

如果提示錯誤:E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
輸入
sudo rm /var/lib/apt/lists/lock 即可

祝好運!

---------------------------分割線---------------------------

linuxidc@ubuntu:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
linuxidc@ubuntu:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
linuxidc@ubuntu:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
linuxidc@ubuntu:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
linuxidc@ubuntu:~$


linuxidc@ubuntu:~$ sudo rm /var/cache/apt/archives/lock
linuxidc@ubuntu:~$ sudo rm /var/cache/apt/archives/lock
rm: cannot remove ‘/var/cache/apt/archives/lock’: No such file or directory
linuxidc@ubuntu:~$ sudo rm /var/lib/dpkg/lock
linuxidc@ubuntu:~$

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved