Es gibt tatsächlich ein Paket namens debian-goodies, fange ich einfach mal damit an, obwohl es nicht wirklich ganz oben hingehört:

debian-goodies / needrestart

Nach diversen Upgrades läuft checkrestart auf einigen Servern nicht mehr sauber und liefert trotz Serverneustart falsche Ergebnisse.
Ein

apt install needrestart

bringt einen guten Ersatz auf den Server….

apt install debian-goodies installiert 8 kleine Programme:

Ich nutze eigentlich nur regelmässig
checkrestart
Nach einem Upgrade muss ein kompletter Reboot des Systems eigentlich nur zwingend erfolgen, wenn der Kernel ein Upgrade erhalten hat. Allerdings kann es nötig sein manche Prozesse neuzustarten, wenn sich die benutzten Dateien erneuert haben.
Diese Prozesse zeigt checkrestart an.
Sehr praktisch.

bash Grundlagen

gehören hier unbedingt nach ganz Oben, ist die bash doch unser Hauptwerkzeug. Über die bash kann man Bücher lesen, aber das wichtigste möchte ich hier kurz aufführen:

Die Datei .bashrc in /root haben wir schon kennengelernt, dort haben wir unsere Aliase eingetragen.
Diese Datei .bashrc kann jeder Nutzer in seinem /home Verzeichnis selber bearbeiten, und damit seine eigene bash gestalten.
Die dem übergeordnete Datei zur Grundkonfiguration der bash ist die Datei /etc/profile
Dort wird bestimmt, wie die bash aussieht, wenn keine .bashrc im Nutzerordner existiert.

Eine weitere Datei die das Verhalten der bash bestimmt ist /etc/bash.bashrc

Die bash Autovervollständigung ( bash_completition ) ist eine sehr hilfreiche Funktion, jeder kennt es vom Messenger auf dem Smartphone – die shell macht das schon deutlich länger… ich hatte schon mehrfach darauf hingewiesen.

Ein Tab-drück vervollständigt bis zur nächsten Möglichkeit, zwei Tab-drück zeigen die nächste Auswahl bis max 250 an.

weitere Funktionstasten sind die Pfeiltasten hoch/runter, sie „blättern“ in der history
control+a, control+e springt zum Zeilenanfang, -ende
alt oder option+pfeil re/links Wortweise.

history listet diese auf

Eigene Tastaturkürzel können ferner in der Datei .inputrc im eigenen Homeverzeichnis erstellt werden. Hier ist aber Obacht zu geben! Bereits vergebene Tastaturkürzel sollte man meiden…aber man kann so auch interaktive komplizierte Befehle schnell aufrufen.

Ein feines Beispiel dafür ist die bereits implementierte Tastaturkombi control+r für die rekursive Suche in der history. Sucht Euch den Befehl dazu mal raus, dann seht Ihr was ich meine…

Die bash kann Prozesse in den Hintergrund schicken.
Beispiel: Datei X wird gerade mit nano bearbeitet, aber man möchte mal kurz irgendwas nachsehen:
control+z
schickt nano nach hinten, man kann nachsehen,
fg
bringt nano wieder nach vorne.
Damit wird aber der Prozess auch angehalten. Soll, z.B. eine Suche mit find, oder ein Kopiervorgang im Hintergrund weiterlaufen, hilft der Befehl
control+z, dann
bg
Nun läuft der Prozess weiter. fg bringt auch ihn wieder nach vorne.
Was im Hintergrund läuft zeigt:
jobs

Kommandos können mit dem Semikolon, einem Doppelplus && oder einer Doppel Pipe || in einer Zeile hintereinander gehängt werden. Die bash arbeitet dann einen nach dem anderen ab. Dabei bewirkt das Semikolon ein bedingungsloses Abarbeiten der Befehle, && führt den zweiten Befehl nur aus, wenn der erste erfolgreich war und die || das Gegenteil, der zweite Befehl wird nur ausgeführt, wenn der erste fehlschlägt. Mehr Besonderheiten finden sich unter dem Suchbegriff „Bash Operatoren“.

Die bash ist ein Komanndozeileninterpreter, kann eigene Befehle verarbeiten und externe Programme aufrufen.
Shellscripte sind im Prinzip externe Programme.
Wir hatten das hier auch schon, z.B. bei swatch, und ich habe mal gelesen:
„wann immer ich etwas zum dritten Mal mache, automatisier ich es“; das fand ich irgendwie gut.

Ein Shellscript kann vom Einzeiler bis zum komplexen Programm alles mögliche sein, es kann nützlich sein und lästige Arbeit ersparen, es kann bösartig Systeme zerstören oder einfach nur lustige Sachen machen.

Wichtig ist hier:
Du kannst das auch und dazu sind reichlich Informationen im Netz vorhanden.
Ohne ein Verständnis der Funktionen der Sonderzeichen, Variablen und Ausdrücken, sind Scripte nicht zu verstehen. Man kann damit alles umsetzen, was normalerweise zu Fuss in der bash gemacht wird.
Manchmal kann es aber auch nicht schaden mal ein Buch zu kaufen und dort die Grundlagen von der Pike auf zu inhalieren.
Ich habe vor vielen Jahren mit Debian GNU/Linux angefangen und heute einige Bücher aus dieser Reihe im elekronischen Bücherregal, mit haufenweise Lesezeichen.
Das ist zwar ganz schön alt schon, aber die Grundlagen stimmen größtenteils immer noch.
Eine weitere wunderbare Seite, vor allem zum Thema Shell-scripting ist HIER zu finden.

sudo

Bei der Installation hatten wir die Frage nach sudo – es wird eingerichtet, wenn man root kein Passwort vergibt.
Ich hatte dort erwähnt, daß z.B. Ubuntu oder Raspian sudo per default aktiviert, und auch, daß ich dort schon Nutzerkonten mit sudo-Rechten gesehen habe, die wegen ihres schlechten Passwortes eine Unsicherheit darstellen.

Nun gibt es aber natürlich auch sehr gute Gründe für die Nutzung von sudo.

Eigentlich gilt die Regel für Netzwerkadministratoren:
Es kann mehr als einen geben, aber
nie weniger als zwei.

Im Heimnetz, und wohl auch in den meisten kleineren Büronetzen, wird diese Regel wohl von der Reallität rechts überholt, oft macht der Admin seine Arbeit neben seiner eigentlichen.
Was aber passiert, wenn dem Admin mal was passiert?
Zumindest sollte seine Arbeit dann gut dokumentiert sein und nebst allen Passwörtern im Tresor liegen.

Gibt es aber mehr als einen Administrator, dann macht sudo natürlich mehr als Sinn, jeder Admin hat seinen Account, mit eigener history und eigenen Einstellungen. Allerdings muss auch erwähnt werden, das man auch einen echten root Account mehrfach aufsetzen kann. Nicht jeder mag sudo.
Gibt man einem Account die UID 0, hat man einen zweiten root.
sudo lässt sich allerdings auch einschränken, der Mac Nutzer wird es bestimmt schonmal gemerkt haben; selbst der Administratoraccount darf mit sudo längst nicht alles.
root kann via sudo also auch Teilkompetenzen abtreten, ohne gleich die ganze Macht abzugeben.

top und htop

top zeigt die Systemauslastung und laufende Prozesse in Echtzeit an.
htop macht dasselbe, nur etwas bunter und mit Optionen, aufrufbar über die Funktionstasten F1-F10
htop muss nachinstalliert werden.

find, grep und locate

habe ich schon aufgezeigt, alle suchen, auch nach regulären Ausdrücken.
Während locate simpel und schnell auf eine eigene Datenbank, die es glaube ich einmal pro Tag erneuert, zugreift,
fängt find tatsächlich immer an zu suchen, kann dafür aber viel mehr!
Find und grep kann man z.B. auch beauftragen nach etwas in Dateien zu suchen.
Oder eben alles mögliche mit dem Gefundenen zu machen.

Dabei spielen die regulären Ausdrücke, regular expression, eine ganz wichtige Rolle.
Ein regulärer Ausdruck ist in seiner einfachsten Form eine Ansammlung von Zeichen, die genau so gesucht werden sollen. Das hatten wir schon.
shorewall sucht genau nach shorewall
Schon wenn ich alle Verzeichnisse suchen möchte, die „shorewall“ enthalten, muss ich den Suchbegriff ergänzen. Ein *shorewall* würde alles suchen, was shorewall enthält.
Das Thema ist sehr komplex.
Mit dem richtigen Ausdruck kann man so ziemlich alles erfassen was sich beschreiben lässt.

sed und awk

hatten wir auch schon, ersetzt Ausdrücke, kann aber auch Zeilenweise löschen wenn man mag. Im nächsten Kapitel kommt uns ein Script unter, wo genau das gewollt ist:

du df ncdu

du – diskusage und df – diskfree zeigen verschiedene Zustände an. Belegung des Speichers oder was ist Frei. Beides geht nur für eingehängte Datenträger.
df -h zeigt nicht nur was frei ist, sondern u.a. auch was alles eingehängt ist.

Das Programm ncdu muss nachinstalliert werden, es zeigt einem etwas komfortabler und ohne rumrechnen, wieviel Speicherplatz in einem Verzeichnis verbraucht wird.

ncdu /pfad

die /etc/fstab

ist der Ort wo dem Rechner beim Start angesagt wird, was wo und wie eingehängt werden soll.

Wen es gewundert hat wo unser Backupverzeichnis gelandet ist:

Soll es beim Start einghängt werden, muß das in der fstab stehen. Hab ich vergessen, oder? som!

Hier ein Blick in die /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/gw--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/gw--vg-boot /boot           ext2    defaults        0       2
/dev/mapper/gw--vg-var /var            ext4    defaults        0       2
/dev/mapper/gw--vg-swap none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

Ein CDrom Laufwerk würde eingehängt, sobald es verfügbar wäre, der Mount für /backup müsste eingetragen werden:

/dev/mapper/gw--vg-backup /backup  ext4    defaults        0       2

Wahrscheinlich fällt mir hier noch mehr ein, belassen wir es erstmal dabei.

next > Bind und die Nullzone