Provided by: manpages-fr-dev_3.57d1p1-1_all 

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[]; /* release 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 nul ('\0').
VALEUR RENVOYÉE
S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.
ERREURS
EFAULT buf pointe en dehors de l'espace d'adressage accessible
CONFORMITÉ
SVr4, POSIX.1-2001. 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
Ceci 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 les quatre
premiers 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. Ceci est vrai aussi pour le champ supplémentaire
domainname.
À cette fin, Linux utilise les appels système sethostname(2) et setdomainname(2). Notez qu'aucun standard
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 sur 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}.
Interface noyau sous-jacente
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
65 ; et la troisième une longueur de 65 également mais avec un champ domainname supplémentaire. La
fonction 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)
COLOPHON
Cette page fait partie de la publication 3.57 du projet man-pages Linux. Une description du projet et des
instructions pour signaler des anomalies peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.
Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal
<http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de
Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
un rapport de bogue sur le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
<section> <page_de_man> ».
Linux 3 décembre 2008 UNAME(2)