权限被拒绝,您是root吗?


81

每当尝试使用终端安装程序时,都会出现此错误:

home@ubuntu:~$ apt-get install myunity
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?

我也无法使用终端安装更新。


4
这不是重复的,相同的错误,但原因不同。
豪尔赫·卡斯特罗

3
试试sudo apt-get update
Avinash Raj 2014年

我认为您的gui更新管理器在您运行apt-get更新时是打开的,一件事,您必须是超级用户或使用sudo才能使用apt-get更新
smn_onrocks 2014年

您甚至拥有那台计算机,如果是的话,那么您需要在安装之前先以root所有者(sudo)的身份证明这一点
Olu Smith

Answers:


80

解决方案是读取错误消息:您是root吗?。用于sudo以root特权运行命令,如下所示:sudo apt-get update


24

根据有关使用终端社区文档

sudo:以特权提升执行命令

  1. 以下大多数命令都需要以sudo命令开头。这会暂时将特权提升到root用户管理级别,这在使用用户帐户不拥有的目录或文件时是必需的。使用sudo时,将提示您输入密码。只有具有sudo(管理)特权的用户才能使用此命令。你应该永远不会使用普通的sudo来启动图形应用程序的根目录(请参阅RootSudo有关正确使用sudo的更多信息。)

因此,由于apt-get会安装软件并因此影响系统,因此您需要使用sudo命令为自己授予管理员特权。

因此,您的命令应该是 sudo apt-get install myunity

如果要更新系统,请运行

sudo apt-get update
sudo apt-get dist-upgrade

这将更新系统的软件包数据库,然后安装所有升级。


7
这无助于消除错误:unable to lock the administration directory (/var/lib/dpkg/), are you root?
IgorGanapolsky

10

在运行任何管理任务之前:必须先安装,删除,更改系统范围的首选项等root。这对于尤其如此apt-get。该消息本身会告诉您问题出在哪里:

你根吗?

如果不是root,该install命令将根本无法使用。

解决此问题的方法是sudo在命令之前使用:

➜  ~  apt-get update
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
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?
➜  ~  sudo apt-get update
Fetched 616 kB in 25s (23.9 kB/s)

如您所见,当我使用时,它顺利完成sudo。如果有任何open (13: Permission denied)东西,几乎可以肯定的是,您root不需要使用sudo


感谢您提供的帮助,因为我还没有扎根,所以我认为我不需要使用sudo,但是对我来说,这都是学习的经验。只希望您可以规定终端机中的更新
Frenchman 2014年

4

试试看

sudo apt-get update 

如果您仍然遇到锁定错误,请尝试使用此命令,它将提供进程详细信息

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

然后使用进程ID终止进程,然后执行更新命令

而且您也可以删除此文件,您的问题将解决

rm /var/lib/dpkg/lock 

1
使用apt-get之前,请记住关闭软件中心。否则更新程序将被锁定。
丹·约翰森

1
该锁存在以保护您的存储库配置文件。随意杀死进程和删除锁定文件可能会导致系统配置错误。这个答案真的很危险。在删除锁定文件之前,必须三重确保保存该文件的进程已关闭,崩溃或发生任何其他事情。正确的答案是@braiam的答案。
Rmano 2014年

没有此类文件或目录:/var/lib/dpkg/lock
IgorGanapolsky '16

更新程序锁定了锁,所以我无法运行apt-get install。我不得不等到更新完成(仅几分钟),然后它才起作用,
gaborsch

3

赶紧跑

sudo apt-get update

sudo用于以超级用户身份运行它


2

只需读取错误输出:are you root?因为您不是。作为普通用户,您没有足够的特权来安装软件包。

前置sudo命令以提升特权。只要该帐户具有可以使用的sudo特权。


0

我有这个错误,在我的情况,我不得不删除 noexec/var/etc/fstab

在我的CentOS,Fedora和Alpine Linux上运行良好

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.