Члены структуры utsname

Описание. Название операционной системы (в данном случае Linux).

Номер версии выполняющегося ядра. Это полная версия вроде 2.6.2. Номер может быть легко изменен тем, кто выполнял сборку ядра, и вполне возможно, что цифр будет больше трех. Во многих версиях можно встретить дополнительную цифру для описания примененных исправлений, например, 2.4.1723.

Под Linux здесь содержится временная метка, описывающая время, когда собиралось ядро.

sysname release version machine nodename domainname Короткая строка, указывающая тип микропроцессора, на котором работает операционная система. Для Pentium Pro или более мощных она может быть i686, для процессоров класса Alpha — alpha, а для 64разряд ных процессоров PowerPC — ррсб4.

Имя хоста машины, которое обычно является первичным именем хоста в Internet. Домен NIS (или YP), которому принадлежит машина. Член nodename (имя узла) часто называется системным именем хоста (то, что отображает команда hostname), однако его не следует путать с именем Internetхоста. Несмотря на то что во многих системах эти члены не различаются, путать их не стоит. В системе с множеством Internetадресов есть множество имен Internetхостов, но только одно имя узла, поэтому эти имена не являются эквивалентными.

Мини-картинка

Более распространенная ситуация связана с домашними компьютерами, которые используют Internetканалы широкополосной связи. Обычно их имя хоста в Internet выглядит вроде hostl2756. raleigh. myisp. com, а имена Internetхостов меняются?

каждый раз при отключении на длительное время от модема. Владельцы этих машин дают своим компьютерам имя узла, которое им больше нравится, например, loren или eleanor, что совершенно не относится к адресам Internet. При наличии множества машин, работающих на одном домашнем шлюзе, все они будут разделять один Internet адрес (и одно имя Internetхоста), но могут иметь имена вроде Linux. mynetwork. org и freebsd. mynetwork. org, которые все еще не являются именами Internetхоста. В связи со всеми вышеперечисленными причинами, предполагать, что имя системного узла является допустимым именем Internetхоста для машины не верно.

Имя узла системы устанавливается с помощью системного вызова sethostname (), и имя домена NIS (YP) — посредством системного вызова setdomainname ().

include int sethostname(const char name, size_t len);

int setdomainname(const char name, size_t len);

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


Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок