In diesem Artikel geht es um native Linux-Funktionen, die ohne externe Programme erreichbar sind. Es handelt sich um meist brachliegende, weil übersehene Angebote von System und Standardkomponenten. Der anschließende Beitrag bespricht Linux-Tools, die entweder an sich wenig bekannt sind oder Funktionen enthalten, die eine erhellende Aufklärung verdienen. Nach diesen tippähnlichen Sammlungen geht es ausführlich um die Themen der optimierten Windows-Virtualisierung, um die inoffizielle Ubuntu-Installation auf Raid und um Bootspezialitäten des Grub-Bootloaders.
Die Ramdisk als Wegwerfdepot
Eine Ramdisk ist unter Linux im Handumdrehen erstellt. Das Motiv für ein solches flüchtiges Datendepot wird heute aber nicht die Leistung und der schnellere Datenzugriff sein, sondern die Bequemlichkeit eines Zwischenspeichers, der sich beim Herunterfahren von selbst entsorgt. Idealerweise liegt dieser Speicher zentral, etwa im Home-Verzeichnis oder gleich am Desktop:
sudo mount -t tmpfs -o size=4000M ramdisk ~/Schreibtisch/Ramdisk
Dieser Befehl genügt, um im Ordner „Ramdisk“ (der existieren muss) Platz für maximal vier GB Daten zu schaffen. Der Wert sollte einer RAM-Kapazität angemessen sein, die ein Systemmonitor („Systemüberwachung“ oder ähnlich) üblicherweise als frei meldet.
Angenehm an dieser Methode mit dem Tmp-FS-Dateisystem ist die Tatsache, dass die angegebene Kapazität nicht statisch abgezweigt wird, sondern dynamisch je nach Bedarf bis zum angegebenen Maximum. Bleibt der Mountpunkt weitgehend ungenutzt, verbraucht die Ramdisk auch keinen Speicher. Das Mountverzeichnis ist ein ideales Zwischendepot für aktuell benötigte Dateien und als Downloadverzeichnis für den Browser. Bevor das System beendet oder die Ramdisk manuell mit
sudo umount ~/Schreibtisch/Ramdisk
abgeschaltet wird, sollten aber benötigte Dateien in Festplattenverzeichnisse verschoben werden. Der Inhalt der Ramdisk wird beim Herunterfahren stets komplett entsorgt.
Herunterfahren mit Zeitangabe
Allzu häufig ergibt sich die Situation, dass man das System beenden möchte, aber noch nicht beenden kann, weil noch ein Backup oder ein Download läuft. Da ist es gut zu wissen, dass das Shutdownkommando sowohl Uhrzeiten als auch Fristen versteht:
sudo shutdown -P 23:00
sudo shutdown -P 60
Der erste Befehl beendet das System um 23 Uhr, der zweite in 60 Minuten. Das sudo-Kennwort wird sofort abgefragt, sodass Sie anschließend den Rechner verlassen können.
Tipp: Kleines ABC der Linux-Systemwartung
Der OEM installer von Ubuntu

Alle Ubuntu-Varianten haben einen OEM-Installer an Bord, der nicht nur für Hardwarehändler eine interessante Option ist. Die OEM-Installation bietet sich auch für die Einrichtung eines Systems für Freunde oder Familienmitglieder an. Das künftige System lässt sich über das temporäre Konto „oem“ individuell konfigurieren. Der tatsächliche Nutzer entscheidet dann später unabhängig über sein eigenes Konto (Name, Kennwort).
Während Linux Mint beim Booten des Livesystems die Option „OEM install (for manufacturers)“ offensiv anbietet, muss man bei Ubuntu & Co. den Bootvorgang des Livesystems mit der Umschalt-Taste ausbremsen, um an diese Variante zu kommen. Dann erscheint ein Auswahl mit fünf Optionen und Taste F4 blendet unten rechts die zusätzliche Option „OEM Installation (für Hersteller)“ ein.
Der Ablauf unterscheidet sich zunächst kaum von einer normalen Installation. Ein wichtiger Unterschied ergibt sich erst beim Anlegen des Erstbenutzers („Wer sind Sie?). Dieser ist unveränderbar als „oem“ vorgegeben. Ein Passwort für dieses temporär gültige Konto muss aber vergeben werden. Der erste Start des so installierten Systems geht ohne Anmeldung zum Desktop. Nun kann das System mit dem temporären Konto „oem“ optimiert werden. Sinnvoll sind nur systemweite Aktionen (Softwareinstallationen, Netzwerkeinstellungen), benutzerspezifische Anpassungen hingegen nicht, weil das Konto „oem“ später automatisch gelöscht wird.
Nach der Optimierung kann der Desktoplink „Vorbereitung zur Auslieferung an den Anwender“ geklickt und der Rechner dem Endbenutzer übergeben werden. Der wird nochmal nach einigen Einstellungen befragt (Sprache, Tastatur) und darf sein Erstbenutzerkonto anlegen.
Maßnahme gegen Desktophänger
Die Reparaturmethoden der diversen Linux-Desktops bei hängender Oberfläche sind nicht einheitlich. Die Hotkeys Strg-Alt-Esc und Strg-Alt-Rücktaste sind relativ verbreitet, aber keineswegs zuverlässig und überall implementiert. Folgender Trick sollte auf den allermeisten Distributionen funktionieren, indem er den Displaymanager neu startet. Der jeweils verwendete Displaymanager lässt sich wiederum vorher aus einer Konfigurationsdatei ermitteln:
dm=$(basename "$(cat /etc/X11/default-display-manager)")
service $dm restart
Zum Beenden des Dienstes („service“) ist die Eingabe des sudo-Kennworts erforderlich. Nach dieser Aktion erscheint der Anmeldebildschirm für eine neue Desktopsitzung. Die Methode funktioniert natürlich auch in einer virtuellen Konsole (Strg-Alt-F1), falls die grafische Oberfläche überhaupt nicht mehr reagiert.
HTTP-Server mit Python

Jedes Linux-System verfügt über eine eingebaute Möglichkeit, genau einen Ordner samt Unterverzeichnisse anderen Netzteilnehmern per Browser lesend zugänglich zu machen. Der standardmäßig vorhandene Script-Interpreter Python enthält nämlich einen Webserver, der mit einem einzigen Terminalbefehl das aktuelle Verzeichnis per HTTP freigibt:
python -m SimpleHTTPServer 4444
Die Schreibung ist wichtig, hingegen kann der Port (hier „4444“) beliebig gewählt werden. Jeder Browser im lokalen Netz kommt nun mit der Adresseingabe
192.168.178.12:4444
an diese Freigabe. Kenntnis der IP-Adresse (im Beispiel 192.168.178.12) und des Ports (im Beispiel „4444“) sind natürlich vorauszusetzen. Solange der Mini-Webserver läuft, können alle Dateien des freigegebenen Verzeichnisses gelesen oder heruntergeladen werden. Wird der Python-Befehl im Wurzelverzeichnis ausgelöst, steht das komplette Dateisystem zur Verfügung. Wenn ein Verzeichnis eine Datei „index.html“ enthält, wird diese Datei anstatt der Dateiliste angezeigt. Der Mini-Webserver lässt sich auf dem „Server“ mit Strg-C jederzeit wieder beenden.
Siehe auch: Clevere Terminal- und Bash-Tricks für Linux
Windows-PCs mit Linux herunterfahren
Linux-Maschinen lassen sich sowohl mit Linux-wie mit Windows-Rechnern leicht steuern, wenn dort ein SSH-Server, hier ein SSH-Client läuft. Aber auch Windows-Rechner können sowohl mit Windows als auch mit Linux über das Netzwerk abgeschaltet werden. Dazu sind allerdings auf dem Windows-System zwei, auf dem Linux-System eine Voraussetzung zu erfüllen:
1. Unter Windows muss in der Dienstekonsole (services.msc) der Dienst „Remoteregistrierung“ („Remote Registry“) den Starttyp „Automatisch“ erhalten und gestartet werden.
2. In der Windows-Firewall („Systemsteuerung –› Windows Defender Firewall“) muss unter „Zugelassene Apps und Features“ die „Windows-Verwaltungsinstrumentation“ (WMI) erlaubt werden. Beides ist nicht Windows-Standard.
3. Um den so präparierten Rechner unter Linux zu beenden, muss das Paket „samba-common“ installiert sein, was aber bei allen typischen Desktopsystemen standardmäßig der Fall ist.
Sind alle Voraussetzungen erfüllt, dann kann der Befehl
net rpc shutdown -I [ip.address] -U [adminuser]%[password]
den entfernten Windows-Rechner herunterfahren. Man muss also die lokale IP des Windows-Rechners kennen, ferner ein Konto mit Administratorrechten und dessen Kennwort.
Cron-Geheimnisse: Programme zum Systemstart
Es gibt unter Linux einfache Aufgaben, deren Lösung aufgrund der Unterschiede zwischen den Linux-Distributionen trotzdem heikel wird. Dazu gehört der Start eigener Programme oder Scripts beim Systemstart. Eine unkomplizierte Methode, Tasks automatisch beim Start auszuführen, liefert der Taskplaner Cron. Dieser unterstützt neben den sonstigen exakten Zeitangaben das simple Schlüsselwort „@reboot“, das den Systemstart als Zeitpunkt festlegt. Mit
sudo crontab -e
bearbeiten Sie Cron-Einträge für das root-Konto. Im aufgerufenen Editor definieren Sie mit „@reboot“ am Zeilenbeginn
@reboot [/Pfad/Script]
und dem nachfolgenden Bash-Befehl oder Pfad zum Script einen Autostart-Task.
Tipp: Linux läuft nicht? So lösen Sie jedes Treiber-Problem
Mount „bind“: Integration von Datenpartitionen
Eine interessante Verlinkungsoption für beliebige lokale Ordner, Partitionen oder Laufwerke bietet der Mount-Befehl mit „bind“:
sudo mount --bind /media/ha/Daten ~/Schreibtisch/Daten
Diese zweite Repräsentation des unter „/media“ eingebundenen Datenlaufwerks in einem Home-Verzeichnis (hier am Desktop) unterscheidet sich wesentlich von einem normalen Softlink. Alle rekursiven Shell-Befehle (Auflisten, Löschen, Kopieren etc.) am „Schreibtisch“ oder im Home-Verzeichnis berücksichtigen alle Dateiobjekte mit, die sich im Quellordner „/media/ha/Daten“ befinden. Der Befehl
find ~ -iname "*.iso“
liefert daher auch alle ISO-Dateien aus „/media/ha/Daten“ zurück.
Hinweis 1: Für moderne Dateimanager ist diese Linkmethode nicht relevant, da diese bei der Dateisuche auch die Quelldaten von einfachen Softlinks berücksichtigen.
Hinweis 2: Die Bind-Methode ist eine unkomplizierte Option, um einen normalerweise unter „/media“ oder „/mnt“ eingehängten Datenträger spontan dem Home-Verzeichnis hinzuzufügen – für Such-, Lösch-oder Kopieraktionen. Wenn das Medium dauerhaft zum Home gehören soll, hängen Sie es besser über die Datei „/etc/fstab“ permanent unter „/home“ oder am Desktop ein.
Systemordner im Dateimanager ausblenden

Das „Verstecken“ von Dateiobjekten dient nur der Kosmetik. Nach Strg-H oder Strg-. (Punkt) zeigen Dateimanager alles und die meisten Terminaltools haben Parameter, um versteckte Objekte ein-oder auszublenden. Im Benutzeralltag ist solche Kosmetik aber durchaus willkommen und fördert die Übersicht. Der vom Dateisystem vorgesehene Weg, Dateiobjekte mit führendem Punkt im Namen zu verstecken („.config“), ist aber nicht überall realisierbar. Wer etwa im Wurzelverzeichnis standardmäßig nur relevante Ordner wie „etc“, „home“, „media“, „run“, „var“, „user“ sehen will, kann Dateiobjekte wie „sys“, „tmp“ oder „vmlinuz“ nicht einfach mit führendem Punkt umbenennen.
Aber es gibt eine zweite Methode: Eine Datei „.hidden“ im betreffenden Ordner kann alle Namen aufnehmen, die ausgeblendet werden sollen. Wer das Meiste ausblenden will, schreibt mit
ls -A1 > .hidden
zunächst alle Dateinamen in die Datei „.hidden“ und löscht mit einem Editor alle Einträge, die angezeigt werden sollen. Je nach Verzeichnis muss beides mit root-Recht geschehen. Diese Hygienemaßnahme wirkt nur in grafischen Dateimanagern.
Grafisches Terminal: Markier-und Kopierfunktionen

Die üblichen Hotkeys Strg-C und Strg-V wollen im Terminal aus historischen Gründen nicht funktionieren (Strg-C ist das historische Abbruchkommando). Aber es gibt reichlich Kompensation durch andere Tastenkombinationen und Mausaktionen:
• Verwenden Sie Strg-Umschalt-C und Strg-Umschalt-V, um Text in die oder aus der Zwischenablage zu schreiben.
• Die mittlere Maustaste kopiert einen vorher markierten Text auf den Terminalprompt – allerdings nicht in die Zwischenablage.
• Gedrückte Strg-Taste und Markieren mit der Maus ermöglicht eine Spaltenauswahl in der Terminalausgabe, etwa wenn Sie nachls -laF nur die Dateinamen kopieren möchten. Diese Methode funktioniert auch in vielen Terminaltools wie nano, ncdu oder top.
Immutable-Bit: Schutz für Dateien und Ordner
Wer als root im Dateisystem unterwegs ist, muss mit Löschaktionen besonders vorsichtig sein. Es gibt allerdings auf Linux-Dateisystemen das zusätzliche Immutable-Attribut, das Dateien und Verzeichnisse unveränderbar macht – auch für root. Um eine Datei namens „config.php“ für alle Benutzer unlöschbar und unbeschreibbar zu machen, genügt dieser Befehl:
sudo chattr +i config.php
Auch root darf diese Datei nicht mehr ändern, solange das Bit nicht wieder zurückgesetzt wird:
sudo chattr -i config.php
Nützlich ist dieses Attribut nicht nur als Schutz vor eigenen Fehlern, sondern auch vor Systemprozessen, die mit root-Recht laufen.
Sudo: Passworteingabe sichtbar

Standardmäßig schreibt man das sudo-Kennwort ohne jede Rückmeldung in die Kennwortabfrage – eine auf Desktopsystemen eher paranoide Sicherheitseinstellung, um die Passwortlänge zu verbergen. Linux Mint verzichtet mittlerweile auf diese Einstellung. Auf jedem anderen Linux ist es ebenfalls möglich, sich die bereits getippten Buchstaben mit dem Stellvertreter „*“ anzeigen zu lassen. Der Aufruf
sudo visudo
öffnet die Datei „/etc/sudoers“ im voreingestellten Editor. Unter
Defaults env_reset
fügen Sie die zusätzliche Zeile
Defaults pwfeedback
ein. Nach dem Speichern (Strg-O) und Beenden des Editors (Strg-X) zeigt die sudo-Abfrage ein Sternchen pro eingegebenem Zeichen an.
USB-Datenträger mit Luks-Verschlüsselung

Mit Luks-Verschlüsselung (Linux Unified Key Setup) assoziiert man gewöhnlich eine Installeroption, die das System durch Datenträgerverschlüsselung schützt – insbesondere auf Notebooks. Luks kann aber auch jeden einfachen Daten-USB-Stick schützen. Mit dem Standardtool Gnome-Disks („Laufwerke“) ist das besonders einfach (ähnlich „KDE Partition Manager“ unter KDE): Sie schließen den USB-Stick an, hängen das Laufwerk in Gnome-Disks aus und löschen eventuell bestehende Partitionen. Mit dem Zahnradsymbol und „Partition formatieren“ wählen Sie als „Typ“ den Eintrag „Interne Disk…“ und „Passwortgeschützter Datenträger (LUKS)“. Nach Kennwortvergabe und Formatieren ist der Stick präpariert. Bei späterer Verwendung verlangen Linux-Dateimanager automatisch das Kennwort und mounten den Datenräger nur bei korrekter Eingabe. Unter Windows sind Luks-Medien nicht lesbar.