30 Jahre Linux – 30-mal Linux-Power: Diese Sammlung stellt besonders mächtige Befehle, Tools und Eigenschaften eng am Markenkern des Linux-Betriebssystems vor. Feuilleton wird das nicht: Dafür sorgen knappe, aber praxistaugliche technische Erklärungen.
Linux ist quelloffen, lizenzfrei, kostenlos und hat dadurch in zahlreichen Varianten den Weg auf alle Hardwareplattformen gefunden. Davon profitieren unzählige Geräte wie Smartphones, Router, Webserver, Platinenrechner sowie ältere Hardware, die von kommerziellen Betriebssystemen nicht mehr unterstützt wird. Das ist der marktwirtschaftliche Urgrund der „Linux-Power“ und sollte in einem gleichnamigen Artikel nicht ganz unter den Tisch fallen. Dass die LinuxWelt das Thema hier aber praktisch und technisch angeht, wird den Leser nicht überraschen: Hier folgen mächtige Eigenschaften, die Sie im Linux-Alltag aktiv umsetzen können.
1. Ein Befehl installiert alles (apt, Pacman, Yum)
Eine Trivialität? Für Windows-Umsteiger sicher nicht, die beim Softwarebezug oft ewig die Windows-Brille aufbehalten: Nichts ist nämlich einfacher (und obendrein sicher), als unter Linux nach einer Neuinstallation alle nötigen Programme zu installieren – jedenfalls alles, was in den Standard-Paketquellen erreichbar ist. Anders als Windows besitzt jede Linux-Distribution ihr zentrales Software-Repository. Ein einziger Befehl wie
sudo apt install htop filezilla kodi openssh-server plank veracrypt vlc mc inxi […]
holt eine beliebige Anzahl gewünschter Programme aus den Standardquellen auf das System. Ob der Terminal-Paketmanager apt (DEB von Debian/Ubuntu u. a.) heißt, Yum (RPM von Fedora/Open Suse u. a.: yum update) oder Pacman (Arch-Pakete von Manjaro/Endeavour u. a.: pacman -S [Paket]), spielt für das Prinzip der zentralen Paketquellen keine Rolle, wenngleich sich die Syntax unterscheiden mag. Theoretisch genügt daher nach einer Neuinstallation ein Kommando, um das System vollständig mit Software auszustatten.
Hinweis: Kleine Hilfstools wie Mintbackup (Linux Mint) können die „Programmauswahl“ speichern und bei Bedarf erneut installieren. Das ist technisch denkbar einfach, weil die Liste nur die Paketnamen enthalten muss, die dann per apt wieder abgeholt werden.

2. Ein Befehl aktualisiert alles (apt, Pacman, Yum)
Wer unter Windows nicht nur System und Office nutzt, sondern zahlreiche Programme aus unterschiedlichen Quellen, hat ordentlich zu tun, diese Software aktuell zu halten. Auch hier profitiert Linux von seinen zentralen Repositorys. Je nach Distribution genügt in Debian/Ubuntu & Co.
sudo apt update && apt upgrade
und in RPM-Distributionen wie Fedora oder Cent-OS
sudo yum check-update && sudo yum update
und ferner in Open Suse
sudo zypper update
und schließlich auf Arch-Systemen:
sudo pacman -Syu
Die Befehle umfassen auch externe Software wie etwa aus PPAs (Ubuntu & Co.), die in die Paketquellen aufgenommen wurden.
Die grafische Aktualisierungsverwaltung einiger Desktopsysteme wie Ubuntu oder Linux Mint geht sogar noch einen Schritt weiter, indem sie auch gleich noch die Updates für Containersoftware übernimmt (Flatpaks in Linux Mint, Snaps in Ubuntu). Ist hier die automatische Aktualisierung aktiviert, muss sich der Nutzer über dieses Thema keine Gedanken mehr machen.
3. Softwareinventur im Terminal (apt und dpkg)
Ein schneller Überblick über die installierte Software und die möglichst einfache Deinstallation überflüssiger Software ist für jeden Systembenutzer wichtig. Da Linux mehrere Alternativen anbietet, sollte man die besten und einfachsten Methoden kennen:
Das grafische Zentrum „Gnome-Software“ unter Ubuntu kann alle installierten Programme bündeln (Register „Installiert“), was relativ bequemes Ausmisten ermöglicht. Unter Mints „Anwendungsverwaltung“ muss man die Kategorien durchklicken und erkennt installierte Programme am grünen Symbol. Die Option „Installierte Anwendungen anzeigen“ listet aber nur manuell nachgerüstete Programme auf und auch nur solche, die im grafischen Werkzeug installiert wurden.
Im Terminal gibt es summarische wie detaillierte Methoden. Die installierten, aber weniger zentralen Snap- oder Flatpak-Pakete zeigen diese Befehle:
snap list
flatpak list
Wichtiger sind für Debian/Ubuntu/Mint (auf die wir uns hier aus Platzgründen beschränken) die mit apt installierten Programme und Systemkomponenten:
apt list –-installed
Der Befehl zeigt alle Pakete des Linux-Systems. Wer stattdessen nur die manuell nachinstallierten sehen will, nimmt einfach einen Grep-Filter, um die Standardpakete auszublenden:
apt list --installed | grep -v "automatisch"
Dieser einfache Befehl genügt in der Regel als Vorrecherche für „apt remove…“. Eine weitere Alternative ist noch das menügeführte Terminalprogramm Aptitude, das oft vorinstalliert ist. Es leistet eine hervorragende Übersicht – wahlweise kategorisiert oder schlicht alphabetisch. Aptitude beherrscht auch alle Aktionen der (De-)Installation und Aktualisierung.
Exkurs: Das apt zugrundeliegende Basisprogramm dpkg bietet nach dpkg - -list eine sehr detaillierte, aber auch unübersichtlichere Softwareliste. dpkg ist nicht der ideale Kandidat für einfache Übersicht und Deinstallationsvorbereitungen, sondern eher für genauere Paketrecherchen. Wer etwa alle Komponenten von Firefox oder Systemd ermitteln will, erhält nach dem folgenden Befehl
dpkg --listfiles firefox
die gewünschte Antwort.

4. Offline-Installationspakete erstellen
Das Tool dpkg-repack kann installierte Software in DEB-Pakete zurückpacken, die sich dann wiederum per Doppelklick oder mit
dpkg -i [Paketname]
auf anderen Linux-Systemen installieren lassen. Auf diese Weise ist es möglich, sich eine unabhängige Offline-Installationsquelle einzurichten, um damit mehrere Rechner zu versorgen. Außerdem werden dabei auch gleich angepasste Konfigurationseinstellungen in das Paket übernommen. Das Tool dpkg-repack ist nicht Standard, aber mit
sudo apt install dpkg-repack
für alle Debian/Ubuntu-Distributionen erreichbar. Im Prinzip genügt dann der Befehl (Beispiel)
sudo dpkg-repack filezilla
zum Packen des DEB-Pakets in das aktuelle Verzeichnis.
So ganz trivial ist diese Methode aber nicht, weil dabei nur das einzelne Paket ohne seine Abhängigkeiten geschnürt wird. Wer eine komplette Software mit allen Abhängigkeiten offline bereitstellen will, muss also zunächst mit (Beispiel)
apt depends filezilla
alle abhängigen Pakete ermitteln und diese ebenfalls mit dpkg-repack verarbeiten. Der Befehl übernimmt beliebig viele Pakete und kann daher in einer Zeile wie
sudo dpkg-repack filezilla filezilla-common libc6 libdbus-1-3 libfilezilla0 […]
die ganze Liste abarbeiten. Um Paketkonflikte zu vermeiden, empfehlen wir diese Methode nur für ein homogenes Systemumfeld mit identischer Distribution und identischer Version.
5. Hotkeys für das Terminal
Das kann kein anderer Prompt: In der Bash-Shell sind Tastenkombinationen frei definierbar. Dafür zuständig ist der bind-Befehl. Bind-Befehle können Sie zunächst interaktiv im Terminal ausprobieren und dauerhaft in die Datei „~/.bashrc“ eintragen. Folgender Befehl
bind '"\ef":"ls -lA --group-directories-first\n"'
definiert für den Hotkey Alt-F („\e“ steht für Alt-Taste) einen ls-Befehl, der durch abschließendes „\n“ (Code für die Eingabetaste) direkt ausgeführt wird. Keybindings können aber nach einem Hotkey auch einfach nur Text auf den Prompt schreiben (hier nach Alt-I):
bind '"\ei":"sudo apt install "'
Das ist praktisch, um bei oft genutzten Befehlen nur noch einen Bruchteil ergänzen zu müssen. Ein typischer Kandidat für solche Schreibhilfe ist angehängtes „& disown“ (hier mit Hotkey Alt-D), um das Terminal beim Aufruf eines Befehls weiternutzen zu können:
bind '"\ed":"& disown"'
Neben beliebig definierbaren Terminalkommandos gibt es auch interne Funktionen der Bash-Befehlszeile, die Sie mit bind -l abfragen können. Auch hier gibt es einen Favoriten, nämlich „kill-whole-line“, der etwa nach
bind '"\el":kill-whole-line'
nach Alt-L die komplette Zeile vom Prompt löscht und damit die Hotkeys Strg-K und Strg-U ergänzt, die nur vor oder nach der Cursorposition löschen. Hotkeys mit der Strg-Taste müssen Sie mit „\C-“ codieren:
bind '"\C-L":kill-whole-line'
Das entspricht dem obigen Beispiel, jetzt aber mit dem Hotkey Strg-L.

6. Schnellnavigation im Terminal
Die Variable CDPATH ermöglicht im Terminal den schnellen Wechsel in häufig benötigte Verzeichnisse. Die Variable kann mehrere Ordnerpfade speichern. Danach können Sie überall mit „cd [Verzeichnis]“ in ein Unterverzeichnis eines der gespeicherten Verzeichnisse springen.
Ein einfaches Beispiel: Globale Konfigurationsdateien unter „/etc/“ muss man häufiger aufsuchen. Wenn Sie „/etc/“ mit
CDPATH='.:~:/etc/'
in den CDPATH eintragen, können Sie von beliebiger Stelle mit „cd ssh“ und „cd samba“ direkt in die Verzeichnisse unterhalb
„/etc/“ wechseln, so als ob diese Unterverzeichnisse am aktuellen Ort wären. Die Variable lässt sich durch eine beliebige Anzahl weiterer Verzeichnisse erweitern – jeweils durch Doppelpunkt getrennt:
CDPATH='.:~:/etc/:/srv/Archiv/:/srv/Data/'
Hier besteht der „CDPATH“ aus dem aktuellen Verzeichnis („.“), dem Home-Verzeichnis („~“), dem Verzeichnis „/etc/“ und zwei Ordnern mit Benutzerdaten. Es empfiehlt sich, immer „.“ voranzustellen, damit das aktuelle Verzeichnis die höchste Priorität behält. Damit der „CDPATH“ dauerhaft gilt, muss er in die Datei „~/.bashrc“ eingetragen werden.

7. Hardware- und Systeminfos (inxi)
Das Terminaltool inxi ist unter Linux die beste und schnellste Info-Perle für System, Hardware, Laufwerke, Netzwerkeigenschaften. Das Tool ist unter Ubuntu/Mint über die Paketquellen
sudo apt install inxi
erreichbar, etwas aktueller über diesen Weg:
wget http://smxi.org/inxi --no-check-certificate
Im zweiten Fall muss inxi manuell nach
„/usr/bin“ kopiert und mit
chmod +x /usr/bin/inxi
ausführbar geschaltet werden. inxi wird auf jedem System das Wichtigste anzeigen, ist aber umso vollständiger, wenn alle von ihm genutzten Tools vorliegen. Der Befehl
inxi --recommends
kann über Fehlendes informieren. Mit den hundert inxi-Schaltern wird sich niemand tiefer beschäftigen wollen. Im Allgemeinen genügen die Verbose-Level 0 bis 8. So wirft etwa der Befehl
inxi -v8
alle wesentlichen Infos aus. „-v8“ steht für maximale Gesprächigkeit.

8. Tasks in allen Details (Htop)
Überall dort, wo nicht oder nicht immer (beim SSH-Fernzugriff) eine Systemüberwachung wie Gnome-System-Monitor bereitsteht, ist das Tool Htop allererste Wahl. Der in allen Paketquellen erhältliche Taskmanager ist etwa unter Debian/Ubuntu-basierten System mit
sudo apt install htop
sofort installiert und macht andere Tools (Top, Iotop, Dstat, Bashtop. Bpytop) weitgehend überflüssig. Htop zeigt beliebig detaillierte Infos zu allen laufenden Prozessen und erlaubt den gezielten Abschuss einzelner Tasks, die aus dem Ruder laufen. Zudem lässt sich die Prozesspriorität steuern. Es lohnt sich, das Tool über „F2 Setup“ sorgfältig einzurichten: „Meters“ betrifft den Kopfbereich mit den Basisinformationen in zwei Spalten. Hier sollten CPU-Auslastung, Speicher, Uptime und ähnlich grundlegende Angaben organisiert werden. Die verfügbaren Infos unter „Available meters“ können mit den angezeigten Funktionstasten in die rechte oder linke Spalte integriert werden.
„Columns“ betrifft die eigentliche Taskanzeige. Hier sind annähernd 70 Detailinfos pro Prozess möglich, fünf bis acht (unter anderem „Percent_CPU“, „Percent_MEM“, „Command“) sind ausreichend und noch übersichtlich. Wer die Prozesspriorität mit den Tasten F7 und F8 steuern will, benötigt den „Nice“-Wert zur optischen Kontrolle der Änderung.
Je nach Bedarf können Sie die Taskliste jederzeit mit Taste F6 („SortBy“) nach anderen Kriterien sortieren – nach CPU-Anteil, Speicher oder Festplattenzugriffen. Zum Eingrenzen auf bestimmte Pfade oder Prozessnamen gibt es den Textfilter mit Taste F4.

9. Textsuche im Terminal (Grep)
Das Standardtool Grep wird oft nur als Filter für den Inhalt einer Datei genutzt (Beispiel):
cat /var/log/auth.log | grep failed
Grep leistet aber eine Inhaltssuche nach Text in ganzen Verzeichnisbäumen. Angenommen, Sie haben Adress- oder Kontaktdaten in verstreuten Dateien im Home-Verzeichnis und suchen einen Namen. Nach der Navigation nach „Home“ (cd ~) geben Sie ohne Datei- oder Pfadangabe diesen einfachen Befehl ein
grep -ir heisenberg
oder auch
grep -ir "werner heisenberg"
für den Fall, dass der Suchstring Leerzeichen enthält. Das geht erstaunlich fix und bei puren Textdateien mit optimal lesbarem Output. Neben zahlreichen weiteren Grep-Schaltern sind „-i“ zum Ignorieren von Groß- und Kleinschreibung und „-r“ für rekursive Reichweite die wichtigsten.
10. Dateisuche im Terminal (locate)
Eine schnelle Dateisuche im Terminal ist auf SSH-administrierten Servern unerlässlich, aber auch auf dem Desktop willkommen. Tool der Wahl ist aufgrund seiner Geschwindigkeit locate, das etwa auf Debian/Ubuntu-Systemen mit
sudo apt install mlocate
schnell nachgerüstet, meist aber schon vorinstalliert ist. Das Paket enthält neben dem Suchkommando locate auch das Indexierungstool updatedb. Damit die Dateiliste aktuell ist, sollte je nach Rechnernutzung täglich oder auch häufiger der Befehl
sudo updatedb
ausgeführt werden. Das ist ganz klar ein Fall für die Crontab des root-Kontos (crontab -e -u root):
0 */4 * * * /usr/bin/updatedb
Mehr Wartung ist nicht nötig. locate sucht nur nach Dateinamen, aber ein Befehl wie
locate -A -i heisenberg einstein
liefert sofort alle passenden Dateien mit komplettem Pfad – auch bei sehr großen Datenbeständen. Die lästige Eingabe der fast immer sinnvollen Parameter „-A“ (alle Wörter müssen im Dateinamen vorkommen) und „-i“ (Groß/Kleinschreibung ignorieren) kann ein Alias wie
alias loc='locate -A -i'
verkürzen. locate nutzt allerdings Vorgaben, die man kennen muss. Es indexiert zum Beispiel standardmäßig keine USB-Laufwerke. Dies lässt sich in der Konfigurationsdatei „/etc/updatedb.conf“ beheben und dort in der Zeile „PRUNEFS=…“. Dort finden Sie den Eintrag „usbfs“, den Sie einfach löschen und danach mit sudo updatedb erneut starten. Auch die Pfadangabe „/media“ in der weiteren Zeile „PRUNEPATHS=“ ist eventuell kontraproduktiv, sofern dieser Pfad durchsucht werden soll.

11. Find für Spezialsuche
Das Kommandozeilenwerkzeug find aus dem findutils-Projekt ist Standard auf jedem Linux-System. Es sucht direkt im Dateisystem und ist dabei erstaunlich fix. Dennoch ist für die Dateisuche nach bloßen Namen das indexbasierte locate schneller und besser. Seinen unbestrittenen Platz hat find aber als Spezialfilter für besondere Aufgaben:
1. Zeitangaben: Der folgende Befehl
find $HOME -mtime -3
listet alle Dateien im Home-Verzeichnis, die in den letzten drei Tagen entstanden sind oder bearbeitet wurden („mtime“ ist „modification time“). Die mit „-mtime“ oder „-ctime“ („creation time“) ermittelten Zeitattribute erfordern in der Regel ein Minuszeichen (kleiner als) oder Pluszeichen (größer als), da find sonst nur genau die Dateien liefert, die zufällig exakt der Zeitangabe entsprechen.
find $HOME -mtime +8000
Dieser Befehl recherchiert Dateien, die älter als 8000 Tage sind (also über 20 Jahre alt). Die Parameter lassen sich durch Kombination zu sehr genauen Filtern ausbauen:
find $HOME -mtime -180 -mtime +90 -iname *.odt
Dies liefert alle Writer-Texte, die jünger als 180, aber älter als 90 Tage sind. Eine kleine Bash-Funktion für die Datei „~/.bashrc“, die Ihnen die Eingabe solcher Zeitfilter vereinfacht, zeigt die Abbildung auf dieser Seite. Die Bash-Funktion ist auch unter https://paste.ubuntu.com/p/6pnbbm2DYB/ zu erreichen.
2. Größenangaben: Um Dateien bestimmter Größe zu suchen, gibt es den find-Schalter „-size“:
find $HOME -size +6G
Dies liefert alle Dateien, die größer sind als sechs GB. Die Vorzeichen Plus und Minus sind aus demselben Grund wie oben bei den Zeitangaben notwendig. Eine Kombination wie
find . -size +800M -size -2G
liefert alle Dateien mit einer Größe zwischen 800 MB und zwei GB. Auch dazu zeigt die Abbildung eine kleine Bash-Funktion, die ausgehend vom aktuellen Verzeichnis ihre Suche beginnt. Die Bash-Funktion ist auch unter https://paste.ubuntu.com/p/6pnbbm2DYB/ zu erreichen.

12. Find und Dateimassenverarbeitung
Das Standardtool find findet nicht nur Dateien, sondern besitzt auch Werkzeuge zur direkten Weiterleitung für deren Massenbearbeitung. Die folgenden Beispiele gehen der Kürze halber immer davon aus, dass man sich im passenden Verzeichnis befindet und daher der Punkt („.“) als Pfadangabe genügt. Folgendes Löschkommando, für welches find das eigene „-delete“ mitbringt, entsorgt in allen Unterverzeichnissen alle Dateien mit der Endung „.png“:
find . -type f -iname "*.png" -delete
Für andere Aktionen hält find den Schalter „-exec“ bereit, um gefundene Dateien an jeden beliebigen Terminalbefehl weiterzugeben. Typisch ist folgende Massenänderung von Dateirechten:
sudo find . -type d -exec chmod 775 {} +
sudo find . -type f -exec chmod 664 {} +
Ein hübsches weiteres Find-Beispiel hat den Verfasser veranlasst, ein bisher genutztes 80-zeiliges VB-Script (Windows) über Bord zu werfen, da offensichtlich ein Bash-Einzeiler (!) denselben Job erledigt. Hier geht es um eine Massenkonvertierung mit Libre Office in Zusammenarbeit mit find (alle Word-Dateien „.docx“ zu „.txt“ im aktuellen Ordner einschließlich aller Unterordner):
find . -type f -iname "*.docx" -execdir libreoffice --convert-to txt '{}' +
Der entscheidende Unterschied von „-execdir“ gegenüber „-exec“: Hier findet die Aktion immer im jeweiligen Verzeichnis statt, die Ergebnisdatei landet hier also im Verzeichnis der Originaldatei. Mit „-exec“ landen alle konvertierten Dateien im Verzeichnis, wo der Befehl gestartet wurde. Es hängt von der Aufgabe ab, welche Exec-Methode die geeignetere ist.
13. Datenbackups mit Rsync
Rsync ist ein geniales Backupprogramm und auch dem mächtigen Windows-Tool Robocopy um Längen überlegen. Die passende Schalterkombination muss man sich in der ausufernden Manpage erst erarbeiten, kann aber davon ausgehen, dass es keinen Backup- oder Synchronisierungsjob gibt, den Rsync nicht beherrscht. Der Sammelschalter „-a“ fasst häufig benötigte Funktionen zusammen und erledigt schon mal rekursives Kopieren aller Unterverzeichnisse:
rsync -a /home/ha/ /media/ha/usb/backup
Das erste – nach den Schalteroptionen – angegebene Verzeichnis ist der Quellordner. Beachten Sie unbedingt den abschließenden Slash (/). Das Ziel steht am Ende und ist in diesem Beispiel ein USB-Laufwerk unter „/media“. Das angegebene Verzeichnis („backup“) wird automatisch erstellt, sofern es noch nicht existiert.
Von weiteren Rsync-Schaltern sind mindestens drei unentbehrlich: Mit
rsync -auvP --delete /home/ha/ /media/ha/usb/backup
erzeugen Sie bei periodischer Sicherung eine Mirror-Kopie. Was auf der Quelle seit dem letzten Kopiervorgang gelöscht wurde, wird dann auch auf dem Ziel gelöscht („–delete“). Ein Testlauf mit „–dry-run“
rsync -auvP --delete –dry-run /home/ha/ /media/ha/usb/backup
zeigt alle zu erwartenden Aktionen, ohne sie tatsächlich auszuführen. Schalter „-u“ spart Zeit bei periodischen Sicherungen, weil er bereits bestehende Dateien überspringt. „-v“ und „-P“ machen den Vorgang gesprächiger.
Ein weiteres Highlight von Rsync ist seine Kombinierbarkeit mit SSH (hier ein Beispiel, das bereits als kurzes Alias dauerhaft in der Datei „.bashrc“ definiert ist):
alias syncarchiv='rsync -auvP --delete -e "ssh -p 22" /srv/archiv/ root@192.168.178.10:/srv/Renkforce/Archiv'
Die Mirror-Sicherung erfolgt auf den Rechner mit der IP 192.168.178.10 via SSH-Anmeldung als root. Wer sich dabei die Kennworteingabe zur SSH-Anmeldung sparen will, kann eine Schlüsselanmeldung einrichten (siehe Punkt 14). Die Portangabe „-p 22“ ist eigentlich unnötig, da es sich um den Standardport handelt, soll aber zeigen, dass bei Bedarf auch abweichende Ports definiert werden können.

14. SSH für Wartung und Datenaustausch
SSH (Secure Shell) ist ein umfassendes, verschlüsseltes Netzwerkprotokoll und ein Markenzeichen von Linux und Unix. Einen SSH-Client für den Fernzugriff hat jedes Linux und auch Mac-OS standardmäßig an Bord. Linux-Rechner, die über SSH erreichbar sein sollen, brauchen zusätzlich die Serverkomponente, die mit
sudo apt install openssh-server
schnell nachinstalliert ist. Nach der Installation ist der SSH-Server sofort aktiviert. Mit
ssh [konto]@[IP-Adresse]
oder bei abweichendem definiertem Port mit (Beispiel)
ssh -p 4444 ha@192.168.178.10
verbinden Sie sich mit einem Server. Nötig ist nur ein Systemkonto auf dem Zielrechner (und natürlich das zugehörige Kennwort). Solche Terminalwartung via SSH ist die typische Verwaltungsmethode von Linux-Servern und setzt ein Mindestmaß an Bash-Kenntnissen voraus. Jedoch kann ein SSH-Client über den Schalter „-X“
ssh -X [konto]@[IP-Adresse]
auch grafische Programme des entfernten Rechners nutzen.
Windows-Systeme haben keinen nativen SSH-Client, können aber den kostenlosen Klassiker Putty (http://www.putty.org/), Smartty (http://smartty.sysprogs.com/) oder auch das Linux-Subsystem verwenden.
SSH enthält mit SFTP sein eigenes Datentransferprotokoll, das alle Linux-Dateimanager wie Nautilus oder Nemo beherrschen. Daher genügt
sftp://[konto]@[IP-Adresse]
oder auch „ssh://[konto]@[IP-Adresse]“ in der Adresszeile des Dateimanagers (Strg-L) für den Zugriff auf das Dateisystem des entfernten Linux-Rechners. Diese Methode eignet sich für Medienwiedergabe, für Datensicherungen oder das Editieren von Konfigurationsdateien.
Es wird noch besser: Man kann sich beim SSH-Zugriff die Kennworteingabe sparen, was insbesondere periodische Backups vereinfacht (siehe Punkt 13). Dazu braucht der zugreifende Rechner eine Schlüsseldatei, die mit
ssh-keygen -t rsa -b 4096
erstellt wird und dann mit
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.178.44
zum SSH-Server kopiert wird.

15. Gotty: Remoteterminal im Browser
Gotty ist eine interessante Alternative zur SSH-Fernwartung, vor allem unter Windows oder Android, wo kein nativer SSH-Client vorliegt. Mehr als ein Browser ist auf dem zugreifenden Gerät nämlich nicht erforderlich.
Installation des Servers: Unter https://github.com/yudai/gotty/releases/ empfiehlt sich die aktuelle „stabile“ Version, aktuell 1.0.1, bei Erscheinen dieses Heft vielleicht bereits 2.0.0. Auf der Unterseite der gewählten Version gibt es diverse Varianten für alle Rechnerarchitekturen: Für Linux-PCs oder Notebooks einschlägig ist das Archiv „gotty_linux_amd64.tar.gz“. Falls Sie Gotty auf einen Platinenrechner installieren möchten, wäre „gotty_linux_arm.tar.gz“ die richtige Wahl. Nach dem Download des passenden Archivs und dem Entpacken erhalten Sie die einzige Datei „gotty“, die Sie mit
sudo mv gotty /usr/local/bin
sudo chmod a+x /usr/local/bin/gotty
in den richtigen Systempfad verschieben und dann ausführbar schalten. Danach sollte der Befehl „gotty -version“ systemweit antworten und das Programm somit laufen.
Start des Servers: Typische Beispiele wie
gotty htop
oder auch
gotty --permit-write nano .bashrc
liefern die Anzeige des Htop-Taskmanagers aus oder erlauben das Ferneditieren einer Konfigurationsdatei. Dem zugreifenden Browser muss nur die IP-Adresse des Servers bekannt sein, Standardport ist 8080 –also insgesamt etwa „192.168.178.13:8080“ (bei häufiger Nutzung ein Fall für ein Browser-Lesezeichen).
Im Alltag wäre es aber viel zu umständlich, den Gotty-Server für solche Einzelaktionen anzuwerfen. Für eine umfassende Nutzung ähnlich SSH startet vielmehr der Befehl
gotty --permit-write bash
eine komplette interaktive Bash-Shell. Die ist dann für jeden Browser zu erreichen.
Viele Gotty-Detailfunktionen wie Schreiberlaubnis oder eine (unabhängige) Nutzerauthentifizierung lassen sich nicht nur durch Aufrufschalter steuern (gotty - -help), sondern bequemer über die Konfigurationsoberfläche „~/.gotty“ im Home-Verzeichnis. Wer dies ausreizen will, übernimmt am besten die kommentierte Vorlage unter https://github.com/yudai/gotty/blob/master/.gotty.

16. HTTP-Server mit Python
Jedes Linux-System verfügt über eine eingebaute Möglichkeit, einen Ordner anderen Netzteilnehmern per Browser lesend zugänglich zu machen. Der Script-Interpreter Python enthält nämlich einen Webserver, der mit einem einzigen Terminalbefehl das aktuelle Verzeichnis inklusive aller Unterordner freigibt:
python3 -m http.server 4444
Der Port (hier „4444“) kann beliebig gewählt werden. Ältere Python-Versionen verlangen folgenden Funktionsaufruf mit genau dieser Groß- und Kleinschreibung:
python -m SimpleHTTPServer 4444
Jeder Browser im lokalen Netz kommt nun mit der Adresseingabe
[IP-Adresse]:4444
an diese Freigabe. Kenntnis der IP-Adresse 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 bereit. Der Webserver lässt sich auf dem Serversystem mit Strg-C jederzeit beenden.

17. Automatisierte Löschaktionen (Bleachbit)
Das in den meisten Paketquellen verfügbare Bleachbit hat jede erdenkliche Löschaktion im Repertoire und darf als klassischer Linux-Cleaner gelten. Die meisten Löschaktionen finden im Home-Verzeichnis statt (Browser, Mail, Office), jedoch kann Bleachbit auch in der Paketverwaltung löschen, wenn es im Menü mit „BleachBit (as root)“ oder im Terminal mit sudo bleachbit gestartet wird. Alle Detailfunktionen sind auch als Terminalkommando abrufbar. Der Befehl
bleachbit --list-cleaners
zeigt alle Löschmodule an – annähernd 200 inzwischen, wovon aber die meisten nur Spezialroutinen für einzelne Programme sind (insbesondere für Browser). Jedes Modul kann mit Schalter „–clean“
bleachbit --clean system.cache
einzeln gestartet werden. Bei Löschzielen mit diversen Unterabteilungen (system, apt, firefox, chromium, google_chrome, thunderbird) funktioniert auch diese Variante:
bleachbit --clean apt.*
Damit können Sie Löschvorgänge sogar als Cronjob anlegen:
0 18 * * * bleachbit --clean firefox.*
Beachten Sie aber, dass bestimmte Löschmodule (system, apt) nur mit root-Recht funktionieren.
18. Systemd und die Bootanalyse
Eines der zahlreichen Systemd-Werkzeuge (s. a. systemctl, networkctl, journalctl, homectl) hat große Popularität erreicht, da es Startprobleme, also Verzögerungen des Systemstarts, präzise offenlegt. Die simpelste Form
systemd-analyze time
zeigt eine knappe Angabe zur Dauer des Systemstarts, differenziert aber bereits Bios/Firmware, Bootloader, Kernel und Desktopstart.
Die Befehle
systemd-analyze blame
systemd-analyze plot > start.svg
systemd-analyze dump > dump.txt
bringen in unterschiedlicher Darstellung eine millisekundengenaue Analyse des Systemstarts, wobei die Option „dump“ über das Informationsbedürfnis normaler Anwender deutlich hinausgehen dürfte.

19. Systemd/Systemctl: Die Systemdienste
Systemctl ist das mächtigste Werkzeug des Init-Dienstes Systemd. Damit lassen sich alle untergeordneten Dienste und eventuell falsch konfigurierte Systeme genau analysieren und wieder auf den Standard korrigieren. Der folgende Befehl
systemctl list-unit-files
zeigt sämtliche Ziele, die von Systemd kontrolliert werden. Für aktive Eingriffe und Änderungen ist die Eingrenzung auf die Dienste zu empfehlen:
systemctl list-unit-files --type=service
Anders als ältere Kommandos (service) liefert dies nicht nur den aktuellen Status, sondern daneben auch denjenigen des Ausliefungszustands der Linux-Distribution. Je nach Situation können Sie dann einen Dienst mit (Beispiel)
systemctl disable brltty.service
abschalten oder umgekehrt mit „enable“ aktivieren. „disable“ deaktiviert einen Dienst, verhindert aber nicht, dass diesen ein anderer Systemdienst unter der Haube wieder aktiviert. Wenn Sie selbst das verhindern wollen, hilft der noch weitergehende Befehl „mask“
systemctl mask brltty.service
oder umgekehrt „unmask“, um dies wieder rückgängig zu machen.
Häufiger noch als diese Kommandos für dauerhafte Änderungen werden Sie Dienste wie apache2, smbd oder sshd kurz abschalten und neu starten müssen, um eine geänderte Konfiguration zu aktivieren. Hierfür helfen die Kommandos „stop“ und „start“ oder deren Abkürzung
systemctl restart apache2.service
mit „restart“.

20. Systemd/Systemctl: Desktop on/off
Linux-Distributionen mit Systemd (Ubuntu, Mint u. v. a.) können die grafische Oberfläche mit einem einzigen Befehl dauerhaft aus- oder wieder einschalten. Das ist vor allem für Platinenrechner interessant. Nicht selten ist eine Oberfläche dort nur zur Einrichtung willkommen, danach aber nicht mehr. Wenn Sie nur noch die Serverdienste brauchen (Samba, SSH, Apache), dann lässt sich die Oberfläche mit
sudo systemctl set-default multi-user.target
umstandslos abschalten. Die Maßnahme gilt ab dem nächsten Neustart. Je nach verwendeter Oberfläche werden dadurch RAM- und CPU-Ressourcen frei.
Mit dem Befehl
sudo systemctl set-default graphical.target
ist der Desktop bei Bedarf auch wieder dauerhaft einzuschalten.
21. Home-Partition: Heimat für immer
Neuinstallation fällig? Der Hauptaufwand besteht immer darin, die vertraute Software nachzuinstallieren und danach händisch einzurichten (Desktop, Mail, Browser, Bash, Dateimanager, SSH-Client …). Unter Linux ist das alles hinfällig, wenn eine Home-Blaupause auf einer mobilen Extrapartition vorliegt (auf USB-Stick oder SD-Karte). Linux-Installer bieten eine separate Home-Partition allerdings nicht standardmäßig an, sondern fordern dazu eine manuelle Partitionierung – also etwa unter Ubuntu im Dialog „Installationsart“ die Option „Etwas Anderes“. Nach Einrichtung der kleinen EFI-Partition (falls Uefi erwünscht) und der Systempartition auf dem internen Datenträger definieren Sie auf dem USB- oder SD-Medium die Home-Partition mit dem Einbindungspunkt „/home“. Bei schnellem USB-Port (3.x) oder schneller SD-Karte (UHS mit mindestens 100 MB/s) entstehen keinerlei Nachteile – und entscheidende Vorteile:
1. Wenn Sie den Home-Datenträger an einem anderen System anschließen, können Sie ausgewählte Daten oder auch alles in das lokale „/home“ des anderen Systems übernehmen.
2. Wenn Sie den Home-Datenträger klonen, können Sie das identische Home direkt auf einem anderen Linux-System verwenden. Das muss dann allerdings ebenfalls mit eigener Home-Partition installiert worden sein. Danach genügt es, in der Datei „/etc/fstab“ die Kennung des neuen geklonten Mediums für den Einbindungspunkt
„/home“ einzutragen (die UUID-Kennung zeigt der Befehl lsblk -f).

22. USB-Sicherheit: Verschlüsselt mit Luks
Bei einer Neuinstallation aktivierte Cryptsetup/Luks-Verschlüsselung (Linux Unified Key Setup) bietet sichere Datenträgerverschlüsselung der kompletten Systempartition – zu empfehlen insbesondere auf mobilen 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 Datenträger nur bei korrekter Eingabe. Unter Windows sind Luks-Medien nicht lesbar.

23. WSL: Linux unter Windows
Für Linux-Nutzer, die auch Windows-Systeme verwenden, ist das optionale WSL („Windows Subsystem für Linux“) eine lohnende Investition. WSL muss in Windows unter „Systemsteuerung –› Programme und Features –› Windows-Features aktivieren –› Windows-Subsystem für Linux“ erst aktiviert werden. Danach ist ein Neustart fällig. Im „Microsoft Store“ gibt es dann unter dem Stichwort „WSL“ diverse Distributionen wie Ubuntu, Debian, Open Suse, Cent-OS oder Kali. Nach der Installation ist das Subsystem dann im Startmenü oder über den Aufruf „wsl“ möglich.
Das Linux-Subsystem bietet alle typischen Kommandozeilenwerkzeuge und kann über „apt install“ (unter Debian/Ubuntu) weitere Werkzeuge wie den Midnight Commander nachrüsten. Der kann dann wiederum als SSH-Client („Shellverbindung“) den Datenaustausch zwischen einem Linux-Server und dem Windows-System erledigen. Das Windows-Dateisystem ist unter „/mnt/c“ unter Linux eingehängt.
Das Hilfsprogramm wsl.exe kann aus jeder Windows-Konsole (Cmd, Powershell) oder auch als Verknüpfung das gewünschte Linux-Werkzeug starten:
wsl mc
wsl ssh root@192.168.1.20
Optional bietet das Subsystem auch Linux-Serverdienste. Vorinstalliert ist aber nur der Open-SSH-Server, der mit
sudo service ssh start
jederzeit gestartet werden kann. Damit ist der Windows-Rechner via SSH erreichbar.

24. Die OEM-Installation
Alle Ubuntu-Varianten haben einen OEM-Installer an Bord, der nicht nur für Hardwarehändler interessant ist. Die OEM-Installation bietet sich auch für die Einrichtung eines Systems für Kollegen oder Familienmitglieder an. Das System lässt sich über das temporäre Konto „oem“ individuell vorkonfigurieren und der Endnutzer 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)“ direkt anbietet, muss man bei Ubuntu & Co. den Bootvorgang des Livesystems mit der Umschalt-Taste ausbremsen, um an diese Variante zu kommen. Je nach Ubuntu erscheint die „OEM Installation (für Hersteller)“ dann direkt im Bootmenü oder nach Drücken der Taste F4.
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. 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 nun sein Erstbenutzer-Konto anlegen.

25. Linux mobil: USB-Installationen
In puncto Mobilität hat das freie Linux sehr viel mehr zu bieten als die kommerziellen Konkurrenten. Linux läuft ohne Einschränkung auf USB-Datenträgern. Dadurch ergeben sich zahlreiche Möglichkeiten, Daten, Livesysteme, installierte Systeme und ganze digitale Multiboot-Werkzeugkästen in der Jackentasche mitzunehmen.
Da Linux-Installer die erste interne Festplatte „/dev/sda“ als Ziel vorschlagen, müssen Sie bei der Einrichtung auf USB manuell die richtige Zielpartition festlegen – im Ubuntu-Installer im Fenster „Installationsart“ die Option „Etwas Anderes“.
Das Laufwerk muss neu partitioniert und formatiert werden, alle darauf befindliche Daten gehen verloren. Klicken Sie zunächst auf die „–“-Schaltfläche, um vorhandene Partitionen zu entfernen. Erstellen Sie dann auf dem „freien Speicherplatz“ mit der „+“-Schaltfläche eine neue primäre Partition mit dem kompletten Speicherplatz und dem Dateisystem Ext4. Hinter „Einbindungspunkt“ wählen Sie den Eintrag „/“ aus der Liste. Unter „Gerät für die Bootloader-Installation“ wählen Sie dasselbe USB-Laufwerk aus, auf dem Sie installieren – etwa „/dev/sdb“.
Beim Calamares-Installer (Kubuntu, Lubuntu u. a.) lautet der maßgebliche Schritt „Einrichtung der Festplatten“ beziehungsweise „Partitionen“. Hier benötigen Sie für USB-Installation den Unterpunkt „Manuell“. Nach „Weiter“ erhalten Sie eine Laufwerkliste, können dort ein USB-Medium wie
„/dev/sdb1“ löschen und neu anlegen.
26. Linux live: Mit und ohne Anpassung
Linux bietet eine noch einfachere Möglichkeit für die Hosentasche – den Einsatz als Livesystem. Die Prozedur einer Installation entfällt komplett, es genügt die Kopie des ISO-Images auf DVD oder USB. Einschlägige Tools, um die Images bootfähig auf USB zu übertragen, sind Etcher, Gnome-Disks, dd oder Unetbootin. Mit wenigen Ausnahmen sind praktisch alle heutigen Installations-ISOs (alle Ubuntus sowieso) zugleich vollwertige Livesysteme mit hybrider Bootumgebung, die sowohl von DVD als auch von USB booten.
Der Nachteil gegenüber einem installierten Linux: Livesysteme sind technisch eingefroren: Alle während der Sitzung getätigten Änderungen gehen beim Herunterfahren verloren. Für einen bedarfsweisen Reparatureinsatz, um Daten zu kopieren oder Konfigurationsdateien zu korrigieren, ist das sicher tolerierbar. Aber schon für ein Surfsystem im Liveeinsatz wird man Browsereinstellungen oder Lesezeichen nicht jedes Mal neu importieren wollen. Daher bieten Livespezialisten wie Knoppix Persistenzoptionen, um System- und Konfigurationsänderungen sowie Nachinstallationen in einer separaten Partition oder Datei außerhalb des Read-only-Dateisystems zu speichern. Für sämtliche Ubuntu-basierten Livesysteme kann auch das externe Tool Unetbootin (für Windows und Linux auf Heft-DVD, Download unter https://unetbootin.github.io) einen persistenten Bereich auf USB-Sticks einrichten. Das ist der Hauptgrund schlechthin, um Unetbootin einem Etcher, dd oder Win 32 Disk Imager vorzuziehen. Dabei genügt es in Unetbootin, beim Kopieren des Ubuntu-Abbilds eine MB-Angabe neben der Option „Platz um Dateien zwischen Neustart zu erhalten“ einzutragen (etwa „1000 MB“ oder mehr).

27. Linux live plus Multiboot: Sammlung auf USB
Mobiles Linux live – das lässt sich sogar multiplizieren. Das macht doppelt Sinn: Denn erstens liegen dann Spezialisten wie Rescuezilla (Klonen) und Super Grub Disk (Boothilfe) gleich als Sammlung vor, zweitens bleiben heutige USB-Sticks mit einem einzigen Livesystem kläglich unterfüllt. Es gibt mehrere Werkzeuge für derartiges Live-Multiboot mit Auswahlmenü. Da das Tool Multibootusb (aktuelle Version 9.2.0 unter https://sourceforge.net/projects/multibootusb/) funktionsidentische Varianten für Linux und Windows anbietet, bevorzugen wir dieses Werkzeug.
Beim eingelegten Stick muss unter „Select USB disk“ die Partition /dev/sd[x]1“ gewählt werden (nicht das Gerät „/dev/sd[x]“), unter „Select image“ und „Browse“ geht es dann von ISO-Image zu ISO-Image, das jeweils mit „Install distro“ (Fenster unten rechts) auf das Laufwerk geschrieben wird. Genau wie Unetbootin kann Multibootusb für Debian/Ubuntu-Systeme optional einen persistenten Speicherbereich festlegen (im Fenster links).
Die Fortschrittsanzeige des Tools ist fehlerhaft, insofern sie rasch auf 80 oder 99 Prozent wächst, dann aber lange stagniert. Warten Sie in jedem Fall ab, bis das Tool die finale Bestätigung zeigt. Der spätere Bootscreen zeigt dann alle Livesysteme in der Reihenfolge der Einrichtung.

28. Linux live (Ubuntu): Maßgeschneidert mit Cubic
Wem die Persistenzoption von Livesystemen nicht genügt, kann sich ein Linux-Livesystem von vornherein maßschneidern. Dazu kann man in die Tiefen des Build-Prozesses eintauchen (siehe Artikel ab Seite 64) oder das genial einfache Werkzeug Cubic (Custom Ubuntu ISO Creator) verwenden. Einzige Einschränkung von Cubic: Es funktioniert nur mit Ubuntu-basierten ISO-Abbildern.
Der Schritt-für-Schritt-Assistent ist vorbildlich übersichtlich und erweitert Standard-Livemedien mühelos um Software und Benutzerdateien. Wie auf der Projektseite https://launchpad.net/cubic beschrieben, installieren Sie das Tool mit folgenden Terminalbefehlen:
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install cubic
Nach dem Start geben Sie ein (beliebiges) „Project Directory“ an, wo Cubic das Livesystem zusammenbauen soll. Nach „Next“ und „Select“ wählen Sie das ISO-Image des originalen Livesystems, das nach „Next“ temporär ausgepackt wird. Nach einem weiterem „Next“ können Sie in der chroot-Konsole alle Anpassungen erledigen. Mit apt install […] rüsten Sie mühelos alles nach, was dem originalen Livesystem nach Ihrer Meinung fehlt.
Benutzer- und Konfigurationsdateien können Sie per Drag & Drop vom laufenden System in die chroot-Konsole von Cubic ziehen und dann mit der „Copy“-Schaltfläche in das Livesystem integrieren. Beachten Sie dabei immer, vorher mit cd in der chroot-Konsole in das gewünschte Verzeichnis zu wechseln, denn genau dort werden die Dateien später vorliegen.
Sie können auch mit mkdir Ordner erstellen, um das Livesystem zu optimieren. Wenn es nur darum geht, Benutzerdateien zu integrieren, ist die Aktion unsensibel. Um allerdings Konfigurationsdateien richtig anzulegen, sollten Sie die Ordnerstruktur des originalen Livesystems gut kennen. Im konkreten Beispiel des von uns gewählten Lubuntu lautet das Livekonto „lubuntu“, jedoch existiert im Originalsystem kein Home-Ordner für dieses Konto. Wenn Sie dieses mit
mkdir /home/lubuntu
anlegen, können Sie es mit weiteren Ordnern bestücken (etwa „Desktop“, „Bilder“) und diese mit Benutzerdateien sowie Konfigurationsdateien füllen („.bashrc“ etc). Mit „Next“ verlassen Sie die chroot-Konsole, mit weiterem „Next“ die Paketübersicht. Danach wird das angepasste System gebaut. Das fertige ISO schreiben Sie mit den üblichen Werkzeugen auf DVD oder USB.

29. Linux hilft Windows: Virenfrei und sicher
Linux-Systeme sind praktisch immun gegen digitale Viren, weil es schlicht keine Linux-Viren gibt. Die Gründe dafür sind erstens die geringe Verbreitung von Desktop-Linux generell, zweitens die Vielfalt technisch unterschiedlicher Linux-Distributionen, drittens die zentrale Softwareverteilung über kontrollierte Quellen. Die geringe Aussicht auf Erfolg macht Linux für Virenprogrammierer uninteressant. Eine theoretische Gefahr sind Würmer, die sich über Sicherheitslücken von Serverdiensten fortpflanzen. Dagegen schützen aber periodische Updates. Außerdem haben die meisten Linux-Desktops gar keine Serverdienste laufen – und Linux-Server im Heimnetz keine, die für das Internet offenstehen. Die Tatsache, dass es ein immunes Betriebssystem gibt, kann man in verschiedenen Varianten auch für gemischte Umgebungen (mit Windows) nutzen. Linux-Rechner im Netzwerk bieten Schutz für beteiligte Windows-Rechner, wenn alle Benutzerdaten auf Linux gesichert werden. Selbst wenn hier (Windows-)Viren oder Verschlüsselungs-Trojaner enthalten sind, wird dies Linux nicht tangieren. Der Datenbestand ist damit in Sicherheit, sofern die Datenformate auch mit Linux zu bearbeiten sind. Eine Prüfung der Daten durch den Linux-Virenscanner Clamav sorgt für zusätzliche Kontrolle.
Wer einen Schritt weitergehen will, nutzt Browser, Mail, Download- oder Torrent-Tools in einem Linux-System. Ob das dann physisch per Rechnerwechsel oder über ein Livesystem oder in einer virtuellen Maschine (siehe Punkt 30) oder auch remote per SSH/VNC geschieht, ist letztlich nur eine Komfortfrage.
30. Linux hilft Windows: Mit VM ins Internet
Für Windows-Anwender ist eine virtuelle Linux-Maschine die beste Methode für sicheres Surfen: Der entscheidende Vorteil gegenüber unabhängigen Livesystemen ist es, dass der Windows-Nutzer dabei sein Standardsystem nicht verlassen muss. Als Virtualisierungssoftware benötigen Sie Vmware Player oder Virtualbox. Virtualbox erhalten Sie unter www.virtualbox.org/wiki/Downloads.
Das Einrichten einer VM ist in Virtualbox (oder Vmware) eine Angelegenheit von wenigen Mausklicks. Sie gehen auf „Neu“, geben einen Namen an (etwa „Lubuntu“), als Typ „Linux“ und als Version etwa „Ubuntu (64 Bit)“. Nach „Weiter“ genügen unter „Speichergröße“ 2048 MB, bei ausreichend RAM gegebenenfalls auch drei oder vier GB. Nach „Weiter“ wählen Sie im Dialog „Platte“ die Option „Festplatte erzeugen“, anschließend den Dateityp VDI. Als Größe genügen 20 bis 30 GB, wenn es beim Surfsystem bleiben soll. Der VM müssen Sie jetzt mit „Ändern“ unter „Massenspeicher“ das ISO-Abbild der Distribution mitteilen. Dies geschieht unter „Controller: IDE“ auf dem CD-Symbol, das aktuell noch als „leer“ angezeigt wird. Aktivieren Sie links das Kästchen „Live-CD/DVD“ und klicken Sie dann auf das CD-Symbol ganz links oben. Dann navigieren Sie zum ISO-Image der gewünschten Distribution.
Nach „Starten“ lädt das Livesystem, das manchen Nutzern vielleicht sogar dauerhaft genügt. Anpassungs- und Aktualisierungsfähigkeit sprechen aber auch in der VM für ein ordentlich installiertes Linux, wie es vorher durch „Festplatte erzeugen“ bereits vorbereitet wurde (für ein VM-Livesystem können Sie auf die virtuelle Festplatte verzichten).
Die Installation in der virtuellen Umgebung entspricht einer normalen Linux-Installation – wenn nicht sogar einfacher, weil als Ziel nur die einzige (virtuelle) Festplatte
„/dev/sda“ vorliegt. Nach Fertigstellung und Neustart der VM passen Sie das System an und optimieren den Austausch mit dem Windows-Hostsystem durch „Gemeinsame Ordner“.


