From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 23 Dec 2021 17:20:20 +0300 From: "Dmitry V. Levin" To: ALT Devel discussion list Message-ID: <20211223142020.GA2176@altlinux.org> References: <20211217120716.5hphkzb2pe5mxqvj@example.org> <1929eb1e-3c96-6453-5e9c-decf082ab5d6@ya.ru> <2368b968-6f1d-82a3-24c9-6f19c587975a@gmail.com> <1aa23f9d-04ad-c558-d9e4-a294e737fd31@ya.ru> <20211222110106.lefwkop4rpeimr7q@example.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20211222110106.lefwkop4rpeimr7q@example.org> Subject: Re: [devel] I: sysvinit vs systemd X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Dec 2021 14:20:20 -0000 Archived-At: List-Archive: List-Post: On Wed, Dec 22, 2021 at 12:01:06PM +0100, Alexey Gladkov wrote: > On Wed, Dec 22, 2021 at 11:33:12AM +0700, Антон Мидюков wrote: > > 22.12.2021 03:06, Leonid Krivoshein пишет: > > > 21.12.2021 22:32, Антон Мидюков пишет: > > >> 17.12.2021 19:07, Alexey Gladkov пишет: > > >>> Привет! > > >>> > > >>> В виду нарастающей несовместимости между системами с sysvinit и systemd. > > >>> В sysvinit была добавлена явный конфликт на systemd. Технически они не > > >>> конфликтуют, но без него в системы с sysvinit иногда попадает systemd и > > >>> это приводит к серьёзным проблемам. > > >> Проблема скорее в том, что в hasher попадает sysvinit. А попадает он туда > > >> через треугольник systemd-utils-standalone - startup - systemd-sysctl-common. > > >> Эти пакеты вытягивают друг друга и sysvinit. > > >> startup тянется другими пакетами из-за конфигов, которые в нём. > > >> Можете попробовать установить в только что инициализированный hasher. > > >> А вот как они вытягивают sysvinit, я что-то не пойму. Наверное, это startup. > > > > > > От startup раньше зависел interactive-basesystem, теперь нет. Но раз его убрали из зависимостей, кому-то это могло что-то поломать, так что с марта 2021 startup могли добавить куда-то ещё. > > > > > > А можешь показать cat /etc/apt/pkgpriorities ? Этот файл ведь не установщик может создавать, его могли бы определять конфликтующие иниты, каждый по-своему. Потому что многие инитные зависимости виртуальные, и при обновлении начинается качание весов. Можно оставить его в apt-conf-branch для всех решений, а для пользователей sysvinit переместить в инитный пакет. > > > > > > > Да уже разобрался. startup через зависимость /sbin/halt вытягивает либо sysvinit, либо systemd-sysvinit. > > Исправив startup, починим сборку пакетов. > > Насколько я понимаю startup не нужен на системах с systemd. Об этом уже > писал shaba@. Пакет startup нужен только на системах с sysvinit. > > Конфликт в sysvinit выявил скрытую проблему: > > https://git.altlinux.org/tasks/292438/logs/events.1.1.log > > сейчас у нас systemd сам вытягивает startup > > Building Dependency Tree... > MI2a: mark libnss-mymachines > MI2a: target systemd-container > MI2a: mark systemd-container > MI2a: target systemd > MI2a: mark systemd > MI2a: target /etc/modules > MI2a: mark startup > ^^^^^^^^^^^^^^ > MI2a: target libnss-systemd > MI2a: mark libnss-systemd > MI2a: target systemd-boot-efi > MI2a: mark systemd-boot-efi > MI2a: target systemd-sysctl-common > MI2a: mark systemd-sysctl-common > > $ rpmquery -pR files/x86_64/RPMS/systemd-249.7-alt5.x86_64.rpm | grep /etc/modules > /etc/modules > > $ apt-cache showpkg /etc/modules > Package: /etc/modules > Versions: > > Reverse Depends: > systemd,/etc/modules > Dependencies: > Provides: > Reverse Provides: > startup 0.9.9.13-alt1:sisyphus+284270.100.1.1@1630416269 > > В свою очередь startup хочет утилиты halt, initlog, reboot, shutdown, > telinit. Их предоставляет либо sysvinit, либо systemd-sysvinit. > > $ rpm -e --test systemd-sysvinit > error: Failed dependencies: > /sbin/halt is needed by (installed) startup-0.9.9.13-alt1.noarch > /sbin/reboot is needed by (installed) startup-0.9.9.13-alt1.noarch > /sbin/shutdown is needed by (installed) startup-0.9.9.13-alt1.noarch > /sbin/telinit is needed by (installed) startup-0.9.9.13-alt1.noarch > > С одной стороны если systemd втащит внутрь systemd-sysvinit, то это > спрячет проблему и sysvinit перестанет появляться в окружении с systemd. > Но это плохое решение. > > Другим решением будет доделать перенос легаси конфигов в отдельные пакеты. > > Дима предложил порядок действий: > > + В startup ссылки /etc/modules и /etc/sysctl.conf заменяются на > зависимости. > > + Из systemd ссылка /etc/modules-load.d/modules.conf заменяется на > зависимость. > > + В systemd-sysctl-common ссылка /etc/sysctl.d/99-sysctl.conf заменяется > на файл и добавляется ссылка /etc/sysctl.conf. > > + В новом systemd-modules-common добавляется файл > /etc/modules-load.d/modules.conf и ссылка /etc/modules на него. > > + В обоих -common добавляются %pre, которые перемещают заменяемые файлы на > новые места. > > После этого startup перестанет появляться на системах с systemd и > вытягивать ненужные зависимости. Чтобы не было разночтений, я ожидаю, что мантейнер пакета systemd всё это исправит. Если он по той или иной причине не сможет, я буду искать того, кто сможет. -- ldv