[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