uname

UNAME(2)                   Manuel du programmeur Linux                  UNAME(2)



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 est réglé pour indiquer l'erreur.

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




Linux                             22 mars 2021                          UNAME(2)