我在尝试安装时收到此错误解压从 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/