Asc*_*dia 16 command-line root apt
这是我不断得到的:
ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ apt-get install flashplugin-installer
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?
ascendermedia@magic2tower:~$ sudo aptitude install flashplugin-nonfree
bash: sudo: command not found
ascendermedia@magic2tower:~$ aptitude install flashplugin-nonfree
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?
ascendermedia@magic2tower:~$
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
mat*_*tdm 29
root
是系统上的超级用户帐户——它(基本上)拥有所有权限。许多系统被配置为您可以sudo
在另一个命令前面使用该命令以“作为 root”运行该命令 - 也就是说,就像您是 root 用户一样,具有相同的权限。
通常情况下,您需要 root 权限来安装系统包,这就是apt-get
它的作用。所以,它不起作用,第一次是因为你没有sudo
可用;第二次因为sudo
没有神奇地出现,因为你运行了两次;第三次(和第五次)因为apt-get
(和aptitude
)确实需要 root 权限来安装这样的软件包。
正如您从第一条错误消息中看到的,sudo 要么未安装,要么未在您的路径中,并且可能未配置。您可以su -c
替代,并root
在出现提示时提供 root 密码(帐户的密码)。
如果您不知道该密码,您需要 a) 询问为您执行此任务的人,如果它不是您的系统,或者 b) 找到某种方法来恢复它。
为了在系统范围内安装软件包(什么apt-get
),它需要 root 权限,因为您将创建和更改系统文件(root
*nix 管理员帐户的常用名称)。
«你是root吗?» 消息是一个温和的提醒,您“需要成为 root”才能运行apt-get install
. 这是出现问题的最常见原因(如上所示):
/var/lib/dpkg/lock - 打开(13:权限被拒绝)
.
“成为root”的传统方式是运行su
(并提供root用户的密码)。SU(1)代表小号UPER Ü Ser或小号女巫ü SER。
请注意,它可用于成为任何用户,因此您可以su john
以 john 的身份运行以获取 shell。su
不使用用户名运行是su root
.
为此,必须启用 root 用户帐户并设置密码。某些系统被配置(即使是默认),禁用 root 帐户,以避免某人 - 例如。攻击者 - 使用管理员帐户登录。在这些情况下,它们提供了另一种运行管理命令的方法,例如 sudo。
sudo(1)是一个程序,它允许您以另一个用户身份执行命令(如上所述,通常为 root 执行)。它在 中配置/etc/sudoers
,并允许更精细的控制,例如仅允许以 root 身份运行单个程序,特定用户(可能再次设置为需要他们自己的密码),并且还提供日志记录工具(例如“ john 以 root 身份执行了 destroy-system")。
还有其他选项可以以更高的权限运行(例如calife),但它们的使用率要低得多。
您上面的日志表明sudo
未安装在 magic2tower 上。
您需要 root 权限才能通过apt-get
.
您可以使用 切换到 root 帐户su root
。您似乎没有安装该sudo
程序。