Bug 51489 - gpupdate.service не стартует с etcnet
Summary: gpupdate.service не стартует с etcnet
Status: CLOSED WORKSFORME
Alias: None
Product: Branch p10
Classification: Unclassified
Component: gpupdate (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: qa-team@altlinux.org
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-17 12:30 MSK by KALIBR-10
Modified: 2024-09-24 14:03 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description KALIBR-10 2024-09-17 12:30:27 MSK
Альт рабочая станция 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
Comment 1 GordeevM 2024-09-17 16:59:01 MSK
Для того чтобы необходимые вам настройки unit сохранялись при обновлении пакета необходимо выполнить следующие действия:
создать каталог выполнив следующую команду, например

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

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

cat <<EOF > /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

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

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

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

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

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


если важно также указать что запуск необходим только после того как интерфейс будет настроен, и останавливать сервис, если интерфейс пропадет, то можно создать файл 90-network-deps-ИМЯИНТЕРФЕЙСА.conf
cat <<EOF > /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
Comment 2 Evgeny Shesteperov 2024-09-17 21:10:10 MSK
Добрый день!

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

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 && gpoa –loglevel 0

Ожидаемый результат: обновление политик выполнено успешно.
Comment 3 KALIBR-10 2024-09-22 10:37:31 MSK
(Ответ для Evgeny Shesteperov на комментарий #2)
> Добрый день!
> 
> Пожалуйста, дополнительно предоставьте следующую информацию:
> 
> 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 && gpoa –loglevel 0
> 
> Ожидаемый результат: обновление политик выполнено успешно.

#  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="ALT Workstation"
VERSION="10.2"
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME="ALT Workstation 10.2 (Autolycus)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:workstation:10.2"
BUILD_ID="ALT Workstation 10.0"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"



(Ответ для Evgeny Shesteperov на комментарий #2)
> Добрый день!
> 
> Пожалуйста, дополнительно предоставьте следующую информацию:
> 
> 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 && gpoa –loglevel 0
> 
> Ожидаемый результат: обновление политик выполнено успешно.

#  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="ALT Workstation"
VERSION="10.2"
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME="ALT Workstation 10.2 (Autolycus)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:workstation:10.2"
BUILD_ID="ALT Workstation 10.0"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"

# 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 вообще удален из системы.
Проблема воспроизводится.
Comment 4 KALIBR-10 2024-09-22 10:40:01 MSK
(Ответ для Evgeny Shesteperov на комментарий #2)
> Добрый день!
> 
> Пожалуйста, дополнительно предоставьте следующую информацию:
> 
> 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 && gpoa –loglevel 0
> 
> Ожидаемый результат: обновление политик выполнено успешно.

#  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="ALT Workstation"
VERSION="10.2"
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME="ALT Workstation 10.2 (Autolycus)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:workstation:10.2"
BUILD_ID="ALT Workstation 10.0"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"



(Ответ для Evgeny Shesteperov на комментарий #2)
> Добрый день!
> 
> Пожалуйста, дополнительно предоставьте следующую информацию:
> 
> 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 && gpoa –loglevel 0
> 
> Ожидаемый результат: обновление политик выполнено успешно.

#  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="ALT Workstation"
VERSION="10.2"
ID=altlinux
VERSION_ID=10.2
PRETTY_NAME="ALT Workstation 10.2 (Autolycus)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:workstation:10.2"
BUILD_ID="ALT Workstation 10.0"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"

# 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 вообще удален из системы.
Проблема воспроизводится.
Comment 5 KALIBR-10 2024-09-22 10:47:35 MSK
(Ответ для GordeevM на комментарий #1)
> Для того чтобы необходимые вам настройки unit сохранялись при обновлении
> пакета необходимо выполнить следующие действия:
> создать каталог выполнив следующую команду, например
> 
> mkdir -p /etc/systemd/system/gpupdate.service.d/ ;
> 
> и создать, например, файл с именем 90-start-change.conf для этого можно
> выполнить следующую команду:
> 
> cat <<EOF > /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
> 
> Примечание: "последний побеждает", чтобы затереть ранее добавляемые
> параметры, нужно указать ключ без параметров, например
> After=
> 
> повторное указание ключа добавляет значение в ключ
> 
> например строка: After=syslog.target network-online.target sssd.service
> аналогична тому, если указать
> 
> After=syslog.target
> After=network-online.target
> After=sssd.service
> 
> Указание секции важно
> 
> 
> если важно также указать что запуск необходим только после того как
> интерфейс будет настроен, и останавливать сервис, если интерфейс пропадет,
> то можно создать файл 90-network-deps-ИМЯИНТЕРФЕЙСА.conf
> cat <<EOF >
> /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

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 стартовал успешно.
Comment 6 Evgeny Shesteperov 2024-09-24 14:03:26 MSK
gpupdate-0.10.6-alt1

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