由于“排他锁”错误,无法使用包管理器

das*_*eet 15 package-management lock

我在 ubuntu 中的突触包管理器出现错误:

  Unable to get exclusive lock
  This usually means that another package management application(like apt-get or  
  aptitude) is already running. Please close that application first.
Run Code Online (Sandbox Code Playgroud)

小智 14

我有同样的问题。然而,这篇文章有帮助,pa aux命令和Kill命令无效。sudo rm /var/lib/dpkg/lock似乎有效,我跟进了另一篇 Linux 帖子

  1. 您需要 sudo 权限,因此完整命令是:

    sudo dpkg --configure -a
    
    Run Code Online (Sandbox Code Playgroud)
  2. 尝试改用 Konsole 终端程序。确保所有包管理器都已关闭!发出命令:

    sudo apt-get update  
    sudo apt-get upgrade
    
    Run Code Online (Sandbox Code Playgroud)

sudo apt-get update命令有效。

那个sudo apt-get upgrade并没有如它所说的那样could not get dns proxy

还出现了以下情况:

some files failed to upload using old files.
Run Code Online (Sandbox Code Playgroud)

至少更新能够获取其中的 39 个。另一个无关紧要,因为这是最新的 Ubuntu 12.04 64 位。


小智 5

我中断了 a sudo apt-get upgrade,并且无法锁定任何内容。我只是通过运行修复了它sudo dpkg --configure -a,它让我可以从上次中断的地方继续。不知道有没有帮助,不妨分享一下。


Has*_*ken 4

正如另一个答案中提到的,您必须确保没有其他包管理软件正在运行。

打开终端并输入以下命令

ps aux | grep program-name
Run Code Online (Sandbox Code Playgroud)

其中程序名称可以是 apt、软件等(只是为了查明 apt-get 或软件中心是否正在运行)。如果您获得了它们的条目,请记下它们的进程 ID。让它成为xxxx。然后给出以下命令。

kill xxxx
Run Code Online (Sandbox Code Playgroud)

现在尝试打开突触。

如果问题仍然存在,请在终端中输入以下命令,

sudo rm /var/lib/dpkg/lock
Run Code Online (Sandbox Code Playgroud)

现在突触应该有望打开。


小智 2

此错误意味着另一个包管理软件已经在运行并使用包含该软件源等的文件。我会使用系统监视器查找 apt-get 或 aptitude 等工作进程并退出它们。然后重新启动突触,它应该可以工作。