Systemdateien verstehen
Systemdateien geben Dir Auskunft über Benutzerkonten, Netzwerkeinstellungen, Dateisysteme und den Zustand Deines Linux-Systems. Hier findest Du wichtige Dateien und Verzeichnisse sowie Befehle, mit denen Du ihre Inhalte ansehen kannst. Welche Dateien vorhanden sind, hängt von der Distribution, ihrer Version und den installierten Diensten ab.
Benutzerkonten und Gruppen
| Datei | Inhalt | Befehl zum Anzeigen |
|---|---|---|
/etc/passwd |
Lokale Benutzerkonten mit UID, GID, Heimatverzeichnis und Shell | cat /etc/passwd |
/etc/group |
Lokale Gruppen und ausdrücklich eingetragene zusätzliche Gruppenmitglieder | cat /etc/group |
/etc/passwd enthält normalerweise keine Passwort-Hashes. Diese stehen für lokale Konten in der geschützten Datei /etc/shadow. Die primäre Gruppe eines Benutzers wird über die GID in /etc/passwd zugeordnet; ihre Mitglieder müssen daher nicht zusätzlich in /etc/group aufgelistet sein.
Zum Verwalten von Konten und Gruppen verwendest Du Werkzeuge wie useradd, usermod, passwd und groupadd. Zum Abfragen eignen sich auch getent passwd, getent group und id <benutzername>. Diese berücksichtigen je nach Systemkonfiguration zusätzlich zentrale Verzeichnisdienste.
Hostname und Namensauflösung
| Datei | Inhalt | Befehl zum Anzeigen |
|---|---|---|
/etc/hostname |
Statischer Hostname des Systems | cat /etc/hostname |
/etc/hosts |
Lokale Zuordnungen von IP-Adressen zu Hostnamen | cat /etc/hosts |
/etc/resolv.conf |
Einstellungen für die DNS-Namensauflösung, beispielsweise Nameserver und Suchdomänen | cat /etc/resolv.conf |
/etc/hostname legt den statischen Namen des Rechners fest. Die Datei löst selbst keine Namen in IP-Adressen auf. Dafür werden unter anderem /etc/hosts und DNS verwendet; die Reihenfolge hängt von der Systemkonfiguration ab.
/etc/resolv.conf wird häufig automatisch verwaltet, etwa durch NetworkManager oder systemd-resolved, und kann ein symbolischer Link sein. Dauerhafte Änderungen nimmst Du dann in der Konfiguration des zuständigen Netzwerkdienstes vor. Mit ls -l /etc/resolv.conf erkennst Du, ob die Datei auf einen anderen Pfad verweist.
Dateisysteme und Einhängepunkte
| Datei | Inhalt | Befehl zum Anzeigen |
|---|---|---|
/etc/fstab |
Konfigurierte Dateisysteme, Einhängepunkte und Optionen sowie gegebenenfalls Swap-Bereiche | cat /etc/fstab |
Die Einträge in /etc/fstab beschreiben unter anderem, welche Dateisysteme beim Start eingebunden werden sollen. Optionen wie noauto oder die Verwendung von Automounts beeinflussen den Zeitpunkt. Die Datei ist deshalb keine vollständige Liste aller aktuell eingehängten Dateisysteme; diese zeigt Dir findmnt.
Systemprotokolle
Auf Systemen mit systemd kannst Du Protokolle über das Journal abfragen. Klassische Textdateien unter /var/log/ hängen zusätzlich vom eingesetzten Protokollierungsdienst und dessen Konfiguration ab.
| Quelle | Inhalt und Verfügbarkeit | Befehl zum Anzeigen |
|---|---|---|
| systemd-Journal | System- und Dienstmeldungen auf Systemen mit systemd-journald | journalctl -b |
| Kernelmeldungen im Journal | Kernelmeldungen des aktuellen Systemstarts | journalctl -k -b |
/var/log/syslog |
Allgemeine Systemmeldungen; häufig bei Debian/Ubuntu mit entsprechend konfiguriertem Syslog-Dienst | less /var/log/syslog |
/var/log/auth.log |
Authentifizierungs- und Berechtigungsmeldungen; häufig bei Debian/Ubuntu mit entsprechender Protokollierung | sudo less /var/log/auth.log |
/var/log/dmesg |
Falls vorhanden: gespeicherte Kernelmeldungen, häufig aus der Startphase | less /var/log/dmesg |
Eine fehlende Textdatei bedeutet nicht automatisch, dass keine Protokolle vorliegen. Prüfe auf systemd-Systemen auch das Journal. Je nach Benutzerrechten benötigst Du sudo, um alle Meldungen zu sehen. Den Kernel-Ringpuffer kannst Du mit sudo dmesg anzeigen; er ist nicht mit einer dauerhaft gespeicherten Protokolldatei gleichzusetzen.
APT-Paketquellen
Die folgenden Pfade betreffen Debian-basierte Distributionen mit APT. Andere Distributionen verwenden andere Paketverwaltungen und Konfigurationsdateien.
| Datei oder Verzeichnis | Bedeutung | Befehl zum Anzeigen |
|---|---|---|
/etc/apt/sources.list |
Paketquellen im klassischen einzeiligen Format, sofern verwendet | cat /etc/apt/sources.list |
/etc/apt/sources.list.d/ |
Zusätzliche oder zentrale Quelldateien mit den Endungen .list und .sources |
ls /etc/apt/sources.list.d/ |
/etc/apt/sources.list.d/ubuntu.sources |
Standardquellen im deb822-Format bei Ubuntu ab 24.04 LTS | cat /etc/apt/sources.list.d/ubuntu.sources |
Auf neueren Installationen kann /etc/apt/sources.list leer sein oder fehlen, während die Quellen unter sources.list.d/ stehen. Die tatsächlichen Dateinamen hängen von Distribution, Version und Installationshistorie ab. Details findest Du in der Ubuntu-Dokumentation zu Paketquellen.
Informationen aus /proc
/proc ist ein virtuelles Dateisystem. Seine Inhalte werden vom Kernel bereitgestellt und nicht wie gewöhnliche Dateien auf einem Datenträger gespeichert. Du kannst viele dieser virtuellen Dateien trotzdem mit normalen Werkzeugen wie cat lesen.
| Datei oder Verzeichnis | Inhalt | Befehl zum Anzeigen |
|---|---|---|
/proc/cpuinfo |
Architekturabhängige Informationen zu den Prozessoren | cat /proc/cpuinfo |
/proc/meminfo |
Angaben zum Arbeitsspeicher und seiner Nutzung | cat /proc/meminfo |
/proc/version |
Kernelversion und Angaben zum Kernel-Build | cat /proc/version |
/proc/<PID>/ |
Informationen zu einem Prozess mit der jeweiligen Prozess-ID | ls /proc/$$/ |
Im letzten Beispiel steht $$ in der Shell für die Prozess-ID der aktuellen Shell. Als übersichtlichere Alternativen für häufige Abfragen kannst Du lscpu, free -h und uname -r verwenden.