oracular (2) uname.2.gz

Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       uname - pobiera nazwę oraz informacje o bieżącym jądrze

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <sys/utsname.h>

       int uname(struct utsname *buf);

OPIS

       uname()  zwraca  informacje  systemowe  w  strukturze, na którą wskazuje buf. utsname jest zdefiniowana w
       <sys/utsname.h>:

           struct utsname {
               char sysname[];    /* Nazwa systemu operacyjnego (np. "Linux") */
               char nodename[];   /* Nazwa w sieci komunikacyjnej, do której
                                     węzeł jest dołączony (o ile występuje) */
               char release[];    /* Wydanie systemu operacyjnego
                                     (np. "2.6.28") */
               char version[];    /* Wersja systemu operacyjnego */
               char machine[];    /* Identyfikator typu sprzętowego */
           #ifdef _GNU_SOURCE
               char domainname[]; /* Nazwa domeny NIS lub YP */
           #endif
           };

       Długość tablicy w struct utsname jest nieokreślona (zob. UWAGI); pola są zakończone bajtem null ('\0').

WARTOŚĆ ZWRACANA

       Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1  i  ustawiane  errno,  wskazując
       błąd.

BŁĘDY

       EFAULT buf nie jest prawidłowe.

WERSJE

       Składowa domainname (nazwa domeny NIS lub YP) jest rozszerzeniem GNU.

       Długość  pól  w  strukturze  jest zróżnicowana. Niektóre systemy operacyjne lub biblioteki używają stałej
       długości 9 lub 33, lub 65, lub 257. Inne systemy operacyjne korzystają  z  SYS_NMLN  lub  _SYS_NMLN,  lub
       UTSLEN, lub _UTSNAME_LENGTH. Jest zatem złym pomysłem używanie którejś z tych stałych; proszę korzystać z
       sizeof(...). SVr4 używa długości 257, „aby obsługiwać internetowe nazwy stacji” — jest to  prawdopodobnie
       największa wartość, jaką można spotkać w praktyce.

STANDARDY

       POSIX.1-2008.

HISTORIA

       POSIX.1-2001, SVr4, 4.4BSD.

   Różnice biblioteki C/jądra
       Z  biegiem czasu, zwiększający się rozmiar struktury utsname spowodował powstanie trzech kolejnych wersji
       uname(): sys_olduname() (slot __NR_oldolduname), sys_uname()  (slot  __NR_olduname)  oraz  sys_newuname()
       (slot __NR_uname). Pierwsza korzysta z długości 9 we wszystkich polach; druga używa 65; trzecia — również
       65, lecz dodaje pole domainname. Funkcja opakowująca uname() z glibc ukrywa te detale przed  aplikacjami,
       przywołując najnowszą wersję wywołania systemowego zapewnianą przez jądro.

UWAGI

       Jądro  ma  wbudowane:  nazwę,  wydanie,  wersję i obsługiwany typ sprzętowy. Pole nodename jest natomiast
       konfigurowane przez administratora, właściwie do sieci (BSD historycznie  nazywało  je  „hostname”;  jest
       ustawiane za pomocą sethostname(2)).  Pole domainname jest z kolei ustawiane przez setdomainname(2).

       Część  informacji  utsname jest dostępna rownież za pomocą /proc/sys/kernel/{ostype, hostname, osrelease,
       version, domainname}.

ZOBACZ TAKŻE

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

TŁUMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  ⟨manpages-pl-
       list@lists.sourceforge.net⟩.