解决 /var/lib/dpkg/lock - 打开(13:权限被拒绝)“你是 root 吗?” 错误

wel*_*ing 10 permissions apt dpkg

错误:

E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
Run Code Online (Sandbox Code Playgroud)

所以,我已经看到这个错误出现了几次,并且由于使用以下命令而得到它:

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

我以 root 身份运行并确保没有任何更新管理器正在运行。首先,我尝试使用以下方法检查锁定它的内容:

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

输出为:

lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/gareth/.gvfs
Output information may be incomplete.
Run Code Online (Sandbox Code Playgroud)

以防万一我尝试使用以下方法移除锁:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
Run Code Online (Sandbox Code Playgroud)

……无济于事。有趣的是,如果我实际上是 root 并使用:

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

...更新有效。所以我可以更新和升级我的软件包,只要我真的是 root,这有点令人沮丧。这也意味着它更多地与权限有关,而不是其他锁定目录的东西?

在此先感谢您提供任何帮助。

Don*_*son 23

你忘记了sudo第二个命令。 sudo apt-get update && sudo apt-get upgrade将工作。