[devel] rpm: symlink to dir

Andrey Savchenko bircoph на altlinux.org
Пн Дек 28 02:08:30 MSK 2020


On Mon, 28 Dec 2020 01:51:24 +0300 Leonid Krivoshein wrote:
> 
> 27.12.2020 18:48, Alexey V. Vissarionov пишет:
> > On 2020-12-27 17:57:05 +0300, Alexey Shabalin wrote:
> >
> >   >> Есть ли текущая актуальная инструкция как при нашем новом
> >   >> rpm перейти в пакете с симлинка на директорию?
> >   > День добрый. Возник еще один пакет, где хотелось бы перейти с
> >   > симлинка на каталог на реальный каталог. Появилась инструкция
> >   > как это сделать?
> >
> > Насколько я понимаю, инструкции не было (я бы ее вряд ли пропустил).
> > Безболезненный переход, по-моему, в принципе невозможен, а снизить
> > ущерб мне удавалось только совсем очевидным (и столь же колхозным)
> > способом с временным пакетом и переносом файлов в два этапа (у меня
> > это были конфиги, так что размер не напрягал), но после этого в ОС
> > оставался мусор в виде файлов, не охваченных пакетной системой.
> >
> > Использовать этот способ для дистрибутива, наверное, лучше не надо.
> 
> Предложил бы для всех подобных симлинков (каталогов):
> 
> - использовать специальный файл в корне со списком путей, подлежащих 
> замене типа (например, /.rpmlinks);
> - замена должна производиться в initrd (stage1) при первой же 
> перезагрузке, пока никто там ничего не использует;
> - от rpm требуется обработка такой ситуации и "понимание" временно 
> непригодного состояния (до перезагрузки).
> 
> Т.е., мне кажется, если реализовать поддержку одновременно и в rpm, и в 
> make-initrd, должно получиться относительно безболезненно.

Проблема решается кардинально просто, но на уровне rpm: следует
отказаться от концепции владельца директории и сохранять только
владельцев файлов. Тогда что симлинк, что директория — разницы для
PM никакой не будет. А удаляться они будут только если пустые. Ну
если очень нужно пустую директорию установить, то можно в неё
положить файлик '.keepdir'.

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20201228/0039ae7c/attachment.bin>


Подробная информация о списке рассылки Devel