FreeSource : AltLinux/Sisyphus/devel/TypicalPackagingErrors/FHS

Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Filesystem Hierarchy Standard


При упаковке продуктов, рассчитанных на установку «кустом», бывает необходимо разложить одно поддерево (которое предназначалось для лежания под /usr/local или /opt) на несколько обретающихся в /usr, /var, /etc. Порой при этом приходится корректировать и привязку к подобным каталогам в configure-скриптах и в штатных конфигурационных файлах.

Вот попалось информативное письмо на примере Sedna; схожая ситуация с Sympa и, насколько понимаю, с Mozilla (вообще «да их тут тысячи» :). Остаётся добавить, что в пакете fhs есть документ Filesystem Hierarchy Standard — не чрезмерно объёмное, но полезное пакаджеру чтиво. Ну и сослаться на ALT Packaging Policy.

Date: Tue, 3 May 2005 21:29:44 +0400
From: Sergey Vlasov <vsu@>
To: sisyphus@
Subject: Re: [sisyphus] sedna package

[...]

> 2. Сейчас Седна устанавливается в /usr/local/sedna. Там есть каталог bin
> с бинарными файлами. Естественно, путь туда не прописан и Седну можно
> запускать либо указывая полный путь, либо необходимо
> добавить/usr/local/sedna/bin в PATH.  Не очень красиво, что уж там
> говорить, но может нормально для такого приложения (не команда ls
> все-таки)? Или стоит создать линки для бинарников в /usr/local/bin?  Или
> что-то еще?

rpm-пакет вообще не должен писать что-либо в /usr/local – этот каталог
зарезервирован для программ, установленных без использования менеджера
пакетов.  Программы из rpm-пакетов ставятся в /usr.

Кроме того, имена исполняемых файлов sedna вступают в конфликт с другими
пакетами:

/usr/bin/cdb    tinycdb
/usr/bin/sm     inn trn – в Сизифе нет, но была такая читалка новостей: http://trn.sf.net/
smsd – можно наступить на http://freshmeat.net/projects/smsd/

Обычно в подобных случаях в начало приписывают название проекта.

> 3. Для работы Седны необходима установленная переменная SEDNA_HOME. Без
> нее ничего работать не будет. Сейчас ее должен устанавливать
> пользователь. Это нормально или здесь надо что-то делать?

Как я понял, при этом данные хранятся в подкаталогах $SEDNA_HOME.  Это плохо
(в частности, программы при своей работе не должны писать куда-либо
в /usr – соответствующая ФС может быть смонтирована только для чтения).
Данные, изменяемые в процессе работы (в данном случае – файлы баз данных
sedna), должны находиться в /var; файлы конфигурации (настраиваемые
администратором при установке, но не меняющиеся в процессе работы) – в /etc.


Страницы, ссылающиеся на данную: AltLinux/Sisyphus/devel/TypicalPackagingErrors