-bash: sudo: comando non trovato


63

Sto cercando di distribuire l'app django. Quando stampo apt-get update vedo

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?

Quando stampo sudo apt-get update vedo

-bash: sudo: command not found

Ho provato a usare suinvece di sudo. Ma è strano. Ad esempio, stampa su apt-get update e non succede nulla, vedo solo una nuova riga,

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

Lo stesso se provo ad installare alcuni pacchetti. Cosa faccio?

Se si tratta di informazioni utili, sto 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

È un account cliente su un server commerciale?
— Tomasz,

@tomas yeah ////
— user2950593

1
Se non possiedi il server, cosa ti ha fatto pensare di avere il diritto di installare o rimuovere il software? chiedi
— all'amministratore

Cosa succede se corri apt-cache policy sudo? Non tutte le distribuzioni Linux installano sudo di default (Debian, ad esempio, installerà sudo se e solo se non si specifica una password di root all'installazione). È possibile eseguire apt-cache senza i privilegi di root.
— Rosuav,

Risposte:


79

Di default sudo non è installato su Debian, ma è possibile installarlo. Per prima cosa abilitare la modalità su:
su -

Installa sudo eseguendo:
apt-get install sudo -y

Dopodiché dovrai giocare con utenti e autorizzazioni. Dai a sudo il diritto al tuo utente.

usermod -aG sudo yourusername

Assicurati che il tuo file sudoers abbia aggiunto il gruppo sudo. Esegui:
visudoper modificare il file sudoers e aggiungere la seguente riga (se mancante):

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

È necessario riaccedere o riavviare completamente il dispositivo per rendere effettive le modifiche.


3
Questa dovrebbe essere una risposta accettata, questo ha risolto il mio problema
— Callat,

Ricevo "su: Impossibile determinare il tuo nome utente". on doing su -
— user674669

@ user674669 hai controllato questo post: serverfault.com/questions/816969/… ?
— Maksim Luzik

Grazie @MaksimLuzik. Il mio è un contenitore docker. Le idee su quella pagina non mi sono state utili. Forse dovrei pubblicare una domanda separata.
— user674669

19

Poiché si tratta di un server commerciale, non avrai accesso all'account root né sarai in grado di operare con i privilegi di root. Ciò significa che non sarai in grado di eseguire sudoné installare pacchetti. Quello che puoi provare a fare è:

  • Controlla se hai accesso a un compilatore e compila ciò che desideri per te e nel tuo spazio domestico.

  • Verifica se riesci a eseguire una macchina virtuale. Ciò potrebbe consentire di eseguire l'istanza privata di un sistema operativo in cui installare i pacchetti.


12

sue sudosono due comandi diversi, ma correlati. È insolito che sudonon venga installato, ma potrebbe semplicemente non trovarsi nel tuo percorso. Prova /usr/bin/sudo command.

Se effettivamente sudonon è disponibile, è necessario come si suppone utilizzi su, ma non funziona allo stesso modo di sudo. Il modo più semplice per usarlo è semplicemente eseguire:

su -

Questo ti chiederà la rootpassword dell'utente, a quel punto dovresti probabilmente apt install sudodisconnetterti dalla shell di root e quindi procedere normalmente.

Ricorda che sudo, diversamente da quello che ti chiede la tua password, suti chiederà la password di root .


quando scrivo su - non succede nulla - solo una nuova riga
— user2950593

3
Quindi probabilmente sei già root. Verificare con whoami. Se sei root, apt install sudocome descritto.
— DopeGhoti

(uiserver): u78600811: ~ $ apt installa sudo
— user2950593

1
W: Impossibile leggere /etc/apt/apt.conf.d/ - DirectoryExists (13: autorizzazione negata) E: Impossibile aprire il file di blocco / var / lib / dpkg / lock - aperto (13: autorizzazione negata) E: Impossibile per bloccare la directory di amministrazione (/ var / lib / dpkg /), sei root?
— user2950593

1
A seconda di ciò che PS1è impostato su.
— DopeGhoti
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.