После обновления до Сизифа, при использовании dhcp, наблюдаю дублирование доменной части при регистрацию хоста в DDNS: -- получаю host.dom.en.dom.en, вместо ожидаемого host.dom.en (см. http://lists.altlinux.org/pipermail/devel/2015-August/200024.html). Расследование показало, что при использовании комбинации dhcpcd и etcnet на Сизифе наблюдается следующее: 1. Если в /etc/sysconfig/network определён HOSTNAME без точек, например host -- в DNS получаю ожидаемое host.dom.en. (Но похоже, не все скрипты такой HOSTNAME корректно переживают.) 2. Если в /etc/sysconfig/network определён HOSTNAME с точками, одна из которых концевая, например host.dom.en. -- результат получаю двоякий: хост либо регистрируется в DNS как host.dom.en., либо не регистрируется там вообще (что бывает чаще). 3. Если в /etc/sysconfig/network определён HOSTNAME с точками, но без концевой, например host.dom.en -- при регистрации в DNS домен удваивается, что приводит к host.dom.en.dom.en... Проверял на следующих версиях пакетов на Сизифе: dhcpcd-1:6.9.1-alt1 etcnet-0.9.10-alt18 etcnet-defaults-server-0.9.10-alt18 sysvinit-2.88-alt5 На p7, сразу после инсталляции с http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/images/centaurus/altlinux-7.0.4-centaurus-x86_64-ru-install-dvd5.iso, данной проблемы нет -- в DNS всегда ожидаемый host.dom.en, независимо от того были ли точки в HOSTNAME. Версии пакетов: dhcpcd-1:5.6.8-alt1 etcnet-0.9.10-alt8 etcnet-defaults-server-0.9.10-alt8 sysvinit-2.88-alt5 Дальнейший разбор показал, что изменилось dhcpcd, а etcnet этого не учитывает. С параметрами по умолчанию, разница в следующем: * Для dhcpcd-1:5.6.8 вызов "dhcpcd -h host.dom.en" приводят к регистрации host.dom.en * Для dhcpcd-1:6.9.1 вызов "dhcpcd -h host.dom.en" приводят к регистрации host.dom.en.dom.en. Старое поведение можно получить, используя "dhcpcd -F both -h host.dom.en".
По моему, в свете https://bugzilla.altlinux.org/show_bug.cgi?id=31203, надо в dhcp_cmdline() (см. etc/net/scripts/functions-ip) менять текущий алгоритм на следующий: 1. Есть в HOSTNAME точка, выставляем для: dhcpcd -- "-F both -h $HOSTNAME" dhclient -- "-F $HOSTNAME" (текущий вариант) 1. В HOSTNAME нет точки, выставляем для: dhcpcd -- "-h $HOSTNAME" (текущий вариант) dhclient -- "-H $HOSTNAME"
Предлагаемый алгоритм реализован в бранче fix-dhcp-hostname (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=shortlog;h=refs/heads/fix-dhcp-hostname), репозитория git://git.altlinux.org/people/solo/packages/etcnet.git. Краткое описание изменений: 1. Для dhcpcd -- в строку аргументов добавляется "-F both", если в HOSTNAME найдена точка (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=commitdiff;h=6ea116925aca188376eb05bc4b079918a869d0c7). 2. Для dhclient -- в строке аргументов используется "-F $HOSTNAME", если в HOSTNAME найдена точка. Если же точки там нет -- используется "-H $HOSTNAME" (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=commitdiff;h=cc7f150ddea5bb8ffa62146e87c31a169116ba96).
(В ответ на комментарий №2) > Предлагаемый алгоритм реализован в бранче fix-dhcp-hostname (см. > http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=shortlog;h=refs/heads/fix-dhcp-hostname), > репозитория git://git.altlinux.org/people/solo/packages/etcnet.git. Для себя я подготовил NMU с данными изменениями (см. http://git.altlinux.org/people/solo/packages/?p=etcnet.git;a=commit;h=e59153241306d0e0b40dbbadde021696bdbd0e2e и http://git.altlinux.org/tasks/147728/). Тестирование прошло успешно.
Считаю что данная бага блокирующая для p8.
Я, наконец, добрался с этим разобраться. В целом я согласен с solo@, только мне не нравится его патч: 1. DHCP_HOSTNAME тоже должен проверяться 2. Использование subshell с echo и fgrep это как-то слишком. Здесь мой вариант патча: http://git.altlinux.org/people/sem/packages/etcnet.git?p=etcnet.git;a=commit;h=5c4700b22e7450e3669ebcff74d80c0202a3ac87 Возвращать старое поведение в dhcpcd действительно не стоит, пожалуй. С этим патчем будет работать и с более старыми версиями dhcpcd, -F там есть уже давно. И short_hostname в конфиге dhcpcd в любом случае тоже не вариант, etcnet не должен полагаться на то, что эта опция там будет. Так что зависимость от #31203 убираю.
В dhcpcd-6.9.3-alt1 я вернул старое поведение по умолчанию, так что этот баг больше не distro-blocker. Но все равно в etcnet использовать DHCP-опцию FQDN вместо hostname мне кажется хороше
...хорошей идеей, так что патч актуален.
Закрываю, т.к. не воспроизводится.