uname(2) System Calls Manual uname(2) BEZEICHNUNG uname - Name und Informationen uber den laufenden Kernel abfragen BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include int uname(struct utsname *Puffer); BESCHREIBUNG uname gibt Systeminformationen in der Struktur zuruck, auf die Puffer Puffer zeigt. Die Struktur utsname wird in definiert: struct utsname { char sysname[]; /* Name des Betriebssystems (z.B. >>Linux<<) */ char nodename[]; /* Name innerhalb des Kommunikationsnetzwerks, an den der Knoten angehangt ist, falls vorhanden */ char release[]; /* Betriebssystem-Release (z.B. >>2.6.28<<) */ char version[]; /* Betriebssystem-Version */ char machine[]; /* Hardwaretyp-Bezeichner */ #ifdef _GNU_SOURCE char domainname[]; /* NIS- oder YP-Domain-Name */ #endif }; Die Lange der Felder in einem struct utsname wird nicht angegeben (lesen Sie die ANMERKUNGEN); die Felder werden durch ein Nullbyte beendet (>>\0<<). RUCKGABEWERT Bei Erfolg wird Null zuruckgegeben. Bei einem Fehler wird -1 zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER EFAULT Puffer ist nicht gultig. VERSIONEN Das domainname-Mitglied (der NIS- oder YP-Domain-Name) ist eine GNU-Erweiterung. Die Lange der Felder in den Strukturen variiert. Einige Betriebssysteme oder Bibliotheken benutzen hart kodierte 9 oder 33 oder 65 oder 257. Andere Systeme benutzen SYS_NMLN oder _SYS_NMLN oder UTSLEN oder _UTSNAME_LENGTH. Offensichtlich ist es eine schlechte Idee, einige dieser Konstanten zu benutzen; benutzen Sie nur sizeof(). SVr4 verwendet 257, >>um Internet-Rechnernamen zu unterstutzen<< -- dies ist wahrscheinlich der grosste Wert, der im Feld angetroffen wird. STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001, SVr4, 4.4BSD. Unterschiede C-Bibliothek/Kernel Im Laufe der Zeit hat das Vergossern der Struktur utsname zu drei aufeinanderfolgenden Versionen von uname() gefuhrt: sys_olduname() (Slot __NR_oldolduname), sys_uname() (Slot __NR_olduname) und sys_newuname() (Slot __NR_uname). Der erste benutzte die Lange 9 fur alle Felder, der zweite benutzte 65, der dritte benutzt auch 65, fugt aber das Feld domainname hinzu. Die Glibc-Wrapper-Funktion uname() versteckt diese Einzelheiten vor Anwendungen durch Aufrufen der aktuellsten Version des vom Kernel bereitgestellten Systemaufrufs. ANMERKUNGEN Der Kernel hat den Namen, die Veroffentlichung, die Version und den unterstutzen Maschinentyp eingebaut. Umgekehrt wird das Feld nodename durch den Administrator konfiguriert, damit es auf das Netzwerk passt (das nennt BSD historisch den >>hostname<< (Rechnernamen) und wird mittels sethostname(2) gesetzt). Ahnlich wird das Feld domainname mittels setdomainname(2) gesetzt. Auf einen Teil der Information in >>utsname<< kann auch uber /proc/sys/kernel/{ostype, hostname, osrelease, version, domainname} zugegriffen werden. SIEHE AUCH uname(1), getdomainname(2), gethostname(2), uts_namespaces(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Schulze , Patrick Rother , Chris Leick , Mario Blattermann und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 uname(2)