В какой-то до конца не ясный момент произошло изменение поведения инсталятора: если до этого при доступности сетевого интерфейса с DHCP на стадии конфигурирования сети по возможности предлагалось имя из DNS, то теперь стали лезть безликие "host-${последний_октет_адреса}". Заметил, что в консоли инсталятора "resolve адрес" моментально возвращает "localhost.localdomain" -- при том, что в /etc/resolv.conf правильно указаны DNS-серверы, полученные по DHCP. В итоге выяснилось, что гадит попавшая в инсталятор libnss-myhostname; если из /etc/nsswitch.conf убрать "myhostname" в строке hosts:, начинают нормально работать и resolve в консоли, и alterator-net-eth на своём шаге. Собираюсь исправить в installer.
Там же рядом замечен /etc/nsswitch.conf.rpmorig _без_ myhostname для hosts:, но с systemd для passwd:/group: (в отличие от /etc/nsswitch.conf). Кто это делает?
См., например, systemd.spec: %post -n libnss-myhostname if [ -f /etc/nsswitch.conf ] ; then grep -E -q '^hosts:.* myhostname' /etc/nsswitch.conf || sed -i.rpmorig -r -e ' s/^(hosts):(.*) files(.*) dns/\1:\2 files myhostname\3 dns/ ' /etc/nsswitch.conf >/dev/null 2>&1 || : # Fix: move myhostname after files if grep -E -q '^hosts:.* dns myhostname' /etc/nsswitch.conf ; then sed -i.rpmorig -r -e ' s/^(hosts):(.*) files(.*) dns myhostname/\1:\2 files myhostname\3 dns/ ' /etc/nsswitch.conf >/dev/null 2>&1 || : fi if grep -E -q '^hosts:.* myhostname.*files' /etc/nsswitch.conf ; then sed -i.rpmorig -r -e ' s/^(hosts):(.*) myhostname(.*) files(.*)/\1:\2 files myhostname\3\4/ ' /etc/nsswitch.conf >/dev/null 2>&1 || : fi fi
Так ты ж это давно исправил вроде как: ea1290b8ba25142c0ac16f0d9d423df3b98517d2 Author: Michael Shigorin <mike@> Date: Thu Nov 30 16:45:56 2023 +0300 initinstall.d/10-network.sh: avoid 'myhostname' method
(Ответ для Mikhail Efremov на комментарий #3) > Так ты ж это давно исправил вроде как: Ну вот опять напоролся -- возможно, регэкс отвалился, пора опять выяснять, но: # grep host /etc/nsswitch.conf hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns
В installer 1.16.35 сделал так (fe859841b2df426d9a3bee31635dffa452892ad7, пока что пробное http://git.altlinux.org/tasks/405928/): -# Defuse libnss-myhostname -sed -i 's,myhostname ,,' /etc/nsswitch.conf +# Ensure sane (local)host name resolving (cf. ALT#48641) +sed -ri 's,^(hosts: +).*$,\1files dns,' /etc/nsswitch.conf Если у кого есть возражения -- излагайте их здеся же. Но чтоб базовая функциональность работала.
(Ответ для Michael Shigorin на комментарий #5) > В installer 1.16.35 сделал так (fe859841b2df426d9a3bee31635dffa452892ad7, > пока что пробное http://git.altlinux.org/tasks/405928/): Правку пришлось перенести выше, иначе в live-install с этим вашим systemd (который и портит конфиг) скрипт не отрабатывал, выходя до этого места; 9cf3d478bd08caba6d6b7ec15ef0bef5dbe85c81 http://git.altlinux.org/tasks/406398
Посмотрел внимательней -- там всё вообще плохо. host-* лезет из 40-autohostname.sh, но родословная у него куда более бородатая. История installer/preinstall.d/30-setup-network.sh идёт с 2012 года, когда boyarsh@ перетащил его из отдельной installer-feature-setup-network. В 2024 году antohami@ перетащил часть кода оттуда в 40-autohostname.sh, а недавно (декабрь 2025) соорудил installer-feature-network-settings-copy, которая -- внимание! -- содержит preinstall.d/30-setup-network.sh в качестве затычки, перекрывающей более развесистый скрипт из пакета installer (вместо таких костылей следует делать хотя бы флажок в перекрывающем пакете и его проверку в перекрываемом, если не получается избежать вычитания в силу инерции выпускающих). А ещё весной 2025 года усилиями опять же antohami@ и, видимо, ради live-install в m-p для p11 появился пакетик livecd-auto-hostname, где наблюдается схожий код (так опять же делать не стоит -- вместо разведения копий и потом выяснения, какая из них наименее глючная, следует выделять повторно используемый код в библиотеку и применять оттуда; да, это сперва чуть больше мороки, зато затем существенно меньше головняка -- например, с тем, что полезного можно вытащить из /proc/cpuinfo, не скатившись по | cut -f3 в "Gold" или там "7"). Накопившийся бардак явно требует спокойного внимания...
Нужно исправлять livecd-net-eth или livecd-auto-hostname, но не инсталлятор.