Provided by:
manpages-fr-dev_2.64.1-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[];
char nodename[];
char release[];
char version[];
char machine[];
#ifdef _GNU_SOURCE
char domainname[];
#endif
};
La longueur des chaînes de la struct utsname n’est pas spécifiée, les
champs se terminent par un caractère nul (’\0’).
VALEUR RENVOYÉE
En cas de réussite, zéro est renvoyé, sinon -1 est renvoyé et errno
contient le code d’erreur.
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 fixé
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 noeud 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 sysctl(2)
et par /proc/sys/kernel/{ostype, hostname, osrelease, version,
domainname}.
Interface noyau sous-jacente
Avec le temps, l’augmentation de la taille de la structure utsuname a
conduit à 3 implémentations 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 champs domainname
supplémentaire. La fonction uname() de la glibc cache ces détails aux
applications, en s’assurant que les nouvelles applications liées à la
bibliothèque actuelle utilisent automatiquement l’implémentation
actuelle et que la compatibilité binaire des anciens binaire n’est pas
cassée.
VOIR AUSSI
uname(1), getdomainname(2), gethostname(2)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
francophone de traduction de Debian.
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> ».