mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-23 21:20:42 +08:00
119 lines
5.8 KiB
Markdown
119 lines
5.8 KiB
Markdown
[#]: subject: "Fixing “Unable to acquire dpkg frontend lock. Are You Root?” Error on Ubuntu and Other Linux Distributions"
|
||
[#]: via: "https://itsfoss.com/fixed-are-you-root-error/"
|
||
[#]: author: "Abhishek Prakash https://itsfoss.com/author/abhishek/"
|
||
[#]: collector: "lujun9972"
|
||
[#]: translator: "geekpi"
|
||
[#]: reviewer: "wxy"
|
||
[#]: publisher: "wxy"
|
||
[#]: url: "https://linux.cn/article-13936-1.html"
|
||
|
||
修复在 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?
|
||
```
|
||
|
||
或者类似的错误:
|
||
|
||
```
|
||
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?
|
||
```
|
||
|
||
这两个错误都在问你同一个问题:你是 root 吗?而这就是这个问题的答案。成为 root。
|
||
|
||
### 成为 root 以避免这个错误
|
||
|
||
你如何 [在 Ubuntu][1] 或 Debian 中成为 root?你使用 `sudo` 命令。
|
||
|
||
是的,就是这样。无论你在运行什么命令,只要在它前面加上 `sudo` 即可。
|
||
|
||
```
|
||
sudo your_command
|
||
```
|
||
|
||
![Running command with sudo][2]
|
||
|
||
它将要求你输入你的用户账户密码。请记住,当你输入密码时,屏幕上不会显示任何东西,这也没关系。
|
||
|
||
你的系统没有任何问题。在大多数 Linux 系统中,输入密码时不会显示通常的星号或其他东西是一种“安全特性”。
|
||
|
||
只要输入密码,并在密码后按下回车键即可。如果密码输入正确,你现在应该可以运行该命令了。
|
||
|
||
你甚至可以使用这个方便的 [Linux 命令行技巧][3],用 `sudo` 运行以前的命令:
|
||
|
||
```
|
||
sudo !!
|
||
```
|
||
|
||
这很简单,而且立即生效,除非你没有 sudo 权限。然后,你会看到一个不同的错误。
|
||
|
||
### 看到一个 “User is not in sudoer file” 的错误?
|
||
|
||
![Some users cannot run commands with sudo][4]
|
||
|
||
当你 [安装 Ubuntu][5] 时,你必须创建一个用户账户。这个用户被自动授予 `sudo` 权限,在需要时以 root 身份运行命令。
|
||
|
||
这发生在 Ubuntu 桌面上,而不是服务器上。大多数服务器发行版会有一个单独的 root 账户。如果你单独创建了一个普通账户,你就必须把这个用户添加到 `sudoer` 中,以便这个普通用户可以使用 `sudo`。
|
||
|
||
在上面的截图中,我已经创建了这个额外的用户,但没有将其添加到 sudo 组中。这意味着这里的用户 `prakash` 没有使用 `sudo` 命令的权限,因此系统抱怨 “prakash is not in sudoers file”。
|
||
|
||
#### 该事件在哪里报告?
|
||
|
||
错误的 `sudo` 尝试会被添加到系统日志中。它记录了用户名、虚拟终端号、运行命令的位置和运行的命令。
|
||
|
||
![Incorrect sudo attempts are logged into the system][6]
|
||
|
||
这些日志的位置在不同的发行版中有所不同。
|
||
|
||
通常,在 Ubuntu 中你可以在 `journalctl` 日志或 `/var/log/auth.log` 文件中找到它,在 Fedora 中可以在 `/var/log/audit/audit.log` 文件中找到它。
|
||
|
||
#### 如果一个用户不在 sudoer 列表中,你能做什么?
|
||
|
||
当你不能用当前的用户账户使用 `sudo` 时,你能做什么?首先,[验证该用户是否有 sudo 权限。如果没有,你可以有一些选择][7]:
|
||
|
||
* 以 root 身份登录或切换 root 身份(如果你有 root 密码)。
|
||
* [将该用户加入 sudoer 列表][8] (如果你有其他用户账户的管理或 `sudo` 权限)。
|
||
* 如果你在多用户的 Linux 系统中,自己没有 root 或 `sudo` 权限,请你的系统管理员授予你的用户 sudo 权限或安装你想安装的应用。
|
||
|
||
### 这有帮助吗?
|
||
|
||
`sudo` 是一个非常全面的安全机制,它不仅仅是允许一个普通用户成为 root。它有助于对系统进行审计,了解哪个用户用 `sudo` 运行了哪个命令。它还可以被配置为只允许某个用户用 `sudo` 运行某些命令。
|
||
|
||
你不会在桌面 Linux 上看到如此细化的 `sudo` 配置,在桌面 Linux 上,它被预先配置为允许 `sudo` 组中的任何用户以 `root` 的身份运行任何命令。关于 `sudo` 的更多信息,请参见其他文章。
|
||
|
||
我希望在解决这个经典的初学者问题时,你能对 `sudo` 命令有一些初步的了解。如果你对这个主题有进一步的问题,请在评论区告诉我。
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
via: https://itsfoss.com/fixed-are-you-root-error/
|
||
|
||
作者:[Abhishek Prakash][a]
|
||
选题:[lujun9972][b]
|
||
译者:[geekpi](https://github.com/geekpi)
|
||
校对:[wxy](https://github.com/wxy)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||
|
||
[a]: https://itsfoss.com/author/abhishek/
|
||
[b]: https://github.com/lujun9972
|
||
[1]: https://itsfoss.com/root-user-ubuntu/
|
||
[2]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/10/running-commands-with-sudo.webp?resize=800%2C450&ssl=1
|
||
[3]: https://itsfoss.com/linux-command-tricks/
|
||
[4]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2021/10/not-in-sudoer-file-error-800x289.png?resize=800%2C289&ssl=1
|
||
[5]: https://itsfoss.com/install-ubuntu/
|
||
[6]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2021/10/sudo-incident-reported.png?resize=800%2C339&ssl=1
|
||
[7]: https://linuxhandbook.com/check-if-user-has-sudo-rights/
|
||
[8]: https://linuxhandbook.com/create-sudo-user/
|