Provided by: manpages-es-dev_4.13-4_all bug

NOMBRE

       uname - obtiene el nombre e información del núcleo actual

SINOPSIS

       #include <sys/utsname.h>

       int uname(struct utsname *buf);

DESCRIPCIÓN

       uname()  devuelve  información  del  sistema en la estructura apuntada por buf.  La estructura utsname se
       define en <sys/utsname.h>:

           struct utsname {
               char sysname[];    /* Operating system name (e.g., "Linux") */
               char nodename[];   /* Name within "some implementation-defined
                                     network" */
               char release[];    /* Operating system release
                                     (e.g., "2.6.28") */
               char version[];    /* Operating system version */
               char machine[];    /* Hardware identifier */
           #ifdef _GNU_SOURCE
               char domainname[]; /* NIS or YP domain name */
           #endif
           };

       The length of the arrays in a struct utsname is unspecified (see NOTES); the fields are terminated  by  a
       null byte ('\0').

VALOR DEVUELTO

       En caso de éxito se devuelve cero. En caso de error se devuelve -1, y errno se configura adecuadamente.

ERRORES

       EFAULT buf no es válido.

CONFORME A

       POSIX.1-2001, POSIX.1-2008, SVr4.  No hay ninguna llamada uname() en 4.3BSD.

       El miembro domainname (el nombre de dominio NIS o YP) es una extensión de GNU.

NOTAS

       Esta  es  una  llamada  al  sistema,  y el sistema operativo conoce presumiblemente su nombre, revisión y
       versión. También sabe sobre qué hardware se ejecuta. Por tanto, cuatro de los campos de la estructura son
       relevantes.  Por otra parte, el campo nodename carece de importancia: da el nombre de la  máquina  actual
       en  alguna  red indefinida, pero normalmente las máquinas se encuentran en más de una red y tienen muchos
       nombres. Además, el núcleo no tiene manera de conocer estas situaciones, por lo que hay que decirle  cómo
       actuar en este caso.  Lo mismo vale para el campo adicional domainname.

       Para este propósito Linux utiliza las llamadas al sistema sethostname(2) y setdomainname(2).  Observe que
       no hay ningún estándar que diga que el nombre de host establecido por sethostname(2)  sea la misma cadena
       que contiene el campo nodename de la estructura devuelta por uname() (de hecho, algunos sistemas permiten
       un  nombre  de  host  de 256 bytes y un nodename de 8 bytes), pero ésto es cierto en Linux. Lo mismo vale
       para setdomainname(2)  y el campo domainname.

       La longitud de los campos en la estructura varía. Algunos sistemas operativos o bibliotecas usan  valores
       fijos  como  9,  33,  65  o  257.  Otros  sistemas  usan SYS_NMLN o _SYS_NMLN o UTSLEN o _UTSNAME_LENGTH.
       Claramente, es una mala idea usar cualquiera de estas constantes  -  tan  sólo  utilice  sizeof(...).   A
       menudo se elige 257 con el fin de tener espacio para un nombre de host en internet.

       Parte  de  la  información  de utsname también puede ser accedida via /proc/sys/kernel/{ostype, hostname,
       osrelease, version, domainname}.

   Diferencias kernel / biblioteca C
       Over time, increases in the size of the utsname structure  have  led  to  three  successive  versions  of
       uname():  sys_olduname()   (slot __NR_oldolduname), sys_uname()  (slot __NR_olduname), and sys_newuname()
       (slot __NR_uname).  The first one used length 9 for all fields; the second used 65; the third  also  uses
       65  but  adds  the  domainname  field.   The  glibc  uname()   wrapper  function hides these details from
       applications, invoking the most recent version of the system call provided by the kernel.

VÉASE TAMBIÉN

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

COLOFÓN

       Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del
       proyecto,  información  sobre  cómo  informar  errores  y  la  última   versión   de   esta   página   en
       https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

       La  traducción  al  español de esta página del manual fue creada por Urko Lusa <ulusa@lacueva.ddns.org> y
       Miguel Pérez Ibars <mpi79470@alu.um.es>

       Esta traducción es documentación libre;  lea  la  GNU General Public License Version 3  o  posterior  con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción  de esta página del manual, envíe un correo electrónico a
       debian-l10n-spanish@lists.debian.org.

Linux                                            10 Octubre 2019                                        UNAME(2)