Archiv der Kategorie: Betriebssystem

Puppy-Systeme – klein und schnell

Sie sind optimale Zweitsysteme für die Hosentasche – zum Arbeiten, Surfen oder Reparieren. Die Puppy-Systeme, die Barry Kauler vor 15 Jahren entwickelt hat, sind ausgereift und flexibel, aber nicht ganz simpel.

Wer die Puppy-Familie mit Tahrpup, Slacko, Quirky, Fatdog, Macpup, Lxpup, Simplicity ignoriert, verschenkt das Potential großartiger Livesysteme: Die Puppies bringen auf typischerweise nur 200 bis 300 MB großen ISO-Abbildern kaum glaubliche Software-Sammlungen unter, haben einen RAM-Eigenbedarf von nur 60 bis 150 MB, booten fix (mit Ausnahmen) und bieten ein Konzept, um die an sich unveränderlichen Livesysteme über persistenten Speicher individuell anzupassen. Die Einrichtung birgt allerdings einige Hürden und wird begleitet von einer Dialogflut mit Frickler-Tonalität. Diese Hürden muss man erst mal nehmen. Dieser Beitrag erklärt das Puppy-Konzept, die Einrichtung der Systeme sowie Ausrichtung und Unterschiede einiger populärer Puppy-Varianten.

Einsatzgebiete: Warum Puppy?

Kleine Linux-Live-Distributionen, die sich für schwachbrüstige Hardware oder für den mobilen Einsatz als Zweitsystem eignen, gibt es zuhauf. Puppy-Varianten sind aber nicht nur besonders klein und sparsam (bei reicher Software-Ausstattung), sondern kombinieren die Sicherheit eines nicht kompromittierbaren Livesystems mit der Anpassungsfähigkeit eines installierten Linux. Das erreichen sie dadurch, dass die schreibgeschützten Squash-FS-Archive (Dateien mit der Endung -sfs) für das Kernsystem ergänzt werden durch persistenten Speicher, der System- und Software-Einstellungen sowie nachinstallierte Software bereithält. Dieser persönliche Speicher kann als einzige große Datei „pup_save.4fs“ (oder je nach Puppy-Variante ähnlich, etwa „thar_save.4fs“) oder als Ordner (etwa „tharsave“) vorliegen. Dieser Speicher wird beim Booten automatisch geladen, es sei denn, es gibt mehrere persönliche Speicher (auch das ist möglich), die eine vorherige Abfrage des Benutzer erfordern.

Livesystem mit Persistenz und individuellen Einstellungen? Auch das ist natürlich kein Alleinstellungsmerkmal von Puppy: Typische Livesysteme wie Tails oder Porteus beherrschen das ebenfalls, und sämtlichen Ubuntu-basierten Systemen kann das Tool Unetbootin zur Persistenz verhelfen, sofern man sie als Livesysteme nutzen will. Aber keine andere Linux-Linie neben Puppy hat sich so fokussiert, live, schnell, klein und optimal anpassungsfähig zu sein. Es ist letztlich ganz egal, ob der Einsatzzweck ein mobiler Werkzeugkasten, eine Arbeitsumgebung, ein Surfsystem oder sicheres Home-Banking sein soll.

Im Kern ist Puppy eine Methode, vorhandene Distributionen auf ein möglichst kleines Livesystem zu reduzieren. Während viele Projekte Linux-Systeme als Grundlage nehmen, die mit weiteren Ergänzungen ausgebaut werden, geht Puppy den umgekehrten Weg und entfernt zunächst viele Komponenten. Dazu dient das Baukastensystem „Woof-CE“ (https://github.com/puppylinux-woof-CE/woof-CE), das die Reduktion einer Distribution mit Scripts vereinfacht. Die Resultate sind Livesysteme mit eigener Bootumgebung und komfortablen Tools aus dem Puppy-Baukasten. Puppies laden sich während des Starts komplett in den Arbeitsspeicher. Im Unterschied zu typischen Linux-Verhältnissen wird der Anwender automatisch angemeldet und hat root-Rechte. Puppy ist somit kein Mehrbenutzersystem, jedoch ist möglich, Benutzerprofile mit unterschiedlichen Einstellungen zu verwenden.

Faszinierend sparsam: Auf diesem Netbook mit bescheidenem 1 GB Arbeitsspeicher meldet Puppy Tahr nur knapp 60 MB Eigenbedarf.

Die Einrichtungsmöglichkeiten

Offizielle Webseite der Puppy-Systeme ist http://puppylinux.org. Dort gibt es grundsätzliche Informationen und als Download-Link zumeist den Server http://distro.ibiblio.org/puppylinux/, der alle offiziellen Puppy-Varianten versammelt, ferner auch zahlreiche „Pets“ – Software-Pakete für Puppy-Systeme. Eine schnellere Quelle für einige prominente Puppies ist http://puppylinux.com/download.html. Download-Quellen für weniger prominente Varianten müssen Sie gegebenenfalls recherchieren. So liegt Lxpup etwa auf Sourceforge (https://sourceforge.net/projects/lxpup) oder Macpup auf http://macpup.org.

Puppy-Systeme laufen an sich hervorragend von CD und können dabei auch Benutzeranpassungen in einem Persistenz-Speicher nutzen, der dann allerdings auf einer internen Festplatte oder einem zusätzlichen USB-Stick gespeichert werden muss. Ein von CD bootendes Puppy durchläuft dabei einfach sämtliche angeschlossene Datenträger und sucht nach Persistenz-Ordnern oder Dateien in deren Hauptverzeichnis. Ungeachtet der technischen Möglichkeit und der Schnelligkeit auf CD ist Puppy aber auf CD nicht ideal, denn für Anpassungen brauchen Sie immer noch ein zweites Medium. Und als reines Livesystem auf CD ohne Persistenz ist Puppy auch nicht ideal, da Sie dann bei jedem Start der unkomfortable „Quick-Setup“-Dialog begrüßt, wo Sie zumindest die deutsche Tastaturbelegung einstellen müssen.

Ideal für Puppies sind USB-Sticks, weil Sie damit das Livesystem plus Speicher für Anpassungen an Ort und Stelle auf einem Datenträger haben. Die Größe des Sticks spielt praktisch keine Rolle: Für die meisten Puppies sind schon 1 oder 2 GB üppig und bieten ausreichend Platz für Nachinstallationen und Anpassungen. Andererseits ist es keine Platzverschwendung, eine heute übliche Stick-Größe mit entsprechender Leistung zu wählen, da der Stick zusätzlich auch als normaler Datenträger genutzt werden kann.

Die Installation aller Puppy-Varianten ist identisch. Die nachfolgende Anleitung zeigt die Einrichtung am Beispiel eines Puppy Tahr („Tahrpup“) auf USB-Stick. Dabei nehmen wir den Umweg über das Puppy Livesystem auf einer CD, weil der Puppy-Installer dies als den Normalfall annimmt und unter dieser Voraussetzung am einfachsten zu durchlaufen ist.

Vom ISO-Abbild zum Puppy auf USB

Schreiben Sie das gewählte ISO-Image zunächst auf eine CD. Alle Puppies passen locker auf CD, eine DVD wäre Verschwendung. Die heruntergeladene ISO-Datei brennen Sie unter Linux mit einem Tool wie Brasero und der Option „Abbild brennen“, unter Windows mit der Freeware Imgburn und der Option „Imagedatei auf Disc schreiben“. Danach booten Sie einen Rechner mit optischem Laufwerk über die CD.

  1. Das Puppy-System wird am Desktop den Dialog „Quick Setup“ anzeigen. Eigentlich brauchen Sie für das temporäre Livesystem keine Einstellungen, aber es kann für die nachfolgende Einrichtung hilfreich sein, die Tastatur auf „de (Germany)“ zu setzen. Wer die Installationsdialoge in Deutsch sehen will, kann auch die Ländereinstellung auf Deutsch setzen und über den Puppy-Paketmanager (unter „Setup“ im Hauptmenü) sogar das langpack_de installieren. Wirklich notwendig ist das nicht, weil dies an dieser Stelle nur temporär bliebe und die englischsprachigen Dialoge im Installer meist klarer sind als die deutschen.
  2. Stecken Sie den USB-Stick ein, der das Puppy aufnehmen soll, und starten Sie über die Menü-Kategorie „Setup“ den „Puppy Universal Installer“ (in einigen Varianten auch nur „Puppy Installer“). Der oberste Eintrag „USB Flash Drive“ ist der richtige. Wenn nur ein Stick angeschlossen ist, wird der Installer diesen anbieten und mit Angabe der Gerätebezeichnung (etwa /dev/sdb1 oder /dev/sdc1) um Bestätigung bitten.
Puppy (Universal) Installer: Dieses Tool des Livesystems ist notwendig für die Einrichtung auf USB-Stick.
  1. An dieser Stelle besteht noch die Möglichkeit, den USB-Stick mit Gparted zu bearbeiten. Notwendig ist die Neupartitionierung nicht, weil auch die Systempartition zusätzlich als ganz normaler Datenspeicher dienen kann. Der Abstecher zu Gparted ist jedoch manchmal nötig, wenn dem USB-Stick das Boot-Flag fehlt. Der Puppy-Installer meldet das, korrigiert es aber nicht selbst. Die Korrektur erledigt dann Gparted nach Rechtsklick auf die Partition und „Markierungen bearbeiten -> Boot“.
  2. Nun folgt die Abfrage, aus welcher Quelle der Puppy Installer die maßgeblichen Systemdateien kopieren soll. In diesem Szenario mit dem Livesystem auf CD können Sie die Option „CD“ wählen.
  3. Der nächste Dialog bietet eine Auswahl von Bootsektoren. Gemäß der Empfehlung scheint mbr.bin die zuverlässigste Wahl. Vor allem aber ist wichtig, überhaupt einen Bootsektor zu wählen, denn die Voreinstellung fährt ohne Bootsektor fort. Damit wäre der Stick nicht bootfähig.
  4. Der Rest des Installer geht bei einigen Puppies grafisch weiter, oft aber im Terminal. Zunächst müssen Sie dem Vorgang noch einmal generell zustimmen, danach erscheint noch eine Option für den künftigen Systemstart, die Sie nach der Empfehlung mit „yes“ oder „ja“ beantworten.

Die nachfolgende Kopieraktion (initrd.gz, sfs-Dateien) ist angesichts der Kompaktheit schnell erledigt. Damit hat das Livesystem auf CD seinen Dienst getan. Starten Sie nun den Rechner mit dem USB-Stick.

Bootsektor nicht übersehen! Als Voreinstellung, falls Sie hier einfach weiterklicken, schreibt der Puppy Installer keinen Bootsektor auf den USB-Stick.

Einrichtung des Puppy-Systems

Auch das Puppy auf USB begrüßt Sie wieder mit dem Dialog „Quick Setup“. Hier lohnt es sich nun, alles sorgfältig einzustellen, erste Anpassungen am Desktop vorzunehmen und im Puppy-Paketmanager das langpack_de oder andere Software nachzuinstallieren. Das Systemtool, solche Änderungen außerhalb des Livesystems zu sichern, also den persönlichen Speicherbereich anzulegen, suchen Sie vergebens. Es startet aber automatisch, sobald Sie das neue Puppy zum allerersten Mal herunterfahren („Exit“ im Hauptmenü). Dann erscheint „Erstmals: Sitzung speichern“ („First shutdown…“). Optik und Wortwahl dieses wichtigen Vorgangs unterscheidet sich bei den Puppy-Varianten erheblich, jedoch ist das Prinzip identisch:

Antworten Sie in jedem Fall mit „Speichern“ (oder „Ja“, „Yes“). Die Auswahl einer Partition entfällt beim USB-Stick, weil das Tool hier sinnvollerweise den USB-Stick als Ziel nimmt. Verwenden Sie als Speichertyp die empfohlene Option „Folder“ („Ordner“), denn dies ist flexibler als eine Speicherdatei mit fixer Größe. Weitere Entscheidungen betreffen die optionale Verschlüsselung des Speichers und einen individuellen Namenszusatz. Danach legt das System den Speicherbereich an, kopiert die bereits angefallenen Daten und fährt herunter.

Die künftige Puppy-Nutzung gestaltet sich äußerst komfortabel: Störende Bremsen wie „Quick-Setup“ und „First shutdown“ entfallen, Software-Nachinstallationen sind durch „Quickpet“ und den „Puppy Package Manager“ schnell und einfach. Für Desktop-Anpassungen ist die Menü-Rubrik „Desktop“ einschlägig, die unter anderem den JWM Configuration Manager anbietet. Joe’s Window Manager ist die typische Puppy-Oberfläche, jedoch gibt es auch Varianten mit LXDE.

Der persönliche Speicherbereich, der alle Änderungen aufnimmt, ist auf Dateiebene unter /mnt/data/ leicht zugänglich und erlaubt damit auch einfache Experimente: Es genügt den kompletten Save-Ordner oder die Save-Datei auf gleicher Ebene und neuem Namen zu kopieren – etwa „tharsave“ als „tharsave-sepp“. Dadurch entsteht praktisch ein neues Benutzerprofil, das Sie mit eigenen Einstellungen ausstatten können. Das Puppy-System wird dann künftig beim Start eine Auswahl der Form

  • 0 none
  • 1 sdd1 /tahrsave
  • 2 sdd1 /tahrsave-sepp

anbieten, was nebenbei auch den Start des puren Livesystems (mit „none“) ermöglicht.

Alle lokalen Laufwerk zeigt Puppy standardmäßig als Desktop-Links an. Netzwerkfreigaben erreichen Sie über das Pnethood-Tool unter „Netzwerk“. Falls eine manuelle Einrichtung des Netzwerks notwendig ist, versammelt das Tool „Internet Connection Wizard“ (unter „Setup“) alle LAN-, WLAN-, Internet-, Proxy- und Firewall-Einstellungen.

Persönlichen Speicher anlegen: Die Meldung oben erscheint automatisch beim ersten Shutdown. Danach gibt es einige Entscheidungen zu treffen. Die Prozedur ist aber nur einmal zu durchlaufen.
Einfache Installationen: Puppy hat sein eigenes Paketformat (PET), macht dem Nutzer die Sache aber mit dem Package Manager und außerdem einer „Quickpet“-Vorauswahl sehr bequem.

Einige Puppy-Varianten im Steckbrief

Der ursprüngliche Entwickler Barry Kauler ist im Ruhestand und arbeitet nur noch sporadisch an Puppy. Seit den Anfangszeiten ab 2003 entstanden unzählige Varianten auf Basis des Buildsystems Woof-CE. Die offizielle Puppy-Familie unterteilt sich in zwei Hauptlinien. Die erste Puppy-Linie nennt sich „Slacko“, das die besonders kompakte Slackware als Systembasis nutzt. Die zweite Hauptlinie namens „Tahrpup“ basiert auf Ubuntu 14.04 LTS „Trusty Tahr“. Daneben gibt es inoffizielle Puppy-Systeme sowie die große Unterfamilie der „Puplets“. Dies sind mit speziellen Software-Paketen ausgestattete Puppy-Varianten, die meist im Puppy-Forum vorgestellt werden (siehe „Puplet for special features“ unter http://puppylinux.org/main/).

Im Allgemeinen fahren Sie am besten mit Puppy Slacko (Slackware) oder Puppy Thar (Ubuntu 14.04). Das auf Ubuntu 16.04 basierende und längst überfällige Xenialpup ist noch Beta. Das teilweise aus Ubuntu 16.04 gebaute Quirky vom Puppy-Gründer Barry Kauler (http://barryk.org/quirky/) ist experimentell und nicht für den Produktiveinsatz empfohlen. Das inspirierende Puppy-Konzept treibt aber allerlei Blüten, die je nach Einsatzzwecke ebenfalls interessant sein könnten:

Lxpup nutzt statt des JWM-Fenstermanagers einen soliden LXDE-Desktop, der für manche Anwender vertrauter ausfällt (https://sourceforge.net/projects/lxpup). Die vorinstallierten Programme fallen mit der Firefox-Abspaltung Palemoon, Mailclient Sylpheed oder Gparted ebenso Puppy-typisch aus wie die große Zahl kleiner System-Tools. Hauptmotiv für Lxpup ist eindeutig der LXDE-Desktop.

Simplicity ist ein Abkömmling Lxpup und geht einen Schritt weiter Richtung Desktop-System. Mit einem fast 600-MB-ISO-Abbild (http://simplicitylinux.org/) übertrifft Simplicity übliche Puppies um das Dreifache, liefert dafür aber ein komplettes Desktop-System unter einer LXDE-Oberfläche (Firefox, Skype, VLC, Libre Office). Aufgrund dieser Software sind die Hardware-Anforderungen etwas höher als bei einem reinen Puppy. Nach unserer Ansicht widerspricht Simplicity dem Konzeptkern der Puppy-Livesysteme, hat aber eine gewisse Popularität.

Macpup ist ein Puppy mit dem ganz hübschen, aber exotischen Enlightenment-Desktop (http://macpup.org) – nur für Enlightenment-Fans! Wer ein pragmatisches Zweitsystem sucht, handelt sich damit nur weitere Komplikationen ein. Immerhin handelt es sich um ein typisches Puppy mit einem nur 220 MB großen Abbild, das sogar für einen ausgewachsenen Firefox Platz findet.

Fatdog ist ein witziger Name für ein kleines Puppy-System, dessen ISO-Abbild etwa 360 MB beträgt (http://distro.ibiblio.org/fatdog/iso/). In der Runde der sonstigen Puppy-Winzlinge darf Fatdog aber in der Tat als dicker Hund gelten. Dies geht in erster Linie auf die erweiterte Software zurück, da bereits ein komplettes Libre Office, ferner Gimp und der VLC an Bord sind. Als Desktop dient LXDE mit Openbox.

Lxpup mit LXDE-Desktop: Outfit und Dialoge der Puppy-Varianten unterscheiden sich oft deutlich, die Arbeitsweise ist aber immer identisch – hier das Anlegen des Savefiles beim ersten Shutdown.

Das Heimnetz: Hardware, Tipps und Tools

Der kompakte Beitrag zum lokalen Netzwerk bespricht die typische Hardware für das private Heimnetz und Home Office und die wichtigsten Konfigurationseinstellungen und Netzwerkkommandos für Desktop und Server.

Netzwerke sind Hardware-seitig unglaublich flexibel und ausbaufähig. Linux wiederum ist für das Netzwerken geschaffen und macht als Netzwerk-Client wie als Server eine glänzende Figur. Dieser Beitrag liefert Basiswissen und vertiefende Tipps für ein optimiertes Heimnetz. Dabei geht es ausschließlich um das lokale LAN- und WLAN-Netz mit typischen Geräten, Kommunikationsprotokollen, Freigaben und Serververwaltung. Das öffentliche Netz, das Internet, bleibt komplett außen vor – siehe dazu diesen Artikel: Tipps und Tools fürs Internet

1. Der grafische Network-Manager

Sowohl für Ethernet als auch für WLAN erfolgt die grafische Netzwerkverwaltung unter fast allen Desktop-Distributionen über das Applet des Network-Managers in der Systemleiste. Auf Gnome-affinen Distributionen können Sie die dafür zuständigen Komponenten notfalls auch über

sudo apt-get install network-manager network-manager-gnome

nachinstallieren. In Ubuntu erscheint das Icon in der Systemleiste am oberen Bildschirmrand. Nach einem Klick darauf sehen Sie ein Menü mit einer Liste der verfügbaren Funknetzwerke. Klicken Sie das gewünschte an, geben Sie hinter „Passwort“ den WPA-Schlüssel ein, und klicken Sie auf „Verbinden“. Ist eine Ethernet-Verbindung aktiv, erscheint dieses unter „Kabelnetzwerk“. Im Menü gibt es außerdem die Einträge „Netzwerk aktivieren“ und bei WLAN „Funknetzwerk aktivieren“. Vor beiden muss ein Häkchen gesetzt sein, damit die Verbindung funktioniert.

Bei Fehlfunktionen sollten Sie über „Verbindungen bearbeiten“ die Einstellungen prüfen und gegebenenfalls ändern. Wählen Sie etwa „Kabelnetzwerkverbindung 1“, klicken Sie auf „Bearbeiten“ und gehen Sie auf die Registerkarte „IPv4-Einstellungen“. Hinter „Methode“ sollte hier „Automatisch (DHCP)“ eingetragen sein. Es ist nur in Ausnahmefällen ratsam (Server, Access Points, Netzdrucker), feste IP-Adressen manuell zu konfigurieren, damit das Gerät immer unter der gleichen IP-Adresse erreichbar ist (siehe -> Punkt 9).

Tipp: Der Network-Manager unterstützt keine deutschen Umlaute beim WLAN-Passwort. Vermeiden Sie daher WLAN-Kennwörter mit „ä“, „ö“, „ü“, „ß“ in der Router- oder Access-Point-Konfiguration.

Aktuelle Linux-Systeme nutzen den Network-Manager für den Verbindungsaufbau. Das Tool steuert über „Verbindungsinformationen“ sogar subtile Details wie die MTU-Paketgrößen.

2. Klassische Netzwerk-Konfiguration

Distributionen ohne Network Manager verwenden die klassische Linux-Konfiguration über die Datei /etc/network/interfaces. Deren Einträge haben in jedem Fall Vorrang vor denen des Network-Managers. Fehlerhafte Angaben an dieser Stelle können daher auch den Network-Manager lahmlegen. Standardmäßig enthält die Datei interfaces auf Desktop-Systemen nur die zwei Zeilen

auto lo
iface lo inet loopback

für den Loopback-Adapter (siehe dazu -> Punkt 3).

Für einen Server ohne grafischen Network Manager wären die folgenden Zeilen eine gültige Konfiguration für den Ethernet-Adapter, der hier die feste IP „100“ beziehen soll:

auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8

Der Adressraum „192.168.0.x“ muss natürlich angepasst werden, bei Fritzbox-Routern ist „192.168.178.x“ typisch. Spielt die IP keine Rolle (dynamisch über DHCP), dann genügen zwei Zeilen:

auto eth0
iface eth0 inet dhcp

Die Einstellungen werden erst nach einem Neustart wirksam.

3. Netzwerkadapter mit ifconfig im Griff

Das Terminaltool ifconfig ist unentbehrlich für die Anzeige der Netzadapter und beherrscht auch fundamentale Eingriffe. Bei purer Eingabe ifconfig erhalten Sie die IP-Adresse des Geräts, die physikalische MAC-Adresse des Netzadapters, ferner die Download- (RX) und Upload-Datenmenge (TX) seit dem letzten Systemstart. Der Ethernet-Adapter erscheint als „eth0“ (oder „enp6s0“), der WLAN-Adapter als „wlan0“. Die angezeigte „lo“-Schnittstelle mit der IP-Adresse 127.0.0.1 existiert nicht physisch: Bei dieser „lokalen Schleife“ (Loopback) handelt es sich um eine zum lokalen System zurückführende Schnittstelle, womit lokale Prozesse via TCP/IP miteinander kommunizieren.

Wenn ifconfig nur den virtuellen Loopback Adapter „lo“ anzeigt, hat Linux den Ethernet-Adapter Hardware-technisch nicht erkannt. Bei Ethernet-Adaptern ist das so gut wie ausgeschlossen. Was Sie bei WLAN-Adaptern in diesem Fall unternehmen können, lesen Sie im Hardware-Kasten („WLAN-Adapter unter Linux“).

Mit „down“ und „up“

sudo ifconfig eth0 down

schalten Sie einen Adapter, in diesem Fall mit „eth0“ den Ethernet-Anschluss, aus oder wieder ein.

Der nachfolgende Befehl

sudo ifconfig eth0 192.168.0.222

fordert eine neue lokale IP-Adresse vom Router. Dies führt zwar zu einer inkonsistenten Netzkonfiguration, sollte aber nach wie vor den Zugriff auf die Router-Oberfläche ermöglichen. Dort können Sie dann diese Wunsch-IP als feste IP festlegen.

Download- (RX) und Upload-Menge (TX): Ifconfig zeigt unter anderem auch den Datendurchsatz am betreffenden Adapter seit dem Systemstart.

4. WLAN-Konfiguration mit iwconfig und iwlist

Die manuelle Konfiguration des WLAN-Adapters ist nur nötig, wenn Sie einen Headless-Server ohne Monitor, Maus, Tastatur per SSH konfigurieren. Folgende Kombination von Netzwerkkommandos, die allesamt zum Linux-Standard gehören, kann das erledigen:

sudo iwlist scanning
sudo iwconfig wlan0 essid [Netzname] key s:[Passwort]
sudo dhclient wlan0

iwlist zeigt zunächst die verfügbaren Funknetze (Netznamen als „ESSID“), und iwconfig verbindet zum gewünschten Netz: Nach „essid“ folgt der Netzname, nach „key“ das WLAN-Passwort. Da nicht der hexadezimale Schlüssel, sondern das Passwort übergeben wird, muss das mit „s:“ signalisiert werden. Zu guter Letzt bezieht der Rechner mit dhclient eine IP-Adresse vom Router.

Speziell bei Ubuntu-basierten Systemen ist diese Vorgehensweise aber oft erfolglos. Hier empfiehlt sich auch bei späteren Headless-Servern zunächst die Grundkonfiguration des Funknetzes mit dem grafischen Network Manager.

5. LAN-Rechner mit ping prüfen

Ping gehört überall zur Linux-Standardausstattung. Das einfache Tool prüft, ob der aktuelle PC Verbindung zum Router („ping 192.168.0.1“) hat oder ob ein anderer PC im lokalen Netz („ping 192.168.0.10“) erreichbar ist. Neben der schlichten Recherche, ob sich der befragte Host überhaupt meldet, gibt es auch qualitative Aussagen: Im Heimnetz sollten keine verlorenen Datenpakete auftreten („packet loss“) und die Antwortzeiten unter zehn Millisekunden liegen, während Pings ins Web selten unter 20 Millisekunden antworten.
Ping ohne Counter („-c“) läuft endlos, lässt sich aber mit der Tastenkombination Strg-C abbrechen. Ist der Router mit ping nicht erreichbar, hilft oft das Aus- und Einschalten des Netzwerkadapters, um eine neue IP-Adresse zu beziehen.

6. Nmap-Pings an alle Geräte im lokalen Netz

Ping (siehe -> Punkt 5) kann Hostnamen auflösen („ping fritz.box“), übersetzt aber keine IP-Adressen zu Hostnamen. Außerdem kann es – ohne Scriptunterstützung – nur auf eine Adresse losgeschickt werden. Für eine Komplettübersicht im lokalen Netz hilft nmap. Nmap ist in der Regel nicht vorinstalliert, aber mit seinem Paketnamen „nmap“ in allen Repositories erhältlich. Folgende nmap-Kommandos

nmap -sP 192.168.0.1-50
nmap -sP 192.168.0.*

schicken Ping-Anfragen an die ersten 50 und alle 255 Adressen des Adressraum. Der schnelle Ping-Scan zeigt dann alle laufenden Netzgeräte mit Host-Namen und IP-Adresse.
Ohne Ping-Parameter („-sP“) macht nmap sorgfältige und zeitaufwändige Portscans: Sie erhalten zu jedem Rechner Host-Namen, IP-Adresse, MAC-Adresse und die Liste aller offenen Ports. Ist der Vorgang für den gesamten lokalen Adressraum zu langwierig, lässt sich auch ein einzelner PC befragen (nmap 192.168.0.10 oder auch mit Hostnamen nmap raspberry).

Überblick mit nmap: Der Portscanner taugt auch für einfache Ping-Abfragen im gesamten lokalen Adressraum und löst dabei die Host-Namen auf.

7. Netzwerksicherheit mit Nmap-Portscans

Risiken für Ihr Heimnetz entstehen durch offene Ports, die den Zutritt über das Internet in Ihr lokales Netz erlauben. Handelt es sich um Portfreigaben im Router, die Sie selbst eingerichtet haben, dann ist das in Ordnung, wenn nicht, bedeuten offene Ports Alarmstufe rot. Kontrolle über eventuell vergessene Portfreigaben erhalten Sie im Router, so etwa in der Fritzbox unter „Internet -> Freigaben -> Portfreigaben“. Einen objektiven Test, der auch innere Feinde in Form von laufender Schadsoftware entlarvt, können Sie mit nmap realisieren.

Zunächst müssen Sie Ihre öffentliche IP-Adresse ermitteln. Die kennt zum Beispiel Ihr Router („Übersicht“ in der Fritzbox), sie kann aber auch mit einem Tool wie inxi ermittelt werden („WAN IP“ nach Eingabe inxi -i). Die öffentliche WAN-IP, beispielweise 178.23.136.15, prüfen Sie dann mit diesem Kommando:

sudo nmap -Pn 178.23.136.15

Dabei untersucht nmap die Standardports von 1 bis 1000. Sämtliche Ports erfassen Sie mit diesem Befehl:

sudo nmap -Pn -p0-65535 178.23.136.15

Dieser Scan durchläuft alle Ports von 1 bis 65535 und dauert sehr lange. Als Ergebnis sollten Sie, sofern Ihr Netz für das Internet komplett geschlossen sein soll, die Antwort erhalten „All scanned ports are filtered“. Wo immer das nicht der Fall ist und die Ursache unklar, weil dafür keine Portfreigabe im Router vorliegt, gehen Sie mit der angezeigten Portnummer der Sache auf den Grund:

sudo nmap -sV -Pn -p[Nummer] 178.23.136.15

Mit Schalter „-sV“ zeigt nmap an, welches Programm oder welcher Dienst diesen Port benutzt. Ist dieser Prozess unerwünscht, beenden Sie den Verursacher mit einem Taskmanager umgehend (in der „Systemüberwachung“ oder mit top/htop im Terminal) und dauerhaft durch Deinstallieren und Löschen der Programmdateien.

„All ports filtered“: Dieses nmap-Ergebnis stellt sicher, dass Ihr lokales Netz über das Internet nicht erreichbar ist. Offene Ports würde nmap als „OPEN“ melden.

8. MAC-Adressen mit arp ermitteln

Jeder Netzadapter hat eine eindeutige MAC-Adresse der Form C2:22:09:F2:5F:E8 (sechs zwei-stellige Hexadezimalzahlen). Die brauchen Sie zum Beispiel dann, wenn Sie im Router feste IP-Adressen oder Zugangskontrollen einrichten wollen (siehe -> Punkt 9). Der Router selbst kennt und zeigt natürlich sämtliche MAC-Adressen. Am lokalen Rechner zeigt ifconfig (siehe -> Punkt 3) immerhin dessen MAC-Adresse(n) als „Hardware Adresse“ an. Der Befehl arp (Address Resolution Protocol) kann noch mehr:

arp –a

Dies wirft die MAC-Adressen aller in letzter Zeit verbundenen Netzgeräte aus. Da der Arp-Cache seine Daten periodisch verwirft, ist vielleicht momentan genau das gesuchte Gerät nicht in der Liste. Wenn Sie aber vorher einen Ping an das Gerät schicken und dann arp -a befragen, erhalten Sie zuverlässig die MAC-Adresse des entfernten Geräts.

9. Feste IPs im Router einrichten

Server, aber auch Geräte wie Access Points, WLAN-Repeater oder Netzwerkdrucker verdienen eine feste lokale IP-Adresse, damit Sie Konfigurationsoberflächen oder Daten zuverlässig erreichen (etwa via Browser-Lesezeichen oder in Scripts). Die Vergabe fester IP-Adressen erledigt am besten zentral der Router, der die IPs als DHCP-Server vergibt. Der betreffende Punkt kann „DHCP-Reservierung“ oder ähnlich lauten. In der Fritzbox finden Sie diese Möglichkeit unter „Heimnetz –> Netzwerk“. Dort erscheint für die eingetragenen Netzwerkgeräte die Option „Diesem Netzwerkgerät immer die gleiche IP-Adresse zuweisen.“

Dabei kann aber nur die gerade aktuelle IP als künftig konstante IP eingestellt werden. Wenn Sie eine ganz bestimmte andere IP wollen, lassen Sie sich unter „Heimnetz -> Heimnetzübersicht“ die Details des gewünschten Netzgeräts anzeigen und notieren sich die MAC-Adresse („Geräteinformation“). Danach verwenden Sie „Heimnetz -> Heimnetzübersicht -> Netzwerkverbindungen -> Gerät hinzufügen“. Dort können Sie unter Angabe der „MAC-Adresse“ die Wunsch-IP vergeben. Der Router wird melden, dass ihm das Gerät unter einer anderen IP bekannt ist, und Sie müssen mit „OK“ bestätigen, dass Sie die Einstellung überschreiben wollen. Danach sollten Sie das Gerät (oder dessen Netz-Adapter) neu starten.

Feste IP für bestimmte Netzgeräte: Diese Aufgabe löst mancher Lowcost-Router logischer als die Fritzbox – hier ein Dlink-Router unter „DHCP-Reservierung“.

10. Server: Fritz-NAS als zentraler Speicher

Wer „nur“ einen zuverlässigen Datenserver braucht und eine Fritzbox als Router besitzt, braucht nicht notwendig einen Server oder Platinenrechner. Mit der Fritzbox reduziert sich der Einrichtungsaufwand auf ein Minimum: Wenn Sie unter „Heimnetz -> Speicher (NAS)“ die NAS-Funktion über „Speicher (NAS) aktiv“ einschalten, ist sofort der interne Speicher im Netz verfügbar. 512 MB bis 1,5 GB bieten neuere Fritzboxen an internem Speicher an. Das reicht natürlich nicht für einen Datenserver. Sobald Sie aber an einen der beiden USB-Ports einen USB-Datenträger anschließen, wird dieser unter „Heimnetz -> Speicher (NAS)“ angezeigt und kann dort durch die Klickbox aktiviert werden.

Das Fritz-NAS arbeitet wie eine Samba-Freigabe unter Linux: Der Standard-Hostname „fritz.nas“ (Standard-IP ist xxx.xxx.xxx.254) erscheint unter „Netzwerk“ im Dateimanager von Linux- und Windows-PCs, und die Daten lassen sich nutzen, sofern sich der Netzteilnehmer ausweisen kann. Die Einrichtung mindestens eines Benutzerkontos erledigen Sie unter „System -> Fritz!Box-Benutzer“. An dieser Stelle sind differenzierte Schreib- und Leserechte und Ordnerfreigaben möglich wie unter Linux üblich. Standardmäßig gibt die Fritzbox „Alle…verfügbaren Speicher“ mit Lese- und Schreibrecht frei.

Fritz-Datenserver auf der Konfigurationsoberfläche und im Dateimanager: Die Einrichtung eines USB-Datenträgers im Fritz-NAS ist einfacher als jede Server-Lösung.

11. Server-Freigaben mit Samba im Terminal

Wer es sich bequem machen will, wird auch auf einem ferngewarteten Platinenserver ein Serversystem mit einer klickfreundlichen Weboberfläche einsetzen. Erste Wahl für Raspberry & Co ist aktuell die NAS-Distribution Open Media Vault (openmediavault.org). Wirklich notwendig ist ein solcher Überbau für einen einfachen Datenserver im Heimnetz allerdings nicht. Wenige Kommandos im Terminal des Servers oder per SSH auf einem anderen Netzrechner (siehe -> Punkt 13 und 17) genügen, um Netzwerkfreigaben via Samba einzurichten. Voraussetzung ist zunächst ein installiertes Samba-Server-Paket (bei Server-Distributionen meist schon vorinstalliert):

sudo apt update
sudo apt upgrade
sudo apt install samba-common samba

Jeder Benutzer, der auf Freigaben zugreifen darf, muss ein Systemkonto mit Passwort besitzen:

sudo adduser sepp

Das Benutzer-Passwort wird nach Eingabe dieses Befehls automatisch abgefragt.
Ferner muss der Benutzer zusätzlich ein Samba-Kennwort erhalten, denn Samba hat seine unabhängige Kennwortverwaltung:

sudo smbpasswd -a sepp

Danach genügt folgender Befehl, um ein Verzeichnis dauerhaft über das Netzwerk freizugeben:

sudo net usershare add sepp /home/sepp "" sepp:f

Hier wird das Verzeichnis /home/sepp als Freigabe mit dem Namen „sepp“ für den gleichnamigen User im Netzwerk freigegeben.

12. Samba-Konfiguration in der Datei smb.conf

Samba verwendet als einzige Konfigurationsdatei /etc/samba/smb.conf. Darin sind die Basis-Einstellungen für den Samba-Server und auch die Freigaben festgelegt. Das Editieren der smb.conf ist umfassender und oft auch bequemer als net-Befehle auf der Kommandozeile:

sudo nano /etc/samba/smb.conf

Arbeitsgruppe: Mit „workgroup=WORKGROUP“ unter „[global]“ legen Sie die Arbeitsgruppe fest. Windows verwendet die Gruppe ebenfalls standardmäßig, sodass Sie die Einstellung belassen können. Wenn Sie in Ihrem Netzwerk eine anders benannte Gruppe verwenden, ändern Sie den Wert entsprechend. Für den Zugriff auf die Freigaben ist die Arbeitsgruppe nicht wesentlich, jedoch zeigen Linux-Datei-Manager nicht einfach alle Rechner mit Freigaben in einer Liste an, sondern organisieren sie in Arbeitsgruppen unterhalb von „Windows-Netzwerk“. Sie sparen sich unnötige Mausklicks, wenn Sie alle Rechner in derselben Gruppe unterbringen.

Home-Verzeichnisse freigeben: Weiter unten in der smb.conf gibt es einen auskommentierten Abschnitt, der mit „;[homes]“ beginnt. Entfernen Sie die Kommentarzeichen (Semikolon), um die Home-Verzeichnisse aller Benutzer standardmäßig freizugeben. Soll auch der Schreibzugriff erlaubt sein, ändern Sie „read only = yes“ auf „read only = no“. Wenn ein authentifizierter Benutzer auf den Server zugreift, sieht er nur sein eigenes Home-Verzeichnis als Freigabe.

Allgemeine Freigaben: Eine neue Freigabe für ein beliebiges Verzeichnis lässt sich über drei Zeilen realisieren, die Sie am Ende der Datei smb.conf einfügen:

[data]
path = /media/data
writeable = no

In diesem Beispiel wird das Verzeichnis „/media/data“ unter der Bezeichnung „data“ freigegeben. Der Ordner muss existieren und die Benutzer müssen auf der Ebene des Dateisystems zumindest Leserechte besitzen.

Achtung: Änderungen in der smb.conf werden erst wirksam, wenn Sie den Samba-Dienst mit

sudo service smbd restart

neu starten:

Samba konfigurieren: Alle nötigen Einstellungen für den Samba-Server und die Netzwerk-Freigaben nehmen Sie in der Datei /etc/samba/smb.conf vor.

13. SSH-Serverwartung mit Linux und Mac OS X

Kein Server ohne Secure Shell (SSH)! Selbst wenn Sie einen (Raspberry-) Server mit Webserver und freundlicher Konfigurationsoberfläche betreiben, bleibt die SSH-Wartung auf der Kommandozeile das umfassendste, schnellste und direkteste Werkzeug. Einzige Voraussetzung auf dem Server ist ein installierter Open-SSH-Server (auf typischen Server-Distributionen wie Cent OS, Ubuntu Server oder Open Media Vault standardmäßig installiert und aktiv). Wo er noch fehlt, ist das mit

sudo apt-get install openssh-server

leicht zu korrigieren.
Die Client-Komponente für den Fernzugriff bringt jedes Linux- und Mac-System mit. Dort genügt dann der Befehl

ssh [benutzer]@[IP-Adresse]

für die Anmeldung auf dem entfernten Server, also etwa:

ssh root@192.168.0.10

Beim allerersten Zugriff auf einen Server ist dem Client-System der Rechner noch nicht bekannt, und Sie müssen die Verbindung mit „yes“ bestätigen. Künftig entfällt diese Abfrage, weil der Fingerabdruck des Servers auf dem Client unter .ssh/known_hosts gespeichert wird. Nach Erlaubnis der Verbindung mit „yes“ erfolgt die Abfrage des User-Kennwort. Auf dem Remote-Terminal können Sie alle Befehle verwenden wie in einem lokalen Terminal. Sie bearbeiten Konfigurationsdateien, installieren Programme mit apt-get oder versorgen das System mit Updates. Der Befehl exit oder die Tastenkombination Strg-D beenden die SSH-Verbindung.

14. SSH-Datenaustausch mit dem Midnight Commander

Der Midnight Commander (MC) erlaubt unter Linux und Mac OS den direkten Datenaustausch zwischen Server und Client (anstatt über scp-Kommandos oder auf dem Umweg von Samba-Freigaben). Es beherrscht nämlich selbst SSH über die Option „Shell-Verbindung“ in den Menüs „Links/Rechts“. Wie bei ssh auf der Kommandozeile geben Sie hier den Servernamen oder die IP-Adresse an, optional bereits mit dem gewünschten User (etwa: root@192.168.0.10). Nach Eingabe des Kennworts zeigt der Midnight Commander in einer Fensterhälfte das Dateisystem des Servers, in der anderen das des zugreifenden Client – Sie können als root sofort Dateien im gesamten Dateisystem austauschen.

Der MC erwartet die Kommunikation über den SSH-Standardport 22. Für abweichende Ports gibt es eine spezielle Lösung: Legen Sie auf dem zugreifenden Linux-Client-System (nicht auf dem Server!) unter ~/.ssh die Datei „config“ neu an. Dort definieren Sie einen oder auch mehrere Server in folgender Weise:

Host raspi
Hostname 192.168.0.20
Port 12345
User root

Ab sofort genügt es, im MC beim Eingabefeld der „Shell-Verbindung“ als Host den Namen „raspi“ einzugeben. Alle übrigen Infos über IP, Port, User liest der MC aus der config-Datei.

Der Midnight Commander beherrscht SSH und bringt das Dateisystem des Servers direkt zum SSH-Client. Links sehen Sie den bereits verbundenen Server, rechts den Client-PC.

15. Linux-Dateimanager und Netzressourcen

Linux-Dateimanager wie Nautilus (Ubuntu) oder Nemo (Mint) können mit allen Netzressourcen inklusive Samba, FTP, Webdav und SSH umgehen. Wenn Sie in der Navigationsspalte auf  „Netzwerk“ gehen, werden die Netzrechner angezeigt, Windows- und Samba-Freigaben unter „Windows-Netzwerk“. Über die Adresszeile (editierbar nach Strg-L) können Sie direkte Serveradressen eingeben. Bei Windows- und Samba-Freigaben verwenden Sie „smb://[Server]/[Freigabename]“, wobei statt „[Rechner]“ immer auch die IP-Adresse des Servers funktioniert. Bei der Fernwartung von Servern mit SSH bieten Dateimanager oft komfortablere Bearbeitungsmöglichkeiten als das SSH-Terminal. Eine typische Adresse im Dateimanager könnte so lauten:

ssh://root@192.168.0.8[:Port]

Die Angabe der Portnummer ist nur notwendig, wenn der Port vom Standard „22“ abweicht. Nach der Anmeldung kopieren und bearbeiten Sie Daten bequem und sicher direkt im Dateimanager über das Protokoll SFTP.

Mit dem grafischen Dateimanager auf dem SSH-Server: Desktop-Dateimanager wie hier Nemo unter Linux Mint beherrschen das SSH-Protokoll ebenso wie Samba oder FTP.

16. Grafische Programme über SSH (X11-Forwarding)

Sofern es auf dem Server grafische Programme gibt, lassen sich diese auch über SSH starten und auf dem Client-PC anzeigen. Unter Linux als zugreifender Client ist der Aufwand am geringsten: Hier verwenden Sie beim SSH-Aufruf einfach den Schalter „-X“ (Großschreibung!):

ssh –X root@192.168.0.10

In der SSH-Konsole starten Sie dann etwa mit thunar oder gedit das gewünschte, grafische Programm.
Der SSH-Client von Mac OS X unterstützt nur die pure Kommandozeile. Für grafisches X11-Forwarding ist die zusätzliche Komponente XQuartz erforderlich (http://xquartz.macosforge.org/landing/).

17. SSH-Clients unter Windows (Putty / Xming)

Wenn Sie einen Linux-Server mit einem Windows-PC warten wollen, sind Sie auf Putty oder seinen fast identischen Klon Kitty angewiesen (auf Heft-DVD, Downloads und Infos unter www.putty.org und www.9bis.net). Kitty unterscheidet sich dadurch, dass es die automatische Übergabe des Passworts erlaubt („Connection -> Data“) und damit eine automatische Anmeldung, ferner dass es die Server-Daten in Klartextdateien unter \Kitty\Sessions ablegt (statt in der Windows Registry).

Putty/Kitty bieten die komfortable Verwaltung mehrerer Server. Die Basiskonfiguration ist einfach: Geben Sie unter „Host Name“ den Rechnernamen oder die IP-Adresse des Servers an. Mit „Connection type: SSH“ und dem vorgegebenen Standardport 22 können Sie sich mit „Open“ sofort verbinden. Für häufigeren Zugriff lohnt es sich, unter „Saved Sessions“ eine aussagekräftige Bezeichnung zu verwenden, „Appearance“, „Color“ und „Data“ (Benutzer) einzustellen und dies mit „Save“ dauerhaft zu speichern. Unter „Window -> Translation -> Remote character set“ sollten Sie den Eintrag „UTF-8“ wählen, damit Sonderzeichen und Linien in der SSH-Konsole korrekt angezeigt werden. Putty/Kitty dienen ausschließlich als SSH-Vermittlungsclient und Serververwaltung, die eigentliche Arbeit geschieht wie unter Linux im Terminal.

Grafische Programme über X11-Forwarding: Auch unter Windows bringen Sie grafische Programme des Servers auf den Desktop. Neben Putty/Kitty benötigen Sie dazu noch den kostenlosen X-Server Xming (http://sourceforge.net/projects/xming/). Xming muss laufen, bevor Sie die SSH-Session starten. Unter Putty/Kitty aktivieren Sie die maßgebliche Option unter „Connection -> X11 -> Enable X11 forwarding“ und tragen als „X display location“ die Angabe „localhost:0“ ein. Sichern Sie die Konfiguration mit „Session -> Save“. Die so gestartete SSH-Sitzung erlaubt wie unter Linux den Aufruf von grafischen Programmen.

Putty/Kitty unter Windows: Die Angabe der IP-Adresse und des Ports (Standard 22 ist voreingestellt) genügen. Benutzer und Kennwort werden dann bereits in der Konsole abgefragt.

Netzwerk-Hardware

Nachfolgend geht es um den Umgang mit der wichtigsten Netzwerk-Hardware, Optionen des Netzwerkausbaus und wichtige Konfigurationsmöglichkeiten. Ein Großteil dieser Infos gilt Betriebssystem-unabhängig: Für Router, Switch, Access Point, Repeater, Powerline-Adapter spielt das System eines Netzwerkgeräts keine Rolle.
Generell gilt im Netzwerk noch deutlicher als anderswo: Wenn die Hardware unzureichend, veraltet oder defekt ist, helfen keine Software-Tipps. Insbesondere bei diffusen Phänomenen eines zeitweise funktionierenden, aber immer wieder unterbrechenden Netzwerks sind Fehleranalyse und Austausch der Komponente alternativlos. Ein stabil langsames Netz ist hingegen nur eine Frage der Toleranz: Ausbaumöglichkeiten gibt es genug.

Die Router-Adresse

Die zahlreichen Router-Funktionen lassen sich in dessen Konfigurationsoberfläche über den Browser steuern. Dessen IP-Adresse lautet oft 192.168.178.1 oder 192.168.0.1, ist aber auch leicht zu ermitteln. Der Befehl

ip route show

zeigt die Adresse nach „default via …“ an. Im Prinzip genügt auch der Befehl ifconfig, wenn Sie im vierten Block der IPv4-Adresse statt der angezeigten Ziffer (die IP des aktuellen Geräts) die „1“ einsetzen.

Der Router zeigt eine wichtige Geräteübersicht mit allen Gerätenamen, IP- und MAC-Adressen (in der Fritzbox unter „Heimnetz -> Heimnetzübersicht“). Einige weitere fundamentale Router-Optionen wie die Vergabe von festen IP-Adressen oder den Hinweis auf das Fritzbox-NAS finden Sie im Haupttext (-> Punkt 9 und 10).

Der Gigabit-Switch

Im lokalen Netz verläuft nicht der gesamte Datenverkehr durch den Router: Wenn in einem Raum Kabelnetz verfügbar ist und dort ein Netzwerk-Switch mehrere Endgeräte verbindet, dann regelt der Switch den Datenaustausch dieser Geräte direkt – ohne Umweg zum Router und vor allem ungeachtet des sonstigen Netzdurchsatzes. Es wäre also falsch, im Hinblick auf die allgemeine Netzwerkleistung (Fast Ethernet, Powerline, WLAN?) auf einen Gigabit-Switch zu verzichten. Wenn die angeschlossenen Clients Gigabit-Ethernet beherrschen, lässt sich der Datenaustausch dieser Geräte erheblich optimieren.

WLAN-Adapter unter Linux

Externe WLAN-Adapter an USB sind nicht immer Linux-kompatibel. Wer Treiberproblemen aus dem Weg gehen will, kann sich an die folgenden preiswerten Empfehlungen halten (Preise bei amazon.de und conrad.de, Dezember 2016):

Edimax EW-7811UN Wireless USB Adapter (6,80 €)
Asus N10 Nano WLAN-Stick (10,15 €)
TP-Link TL-WN823N N300 Mini WLAN USB Adapter (10,00 €)
CSL 300 Mbit/s USB 2.0 WLAN Stick (12,50 €)
Fritz!Wlan USB Stick-N v2.4 (22,99 €)

Viele weitere WLAN-Adapter sind Linux-tauglich oder werden es nach gewisser Handarbeit. Eine Übersicht für Ubuntu-basierte Systeme (incl. Linux Mint) gibt die Seite https://wiki.ubuntuusers.de/WLAN/Karten/.

Troubleshooting: Wenn Linux keinen Treiber für den WLAN-Chipsatz eines Notebooks oder für einen USB-WLAN-Adapter anbietet, bleibt die Netzwerkschnittstelle unerkannt und der Network Manager an der grafischen Oberfläche kann keine Funknetze anbieten. Dann gilt es herauszufinden, mit welchem Chipsatz ein Gerät arbeitet. Bei Netzwerkkarten und internen Chips gehen Sie im Terminal

lspci |grep -i network

ein: Sie erhalten eine Liste aller Netzwerkgeräte im PCI-Bus mit Hersteller, Typenbezeichnung und Revisionsnummer. USB-Adapter sind weniger gesprächig. Eventuell zeigt der Stick selbst eine genaue Typenbezeichnung inklusive Revisionsnummer. Notfalls hilft der Befehl lsusb. Der zeigt Hersteller und Geräte-ID im Format XXXX:YYYY:

BUS 003 Device 004: ID 2001:3c15 D-Link Corp.

Der Teil vor dem Doppelpunkt bezeichnet den Hersteller (XXXX), die darauf folgende Zeichenkette (YYYY) ist das Gerät, in diesem Fall „3c15“. Beides ist auf der Seite www.linux-usb.org/usb.ids zu entschlüsseln. Nutzen Sie hier die Suchfunktion im Browser, um den exakten Gerätenamen mit Revisionsnummer anhand der ID zu ermitteln. Die Nummer ist wichtig, da viele Hersteller verschiedene Chipsätze verbauen, ohne die Typenbezeichnung zu ändern.

Mit der exakten Typenbezeichnung ist viel erreicht: Damit kann eine gezielte Suche nach Linux-Treibern starten. Erste Anlaufstelle ist nicht der Hersteller, sondern das Supportforum der verwendeten Distribution. Eine der besten Ressourcen im Web ist die schon genannte Adresse http://wiki.ubuntuusers.de/WLAN/Karten mit Hinweisen und Installationsanleitungen. Etliche Module für WLAN-Chipsätze gibt es für verbreitete Distributionen als fertiges Paket. Dann ist der Modulname über den Paketmanager der Distribution zu finden.

WLAN-Repeater einrichten

Ein Repeater vergrößert die Reichweite des Funksignals. Die je nach Ausstattung und Sendeleistung zwischen 20 und 100 Euro teuren Geräte sind die einfachste Methode, mangelhaftes WLAN zu verbessern. Leistungstechnisch sind aber andere Alternativen überlegen (siehe unten: Access Point, Powerline).

Falls es für eine Repeater-Ersteinrichtung keine WPS-Option gibt, können Sie das Gerät auch manuell einrichten. Dazu stecken Sie das Gerät in der Nähe eines PCs in eine Steckdose. Danach klicken Sie unter Linux auf den Network-Manager in der Systemleiste. Hier sollte ein zusätzliches Netz mit dem Namen des Repeaters erscheinen, mit dem Sie sich „Verbinden“. Der Sicherheitsschlüssel lautet oft „00000000“, ein eventuell abweichendes Standardkennwort verrät das Doku-Heftchen. Danach laden Sie die Repeater-Konfigurationsoberfläche im Browser. Netzwerknamen wie etwa „fritz.repeater“ funktionieren nicht immer. In diesem Fall müssen Sie die IP-Adresse des Repeaters eingeben, die Sie über die Liste der WLAN-Geräte im Router herausfinden. Einzige fundamentale Einstellung in der Konfiguration ist die Wahl des Funknetzes, das der Repeater verstärken soll. Aktivieren Sie in dieser Liste den Namen Ihres Netzes, und geben Sie das Kennwort für dieses Funknetz ein.

Bei der automatischen Ersteinrichtung übernehmen Repeater den Netznamen (SSID) der Basisstation. Das ist von Nachteil, wenn Sie mit Tablets oder Smartphones in der Wohnung unterwegs sind: Viele Geräte wechseln zwar automatisch zum Sender mit der optimalen Signalstärke, aber längst nicht alle und nicht alle schnell genug. Daher ist es besser, selbst entscheiden zu können, mit welchem WLAN-Sender man sich verbindet. Dazu sollte der Repeater einen eigenen Namen melden wie etwa „Repeater“. Dies lässt sich in der Konfigurationsoberfläche einstellen, etwa beim Fritz Repeater unter „WLAN -> Funkeinstellungen“.

Bei einem Repeater besteht wenig Tuningbedarf, aber es ist immer besser, wenn Sie die Konfigurationsoberfläche über eine feste IP erreichen. Geräte wie der Fritz Repeater bieten diese Möglichkeit nicht an. Die feste IP müssen Sie daher im Router definieren, wie im Haupttext unter -> Punkt 9 beschrieben.

WLAN-Access-Points einrichten

Wo das Router-Funknetz wichtige Räume nicht abdeckt, verwenden Sie an diesem Standort vorzugweise einen Access Point. Der bietet für etwa 40 Euro aufwärts deutlich besseren Datendurchsatz als ein Repeater, setzt allerdings voraus, dass am betreffenden Ort ein Zugang zum Kabelnetz besteht. Ob es sich dabei um eine direkte Kabelvernetzung handelt oder um eine Powerline-Brücke, spielt keine Rolle.

Ein Access Point wie etwa der abgebildete D-Link DAP-2310 (circa 65 Euro) wird über seinen Ethernet-Port mit CAT-Kabel am geeigneten Ort mit dem Kabelnetz verbunden. Sobald angeschlossen, lässt sich der Access Point über seine IP-Adresse am PC im Browser konfigurieren. Access Points nehmen sich per Werkseinstellung eine IP, die das Handbuch verrät, aber auch in der Geräteliste des Routers leicht zu finden. Mit der IP-Adresse laden Sie im Browser die Konfigurationsoberfläche des Access Points. Ab Werk bringt Sie eventuell der Benutzer „admin“ und leeres Kennwort in die Konfiguration. Im Zweifel sind die Zugangsdaten im Handbuch vermerkt. Sorgen Sie dann dafür, dass der „admin“ ein echtes Kennwort erhält und das Gerät künftig eine selbstdefinierte, feste IP (das geht sowohl in der Gerätekonfiguration als auch zentral im Router).

Das Einrichten des neuen Funknetzes geschieht unter „WLAN“, „Wireless“ oder „Drahtlos“ und erfordert die üblichen WLAN-Infos – also einen Netzwerknamen (SSID), den Verschlüsselungstyp sowie das Zugangskennwort. Danach können sich mobile Geräte zum  neuen Funknetz verbinden oder je nach Standort zur Basisstation. Verwenden Sie besser klar unterscheidbare SSID-Namen für das Router-Funknetz und für dasjenige des Access Points.

Repeater mit Ethernet-Port

Wenn Sie in Ihrem Netzwerk eindeutig auf WLAN setzen, kann sich die Situation ergeben, dass Sie punktuell eine Ethernet-Anbindung brauchen: Das wird etwa notwendig, wenn Sie fernab vom Router einen Netzwerkdrucker verwenden möchten, der kein WLAN, aber einen Ethernet-Port anbietet. Ein weiteres Beispiel wäre ein Linux-Rechner, der eine Kabelverbindung nutzen soll, um einem Treiberproblem mit WLAN aus dem Weg zu gehen.

Die einfachste Lösung für diese Aufgabe ist ein WLAN-Repeater mit zusätzlichem Ethernet-Port ab circa 20 Euro bis 100 Euro (je nach Ausstattung und Sendeleistung). Sie stecken den Repeater einfach am gewünschten Ort in die Steckdose und verbinden Repeater und Drucker oder PC mit einem CAT-Netzkabel. Leistungsstärker, kaum teurer, aber geringfügig aufwändiger ist der Einsatz zweier Powerline-Adapter (etwa ab 50 Euro).

Altgeräte als Repeater/Access Point

Besitzen Sie neben einer als Router genutzten Fritzbox noch eine ausgediente Fritzbox (auch „Speedport“), dann können Sie sich den Kauf eines Repeaters sparen. Die Geräte ergänzen sich als Basisstation und Repeater und bieten die Zusammenarbeit in der Konfigurationsoberfläche sogar direkt an. Die Option finden Sie unter „Erweiterte Ansicht“ im Menü „WLAN / Repeater“. Dort stellen Sie ein, was als Basis und was als Repeater arbeiten soll.

Beim Einsatz als Access Point gibt es keine Einschränkungen hinsichtlich des Geräteherstellers. Hier arbeiten auch Router und Altgeräte unterschiedlicher Hersteller zusammen: Schließen Sie den alten Router mit CAT-Kabel an das Kabelnetz an. Dessen Konfigurationsoberfläche erreichen Sie dann über seine IP-Adresse im Browser. Hier stellen Sie seine Funktion als DHCP-Server ab und auch sonst am besten alle Funktionen außer WLAN. Im Übrigen verfahren Sie wie bei einem Neugerät, definieren also SSID, Verschlüsselungstyp und Zugangskennwort. Auch hier empfehlen wir, unter „LAN“ (oder ähnlich) eine feste IP anzufordern, um den Zugang in die Konfiguration zu vereinfachen.

Einige Router zeigen in der Konfiguration eine explizite Option „Internetzugang über LAN“ oder ähnlich, die Sie aktivieren müssen. Andere Altgeräte wie die alten Speedports (Telekom-Klons der Fritzbox) lassen jeden Hinweis auf diese Einsatzmöglichkeit vermissen, arbeiten aber trotzdem einwandfrei als Access Points.

Powerline-Ethernet

Powerline ist eine Alternative zu WLAN oder zur Ethernet-Verkabelung. Aus Sicht des Endgeräts ist Powerline eine Ethernet-Verbindung. Das bietet gegenüber WLAN den Vorteil, dass Netzanmeldung und alle Treiberprobleme entfallen. Für den Datentransport wird die Stromleitung genutzt. Starterkits mit zwei Adapter und 500 MBit/s gibt es ab etwa 40 Euro, die aktuell schnellsten 1200 MBit/s-Adapter ab 85 Euro (AVM), besser mit Durchreichesteckdose für etwa 120 Euro (Devolo). Im Idealfall kommen die Adapter allerdings allenfalls auf 40 bis 50 Prozent der theoretischen Leistung, in ungünstigen Fällen auch nur auf 10 bis 20 Prozent. Fast-Ethernet-Leistung (100 MBit/s) sollte aber mit den schnellsten Adaptern überall zu erreichen sein. Wenn man bei einem Hersteller bleibt, sind Adapter unterschiedlicher Geschwindigkeiten (200, 500, 1200 MBit/s) zu hundert Prozent kompatibel.

Powerline-Adapter kommen in die Steckdose. Verwenden Sie nur Wandsteckdosen (keine Steckerleisten), und schließen Sie Steckerleisten über die Durchreiche des Adapters an. Die Einhaltung dieser und weiterer Empfehlungen der Hersteller ist keine Pedanterie: Nach unserer Erfahrung kann sich der Datendurchsatz bei einer optimalen Anschlussvariante gegenüber einer fehlerhaften verdreifachen (!). Empirisches Ausprobieren und Messung durch Kopieren großer ISO-Dateien hilft.

Den einen Adapter verbinden Sie per Ethernet-Kabel mit dem DSL-Router, den zweiten Adapter mit dem Endgerät (PC oder Switch). Bei der Ersteinrichtung drücken Sie innerhalb von zwei Minuten den Verschlüsselungsknopf am Gehäuse (bei älteren Devolo-Adaptern auf der Unterseite neben dem Ethernet-Port, bei neueren an der rechten Seite unten). Die Geräte handeln dann einen Code aus, über den sie sich künftig automatisch verbinden. Bei einem weiteren, späteren Ausbau stecken Sie den neuen Adapter an, drücken dann erst den Verschlüsselungsknopf auf einem der älteren Adapter und danach den Knopf auf dem neuen.

WLAN über Powerline

Powerline-Adapter können auch das Funknetz ausbauen. Ein Adapter wie der Devolo DLAN 500 Wifi (802.11n) für etwa 55 Euro eignet sich vor allem dort, wo schon eine Powerline-Basis vorliegt. Es muss mindestens ein weiterer normaler Powerline-Adapter per Ethernet mit dem Router verbunden sein, mit dem sich der Wifi-Adapter dann verbinden kann. Der Wifi-Erweiterungsadapter arbeitet wie ein Access Point und hat vergleichbare Funktionen (Gastnetz, Kindersicherung, Zeitschaltung).

Die Ersteinrichtung erfolgt durch Drücken der Verschlüsselungstaste – erst auf einem normalen Adapter, dann auf dem neu einzurichtenden Wifi-Adapter. Ist das Gerät auf diese Weise angemeldet, kommen Sie über die IP-Adresse an die Konfigurationsoberfläche. Beim genannten Devolo-Adapter legen Sie die üblichen Einstellungen wie SSID (Netzwerkname), WPA/WPA2 und das Kennwort unter „WLAN-Konfiguration -> Access Point“ fest. Auch hier empfehlen wir zur besseren Kontrolle eine vom primären Router-WLAN abweichende SSID.

Netzwerkdrucker

Drucker gehören zu den unkomplizierten Peripheriegeräten. Viele Modelle benutzen standardisiertes PCL (Printer Command Language) oder Postscript. Damit ist der Druck ohne genau passenden Druckertreiber möglich. Multifunktionsgeräte sind problematischer, da sie für jede Funktion einen Treiber benötigen. Nicht jedes Modell läuft mit allen Funktionen unter Linux.

Netzwerkdrucker richten Sie über „Systemeinstellungen –> Drucker –> Hinzufügen“ ein (Ubuntu/Mint). Unter „Neuer Drucker“ gehen Sie auf „Netzwerkdrucker“ und warten Sie eine oder zwei Minuten. Taucht der Drucker nicht von alleine auf, gehen Sie auf „Netzwerkdrucker finden“. Geben Sie hinter „Host“ den Namen oder die IP-Adresse des Druckers ein, und klicken Sie auf „Suchen“. Wird der Drucker gefunden, versucht Linux das Modell zu ermitteln und zeigt unter „Verbindung“ etwa „HP Linux Imaging and Printing (HPLIP)“ an. Nach weiteren optionalen Abfragen klicken Sie zum Abschluss auf „Anwenden“.

Für Druckerfreigaben von Windows-PCs gehen Sie unter „Neuer Drucker“ auf „Windows Drucker via SAMBA“. Nach „smb://“ tragen Sie den Pfad zur Windows-Freigabe in der Form „PC-Name/Drucker-Name“ ein. Eventuelle Leerzeichen in Druckerbezeichnungen müssen durch „%20“ ersetzt werden. Falls nötig, müssen Sie Benutzernamen und Kennwort zur Anmeldung auf dem Windows-PC angeben und diese Kontoinformationen auch unter „Authentifizierungs-Details jetzt festlegen“ eintragen. Dann klicken Sie auf „Vor“, wählen den Hersteller des Druckers und dann das Modell. Wenn mehrere Treiber angeboten werden, wählen Sie den „empfohlenen“.

Ubuntu Server mit Openbox

Wer einen Linux-Desktop so klein und schlank halten will wie möglich – aus Prinzip oder angesichts schwächerer Hardware  – kann etwa ein 32-Bit-Lubuntu wählen. Die Distribution stellen keine Anforderung an den Grafikchip und kommt schon mit einer CPU der Pentium-III-Klasse oder AMD Athlon zurecht. Für Lubuntu reichen 512 MB Arbeitsspeicher.

Lubuntu mit seinem LXDE-Desktop ist mit einem einfachen Startmenü und seiner Systemleiste pragmatisch ausgelegt. Die Systemleiste (lxpanel) ist aber nach Rechtsklick mit grafischer Hilfe optisch wie inhaltlich gut anpassbar und beliebig zu positionieren („Leisteneinstellungen -> Geometrie“). Dabei gelingen Leistenanpassungen im Vergleich zu Xubuntu und Ubuntu Mate einfacher, insbesondere bei vertikaler Anordnung. Für das Erscheinungsbild der Fenster und Schriftgrößen gibt es im Tool obconf („Einstellungen -> Openbox Konfiguration Manager“) diverse Themen und Optionen. Das Aufmacherbild zu diesem Artikel zeigt, dass Lubuntu nach einigen Anpassungen einen konservativen, aber sehr wohl attraktiven Desktop bieten kann. Typische Desktop-Nutzer werden aber an einigen Nachinstallationen nicht vorbeikommen: So kann der angestammte Dateimanager pcmanfm unter Lubuntu keine Netzlaufwerke mounten, was den Ersatz durch Nautilus nahelegt. Lubuntu mit dem überaus schlanken Openbox-Fenstermanager beansprucht nach der Anmeldung bescheidene 150 MB für System plus Oberfläche (bei 1 GB RAM).

Manueller Ausbau des Ubuntu Server: Geht Ubuntu noch sparsamer als mit Lubuntu? Gewiss und deutlich – allerdings nicht anstrengungslos. Ausgangspunkt ist die Web-Installation des Ubuntu Server in der 32-Bit-Ausführung über das mini.iso (Download der 32-Bit-Variante unter http://goo.gl/mSa5lQ). Der Installer ist textbasiert, entspricht aber inhaltlich genau dem grafischen Ubuntu-Installer. Kabelnetz und entsprechende Auswahl der Netzwerkschnittstelle beim Setup ist dringend zu empfehlen, weil das Setup viel aus dem Internet nachlädt. Eine instabile Internetverbindung verzögert das Setup nicht nur, sondern kann auch zu dessen Scheitern führen.

Ein Ubuntu Server ohne Auswahl aller Zusatzpakete fordert gerade mal 45 MB RAM, bootet aber erst mal nur in die virtuelle Textkonsole. Die Web-Installation bietet gegen Ende den Dialog „Softwareauswahl“. Unter anderem gibt es hier diverse Desktops in unterschiedlicher Ausführung – etwa auch ein „Lubuntu minimal“. Dies reduziert aber nur die Software-Ausstattung, sehr viel RAM-Ersparnis ist damit nicht zu erreichen.

Die harte Variante: Sie installieren Ubuntu Server fast nackt, wobei die „Standard-Systemwerkzeuge“ und der SSH-Server nie schaden können. Danach rüsten Sie einen minimalen Desktop manuell in der Textkonsole nach. Sparsamste Option ist Openbox mit ein paar Zutaten (eine Zeile):

sudo apt install openbox obconf obmenu lxterminal  
     tint2 tint2conf nitrogen lxappearance

Absolut notwendig sind nur openbox, obconf und obmenu. Lxterminal (oder auch xfce4-terminal) ist ein grafisches Terminal, Tint2 eine Systemleiste, Nitrogen ein Tool für Hintergrundbilder und Lxappearance ein Feineinstellungstool für grafische Fenster, während die grundlegende Optik das Tool Obconf erledigt (Openbox Konfiguration Manager).

Die grafische Oberfläche starten Sie nach der Anmeldung auf der Textkonsole mit

startx

Ein Rechtsklick auf dem Desktop zeigt das spartanische Menü, das Sie mit dem grafischen Tool obmenu ausbauen können. Die Systemleiste Tint2 lässt sich mit dem grafischen Tint2conf recht ansehnlich einrichten, Nitrogen baut ein Hintergrundbild ein und mit Obconf und Lxappearance optimieren Sie die Oberfläche. Etwas Erfahrung und Spaß an der Desktop-Bastelei sind Voraussetzung. Lohn der Investition ist ein phänomenal schlankes, grafisches System: Der Befehl free -m meldet lediglich 50 bis 60 MB RAM-Verbrauch. Nach optischem Ausbau der Leiste, des Hintergrunds und des Menü kann sich der RAM-Verbrauch auf 90 bis 100 MB steigern. Das ist aber immer noch vorbildlich sparsam.

Um den Startkomfort zu erhöhen, kann Openbox nach der Anmeldung in der Textkonsole auch direkt geladen werden. Hierfür genügt etwa folgender Abschnitt in der Datei ~/.bashrc:

x=$(ps -e | grep openbox)
if [ ${#x} -eq 0 ]
   then
   startx
fi

Die Openbox-Oberfläche wird mit „startx“ nur dann aufgerufen, wenn sie nicht bereits läuft – also nur in der virtuellen Konsole.

Weiterer Komfort ist über die Konfigurationsdatei ~/.config/openbox/autostart zu erreichen:

nitrogen --restore &
tint2 &

Damit lädt Openbox automatisch Nitrogen und dieses Tool wiederum automatisch das zuletzt genutzte Hintergrundbild. Außerdem wird die Systemleiste automatisch gestartet.

Die Systemleiste konfigurieren Sie relativ bequem über das grafische Tool tint2conf („Edit theme“). Die Ausrichtung finden Sie im Punkt „panel“, die Farben der Leiste unter „Backgrounds“. Die Einträge für den Schnellstarter sind unter „Launcher“ komfortabel per Mausklicks einzurichten.

Das puristische Openbox-Menü, das jederzeit auf Rechtsklick am Desktop erscheint, können Sie mit dem grafischen obmenu ausbauen. Über „New item“ entsteht ein neuer Einzeleintrag, über „New menu“ eine neue Menü-Kategorie, die dann Einzeleinträge aufnehmen kann. Für neue Einzelstarter ist nicht mehr notwendig als der Name, der im Menü erscheinen soll, und der Programmaufruf.

Minimalistisches Openbox auf der Systembasis von Ubuntu Server

Openbox / Bunsenlabs für Puristen

Genau so viel Desktop wie Sie brauchen, ist das Motto bei Openbox. Der Fenstermanager ist ein funktionaler und anpassungsfähiger Minimalist mit sehr geringen Hardware-Ansprüchen und kann dabei richtig gut aussehen.

Openbox ist nichts für PC-Anfänger. Diese Oberfläche setzt voraus, dass man ihre Bestandteile kennt und zielsicher konfigurieren kann. Die Distribution Bunsenlabs leistet viel verdienstvolle Vorarbeit – wieviel Vorarbeit, das erschließt sich erst, falls man ein Openbox von Grund auf neu einrichten will. Mehr als ein schlichtes Rechtsklick-Menü für den Desktop ist hier nicht zu sehen. Daher orientiert sich dieser Artikel an der Distribution Bunsenlabs, die den Fenstermanager Openbox vorbildlich ausstattet. Neben Bunsenlabs gibt es nicht viele Distributionen, die auf Openbox setzen. Zu nennen wären noch Salent OS (http://salentos.it/) oder Madbox (http://madbox.tuxfamily.org/).

Motive für Openbox

Warum sollte man sich Openbox in Kleinarbeit zurechtlegen, wo es doch diverse, scheinbar komfortablere Desktops gibt? Openbox hat einige sehr starke Argumente:

1. Der Fenstermanager ist klein, schnell, anspruchslos und macht auf älterer Hardware oder auf USB-Mobilsystemen eine gute Figur. In Form der gut ausgestatteten Distribution Bunsenlabs ist das System mit 1 GB RAM hochzufrieden und kommt auch mit der Hälfte klar, da für System (32 Bit) und Desktop nur etwa 150 MB erforderlich sind. Auf dem Datenträger sind 3 GB Minimum, für Installationen und Benutzerdaten sollten es natürlich entsprechend mehr sein.

2. Wer sich auf Openbox einlässt, kann sich die Oberfläche im Detail zurechtlegen. Die großartige Anpassungsfähigkeit betrifft Aussehen, Farben, Schriftgrößen, Menüangebot, Desktop-Infos, Tastenkombinationen. Openbox kennt keine Zwangselemente: Alle Desktopelemente lassen sich modular ein- und ausschalten.

3. Ein gut eingerichtetes Openbox ist funktional und ästhetisch. Bunsenlabs „Hydrogen“ legt als würdiger Crunchbang-Nachfolger ein Desktop-Angebot vor, das bei puristisch veranlagten Ästheten Kultcharakter hat. Bunsenlabs präsentiert Openbox in einer ansprechenden und über weite Teile mit grafischen Mitteln anpassbaren Optik. Jedoch spricht auch Bunsenlabs primär erfahrene Systembastler an.

Installation von Bunsenlabs oder Openbox

Den Punkt der Installation halten wir relativ kurz, da er vom eigentlichen Thema der Openbox-Einrichtung wegführt. Das Setup erledigt der Debian-Installer strukturiert und vorbildlich informativ. Auch der heikelste Abschnitt „Festplatten partitionieren“ ist übersichtlich – mit klaren Infos und Sicherheitsrückfragen.
Bunsenlabs lädt nach der allerersten Anmeldung ein Startscript „bl-welcome“, das ein Systemupdate und Nachinstallationen vorsieht. Das Script ist umfangreich (Paketquellen-Update, Upgrade, Power-Manager für Notebooks, Wallpapers, Libre Office, Druckertreiber, Java, Flashplayer, Open SSH, LAMP) und lohnt in jedem Fall eine Durchsicht.

Openbox als Desktop nachrüsten: Natürlich lässt sich der Fenstermanager Openbox auch unter einem laufenden System einrichten. Dazu installieren Sie folgende Pakete im Terminal:

sudo apt install openbox openbox-themes obconf obmenu

Danach melden Sie sich ab, gehen Sie in der Sitzungsauswahl auf „Openbox“, und melden Sie sich wieder an. Es erscheint ein komplett leerer Desktop, doch nach Rechtsklick erhalten Sie das Openbox-Menü. Alles Weitere müssen Sie manuell nachrüsten – etwa im Stil von Bunsenlabs.

Openbox-Menü und Menü-Editor: Für Anpassungen des hierarchischen Textmenüs gibt es das bequeme grafische Tool obmenu.

Die Desktop-Zutaten in Bunsenlabs

Die wesentlichen Standardkomponenten am Desktop sind folgende:

1. Das Menü: Das Textmenü erscheint nach Rechtsklick auf eine freie Desktopstelle und startet das dort gewählte Programm. Das Menü erscheint an der Stelle, wo Sie den Rechtsklick auslösen. Gibt es keinen freien Desktopbereich, weil auf dem jeweiligen Desktop-Workspace ein Programm im Vollbild läuft, dann hilft der Rechtsklick auf die Systemleiste. Die Beenden-Optionen wie Herunterfahren oder Abmelden finden Sie im untersten Eintrag „Exit“. Das Menü ist das einzige angestammte Bedienelement von Openbox und ist inhaltlich beliebig anpassbar (siehe unten).

2. Die Tint2-Leiste: Die Systemleiste erscheint standardmäßig am oberen Bildschirmrand. Als typische Ausstattung enthält die Leiste ganz links einige Programmfavoriten mit Icon, dann folgt die Taskbar mit so vielen Bereichen wie Desktop-Workspaces definiert sind. Rechts ist der Systray-Bereich mit Netzwerk, Lautstärkeregler, Multiclipboard und ganz rechts schließlich die Zeitanzeige.
Als Systemleiste dient das externe Programm Tint2. Für mehrere Leisten müssen mehrere Tint2-Instanzen geladen werden mit je eigener Konfigurationsdatei (unter ~/.config/tint2). Tint2 ist ungemein anpassungsfähig, fordert aber intensive Einarbeitung in die Konfigurationsdirektiven (www.mankier.com/1/tint2). Das grafische Tool Tint2conf ist unter Bunsenlabs vorinstalliert, ist aber keine große Hilfe, weil es die aktuellen Werte zwar anzeigt, aber derzeit noch nicht ändern kann. Das Openbox-Menü führt über „Preferences -> Tint2 -> Edit Tint2s“ zur Konfigurationsdatei des aktuellen Tint2.

3. Der Conky-Systemmonitor: Ebenfalls Standard ist ein Systemmonitor, der typischerweise transparente Infos wie CPU- und RAM-Auslastung, Uptime, Zeit, Hostname sowie die wichtigsten Hotkeys anzeigt. Hier arbeitet das externe Programm Conky, das wie Tint2 in einer oder mehreren Instanzen laufen kann. Conky kann im Prinzip alles anzeigen von invariablen Textinfos über dynamische Daten wie Kalender oder Festplattenbelegung bis zur grafischen Darstellung solcher Infos.

4. Die Dmenu-Kommandozeile: Neben dem normalen Menü gibt es mit Hotkey Alt-F3 noch ein „Dynamic Menu“, das alphabetisch alle Programmnamen auflistet, die es im Pfad vorfindet. Mit Tab-, Cursor- oder Bildtasten blättern Sie im Angebot, mit einer Eingabe wie „fi“ filtern Sie etwa schnell Firefox, Filezilla, File-Roller. Der Programmstart erfolgt mit Eingabetaste, wobei aber nur grafische Programme startbar sind. Dmenu leistet aber eine gute Info über alle installierten Tools. Der Desktop wird erst wieder benutzbar, wenn Sie ein Programm gestartet haben oder Dmenu mit Esc verlassen.

Themen und Einstellungen: Für die fundamentale Fensteroptik ist der „Openbox-Einstellungsmanager“ zuständig (obconf), der im Menü als „GUI Menu Editor“ erscheint.

Die grafischen Anpassungshilfen

Wer die Möglichkeiten der skizzierten Desktop-Zutaten ausschöpfen will, landet früher oder später mit dem Editor in den zugehörigen Konfigurationsdateien. Für die wichtigsten Desktop-Anpassungen liefert Bunsenlabs aber grafische Werkzeuge mit:

1. Das Tool Obconf: Den „Openbox Einstellungsmanager“ erreichen Sie im Menü über „Preferences -> Openbox -> GUI Config Tool“) oder durch direkten Aufruf von obconf. Es handelt sich um grundlegende Einstellungen der Openbox-Fensterverwaltung und des Openbox-Menüs. Änderungen an Themen und Fenstereinstellungen (Titelleiste und Controls), Arbeitsflächen, Maus werden sofort angezeigt. Während „Thema“ farbliche Vorgaben definiert, bestimmt „Erscheinungsbild“ die Controls der Fenstertitel und die Schriftgrößen in Fenstertitel und im Openbox-Menü. Einige weitere Punkte wie „Arbeitsflächen“ sind weitgehend selbsterklärend. Der Punkt „Dock“ hat keine Bedeutung, wenn man auf den Einsatz der „Dockapps“ verzichtet.
Die Einstellung „Ränder“ ist wichtig, falls Sie auf die Tint2-Systemleiste verzichten. Das Openbox-Menü kann durch Rechtsklick auf eine freie Desktopstelle oder die Tint2-Leiste ausgelöst werden. Ohne Leiste müssten Sie ein Vollbildprogramm erst verkleinern oder minimieren, um an das Openbox-Menü zu kommen. Hier helfen „Ränder“. Ein Pixel etwa auf der rechten Seite genügt: Dann setzt man einfach die Maus ganz nach rechts, um mit Rechtsklick das Menü auszulösen.

2. Das Tool Lxappearance: Den Dialog „Erscheinungsbild anpassen“ finden Sie im Menü unter „Preferences -> Appearance“. Das vom LXDE-Desktop ausgeliehene Programm bestimmt das Aussehen von Icons, Mauszeiger und Schriften. Der wichtigste Punkt „Fenster“ gibt die Optik für Programm-Menüs und -Dialoge vor. Die Größe der Menü-Schrift ist hier neben „Schrift“ ab 6 Punkt aufwärts beliebig skalierbar.

3. Das Tool Obmenu: Zur inhaltlichen Anpassung des Openbox-Menüs dient Obmenu, das Sie über „Preferences -> Openbox -> GUI Menu Editor“ erreichen. Das Löschen, Umbenennen oder Verschieben von Menüeinträgen ist mit den vorgegebenen Schaltflächen und Eingabefeldern selbsterklärend. Neue Menüordner fügen Sie mit „New menu“ hinzu, Einzeleinträge über „New Item“ nach dem Muster der vorhandenen. Ein neuer Menüpunkt wird immer oberhalb des aktuell markierten Eintrags eingefügt. Über „Label“ vergeben Sie den Namen, neben „Execute“ tragen Sie den Programmaufruf ein. Die gewünschte Aktion („Action“) ist gewöhnlich der Programmstart mit „Execute“, alle anderen Vorgaben („Exit“, „Restart“) beziehen sich auf Openbox. Wenn Sie mit einem Menüeintrag ein Programm beenden wollen, verwenden Sie etwa „pkill conky“ als Execute-Eintrag. Alle Änderungen in Obmenu gelten sofort nach „File -> Speichern“.

4. Das Tool Nitrogen: Für die Auswahl des Hintergrundbildes gehen Sie auf „Preferences -> Choose Wallpaper“. Bunsenlabs nutzt für diese Aufgabe das externe Programm Nitrogen.

In den Openbox-Konfigurationsdateien

Openbox nutzt lediglich drei zentrale Konfigurationsdateien unter ~/.config/openbox, deren Editieren auch im Menü über „Preferences -> Openbox“ angeboten wird:
1. Die Datei menu.xml enthält das Menüangebot. Diese Datei ist bequem über das grafische Tool Obmenu zu bearbeiten.
2. Die Datei rc.xml definiert sämtliche Hotkeys. Openbox nutzt zahllose Tastenkombinationen und bietet im Menü über „Display Keybinds“ einen lohnenden Überblick. Die Vorgaben der der rc.xml können Sie manuell beliebig ändern. Ein typischer Eintrag

<keybind key="W-f">

 

<action name="Execute"><execute>filezilla</execute></action>

 

</keybind>

definiert für Windows-Taste und Taste F den Start des FTP-Client Filezilla. „W“ steht also für die Windows-Taste, ferner „A“ für Alt, „C“ für Strg und „S“ für die Shift-Taste. Damit Änderungen wirksam werden, rufen Sie „Preferences -> Openbox -> Reconfigure“ auf.
3. Die kleine Datei autostart ist das zentrale Startscript, das alle Desktop-Module oder sonstige Programme aufruft. Sie können den Umfang mit jedem Editor reduzieren oder erweitern. Um etwa den Conky-Monitor zu deaktivieren, kommentieren Sie die Zeile mit „bl-conky-session“) einfach mit führendem #-Zeichen aus. Eigene Autostarts fügen Sie mit dem zugehörigen Programmaufruf an geeigneter Stelle als zusätzliche Zeile hinzu. Das Script startet alles einfach in der angegebenen Reihenfolge.

Openbox nutzt zahlreiche Hotkeys: Es lohnt sich ein genauerer Blick auf die vordefinierten „Keybinds“. Zuständig ist die Datei rc.xml, die Sie beliebig manuell anpassen können.

Tint2-Leisten und Conky-Anzeigen

Tint2-Systemleisten sind ungemein flexibel, aber über die Textdateien unter ~/.config/tint2/ relativ mühsam zu editieren. Da sich dieser Aufwand jedoch lohnt, nennen wir an dieser Stelle zumindest die allerwichtigsten Direktiven. Der Eintrag (Beispiel)

panel_items = LTSC

definiert, welche Elemente die Leiste in welcher Reihenfolge anzeigen soll. Möglich sind der Launcher (L) mit Programmfavoriten, die Taskbar (T), der Systray-Bereich (S), der Batterieladezustand (B) und die Uhrzeit (C). Die weiteren Optionen E und F lassen wir außen vor, zumal sie mit dem Verzicht auf die unentbehrliche Taskbar (T) einhergehen.
Wenn Sie einen Launcher-Bereich (L) nutzen, dann können Sie die gewünschten Favoriten unter „#Launcher“ in der Form

launcher_item_app = /usr/share/applications/firefox-esr.desktop

eintragen. Notwendig ist hier also der komplette Pfad zur passenden Desktop-Datei.
Die wichtigsten Direktiven für Position, Ausrichtung und Größe sind folgende:

panel_position = top right vertical
panel_size = 95% 120

Dies würde eine vertikale Leiste am rechten Bildschirmrand zeichnen, die nicht ganz von oben nach unten reicht (95 Prozent) und 120 Pixel breit ist. Werteangaben sind sowohl in Prozent als auch in absoluten Pixelwerten möglich.

Änderungen in der Konfigurationsdatei wirken sich erst aus, wenn Sie Tint2 über „Preferences -> Tint2 -> Restart Tint2“ neu starten. Wer sich intensiv in die Tint2-Konfiguration einfuchsen will, sollte die Manpage unter www.mankier.com/1/tint2 aufsuchen.
Conky-Monitor: Gemessen am Ergebnis – nämlich der Darstellung einiger Systeminfos am Desktop – ist die Anpassung von Conkys ein ambitionierter Sport (zumal sich mit Windows-H jederzeit der Htop-Taskmanager starten lässt). Immerhin gibt es eine Reihe vorinstallierter Conky-Vorlagen unter „~/.config/conky“, die Sie am einfachsten im Menü über „Preferences -> Conky -> Conky Chooser“ erreichen. Wer über „Edit Conkys“ tatsächlich selbst Hand anlegen will, kann mit „alignment“ die Position am Desktop festlegen, mit „xftfont“ die Schriftgröße. Der eigentliche Inhalt des Conkys steht am Ende der Konfigurationsdatei unter „TEXT“. Dies sind nur die allerwichtigsten Direktiven der komplexen Conky-Konfigurationsdateien, weitere Infos finden Sie unter https://wiki.ubuntuusers.de/Conky/. Beim Speichern der Datei ~/.conkyrc startet ein Conky automatisch neu. Conkys lassen sich auch temporär anzeigen: conky -i 30 blendet die Info 30 Sekunden ein und beendet dann das Conky.

Tint2-Leiste und zugehörige Konfigurationsdatei: Das Eintragen der gewünschten Launcher-Favoriten ist eine der leichtesten Übungen.

Openbox und Bunsenlabs „Hydrogen“

Bunsenlabs basiert auf Debian 8 und präsentiert ein sorgfältig eingerichtetes Openbox inklusive grafischen Tools und Scripts. Als Paketverwaltung dient Synaptic oder apt im Terminal. Bunsenlabs ist in der 32-Bit-Variante bootfähig auf Heft-DVD.
Projektseite: www.bunsenlabs.org
Download: www.bunsenlabs.org/installation.html
Infos: https://forums.bunsenlabs.org/
https://wiki.ubuntuusers.de/Openbox/
https://wiki.mageia.org/de/Openbox
https://wiki.archlinux.de/title/Openbox

Noch ein Tipp: Der Desktop von Openbox hat keine Ordnerfunktionalität, kann also nicht als Dateiablage dienen. Wer diese Eigenschaft für unentbehrlich hält, hat theoretisch zwei Möglichkeiten: Eine Option ist das Nachinstallieren eines Dateimanagers wie Nautilus, der diese Fähigkeit mitbringt (nautilus –force-desktop). Eine Alternative sind Tools wie idesk (http://idesk.sourceforge.net). Doch können beide Lösungen nicht überzeugen: idesk ist technisch unbefriedigend, und Nautilus deaktiviert logischerweise das zentrale Rechtsklick-Menü. Ein simples Workaround ist der automatische Start einer Dateimanager-Instanz mit

 thunar ~/Desktop

in der Datei „~/.config/openbox/autostart“. Während man in weiteren Desktop-Workspaces arbeitet, bleibt am ersten Desktop dauerhaft der Transferordner geöffnet. Programme wie Browser oder Office können Sie leicht anweisen, den betreffenden Ordner standardmäßig als Arbeits- oder Download-Ordner zu nutzen.

 

Bash on Ubuntu on Windows

Noch ist „Bash on Ubuntu on Windows“ Beta, aber das Ding wird bald allgemein unter Windows Einzug halten. Das Windows Subsystem for Linux (WSL) ist wesentlich mehr als nur eine Bash-Shell: Es bildet das komplette Dateisystem eines Ubuntu ab und enthält unter /bin und /usr/bin alle typischen Kommandozeilenwerkzeuge. Über die Ubuntu-Repositories und apt-get install können weitere Werkzeuge nachinstalliert werden. Trotz noch bestehender Mängel ist der Eindruck evident, dass hier Microsoft in Zusammenarbeit mit Canonical (Ubuntu) ein ehrgeiziges und nachhaltiges Projekt auf die Beine stellt.

Einrichtung und erster Eindruck

Als Vorbereitung ist unter Windows 10 zunächst via Startmenü über „Einstellungen -> Update und Sicherheit -> Für Entwickler“ der „Entwicklermodus“ zu aktivieren.

Danach wird in der Systemsteuerung unter „Programme und Features -> Windows Features aktivieren“ das Paket „Windows Subsystem für Linux“ angeboten und kann durch ein Häkchen und „OK“ installiert werden. Dieser Vorgang wird auch in Zukunft optional bleiben, da typische Windows-User eine Linux-Shell in der Regel nicht vermissen.

Optionales Feature: Das Linux-Subsystems wird kein Windows-Standard, sondern muss vom Nutzer nachgerüstet werden.
Optionales Feature: Das Linux-Subsystems wird kein Windows-Standard, sondern muss vom Nutzer nachgerüstet werden.

Nach dieser Aktion findet sich im Windows-Startmenü das neue Programm „Bash on Ubuntu on Windows“, das den kleinen Bash-Launcher aufruft (bash.exe). Falls das Startmenü den Link nicht anbietet, starten Sie die bash.exe manuell in Cmd-Konsole im Pfad \Windows\System32.

Neuerdings (2016 noch nicht beobachtet) kann sich noch eine kleine Hürde einstellen: Wenn der Aufruf der bash.exe mit der Meldung „Zur Verwendung dieses Features muss die Legacykonsole deaktiviert werden“ scheitert. klicken Sie rechts auf die Titelleiste der Cmd.exe und deaktivieren auf der Registerkarte „Optionen“ das Kästchen vor „Legacykonsole“:

Danach erledigt der Aufruf der bash.exe die eigentliche Installation des minimalen Ubuntu vom Canonical-Server. Am Ende werden Sie aufgefordert, ein (sudo-berechtigtes) Benutzerkonto und dessen Passwort anzulegen. Ab sofort ist die Bash-Shell einsatzbereit.

Die eigentliche Ubuntu-Umgebung befindet sich im User-Kontext unter \user\[Konto]\AppData\Local\lxss, darunter liegt das Dateisystem \user\[Konto]\AppData\Local\lxss\rootfs mit der üblichen Verzeichnisstruktur und etwa 550 MB nach der Installation. Diese Ordner werden vom Windows-Explorer versteckt, sind aber mit direkter Eingabe in die Explorer-Adresszeile ebenso wie mit der Cmd-Kommandozeile problemlos zu erreichen.
Die Benutzung der „Bash on Ubuntu on Windows“ unterscheidet sich bei einfacheren Aufgaben weder funktional noch leistungstechnisch von einer Ubuntu-Shell. Wer sich schon mal mit der weitaus hakeligeren Cygwin-Bash beschäftigt hat, wird in jeder Hinsicht positiv überrascht sein. Es gelingt uns mühelos, mit dem ssh-Client Verbindung zu unseren Servern aufzunehmen, was künftig die Windows-Clients Putty und Kitty weitgehend überflüssig machen könnte.

Bevorzugte Werkzeuge wie htop, nmap, inxi oder mc sind über apt-get problemlos nachinstalliert. Da der Midnight Commander hier auch SSH beherrscht, ist sehr bequemer Austausch des Windows-Systems mit Linux-Servern garantiert.

Für die direkte Zusammenarbeit mit Windows ist das Windows-Systemlaufwerk automatisch unter /mnt/c gemountet, was nach der Definition einiger Bash-Aliases schnell zum komfortablen Datenaustausch zwischen Windows-Desktop und Linux-Shell führt.

Weitere interne oder externe Laufwerke des Windows-Rechners sind gemäß den dort verwendeten Laufwerksbuchstaben unter /mnt/d, /mnt/e und so fort zu finden.

Der Befehl

uname -a

meldet brav ein 64-Bit-„GNU/Linux“ und

lsb_release -a

ein Ubuntu 14.04.5 LTS.

Zweimal das Verzeichnis /usr/bin: Das Dateisystem des Linux-Subsystems befindet sich im Benutzerkonto unter \Users\[Konto]\AppData\local\lxss.

Für Linux-Entwickler? Für Linux-User?

Schon das Freischalten des Subsystems mit der Option „Entwicklermodus“ macht deutlich, welche Zielgruppe Microsoft mit der „Bash on Ubuntu on Windows“ in erster Linie im Auge hat. Es sind Entwickler, die unter Linux mit Python, Ruby, Git und Gnu-Compiler arbeiten und dies theoretisch künftig auch unter Windows erledigen können. Microsoft behauptet allerdings auch, mit der Bash einfach nur eine gute Kommandoshell anbieten zu wollen, die dann auch normale Nutzer ansprechen soll (und natürlich solche, die an Bash gewöhnt sind). Einige Möglichkeiten tun sich da in der Tat zwanglos auf, zumal der Launcher bash.exe auch Parameterangaben vorsieht – etwa:

bash.exe myscript.sh
bash.exe -c "mc ~"

„Bash on Ubuntu on Windows“ ist ein unglaublich ambitioniertes Projekt, das jetzt schon überraschend viel kann und das unbedingt weitere Beobachtung verdient.

Der Vergleich zwischen der 2016 veröffentlichten „Bash on Ubuntu on Windows“ mit der aktuellen (Stand: 09.03.2017) zeigt, dass Microsoft und Canonical fleissig weiterentwickeln. Diverse Mängel bei der Bedienung, bei der Eingabe von Sonderszeichen  oder beim Scrollen im Editor, sind weitestgehend ausgeräumt.

Auch grafische Linux-Programme starten anstandslos, wenn unter Windows der X-Server xming (https://sourceforge.net/projects/xming/) installiert ist aud läuft. Grafische Tools hat das Ubuntu zwar zunächst nicht an Bord, sie sind aber über apt-get ebenso nachrüstbar wie Kommandozeilentools.

Als praktisches Highlight für den Benutzeralltag sehe ich die SSH-Shell-Verbindung im Midnight Commander. Umstandsloser, direkter und komfortabler  kann der unbeschränkte Dateiaustausch zwischen Windows und einem Linux-Server nicht stattfinden – auf der einen Seite das komplette Dateisystem des Linux-Rechners, auf der anderen Seite unter /mnt das komplette Dateisystem des Windows-Rechners. Die SSH-Clients Putty/Kitty haben bei mir weitgehend ausgedient.

Midnight-Commander mit SSH-Shell-Verbindung: Hier ist links der Windows-Desktop und rechts der Linux-Server im Bild.

Powershell für Ubuntu

Microsoft’s Powershell ist eine Kommandozeile mit genialer Technik, aber abweisender Bedienbarkeit. Die auf Linux portierte Powershell ist noch im Alpha-Stadium und zeigt neben der üblichen Sperrigkeit auch noch einige Baustellen.

„Ubuntu unter Windows“ hat einen ambitionierten und umfassenden Anspruch, befindet sich allerdings noch in der Entwicklung. Mit diesem Subsystem „Bash on Ubuntu on Windows“ hat der Linux-Admin eine Bash-Shell inklusive aller notwendigen Tools unter Windows 10 an Bord.
Den genau umgekehrten Weg geht Microsoft inzwischen mit der Powershell für Ubuntu, Cent OS, Red Hat und Mac OS X. Auch hier hat Microsoft die Admins im Visier: Ein an die Powershell gewohnter Windows-Admin findet dann auch unter Linux seinen vertrauten Kommandozeileninterpreter, und nebenbei sollen wohl auch alteingesessene Linux-Admins von der Überlegenheit der Powershell gegenüber einer Bash überzeugt werden. So ganz sicher sind wir uns da nicht…

Das Alleinstellungsmerkmal der Powershell

Eine Bash-Shell unter Linux oder der altehrwürdige Cmd-Kommandointerpreter unter Windows sind sich in einem Kernpunkt ganz nahe: Um irgendwelche Datei-, Netzwerk-, Prozess- oder Laufwerkseigenschaften oder wie auch zu ermitteln und zu verarbeiten, muss die Textausgabe irgendeines einschlägigen Kommandos gefiltert werden (mit wiederum einschlägigen Mitteln wie grep, sort, awk…), um dann das Wesentliche in eine Variable oder auf den Bildschirm zu schreiben. Das ist mühsames Handwerk und zudem fehleranfällig, sobald ein Tool seine Textausgabe marginal verändert.
Die internen Befehle der Powershell (Cmdlets) arbeiten hingegen objektorientiert. Ein Befehl

get-process

mag auf den ersten Blick nicht viel anders aussehen als ein ps -A in der Bash-Shell. Der fundamentale Unterschied zeigt sich, wenn nach

 $a=get-process

die Variable $a sämtliche Eigenschaften sämtlicher Prozesse enthält. Diese Objektmenge lässt sich dann wiederum zielgenau nach Eigenschaften filtern:

 $a | where {$_.name -like "firefox"}

Dies zeigt die wichtigsten Eigenschaften des Prozesses „firefox“ (wenn Sie der Zeile noch ein “ | select *“ anhängen, erscheinen alle Eigenschaften). Dieser Befehl

 $a | select name,cpu | sort-object cpu

sortiert die Prozesse mit der höchsten CPU-Nutzung aufsteigend und zeigt dabei nur die beiden Eigenschaften „name“ und „cpu“ an. Ein letztes Beispiel

 get-process | where {$_.cpu -gt 40} | select name,path,starttime,cpu

liefert für die Prozesse mit höherem CPU-Verbrauch vier wesentliche Eigenschaften.
Eine Einführung in die Powershell ist an dieser Stelle nicht möglich (siehe dazu den Beitrag Windows-Powershell auf meiner Web-Seite). Nur soviel: Mit die mühevollste Aufgabe in der Powershell ist es, jeweils die benötigten Eigenschaften oder Methoden eines Objekts zu ermitteln. Der einschlägige Befehl dafür lautet jeweils „get-member“:

get-process | get-member
dir /home | get-member
echo "Hallo" | get-member

Dies zeigt die Eigenschaften von Prozess-, Dateisystem- und String-Objekten.

Installieren und Einrichten unter Ubuntu

Die Installation der Powershell unter den bislang vorgesehenen Distributionen ist zunächst ganz einfach: Das unter der freizügigen MIT-Lizenz verfügbare Paket erhalten Sie unter https://github.com/PowerShell/PowerShell. Wir haben unter Ubuntu 16.04 das passende DEB-Paket geladen. Für die Installation genügt danach der Doppelklick auf das Paket, das nach unserer Erfahrung die Komponenten libunwind8 und libicu55 bereits mitbringt (Hinweise im Internet, diese gesondert nachzurüsten, sind demnach hinfällig). Auf Headless-Servern geht natürlich auch die Einrichtung mit

dpkg -i [Paketname]

auf der Kommandozeile.
Die Powershell erscheint unter Ubuntu nicht im Dash, sondern muss im Terminal mit dem Befehl powershell gestartet werden. Im Prinzip kann man nun loslegen, jedoch wird die sperrige Shell niemand verwenden, ohne sie über eine Profildatei mit Aliases und Functions etwas kommoder zurechtzulegen. Der nach der Installation eingerichtete Ordner „~/.config/PowerShell“ ist nicht der richtige Ort dafür, wie die Abfrage mit $Profile zeigt. Der Ordner muss in Kleinschreibung „~/.config/powershell“ lauten und die Profildatei exakt „Microsoft.PowerShell_profile.ps1“. Wer von Windows kommt und ein PS1-Startscript besitzt, ist mit der Kopie dieses Scripts an den beschriebenen Ort schon mal ein gutes Stück weiter.
Ein Tipp: Mit dem Aufruf

powershell -noexit -file [Pfad]/xyz.ps1

lässt sich jedes PS1-Script für eine Sitzung als Startscript definieren.
Grundsätzliche und aktuelle Beschränkungen
Wer die Powershell unter Windows einigermaßen kennt (und nur solche Nutzer kommen ernsthaft in Betracht), stellt schnell fest, dass der Umgang mit fundamentalen Objektklassen wie Dateien, Strings, Prozesse unter Linux vertraut und fehlerlos funktioniert. Aber die technischen Unterschiede machen unter Linux einige Cmdlets sinnlos (Registry) oder vorerst unportierbar (Dienste-Kontrolle mit get-service, Management-API über das wmi-object oder Windows Remote Management über WinRM). Dies relativiert die Aussagen Microsofts schon signifikant, dass ein Powershell-Kundiger seine Investitionen nun nach Linux mitnehmen kann.

Daneben gibt es auch kleine, nervige Probleme, die es aktuell zu umgehen oder auszuräumen gilt: Um den Linux-Admin nicht abzuschrecken, verzichtet die Shell auf diverse Aliases, die wiederum der Windows-Admin erwartet. So nutzt etwa eine Pipe mit „[…] | sort“ den üblichen Sort-Befehl von Linux, der Text statt Objekteigenschaften zurückgibt. Wer das Powershell-Cmdlet braucht, muss es mit „[…] | sort-object“ explizit ausschreiben.
Eine irritierende Kleinigkeit ist es, dass eine Prompt-Funktion im PS1-Startscript aktuell einen mit write-host definierten Kommandoprompt zweimal ausgibt. Die Recherche im Internet zeigt, dass man mit diesem Fehler nicht allein ist auf der Welt – allerdings so gut wie allein: Die Powershell ist unter Linux-Admins und Nutzern definitiv noch nicht angekommen.

Fazit: Eine unfertige Alpha (Microsoft) ist die Powershell für Linux nicht mehr, aber für aufgeregte Begeisterung im Linux-Lager reicht es – wenn je – derzeit nicht. Man sollte aber dieses Präzisionswerkzeug nicht unterschätzen: Insbesondere die exzellenten Möglichkeiten der String-Verarbeitung könnten auch Admins überzeugen, die ihre Konfigurationsdateien bislang mit sed & Co. manipuliert haben. Es ist ja keineswegs so, dass sich die Bash und die Powershell als Entweder-Oder konkurrieren: Ist ein Spezialjob in der Powershell erledigt, ist der Admin mit einem exit wieder zurück in der Bash-Heimat.

Mehr Infos zur Powershell für Linux

Download: https://github.com/PowerShell/PowerShell

Infos: https://msdn.microsoft.com/en-us/powershell

Quelle für Powershell-Insider mit Details über Cmdlets, die der Powershell für Linux und Mac OS X entweder fehlen oder noch nicht funktionieren: https://github.com/PowerShell/PowerShell/blob/master/docs/KNOWNISSUES.md

Microsoft-Video (50 min.): https://youtu.be/2WZwv7TxqZ0

Eine typische Powershell-Pipeline unter Ubuntu: Die Syntax ist bekannt sperrig und nötigt zur Recherche, belohnt aber mit Präzision und exakt definierbarer Ergebnismenge.

Dateisystem BTRFS (Better Filesystem oder Baustelle?)

Seit sieben Jahren gilt das Dateisystem BTRFS als Linux-Standard der Zukunft. Es bietet wegweisende Funktionen mit fundamentalen Vereinfachungen bei der Datenträger-Administration. Der Status Quo ist aber immer noch eine Baustelle.

Dateisysteme sind die fundamentale Software-Schicht auf Betriebssystem-Ebene, um Dateien und Ordner auf den Datenträgern zu verwalten. Die letzten 25 Jahre Dateisysteme sind leider geprägt von kurzsichtigen Entwicklungen, denen schnellere und größere Datenträger umgehend wieder ihre Grenzen aufwiesen. Zeitgemäße Dateisysteme sind aktuell Ext4 unter Linux, NTFS unter Windows und HFS+ unter Mac OS. Die wichtigsten Eigenschaften sind der effiziente Umgang mit dem Plattenplatz, Metadaten inklusive Benutzerrechte, flexible Erweiterbarkeit durch zusätzliche Platten, Größenänderung bestehender Partitionen, (praktisch) unbegrenzte Datei- und Partitionsgrößen, Dateiverschlüsselung, Komprimierung, Organisationshelfer wie Symlinks und Hardlinks. Dies alles verspricht BTRFS – und noch deutlich mehr.

Die Vorteile von BTRFS

BTRFS ist die Abkürzung für B-Tree-Filesystem (wertend auch für „Better FS“). Die Organisation der Datenblöcke in B-Trees ist aber nicht signifikant für BTRFS, da diese auch in Ext4, NTFS oder HFS+ stattfindet. Die Highlights liegen woanders:
* BTRFS bietet Snapshots, die mit einem Befehl den Partitionszustand sichern (btrfs subvolume snapshot). Durch späteres Umbenennen des Mountpunkts und Einhängen des älteren Snapshots gilt wieder der gesicherte Zustand.
* BTRFS unterstützt RAID und Subpartitionen direkt. So erfordert das Hinzufügen eines weiteren Datenträgers lediglich einen Befehl, der das Gerät in den Verzeichnisbaum mountet (btrfs device add /dev/[xxx] [Mountpunkt]).
* BTRFS kann geladene Datenträger mit einem Befehl (btrfs filesystem resize [Größe] [Mountpunkt]) im Handumdrehen vergrößern oder verkleinern.
* BTRFS fasst mit einem Befehl (mkfs.btrfs /dev/sd[n] /dev/sd[m]…) zwei oder mehr Datenträger zu einem Speicherplatz zusammen.
* BTRFS ist ein COW-Dateisystem („Copy On Write“): Das Ändern von Dateien wird beschleunigt, indem das Dateisystem zunächst alle neuen Blöcke in einen freien Speicherplatz, ohne ursprüngliche Datei zu verändern.
* BTRFS nutzt interne Komprimierung (optional), defragmentiert selbständig im laufenden Betrieb und vermeidet Platzverschwendung bei sehr kleinen Dateien.
* BTRFS kann vorhandene Ext[n]-Datenträger, sofern ausgehängt, mit dem Befehl btrfs-convert /dev/sdXY sehr schnell nach Btrfs umwandeln.
Diese – nicht vollständige – Liste macht deutlich: BTRFS kann insbesondere Administratoren das Leben erleichtern, die Stunden mit dem Erweitern und Ersetzen von Speicherkapazitäten verbringen.

BTRFS formatieren
Mit BTRFS formatieren: Für Spezialisten wie hier Gparted gehört das Dateisystem längst zum Standardrepertoire.

BTRFS in der Praxis: Einige Beispiele

Schon vor fünf Jahren hielt BTRFS Einzug in den Linux-Kernel, nämlich ab Version 2.6.29. Aktuelle Linux-Versionen haben eine Kernel-Version mit führender „3“ und sind somit allesamt in der Lage, BTRFS-Partitionen zu nutzen und zu bearbeiten. Inzwischen kann BTRFS bei den meisten Distributionen auch schon bei der Installation als Dateisystem des Betriebssystems gewählt werden. Geschieht dies, lädt das Setup die notwendigen BTRFS-Werkzeuge automatisch nach, andernfalls können Sie das manuell erledigen – etwa unter Ubuntu mit diesem Befehl:
sudo apt-get install btrf-tools
Jegliche Administration mit diesen Tools findet derzeit mit root-Rechten auf der Kommandozeile statt. Einzige Ausnahme ist das grafische Tool yast2-snapper unter Open Suse, das allerdings auch erst manuell nachinstalliert werden muss.
Um sich risikolos mit den Möglichkeiten vertraut zu machen, können Sie etwa mit USB-Sticks experimentieren. Eventuelle Daten gehen bei folgendem Kommando verloren:
sudo mkfs.btrfs /dev/sdc /dev/sdd
Damit legen Sie zwei (ausgehängte) Datenträger zu einem logischen Volume zusammen. Um diesen Speicherplatz einzuhängen, benötigen Sie ein leeres Verzeichnis und einen Mount-Befehl:
sudo mount /dev/sdc ~/Sticks
Es spielt keine Rolle, welche der beiden Device-Kennungen Sie dabei verwenden (hier „sdc“ oder „sdd“). Einen weiteren Datenträger fügen Sie mit diesem Befehl dazu:
sudo btrfs device add /dev/sdf ~/Sticks/
Kontrolle über den Datenträgerverbund bieten folgende Kommandos:
sudo btrfs filesystem show
df –h ~/Sticks

Der erste Befehl zeigt die zugehörigen Original-Laufwerke, der zweite Kapazität, Device-Namen und Mountpunkt des virtuellen Volumes.
Wie schnell BTRFS Größenänderungen auf einem Volume oder einem Verbund erledigt, zeigt dieser Befehl:
sudo btrfs filesystem resize -4g ~/Sticks
Als letztes Beispiel legen wir einen Snapshot des Datenträgerbunds an:
sudo btrfs subvolume snapshot ~/Sticks ~/Sticks/Backup
Die Aktion ist auch bei größeren Laufwerken blitzschnell erledigt, da es sich vorläufig nur um einen Zeiger auf identische Dateiobjekte handelt. Erst bei Änderungen, die Sie auf dem Datenträger vornehmen, muss BTRFS die Originalversion für den Snapshot gesondert speichern. Der Snapshot „Backup“ wird dauerhaft den Originalzustand anzeigen und diesen erhalten, egal was im Originalordner geschieht. Einen Restore-Befehl für Snaphots gibt es nicht (abgesehen vom oben erwähnten Yast-Tool); für das Restore wird einfach das bisherige Original ausgehängt und der Snapshot eingehängt.

BTRFS Resize
Größenänderung auf BTRFS: Die Aktion kostet keine Sekunde. Für den Befehl muss man nur den Mountpunkt kennen, aber nicht den oder die verwendeten Datenträger.

BTRFS als Baustelle

Die technischen Möglichkeiten von BTRFS sind beeindruckend, aber es fehlt an der Integration in das Gesamtsystem. Die üblichen Dateimanager können mit zusammenhängenden BTRFS-Volumes nichts anfangen, machen falsche Größenangaben und zeigen statt einem BTRFS-Verbund die einzelnen Datenträger in der Geräteliste, obwohl darauf kein Zugriff mehr möglich ist. Nebenbei muss man mit Rechteproblemen rechnen, weil die mit root-Rechten erstellten BTRFS-Partitionen erst mal nur root den Schreibzugriff erlauben.
Die ausschließliche Administration über die Kommandozeile ist vertretbar, wenn man Administratoren als die eigentliche Zielgruppe annimmt. Selbst dann, wenn das so bleiben soll, ist aber noch viel zu tun: Einige hier größtenteils nicht erwähnte Befehle sind derzeit noch fehlerhaft. So ist es uns nicht gelungen, unter Ubuntu Ext4-Laufwerke nach BTRFS zu konvertieren. Bekannt ist ferner, dass die Entnahme eines Laufwerks mit btrfs device delete nicht funktioniert. Gefährlicher sind ungenügend fehlertolerante Befehle wie btrfs-debug-tree, die zu ernstem Datenverlust führen können.
Wer heute im Internet nach BTRFS fahndet, wird noch eine Reihe weiterer Problemfelder finden: Instabilität und exorbitanter CPU-Verbrauch werden ebenso moniert wie ein deutlich langsamerer Bootvorgang und Unverträglichkeiten mit dem Grub-Bootloader.
Fazit: Wer sich heute auf BTRFS einlässt, braucht Mut und Einarbeitungszeit. Aber BTRFS wird kommen. Die Funktionen und Leistungsmerkmale sind zu beeindruckend, um sie auf der Ziellinie fallen zu lassen. Der Weg zu einem Dateisystem für Profis ist auch nicht mehr allzu weit, aber auf dem Endanwender-Desktop hat das Dateisystem in absehbarer Zeit nichts verloren.

Open Suse: Snapper
Grafische Snapshot-Verwaltung: Open Suse hat mit yast2-snapper das bislang einzige grafische BTRFS-Werkzeug im Angebot. Ansonsten ist BTRFS-Verwaltung ein Terminal-Job.