Provided by: manpages-it-dev_4.27.0-1_all bug

NOME

       uname - restituisce nome e informazioni sul kernel attuale

LIBRERIA

       Libreria C standard (libc, -lc)

SINTASSI

       #include <sys/utsname.h>

       int uname(struct utsname *buf);

DESCRIZIONE

       uname() restituisce informazioni sul sistema attraverso il puntatore buf. La struttura utsname è definita
       in <sys/utsname.h>:

           struct utsname {
               char sysname[];    /* Nome del sistema operativo (per esempio "Linux") */
               char nodename[];   /* Nome all'interno della rete alla
                                     quale il nodo è eventualmente collegato. */
               char release[];    /* rilascio del SO
                                   (per esempio "2.6.28") */
               char version[];    /* versione del SO */
               char machine[];    /* identificatore hardware */
           #ifdef _GNU_SOURCE
               char domainname[]; /* nome di dominio NIS o YP */
           #endif
           };

       La lunghezza dei vettori in una struttura utsname non è specificata (vedere NOTE); i campi sono terminati
       con un byte nullo ('\0').

VALORE RESTITUITO

       In  caso  di  successo  restituisce  zero.  In caso di errore restituisce -1, e errno verrà impostato per
       indicare l'errore.

ERRORI

       EFAULT bufnon è valido.

VERSIONI

       Il membro domainname (il nome di dominio NIS o YP) è un'estensione GNU.

       La lunghezza dei campi nella struttura varia.  Alcuni  sistemi  operativi  o  librerie  usano  un  valore
       prefissato  9  o  33  o  65 o 257. Altri sistemi usano SYS_NMLN o _SYS_NMLN o UTSLEN o _UTSNAME_LENGTH. È
       chiaramente una pessima idea usare una qualunque di queste costanti; si usi solo sizeof(...).  SVr4  uses
       257 per avere spazio per un nome di host Internet — questo è il valore più grande trovato in giro.

CONFORME A

       POSIX.1-2008.

STORIA

       POSIX.1-2001, SVr4, 4.4BSD.

   Differenze tra la libreria C e il kernel
       Col  tempo,  aumenti  nella dimensione della struttura utsname hanno portato a tre versioni successive di
       uname(): sys_olduname() (slot __NR_oldolduname), sys_uname() (slot __NR_olduname), e sys_newuname() (slot
       __NR_uname). La prima usava la lunghezza 9 per tutti i campi; la seconda usava 65; anche la  terza  usava
       65,  aggiungendo  però  il  campo  domainname.  La  funzione  wrapper di glibc, uname (), nasconde questi
       dettagli alle applicazioni, invocando la versione più recente  della  chiamata  di  sistema  fornita  dal
       kernel.

NOTE

       Il  kernel  ha nome, rilascio, versione e tipo macchina già all'interno. Di converso, il campo nodename è
       configurato dall'amministratore perché corrisponda alla rete (questo è quello che storicamente BSD chiama
       "hostname" ed è  impostato  con  sethostname(2)).  Analogamente  il  campo  domainname  è  impostato  con
       setdomainname(2).

       Parte  dell'informazione  utsname  è  anche  accessibile  attraverso  /proc/sys/kernel/{ostype, hostname,
       osrelease, version, domainname}.

VEDERE ANCHE

       uname(1), getdomainname(2), gethostname(2), uts_namespaces(7)

TRADUZIONE

       La  traduzione  italiana  di  questa  pagina  di  manuale  è  stata   creata   da   Goffredo   Baroncelli
       <kreijack@usa.net>,  Giulio  Daprelà  <giulio@pluto.it>,  Elisabetta  Galli  <lab@kkk.it>,  Marco Curreli
       <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o  successiva
       per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

       Per  segnalare  errori  nella  traduzione  di  questa  pagina  di  manuale  inviare un messaggio a pluto-
       ildp@lists.pluto.it.

Linux man-pages 6.9.1                            15 giugno 2024                                         uname(2)