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

НАИМЕНОВАНИЕ

       uname - получает название и информацию о текущем ядре

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <sys/utsname.h>

       int uname(struct utsname *buf);

ОПИСАНИЕ

       uname()  возвращает  информацию  о  системе  в  структуру  с  адресом buf. Структура utsname определена в
       <sys/utsname.h>:

           struct utsname {
               char sysname[];    /* Operating system name (e.g., "Linux") */
               char nodename[];   /* Name within communications network
                                     to which the node is attached, if any */
               char release[];    /* Operating system release
                                     (e.g., "2.6.28") */
               char version[];    /* Operating system version */
               char machine[];    /* Hardware type 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').

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.

ОШИБКИ

       EFAULT Значение buf не определено.

ВЕРСИИ

       Поле domainname (доменное имя NIS или YP) является расширением GNU.

       The  length of the fields in the struct varies.  Some operating systems or libraries use a hardcoded 9 or
       33 or 65 or 257.  Other systems use SYS_NMLN or _SYS_NMLN or UTSLEN or _UTSNAME_LENGTH.  Clearly, it is a
       bad idea to use any of these constants; just use  sizeof(...).   SVr4  uses  257,  "to  support  Internet
       hostnames" — this is the largest value likely to be encountered in the wild.

СТАНДАРТЫ

       POSIX.1-2008.

ИСТОРИЯ

       POSIX.1-2001, SVr4, 4.4BSD.

   Отличия между библиотекой C и ядром
       Со  временем,  увеличение  размера  структуры  utsname  последовательно  привело  к трём версиям uname():
       sys_olduname()  (слот  __NR_oldolduname),  sys_uname()  (слот  __NR_olduname)  и   sys_newuname()   (слот
       __NR_uname).  В  первой  длина каждого поля равна 9; во второй 65; в третьей также 65, но добавилось поле
       domainname. Обёрточная функция uname() в glibc скрывает эти  подробности  от  приложений,  вызывая  самую
       новую версию системного вызова, предоставляемого ядром.

ПРИМЕЧАНИЯ

       The kernel has the name, release, version, and supported machine type built in.  Conversely, the nodename
       field  is  configured  by the administrator to match the network (this is what the BSD historically calls
       the  "hostname",  and  is  set  via  sethostname(2)).   Similarly,  the  domainname  field  is  set   via
       setdomainname(2).

       Часть  информации  из  структуры  utsname  может  быть  получена  также  через /proc/sys/kernel/ {ostype,
       hostname, osrelease, version, domainname}.

СМОТРИТЕ ТАКЖЕ

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

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Dmitriy  Ovchinnikov  <dmitriyxt5@gmail.com>,  Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova
       <blackkatelv@gmail.com>, Yuri Kozlov  <yuray@komyakino.ru>,  Иван  Павлов  <pavia00@gmail.com>  и  Kirill
       Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                  15 июня 2024 г.                                        uname(2)