uname(2)

NUME
uname - obține numele și informații despre nucleul curent

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <sys/utsname.h>

int uname(struct utsname *buf);

DESCRIERE
uname() returnează informații de sistem în structura indicată de buf. Structura utsname este definită în <sys/utsname.h>:

    struct utsname {
        char sysname[];    /* Numele sistemului de operare (de exemplu, „Linux”) */
        char nodename[];   /* Nume în cadrul rețelei de comunicații la care este
                              atașat nodul, dacă există */
        char release[];    /* Versiunea sistemului de operare
                              (de exemplu, „2.6.28”) */
        char version[];    /* Versiunea sistemului de operare */
        char machine[];    /* Identificatorul tipului de hardware */
    #ifdef _GNU_SOURCE
        char domainname[]; /* Numele de domeniu NIS sau YP */
    #endif
    };

Lungimea matricelor dintr-o struct utsname este nespecificată (a se vedea secțiunile VERSIUNI și ISTORIC); câmpurile sunt terminate cu un octet nul („\0”).

VALOAREA RETURNATĂ
În caz de succes, se returnează zero. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

EFAULT
    buf nu este valid.

VERSIUNI
Membrul domainname (numele de domeniu NIS sau YP) este o extensie GNU.

Lungimea câmpurilor din structură variază. Unele sisteme de operare sau biblioteci folosesc un cod fix de 9, 33, 65 sau 257. Alte sisteme utilizează SYS_NMLN sau _SYS_NMLN sau UTSLEN sau _UTSNAME_LENGTH. În mod clar, este o idee proastă să folosiți oricare dintre aceste constante; folosiți doar sizeof(...). SVr4 folosește 257, „pentru a da suport numelor de gazdă din Internet” -- aceasta este cea mai mare valoare care poate fi întâlnită în practică.

STANDARDE
POSIX.1-2024.

ISTORIC
POSIX.1-2001, SVr4, 4.4BSD.

  Diferențe între biblioteca C și nucleu
De-a lungul timpului, creșterea dimensiunii structurii utsname a dus la trei versiuni succesive ale uname(): sys_olduname() (slotul __NR_olduname), sys_uname() (slotul __NR_olduname) și sys_newuname() (slotul __NR_uname). Primul a folosit lungimea 9 pentru toate câmpurile; al doilea a folosit 65; al treilea folosește, de asemenea, 65, dar adaugă câmpul domainname. Funcția de învăluire glibc uname() ascunde aceste detalii pentru aplicații, invocând cea mai recentă versiune a apelului de sistem furnizat de nucleu.

NOTE
Nucleul are încorporate numele, data versiunii, versiunea și tipul de mașină acceptat. În schimb, câmpul nodename este configurat de către administrator pentru a se potrivi cu rețeaua (acesta este ceea ce BSD numește istoric „hostname” și este stabilit prin sethostname(2)). În mod similar, câmpul domainname este configurat prin setdomainname(2).

O parte din informațiile despre utsname sunt, de asemenea, accesibile prin /proc/sys/kernel/{ostype, hostname, osrelease, version, domainname}}.

CONSULTAȚI ȘI
uname(1), getdomainname(2), gethostname(2), uts_namespaces(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.