Kal*_*esh 11 sudo software-installation
如何安装sudo软件包?
$ apt-get install sudo
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?
Run Code Online (Sandbox Code Playgroud)
Eli*_*gan 20
如果您确实删除了该sudo命令,则可以通过运行以下命令重新安装提供它的软件包:
pkexec apt-get update
pkexec apt-get --reinstall install sudo
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为大多数 Ubuntu 系统有两种不同的方式让管理员以 root 身份执行操作,sudo和Polkit。当 sudo 被破坏时,Polkit 通常仍然完好无损。
当然,您必须以管理员身份登录才能执行此操作。如果您使用的是被允许使用的帐户sudo(sudo在系统上存在时返回),那应该可以正常工作。
在最小系统或 Ubuntu 服务器系统上,Polkit 可能不可用,并且在某些配置下您将无法通过pkexecSSH 会话运行命令。
你已经指出的是pkexec,虽然不喜欢被删除sudo,也断了。具体来说,在您的系统上,它具有错误的所有权或权限。它应该是setuid root,但它不是,因此不能使用。
了解如何/usr/bin/sudo删除以及如何/usr/bin/pkexec更改权限(或所有权)会很有用。这是对您的系统的两个看似独立的重大更改。如果递归 ( -R)chown或chmod已在/、/usr、 或上执行/usr/bin,这将解释pkexec的权限如何更改,并且适当的修复不仅仅是将它们更改回那个可执行文件。
话虽如此,如果您的系统唯一的两件事sudo是丢失并且pkexec权限或所有权错误,这仍然很容易修复,尽管您必须重新启动进入恢复模式或从实时环境中 chroot 进入。我建议恢复模式。
/通过运行重新挂载读写:mount -o remount,rw /pkexec拥有正确的所有权:chown root:root /usr/bin/pkexecpkexec的权限:chmod 4755 /usr/bin/pkexecexit并按照提示进行操作),或使用reboot.sudo运行包apt-get带pkexec。这具有在恢复模式下是否有任何 Internet 连接可用的优点,而无需下载.deb文件并手动安装它们。使用--reinstall,apt-get将替换 的所有包文件sudo,这可以解决其他问题。另外,这也修复了您损坏的pkexec.
然而,这不是唯一的方法。特别是,San Lin Naing 的回答中给出的方法也应该有效。主要区别在于,这里给出的方法中,chroot中没有进行包管理操作,仅用于修复,pkexec因此可以在正常启动时用于管理包。
| 归档时间: |
|
| 查看次数: |
2127 次 |
| 最近记录: |