Alle typischen Linux Distributionen sind nach der Installation alltagstauglich.

Trotzdem gibt es ein paar Sachen, mit denen man nach der ursprünglichen Installation das System erweitern sollte, um es robuster und pflegeleichter zu machen.

Es handelt sich dabei um Maßnahmen, die das System sicherer machen - vor allem gegen eigene Fehler. Fehler lassen sich nicht vermeiden, aber ihre Folgen lassen sich begrenzen. Wenn alles gut geht, wird man nichts davon jemals brauchen.

Es gibt auch ein paar Werkzeuge, die einem das profane, alltägliche Leben am Computer einfacher machen und die man sich deshalb installieren sollte.

Wer ein System nur schnell ausprobieren möchte, braucht hier nicht weiter zu lesen.

Einige der Anpassungen können unabhängig von der jeweiligen Distribution umgesetzt werden. Allerdings kommen immer dann, wenn zusätzliche Software installiert werden muss, Paketmanager ins Spiel. Und die wollen je nach Distribution unterschiedlich bedient werden.

Viele - aber nicht alle - der hier vorgeschlagenen Anpassungen lassen sich auch über Funktionen der jeweiligen Desktop-Umgebung oder grafische Hilfsprogramme erreichen.

Vorweg

Voraussetzungen

Wir gehen hier von einem frisch installierten System mit einem der gängigen Desktops aus.

Was gegeben sein muss:

  • Das System fährt fehlerfrei rauf und runter.
  • Es gibt einen Benutzer, der das Kommando sudo ausführen darf.
  • Es gibt eine funktionierende Internetanbindung.
  • Das System hat eine grafische Benutzeroberfläche.
  • Es gibt einen Browser.

Auch wenn die Befehle per CLI (Command Line Interface) abgesetzt werden, machen viele Erweiterungen nur bei einem Desktop System mit grafischer Oberfläche Sinn.

Paketmanager

Werkzeuge und Programmiersprachen werden mit dem Paketmanager installiert.

Paketmanager installieren zusammen mit einer Software auch alle anderen Komponenten, die die Software braucht. Darum braucht man sich also nicht zu kümmern. Allerdings kann das im Einzelfall bedeuten, dass man sich gleich etwas mit installiert, mit dem man nicht gerechnet hat.

Ein Paketmanager installiert - neben der gewollten Software - auch alle definierten Abhängigkeiten.

Für die De-Installation von Software gilt ähnliches: Abhängige Pakete, von denen der Paketmanager meint, sie würden sonst nicht gebraucht, werden auch de-installiert oder für eine De-Installation vorgeschlagen. Je nach Paketmanager sind bei der De-Installation unterschiedliche Sicherheitsmechanismen vorhanden. Da manche Funktionen bei manchen Distributionen mit interpretierten Programmiersprachen entwickelt wurden, kann es gefährlich sein, solche Programmiersprachen zu de-installieren. Macht man es doch, kann es sein, dass wichtige Dinge nicht mehr funktionieren.

Nur Pakete de-installieren, die man selber installiert hat.

Benutzer und Rechte

Den Benutzer root freischalten.

Als allererstes wird der Benutzer root entsperrt.

Der Benutzer root ist in einem Unix System der Super-User, ein Benutzer, der absolut alles darf und durch kein "Wollen Sie wirklich?" gebremst wird. Man sollte daher nie unter dem Konto arbeiten. Bei den meisten Distributionen ist der Benutzer root nach der Systeminstallation gesperrt.

Für Aktionen, für die Administrator-Rechte benötigt werden, gibt es den sudo (Super User Do) Mechanismus, bei dem man als normaler Benutzer für die Ausführung eines einzelnen Befehls zum Super-User wird. Nachdem der Befehl ausgeführt wurde, ist man wieder der ganz normale Benutzer, der man auch vorher war.

Das ist viel sicherer und über diesen Mechanismus lassen sich alle normalen administrativen Aufgaben durchführen.

Allerdings können besondere Umstände eintreten - meistens unangenehme - in denen man besondere Maßnahmen ergreifen muss, die man nur als "root" durchführen kann.

Das ist insbesondere dann der Fall, wenn das System schon beim Hochfahren auf Probleme stößt und nicht mehr weiter weiß.

In solchen Fällen muss man sich als rootanmelden können, um den Schaden zu beheben.

Das Freischalten von "root" ist trivial: Man muss "root" ein Passwort zuweisen.

Passwort für root zuweisen

sudo passwd root

Das Passwort muss zweimal eingegeben werden, danach kann man sich als "root" anmelden.

Überprüfen

su root
exit

Sicherstellen, dass die root Sitzung bestimmt wieder verlassen wurde.!!!

Und nochmal: Ohne wirkliche guten Grund sollte man nie als "root" arbeiten.

Auch wenn root freigeschaltet wurde, kann man sich i.d.R. nur aus einem Terminal heraus damit anmelden. Die meisten graphischen Benutzeroberflächen weigern sich, eine Anmeldung als root zuzulassen.

Reservebenutzer anlegen

Aus derselben Ecke - Paranoia - kommt die Empfehlung, einen zweiten Benutzer mit sudo Rechten anzulegen, mit dem man sich in der grafischen Oberfläche einloggen kann.

Diesen zweiten Benutzer kann man verwenden, wenn der eigene Benutzer es aus unerfindlichen Gründen nicht mehr tut.

Der Benutzer muss natürlich mit sudo Rechten versehen werden, sonst macht das Ganze wenig Sinn.

Neuen Benutzer inklusive HOME Verzeichnis anlegen

sudo useradd -m -s/bin/bash myadmin

Der Benutzername myadmin soll anzeige, dass es sich um meinen privaten Administrator handelt.

Passwort für den neuen Benutzer vergeben

sudo passwd myadmin

Neuen Benutzer der Gruppe sudo zuweisen

sudo usermod -a -G sudo myadmin

Bei SUSE, RetHat und Arch Linux heißt die Gruppe nicht "sudo" sondern "wheel".

Zur Überprüfung abmelden, mit dem neuen Benutzer anmelden, ein Terminal öffnen und sudo ausprobieren (z.B. indem die folgenden Kommandos mit dem neuen Benutzer ausgeführt werden).

Gruppe users benutzen.

Ist man einmal dabei, so sollte man den Reservebenutzer und sich selbst in die Gruppe users eintragen. Diese Gruppe ist in allen Unix Systemen vorhanden und kann benutzt werden, um Rechte an Dateien zu bündeln.

Das Konto in die Gruppe users einhängen

sudo usermod -a -G users myadmin

Überprüfen

id myadmin

Das eigene Konto in die Gruppe users einhängen

sudo usermod -a -G users MeinKonto

Überprüfen

id MeinKonto

Werkzeuge für Kernel Erweiterung

Ein fertig installiertes System soll oder muss manchmal auf einer ganz tiefen Ebene erweitert oder modifiziert werden. Der Grund dafür ist meistens die Unterstützung von bestimmter Hardware. Eine Modifikation auf dieser Ebene kann auch erforderlich sein, um den Betrieb einer Virtuellen Maschine zu ermöglichen.

Dafür müssen in den Kernel neue Treiber oder andere Softwarepakete geladen oder Existierende verändert werden. Und dafür wiederum braucht man eine Grundausstattung an Entwicklungswerkzeugen.

Basis Entwicklungswerkzeuge
Die meisten Distributionen enthalten in ihren Repositories eine Paketsammlung mit Entwicklungswerkzeugen. Darin sind mindestens der C-Compiler und wichtige Bibliotheken enthalten.
Manche Distributionen installieren diese Sammlung von vorn herein mit, manche aber auch nicht.
Kernel "Header"-Dateien
Um den Linux Kernel direkt zu modifizieren, braucht man die sogenannten "Header"-Dateien.
dkms
dkms steht für "Dynamic Kernel Module Support" und ermöglicht es, Module für einen Linux Kernel zu bauen und nachträglich einzubinden.
git
git ist eine Werkzeug, dass man braucht, um den Quellcode externer Software aus git Repositories herunterzuladen, um die Software danach lokal bauen und installieren zu können.

Hat man diese Installationen durchgeführt, dann ist genau hier der richtige Zeitpunkt, um weitere Treiber oder Ähnliches einzubauen.

Werkzeuge für Alltag und Administration

Nützliches

Editoren

Ein guter Editor ist einEditor, mit dem man gut umgehen kann. Jedes System kommt mit nano und / oder vi. darüber hinaus hat jede Desktopumgebung noch ihren eigenen "Hauseditor". Alles Editoren, mit denen man arbeiten kann.

nano und vim
nano ist in moderneren Distributionen meistens dabei, vi auch in älteren. Der vi ist aber oft nur in abgespeckter Version vorhanden. Installieren sollte man den vim
gvim, gedit, kate und xed
Alles graphische Texteditoren mit unterschiedlicher Bedienung.
gedit ist der einfachste, kate hat die meisten Funktionen, xed ist am handlichsten und gvim ist eine grafische Version des vi.
xed gibt es leider nicht unter Debian.
kate benötigt diverse KDE Komponenten, die evtl. zusätzlich installiert werden müssen.

Packen und Entpacken

Programme zum Packen und Entpacken braucht man immer mal wieder. Die Gängigsten sollte man installiert haben und -je nach Distribution - sind es die meisten auch schon.

zip, unzip
Dateiendung ".zip". Uralt, nicht sehr performant, aber einfach. Braucht man manchmal. Die Tools sind wahrscheinlich schon dabei.
gzip, gunzip
Dateiendung ".gz", tar Schalter "-z". Komprimierung nach dem LZ77 Algorithmus.
bzip2
Dateiendung ".bz2", tar Schalter "-j". Die Kompressionsmethode ist "Burrows-Wheeler" und soll besser sein als LZ77.
xz
Dateiendung ".xz" , tar Schalter "-J". Sehr gute Kompression.

Kleinigkeiten

mc
mc, der "Midnight Commander", ist ein Text basierter Dateimanager mit einem Haufen Zusatzfunktionen.
trash-cli
trash-cli ist ein Konsole basiertes Werkzeug zum Aufräumen des Papierkorbes. Nützlich in Skripts oder wenn man gerne mit der Konsole arbeitet.
xfce4-terminal
xfce4-terminal ist eine handliche Terminalemulation ohne Schnick-Schnack, die (fast) überall verfügbar ist. Es macht Sinn, das Programm zu installieren, wenn ansonsten nur xterm existiert oder einem beispielsweise die console von KDE zu unhandlich ist.

Remote Zugriff

filezilla
filezilla ist ein grafischer Netzwerk-Dateimanager, der Dateien zwischen dem eigenen und entfernten Rechnern kopieren kann. Ein komfortables Frontend zu FTP (und SCP).
rsync
rsync ist ein absoluter Alleskönner, wenn es um das Kopieren von Daten geht. Es kann Backups erstellen, Massendaten auf dem eigenen Rechner hin und her schieben und dabei vorgegebene Regeln beachten. Das funktioniert auch zwischen einem entfernten und dem eigenen Rechner.
curl, wget
curl und wget sind Programme, mit denen man per Kommandozeile Daten (Dateien oder ganze Websites) aus dem Internet herunter laden kann.

Administration

Festplatten- und Bootmanagement

Für Leute, die an den Festplatten und Partitionen ihres Computers herum fummeln möchten/müssen und für die, die u.U. mehrere Betriebssysteme installiert haben und den Bootvorgang beeinflussen möchten/müssen, sind die folgenden beiden Pakete nützlich.

grub-customizer
Ein Programm, mit dem man den Boot-Manager GRUB und damit die Bootreihenfolge der Betriebssysteme und das Aussehen des Boot-Bildschirms beeinflussen kann.
gparted
Ein Programm, mit dem man Festplatten partitionieren kann.

Fehler bei der Benutzung dieser Programme ruinieren nicht nur das aktuelle System, sondern können den ganzen Rechner unbrauchbar machen.

Auf jeden Fall gilt: vorher schlau machen, erst danach benutzen.

Auch wenn man Plattenpartitionen und Bootsektor manuell auf der Kommandozeile bearbeiten kann, ist das mühseliger und erfordert mehr Verständnis, als die Arbeit mit den genannten GUI Programmen.

Paketmanagement

Software unter Gnu/Linux wird per Paketmanager installiert.

Die Paketmanager heißen

  • apt bei Debian, Ubuntu und Systemen die darauf basieren,
  • dnf bei Redhat, also Fedora und CentOS,
  • zypper bei openSUSE,
  • pacman bei Arch Linux und den Derivaten wie Manjaro oder EndeavourOS.

Diese Programme werden direkt von der Kommandozeile aus gestartet.

Jeder, der länger mit einem Gnu/Linux System arbeitet, wird diese Art des Aufrufs in der Regel bevorzugen. Allerdings nur, wenn bekannt ist, wie das Softwarepaket heißt, das installiert bzw. deinstalliert werden soll.

Alternativ zu der Arbeit auf der Kommandozeile bieten manche Desktop-Umgebungen einen Software-Shop a la AppStore oder Google Play, in dem man stöbern und interessante Software installieren kann. Je nach Desktop heißen sie immer anders z.B. Discover bei KDE oder einfach Software bei Gnome

Beide Methoden haben ihre Nachteile. Die Kommandozeilen Version der Paketmanager erwartet die genaue Kenntnis des Paketnamens, die Software-Shops bieten oft nur eine begrenzte Auswahl und sind manchmal merkwürdig sortiert.

Ein Zwischending sind grafische Paketmanager, GUIs zu den darunterliegenden textbasierten Werkzeugen. Damit lässt sich jede Software installieren, die auch direkt über die Kommandozeile installierbar wäre.

Die grafischen Paketmanager heißen
  • YaST Software bei SUSE,
  • Synaptic in der Debian-Welt,
  • dnfDragora bei Fedora.

Sie werden aus dem Anwendungsmenü gestartet.

Für Arch Linux gibt es so etwas generell nicht; Manjaro hat allerdings eine Eigenentwicklung.

YaST ist integraler Bestandteil jeder SUSE Installation. Die Paketmanager dnfDragora und Synaptic sind meistens in einem neuen System vorhanden, es kann aber sein, dass sie extra installiert werden müssen.

Lokalisierung

Meistens muss man sich mit Lokalisierung nicht beschäftigen, aber wenn, dann sollte es hier passieren, bevor das System weiter ausgebaut wird.

Lokalisierung betrifft:

  1. Sprache: Die Sprache in der Programme mit dem Anwender reden.
  2. Formate: Die lokalen Regeln für die Darstellung von Zeit, Datum, Zahlen, Währung, etc.

Mit Lokalisierung muss man sich beschäftigen, wenn:

Da "Lokalisierung" nur für wenige Menschen interessant und außerdem schlecht zu beschreiben ist, gibt es dazu einen eigenen Artikel. Wer sein System doch lokal anpassen möchte oder muss, kann Linux Desktop Lokalisierung zu Rate ziehen.

Wörterbücher

Unabhängig von der Lokalisierung des Systems, empfiehlt es sich, für die Sprachen, die man benutzen will, die essentiellen Wörterbücher aus dem Paket hunspell zu installieren. (In den Spickzetteln gibt es zur Sicherheit auch noch die Anweisungen für das weniger verbreitete aspell.)

Auf die hunspell Wörterbücher greifen diverse Anwendungen zurück, die nicht selbst mit Wörterbüchern ausgestattet sind. Sie liegen nach der Installation im Verzeichnis /usr/share/hunspell und sind mit den Endungen .dic (der Wortstamm) und .aff (die Mutationen) gesegnet.

In den Spickzetteln wird jeweils das Deutsch Wörterbuch installiert. Für andere Sprachen muss man das Kürzel am Ende der Sprache anpassen. An sich sind diese Kürzel genormt, die Paketnamen halten sich aber nicht immer daran.


Kommandos

Kommandos für die gängigen Paketmanager

apt Kommandos

Kommandos für den Paketmanager von Debian (Ubuntu)

Systementwicklung

Basis Entwicklungswerkzeuge installieren

sudo apt install build-essential

Kernel Header-Dateien installieren

sudo apt install linux-headers-$(uname -r)

dkms und git installieren

sudo apt dkms git

Werkzeuge für Alltag

Textbasierte Editoren installieren

sudo apt install nano vim

Grafische Editoren installieren

sudo apt install vim-gtk3 kate gedit

Aufruf von vim-gtk3 ist gvim

xed ist komischerweise in Debian nicht vorhanden.

Kompressionswerkzeuge installieren

sudo apt install zip unzip gzip bzip2 xz-utils 7zip

Midnight Commander installieren

sudo apt install mc

Papierkorb auf der Kommandozeile bedienen

sudo apt install trash-cli

xfce Terminal Emulator installieren

sudo apt install xfce4-terminal

FileZilla installieren

sudo apt install filezilla

rsync installieren

sudo apt install rsync

Dateizugriff Internet installieren

sudo apt install wget curl

Werkzeuge für Administration

Paketmanager Synaptic installieren

sudo apt install synaptic

Bootmanager Grub-Customizer installieren

sudo apt install grub-customizer

Ubuntu hat den grub-customizer aus den Repositories entfernt.

Festplattenmanager GParted installieren

sudo apt install gparted

Localization

hunspell und deutsches Wörterbauch installieren

sudo apt install hunspell hunspell-de-de

Das doppelte "-de-de" ist hier kein Fehler.

aspell und deutsches Wörterbauch installieren

sudo dnf install aspell aspell-de

dnf Kommandos

Kommandos für den Paketmanager von Fedora (RedHat)

Systementwicklung

Kernel Entwicklungswerkzeuge

sudo dnf install kernel-devel

Kernel Header-Dateien für den aktuellen Kernel installieren

sudo dnf install kernel-devel-$(uname -r)

dkms und git installieren

sudo dnf install git dkms

Wenn das nicht klappt, bitte erst das EPEL Repository einbinden.

Nützliches

Textbasierte Editoren installieren

sudo dnf install vim nano

Grafische Editoren installieren

sudo dnf install gvim kate gedit xed

Kompressionswerkzeuge installieren

sudo dnf install zip unzip gzip bzip2 xz

Midnight Commander installieren

sudo dnf install mc

Papierkorb mit der Kommandozeile bedienen

sudo dnf install trash-cli

xfce Terminal Emulator installieren

sudo dnf install xfce4-terminal

FileZilla installieren

sudo dnf install filezilla

rsync installieren

sudo dnf install rsync

Web Download Werkzeuge installieren

sudo dnf install wget curl

Administration

Paketmanager dnfdragora installieren

sudo dnf install dnfdragora

Bootmanager Grub-Customizer installieren

sudo dnf install grub-customizer

Festplattenmanager GParted installieren

sudo dnf install gparted

Localization

hunspell und deutsches Wörterbauch installieren

sudo dnf install hunspell hunspell-de

aspell und deutsches Wörterbauch installieren

sudo dnf install aspell aspell-de

aspell-de existiert nicht in den CentOS Repositories. Die Permutationen (de-de, de-DE, de-DE etc.) auch nicht.

pacman Kommandos

Kommandos für den Paketmanager von Arch Linux

Systementwicklung

Basis-Entwicklungswerkzeuge installieren

sudo pacman -S --needed base-devel

Header-Dateien installieren

sudo pacman -S --needed linux-headers

Es gibt für unterschiedliche Kerneltypen unterschiedliche Header-Pakete. BSP linux-headers-lts für den XXX-lts Kernel.

dkms und git installieren

sudo pacman -S --needed dkms git

Nützliches im Alltag

Textbasierte Editoren installieren

sudo pacman -S --needed vim nano

vim und gvim stehen bei Arch Linux im Konflikt. Wer auch gvim benutzen will, sollte vim nicht installieren, hat aber vim trotzdem.

Auswahl installieren

sudo pacman -S --needed gvim kate gedit xed

Kompressionswerkzeuge installieren

sudo pacman -S --needed zip unzip gzip bzip2 xz

Midnight Commander installieren

sudo pacman -S --needed install mc

Papierkorb mit der Kommmandozeile bedienen

sudo pacman -S --needed trash-cli

xfce Terminal installieren

sudo pacman -S --needed xfce4-terminal

FileZilla installieren

sudo pacman -S --needed install filezilla

rsync installieren

sudo pacman -S --needed install rsync

Dateizugriff Internet installieren

sudo pacman -S --needed wget curl

Administration

Paketmanager installieren

Synaptic/YaST/dnfdragora unter Arch?

Bootmanager Grub-Customizer installieren

sudo pacman -S --needed grub-customizer

Kann manchmal auch grub-customizer-git heißen. Unklar was was ist.

Festplattenmanager GParted installieren

sudo pacman -S --needed gparted

Localization

hunspell und deutsches Wörterbauch installieren

sudo pacman -S --needed hunspell hunspell-de

aspell und deutsches Wörterbauch installieren

sudo pacman -S --needed aspell aspell-de

zypper Kommandos

Kommandos für den Paketmanager von openSUSE

Systementwicklung

Kernel Header-Dateien installieren

sudo zypper install kernel-devel

Das Paket enthält auch die Header Dateien.

git und dkms installieren

sudo zypper install dkms git

Nützliches

Textbasierte Editoren installieren

sudo zypper install nano vim

Grafische Editoren installieren

sudo zypper install gvim kate gedit xed

Kompressionswerkzeuge installieren

sudo zypper install zip unzip gzip bzip2 xz

Midnight Commander installieren

sudo zypper install mc

xfce Terminal Emulator installieren

sudo zypper install xfce4-terminal

FileZilla installieren

sudo zypper install filezilla

rsync installieren

sudo zypper install rsync

Dateizugriff Internet installieren

sudo zypper install wget curl

Vorbereitung für NFS Anbindung

sudo zypper install nfs-utils

Administration

Paketmanager installieren

Der grafische Paketmanager ist in YaST integriert und ist immer installiert.

Bootmanager installieren

Ein grafischer Bootmanager ist in YaST integriert und ist immer installiert.

Festplattenmanager GParted installieren

sudo zypper install gparted

Localization

hunspell und deutsches Wörterbauch installieren

sudo zypper install hunspell myspell-de_DE

Die hunspell Wörterbücher heißen hier noch nach dem Urahnen myspell, liegen aber wie anderswo auch in /usr/share/hunspell.

aspell und deutsches Wörterbauch installieren

sudo zypper install aspell aspell-de