-bash:sudo:找不到命令


63

我正在尝试部署Django应用。当我打印时, apt-get update 我看到

W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied)
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
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?

当我打印时, sudo apt-get update 我看到

-bash: sudo: command not found

我尝试使用su而不是sudo。但这很奇怪。例如,我打印su apt-get update 而什么也没发生,我只是看到一个新行,

(uiserver):u78600811:~$ su apt-get update
(uiserver):u78600811:~$

如果尝试安装某些软件包,则相同。我该怎么办?

如果有用的信息-我正在使用Debian

(uiserver):u87600811:~$ uname -a
Linux infong1559 3.14.0-ui16294-uiabi1-infong-amd64 #1 SMP Debian 3.14.79-2~ui80+4 (2016-10-20) x86_64 GNU/Linux

这是商业服务器上的客户帐户吗?
Tomasz

@tomas yeah /////
user2950593

1
如果您不拥有服务器,是什么使您认为您有权安装或删除软件?向管理员提问
Shadur

如果您跑步会apt-cache policy sudo怎样?并非所有Linux发行版默认都安装sudo(例如,仅当您在安装时未指定root密码时,Debian才会安装sudo)。您可以在没有root特权的情况下运行apt-cache。
rosuav '17

Answers:


79

默认情况下,sudo未安装在Debian上,但是您可以安装它。首先启用su-mode:
su -

通过运行以下命令安装sudo:
apt-get install sudo -y

之后,您将需要与用户和权限进行交互。将sudo权限授予您自己的用户。

usermod -aG sudo yourusername

确保您的sudoers文件添加了sudo组。运行:
visudo修改sudoers文件并在其中添加以下行(如果缺少):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

您需要重新登录或完全重新启动设备才能使更改生效。


3
这应该被接受,这解决了我的问题
Callat

我收到“ su:无法确定您的用户名”。做素-
user674669

@ user674669您是否检查过此帖子:serverfault.com/questions/816969/…
Maksim Luzik

谢谢@MaksimLuzik。我的是一个码头集装箱。该页面上的想法对我没有帮助。也许,我应该发布一个单独的问题。
user674669

19

由于它是一台商业服务器,因此您将无法访问root帐户,也无法使用root特权进行操作。这意味着您将无法运行sudo或安装软件包。您可以尝试做的是:

  • 检查您是否有权使用编译器并在自己的家庭空间中编译所需的内容。

  • 检查是否可以运行虚拟机。这样可以让您运行要在其上安装软件包的OS的私有实例。


12

susudo是两个不同但相关的命令。不sudo安装不常见,但是可能根本不在您的路径中。尝试/usr/bin/sudo command

如果确实sudo无法使用,那么您可能需要使用su它,但是它不能与一起使用sudo。使用它的最简单方法是简单地运行:

su -

这将要求您输入root用户密码,此时您可能应该apt install sudo退出root shell,然后照常进行操作。

心灵不像sudo,它会询问您密码,su将要求您提供口令。


当我写
su-

3
然后,您可能已经是root。用检查whoami。如果您是root用户,请apt install sudo按照说明进行操作。
DopeGhoti

(uiserver):u78600811:〜$ apt install sudo
user2950593

1
W:无法读取/etc/apt/apt.conf.d/-DirectoryExists(13:权限被拒绝)E:无法打开锁文件/ var / lib / dpkg / lock-打开(13:权限被拒绝)E:无法锁定管理目录(/ var / lib / dpkg /),您是root用户吗?
user2950593

1
取决于PS1设置为。
DopeGhoti
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.