PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Debian 10 mir fehlen Bash Kommandos wie lösen?



Linux_C
13.10.19, 22:24
Als erstes ist mir aufgefallen, das "shutdown" nicht existiert..
ok dacht mir vielleicht wegen Systemd und so..
habe mir dann eine eigene funktion geschrieben kein Problem.
Dann hab ich gemerkt das auch zb "killall" nicht existiert.. und vermutlich weitere wichtige Kommandos nicht existent sind..

Ist das neue Debian bei meinem Rechner aus irgendeinem Grund unvollständig installiert worden oder gibt es dafür weitere Gründe?
Wie kann ich die fehlenden Bash Kommandos nachinstallieren?

Gibt es irgendwo eine veröffentlichung des Quellcodes der einzelnen Bash Kommandos zb C Code oder dergleichen? (Nur aus Interesse).

Würde mich über Antworten freuen danke :)

ThorstenHirsch
13.10.19, 23:17
Ja und ja. Das Paket mit shutdown heißt systemd-sysv (https://packages.debian.org/sid/systemd-sysv). Du kannst das auch selbst herausfinden:

dpkg-query -S /sbin/shutdown
Wenn Du den kompletten Pfad eines Kommandos nicht kennst (also wenn man nur nach "shutdown" sucht), findet dpkg-query sehr viel mehr, das ist dann nicht so klar. Das Kommando "killall" steckt jedenfalls im Paket "psmisc". Also installier mal die beiden Pakete, vielleicht löst das ja schon alle Probleme.

Und den Quellcode von shutdown müsstest Du irgendwo hier finden: https://github.com/systemd/systemd

towo2099
14.10.19, 12:41
Nuja, ich tippe ja eher darauf, dass der TE sich per
su statt mit
su - zu root macht.

Linux_C
14.10.19, 15:45
Hallo @ towo2099 was ist denn su - ??
Das "-" ist das neu, denn damit funktioniert der shutdown befehl bei mir auf einmal!

Kann mir das einer erklähren? :)

towo2099
14.10.19, 16:09
Nein, das "-" ist nicht neu, sondern Linux Standard, außer in Debian bisher.
Und was das genau macht, steht im Changelog sowie in der entspr. Manpage.

Linux_C
15.10.19, 09:57
Ok danke für die Info, das wusste ich noch nicht.
Nur wenn ich mich mit su anmelde und dann whoami anfrage sagt es mir root. Ebensolches bei su - .
Nur bei dem fehlenden '-' sind jene Programme nicht wirksam.
Wie bezeichnet man dann sowas? Root mit eingeschränkter Autorität vielleicht?^^
Und bei allen anderen Distros ist das mit dem - standart?
Warum hab ich davon vorher nie etwas mitbekommen?? Stand auch nicht in meinen Lernwerken.
Auch unter centos was ich auch mal genutzt hab war das nicht so, daher kannte ich das garnicht.

marce
15.10.19, 09:59
Nix mit "eingeschränkte Autorität" - der Trick liegt in ENV / set / $ENVIRONMENT.

Du hättest ja auch mal in die Doku schauen können:

For backward compatibility su defaults to not change the current directory and to only set the environment vari‐
ables HOME and SHELL (plus USER and LOGNAME if the target user is not root). It is recommended to always use the
--login option (instead it's shortcut -) to avoid side effects caused by mixing environments.

ThorstenHirsch
15.10.19, 17:45
Dann verstehe ich aber nicht, warum er killall nicht findet. Das ist schließlich nicht in /sbin, sondern in /usr/bin, also hätte es auch ohne "-" beim "su" funktionieren müssen, denn /usr/bin ist natürlich im PATH vom normalen user dabei.

marce
15.10.19, 18:17
evtl. was das wirklich nicht installiert - auf der bestehenden Faktenlage kann man eh nur vermuten, was da evtl. noch alles schief gelaufen sein könnte...

Linux_C
15.10.19, 21:59
nachdem ich es nachinstalliert habe funktioniert das killall auch prima.
:)
Und wieder was dazu gelernt.
Sollten noch weitere Pakete fehlen melde ich mich nochmal. Danke dafür :)

Nur noch eben die Frage:
Gibt es eventuell eine Übersichtsliste wo man schauen kann was alles vorhanden sein sollte bzw um zu sehen was fehlt?
Woher wisst ihr eigentlich so viele Details darüber? :)

marce
16.10.19, 05:58
Nur noch eben die Frage:
Gibt es eventuell eine Übersichtsliste wo man schauen kann was alles vorhanden sein sollte bzw um zu sehen was fehlt?
Das sieht jede Distribution und jeder User anders - und dann hängt es auch noch davon ab, was welche Variante man jeweils installiert (Minimal, Base-System, Base + GUI, ... - heißt auch überall anders)
Vorhanden sein sollte, was man braucht. Falls was fehlt - nachinstallieren. Ist ja kein Problem und "nervt" meist nur 1x.

Woher wisst ihr eigentlich so viele Details darüber? :)
Learning by doing, Praxis, jahrelange Erfahrung, Interesse, Eigeninitiaive, ... such's Dir aus.