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

NOM

       uname - Obtenir des informations à propos du noyau

SYNOPSIS

       #include <sys/utsname.h>

       int uname(struct utsname *buf);

DESCRIPTION

       uname()   renvoie   les  informations  dans  le  tampon  buf.  La  structure  utsname  est  définie  dans
       <sys/utsname.h> comme suit :

           struct utsname {
               char sysname[];    /* Nom du système d'exploitation
                                     (par exemple, "Linux") */
               char nodename[];   /* Nom dans "des réseaux définis
                                     par l'implémentation" */
               char release[];    /* Publication du système d'exploitation
                                     (par exemple "2.6.28") */
               char version[];    /* Version du système d'exploitation */
               char machine[];    /* Identifiant du matériel */
           #ifdef _GNU_SOURCE
               char domainname[]; /* Nom de domaine NIS ou YP */
           #endif
           };

       La longueur des chaînes de la struct utsname n'est pas spécifiée (consultez la section NOTES), les champs
       se terminent par un caractère NULL ('\0').

VALEUR RENVOYÉE

       En cas de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno reçoit une valeur adéquate.

ERREURS

       EFAULT buf n'est pas valable.

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008, SVr4. Il n'y a pas d'appel uname() dans BSD 4.3.

       Le champ domainname (nom de domaine NIS ou YP) est une extension Gnu.

NOTES

       Cela  est  un  appel système et le système d'exploitation est supposé connaître son nom et ses numéros de
       version et de mise à jour. Il connaît également le matériel sur lequel il tourne. Ainsi quatre champs  de
       la  structure sont significatifs. En revanche, le champ nodename n'est pas significatif : il donne le nom
       de la machine dans un réseau non précisé, mais généralement les  machines  sont  connectées  à  plusieurs
       réseaux  et  ont  plusieurs  noms. De plus, le noyau n'a pas de moyen de connaître ces informations et on
       doit les lui fournir. Cela est vrai aussi pour le champ supplémentaire domainname.

       À cette fin, Linux utilise les appels système sethostname(2) et setdomainname(2). Notez  qu'aucune  norme
       ne  dit que le nom d'hôte défini par sethostname(2) représente la même chaîne que le champ nodename de la
       structure renvoyée par uname() (de fait, certains systèmes autorisent un nom d'hôte de 256 octets  et  un
       nom  de nœud de 8 octets), mais c'est le cas sous Linux. La même chose est vraie pour setdomainname(2) et
       le champ domainname.

       La longueur des champs de la structure varie. Certains systèmes d'exploitation ou bibliothèques utilisent
       des  valeurs  en  dur  de 9,  33,  65, ou 257. D'autres systèmes utilisent SYS_NMLN, _SYS_NMLN, UTSLEN ou
       _UTSNAME_LENGTH. Clairement, il faut éviter d'utiliser ces constantes, employez  plutôt  sizeof(...).  On
       choisit souvent la valeur 257 qui permet de stocker un nom d'hôte Internet entier.

       Une  partie  des  informations  utsname  est  aussi  accessible  par  /proc/sys/kernel/{ostype, hostname,
       osrelease, version, domainname}.

   différences entre bibliothèque C et noyau
       Avec le temps, l'augmentation de la taille de la structure utsname a conduit à 3 versions successives  de
       uname() :  sys_olduname() (entrée __NR_oldolduname), sys_uname() (entrée __NR_olduname) et sys_newuname()
       (entrée __NR_uname). La première utilisait une longueur de 9 pour tous les champs, la  seconde  utilisait
       une  longueur  de  65  et  la  troisième  une  longueur  de  65  également  mais avec un champ domainname
       supplémentaire. La fonction d'enveloppe uname() de  la  glibc  cache  ces  détails  aux  applications  en
       appelant la version la plus récente de ces appels système fournie par le noyau.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions pour signaler des anomalies et la dernière version de cette page  peuvent  être  trouvées  à
       l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à la  GNU  General  Public  License
       version 3   ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les  conditions  de  copie  et  de
       distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org ⟨⟩.