From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RP_MATCHES_RCVD autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1793267546; bh=nI7Q7kK1/CAsxl36WSstuxyYruLbcM0G5K5M9vN2aaU=; h=Date:From:To:Subject:References:In-Reply-To; b=oIt2r5HBw1IWnEo1zWN+CiMMmVUdGyhMRM7NQSWgwxvDJTKxfc7fVg/XS8+8ZtDZY 6ZljTBeYsRd3QncAc5znMvEdLPTz1Gs+hJ+c2ch0NunnYoiS2BkpuAeJLv+JEh31lp ML0msVPOd88euWmxI/+juPI60C8ggp6vqGhVezZiG3a0Pm0L/QbnZK2/KZeHcESgeN mWT1mULsjwr1TsS8m3AE5VeRfttgG59GlAjkBW2Emr5zRseDiUNolkitYOqWGgMlAU b7XhuW/Hq8vufUKGE0QJdn2Flp2IgDwfnyziWhJ3VWzxJdKF6rKvlJxooHRwngaqOD JRbJyGxS+bc+g== Date: Thu, 29 Oct 2026 10:52:22 +0100 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: References: <84eb4e6d-4952-44fb-ad2b-d696b563a5eb@altlinux.org> <8c4f166a-c736-46a2-853e-253a3284539b@altlinux.org> <39b55026-3552-43cb-aa95-34cabaaf17bb@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [make-initrd] =?utf-8?b?0JfQsNC80LXQvdCwIC92YXIvcnVuINC4IC92YXIv?= =?utf-8?b?bG9jayDQvdCwINGB0LjQvNC70LjQvdC60LgsINGD0LrQsNC30YvQstCw0Y4=?= =?utf-8?b?0YjQuNC1INC90LAgL3J1biDQuCAvcnVuL2xvY2sg0L3QsCDRgdGC0LDQtNC4?= =?utf-8?b?0LggaW5pdHJk?= X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Oct 2026 09:52:32 -0000 Archived-At: List-Archive: On Mon, Jun 01, 2026 at 01:32:54PM +0200, Alexey Gladkov wrote: > On Mon, Jun 01, 2026 at 01:44:57PM +0300, Anton Midyukov wrote: > > >> Тогда возникает, видимо, проблемка, что до удаления пакета скрипт будет попадать в initrd постоянно. > > >> Но можно его не пакетить, а создавать в %postinstall туда, и при успешном выполнении себя оттуда удалять. > > >> Но как быть с MOUNTPOINTS += /var? Добавлять в /etc/initrd.mk, а потом оттуда убирать после успешного выполнения скрипта? > > >> В целом, такого тогда достаточно будет. > > > > > > Так. Сформулируй ещё раз по пунктам, что тебе хочется иметь. > > > > > > Потому что изначально, когда я предлагал /lib/sysexec.sh то думал, что > > > инсталлер (ты упоминал установку) будет делать: > > > > > > make-initrd MOUNTPOINTS+=/var PUT_FILES+=/lib/sysexec.sh > > > > Это postinstall скрипт установки некоего пакета при обновлении. Под установкой я имел в виду установку некоего пакета. > > > > > > > > то есть добавлять эти параметры один раз без конфига или с отдельным > > > конфигом. Тогда бы после миграции и перегенерации initrd этих файлов там > > > не было бы. > > > > > > > > > Если же мы говорим про опакечивание и %postinstall, то тут уже несколько > > > другое дело. > > > > > > > Кейс у меня нарисовался такой: > > 1. Делается пакет с %postinstall скриптом, который обязательно приедет всем. > > 2. При первой установке пакета по определённому условию в %postinstall создаётся скрипт в /lib/initramfs-upgrade.d > > По условию, что /var отдельный раздел добавляется MOUNTPOINTS+=/var в /etc/initrd.mk > > 3. Так как появился новый файл в /lib/initramfs-upgrade.d отрабатывает триггер (сработает ли он на %ghost? или тут я весь замысел сломал с триггером?) > > 4. При загрузке в initrd вызывается скрипт, который после успешной отработки удаляет себя в /lib/initramfs-upgrade.d и убирает MOUNTPOINTS+=/var из /etc/initrd.mk > > 5. запускается init > > Ты можешь создавать /etc/initrd.mk.d/upgrade.mk и make-initrd создаст > отдельный образ для этого конфига. Ты туда можешь сложить всё что тебе > нужно. Далее ты можешь добавить его в grub.conf и загрузить как once. > Далее если всё образ больше не нужен ты можешь удалить upgrade.mk и образ > больше не будет создаваться. Тогда не нужно делать %ghost и удалять > запакованные файлы. > > > > С `MOUNTPOINTS += /var` просится какая-то инфраструктура с кусками > > > конфига и скриптами, но мне очень не хочется раздувать эту идею. Это может > > > превратиться в целый фреймворк для обновлений с генерацией конфига и > > > проверками применённости состояния. > > > > > > > Да, согласен. Поэтому и подумал, что скрипт мог бы за собой убирать и сам из /etc/initrd.mk. > > Тема как-то заглохла. Так нужно делать /lib/sysexec.sh или что-то вроде для запуска скриптов из живого корня до системного init ? -- Rgrds, legion