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=1780301312; bh=acKXkk5OnK/+63YDzfGWNkJeioVEmxukMQuWIHBAhTo=; h=Date:From:To:Subject:References:In-Reply-To; b=ccIj89j4sgmXsG3rg3k7xQxd3itpQLjItKc53gNEVgVk3X3nmwolpwAkq7+vHL1ea 4jvLS73iDIuAMRjJ0axX0V2thTLAAEMNtzev9fiMWX07qXRaqgJ7lkE26pAvOW6OSv wT2GfdlGgA2i1Fe+6aG4Uh0myrTceXSK8LXK5Qt1iodYMusedLZp+Fqikm5PjgNwZh oAhfX1ZLuE8KSDl0nvXj/v+ZRWkXsO6pYriDtwgnK1JFVSvIif0eODlD9f4slRNBLu QJdvi0k9sSrby3cCCNqfbCBmH36FcJVxF3ynT5sDVkviVzUjYcrbLspit3eVMMDAvD SSGkFW+xr1opA== Date: Mon, 1 Jun 2026 10:08:27 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: References: <7abadb27-fa4e-4a3b-940d-1688f0b067ca@altlinux.org> <84eb4e6d-4952-44fb-ad2b-d696b563a5eb@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <84eb4e6d-4952-44fb-ad2b-d696b563a5eb@altlinux.org> 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: Mon, 01 Jun 2026 08:08:36 -0000 Archived-At: List-Archive: On Mon, Jun 01, 2026 at 10:43:20AM +0300, Anton Midyukov wrote: > 01.06.2026 09:44, Alexey Gladkov пишет: > > On Mon, Jun 01, 2026 at 01:17:01AM +0300, Leonid Krivoshein wrote: > >> Всем привет! > >> > >> > >> On 5/31/26 10:57 PM, Alexey Gladkov wrote: > >>> On Sun, May 31, 2026 at 04:54:56PM +0300, Anton Midyukov wrote: > >>>> Доброго времени суток > >>>> > >>>> Необходимость замены /var/run и /var/lock на симлинки, указываюшие на /run и /run/lock > >>>> уже давно перезрела. Начиная с p9, все новые системы являются мигрировавшими при их установке. > >>>> Но остаются системы, обновлявшиеся с p8, какие-то самодельные сборки, где эта миграция не выполнялась. > >>>> > >>>> Наверное, самый безопасный способ миграции таких систем - сделать это на этапе initrd. > >>>> В таком случае потребуется монтировать /var, если он на отдельном разделе. > >>>> А также потребуется монтировать систему на запись. > >>>> Видимо, это должна быть фича, которая добавляется в initrd автоматически, если /var/run или /var/lock > >>>> не являются симлинками. > >>>> Хотелось бы узнать, насколько это хорошая идея. > >>> > >>> Технически это возможно. В момент initramfs можно добавить > >>> > >>> MOUNTPOINTS += /var > >>> > >>> тогда мы попробуем добавить всё необходимое для /var и попытаемся > >>> смонтировать его для системы. Далее нужно вызвать что-то вместо INIT, > >>> что сделало бы миграцию. > >>> > >>> Когда-то давно я предлагал сделать фичу для обновлений, но в то время > >>> такая идея не вызвала интереса. Я предлагал сделать возможность вызова > >>> скрипта определённого имени из рута системы перед запуском INIT. > >>> > > А почему скрипт не помещать в initrd? Чтобы была универсальной? Да. В то время я не думал про `MOUNTPOINTS += /var` (то есть про необходимость дополнительных действий при создании initrd). У меня идея была в том, что бы любой initrd мог выполнить манипуляции с системой, пользуясь либо утилитами из initrd, либо из системы. > Тогда можно неким скриптом послеустановочным делать make-initrd c MOUNTPOINTS += /var и > какой-то ещё переменной, которая укажет путь до скрипта. > И тогда мы получаем простой способ делать с системой разное. Мне нравится. У нас есть: features/runtime/data/etc/rc.d/rc.sysexec его можно расширить запуском дополнительных скриптов. Нужно лишь придумать какой интерфейс тебя устроит. Достаточно ли будет проверять и вызывать какой-нибудь /lib/sysexec.sh ? Тогда вся обновлялка твоя будет: MOUNTPOINTS += /var PUT_FILES += /lib/sysexec.sh > >> > >> > >> А зачем? /sbin/init можно заменить для разовой операции, выполнить > >> обновление из заменённого скрипта и вернуть всё обратно. Как-то так: > > > > Этот хак повреждает локальную систему. Можно добиться того же эффекта > > сделав в grub one-shot запись с init=/update.sh . > > > > Но в целом, вот эти же аргументы и звучали раньше. > > > >> #!/bin/sh > >> > >> T=/tmp/update.sh > >> > >> if [ "$0" != "$T" ]; then > >> cp -Lf -- "$0" "$T" > >> exec $T "$@" > >> exit 1 > >> fi > >> > >> # Doing update here... > >> ... > >> > >> # Restoring the original init > >> mv -f /sbin/init.old /sbin/init > >> > >> # Call init or reboot > >> exec /sbin/init "$@" > >> exit 1 > >> > >> > >> -- > >> WBR, Leonid Krivoshein. > >> > >> _______________________________________________ > >> Make-initrd mailing list > >> Make-initrd@lists.altlinux.org > >> https://lists.altlinux.org/mailman/listinfo/make-initrd > > > > -- > best regards, Anton Midyukov > > _______________________________________________ > Make-initrd mailing list > Make-initrd@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/make-initrd -- Rgrds, legion