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