这是我每次运行时收到的错误消息sudo
:
ubuntu@tegra-ubuntu:/$ sudo apt-get update
sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
现在我正尝试使用 SD 卡在 jetson tx1(nvidia 最新的开发板)上启动 ubuntu 14.04。我能够在没有 GUI 的情况下启动 Ubuntu。但是命令sudo
严重损坏。
在 SD 卡上创建文件系统时,我曾经sudo
这样做过。我找到了很多关于它的帖子,并验证了这一点
用户和组均有权限执行
/etc/
(sudo:无法统计 /etc/sudoers:没有这样的文件或目录 - 文件存在)使用时
pkexec visudo /etc/sudoers
出现此错误:** (process:1784): WARNING **: Error enumerating actions: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files Error checking for authorization org.freedesktop.policykit.exec: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
由于我没有 GUI,因此无法访问 GRUB 菜单。按住 Shift 键不起作用...
答案1
为了解决这个问题,您可以重新安装sudo
,或者下载默认设置/etc/sudoers
并进行编辑。这两种方法都需要执行以下步骤:首先,重新启动计算机。当显示 Grub 屏幕时,不要选择,而是选择Ubuntu xxx
。Advanced options for Ubuntu xxx
在 下Advanced Options
,选择Recovery mode
。第二步是挂载分区rw
。为此,请选择Clean packages
、Ok
,然后当您再次看到恢复屏幕时,选择Root shell
。从 root shell 启用 wifi。重新安装sudo
:
apt-get install --reinstall sudo
或者将其插入到/etc/sudoers
:
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Uncomment to allow members of group sudo to not need a password
%sudo ALL=NOPASSWD: ALL
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
# Members of the admin group may gain root privileges
# %admin ALL=(ALL) ALL
重启之前,su
返回到普通用户,然后尝试sudo apt-get upgrade
或sudo
。如果成功,则重启。否则,请使用错误消息进行注释。
答案2
由于您发布了此问题,因此您显然可以在另一台机器上访问互联网。您可以创建一个 Ubuntu Live CD,启动它,然后按照以下步骤进行修复。挂载安装的分区以在 ( , ...)sudo
处重新创建文件系统。从/mnt
sudo mount /dev/<whatever> /mnt
mkdir -p /mnt/home && sudo mount /dev/<whatever2> /mnt/home
Ubuntu 维基百科进入/mnt/etc/sudoers
。重新启动系统sudo
即可工作。