在 Ubuntu 中尝试从终端安装 unrar 时出现无法锁定管理目录 (/var/lib/dpkg/) 错误

在 Ubuntu 中尝试从终端安装 unrar 时出现无法锁定管理目录 (/var/lib/dpkg/) 错误

我在尝试安装时收到此错误解压从 Ubuntu 终端解压 .rar 文件。

E: Could not open lock file /var/lib/dpkg/lock - open (2: No such file or directory)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

答案1

运行以下命令:

sudo rm /var/lib/dpkg/lock

创建丢失的文件夹(首先使用命令ls -l /var/lib/dpkg/显示现有文件夹,如果某些文件夹存在则不要重新创建):

sudo mkdir -p /var/lib/dpkg/{alternatives,info,parts,triggers,updates,methods,available,diversions}

移动dpkg.status.0并修复基础文件:

sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo apt-get download dpkg
sudo dpkg -i dpkg*.deb
sudo apt-get download base-files
sudo dpkg -i base-files*.deb
sudo apt update && sudo apt upgrade

检查并修复损坏的依赖关系:

sudo apt-get check
sudo apt -f install

答案2

  • 错误消息询问您是否是 root 以便允许运行命令从终端安装软件。sudo在命令前使用以 root 权限运行命令,如下所示:

    sudo apt install example-package  
    

    此示例命令安装一个名为示例包

  • 如果仍然收到锁定错误,请关闭 Ubuntu 软件中心(Ubuntu 14.04)或软件应用程序(Ubuntu 16.04)和要解锁的终端/var/lib/dpkg/,重新打开终端并重试该命令。

  • 如果仍然收到锁定错误,请运行此命令以显示有关锁定过程的详细信息。

    ps -e | grep -e apt -e adept | grep -v grep  
    

    然后打开系统监视器应用程序并终止与上一个命令的结果具有相同进程 ID 的进程。


对于评论中提到的错误:

Errors were encountered while processing: /var/cache/apt/archives/libgtk-3-bin_3.18.9-1ubuntu3.1_amd64.deb   
E: Sub-process /usr/bin/dpkg returned an error code (1)  

尝试通过运行以下命令来修复它:

sudo apt-get clean  
sudo apt update  
sudo apt upgrade  
sudo dpkg --configure -a  
sudo apt-get -f install  

然后尝试再次运行导致错误消息的命令。

答案3

运行以下命令生成所有进程的列表其名称包含单词 apt,你将使用 ps 获得所有 apt 或 apt-get 进程的列表,grep 命令连同管道。

ps -A | grep apt

对于上述命令输出中的每个 apt-get 或 apt 进程,终止每个进程使用以下命令。

从上面的屏幕截图的第一列可以找到进程 ID(PID)。

sudo kill -9 processnumber
or
sudo kill -SIGKILL processnumber

例如,在下面的命令中,9 是 SIGKILL 信号的信号编号,将杀死第一个 apt 进程:

sudo kill -9 13431
or
sudo kill -SIGKILL 13431

首先执行以下命令删除/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 update
or
sudo apt-get update

详细信息https://www.tecmint.com/fix-unable-to-lock-the-administration-directory-var-lib-dpkg-lock/

相关内容