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

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

    <bug>
          <bug_id>51489</bug_id>
          
          <creation_ts>2024-09-17 12:30:27 +0300</creation_ts>
          <short_desc>gpupdate.service не стартует с etcnet</short_desc>
          <delta_ts>2024-09-24 14:03:26 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Branch p10</product>
          <component>gpupdate</component>
          <version>не указана</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WORKSFORME</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>0</everconfirmed>
          <reporter name="KALIBR-10">konsol1985ru</reporter>
          <assigned_to name="qa-team@altlinux.org">qa-team</assigned_to>
          <cc>alimektor</cc>
    
    <cc>max.gordeef</cc>
    
    <cc>sizov</cc>
          
          <qa_contact name="qa-p10@altlinux.org">qa-p10</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251705</commentid>
    <comment_count>0</comment_count>
    <who name="KALIBR-10">konsol1985ru</who>
    <bug_when>2024-09-17 12:30:27 +0300</bug_when>
    <thetext>Альт рабочая станция 10
Сетевая подсистема etcnet
При старте ОС наблюдается сбой запуска gpupdate.service

# systemctl list-units | grep gpupdate.service
● gpupdate.service loaded failed failed    Group policy update for machine

В journalctl наблюдается:
gpupdate[249379]: WARNING: no network interfaces found

При сетевой подсистеме NM данного сбоя не происходит. Однако у нас есть необходимость использовать в качестве сетевой подсистемы именно etcnet

Обходным решением пока сделали изменение /lib/systemd/system/gpupdate.service
С After=syslog.target network-online.target sssd.service
На After=network.service

Однако после какого-нибудь обновления gpupdate это может слететь на многих ПК. Адаптируйте пожалуйста запуск gpupdate для подсистемы etcnet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251722</commentid>
    <comment_count>1</comment_count>
    <who name="GordeevM">max.gordeef</who>
    <bug_when>2024-09-17 16:59:01 +0300</bug_when>
    <thetext>Для того чтобы необходимые вам настройки unit сохранялись при обновлении пакета необходимо выполнить следующие действия:
создать каталог выполнив следующую команду, например

mkdir -p /etc/systemd/system/gpupdate.service.d/ ;

и создать, например, файл с именем 90-start-change.conf для этого можно выполнить следующую команду:

cat &lt;&lt;EOF &gt; /etc/systemd/system/gpupdate.service.d/90-start-change.conf ;
[Unit]
After=
After=network.service
EOF 

после этого сказать systemd чтобы он перечитал unit-файлы:

systemctl daemon-reload	;

перезапустить демона:

systemctl restart gpupdate.service ;

и посмотреть получившиеся итог:

systemctl cat  gpupdate.service

Примечание: &quot;последний побеждает&quot;, чтобы затереть ранее добавляемые параметры, нужно указать ключ без параметров, например
After=

повторное указание ключа добавляет значение в ключ

например строка: After=syslog.target network-online.target sssd.service
аналогична тому, если указать

After=syslog.target
After=network-online.target
After=sssd.service

Указание секции важно


если важно также указать что запуск необходим только после того как интерфейс будет настроен, и останавливать сервис, если интерфейс пропадет, то можно создать файл 90-network-deps-ИМЯИНТЕРФЕЙСА.conf
cat &lt;&lt;EOF &gt; /etc/systemd/system/gpupdate.service.d/90-network-deps-ИМЯИНТЕРФЕЙСА.conf ;
[Unit]

Wants=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
Requires=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
BindsTo=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
After=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
EOF


где ИМЯИНТЕРФЕЙСА -- это имя целевого интерфейса(например eth0 )



Официальная документация: https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html

Также ознакомьтесь с:
https://www.altlinux.org/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_systemd</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251739</commentid>
    <comment_count>2</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2024-09-17 21:10:10 +0300</bug_when>
    <thetext>Добрый день!

Пожалуйста, дополнительно предоставьте следующую информацию:

1.  Операционная система, версия, на которой воспроизвелась ошибка.

2.  Выводы следующих команд:

         $ uname -a
         $ cat /etc/os-release
         $ apt-repo

3.  Обновлена ли система до текущего состояния репозитория?

Попробовал воспроизвести с ALT Workstation 10.2, ошибка не
воспроизвелась. Сетевую подсистему etcnet указывал через ЦУС,
NetworkManager отключал.

Шаги воспроизведения

1.  На клиенте ЦУС → Сеть → Ethernet-интерфейсы.
2.  Нажать Дополнительно.
3.  Изменить сетевую подсистему на etcnet согласно
    https://www.altlinux.org/Etcnet_start.
4.  Подтвердить изменения.
5.  Перезагрузить клиент.
6.  Выполнить # gpupdate &amp;&amp; gpoa –loglevel 0

Ожидаемый результат: обновление политик выполнено успешно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251908</commentid>
    <comment_count>3</comment_count>
    <who name="KALIBR-10">konsol1985ru</who>
    <bug_when>2024-09-22 10:37:31 +0300</bug_when>
    <thetext>(Ответ для Evgeny Shesteperov на комментарий #2)
&gt; Добрый день!
&gt; 
&gt; Пожалуйста, дополнительно предоставьте следующую информацию:
&gt; 
&gt; 1.  Операционная система, версия, на которой воспроизвелась ошибка.
&gt; 
&gt; 2.  Выводы следующих команд:
&gt; 
&gt;          $ uname -a
&gt;          $ cat /etc/os-release
&gt;          $ apt-repo
&gt; 
&gt; 3.  Обновлена ли система до текущего состояния репозитория?
&gt; 
&gt; Попробовал воспроизвести с ALT Workstation 10.2, ошибка не
&gt; воспроизвелась. Сетевую подсистему etcnet указывал через ЦУС,
&gt; NetworkManager отключал.
&gt; 
&gt; Шаги воспроизведения
&gt; 
&gt; 1.  На клиенте ЦУС → Сеть → Ethernet-интерфейсы.
&gt; 2.  Нажать Дополнительно.
&gt; 3.  Изменить сетевую подсистему на etcnet согласно
&gt;     https://www.altlinux.org/Etcnet_start.
&gt; 4.  Подтвердить изменения.
&gt; 5.  Перезагрузить клиент.
&gt; 6.  Выполнить # gpupdate &amp;&amp; gpoa –loglevel 0
&gt; 
&gt; Ожидаемый результат: обновление политик выполнено успешно.

#  uname -a
Linux mpclxr0-0.miac35.local 5.10.223-std-def-alt1 #1 SMP Thu Aug 1 14:27:01 UTC 2024 x86_64 GNU/Linux

#  cat /etc/os-release
NAME=&quot;ALT Workstation&quot;
VERSION=&quot;10.2&quot;
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME=&quot;ALT Workstation 10.2 (Autolycus)&quot;
ANSI_COLOR=&quot;1;33&quot;
CPE_NAME=&quot;cpe:/o:alt:workstation:10.2&quot;
BUILD_ID=&quot;ALT Workstation 10.0&quot;
HOME_URL=&quot;https://basealt.ru/&quot;
BUG_REPORT_URL=&quot;https://bugs.altlinux.org/&quot;



(Ответ для Evgeny Shesteperov на комментарий #2)
&gt; Добрый день!
&gt; 
&gt; Пожалуйста, дополнительно предоставьте следующую информацию:
&gt; 
&gt; 1.  Операционная система, версия, на которой воспроизвелась ошибка.
&gt; 
&gt; 2.  Выводы следующих команд:
&gt; 
&gt;          $ uname -a
&gt;          $ cat /etc/os-release
&gt;          $ apt-repo
&gt; 
&gt; 3.  Обновлена ли система до текущего состояния репозитория?
&gt; 
&gt; Попробовал воспроизвести с ALT Workstation 10.2, ошибка не
&gt; воспроизвелась. Сетевую подсистему etcnet указывал через ЦУС,
&gt; NetworkManager отключал.
&gt; 
&gt; Шаги воспроизведения
&gt; 
&gt; 1.  На клиенте ЦУС → Сеть → Ethernet-интерфейсы.
&gt; 2.  Нажать Дополнительно.
&gt; 3.  Изменить сетевую подсистему на etcnet согласно
&gt;     https://www.altlinux.org/Etcnet_start.
&gt; 4.  Подтвердить изменения.
&gt; 5.  Перезагрузить клиент.
&gt; 6.  Выполнить # gpupdate &amp;&amp; gpoa –loglevel 0
&gt; 
&gt; Ожидаемый результат: обновление политик выполнено успешно.

#  uname -a
Linux mpclxr0-0.miac35.local 5.10.223-std-def-alt1 #1 SMP Thu Aug 1 14:27:01 UTC 2024 x86_64 GNU/Linux

# cat /etc/os-release
NAME=&quot;ALT Workstation&quot;
VERSION=&quot;10.2&quot;
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME=&quot;ALT Workstation 10.2 (Autolycus)&quot;
ANSI_COLOR=&quot;1;33&quot;
CPE_NAME=&quot;cpe:/o:alt:workstation:10.2&quot;
BUILD_ID=&quot;ALT Workstation 10.0&quot;
HOME_URL=&quot;https://basealt.ru/&quot;
BUG_REPORT_URL=&quot;https://bugs.altlinux.org/&quot;

# apt-repo 
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic

Альтератор не использую, для меня приоритет понимать и настраивать ОС редактируя конфиги:
# cat /etc/sysconfig/network 
NETWORKING=yes
CONFMETHOD=etcnet
HOSTNAME=mpclxr8-1.mia5.local
DOMAINNAME=miac.local
RESOLV_MODS=yes

# cat /etc/net/ifaces/eth0/options 
BOOTPROTO=dhcp
TYPE=eth
DISABLED=no
NM_CONTROLLED=no

NM вообще удален из системы.
Проблема воспроизводится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251909</commentid>
    <comment_count>4</comment_count>
    <who name="KALIBR-10">konsol1985ru</who>
    <bug_when>2024-09-22 10:40:01 +0300</bug_when>
    <thetext>(Ответ для Evgeny Shesteperov на комментарий #2)
&gt; Добрый день!
&gt; 
&gt; Пожалуйста, дополнительно предоставьте следующую информацию:
&gt; 
&gt; 1.  Операционная система, версия, на которой воспроизвелась ошибка.
&gt; 
&gt; 2.  Выводы следующих команд:
&gt; 
&gt;          $ uname -a
&gt;          $ cat /etc/os-release
&gt;          $ apt-repo
&gt; 
&gt; 3.  Обновлена ли система до текущего состояния репозитория?
&gt; 
&gt; Попробовал воспроизвести с ALT Workstation 10.2, ошибка не
&gt; воспроизвелась. Сетевую подсистему etcnet указывал через ЦУС,
&gt; NetworkManager отключал.
&gt; 
&gt; Шаги воспроизведения
&gt; 
&gt; 1.  На клиенте ЦУС → Сеть → Ethernet-интерфейсы.
&gt; 2.  Нажать Дополнительно.
&gt; 3.  Изменить сетевую подсистему на etcnet согласно
&gt;     https://www.altlinux.org/Etcnet_start.
&gt; 4.  Подтвердить изменения.
&gt; 5.  Перезагрузить клиент.
&gt; 6.  Выполнить # gpupdate &amp;&amp; gpoa –loglevel 0
&gt; 
&gt; Ожидаемый результат: обновление политик выполнено успешно.

#  uname -a
Linux mpclxr0-0.miac35.local 5.10.223-std-def-alt1 #1 SMP Thu Aug 1 14:27:01 UTC 2024 x86_64 GNU/Linux

#  cat /etc/os-release
NAME=&quot;ALT Workstation&quot;
VERSION=&quot;10.2&quot;
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME=&quot;ALT Workstation 10.2 (Autolycus)&quot;
ANSI_COLOR=&quot;1;33&quot;
CPE_NAME=&quot;cpe:/o:alt:workstation:10.2&quot;
BUILD_ID=&quot;ALT Workstation 10.0&quot;
HOME_URL=&quot;https://basealt.ru/&quot;
BUG_REPORT_URL=&quot;https://bugs.altlinux.org/&quot;



(Ответ для Evgeny Shesteperov на комментарий #2)
&gt; Добрый день!
&gt; 
&gt; Пожалуйста, дополнительно предоставьте следующую информацию:
&gt; 
&gt; 1.  Операционная система, версия, на которой воспроизвелась ошибка.
&gt; 
&gt; 2.  Выводы следующих команд:
&gt; 
&gt;          $ uname -a
&gt;          $ cat /etc/os-release
&gt;          $ apt-repo
&gt; 
&gt; 3.  Обновлена ли система до текущего состояния репозитория?
&gt; 
&gt; Попробовал воспроизвести с ALT Workstation 10.2, ошибка не
&gt; воспроизвелась. Сетевую подсистему etcnet указывал через ЦУС,
&gt; NetworkManager отключал.
&gt; 
&gt; Шаги воспроизведения
&gt; 
&gt; 1.  На клиенте ЦУС → Сеть → Ethernet-интерфейсы.
&gt; 2.  Нажать Дополнительно.
&gt; 3.  Изменить сетевую подсистему на etcnet согласно
&gt;     https://www.altlinux.org/Etcnet_start.
&gt; 4.  Подтвердить изменения.
&gt; 5.  Перезагрузить клиент.
&gt; 6.  Выполнить # gpupdate &amp;&amp; gpoa –loglevel 0
&gt; 
&gt; Ожидаемый результат: обновление политик выполнено успешно.

#  uname -a
Linux mpclxr0-0.miac35.local 5.10.223-std-def-alt1 #1 SMP Thu Aug 1 14:27:01 UTC 2024 x86_64 GNU/Linux

# cat /etc/os-release
NAME=&quot;ALT Workstation&quot;
VERSION=&quot;10.2&quot;
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME=&quot;ALT Workstation 10.2 (Autolycus)&quot;
ANSI_COLOR=&quot;1;33&quot;
CPE_NAME=&quot;cpe:/o:alt:workstation:10.2&quot;
BUILD_ID=&quot;ALT Workstation 10.0&quot;
HOME_URL=&quot;https://basealt.ru/&quot;
BUG_REPORT_URL=&quot;https://bugs.altlinux.org/&quot;

# apt-repo 
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic

Альтератор не использую, для меня приоритет понимать и настраивать ОС редактируя конфиги:
# cat /etc/sysconfig/network 
NETWORKING=yes
CONFMETHOD=etcnet
HOSTNAME=mpclxr8-1.mia5.local
DOMAINNAME=miac.local
RESOLV_MODS=yes

# cat /etc/net/ifaces/eth0/options 
BOOTPROTO=dhcp
TYPE=eth
DISABLED=no
NM_CONTROLLED=no

NM вообще удален из системы.
Проблема воспроизводится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251910</commentid>
    <comment_count>5</comment_count>
    <who name="KALIBR-10">konsol1985ru</who>
    <bug_when>2024-09-22 10:47:35 +0300</bug_when>
    <thetext>(Ответ для GordeevM на комментарий #1)
&gt; Для того чтобы необходимые вам настройки unit сохранялись при обновлении
&gt; пакета необходимо выполнить следующие действия:
&gt; создать каталог выполнив следующую команду, например
&gt; 
&gt; mkdir -p /etc/systemd/system/gpupdate.service.d/ ;
&gt; 
&gt; и создать, например, файл с именем 90-start-change.conf для этого можно
&gt; выполнить следующую команду:
&gt; 
&gt; cat &lt;&lt;EOF &gt; /etc/systemd/system/gpupdate.service.d/90-start-change.conf ;
&gt; [Unit]
&gt; After=
&gt; After=network.service
&gt; EOF 
&gt; 
&gt; после этого сказать systemd чтобы он перечитал unit-файлы:
&gt; 
&gt; systemctl daemon-reload	;
&gt; 
&gt; перезапустить демона:
&gt; 
&gt; systemctl restart gpupdate.service ;
&gt; 
&gt; и посмотреть получившиеся итог:
&gt; 
&gt; systemctl cat  gpupdate.service
&gt; 
&gt; Примечание: &quot;последний побеждает&quot;, чтобы затереть ранее добавляемые
&gt; параметры, нужно указать ключ без параметров, например
&gt; After=
&gt; 
&gt; повторное указание ключа добавляет значение в ключ
&gt; 
&gt; например строка: After=syslog.target network-online.target sssd.service
&gt; аналогична тому, если указать
&gt; 
&gt; After=syslog.target
&gt; After=network-online.target
&gt; After=sssd.service
&gt; 
&gt; Указание секции важно
&gt; 
&gt; 
&gt; если важно также указать что запуск необходим только после того как
&gt; интерфейс будет настроен, и останавливать сервис, если интерфейс пропадет,
&gt; то можно создать файл 90-network-deps-ИМЯИНТЕРФЕЙСА.conf
&gt; cat &lt;&lt;EOF &gt;
&gt; /etc/systemd/system/gpupdate.service.d/90-network-deps-ИМЯИНТЕРФЕЙСА.conf ;
&gt; [Unit]
&gt; 
&gt; Wants=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
&gt; Requires=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
&gt; BindsTo=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
&gt; After=systemd-networkd-wait-online@ИМЯИНТЕРФЕЙСА.service
&gt; EOF
&gt; 
&gt; 
&gt; где ИМЯИНТЕРФЕЙСА -- это имя целевого интерфейса(например eth0 )
&gt; 
&gt; 
&gt; 
&gt; Официальная документация:
&gt; https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html
&gt; 
&gt; Также ознакомьтесь с:
&gt; https://www.altlinux.org/
&gt; %D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D1%80%D0%B2%D0%
&gt; B8%D1%81%D0%B0_systemd

mkdir -p /etc/systemd/system/gpupdate.service.d/
Создал там 90-start-change.conf
# cat /etc/systemd/system/gpupdate.service.d/90-start-change.conf
[Unit]
After=
After=network.service

# systemctl daemon-reload
# systemctl restart gpupdate.service
# systemctl cat  gpupdate.service
# /lib/systemd/system/gpupdate.service
[Unit]
Description=Group policy update for machine
After=syslog.target network-online.target sssd.service

[Service]
Environment=PATH=/bin:/sbin:/usr/bin:/usr/sbin
UnsetEnvironment=LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
Type=oneshot
ExecStart=/usr/bin/gpupdate
StandardOutput=journal

[Install]
WantedBy=multi-user.target

# /etc/systemd/system/gpupdate.service.d/90-start-change.conf
[Unit]
After=
After=network.service

После перезагрузки АРМ сервис gpupdate.service стартовал успешно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252035</commentid>
    <comment_count>6</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2024-09-24 14:03:26 +0300</bug_when>
    <thetext>gpupdate-0.10.6-alt1

Не воспроизвелось. Настраивал конфиги через etcnet, NetworkManager в системе отсутствует.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>