Provided by: manpages-de-dev_2.16-1_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.03  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 <debian-l10n-german@lists.debian.org>.