[sisyphus] sedna package
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Май 3 21:29:44 MSD 2005
On Tue, May 03, 2005 at 06:44:48PM +0400, Andrey Fomichev wrote:
[skip]
> У меня еще есть ряд вопросов, которые возникли при создании пакета.
> 1. Этот вопрос, пожалуй самый важный. Дело в том, что в Седне используется
> разделяемая память, а отношение ALT Linux к разделяемой памяти отклоняется
> от стандарта. А именно, разделяемая память уничтожается, когда он нее
> отключается последний клиент (что противоречит стандарту). Чтобы ALT Linux
> вел себя в соответствии со стандартом надо изменить файл
>
> /proc/sys/kernel/shm_destroy_unused
>
> так, чтобы он содержал 0 вместо 1. Помогает до следующей перезагрузки.
> Соответственно, вопрос -- что с этим делать? И почему ALT так нестандартно
> относится к разделяемой памяти?
Уничтожение неиспользуемых сегментов разделяемой памяти добавляется патчем
Openwall (http://www.openwall.com/linux/); такое поведение включается
опцией конфигурации ядра CONFIG_HARDEN_SHM. А вот возможность отключения
уничтожения таких сегментов через /proc/sys/kernel/shm_destroy_unused,
похоже, есть только в ALT (добавляется дополнительным патчем после
Openwall).
Проблема с SysV shared memory в том, что поведение по умолчанию
(сохранение неиспользуемых сегментов) приводит к невозможности контроля за
потреблением системных ресурсов (поскольку такие сегменты не связаны ни с
одним процессом). Во многих случаях применения разделяемой памяти
существует серверный процесс, который не завершается продолжительное
время; если этот процесс поддерживает подключение к сегментам разделяемой
памяти, проблем с CONFIG_HARDEN_SHM не возникает. Кстати, зачастую при
аварийном завершении такого серверного процесса приходится вручную удалять
старые сегменты перед его перезапуском - в этом случае CONFIG_HARDEN_SHM
даже помогает.
> 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.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050503/367bbd44/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus