Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       uname - Name und Informationen über den laufenden Kernel abfragen

ÜBERSICHT

       #include <sys/utsname.h>

       int uname(struct utsname *Puffer);

BESCHREIBUNG

       uname  gibt Systeminformationen in der Struktur zurück, auf die Puffer Puffer zeigt. Die Struktur utsname
       wird in <sys/utsname.h> definiert:

           struct utsname {
               char sysname[];    /* Name des Betriebssystems (z.B. »Linux«) */
               char nodename[];   /* Name innerhalb »irgendeines durch die
                                     Implementierung definierten Netzwerks« */
               char release[];    /* Betriebssystem-Release (z.B. »2.6.28«) */
               char version[];    /* Betriebssystem-Version */
               char machine[];    /* Hardware-Bezeichner */
           #ifdef _GNU_SOURCE
               char domainname[]; /* NIS- oder YP-Domain-Name */
           #endif
           };

       Die Länge der Felder in einem struct utsname wird nicht angegeben (lesen Sie die ANMERKUNGEN); die Felder
       werden durch ein NULL-Byte beendet ('\0').

RÜCKGABEWERT

       Bei Erfolg wird Null zurückgegeben. Bei  einem  Fehler  wird  -1  zurückgegeben  und  errno  entsprechend
       gesetzt.

FEHLER

       EFAULT Puffer ist nicht gültig.

KONFORM ZU

       POSIX.1-2001, POSIX.1-2008, SVr4. Es gibt in 4.3BSD keinen Aufruf für uname().

       Das domainname-Mitglied (der NIS- oder YP-Domain-Name) ist eine GNU-Erweiterung.

ANMERKUNGEN

       Dies  ist  ein Systemaufruf und das Betriebssystem kennt wahrscheinlich seinen Namen, das Release und die
       Version. Es weiß außerdem, auf welcher Hardware er ausgeführt werden kann. Daher sind vier der Felder der
       Struktur sinnvoll. Andererseits ist das Feld nodename sinnlos: Es gibt den Namen der Maschine in  einigen
       nicht  definierten  Netzwerken  an,  typische Maschinen befinden sich aber in mehr als einem Netzwerk und
       haben mehrere Namen. Zudem hat der Kernel keine Möglichkeit etwas über solche Dinge zu wissen, daher muss
       ihm gesagt werden, was er hier antworten soll, Das gleiche gilt für das zusätzliche Feld domainname.

       Zu diesem Zweck benutzt Linux die Systemaufrufe sethostname(2) und setdomainname(2). Beachten  Sie,  dass
       es dabei keinen Standard gibt, der sagt, dass der Rechnername, der durch sethostname(2) gesetzt wird, die
       gleiche  Zeichenkette  wie  das Feld nodename in der von uname() zurückgegebenen Struktur hat (allerdings
       erlauben einige Systeme einen 256 Byte langen Rechnernamen und einen 8 Byte langen Knotennamen), aber auf
       Linux ist dies der Fall. Das gleiche gilt für setdomainname(2) und das Feld domainname.

       Die Länge 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(…). Oft wird 257 gewählt, um Raum für einen Internet-Rechnernamen zu haben.

       Auf einen Teil der Information in »utsname« kann auch über /proc/sys/kernel/{ostype, hostname, osrelease,
       version, domainname} zugegriffen werden.

   Unterschiede C-Bibliothek/Kernel
       Im  Laufe  der  Zeit  hat  das  Vergößern der Struktur utsname zu drei aufeinanderfolgenden Versionen von
       uname()  geführt:  sys_olduname()  (Slot  __NR_oldolduname),   sys_uname()   (Slot   __NR_olduname)   und
       sys_newuname() (Slot __NR_uname). Der erste benutzte die Länge 9 für alle Felder, der zweite benutzte 65,
       der  dritte  benutzt  auch  65,  fügt  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.

SIEHE AUCH

       uname(1), getdomainname(2), gethostname(2), uts_namespaces(7)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  5.10  des Projekts Linux-man-pages. Eine Beschreibung des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite  wurde  von  Martin  Schulze  <joey@infodrom.org>,  Patrick
       Rother     <krd@gulu.net>,     Chris     Leick     <c.leick@vollbio.de>     und     Mario     Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer.

Linux                                           10. Oktober 2019                                        UNAME(2)