утилита domainname полностью сломана, не показывает ни имя хоста, ни имя домена. На fedora работает.
Утилита domainname традиционно (у нас всегда) является эквивалентом hostname -y, это апстримное поведение. В федоре, наверное, это hostname -d. Не используйте domainname.
Ну если она сломана, то надо видимо так и написать. -h выводит справку по domainname В fedora это что-то более широкое, по крайней мере ругани на domainname с опцией нет. Вот вывод в fedora: [root@localhost ~]# domainname -a localhost.localdomain localhost4 localhost4.localdomain4 localhost.localdomain localhost6 localhost6.localdomain6 [root@localhost ~]# domainname -b (none) [root@localhost ~]# domainname -f localhost [root@localhost ~]# domainname -i ::1 127.0.0.1 [root@localhost ~]# domainname -I 10.10.3.46 [root@localhost ~]# domainname -y domainname: Local domain name not set Вот вывод у нас: [rider@riderbook ~]$ domainname -s domainname: incompatible options По команде «domainname --help» можно получить дополнительную информацию. [rider@riderbook ~]$ domainname -f domainname: incompatible options По команде «domainname --help» можно получить дополнительную информацию. [rider@riderbook ~]$ domainname -i domainname: incompatible options По команде «domainname --help» можно получить дополнительную информацию. [rider@riderbook ~]$ domainname -d domainname: incompatible options По команде «domainname --help» можно получить дополнительную информацию. [rider@riderbook ~]$ domainname -y (none) Хотя все эти опции по domainname -h отображаются.
(In reply to comment #2) > Ну если она сломана, то надо видимо так и написать. > -h выводит справку по domainname > > В fedora это что-то более широкое, по крайней мере ругани на domainname с > опцией нет. > > Вот вывод в fedora: > [root@localhost ~]# domainname -a > localhost.localdomain localhost4 localhost4.localdomain4 localhost.localdomain > localhost6 localhost6.localdomain6 > [root@localhost ~]# domainname -b > (none) > [root@localhost ~]# domainname -f > localhost > [root@localhost ~]# domainname -i > ::1 127.0.0.1 > [root@localhost ~]# domainname -I > 10.10.3.46 > [root@localhost ~]# domainname -y > domainname: Local domain name not set Ну это просто hostname в чистом виде. > Вот вывод у нас: > [rider@riderbook ~]$ domainname -s > domainname: incompatible options > По команде «domainname --help» можно получить дополнительную информацию. > [rider@riderbook ~]$ domainname -f > domainname: incompatible options > По команде «domainname --help» можно получить дополнительную информацию. > [rider@riderbook ~]$ domainname -i > domainname: incompatible options > По команде «domainname --help» можно получить дополнительную информацию. > [rider@riderbook ~]$ domainname -d > domainname: incompatible options > По команде «domainname --help» можно получить дополнительную информацию. > [rider@riderbook ~]$ domainname -y > (none) > > Хотя все эти опции по domainname -h отображаются. Надо сделать, чтобы -d/-y работали, а остальные не отображались.
на ubuntu поведение аналогично RH
(In reply to comment #4) > на ubuntu поведение аналогично RH domainname -s, -f, и -i работают? Повесь им по баге!
да, работают. Мне честно лень развешивать, к тому же вариант когда что-то работает мне нравится больше, чем когда что-то не работает ;)
ну и просто для истории - domainname на SuSE ведёт себя точно так же как и на RH и Ubuntu.
Ещё для истории. Sisyphus: $ rpmquery -f /bin/hostname coreutils-8.27.0.6.04148-alt1.x86_64 $ hostname pegasus1.altlinux.org $ domainname (none) $ nisdomainname (none) $ dnsdomainname altlinux.org Rawhide: $ rpmquery -f /bin/hostname hostname-3.18-2.fc26.x86_64 $ hostname rawhide-test.fedorainfracloud.org $ domainname (none) $ nisdomainname nisdomainname: Local domain name not set $ dnsdomainname fedorainfracloud.org
coreutils-8.27.0.23.f4570-alt1 -> sisyphus: * Sun Apr 23 2017 Dmitry V. Levin <ldv@altlinux> 8.27.0.23.f4570-alt1 - coreutils: v8.27-6-g04148c9 -> v8.27-23-gf4570a9. - Changed *domainname aliases to accept hostname(1) options (closes: #33385).
(Ответ для Dmitry V. Levin на комментарий #1) > Утилита domainname традиционно (у нас всегда) является эквивалентом hostname > -y, > это апстримное поведение. В федоре, наверное, это hostname -d. > > Не используйте domainname. Давайте удалим domainname и hostname -y? За то, что Sun назвала NIS сначала Yellow Pages, их судили, но вот параметр -y почему-то оставили. NIS представлена компанией Sun в 1992 году, а её поддержка прекращена в 2004 году: https://bugzilla.altlinux.org/show_bug.cgi?id=697 Я предлагаю удалить domainname вообще, либо сделать её работающей. Тут ничего сложного нет: domainname должна выводить имя домена, аналогично hostname -d. Продолжать путаницу, которая уже никому не поможет, смысла нет. Кстати, реализация hostname -d просто улётная :) $ ltrace hostname -d gethostname("builder64.office.etersoft.ru", 33) = 0 strchr("builder64.office.etersoft.ru", '.') = ".office.etersoft.ru" puts("office.etersoft.ru"office.etersoft.ru )