Ubuntu安装软件时出现的问题

之前我在安装screen时出现了下面的报错指令

wwwww77@wwwww77-VirtualBox:~$ sudo apt install screen
[sudo] password for wwwww77:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavialable)
E: Unable to acquire the dpkg fronted lock (/var/lib/dpkg/lock-frontend), is another process using it?

在网上查了一些资料后了解到出现这个报错的原因是apt还在运行,也就是这个进程被占用了。

此处涉及到操作系统中锁的一些概念,当一个资源被某个进程占用的时候,我们会把它上一个“锁”,如果这个进程没有结束,那么其他需要这个资源的进程就无法开始,这样子保证了上一个进程的完整性。

解决方法:

1:找到所有apt相关的进程,并用命令杀死。

wwwww77@wwwww77-VirtualBox:~$ ps afx|grep apt
 2162 pts/1    T      0:00  |                       \_ sudo apt get install screenps afx
 2163 pts/1    T      0:00  |                       \_ grep --color=auto apt
 2169 pts/1    T      0:00  |                       \_ sudo apt get install screen
 2171 pts/1    S+     0:00  |                       \_ grep --color=auto apt
 1869 ?        S      0:07  \_ /usr/lib/apt/methods/http
 2122 ?        S      0:00  \_ /usr/lib/apt/methods/http
wwwww77@wwwww77-VirtualBox:~$ sudo kill -9 2162 
[sudo] password for wwwww77:

2.删除lock文件

当我们运行了 apt-get 或者 apt 命令,锁定文件将会创建于 /var/lib/apt/lists/、/var/lib/dpkg/、/var/cache/apt/archives/ 中。这能帮助运行中的 apt 进程不被其它需要使用相同文件的用户或者系统进程所打断,当进程执行完毕后,lock文件将会自动被删除。
接下来:

  • 移除对应目录下的lock文件
wwwww77@wwwww77-VirtualBox:~$ sudo rm /var/cache/apt/archives/lock-frontend
wwwww77@wwwww77-VirtualBox:~$ sudo rm /var/lib/dpkg/lock-frontend
  • 然后重新配置软件包
wwwww77@wwwww77-VirtualBox:~$ sudo dpkg --configure -a
  • 更新软件包源文件
wwwww77@wwwww77-VirtualBox:~$ sudo apt update
wwwww77@wwwww77-VirtualBox:~$ sudo apt-get update

3.有需要时重启一下

wwwww77@wwwww77-VirtualBox:~$ reboot

成功解决,可以安装软件了

同时也可能遇到:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavialable)

一样的问题,只不过lock-frontend变成了lock,同样方法解决,只要在删除进程时改一下路径就行了。

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

你可能感兴趣的:(Ubuntu安装软件时出现的问题)