[devel] rpm: symlink to dir

Vladimir D. Seleznev vseleznv на altlinux.org
Вт Дек 29 15:21:39 MSK 2020


On Tue, Dec 29, 2020 at 09:31:27AM +0300, Andrey Savchenko wrote:
> On Mon, 28 Dec 2020 23:46:53 +0300 Alexey V. Vissarionov wrote:
> > On 2020-12-28 23:16:31 +0300, Andrey Savchenko wrote:
> > 
> >  >>> Если честно, я не совсем понимаю, зачем вообще нужен %gost.
> >  >> %ghost
> >  >>> Я знаю, что он делает — позволяет закрепить несуществующий
> >  >>> в пакете файл за пакетом — но мне представляется, что это
> >  >>> ошибочная концепция и её использование говорит об ошибке в
> >  >>> пакетировании пакета.
> >  >> Простейший пример: пакет %name пишет %_logdir/%name.log и даже
> >  >> еженедельно ротирует его через %_sysconfdir/logrotate.d/%name;
> >  >> в результате этого появляются файлы %_logdir/%name.log.[1-3]
> >  >> Теперь представь, что админ желает удалить пакет %name. Напрочь,
> >  >> через rpm -e %name
> >  >> В этом случае указание %ghost для всех этих логов позволяет их
> >  >> вычистить вместе с пакетом, а не свинячить в системе.
> >  > За удаление логов вместе с пакетом нужно самое малое голову
> >  > отрывать.
> > 
> > С чего бы вдруг? Сам насвинячил, сам за собой убрал.
> 
> Это не мусор, это пользовательские данные. При удалении пакета не
> должны удаляться результаты его работы. Ещё предложи грохать БД при
> удалении mysql.

В указанном примере файлы журнала пакета ротейтятся.  Логично при
удалении пакета удалять то, что и так должно было быть заротейчено.

Кстати, файлы системного журнала _не_ помечены %ghost, что тоже логично.

В общем случае %ghost нужен для обозначения артефактов пакета, которые
следует почистить при его удалении. Странно считать эту директиву
ошибкой упаковки.

> Впрочем, адепты DRM такой подход одобряют: они как раз мечтают
> о самоуничтожении данных сразу после использования, но не ожидал,
> что ты к ним относишься.
> 
> > Кому нужны логи - `man cp` и `man rsync`.
> 
> Не нужно за админов решать, что им нужно, а что грохнуть без спросу.
> Админы это не любят.

Ну, не совсем без спросу — админ же сам удалил пакет. Какие файлы
принадлежат пакету не является тайной. Не все файлы, принадлежащие
пакету, при этом, удаляются: например, могут остаться копии изменённых
конфигов с добавлением .rpmsave в имени файлов.

-- 
   WBR,
   Vladimir D. Seleznev


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