Właśnie to otrzymuję:
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:~$
Co ja robię źle?
źródło
sudo
nie tylko uruchamiają polecenia „tak jakbyś był rootem”, ale tak naprawdę uruchamia je jako root. Jeśli spojrzysz na proces, zobaczysz, że działa on jako root, a nie jako identyfikator użytkownika. Nawiasem mówiąc, na komputerach, które nie są skonfigurowane tak, aby domyślnie umożliwiały interaktywne logowanie przez root, możesz po prostu uruchomić,sudo bash
aby uzyskać powłokę root. :)sudo -i
jest to preferowane, ponieważ szanuje twoją obecną powłokę.Aby wykonywać aktualizacje systemu za pośrednictwem, potrzebujesz uprawnień roota
apt-get
.Możesz przełączyć się na konto root za pomocą
su root
. Wygląda na to, że nie maszsudo
zainstalowanego programu.źródło
sudo
uprawnień, ale nawet niesudo
zainstalował.sudo
.PATH
.sudo
iapt-get
są zarówno zainstalowany/usr/bin
domyślnie (przynajmniej na Debianie).Co znaczy „jesteś rootem?”?
Aby zainstalować pakiety w całym systemie (co
apt-get
robi), potrzebne są uprawnienia roota, ponieważ będziesz tworzyć i zmieniać pliki systemowe (root
to zwykła nazwa konta administratora * nix).Wiadomość „czy jesteś rootem?” To delikatne przypomnienie, że „musisz być rootem”, aby uruchomić
apt-get install
. Jest to najczęściej spotykana przyczyna problemu, który miał (pokazano powyżej):.
Jak zostać rootem?
su
Tradycyjnym sposobem „zostania rootem” jest uruchomienie
su
(i podanie hasła użytkownika root). su (1) oznacza s uper u ser lub s witch u ser.Zauważ, że może zostać użyty, aby stać się dowolnym użytkownikiem, więc możesz biegać,
su john
aby uzyskać powłokę jako John. Bieganiesu
bez nazwy użytkownika jest skrótem odsu root
.Aby to zadziałało, konto użytkownika root musi być włączone i mieć ustawione hasło. Niektóre systemy są skonfigurowane (nawet domyślnie) z wyłączonym kontem root, aby uniknąć kogoś -eg. atakujący - zaloguj się przy użyciu konta administratora. W takich przypadkach oferują one inny sposób uruchamiania poleceń administracyjnych, np. Sudo.
sudo
sudo (1) to program, który pozwala wykonać polecenie jako inny użytkownik (jak wyżej, zwykle wykonywany dla roota). Jest skonfigurowany w
/etc/sudoers
i pozwala na dokładniejszą kontrolę, na przykład pozwala na uruchamianie pojedynczego programu jako root dla określonego użytkownika (który może być ustawiony tak, aby wymagał ponownego podania własnego hasła), a także zapewnia funkcje rejestrowania (np. „ John wykonał system niszczący jako root ”).Istnieją inne opcje uruchamiania ze zwiększonymi uprawnieniami (takie jak calife ), ale ich użycie jest znacznie mniejsze.
Powyższy dziennik wskazuje, że
sudo
nie jest zainstalowany w Magic2tower.źródło
Wyjaśnili już, czym jest root, kiedy masz „komendę nie znalezioną”, prawdopodobnie dlatego, że nie masz zainstalowanego programu, który próbujesz uruchomić, lub nie masz ścieżki w zmiennych env.
Spróbuj uruchomić komendę w następujący sposób:
W niektórych dystrybucjach Linuksa nie można zmienić na root, więc każde polecenie musi być uruchamiane za pomocą sudo. =)
źródło
bash: sudo: command not found
że najlepszym pomysłem jest zainstalowanie gosudo apt-get install sudo
, a jeśli da ci ten sam błąd, dowiesz się, co to jest rekurencjasudo
.