focal (2) uname.2.gz

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>.