修复在 Ubuntu 上 “Unable to acquire dpkg frontend lock. Are You Root?” 的错误
创始人
2024-03-02 08:50:15
0

我假设你对 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 或 Debian 中成为 root?你使用 sudo 命令。

是的,就是这样。无论你在运行什么命令,只要在它前面加上 sudo 即可。

sudo your_command

Running command with sudo

它将要求你输入你的用户账户密码。请记住,当你输入密码时,屏幕上不会显示任何东西,这也没关系。

你的系统没有任何问题。在大多数 Linux 系统中,输入密码时不会显示通常的星号或其他东西是一种“安全特性”。

只要输入密码,并在密码后按下回车键即可。如果密码输入正确,你现在应该可以运行该命令了。

你甚至可以使用这个方便的 Linux 命令行技巧,用 sudo 运行以前的命令:

sudo !!

这很简单,而且立即生效,除非你没有 sudo 权限。然后,你会看到一个不同的错误。

看到一个 “User is not in sudoer file” 的错误?

Some users cannot run commands with sudo

当你 安装 Ubuntu 时,你必须创建一个用户账户。这个用户被自动授予 sudo 权限,在需要时以 root 身份运行命令。

这发生在 Ubuntu 桌面上,而不是服务器上。大多数服务器发行版会有一个单独的 root 账户。如果你单独创建了一个普通账户,你就必须把这个用户添加到 sudoer 中,以便这个普通用户可以使用 sudo

在上面的截图中,我已经创建了这个额外的用户,但没有将其添加到 sudo 组中。这意味着这里的用户 prakash 没有使用 sudo 命令的权限,因此系统抱怨 “prakash is not in sudoers file”。

该事件在哪里报告?

错误的 sudo 尝试会被添加到系统日志中。它记录了用户名、虚拟终端号、运行命令的位置和运行的命令。

Incorrect sudo attempts are logged into the system

这些日志的位置在不同的发行版中有所不同。

通常,在 Ubuntu 中你可以在 journalctl 日志或 /var/log/auth.log 文件中找到它,在 Fedora 中可以在 /var/log/audit/audit.log 文件中找到它。

如果一个用户不在 sudoer 列表中,你能做什么?

当你不能用当前的用户账户使用 sudo 时,你能做什么?首先,验证该用户是否有 sudo 权限。如果没有,你可以有一些选择

  • 以 root 身份登录或切换 root 身份(如果你有 root 密码)。
  • 将该用户加入 sudoer 列表 (如果你有其他用户账户的管理或 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 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Fedora 44 不只是...
Fedora 44 已发布,带来内核 6.19.10、工具链升级与...
2026-05-15 22:19:06
开源英雄的窘境:Sudo维...
IT之家 2 月 5 日消息,科技媒体 Linuxiac 昨日(2...
2026-02-05 15:48:18
集特GM0-5603-01...
参数信息 主板:GM0-5603-01 系统:ubuntu-22....
2026-01-27 18:23:35
新买的云服务器如何快速上手...
拿到新云服务器的心情,就像拿到一把新家的钥匙,兴奋之余,可能更多的...
2026-01-26 10:17:31
Ubuntu 25.10进...
2025-08-16 01:41:14 作者:狼叫兽 Ubun...
2025-08-16 16:14:45
Linux系统下如何调整D...
文章标题:域名解析记录变更时,TTL值调整的重要性及其对DNS缓存...
2025-04-18 22:46:29

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...