Bug 33385 - domainname options do not work
Summary: domainname options do not work
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: coreutils (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33386
  Show dependency tree
 
Reported: 2017-04-17 15:57 MSK by Anton Farygin
Modified: 2020-11-10 12:01 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Farygin 2017-04-17 15:57:51 MSK
утилита domainname полностью сломана, не показывает ни имя хоста, ни имя домена.

На fedora работает.
Comment 1 Dmitry V. Levin 2017-04-17 16:15:08 MSK
Утилита domainname традиционно (у нас всегда) является эквивалентом hostname -y,
это апстримное поведение.  В федоре, наверное, это hostname -d.

Не используйте domainname.
Comment 2 Anton Farygin 2017-04-17 16:31:01 MSK
Ну если она сломана, то надо видимо так и написать.
-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 отображаются.
Comment 3 Dmitry V. Levin 2017-04-17 16:44:21 MSK
(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 работали, а остальные не отображались.
Comment 4 Anton Farygin 2017-04-17 16:59:49 MSK
на ubuntu поведение аналогично RH
Comment 5 Dmitry V. Levin 2017-04-17 17:07:58 MSK
(In reply to comment #4)
> на ubuntu поведение аналогично RH

domainname -s, -f, и -i работают? Повесь им по баге!
Comment 6 Anton Farygin 2017-04-17 17:23:43 MSK
да, работают. Мне честно лень развешивать, к тому же вариант когда что-то работает мне нравится больше, чем когда что-то не работает ;)
Comment 7 Anton Farygin 2017-04-17 18:04:11 MSK
ну и просто для истории - domainname на SuSE ведёт себя точно так же как и на RH и Ubuntu.
Comment 8 Dmitry V. Levin 2017-04-20 15:37:38 MSK
Ещё для истории.

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
Comment 9 Repository Robot 2017-04-23 04:03:15 MSK
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).
Comment 10 Vitaly Lipatov 2020-11-10 12:01:29 MSK
(Ответ для 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
)