====== Linux Dokumentation: /usr/share/doc und HOWTOs ======
Linux-Systeme enthalten umfangreiche lokale Dokumentation in Form von README-Dateien, Beispiel-Konfigurationen, HOWTOs und Changelogs. Diese liegen standardmäßig in ''/usr/share/doc/''.
===== Das /usr/share/doc Verzeichnis =====
==== Übersicht ====
# Verzeichnis anzeigen
ls /usr/share/doc/
# Beispiel-Ausgabe:
apache2/
nginx/
mysql-server/
ssh/
systemd/
Jedes installierte Paket kann hier ein Unterverzeichnis mit Dokumentation ablegen:
* **README** - Grundlegende Informationen zum Paket
* **README.Debian** / **README.SUSE** - Distributionsspezifische Hinweise
* **CHANGELOG** / **changelog.gz** - Änderungshistorie
* **TODO** - Geplante Funktionen
* **NEWS** - Wichtige Neuigkeiten
* **COPYING** / **LICENSE** - Lizenzinformationen
* **examples/** - Beispiel-Konfigurationen
* **html/** - HTML-Dokumentation
==== Beispiele ====
# Dokumentation für Apache anzeigen
ls -la /usr/share/doc/apache2/
# README lesen
less /usr/share/doc/apache2/README.Debian.gz
zless /usr/share/doc/apache2/README.Debian.gz # Für .gz Dateien
# Changelog anzeigen
zless /usr/share/doc/apache2/changelog.Debian.gz
# Beispiel-Konfigurationen
ls /usr/share/doc/apache2/examples/
# Nach bestimmter Dokumentation suchen
find /usr/share/doc/ -name "README*" -type f
# Alle Beispiel-Verzeichnisse finden
find /usr/share/doc/ -name "examples" -type d
===== HOWTOs und Anleitungen =====
Viele Distributionen bieten zusätzlich das **Linux Documentation Project (LDP)** mit umfangreichen HOWTOs.
==== Installation der HOWTOs ====
=== Debian / Ubuntu / Linux Mint ===
# Basis-Dokumentation ist bereits vorhanden
# Zusätzliche HOWTOs installieren:
sudo apt update
sudo apt install -y doc-linux-text
sudo apt install -y doc-linux-html
# Weitere Dokumentationspakete
sudo apt install -y debian-reference-de # Debian-Referenz (Deutsch)
sudo apt install -y debian-reference-en # Debian-Referenz (Englisch)
sudo apt install -y debian-handbook # Debian Administrator's Handbook
# Speziell für Entwickler
sudo apt install -y manpages-dev # Entwickler-Manpages
sudo apt install -y manpages-posix-dev # POSIX-Manpages
# Nach Installation verfügbar in:
ls /usr/share/doc/HOWTO/
**Verfügbare Pakete:**
^ Paket ^ Inhalt ^
| ''doc-linux-text'' | LDP HOWTOs im Textformat |
| ''doc-linux-html'' | LDP HOWTOs im HTML-Format |
| ''debian-reference-de'' | Debian-Referenz Deutsch |
| ''debian-reference-en'' | Debian-Referenz Englisch |
| ''debian-handbook'' | Debian Administrator's Handbook |
| ''doc-debian'' | Debian-spezifische Dokumentation |
=== openSUSE / SUSE Linux Enterprise ===
# System aktualisieren
sudo zypper refresh
# HOWTOs installieren
sudo zypper install -y tldp-howto-text
sudo zypper install -y tldp-howto-html
# SUSE-spezifische Dokumentation
sudo zypper install -y opensuse-manuals_en # Englisch
sudo zypper install -y opensuse-manuals_de # Deutsch
# Weitere Dokumentation
sudo zypper install -y man-pages # Standard Manpages
sudo zypper install -y man-pages-posix # POSIX Manpages
# Nach Installation verfügbar in:
ls /usr/share/doc/howto/
ls /usr/share/doc/packages/
**Verfügbare Pakete:**
^ Paket ^ Inhalt ^
| ''tldp-howto-text'' | LDP HOWTOs im Textformat |
| ''tldp-howto-html'' | LDP HOWTOs im HTML-Format |
| ''opensuse-manuals_en'' | openSUSE Handbücher Englisch |
| ''opensuse-manuals_de'' | openSUSE Handbücher Deutsch |
| ''suse-doc-sle'' | SUSE Linux Enterprise Dokumentation |
=== Fedora / RHEL / Rocky / Alma ===
# System aktualisieren
sudo dnf update -y
# HOWTOs installieren (aus EPEL)
# EPEL Repository aktivieren (wenn noch nicht aktiv)
sudo dnf install -y epel-release
# LDP HOWTOs
sudo dnf install -y howto-html
sudo dnf install -y howto-text
# Weitere Dokumentation
sudo dnf install -y man-pages # Standard Manpages
sudo dnf install -y man-pages-posix # POSIX Manpages
# Fedora/RHEL-spezifische Dokumentation ist oft online verfügbar
# Lokale Dokumentation in /usr/share/doc/
# Nach Installation verfügbar in:
ls /usr/share/doc/
**Verfügbare Pakete:**
^ Paket ^ Inhalt ^
| ''howto-html'' | LDP HOWTOs im HTML-Format |
| ''howto-text'' | LDP HOWTOs im Textformat |
| ''man-pages'' | Standard Manual Pages |
| ''man-pages-posix'' | POSIX Manual Pages |
**Hinweis:** Bei RHEL/CentOS/Rocky/Alma ist oft das EPEL-Repository erforderlich:
# RHEL 8/9
sudo dnf install -y epel-release
# CentOS Stream
sudo dnf config-manager --set-enabled crb
sudo dnf install -y epel-release epel-next-release
=== Arch Linux / Manjaro ===
# System aktualisieren
sudo pacman -Syu
# Standard-Dokumentation
sudo pacman -S man-pages # Standard Manpages
sudo pacman -S man-pages-de # Deutsche Manpages
sudo pacman -S texinfo # GNU Info-Dokumentation
# Entwickler-Dokumentation
sudo pacman -S man-pages-posix # POSIX Manpages (falls verfügbar)
# Arch Linux Wiki offline (optional)
# arch-wiki-docs ist im AUR verfügbar
yay -S arch-wiki-docs
# oder
paru -S arch-wiki-docs
# LDP HOWTOs installieren (aus AUR)
# yay oder einen anderen AUR-Helper verwenden:
yay -S tldp-howtos
# Oder manuell aus AUR:
git clone https://aur.archlinux.org/tldp-howtos.git
cd tldp-howtos
makepkg -si
# Nach Installation verfügbar in:
ls /usr/share/doc/
ls /usr/share/doc/tldp/ # LDP HOWTOs (wenn installiert)
**Verfügbare Pakete:**
^ Paket ^ Repository ^ Inhalt ^
| ''man-pages'' | Official | Standard Manual Pages |
| ''man-pages-de'' | Official | Deutsche Manual Pages |
| ''texinfo'' | Official | GNU Info-System |
| ''arch-wiki-docs'' | AUR | Arch Wiki offline |
| ''tldp-howtos'' | AUR | LDP HOWTOs |
**Besonderheiten bei Arch Linux:**
* **Arch Wiki**: Die Hauptdokumentation ist das [[https://wiki.archlinux.org/|Arch Wiki]] (online)
* **arch-wiki-docs**: Ermöglicht Offline-Zugriff auf das Arch Wiki
* **Paket-Dokumentation**: Die meisten Pakete legen Dokumentation in ''/usr/share/doc/'' ab
* **AUR**: Viele Dokumentationspakete sind nur im AUR verfügbar
**Arch Wiki offline nutzen:**
# Nach Installation von arch-wiki-docs
# HTML-Dateien in: /usr/share/doc/arch-wiki/html/
# Im Browser öffnen
firefox /usr/share/doc/arch-wiki/html/en/Main_page.html
# Oder mit w3m
w3m /usr/share/doc/arch-wiki/html/en/Main_page.html
# Nach Artikeln suchen
find /usr/share/doc/arch-wiki/html/en/ -name "*systemd*"
===== Dokumentation durchsuchen =====
==== Alle README-Dateien finden ====
# Alle README-Dateien auflisten
find /usr/share/doc/ -name "README*" 2>/dev/null
# Nur für ein bestimmtes Paket
ls /usr/share/doc/apache2/README*
# README durchsuchen (auch in .gz Dateien)
zgrep -i "virtual host" /usr/share/doc/apache2/*.gz
==== Komprimierte Dateien lesen ====
Viele Dokumentationsdateien sind komprimiert (.gz), um Speicherplatz zu sparen.
# Mit zless (wie less, aber für .gz)
zless /usr/share/doc/systemd/README.gz
# Mit zcat (wie cat, aber für .gz)
zcat /usr/share/doc/nginx/changelog.Debian.gz
# Mit zgrep (wie grep, aber für .gz)
zgrep "error" /usr/share/doc/*/README*.gz
# Dekomprimieren und anzeigen
gunzip -c /usr/share/doc/ssh/README.gz | less
==== HOWTOs durchsuchen ====
# Debian/Ubuntu
ls /usr/share/doc/HOWTO/en-txt/ # Text-Format
ls /usr/share/doc/HOWTO/en-html/ # HTML-Format
# Spezielles HOWTO finden
find /usr/share/doc/ -iname "*network*howto*"
# HOWTO lesen
less /usr/share/doc/HOWTO/en-txt/Networking-Overview-HOWTO
# Im Browser öffnen (HTML-Version)
firefox /usr/share/doc/HOWTO/en-html/Network-Install-HOWTO.html
# Mit w3m im Terminal lesen
w3m /usr/share/doc/HOWTO/en-html/Apache-Overview-HOWTO.html
==== Beispiel-Konfigurationen finden ====
# Alle example-Verzeichnisse finden
find /usr/share/doc/ -type d -name "examples" 2>/dev/null
# Für ein bestimmtes Paket
ls -la /usr/share/doc/nginx/examples/
ls -la /usr/share/doc/apache2/examples/
# Beispiel-Konfiguration kopieren
sudo cp /usr/share/doc/nginx/examples/nginx.conf /etc/nginx/sites-available/mysite
# Alle Konfigurationsbeispiele durchsuchen
find /usr/share/doc/ -name "*.conf" -o -name "*.cfg" -o -name "*.sample" 2>/dev/null
===== Praktische Beispiele =====
==== Apache Dokumentation durchsuchen ====
# Alle Apache-Dokumente anzeigen
ls -R /usr/share/doc/apache2/
# README für Debian/Ubuntu lesen
zless /usr/share/doc/apache2/README.Debian.gz
# Changelog anschauen
zless /usr/share/doc/apache2/changelog.Debian.gz
# Virtual Host Beispiele
ls /usr/share/doc/apache2/examples/
# Nach "SSL" in allen Dokumenten suchen
zgrep -r "SSL" /usr/share/doc/apache2/
==== Systemd Dokumentation ====
# Systemd Dokumentation anzeigen
ls /usr/share/doc/systemd/
# README lesen
zless /usr/share/doc/systemd/README.gz
# Nach Unit-Files suchen
find /usr/share/doc/systemd/ -name "*.service" -o -name "*.timer"
# Beispiele für Timer
ls /usr/share/doc/systemd/examples/
==== SSH Dokumentation ====
# SSH Dokumentation
ls /usr/share/doc/openssh-server/
ls /usr/share/doc/openssh-client/
# README lesen
less /usr/share/doc/openssh-server/README
zless /usr/share/doc/openssh-server/README.Debian.gz
# Beispiel-Konfigurationen
ls /usr/share/doc/openssh-server/examples/
==== Netzwerk-HOWTOs ====
# Netzwerk-bezogene HOWTOs finden (nach Installation von doc-linux-text)
ls /usr/share/doc/HOWTO/en-txt/ | grep -i network
# Beispiele:
# - Network-Install-HOWTO
# - Networking-Overview-HOWTO
# - Wireless-HOWTO
# - VPN-HOWTO
# Lesen
less /usr/share/doc/HOWTO/en-txt/Networking-Overview-HOWTO
===== Dokumentation nach Themen =====
==== System-Administration ====
# Relevante Pakete:
/usr/share/doc/systemd/
/usr/share/doc/cron/
/usr/share/doc/rsyslog/
/usr/share/doc/sudo/
# HOWTOs:
ls /usr/share/doc/HOWTO/en-txt/ | grep -E "(System|Admin|Security)"
==== Netzwerk ====
# Relevante Pakete:
/usr/share/doc/iproute2/
/usr/share/doc/iptables/
/usr/share/doc/network-manager/
/usr/share/doc/bind9/
# HOWTOs:
ls /usr/share/doc/HOWTO/en-txt/ | grep -E "(Network|Firewall|DNS|VPN)"
==== Webserver ====
# Relevante Pakete:
/usr/share/doc/apache2/
/usr/share/doc/nginx/
/usr/share/doc/php/
# HOWTOs:
ls /usr/share/doc/HOWTO/en-txt/ | grep -E "(Apache|Web|PHP)"
==== Datenbanken ====
# Relevante Pakete:
/usr/share/doc/mysql-server/
/usr/share/doc/postgresql/
/usr/share/doc/mariadb-server/
# Beispiele:
ls /usr/share/doc/mysql-server/examples/
ls /usr/share/doc/postgresql/examples/
===== Zusätzliche Dokumentationsquellen =====
==== Man-Pages ====
# Standard Manpages
man
man systemd
# Nach Manpages suchen
apropos network
man -k firewall
# Alle Sektionen anzeigen
man -a intro
# Manpage-Verzeichnis
ls /usr/share/man/
==== Info-Pages ====
# Info-System verwenden
info
info coreutils
info bash
# Info-Verzeichnis
ls /usr/share/info/
==== HTML-Dokumentation ====
# Oft in /usr/share/doc/*/html/
find /usr/share/doc/ -type d -name "html" 2>/dev/null
# Beispiele:
firefox /usr/share/doc/apache2-doc/manual/index.html
firefox /usr/share/doc/php-doc/html/index.html
# Oder mit Textbrowser
w3m /usr/share/doc/apache2-doc/manual/index.html
lynx /usr/share/doc/apache2-doc/manual/index.html
===== Nützliche Tools =====
==== Textbrowser für HTML-Dokumente ====
# w3m installieren
sudo apt install w3m # Debian/Ubuntu
sudo zypper install w3m # openSUSE
sudo dnf install w3m # Fedora
# Verwendung
w3m /usr/share/doc/HOWTO/en-html/Bash-Beginners-Guide.html
# Links installieren
sudo apt install links links2 # Debian/Ubuntu
links /usr/share/doc/...html
# Lynx installieren
sudo apt install lynx # Debian/Ubuntu
lynx /usr/share/doc/...html
==== doc-base System (Debian/Ubuntu) ====
# doc-base verwaltet Dokumentations-Links
sudo apt install doc-base
# Installierte Dokumentation anzeigen
ls /usr/share/doc-base/
# dwww - Browse-Tool für lokale Dokumentation
sudo apt install dwww
sudo systemctl start dwww
# Im Browser: http://localhost/dwww/
==== docutils ====
# Für Textverarbeitung von Dokumenten
sudo apt install python3-docutils
# rst2html - ReStructuredText zu HTML
rst2html input.rst output.html
===== Best Practices =====
* **Erst lokal suchen**: Bevor Sie online suchen, prüfen Sie ''/usr/share/doc/''
* **README zuerst**: README-Dateien enthalten oft wichtige distributionsspezifische Hinweise
* **Beispiele nutzen**: Beispiel-Konfigurationen sind gute Ausgangspunkte
* **Komprimierte Dateien**: Nutzen Sie ''zless'', ''zcat'', ''zgrep'' für .gz-Dateien
* **Changelog lesen**: Bei Problemen nach Updates Changelog prüfen
* **man + /usr/share/doc**: Beide Quellen ergänzen sich
===== Häufige Probleme =====
==== HOWTOs nicht gefunden ====
# Prüfen ob Paket installiert ist
dpkg -l | grep doc-linux # Debian/Ubuntu
rpm -qa | grep howto # Fedora/RHEL
zypper se --installed-only howto # openSUSE
# Paket installieren (siehe oben)
sudo apt install doc-linux-text doc-linux-html
==== Verzeichnis leer ====
# Paket muss installiert sein, damit Dokumentation vorhanden ist
sudo apt install -doc
# Beispiel:
sudo apt install apache2-doc
sudo apt install php-doc
sudo apt install mysql-doc
==== Komprimierte Dateien nicht lesbar ====
# Tools fehlen - installieren:
sudo apt install gzip less
# Oder dekomprimieren:
gunzip /usr/share/doc/package/README.gz
# Jetzt: less /usr/share/doc/package/README
===== Online-Ressourcen =====
Wenn lokale Dokumentation nicht ausreicht:
* **The Linux Documentation Project**: https://tldp.org/
* **Debian Documentation**: https://www.debian.org/doc/
* **Ubuntu Documentation**: https://help.ubuntu.com/
* **Arch Wiki**: https://wiki.archlinux.org/
* **Fedora Docs**: https://docs.fedoraproject.org/
* **openSUSE Documentation**: https://doc.opensuse.org/
===== Siehe auch =====
* [[sammlung:man_apropos|Man und Apropos]]
* [[sammlung:bash_kommandos|Bash Kommandos]]
* [[sammlung:wichtige_konfigurationsdateien|Wichtige Konfigurationsdateien]]
* [[sammlung:paketmanagement|Paketverwaltung]]
* [[sammlung:workshop_pakete|Workshop Paket-Installation]]
===== Weitere Befehle =====
# Übersicht über Dokumentation
man hier # Filesystem Hierarchy Standard
man 7 hier # Ausführliche Version
# Alle Dokumentationsdateien eines Pakets auflisten
dpkg -L apache2 | grep /usr/share/doc/ # Debian/Ubuntu
rpm -ql httpd | grep /usr/share/doc/ # Fedora/RHEL
rpm -ql apache2 | grep /usr/share/doc/ # openSUSE
# Größe der Dokumentation
du -sh /usr/share/doc/
du -sh /usr/share/doc/apache2/
----
{{tag>cli help}}
----