- Registriert
- Mai 2011
- Beiträge
- 2.010
Der Grund für den ursprünglichen Fehler war wahrscheinlich auch genau der der da steht: In deiner PATH Variable waren die sbin Ordner nicht drinnen, wo die ganzen Programme für root liegen. Daher findet dpkg diverse Programme nicht die bei einer Paketinstallation gebraucht werden.
Das passiert wenn man auf eine seltsame Art zu root wird, z.B.
Eine ordentliche Shell die als anderer Nutzer läuft (einschließlich root) kriegt man mit
Fast immer ist es aber besser die Shell mit normalen Nutzer-Rechten laufen zu lassen und nur einzelne Befehle mit
Das passiert wenn man auf eine seltsame Art zu root wird, z.B.
su
ohne -l
. Damit wird einfach nur deine user ID zu 0 (und du kriegst damit auch die ganzen Rechte) aber der reguläre Login-Vorgang für den Nutzer wird nicht durchlaufen. Und bei dem würden die ganzen Umgebungsvariablen wie PATH gesetzt. Das kann sinnvoll sein, für eine root Shell aber eher nicht.Eine ordentliche Shell die als anderer Nutzer läuft (einschließlich root) kriegt man mit
su -l
(Authentifiziert gegen /etc/passwd bzw. /etc/shadow, d.h. fragt nach Passwort des Ziel-Nutzers) oder sudo -i
(Authentifiziert gegen /etc/sudoers, i.d.R. so konfiguriert das du dein eigenes Passwort eingeben musst).Fast immer ist es aber besser die Shell mit normalen Nutzer-Rechten laufen zu lassen und nur einzelne Befehle mit
sudo
abzusetzen. Da kümmert sich sudo
selbst um das Anpassen der Umgebungsvariablen. Shell unter fremden User ist auch nervig weil die Konfigurationsdateien aus dem eigenen Home-Verzeichnis wie z.B. die .bashrc, .gitconfig, .inputrc u.s.w. nicht greifen. Zum Bearbeiten von Dateien als root daher auch nie sudo nano example.txt
verwenden sondern sudo -e example.txt
. Das kopiert die Datei temporär in ein für dich beschreibbares Verzeichnis und startet den Text-Editor dann regulär als dein Nutzer.