<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>48641</bug_id>
          
          <creation_ts>2023-11-30 17:01:19 +0300</creation_ts>
          <short_desc>сломалось предложение полезного имени хоста</short_desc>
          <delta_ts>2026-01-27 14:59:53 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>installer</component>
          <version>unstable</version>
          <rep_platform>e2k</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Shigorin">mike</reporter>
          <assigned_to name="Michael Shigorin">mike</assigned_to>
          <cc>andy</cc>
    
    <cc>antohami</cc>
    
    <cc>klark</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
    
    <cc>sin</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>238112</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2023-11-30 17:01:19 +0300</bug_when>
    <thetext>В какой-то до конца не ясный момент произошло изменение поведения инсталятора: если до этого при доступности сетевого интерфейса с DHCP на стадии конфигурирования сети по возможности предлагалось имя из DNS, то теперь стали лезть безликие &quot;host-${последний_октет_адреса}&quot;.

Заметил, что в консоли инсталятора &quot;resolve адрес&quot; моментально возвращает &quot;localhost.localdomain&quot; -- при том, что в /etc/resolv.conf правильно указаны DNS-серверы, полученные по DHCP.

В итоге выяснилось, что гадит попавшая в инсталятор libnss-myhostname;
если из /etc/nsswitch.conf убрать &quot;myhostname&quot; в строке hosts:, начинают нормально работать и resolve в консоли, и alterator-net-eth на своём шаге.

Собираюсь исправить в installer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238124</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2023-11-30 19:27:56 +0300</bug_when>
    <thetext>Там же рядом замечен /etc/nsswitch.conf.rpmorig _без_ myhostname для hosts:,
но с systemd для passwd:/group: (в отличие от /etc/nsswitch.conf).

Кто это делает?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238126</commentid>
    <comment_count>2</comment_count>
    <who name="Andrew Vasilyev">andy</who>
    <bug_when>2023-11-30 20:46:01 +0300</bug_when>
    <thetext>  См., например, systemd.spec:

%post -n libnss-myhostname
if [ -f /etc/nsswitch.conf ] ; then
        grep -E -q &apos;^hosts:.* myhostname&apos; /etc/nsswitch.conf ||
        sed -i.rpmorig -r -e &apos;
                s/^(hosts):(.*) files(.*) dns/\1:\2 files myhostname\3 dns/
                &apos; /etc/nsswitch.conf &gt;/dev/null 2&gt;&amp;1 || :
    # Fix: move myhostname after files
    if grep -E -q &apos;^hosts:.* dns myhostname&apos; /etc/nsswitch.conf ; then
        sed -i.rpmorig -r -e &apos;
                s/^(hosts):(.*) files(.*) dns myhostname/\1:\2 files myhostname\3 dns/
                &apos; /etc/nsswitch.conf &gt;/dev/null 2&gt;&amp;1 || :
    fi
    if grep -E -q &apos;^hosts:.* myhostname.*files&apos; /etc/nsswitch.conf ; then
        sed -i.rpmorig -r -e &apos;
                s/^(hosts):(.*) myhostname(.*) files(.*)/\1:\2 files myhostname\3\4/
                &apos; /etc/nsswitch.conf &gt;/dev/null 2&gt;&amp;1 || :
    fi
fi</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280628</commentid>
    <comment_count>3</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2026-01-21 17:31:56 +0300</bug_when>
    <thetext>Так ты ж это давно исправил вроде как:
ea1290b8ba25142c0ac16f0d9d423df3b98517d2
Author: Michael Shigorin &lt;mike@&gt;
Date:   Thu Nov 30 16:45:56 2023 +0300

initinstall.d/10-network.sh: avoid &apos;myhostname&apos; method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280777</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2026-01-23 14:32:36 +0300</bug_when>
    <thetext>(Ответ для Mikhail Efremov на комментарий #3)
&gt; Так ты ж это давно исправил вроде как:
Ну вот опять напоролся -- возможно, регэкс отвалился, пора опять выяснять, но:

# grep host /etc/nsswitch.conf
hosts:      files myhostname mdns4_minimal [NOTFOUND=return] dns</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280783</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2026-01-23 15:56:50 +0300</bug_when>
    <thetext>В installer 1.16.35 сделал так (fe859841b2df426d9a3bee31635dffa452892ad7,
пока что пробное http://git.altlinux.org/tasks/405928/):

-# Defuse libnss-myhostname
-sed -i &apos;s,myhostname ,,&apos; /etc/nsswitch.conf
+# Ensure sane (local)host name resolving (cf. ALT#48641)
+sed -ri &apos;s,^(hosts: +).*$,\1files dns,&apos; /etc/nsswitch.conf

Если у кого есть возражения -- излагайте их здеся же.
Но чтоб базовая функциональность работала.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280952</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2026-01-27 12:22:03 +0300</bug_when>
    <thetext>(Ответ для Michael Shigorin на комментарий #5)
&gt; В installer 1.16.35 сделал так (fe859841b2df426d9a3bee31635dffa452892ad7,
&gt; пока что пробное http://git.altlinux.org/tasks/405928/):
Правку пришлось перенести выше, иначе в live-install с этим вашим systemd
(который и портит конфиг) скрипт не отрабатывал, выходя до этого места;
9cf3d478bd08caba6d6b7ec15ef0bef5dbe85c81
http://git.altlinux.org/tasks/406398</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280962</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2026-01-27 14:37:27 +0300</bug_when>
    <thetext>Посмотрел внимательней -- там всё вообще плохо.

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 в &quot;Gold&quot; или там &quot;7&quot;).

Накопившийся бардак явно требует спокойного внимания...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280965</commentid>
    <comment_count>8</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2026-01-27 14:59:53 +0300</bug_when>
    <thetext>Нужно исправлять livecd-net-eth или livecd-auto-hostname, но не инсталлятор.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>