-bash: sudo: comando no encontrado

63

Estoy tratando de implementar la aplicación django. Cuando imprimo apt-get update veo

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?

Cuando imprimo sudo apt-get update veo

-bash: sudo: command not found

Traté de usar en sulugar de sudo. Pero es extraño. Por ejemplo, imprimo su apt-get update y no pasa nada, solo veo una nueva línea,

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

Lo mismo si intento instalar algunos paquetes. ¿Qué debo hacer?

Si es información útil, estoy usando 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
usuario2950593
fuente
¿Es esta una cuenta de cliente en un servidor comercial?
Tomasz
@tomas yeah ////
user2950593
1
Si no es propietario del servidor, ¿qué le hizo pensar que tiene derecho a instalar o eliminar software? pregunte al administrador
Shadur
¿Qué pasa si corres apt-cache policy sudo? No todas las distribuciones de Linux instalan sudo de forma predeterminada (Debian, por ejemplo, instalará sudo si y solo si no especifica una contraseña de root en la instalación). Puede ejecutar apt-cache sin privilegios de root.
rosuav

Respuestas:

79

Por defecto, sudo no está instalado en Debian, pero puede instalarlo. Primero habilite su-mode:
su -

Instala sudo ejecutando:
apt-get install sudo -y

Después de eso, deberías jugar con los usuarios y los permisos. Dale sudo a tu propio usuario.

usermod -aG sudo yourusername

Asegúrese de que su archivo sudoers tenga agregado sudo group. Ejecutar:
visudopara modificar el archivo sudoers y agregar la siguiente línea (si falta):

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

Debe volver a iniciar sesión o reiniciar el dispositivo por completo para que los cambios surtan efecto.

Maksim Luzik
fuente
3
Esto debería ser una respuesta aceptada, esto resolvió mi problema
Callat
Me aparece "su: no se puede determinar su nombre de usuario". en hacer su -
user674669
@ user674669 ¿has revisado esta publicación: serverfault.com/questions/816969/… ?
Maksim Luzik
Gracias @MaksimLuzik. El mío es un contenedor acoplable. Las ideas en esa página no son útiles para mí. Tal vez, debería publicar una pregunta por separado.
user674669
19

Dado que es un servidor comercial, no tendrá acceso a la cuenta raíz ni podrá operar con privilegios de root. Esto significa que no podrá ejecutar sudoni instalar paquetes. Lo que puedes intentar hacer es:

  • Comprueba si tienes acceso a un compilador y compila lo que quieres para ti y en tu espacio hogareño.

  • Compruebe si puede ejecutar una máquina virtual. Esto podría permitirle ejecutar su instancia privada de un sistema operativo, en el que instalaría paquetes.

Tomász
fuente
12

suy sudoson dos comandos diferentes pero relacionados. Es inusual que sudono se instale, pero puede que simplemente no esté en su ruta. Tratar /usr/bin/sudo command.

Si de hecho sudono está disponible, necesita como supuso usar su, pero no funciona de la misma manera que sudo. La forma más sencilla de usarlo es simplemente ejecutar:

su -

Esto le pedirá rootla contraseña del usuario, momento en el cual probablemente debería apt install sudocerrar sesión en el shell raíz y luego continuar de la forma habitual.

Tenga en cuenta que sudo, a diferencia de lo que le pide su contraseña, sule pedirá la contraseña de root .

DopeGhoti
fuente
cuando escribo su - no pasa nada - solo nueva línea
user2950593
3
Entonces probablemente ya eres root. Consulte con whoami. Si eres root, apt install sudocomo se describe.
DopeGhoti
(uiserver): u78600811: ~ $ apt install sudo
user2950593
1
W: No se puede leer /etc/apt/apt.conf.d/ - DirectoryExists (13: Permiso denegado) E: No se pudo abrir el archivo de bloqueo / var / lib / dpkg / lock - open (13: Permiso denegado) E: No se puede para bloquear el directorio de administración (/ var / lib / dpkg /), ¿eres root?
user2950593
1
Dependiendo de lo que PS1esté configurado.
DopeGhoti