Merge pull request #23690 from wxy/20211026-Fixing--Unable-to-acquire-dpkg-frontend-lock.-Are-You-Root---Error-on-Ubuntu-and-Other-Linux-Distributions

PRF&PUB:published/20211026 Fixing -Unable to acquire dpkg frontend lock. Are You Root-- Error on Ubuntu and Other Linux Distributions.md
This commit is contained in:
Xingyu.Wang 2021-10-30 09:39:55 +08:00 committed by GitHub
commit ef288e2094
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,35 +3,41 @@
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
[#]: collector: "lujun9972"
[#]: translator: "geekpi"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-13936-1.html"
修复在 Ubuntu 和其他 Linux 发行版上 “Unable to acquire dpkg frontend lock. Are You Root?” 的错误
修复在 Ubuntu 上 “Unable to acquire dpkg frontend lock. Are You Root?” 的错误
======
![](https://img.linux.net.cn/data/attachment/album/202110/30/092452w21q1lyl1ntyy7t3.jpg)
我假设你对 Linux 很陌生。
你按照网上的一些教程,告诉你要安装某个程序或运行某个命令。可能是与服务器有关的东西。
但当你运行这个命令时,你遇到了这个错误:
**E: Could not open lock file /var/lib/dpkg/lock-frontend open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?**
```
E: Could not open lock file /var/lib/dpkg/lock-frontend open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
```
或者类似的错误:
```
dpkg: error: required read/write access to the dpkg database directory /var/lib/dpkg
**E: Sub-process dpkg set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?**
E: Sub-process dpkg set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?
```
这两个错误都在问你同一个问题:你是 root 吗?而这就是这个问题的答案。成为 root。
### 成为 root 以避免这个错误
你如何[在 Ubuntu][1] 或 Debian 中成为 root你使用 sudo 命令。
你如何 [在 Ubuntu][1] 或 Debian 中成为 root你使用 `sudo` 命令。
是的,就是这样。无论你在运行什么命令,只要在它前面加上 sudo 即可。
是的,就是这样。无论你在运行什么命令,只要在它前面加上 `sudo` 即可。
```
sudo your_command
@ -45,7 +51,7 @@ sudo your_command
只要输入密码,并在密码后按下回车键即可。如果密码输入正确,你现在应该可以运行该命令了。
你甚至可以使用这个方便的 [Linux 命令行技巧][3],用 sudo 运行以前的命令:
你甚至可以使用这个方便的 [Linux 命令行技巧][3],用 `sudo` 运行以前的命令:
```
sudo !!
@ -57,39 +63,37 @@ sudo !!
![Some users cannot run commands with sudo][4]
当你[安装 Ubuntu][5] 时,你必须创建一个用户账户。这个用户被自动授予 sudo 权限,在需要时以 root 身份运行命令。
当你 [安装 Ubuntu][5] 时,你必须创建一个用户账户。这个用户被自动授予 `sudo` 权限,在需要时以 root 身份运行命令。
这发生在 Ubuntu 桌面上,而不是服务器上。大多数服务器发行版会有一个单独的 root 账户。如果你单独创建了一个普通账户,你就必须把这个用户添加到 sudoer 中,以便这个普通用户可以使用 sudo。
这发生在 Ubuntu 桌面上,而不是服务器上。大多数服务器发行版会有一个单独的 root 账户。如果你单独创建了一个普通账户,你就必须把这个用户添加到 `sudoer` 中,以便这个普通用户可以使用 `sudo`
在上面的截图中,我已经创建了这个额外的用户,但没有将其添加到 sudo 组中。这意味着这里的用户 “prakash” 没有使用 sudo 命令的权限,因此系统抱怨 “prakash is not in sudoers file”。
在上面的截图中,我已经创建了这个额外的用户,但没有将其添加到 sudo 组中。这意味着这里的用户 `prakash` 没有使用 `sudo` 命令的权限,因此系统抱怨 “prakash is not in sudoers file”。
#### 该事件在哪里报告?
一个错误的 sudo 尝试被添加到系统日志中。它记录了用户名、虚拟终端号、运行命令的位置和运行的命令。
错误的 `sudo` 尝试被添加到系统日志中。它记录了用户名、虚拟终端号、运行命令的位置和运行的命令。
![Incorrect sudo attempts are logged into the system][6]
这些日志的位置在不同的发行版中有所不同。
通常,在 Ubuntu 中你可以在 journalctl 日志或 /var/log/auth.log 文件中找到它,在 Fedora 中可以在 /var/log/audit/audit.log 文件中找到它。
通常,在 Ubuntu 中你可以在 `journalctl` 日志或 `/var/log/auth.log` 文件中找到它,在 Fedora 中可以在 `/var/log/audit/audit.log` 文件中找到它。
#### 如果一个用户不在 sudoer 列表中,你能做什么?
当你不能用当前的用户账户使用 sudo 时,你能做什么?首先,[验证该用户是否有 sudo 权限。如果没有,你可以有一些选择][7]
当你不能用当前的用户账户使用 `sudo` 时,你能做什么?首先,[验证该用户是否有 sudo 权限。如果没有,你可以有一些选择][7]
* 以 root 身份登录或切换 root 身份(如果你有 root 密码)。
* [将该用户加入 sudoer 列表][8] (如果你有其他用户账户的管理/sudo 权限)。
* 如果你在多用户的 Linux 系统中,自己没有 root 或 sudo 权限,请你的系统管理员授予你的用户 sudo 权限或安装你想安装的应用。
* [将该用户加入 sudoer 列表][8] (如果你有其他用户账户的管理或 `sudo` 权限)。
* 如果你在多用户的 Linux 系统中,自己没有 root 或 `sudo` 权限,请你的系统管理员授予你的用户 sudo 权限或安装你想安装的应用。
### 这有帮助吗?
Sudo 是一个非常全面的安全机制,它不仅仅是允许一个普通用户成为 root。它有助于对系统进行审计了解哪个用户用 sudo 运行了哪个命令。它还可以被配置为只允许某个用户用 sudo 运行某些命令。
`sudo` 是一个非常全面的安全机制,它不仅仅是允许一个普通用户成为 root。它有助于对系统进行审计了解哪个用户用 `sudo` 运行了哪个命令。它还可以被配置为只允许某个用户用 `sudo` 运行某些命令。
你不会在桌面 Linux 上看到如此细化的 sudo 配置,在桌面 Linux 上,它被预先配置为允许 sudo 组中的任何用户以 sudo 的身份运行任何命令。关于 sudo 的更多信息,请参见其他文章。
你不会在桌面 Linux 上看到如此细化的 `sudo` 配置,在桌面 Linux 上,它被预先配置为允许 `sudo` 组中的任何用户以 `root` 的身份运行任何命令。关于 `sudo` 的更多信息,请参见其他文章。
我希望在解决这个经典的初学者问题时,你能对 sudo 命令有一些初步的了解。如果你对这个主题有进一步的问题,请在评论区告诉我。
我希望在解决这个经典的初学者问题时,你能对 `sudo` 命令有一些初步的了解。如果你对这个主题有进一步的问题,请在评论区告诉我。
--------------------------------------------------------------------------------
@ -98,7 +102,7 @@ via: https://itsfoss.com/fixed-are-you-root-error/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出