[devel] rpm: symlink to dir

Andrey Savchenko bircoph на altlinux.org
Пн Дек 28 12:41:06 MSK 2020


On Mon, 28 Dec 2020 02:17:23 +0300 Mikhail Novosyolov wrote:
> 
> 28.12.2020 02:08, Andrey Savchenko пишет:
> > 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'.
> 
> На уровне rpm давно придуман %pretrans на lua.
> 
> Отказаться от концепции владельца директории странная идея, существуют же заведомо пустые директории, кому они будут принадлежать?

Тому, кому принадлежит скрытый файл .keepdir внутри таких
директорий.

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


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