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 root
anmelden können, um den Schaden zu beheben.
Das Freischalten von "root" ist trivial: Man muss "root" ein Passwort zuweisen.
Passwort für root
zuweisen
Das Passwort muss zweimal eingegeben werden, danach kann man sich als "root" anmelden.
Überprüfen
su rootexit
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 myadminNeuen Benutzer der Gruppe sudo
zuweisen
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
Überprüfen
id myadminDas eigene Konto in die Gruppe users
einhängen
Überprüfen
id MeinKontoWerkzeuge 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:
- Sprache: Die Sprache in der Programme mit dem Anwender reden.
- Formate: Die lokalen Regeln für die Darstellung von Zeit, Datum, Zahlen, Währung, etc.
Mit Lokalisierung muss man sich beschäftigen, wenn:
- Die gewünschte Systemsprache nicht zu den regionalen Präferenzen passt.
- Das System von mehreren Anwendern genutzt wird, die unterschiedliche sprachliche Präferenzen haben.
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-essentialKernel Header-Dateien installieren
sudo apt install linux-headers-$(uname -r)dkms und git installieren
sudo apt dkms gitWerkzeuge für Alltag
Textbasierte Editoren installieren
sudo apt install nano vimGrafische 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 7zipMidnight Commander installieren
sudo apt install mcPapierkorb auf der Kommandozeile bedienen
sudo apt install trash-clixfce Terminal Emulator installieren
sudo apt install xfce4-terminalFileZilla installieren
sudo apt install filezillarsync installieren
sudo apt install rsyncDateizugriff Internet installieren
sudo apt install wget curlWerkzeuge für Administration
Paketmanager Synaptic installieren
sudo apt install synapticBootmanager Grub-Customizer installieren
sudo apt install grub-customizerUbuntu hat den grub-customizer aus den Repositories entfernt.
Festplattenmanager GParted installieren
sudo apt install gpartedLocalization
hunspell und deutsches Wörterbauch installieren
sudo apt install hunspell hunspell-de-deDas doppelte "-de-de" ist hier kein Fehler.
aspell und deutsches Wörterbauch installieren
sudo dnf install aspell aspell-dednf Kommandos
Kommandos für den Paketmanager von Fedora (RedHat)
Systementwicklung
Kernel Entwicklungswerkzeuge
sudo dnf install kernel-develKernel Header-Dateien für den aktuellen Kernel installieren
sudo dnf install kernel-devel-$(uname -r)dkms und git installieren
sudo dnf install git dkmsWenn das nicht klappt, bitte erst das EPEL Repository einbinden.
Nützliches
Textbasierte Editoren installieren
sudo dnf install vim nanoGrafische Editoren installieren
sudo dnf install gvim kate gedit xedKompressionswerkzeuge installieren
sudo dnf install zip unzip gzip bzip2 xzMidnight Commander installieren
sudo dnf install mcPapierkorb mit der Kommandozeile bedienen
sudo dnf install trash-clixfce Terminal Emulator installieren
sudo dnf install xfce4-terminalFileZilla installieren
sudo dnf install filezillarsync installieren
sudo dnf install rsyncWeb Download Werkzeuge installieren
sudo dnf install wget curlAdministration
Paketmanager dnfdragora installieren
sudo dnf install dnfdragoraBootmanager Grub-Customizer installieren
sudo dnf install grub-customizerFestplattenmanager GParted installieren
sudo dnf install gpartedLocalization
hunspell und deutsches Wörterbauch installieren
sudo dnf install hunspell hunspell-deaspell und deutsches Wörterbauch installieren
sudo dnf install aspell aspell-deaspell-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-develHeader-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 gitNützliches im Alltag
Textbasierte Editoren installieren
sudo pacman -S --needed vim nanovim 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 xedKompressionswerkzeuge installieren
sudo pacman -S --needed zip unzip gzip bzip2 xzMidnight Commander installieren
sudo pacman -S --needed install mcPapierkorb mit der Kommmandozeile bedienen
sudo pacman -S --needed trash-clixfce Terminal installieren
sudo pacman -S --needed xfce4-terminalFileZilla installieren
sudo pacman -S --needed install filezillarsync installieren
sudo pacman -S --needed install rsyncDateizugriff Internet installieren
sudo pacman -S --needed wget curlAdministration
Paketmanager installieren
Synaptic/YaST/dnfdragora unter Arch?
Bootmanager Grub-Customizer installieren
sudo pacman -S --needed grub-customizerKann manchmal auch grub-customizer-git
heißen. Unklar was was ist.
Festplattenmanager GParted installieren
sudo pacman -S --needed gpartedLocalization
hunspell und deutsches Wörterbauch installieren
sudo pacman -S --needed hunspell hunspell-deaspell und deutsches Wörterbauch installieren
sudo pacman -S --needed aspell aspell-dezypper Kommandos
Kommandos für den Paketmanager von openSUSE
Systementwicklung
Kernel Header-Dateien installieren
sudo zypper install kernel-develDas Paket enthält auch die Header Dateien.
git und dkms installieren
sudo zypper install dkms gitNützliches
Textbasierte Editoren installieren
sudo zypper install nano vimGrafische Editoren installieren
sudo zypper install gvim kate gedit xedKompressionswerkzeuge installieren
sudo zypper install zip unzip gzip bzip2 xzMidnight Commander installieren
sudo zypper install mcxfce Terminal Emulator installieren
sudo zypper install xfce4-terminalFileZilla installieren
sudo zypper install filezillarsync installieren
sudo zypper install rsyncDateizugriff Internet installieren
sudo zypper install wget curlVorbereitung für NFS Anbindung
sudo zypper install nfs-utilsAdministration
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 gpartedLocalization
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