Zum Inhalt springen

/etc/issue

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Spezial:Wenigstbearbeitete Seiten » Seminar/ISMS » Spezial:Ungültiger Seitenname » update-alternatives » /etc/issue
Version vom 31. März 2025, 12:24 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „«“ durch „''“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

/etc/issue - Standard-Issue-Datei

Beschreibung

Falls die Datei existiert, dann prüft agetty auf das Verzeichnis /etc/issue.d

  • Das Verzeichnis ist eine optionale Erweiterung zu der Standard-Issue-Datei und der Inhalt des Verzeichnisses wird nach dem Inhalt von /etc/issue ausgegeben
  • Falls /etc/issue nicht existiert, wird das Verzeichnis ignoriert
  • Alle Dateien mit der Endung .issue aus dem Verzeichnis werden in Versionsreihenfolge angezeigt
  • Das Verzeichnis kann zur Verwaltung von Nachrichten dritter Parteien, unabhängig von der primären Datei /etc/issue des Systems, verwendet werden
Zusätzliche Orte

Seit Version 2.35 werden zusätzliche Orte für Issue-Datei und -Verzeichnis unterstützt

  • Falls die standardmäßige Datei /etc/issue nicht existiert, dann prüft agetty, ob die Dateien /run/issue und /run/issue.d vorhanden sind, und danach /usr/lib/issue und /usr/lib/issue.d
  • Das Verzeichnis /etc wird als Ort der rechnerspezifischen Konfiguration angenommen, /run für erzeugte Objekte und /usr/lib für die statische, von der Distribution verwaltete Konfiguration
Standardpfad

Der Standardpfad kann mit der Option --issue-file außer Kraft gesetzt werden

  • In diesem Fall muss der festgelegte Pfad eine Datei oder Verzeichnis sein und alle standardmäßigen Orte der Issue-Dateien und -Verzeichnisse werden ignoriert
Deaktivierung

Die Issue-Datei-Funktionalität kann mit der Option --noissue vollständig deaktiviert werden

Anzeige

Mit dem Befehl agetty --show-issue können Sie die aktuelle Issue-Datei im aktuellen Terminal anzeigen lassen

Die issue-Dateien können bestimmte Maskierungscodes enthalten, um den Systemnamen, das Datum, die Zeit usw. anzuzeigen

  • Alle Maskierungscodes bestehen aus einem Rückwärtsschrägstrich (\), der sofort von einem der unten aufgeführten Zeichen gefolgt wird

Maskierungscodes

Code Wert Beschreibung
4 Schnittstelle Fügt die IPv4-Adresse der angegebenen Netzwerkschnittstelle (beispielsweise \4{eth0}) ein
  • Falls das Argument Schnittstelle nicht angegeben wurde, wird die erste vollständig konfigurierte

Schnittstelle (OBEN, keine-SCHLEIFENSCHALTUNG, LAUFEND) ausgewählt

  • Falls keine konfigurierte Schnittstelle gefunden wird, wird auf die IP-Adresse des Rechnernamens der Maschine

zurückgegriffen

6 Schnittstelle Identisch zu \4, aber für IPv6
b fügt die Baudrate der aktuellen Leitung ein
d fügt das aktuelle Datum ein
e Name Übersetzt den menschenlesbaren Namen in eine Maskierungssequenz und fügt diese ein (Beispiel: \e{red}Hinweistext.\e{reset})
  • Falls das Argument Name nicht angegeben ist, wird \033 eingefügt
  • Die derzeit unterstützen Namen sind: black, blink, blue, bold, brown, cyan, darkgray, gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen, lightmagenta,

lightred, magenta, red, reset, reverse, yellow und white

  • Alle unbekannten Namen werden stillschweigend ignoriert
s fügt den Systemnamen (den Namen des Betriebssystems) ein
  • Identisch zu uname -s
  • Siehe auch die Maskierungscodes
S VARIABLE Fügt die VARIABLEn-Daten aus /etc/os-release hinzu
  • Falls diese Datei nicht existiert, dann wird auf /usr/lib/os-release zurückgefallen
  • Falls das Argument VARIABLE nicht angegeben ist,

dann wird PRETTY_NAME aus der Datei oder der Systemname verwendet (siehe \s)

  • Der Maskierungscode erlaubt es, /etc/issue unabhängig von der Distribution und der Veröffentlichung zu halten
  • Beachten Sie, dass \S{ANSI_COLOR} in die echte Terminalmaskierungssequenz umgewandelt wird
l fügt den Name der aktuellen TTY-Leitung ein
m 'fügt den Architekturkennzeichner der Maschine ein
  • Identisch zu uname -m
n fügt den Knotennamen der Maschine (auch als Rechnername oder Hostname bekannt) ein
  • Identisch zu uname -n
o fügt den NIS-Domain-Namen der Maschine ein
  • Identisch zu hostname -d
O fügt den DNS-Domain-Namen der Maschine ein
r fügt die Release-Nummer des Betriebssystems ein
  • Identisch zu uname -r
t fügt die aktuelle Zeit ein
u fügt die Anzahl der aktuell angemeldeten Benutzer ein
U fügt die Zeichenkette 1 user oder <n> users ein, wobei <n> die Anzahl der derzeit angemeldeten Benutzer ist
v fügt die Version des Betriebssystems ein, d. h. das Baudatum usw

Beispiele

Dies ist \n.\o (\s \m \r) \t
Ausgabe
Dies ist thingol.orcan.dk (Linux i386 1.1.9) 18:29:30
Debian
cat /etc/issue
Debian GNU/Linux trixie/sid \n \l


  1. https://man7.org/linux/man-pages/man5/issue.5.html




/etc/issue

Der Inhalt dieser Datei wird vor dem Login auf den Bildschirm geschrieben

  • Konkret ausgedrückt schreibt der Getty-Prozess, der auf die Eingabe eines Usernamens wartet, den Inhalt dieser Datei auf die Terminalleitung und fordert erst dann zur Eingabe des Usernamens auf

Normalerweise wird diese Datei dazu benutzt, dem User, der sich einloggen will, Informationen über das System zukommen zu lassen

  • Typische Einträge in dieser Datei sind einzeilige Meldungen über die verwendete Systemsoftware, etwa
Debian GNU/Linux

Die meisten Gettys sind zusätzlich in der Lage, bestimmte Substitutionen in diese Meldung aufzunehmen, die dann durch reale Werte ersetzt werden

  • Normalerweise sind das
\b  Baudrate der Terminalleitung
 \d  Aktuelles Datum
 \s  Systemname (Name des Betriebssystems)
 \l  Name der TTY-Leitung
 \m  Architektur des Systems (z. B. i486)
 \n  Hostname des Rechners
 \o  Domainname des Rechners
 \r  Release-Nummer des Betriebssystems
 \t  Aktuelle Uhrzeit
 \u  Anzahl der eingeloggten User
 \U  Anzahl der eingeloggten User und das Wort User(s)
 \v  Version des Betriebssystems (Build-Date)

Der Inhalt einer /etc/issue Datei könnte also auch folgendermaßen aussehen

Willkommen bei \n.\o (\s \m \r)

Das würde dann in der Ausgabe etwa folgendermaßen dargestellt werden

Willkommen bei marvin.mydomain.org (Linux i686 2.4.18)

Die Angabe von Datum, Uhrzeit und Anzahl der eingeloggten User ist weniger sinnvoll als auf den ersten Blick zu vermuten wäre

  • Die Substitution der Werte findet statt, während getty die Begrüßungsmeldung auf den Schirm schreibt
  • Danach findet keine Aktualisierung dieser Werte statt
  • Bei einem Server, der Tag und Nacht läuft und auf dessen Terminal sich nur alle paar Wochen jemand einloggt, können diese Werte mehrere Tage alt und damit wenig aussagekräftig sein

TMP

/etc/issue

Alle im folgenden Abschnitt beschriebenen Getty sind in der Lage, vor der Login-Aufforderung eine Mitteilung auf den Bildschirm auszugeben

  • Den Text dazu beziehen sie, wenn nicht explizit etwas anderes angegeben wurde, aus der Datei /etc/issue
  • In dieser Datei sind verschiedenste Ersatzdarstellungen zulässig, z. B. um den Rechnernamen oder die aktuelle Zeit einzublenden
  • Allerdings unterscheiden sich die Gettys hinsichtlich der unterstützten Platzhalter
  • Im Falle von mingetty könnte der Inhalt der Datei so aussehen
cat /etc/issue
Willkommen auf Rechner \n, System \s Version \r!

Der Willkommensgruß kann diverse Platzhalter umfassen, die den Text in begrenztem Umfang dynamisch anpassen

Parameter Beschreibung
\b Fügt die Baudrate der aktuellen Verbindung ein
\d Steht für den aktuellen Tag
\l Name des Terminals, an dem mingetty aktiv ist
\m Architektur des Rechner
\n Voller Rechnername (inklusive Domainname)
\o Domainname
\r Betriebssystemversion (Kernelrelease)
\s Betriebssystemname
\t Aktuelle Zeit
\u Anzahl am System angemeldeter Benutzer
\v Betriebssystemversion (Übersetzungszeit des Kernels)

Der Platzhalter \b wird nur von Gettys verstanden, die auch serielle Schnittstellen überwachen können

Bei Verwendung von fbgetty muss anstatt des Backslashs (\) das Prozentzeichen verwendet werden (%d, %u,...)

  • Da fbgetty sich noch in einem frühen Entwicklungsstadium befindet, wird es in der weiteren Diskussion keine Rolle spielen