Zum Inhalt springen
< Alle Themen
Drucken

Linux Befehlsreferenz

Linux Befehle und Erläuterungen

Die wichtigsten Linux-Befehle, die man regelmäßig benötigt.


Wir listen hier die wichtigsten Linux-Befehle auf und wie man sie anwendet.
Als IRC-Server Betreiber wirst Du regelmäßig Eggdrops oder IRCDs installieren, oft über Source -Dateien.
Daher werden wir hier eine Sammlung an Unix und Linux-Befehlen auflisten, damit Du diese schnell nachschlagen kannst. Dieser Abschnitt ist der Aufwendig, Du kannst Befehle jederzeit hinzufügen.

Es ist nicht unser Ziel ein ultimativen Linux Guide zu erstellen, da es bereits tolle Referenzen und Guides gibt, die mit viel Liebe erstellt, gepflegt und kopiert wurden.

Linux Befehle

Es gibt 17 Linux Befehle in diesem Verzeichnis, die mit dem Buchstaben L beginnen.
L

less
Ein Pager-Programm, das es ermöglicht, lange Textdateien oder Ausgaben von Befehlen seitenweise anzusehen. Es ist besonders nützlich für das Durchsuchen großer Dateien.

Linux-Befehl: less

Anwendungsbeispiel:
Zeige den Inhalt einer Datei seitenweise an mit less filename.

Weitere Befehle und Optionen:

less +F filename: Öffnet die Datei und folgt neuen Zeilen, ähnlich wie tail -f.
less -N filename: Zeigt Zeilennummern an, während die Datei angezeigt wird.
less +/search_term filename: Öffnet die Datei und springt direkt zu einem Suchbegriff.
q: Beendet less.
MAN-Befehl: man less

let

let - Linux Bash-Builtin-Befehl


Ein Bash-Builtin-Befehl, der arithmetische Operationen auf Shell-Variablen durchführt. Er wird verwendet, um numerische Berechnungen in Bash-Skripten auszuführen.

Linux-Befehl: let


Anwendungsbeispiel:
Inkrementiere eine Variable count um 1 mit let count=count+1.

Weitere let-Befehle und Optionen:


let "a = 5 + 3": Führt eine Addition durch und weist das Ergebnis a zu.
let "a += 1": Erhöht den Wert von a um 1.
let "a *= 2": Multipliziert den Wert von a mit 2.
let "a--": Verringert den Wert von a um 1.
Handbuch für den Befehl: man bash (Abschnitt über Shell-Builtins)
Eingereicht durch: Schutzgeist

Linux- Datum und Zeit-Befehle : Zusammenfassung

Hier ist eine Zusammenfassung der wichtigsten Linux-Befehle für Datum und Zeit:


 

Diese Befehle decken die wichtigsten Aufgaben rund um Datum und Zeit auf einem Linux-System ab, einschließlich der Anzeige und Anpassung von Systemzeit und -datum, der Planung von Aufgaben und der Synchronisation mit Zeitservern.

Sie sind wild gemischt, jeder Befehl wird bei uns auch gesondert erklärt.

 

1. date


Verwendung: Zeigt das aktuelle Datum und die Uhrzeit an oder setzt sie.
Beispiele:
Aktuelles Datum und Uhrzeit anzeigen: date
Datum und Uhrzeit in einem spezifischen Format anzeigen: date +"%Y-%m-%d %H:%M:%S"
Systemdatum und Uhrzeit setzen: sudo date MMDDhhmm[[CC]YY][.ss]


2. hwclock


Verwendung: Interagiert mit der Hardware-Uhr (RTC - Real Time Clock).
Beispiele:
Aktuelle Hardware-Uhrzeit anzeigen: hwclock
Hardware-Uhrzeit mit Systemuhr synchronisieren: sudo hwclock --systohc
Systemuhr mit Hardware-Uhrzeit synchronisieren: sudo hwclock --hctosys


3. timedatectl


Verwendung: Zeigt aktuelle Zeiteinstellungen an und verwaltet sie unter systemd-Systemen.

Beispiele:
Aktuelle Zeitinformationen anzeigen: timedatectl
Zeitzone ändern: sudo timedatectl set-timezone Europe/Berlin
Systemzeit manuell setzen: sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"
NTP (Network Time Protocol) aktivieren/deaktivieren: sudo timedatectl set-ntp true oder false


4. ntpq und ntpdate


Verwendung: NTP-Client-Tools zur Synchronisation der Systemzeit mit NTP-Servern.
Beispiele:
NTP-Serverstatus prüfen: ntpq -p
Zeit sofort von einem NTP-Server synchronisieren: sudo ntpdate pool.ntp.org


5. cron


Verwendung: Planen von wiederkehrenden Aufgaben basierend auf Datum und Zeit.
Beispiele:
Crontab-Datei bearbeiten: crontab -e
Liste aller Cron-Jobs anzeigen: crontab -l
Cron-Job zum täglichen Ausführen eines Skripts um 2:30 Uhr hinzufügen:

30 2 * * * /pfad/zu/skript.sh


6. at


Verwendung: Plant einmalige Aufgaben für eine zukünftige Zeit.
Beispiele:
Aufgabe um 14:00 Uhr ausführen: echo "/pfad/zu/skript.sh" | at 14:00
Geplante at-Jobs anzeigen: atq
Geplanten at-Job löschen: atrm job_id


7. uptime


Verwendung: Zeigt die aktuelle Systemzeit, Betriebsdauer und Last an.
Beispiel:
Systembetriebsdauer anzeigen: uptime


8. cal


Verwendung: Zeigt einen Kalender für einen bestimmten Monat oder ein Jahr an.
Beispiele:
Aktuellen Monat anzeigen: cal
Kalender für ein spezifisches Jahr anzeigen: cal 2024

 

tzselect ist ein nützlicher Befehl zur Auswahl der Zeitzone auf einem Linux-System, und es war eine Überwachung, ihn nicht zu erwähnen. Hier ist eine kurze Erklärung:

tzselect


tzselect sollte definitiv in einer umfassenden Übersicht der Befehle für Datum und Zeit in Linux enthalten sein, da es eine einfache Möglichkeit bietet, die richtige Zeitzone zu identifizieren, was für die genaue Zeitdarstellung auf dem System entscheidend ist.

Verwendung:

Ermöglicht es Benutzern, interaktiv ihre Zeitzone auszuwählen. Es hilft dabei, die korrekte Zeitzone zu bestimmen und kann die Auswahl anzeigen, aber es ändert die Systemzeitzone nicht direkt.

Beispiele:

Zeitzone auswählen: Führen Sie tzselect aus, um durch eine Reihe von Menüs zu navigieren, in denen Sie Ihr geografisches Gebiet und Ihre spezifische Zeitzone auswählen können.

tzselect

Nach Abschluss zeigt der Befehl den richtigen Zeitzonenbezeichner an, den Sie verwenden sollten, um Ihre Zeitzone zu setzen, z.B. in /etc/timezone oder mit dem Befehl timedatectl.


Warum tzselect nützlich ist:



Benutzerfreundlichkeit:


tzselect ist besonders nützlich für Benutzer, die sich nicht sicher sind, wie ihre Zeitzone exakt benannt wird. Es führt den Benutzer durch eine einfache, interaktive Auswahl und bietet die korrekten Einstellungen an.


Hilfreich in Skripten:


Es kann in Skripten verwendet werden, um Benutzer interaktiv nach der Zeitzone zu fragen, insbesondere in Situationen, in denen keine grafische Benutzeroberfläche verfügbar ist.

 

 
Eingereicht durch: Schutzgeist

Linux-Befehl Test

Linux-Befehl "test":


Ein Befehl, der zum Überprüfen von Bedingungen in Shell-Skripten verwendet wird. test führt verschiedene Tests durch, wie das Überprüfen, ob Dateien existieren, ob eine Variable gesetzt ist oder ob eine mathematische Bedingung wahr ist.

Linux-Befehl: test


Anwendungsbeispiel:

Überprüfe, ob eine Datei existiert, mit test -f /path/to/file.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Stell dir vor, du betreibst ein IRC-Bot-Skript, das regelmäßig auf das Vorhandensein bestimmter Konfigurationsdateien prüft, bevor es Aktionen im Chat ausführt. Bevor der Bot eine Aktion ausführt, kannst du den test-Befehl verwenden, um sicherzustellen, dass die notwendige Konfigurationsdatei vorhanden ist.

Beispiel:

Überprüfen, ob die Datei bot_config.cfg existiert, bevor der Bot startet:

if test -f "/path/to/bot_config.cfg"; then
echo "Konfigurationsdatei gefunden, starte den IRC-Bot."
else
echo "Konfigurationsdatei fehlt, der IRC-Bot wird nicht gestartet."
fi

Mit diesem Test vermeidest du, dass der IRC-Bot ohne die notwendige Konfiguration ausgeführt wird, was zu Fehlern führen könnte.

Ähnliche Linux-Befehle:


Achtung es folgen teilweise keine "Befehle", sondern Bash-Scripting-Ergänzungen.

[ ] (Klammern): Eine alternative Syntax für test. Zum Beispiel: [ -f /path/to/file ].
[[ ]]: Eine erweiterte Syntax für Bedingungen in Bash, die zusätzlich zu den Funktionen von test mehr Möglichkeiten bietet.
expr: Wird verwendet, um Ausdrücke auszuwerten und Bedingungen in Skripten zu überprüfen.


Schalteroptionen und ihre Funktionen:


-e: Überprüft, ob eine Datei oder ein Verzeichnis existiert.
-f: Überprüft, ob eine reguläre Datei existiert.
-d: Überprüft, ob ein Verzeichnis existiert.
-s: Überprüft, ob eine Datei nicht leer ist (Dateigröße > 0).
-z: Überprüft, ob eine Zeichenkette leer ist.
-n: Überprüft, ob eine Zeichenkette nicht leer ist.
-r: Überprüft, ob eine Datei lesbar ist.
-w: Überprüft, ob eine Datei beschreibbar ist.
-x: Überprüft, ob eine Datei ausführbar ist.
-eq, -ne, -lt, -le, -gt, -ge: Vergleicht zwei Zahlenwerte.


MAN-Überschriften:


NAME
Beschreibung des Befehls.

SYNOPSIS
Die grundlegende Syntax für die Verwendung von test.

DESCRIPTION
Detaillierte Beschreibung, was der Befehl tut.

OPTIONS
Beschreibung der verfügbaren Schalteroptionen.

EXIT STATUS
Erklärungen zu den möglichen Rückgabewerten.

EXAMPLES
Beispiele für die Verwendung von test.

SEE ALSO
Verweise auf verwandte Befehle und Dokumentationen.

COMPATIBILITY
Hinweise zur Kompatibilität von test in verschiedenen Shells.

HISTORY
Historische Entwicklung des Befehls.

Handbuch für den Befehl: man test

local5
local5 ist eine Bezeichnung für eine benutzerdefinierte Log-Einrichtung (Facility) im Syslog-Protokoll. Das Syslog-Protokoll ist ein Standard für die Weiterleitung und Speicherung von Log-Nachrichten in Unix- und Linux-Systemen. Es ermöglicht Anwendungen, Betriebssysteme und Netzwerkgeräte, Log-Nachrichten an einen zentralen Log-Server oder in lokale Log-Dateien zu senden.

Verwendung von local5:



  • local5 ist eine von acht benutzerdefinierten Facility-Namen (local0 bis local7), die in Syslog definiert sind. Diese lokalen Facilities können von Anwendungen oder Skripten verwendet werden, um Log-Nachrichten an Syslog zu senden, die dann von einer Syslog-Daemon wie rsyslog, syslog-ng oder journalctl verarbeitet und in Log-Dateien gespeichert werden.

  • Entwickler oder Systemadministratoren verwenden häufig local5 (oder eine der anderen localX-Facilities), wenn sie ihre eigenen Log-Nachrichten von einer Anwendung oder einem Skript trennen möchten, um eine spezifische Handhabung oder Speicherung dieser Logs zu ermöglichen.


Beispiel:


Angenommen, Du möchtest, dass eine bestimmte Anwendung ihre Log-Nachrichten unter der Facility local5 an Syslog sendet, und diese Logs sollen in einer eigenen Datei gespeichert werden.

  1. Konfiguration einer Anwendung, um local5 zu verwenden:

    • In der Anwendung oder dem Skript wird local5 verwendet, um Logs zu erzeugen. Ein Beispiel könnte so aussehen:


      logger -p local5.info "Das ist eine Log-Nachricht für local5"


      Der Befehl logger sendet eine Log-Nachricht an Syslog mit der Facility local5 und dem Prioritätslevel info.



  2. Konfiguration von Syslog/rsyslog, um local5 in eine spezifische Datei zu schreiben:

    • Du kannst Deine Syslog-Konfiguration (z.B. /etc/rsyslog.conf oder eine Datei in /etc/rsyslog.d/) anpassen, um alle Logs von local5 in eine eigene Log-Datei zu schreiben.

      Beispiel-Eintrag in der rsyslog.conf:

      local5.* /var/log/local5.log


      Dieser Eintrag bewirkt, dass alle Log-Nachrichten, die von local5 gesendet werden, in die Datei /var/log/local5.log geschrieben werden.



  3. Neustart des Syslog-Dienstes:

    • Damit die Änderungen wirksam werden, musst Du den Syslog-Dienst neu starten:

      sudo systemctl restart rsyslog




  4. Überprüfung der Logs:

    • Die Logs werden jetzt in der Datei /var/log/local5.log gespeichert und können dort eingesehen werden.





local5 ist eine benutzerdefinierte Facility im Syslog-Protokoll, die verwendet wird, um Log-Nachrichten von Anwendungen oder Skripten zu kennzeichnen und sie an Syslog-Dienste zu senden. Systemadministratoren können local5 (und die anderen localX-Facilities) verwenden, um spezifische Logs von Anwendungen zu sammeln und sie getrennt von anderen System-Logs zu verwalten. Die Verwendung von local5 ist flexibel und erlaubt eine gezielte Handhabung von Log-Daten, was in größeren Systemen und Netzwerken besonders nützlich ist.
Eingereicht durch: schutzgeist

locale.conf

Kleiner Exkurs locale.conf


 

Die Datei locale.conf wird auf Linux-Systemen verwendet, um die Sprach- und Regionseinstellungen (Locales) des Systems festzulegen. Diese Einstellungen beeinflussen, wie das System Datumsformate, Zahlenformate, Währungen, Zeichensätze, und andere regional spezifische Einstellungen handhabt.

Typischer Inhalt der locale.conf


Die locale.conf-Datei enthält Einträge in Form von Schlüssel=Wert-Paaren, die die gewünschten Locale-Einstellungen angeben. Hier ein Beispiel für eine typische locale.conf:

 


LANG=en_US.UTF-8
LC_TIME=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8



Erklärung der Einträge



  • LANG: Diese Einstellung bestimmt die Standardlocale für alle Kategorien, wenn keine spezifischeren Einstellungen (wie LC_TIME oder LC_NUMERIC) gesetzt sind. Im obigen Beispiel ist LANG=en_US.UTF-8 gesetzt, was bedeutet, dass die allgemeine Systemsprache auf US-Englisch eingestellt ist und UTF-8 als Zeichensatz verwendet wird.

  • LC_TIME: Bestimmt das Format für die Darstellung von Datums- und Zeitangaben. Wenn dies auf de_DE.UTF-8 gesetzt ist, werden Datums- und Zeitangaben im deutschen Format angezeigt.

  • LC_NUMERIC: Legt fest, wie Zahlen formatiert werden, z.B. das verwendete Dezimaltrennzeichen. Im Beispiel wird das deutsche Format verwendet (also ein Komma als Dezimaltrennzeichen).

  • LC_MONETARY: Steuert die Formatierung von Währungen, wie das Symbol der Währung und das Trennzeichen für Tausender. Auch hier wird im Beispiel das deutsche Format verwendet.


Anwendung und Verwaltung



  1. Erstellen oder Bearbeiten der locale.conf:

    • Wenn die Datei noch nicht existiert, kannst Du sie erstellen oder eine vorhandene Datei bearbeiten, um Deine gewünschten Locale-Einstellungen hinzuzufügen.




    sudo nano /etc/locale.conf



    • Nach dem Bearbeiten speichere die Datei und beende den Editor.



  2. Locale sofort anwenden:

    • Um die Locale-Einstellungen sofort anzuwenden, ohne das System neu zu starten, kannst Du die Einstellungen neu laden:




    source /etc/locale.conf


    Oder für die aktuelle Shell-Session:


    export LANG=en_US.UTF-8
    export LC_TIME=de_DE.UTF-8


  3. Verfügbare Locales anzeigen:

    • Du kannst die auf Deinem System verfügbaren Locales anzeigen, indem Du den folgenden Befehl ausführst:



    locale -a


    Dieser Befehl listet alle verfügbaren Locale auf, die Du in Deiner locale.conf verwenden kannst.

  4. Locale generieren:

    • Wenn eine benötigte Locale nicht verfügbar ist, kannst Du sie generieren:




    sudo locale-gen de_DE.UTF-8
    sudo locale-gen en_US.UTF-8
    sudo update-locale



Verwendungsszenarien



  • Internationalisierte Systeme: Wenn Du ein System betreibst, das von Benutzern aus verschiedenen Regionen genutzt wird, kannst Du die locale.conf so anpassen, dass es den jeweiligen Anforderungen entspricht.

  • Sprachspezifische Anwendungen: Manche Anwendungen benötigen bestimmte Locale-Einstellungen, um korrekt zu funktionieren oder um Inhalte in der gewünschten Sprache darzustellen.



Die locale.conf-Datei ist ein zentrales Konfigurationsmittel, um die Sprach- und Regionseinstellungen Deines Linux-Systems anzupassen. Durch die Bearbeitung dieser Datei kannst Du festlegen, wie Dein System mit regional spezifischen Daten wie Datumsformaten, Zahlenformaten und Währungen umgeht. Dies ist besonders nützlich in Umgebungen, die internationale oder mehrsprachige Unterstützung erfordern.

 
Eingereicht durch: schutzgeist

localectl
Ein Befehl, der verwendet wird, um die System-Locale und Tastaturbelegung auf Linux-Systemen zu verwalten. localectl ermöglicht es dir, die Sprach- und Regionaloptionen (Locales) sowie die Tastaturlayouts für die Konsole und X11 einzustellen.

Linux-Befehl: localectl

Anwendungsbeispiel:
Zeige die aktuellen Locale- und Tastatureinstellungen an mit localectl status.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net und benötigst die Möglichkeit, schnell zwischen verschiedenen Sprach- und Tastaturlayouts zu wechseln, um mit Benutzern aus unterschiedlichen Regionen zu kommunizieren oder um spezifische Zeichensätze für die Verwaltung des Servers zu verwenden.

Beispiel: Ändern der System-Locale auf Deutsch (Deutschland) und des Tastaturlayouts auf Deutsch:


sudo localectl set-locale LANG=de_DE.UTF-8
sudo localectl set-keymap de


Mit diesen Befehlen kannst du sicherstellen, dass die Systemsprache auf Deutsch eingestellt ist und die Tastatur entsprechend dem deutschen Layout konfiguriert ist, was besonders nützlich sein kann, wenn du auf dem IRC-Server irc.irc-mania.net in einer spezifischen Sprache arbeiten möchtest.

Ähnliche Linux-Befehle:

  • setxkbmap: Verwendet, um das Tastaturlayout für X11-Sitzungen zu ändern.

  • loadkeys: Lädt ein bestimmtes Tastaturlayout für die Konsole.

  • locale: Zeigt die aktuellen Locale-Einstellungen an oder setzt sie temporär.


Schalteroptionen und ihre Funktionen:



  • localectl status: Zeigt den aktuellen Status der Locale- und Tastatureinstellungen an.

  • localectl list-locales: Listet alle verfügbaren Locale-Einstellungen auf.

  • localectl set-locale LANG=locale: Setzt die System-Locale auf die angegebene Einstellung, z.B. LANG=de_DE.UTF-8.

  • localectl set-keymap keymap: Setzt das Tastaturlayout für die Konsole, z.B. set-keymap us.

  • localectl set-x11-keymap layout [model] [variant] [options]: Setzt das Tastaturlayout für X11-Sitzungen. Du kannst das Layout, das Modell, die Variante und Optionen angeben.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von localectl.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. ENVIRONMENT
    Hinweise auf Umgebungsvariablen, die localectl beeinflussen können.

  6. EXAMPLES
    Beispiele für die Verwendung von localectl.

  7. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  8. AUTHOR
    Informationen über den Autor des Befehls.

  9. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man localectl
Eingereicht durch: Schutzgeist

log Ordner / Verzeichnis

/var/log/ Exkurs


 





Das Verzeichnis /var/log/ ist der zentrale Ort auf Unix- und Linux-Systemen, an dem System- und Anwendungsprotokolle (Logs) gespeichert werden. Diese Log-Dateien enthalten wichtige Informationen über das Verhalten und den Zustand des Systems, laufende Prozesse, Sicherheitseinstellungen und mehr. Hier ist eine Übersicht der wichtigsten Log-Dateien in /var/log/, zusammen mit einer Erklärung, wofür sie verwendet werden.

Wichtige Log-Dateien in /var/log/



  1. /var/log/syslog

    • Beschreibung: Diese Datei enthält allgemeine System- und Anwendungslogs. Hier werden die meisten allgemeinen Informationen gespeichert, die von Systemdiensten und Anwendungen ausgegeben werden.

    • Nutzung: Überwachen von Systemaktivitäten, Diagnose von allgemeinen Systemproblemen, Nachverfolgen von Ereignissen, die von verschiedenen Anwendungen und Diensten gemeldet werden.

    • Beispiel:


      Aug 22 12:34:56 myhostname systemd[1]: Started Session 1 of user root.




  2. /var/log/auth.log

    • Beschreibung: Diese Datei protokolliert alle Authentifizierungsversuche, wie z.B. erfolgreiche und fehlgeschlagene Anmeldeversuche, sudo-Verwendungen und andere sicherheitsrelevante Ereignisse.

    • Nutzung: Überwachung von sicherheitsrelevanten Aktivitäten, Identifizierung von unbefugten Zugriffsversuchen.

    • Beispiel:


      Aug 10 12:34:56 myhostname sshd[12345]: Accepted password for user from 192.168.1.100 port 22 ssh2




  3. /var/log/kern.log

    • Beschreibung: Diese Datei enthält Protokolle, die vom Linux-Kernel generiert werden. Sie enthält wichtige Informationen über Kernel-Nachrichten, Treiberprobleme und Hardware-Fehler.

    • Nutzung: Diagnose von Hardwareproblemen, Überwachung von Kernel-Aktivitäten.

    • Beispiel:


      Aug 10 12:34:56 myhostname kernel: [12345.678901] [UFW BLOCK] IN=eth0 OUT= MAC=...




  4. /var/log/dmesg

    • Beschreibung: Diese Datei enthält Kernel-Ringpuffer-Nachrichten, die sich auf den Systemstart und Hardware-Initialisierungen beziehen. Sie ist eine Momentaufnahme des Kernel-Logs beim Booten.

    • Nutzung: Überprüfung von Systemstartinformationen, Hardware- und Treiberinitialisierungen.

    • Beispiel:


      [ 0.000000] Initializing cgroup subsys cpuset
      [ 0.000000] Initializing cgroup subsys cpu




  5. /var/log/boot.log

    • Beschreibung: Diese Datei protokolliert den Systemstart und zeigt, welche Dienste erfolgreich gestartet wurden und welche nicht.

    • Nutzung: Analyse von Problemen, die während des Systemstarts auftreten, Überprüfung der Bootsequenz.

    • Beispiel:


      [ OK ] Started Network Manager.
      [FAILED] Failed to start MySQL Community Server.




  6. /var/log/cron.log oder /var/log/cron

    • Beschreibung: Diese Datei enthält Protokolle von Cron-Jobs, also Aufgaben, die über den cron-Dienst geplant und ausgeführt werden.

    • Nutzung: Überwachung der Ausführung von geplanten Aufgaben, Fehlersuche bei nicht ausgeführten oder fehlgeschlagenen Cron-Jobs.

    • Beispiel:


      Aug 10 12:00:01 myhostname CRON[12345]: (root) CMD (/usr/local/bin/backup.sh)




  7. /var/log/maillog oder /var/log/mail.log

    • Beschreibung: Diese Datei enthält Protokolle von E-Mail-Diensten wie Postfix, Sendmail oder Exim.

    • Nutzung: Überwachung und Diagnose von E-Mail-Aktivitäten, Verfolgung von eingehenden und ausgehenden E-Mails, Überprüfung auf E-Mail-Fehler oder Zustellungsprobleme.

    • Beispiel:


      Aug 10 12:34:56 myhostname postfix/smtp[12345]: 1234ABCD: to=, relay=smtp.example.com[192.168.1.200]:25, delay=0.5, delays=0.1/0/0.2/0.2, dsn=2.0.0, status=sent (250 OK)




  8. /var/log/messages

    • Beschreibung: Diese Datei ist ähnlich wie syslog und enthält allgemeine Systemnachrichten sowie Nachrichten von verschiedenen Diensten und Anwendungen.

    • Nutzung: Allgemeine Systemüberwachung, Fehlerdiagnose, Protokollierung von Ereignissen.

    • Beispiel:


      Aug 10 12:34:56 myhostname dhclient[12345]: DHCPREQUEST of 192.168.1.10 on eth0 to 192.168.1.1 port 67




  9. /var/log/apache2/ oder /var/log/httpd/

    • Beschreibung: Dieses Verzeichnis enthält Protokolle des Apache-Webservers. Üblicherweise gibt es zwei Hauptdateien: access.log für Zugriffsprotokolle und error.log für Fehlermeldungen.

    • Nutzung: Überwachung des Webserver-Traffics, Analyse von Webanfragen, Fehlerbehebung bei Webanwendungen.

    • Beispiele:

      • access.log:


        192.168.1.100 - - [10/Aug/2023:12:34:56 +0000] "GET /index.html HTTP/1.1" 200 1024


      • error.log:


        [Wed Aug 10 12:34:56 2023] [error] [client 192.168.1.100] File does not exist: /var/www/html/favicon.ico






  10. /var/log/mysql/ oder /var/log/mariadb/

    • Beschreibung: Dieses Verzeichnis enthält Protokolle des MySQL- oder MariaDB-Datenbankservers. Wichtige Dateien sind z.B. error.log, das Fehler im Zusammenhang mit der Datenbank protokolliert.

    • Nutzung: Überwachung von Datenbankaktivitäten, Fehlerbehebung bei Datenbankproblemen.

    • Beispiel:


      2023-08-10T12:34:56.789012Z 0 [ERROR] Plugin 'InnoDB' init function returned error.




  11. /var/log/faillog

    • Beschreibung: Diese Datei protokolliert fehlgeschlagene Anmeldeversuche.

    • Nutzung: Überwachung von möglichen unbefugten Zugriffen, Sicherheitshärtung durch Erkennung von Brute-Force-Angriffen.

    • Anzeigen:


      faillog -a




  12. /var/log/lastlog

    • Beschreibung: Diese Datei speichert Informationen über den letzten erfolgreichen Anmeldevorgang eines jeden Benutzers.

    • Nutzung: Überwachung der letzten Anmeldungen, Erkennung von Sicherheitsvorfällen.

    • Anzeigen:


      lastlog




  13. /var/log/btmp

    • Beschreibung: Diese Datei protokolliert fehlgeschlagene Anmeldeversuche, ähnlich wie faillog, jedoch in einem binären Format.

    • Nutzung: Sicherheitshärtung, Überwachung von fehlgeschlagenen Anmeldeversuchen.

    • Anzeigen:


      lastb




  14. /var/log/wtmp

    • Beschreibung: Diese Datei protokolliert alle An- und Abmeldungen sowie Systemstarts in einem binären Format.

    • Nutzung: Überwachung von Benutzeraktivitäten, Analyse von Systemstart- und Shutdown-Ereignissen.

    • Anzeigen:


      last






Das Verzeichnis /var/log/ ist entscheidend für die Überwachung und Wartung eines Linux-Systems. Es enthält Protokolldateien, die eine Vielzahl von Informationen über das System und seine Aktivitäten bereitstellen, von allgemeinen Systemereignissen über Authentifizierungsversuche bis hin zu spezifischen Diensten wie Web- und Datenbankservern. Systemadministratoren verwenden diese Logs, um Probleme zu diagnostizieren, Sicherheitsvorfälle zu erkennen und den allgemeinen Zustand des Systems zu überwachen.




Eingereicht durch: Schutzgeist

Log-Rotation Exkurs

Ein kleiner Linux Exkurs zum Thema: Log-Rotation


 

Exkurs: Log Rotation unter Linux


Log Rotation

ist ein Mechanismus, der in Unix- und Linux-Systemen verwendet wird, um Log-Dateien zu verwalten. Da Log-Dateien im Laufe der Zeit sehr groß werden können, bietet die Log-Rotation eine Methode, um ältere Log-Einträge zu archivieren und neue Logs in sauberen, kleineren Dateien zu speichern. Dieser Prozess sorgt dafür, dass das Dateisystem nicht durch übergroße Log-Dateien überlastet wird und die Logs übersichtlich und handhabbar bleiben.

Warum Log Rotation notwendig ist



  • Platzersparnis: Große, unkontrollierte Log-Dateien können schnell viel Speicherplatz beanspruchen und zu einem vollen Dateisystem führen.

  • Leistung: Kleinere Log-Dateien sind einfacher und schneller zu durchsuchen und zu analysieren.

  • Verwaltung: Durch das Archivieren und automatische Löschen alter Log-Dateien wird die Verwaltung von Log-Daten erleichtert.


Das logrotate-Tool


Das Standardwerkzeug für Log-Rotation auf den meisten Linux-Systemen ist logrotate. Es wird in der Regel über Cron-Jobs regelmäßig ausgeführt und rotiert, komprimiert und entfernt alte Log-Dateien basierend auf definierten Regeln.

Hauptfunktionen von logrotate:



  • Rotation: logrotate kann Log-Dateien nach einer bestimmten Größe, nach einem bestimmten Zeitintervall (täglich, wöchentlich, monatlich) oder basierend auf anderen Kriterien rotieren.

  • Komprimierung: Nach der Rotation können die alten Log-Dateien automatisch komprimiert werden (z.B. in .gz-Format).

  • Entfernung: Alte, nicht mehr benötigte Log-Dateien können nach einer bestimmten Anzahl von Rotationen oder Tagen automatisch gelöscht werden.

  • Benachrichtigungen: Nach der Rotation können Benachrichtigungen oder Aktionen wie das Senden einer E-Mail oder das Neustarten eines Dienstes ausgeführt werden.


Konfigurationsdateien:


logrotate verwendet Konfigurationsdateien, um die Rotationsregeln festzulegen. Die Hauptkonfigurationsdatei befindet sich in /etc/logrotate.conf. Darüber hinaus können spezifische Konfigurationen
Eingereicht durch: Schutzgeist

login.defs Konfiguration - Exkurs




Die Datei /etc/login.defs  Exkurs


Die Datei login.defs ist eine zentrale Konfigurationsdatei auf Linux- und Unix-Systemen, die verschiedene Einstellungen für das Benutzer- und Passwortmanagement steuert. Diese Datei wird von vielen Systemprogrammen verwendet, darunter login, useradd, userdel, passwd, und groupadd. Sie befindet sich üblicherweise im Verzeichnis /etc/.

Hauptinhalte und Konfigurationsoptionen von login.defs:


Hier sind einige der wichtigsten Einstellungen, die Du in der login.defs Datei finden kannst:

  1. PASS_MAX_DAYS

    • Beschreibung: Legt die maximale Anzahl von Tagen fest, die ein Passwort gültig ist.

    • Beispiel:


      PASS_MAX_DAYS 90


    • Erklärung: In diesem Beispiel muss ein Benutzer sein Passwort alle 90 Tage ändern.



  2. PASS_MIN_DAYS

    • Beschreibung: Legt die minimale Anzahl von Tagen fest, die vergehen müssen, bevor ein Passwort geändert werden kann.

    • Beispiel:


      PASS_MIN_DAYS 7


    • Erklärung: Der Benutzer muss mindestens 7 Tage warten, bevor er sein Passwort erneut ändern kann.



  3. PASS_WARN_AGE

    • Beschreibung: Legt fest, wie viele Tage vor Ablauf eines Passworts der Benutzer gewarnt wird.

    • Beispiel:


      PASS_WARN_AGE 7


    • Erklärung: Der Benutzer wird 7 Tage vor Ablauf seines Passworts gewarnt.



  4. UID_MIN und UID_MAX

    • Beschreibung: Bestimmt den Bereich der User IDs (UIDs), die für reguläre Benutzerkonten verwendet werden.

    • Beispiel:


      UID_MIN 1000
      UID_MAX 60000


    • Erklärung: Normale Benutzerkonten haben UIDs zwischen 1000 und 60000.



  5. GID_MIN und GID_MAX

    • Beschreibung: Bestimmt den Bereich der Gruppen IDs (GIDs), die für normale Gruppen verwendet werden.

    • Beispiel:


      GID_MIN 1000
      GID_MAX 60000


    • Erklärung: Normale Gruppen haben GIDs zwischen 1000 und 60000.



  6. CREATE_HOME

    • Beschreibung: Legt fest, ob das Home-Verzeichnis automatisch erstellt wird, wenn ein neuer Benutzer angelegt wird.

    • Beispiel:


      CREATE_HOME yes


    • Erklärung: Wenn ein neuer Benutzer erstellt wird, wird auch automatisch ein Home-Verzeichnis für ihn angelegt.



  7. ENCRYPT_METHOD

    • Beschreibung: Legt das Verschlüsselungsverfahren fest, das für die Verschlüsselung von Passwörtern verwendet wird.

    • Beispiel:


      ENCRYPT_METHOD SHA512


    • Erklärung: Passwörter werden mit dem SHA-512-Algorithmus verschlüsselt.



  8. UMASK

    • Beschreibung: Bestimmt die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse.

    • Beispiel:


      UMASK 022


    • Erklärung: Neue Dateien haben standardmäßig die Berechtigungen 755 (Verzeichnisse) oder 644 (Dateien), was bedeutet, dass sie für den Benutzer schreibbar, aber nur für andere lesbar sind.



  9. LOGIN_RETRIES

    • Beschreibung: Legt die maximale Anzahl von Anmeldeversuchen fest, bevor der Anmeldevorgang abgebrochen wird.

    • Beispiel:


      LOGIN_RETRIES 5


    • Erklärung: Ein Benutzer hat maximal 5 Versuche, sich anzumelden, bevor der Vorgang abgebrochen wird.



  10. LOGIN_TIMEOUT

    • Beschreibung: Bestimmt die Zeit in Sekunden, nach der eine inaktive Anmeldung automatisch abgebrochen wird.

    • Beispiel:


      LOGIN_TIMEOUT 60


    • Erklärung: Wenn der Benutzer während des Anmeldevorgangs 60 Sekunden lang inaktiv ist, wird der Anmeldevorgang abgebrochen.



  11. USERGROUPS_ENAB

    • Beschreibung: Bestimmt, ob Benutzer eigene Gruppen haben (jedem Benutzer wird eine eigene Gruppe mit demselben Namen wie der Benutzer zugewiesen).

    • Beispiel:


      USERGROUPS_ENAB yes


    • Erklärung: Jeder Benutzer erhält eine eigene Gruppe mit demselben Namen wie der Benutzer.



  12. CHFN_RESTRICT

    • Beschreibung: Legt fest, welche Felder des Benutzerkontos durch chfn geändert werden können.

    • Beispiel:


      CHFN_RESTRICT rwh


    • Erklärung: Benutzer können nur die Felder real name, work phone, und home phone ändern.




Zusammenfassung:


Die Datei login.defs ist eine zentrale Konfigurationsdatei, die wichtige Richtlinien und Standards für Benutzerkonten, Passwörter und Anmeldevorgänge auf einem Linux-System festlegt. Sie ermöglicht Administratoren, Sicherheitsrichtlinien (wie Passwortalterung und Warnungen), Benutzer- und Gruppenkonventionen sowie Dateiberechtigungen zentral zu verwalten. Die Anpassung der login.defs Datei kann dazu beitragen, das System sicherer und benutzerfreundlicher zu machen.











4o



Eingereicht durch: Schutzgeist

lpq Status von Druckaufträgen




lpq


Ein Befehl, der den Status der Druckwarteschlange (Print Queue) anzeigt. Mit lpq kannst du die Druckaufträge sehen, die sich derzeit in der Warteschlange eines Druckers befinden, einschließlich Details wie die Job-ID, den Benutzernamen, die Dateigröße und den Status des Druckauftrags.

Linux-Befehl: lpq

Anwendungsbeispiel:
Zeige die aktuelle Druckwarteschlange für den Standarddrucker an mit lpq.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du verwaltest einen IRC-Server unter irc.irc-mania.net, und du hast ein Skript, das automatisch Chat-Protokolle ausdruckt. Wenn mehrere Benutzer gleichzeitig Druckaufträge senden, möchtest du sicherstellen, dass alle Aufträge korrekt abgewickelt werden. Mit lpq kannst du die Druckwarteschlange überwachen, um sicherzustellen, dass keine Protokolle verloren gehen.

Beispiel: Überprüfen der Druckwarteschlange, um sicherzustellen, dass alle Protokolle gedruckt werden:


lpq


Dieser Befehl zeigt alle aktuellen Druckaufträge in der Warteschlange an. Dies ist hilfreich, um sicherzustellen, dass keine Aufträge hängen bleiben und alle Chat-Protokolle für den Server irc.irc-mania.net erfolgreich gedruckt werden.

Ähnliche Linux-Befehle:

  • lpr: Sendet einen Druckauftrag an die Druckwarteschlange.

  • lprm: Entfernt einen Druckauftrag aus der Warteschlange.

  • lpstat: Zeigt allgemeine Druckerstatusinformationen und Warteschlangeninformationen an.

  • cancel: Bricht einen laufenden Druckauftrag ab.


Schalteroptionen und ihre Funktionen:



  • lpq -P printername: Zeigt die Warteschlange für einen bestimmten Drucker an.

  • lpq -l: Gibt detaillierte Informationen über jeden Druckauftrag in der Warteschlange aus.

  • lpq -a: Zeigt die Warteschlangeninformationen für alle Drucker an.

  • lpq -U username: Zeigt die Druckaufträge eines bestimmten Benutzers an.


MAN-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von lpq.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FILES
    Hinweise auf Dateien, die von lpq verwendet werden, z.B. Druckerwarteschlangendateien.

  6. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen, z.B. lpr, lpstat.

  7. AUTHOR
    Informationen über den Autor des Befehls.

  8. BUGS
    Informationen zu bekannten Fehlern und deren Behebung.


Handbuch für den Befehl: man lpq

Der Befehl lpq wird in Unix- und Linux-Systemen verwendet, um den Status von Druckaufträgen in der Druckwarteschlange zu überprüfen. Dieser Befehl zeigt eine Liste aller Druckaufträge an, die derzeit in der Warteschlange eines bestimmten Druckers stehen. Du kannst den Befehl verwenden, um Informationen wie den Auftragsstatus, die Auftrag-ID, den Benutzer, der den Auftrag eingereicht hat, und die Anzahl der zu druckenden Seiten zu sehen.

Syntax von lpq


Die allgemeine Syntax des lpq-Befehls ist:

bash


lpq [Optionen] [Druckername]


Typische Verwendung



  1. Status der Standard-Druckwarteschlange anzeigen:

    Wenn Du keinen Druckernamen angibst, zeigt lpq den Status der Druckaufträge in der Standardwarteschlange an:


    lpq


  2. Status einer bestimmten Druckerwarteschlange anzeigen:

    Um den Status eines bestimmten Druckers zu überprüfen, gibst Du den Namen des Druckers als Argument an:


    lpq -P MeinDrucker


    Hierbei zeigt -P an, dass Du den Drucker "MeinDrucker" überprüfen möchtest.


Typische Ausgabe von lpq


Die Ausgabe von lpq könnte wie folgt aussehen:



Printer: MeinDrucker@hostname 'HP LaserJet 400 M401'
Queue: 2 printable jobs
Server: pid 1234 active
Status: job 'user1-123' saved at 15:30:00. Rank 1st, printed 0 pages.
Job: user1-123 User: user1 Status: held since 15:30:00
Job: user2-124 User: user2 Status: printing since 15:31:00


Erklärung der Ausgabe:



  • Printer: Der Name und die Beschreibung des Druckers.

  • Queue: Die Anzahl der Aufträge in der Warteschlange.

  • Server: Der Prozess des Druckservers und sein Status.

  • Status: Der aktuelle Status des Druckauftrags (z. B. "printing", "held", "queued").

  • Job: Die Job-ID, die dem Druckauftrag zugewiesen wurde.

  • User: Der Benutzer, der den Druckauftrag eingereicht hat.

  • Status des Jobs: Der Status des spezifischen Druckauftrags, z.B. "printing", "held" oder "queued".


Häufig verwendete Optionen



  • -P Druckername: Gibt den Drucker an, dessen Warteschlange angezeigt werden soll.

    Beispiel:


    lpq -P MeinDrucker


  • -l: Zeigt eine detailliertere Ausgabe an.

    Beispiel:


    lpq -l


  • -a: Zeigt den Status aller Druckerwarteschlangen im System an.

    Beispiel:

    lpq -a



Kombination mit anderen Befehlen



  • lpr: Um einen Druckauftrag zu erstellen.

    Beispiel:


    lpr -P MeinDrucker datei.txt


  • lprm: Um einen Druckauftrag aus der Warteschlange zu entfernen.

    Beispiel:


    lprm -P MeinDrucker 123



Hierbei würdest Du den Druckauftrag mit der Job-ID 123 aus der Warteschlange von MeinDrucker entfernen.


Der lpq-Befehl ist ein nützliches Werkzeug, um den Status von Druckaufträgen zu überprüfen, insbesondere in Umgebungen, in denen mehrere Benutzer oder mehrere Drucker vorhanden sind. Er hilft Dir dabei, den Überblick über die Druckwarteschlangen zu behalten und eventuelle Probleme wie blockierte Druckaufträge zu identifizieren.




Eingereicht durch: schutzgeist

ls

lsmod

Der Befehl lsmod (list modules)


Dieser zeigt Dir alle aktuell geladenen Kernel-Module Deines Systems an.
Kernel-Module sind essentielle Komponenten, die Funktionen wie Hardware-Unterstützung (z. B. für Grafikkarten, Netzwerkkarten) und Systemdienste bereitstellen.

Nutzung von lsmod unter Linux


Öffne ein Terminal und gib einfach lsmod ein. Du erhältst eine Liste aller Module, die aktuell im Kernel Deines Linux-Systems geladen sind.

Die Ausgabe des Befehls lsmod umfasst drei Spalten:

Module  | Name des Moduls  | Size : belegter RAM-Speichers in Bytes

Used by
Abhängige Module

Ein Teil meiner Ausgabe:

$ lsmod
Module Size Used by
xt_mark 12288 2
xt_connmark 12288 6
xt_comment 12288 10
tun 69632 2
vfat 20480 1
fat 106496 1 vfat
uinput 20480 0
rfcomm 102400 16
snd_seq_dummy 12288 0
snd_hrtimer 12288 1
nf_conntrack_netbios_ns 12288 1
nf_conntrack_broadcast 12288 1 nf_conntrack_netbios_ns
nft_fib_inet 12288 1
nft_fib_ipv4 12288 1 nft_fib_inet
nft_fib_ipv6 12288 1 nft_fib_inet
nft_fib 12288 3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
nft_reject_inet 12288 10
nf_reject_ipv4 16384 1 nft_reject_inet
nf_reject_ipv6 20480 1 nft_reject_inet
nft_reject 12288 1 nft_reject_inet
nft_ct 24576 8
nft_chain_nat 12288 3
ip6table_nat 12288 0
ip6table_mangle 12288 0
ip6table_raw 12288 0
ip6table_security 12288 0
iptable_nat 12288 0
nf_nat 65536 3 ip6table_nat,nft_chain_nat,iptable_nat
nf_conntrack 200704 5 nf_nat,nft_ct,nf_conntrack_netbios_ns,nf_conntrack_broadcast,xt_connmark
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 12288 1 nf_conntrack



Weitere Beispiele und Nutzen von lsmod


Überprüfe geladene Module:


Ein schneller lsmod-Befehl kann Dir zeigen, ob bestimmte Treiber, wie z.B. für eine neu installierte Grafikkarte, Laser-Gravierer, korrekt geladen sind.

Fehlersuche: Hast Du Probleme mit einem Gerät? Überprüfe mit lsmod, ob der entsprechende Treiber geladen ist. Fehlt er, weißt Du, wo Du ansetzen musst.

Optimierung Deines Systems: Manchmal sind Module geladen, die Du nicht brauchst.
Mit lsmod kannst Du überprüfen, ob unnötige Module Ressourcen verbrauchen.

Lerne Dein System über den Befehl kennen, oder auch fremde Systeme.
Für Linux-Einsteiger ist lsmod eine tolle Möglichkeit, mehr über die Funktionsweise des Systems zu erfahren.

Wer für LPI-Module lernt, muss sich ebenfalls mit diesen essenziellen Befehlen beschäftigen.

Kurze Beispiele
$ lsmod | fgrep -i snd_hda_intel

Sucht Dir nur Inhalte raus, die das jeweilige Suchmuster enthalten.
$ modprobe -r snd-hda-intel

Ein Befehl zum "entladen" eines Modules und zusammenhängende Module.

Das tolle ist, Du kannst diese Module "laden" und "entladen" während Du mit dem System arbeitest.
Und.... Du kannst die Parameter dieser Module ebenfalls anpassen.
Du findest die dazu passende Datei in

/etc/modprobe.conf/

Ein Beispiel meines Systems
Ausgabe von "ls" im Ordner "/etc/modprobe.d/"



modprobe.d]$ ls
appletalk-blacklist.conf floppy-blacklist.conf lockd.conf rose-blacklist.conf
atm-blacklist.conf kvm.conf netrom-blacklist.conf sctp-blacklist.conf
ax25-blacklist.conf l2tp_eth-blacklist.conf nfc-blacklist.conf v4l2loopback.conf
batman-adv-blacklist.conf l2tp_ip-blacklist.conf nvdimm-security.conf vhost.conf
blacklist.conf l2tp_netlink-blacklist.conf nvidia-installer-disable-nouveau.conf
firewalld-sysctls.conf l2tp_ppp-blacklist.conf rds-blacklist.conf


Wir sehen hier einige conf-Files und uns fällt das Wort "blacklist" schnell ins Auge.

Hier können wir den Linux-Befehl modinfo nutzen


Modinfo gibt Informationen über die jeweiligen Module aus:
zum Beispiel  mit der Erweiterung -p

modinfo -p nouveau
Ausgabe: (Beispiel)

vram_pushbuf:Create DMA push buffers in VRAM (int)
kms_vram_pushbuf:Place EVO/NVD push buffers in VRAM (default: auto) (int)
tv_norm:Default TV norm.
Supported: PAL, PAL-M, PAL-N, PAL-Nc, NTSC-M, NTSC-J,
hd480i, hd480p, hd576i, hd576p, hd720p, hd1080i.
Default: PAL
*NOTE* Ignored for cards with external TV encoders. (charp)
mst:Enable DisplayPort multi-stream (default: enabled) (int)
tv_disable:Disable TV-out detection (int)
ignorelid:Ignore ACPI lid status (int)
duallink:Allow dual-link TMDS (default: enabled) (int)
hdmimhz:Force a maximum HDMI pixel clock (in MHz) (int)
config:option string to pass to driver core (charp)
debug:debug string to pass to driver core (charp)
noaccel:disable kernel/abi16 acceleration (int)
modeset:enable driver (default: auto, 0 = disabled, 1 = enabled, 2 = headless) (int)
atomic:Expose atomic ioctl (default: disabled) (int)
runpm:disable (0), force enable (1), optimus only default (-1) (int)

Diesen Befehl kannst Du auch für alle anderen Module verwenden, die Du geladen oder vorliegen hast.




Zurück zur blacklist.conf:


In der Datei:

/etc/modprobe.d/blacklist.conf

kannst Du die Module eintragen, die auch nicht automatisch geladen werden sollen, um Systemprobleme zu vermeiden.
Gerade bei Grafikkarten oder Treibern oft eine der am meisten genutzten Funktionen.

Allgemeine Randnotiz.
Egal, ob Du lspci, lsusb oder lsmod nutzt, die greifen auf die gespeicherten Hardwareinformationen zurück.

Diese werden in den Verzeichnissen /proc /sys gesoeichert.

Nutze den cat-Befehl für folgende Verlinkungen

/proc/cpuinfo

/proc/interrupts

/proc/dma

Zum Beispiel

 
cat /proc/cpuinfo

Meine Ausgabe:
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
model : 1
model name : AMD FX(tm)-6200 Six-Core Processor
stepping : 2
microcode : 0x600063e
cpu MHz : 1407.995
cache size : 2048 KB
physical id : 0
siblings : 6
core id : 0
cpu cores : 3
apicid : 16
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme .......

 

und mehr.
Dasselbe kannst Du auch auf die anderen proc-Dateien cd /sys/verwenden.

Schau Dir den Ordner /proc/ mit ls an. Du wirst überrascht sein uptime, devices, vmstat version und viele anderen Informationen zu finden, die Du ggf. schon immer wissen wolltest.
Ganz einfach, auch per Text-Editor einsehbar.

Du kannst dies ebenfalls für den Sys-Ordner durchführen, allerdings sind hier die Ausgaben komplexer. Ich selbst schaue da selten/nie hinein.

Hier werden auch die Kerneldaten gespeichert.
lsmod haben wir schon etwas verlassen, aber da wir nun proc und sys -Daten besprochen haben, möchte ich noch einen kleinen Hinweis auf

den "/dev/" bzw. "/dev/hda/" geben.
Auch hier haben wir Hardwareinformationen gespeichert. Zum beispiel die IDE-Kanäle/Geräte.

Auch hier schauen wir uns das Chaos über den Linux-Befehl :
ls /dev/

einmal an.
Auffallend sind hier die tty*, usvmon*,loop* und Dateien.
In diesem Fall interessieren uns die /dev/hda*  Orte.
Dieses könnten IDE-Festplatten repräsentieren.

 

Nun haben wir den lsmod-Befehl schon etwas verlassen, sind aber noch im Bereich Hardwareinformationen geblieben.

 

lsof (List Open Files)
lsof (List Open Files):
Ein Befehl, der eine Liste aller geöffneten Dateien anzeigt, die von Prozessen auf dem System verwendet werden. Da in Unix-ähnlichen Systemen praktisch alles als Datei betrachtet wird, zeigt lsof auch geöffnete Netzwerkverbindungen, Pipes und Geräte an.

Linux-Befehl: lsof


Anwendungsbeispiel:
Zeige alle geöffneten Dateien an, die von einem bestimmten Benutzer verwendet werden, mit lsof -u username.

Fallbeispiel im Bereich IRC (Internet Relay Chat):


Angenommen, du betreibst einen IRC-Server unter irc.irc-mania.net, und du möchtest überprüfen, welche Dateien oder Sockets der IRC-Daemon (ircd) geöffnet hat. Dies kann hilfreich sein, um sicherzustellen, dass der IRC-Server korrekt mit den erforderlichen Dateien und Ports arbeitet.

 
Eingereicht durch: schutzgeist

lsof (List Open Files):

lsof (List Open Files):


Ein Befehl, der eine Liste aller offenen Dateien anzeigt, die von Prozessen auf dem System verwendet werden. Da in Unix-ähnlichen Systemen praktisch alles als Datei betrachtet wird, zeigt lsof auch geöffnete Netzwerkverbindungen, Pipes und Geräte an.

Linux-Befehl: lsof


 

Anwendungsbeispiel:


Zeige alle geöffneten Dateien an, die von einem bestimmten Benutzer verwendet werden, mit lsof -u username.

Alle Schalteroptionen und ihre Funktionen:


 

  • -a: Kombiniert Bedingungen (logisches UND).

  • -c: Filtert nach Prozessen mit einem bestimmten Namen.

  • -d: Zeigt Informationen über Dateideskriptoren (FD) an.

  • -i: Zeigt geöffnete Netzwerkdateien an. Kann nach Adresse und/oder Port gefiltert werden.

  • -n: Verhindert die Umkehrsuche von Hostnamen, beschleunigt den Befehl.

  • -P: Verhindert die Umkehrsuche von Portnummern, zeigt sie numerisch an.

  • -p: Filtert nach Prozessen mit einer bestimmten Prozess-ID (PID).

  • -r: Wiederholt den Befehl alle n Sekunden.

  • -s: Zeigt den Dateistatus an.

  • -t: Gibt nur die PIDs der Prozesse aus, die die Datei verwenden.

  • -u: Filtert nach einem bestimmten Benutzer.

  • +d: Zeigt Dateien in einem bestimmten Verzeichnis an.

  • +D: Zeigt alle Dateien in einem bestimmten Verzeichnis rekursiv an.

  • -T: Zeigt TCP- und UDP-Informationen an.

  • -X: Zeigt UNIX-Domain-Socket-Dateien an.

  • -h: Zeigt eine kurze Hilfeseite mit den verfügbaren Optionen an.

  • -v: Gibt die Version von lsof aus.

  • -V: Zeigt eine ausführliche Ausgabe mit detaillierten Informationen.


Man-Überschriften:



  1. NAME
    Beschreibung des Befehls.

  2. SYNOPSIS
    Die grundlegende Syntax für die Verwendung von lsof.

  3. DESCRIPTION
    Detaillierte Beschreibung, was der Befehl tut.

  4. OPTIONS
    Beschreibung aller verfügbaren Schalteroptionen.

  5. FIELDS
    Erklärung der Felder, die in der Ausgabe von lsof erscheinen.

  6. OUTPUT FOR OTHER PROGRAMS
    Hinweise zur Verwendung der Ausgabe von lsof in anderen Programmen.

  7. EXAMPLES
    Beispiele für die Verwendung von lsof.

  8. SECURITY
    Sicherheitsaspekte und Einschränkungen bei der Verwendung von lsof.

  9. CAUTIONS
    Warnhinweise und Dinge, die man bei der Verwendung von lsof beachten sollte.

  10. SEE ALSO
    Verweise auf verwandte Befehle und Dokumentationen.

  11. HISTORY
    Historische Entwicklung des Befehls.

  12. AUTHOR
    Informationen über den Autor des Befehls.


Handbuch für den Befehl: man lsof
Eingereicht durch: Schutzgeist

lspci

Der lspci-Befehl,


kurz für list PCI, ist ein wichtiges und notwendiges Werkzeug in Linux-Distributionen wie Ubuntu, Fedora, Debian und CentOS.
Es liefert detaillierte Informationen über PCI-Geräte wie Grafikkarten, Netzwerkkarten, Soundkarten, USB-Controller und mehr.
Eben alles, was am PCI-Port angeschlossen werden kann und ist.

Grundlegende Nutzung von lspci


Um eine einfache Liste aller PCI-Geräte anzuzeigen, öffne einfach ein Terminal und gib ein:
 
lspci

Diese Eingabe liefert eine übersichtliche Liste aller PCI-Geräte, einschließlich Hersteller und Gerätetyp.

Beispielausgabe
$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD9x0/RX980 Host Bridge (rev 02)
00:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0 PCI to PCI bridge (PCI Express GFX port 1)
00:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 4)

 

 

Erweiterte Optionen und Beispiele


Detaillierte Informationen: Um tiefergehende Details zu erhalten, kannst Du den Befehl

lspci -v

nutzen. Dies zeigt Informationen wie IRQ, Speicheradressen und Treiber.

Suche nach spezifischen Geräten: Möchtest Du Informationen über deine Grafikkarte?
lspci | grep VGA

filtert die Ergebnisse und zeigt nur Deine VGA-Geräte an.

Kernel-Treiber und Module:


Mit
lspci -k

siehst Du, welche Kernel-Treiber jedes Gerät nutzt – essentiell für die Fehlersuche bei Linux Treiberproblemen.

Numerische IDs und Hersteller:


Für Entwickler und fortgeschrittene Nutzer liefert

lspci -nn


numerische IDs von Herstellern und Geräten, was bei der Treibersuche hilfreich ist.

Der Nutzen von "lspci" im Troubleshooting-Alltag


Läuft mal ein angeschlossener Drucker, Laser-Gravierer oder sonstiges nicht, so lohnt es sich, die jeweiligen Konfigurationen und Integrationen anzuschauen.
Ist es Treiberproblem oder doch ein Hardwareschaden .
Befehle wie  dmesg, lsusb, lspcu usw.


lspci Befehl für die Systemdiagnose:



Schnelle Überprüfung der angeschlossenen Hardware.

Treiberkonfiguration:



  • Identifiziere Geräte, um die passenden Treiber zu finden oder zu überprüfen.

  • Systemüberwachung: Behalte die Konfiguration und Änderungen deiner Hardware im Auge.


 

lsusb
list USB - Siehe auch "demsg"

Der Befehl lsusb in Linux ist ein wichtiger Befehl, der Informationen über USB-Geräte liefert, die an Ihren Computer angeschlossen sind. Er steht für "list USB" und zeigt Details wie den Hersteller, das Produkt, die Geräte-ID und die Bus-Informationen der USB-Geräte.

Interpretation der Ausgabe von lsusb


Beispiel:
lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 003: ID 1e7d:303e ROCCAT [unknown]


Wenn Sie lsusb im Terminal eingeben, erhalten Sie eine Liste der angeschlossenen USB-Geräte. Jede Zeile entspricht einem Gerät und enthält mehrere Informationen:

  1. Bus-ID: Zeigt an, an welchem USB-Bus das Gerät angeschlossen ist.

  2. Geräte-ID: Eine eindeutige Nummer, die dem Gerät auf diesem Bus zugewiesen ist.

  3. Geräte-ID: Besteht aus zwei Teilen - idVendor und idProduct. idVendor identifiziert den Hersteller des Geräts, während idProduct das spezifische Modell identifiziert.

  4. Weitere Informationen: Zusätzliche Details wie Herstellername, Produktname und die Geräteversion.


Erkennung und Behebung von USB-Problemen mit lsusb



  • Geräteerkennung: Wenn ein USB-Gerät nicht funktioniert, können Sie lsusb verwenden, um zu überprüfen, ob das Gerät vom System überhaupt erkannt wird.

  • Hersteller- und Produkt-ID: Die IDs helfen dabei, die richtigen Treiber für das Gerät zu finden oder zu überprüfen, ob die richtigen Treiber bereits installiert sind.

  • Problembehebung: Fehlt ein Gerät in der lsusb-Ausgabe, kann dies auf ein Problem mit dem USB-Port, dem Kabel oder dem Gerät selbst hinweisen.


Weitere wichtige Befehle zur Analyse und Behebung von Problemen mit Endgeräten



  1. dmesg: Dieser Befehl zeigt Kernel-Nachrichten und kann helfen, Probleme zu identifizieren, die während der Geräteerkennung oder beim Laden von Treibern aufgetreten sind.

  2. lsmod: Listet alle momentan geladenen Kernel-Module auf. Dies kann hilfreich sein, um zu überprüfen, ob die benötigten Treibermodule für das USB-Gerät geladen sind.

  3. modprobe: Mit diesem Befehl können Sie Module im Linux-Kernel laden oder entfernen. Nützlich, wenn Sie ein spezifisches Treibermodul für ein USB-Gerät laden müssen.

  4. udevadm: Ein Tool zur Interaktion mit dem udev-System, das dynamisch Gerätedateien im /dev-Verzeichnis erstellt und verwaltet. Besonders hilfreich, um detaillierte Informationen über ein Gerät zu erhalten und udev-Regeln zu debuggen.

  5. lspci: Ähnlich wie lsusb, aber für PCI-Geräte. Nützlich, um Probleme mit Geräten zu diagnostizieren, die an PCI-Busse angeschlossen sind, was indirekt USB-Probleme beeinflussen kann.


Diese Befehle bieten eine umfassende Grundlage für die Fehlersuche bei USB- und anderen Hardware-Problemen unter Linux. Sie ermöglichen es Ihnen, Probleme zu identifizieren und zu beheben, die von einfachen Erkennungsproblemen bis hin zu komplexen Treiber- oder Hardware-Konflikten reichen.


Übermittle ein Linux Befehl
Schlagwörter:
Inhaltsverzeichnis