uname
Section: System Calls (2)
Updated: 5 février 2023
Index
Return to Main Contents
NOM
uname - Obtenir des informations à propos du noyau
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
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 le réseau de communication auquel
le nœud est attaché, s'il existe */
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 définie pour préciser l'erreur.
ERREURS
- EFAULT
-
buf n'est pas valable.
STANDARDS
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD.
Le champ domainname (nom de domaine NIS ou YP) est une extension Gnu.
NOTES
Le noyau intègre le nom, la publicaton, la version et le type de machine
prise en charge. Inversement, le champ nodename est configuré par
l'administrateur pour correspondre au réseau (c'est ce que BSD appelle de
façon historique le nom d'hôte ("hostname") et qui est défini au moyen de
sethostname(2)). De la même manière, le champ domainname est défini au
moyen de setdomainname(2).
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(...). SVr4 utilise 257 pour gérer des noms d'hôte
Internet --- c'est la valeur la plus grande susceptible d'être rencontrée
dans la nature.
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)
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
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- STANDARDS
-
- NOTES
-
- différences entre bibliothèque C et noyau
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:41:42 GMT, May 18, 2024