Инициализационные скрипты для pkgsrc

www2 аватар

Поскольку pkgsrc - кроссплатформенная система, а в каждой операционной системе может быть принята своя система инициализации, то инициализационных скриптов для демонов в pkgsrc нет.

Подскажите, как вы запускаете демонов, установленных из pkgsrc? Пишете ли правильные rc.d-скрипты или просто добавляете запуск нужных демонов в rc.local?

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
spinore аватар

Можно и так и так. Я обычно

Можно и так и так. Я обычно руками...

www2 аватар

>Можно и так и так. Я обычно

>Можно и так и так. Я обычно руками...

Представляю себе картину. Загружается базовая система, в чёрной консоли юзер логинится, повышает привилегии до root, самостоятельно запускает какие-нибудь openntp, samba, x-server, famd, hald, kdm, нажимает Ctrl+Shift+F1, понижает привилегии, завершает сеанс, нажимает Ctrl+Shift+F5, логинится в кеды и начинает работать.

NetBSD производит впечатление какой-то смеси сильно устаревшего и прогрессивного.

fdisk не умеет самостоятельно определять геометрию дисков, хотя все современные диски работают в режиме LBA - прямой адресации блоков. В инсталляторе предлагается поставить систему на диск wd0, wd1 или wd2, причём ни слова о модели или объёме дисков - предполагается что я должен сыграть в русскую рулетку. В консоли тяжело настроить русский язык (честно говоря я даже не пытался этого сделать). Нет хороших файловых систем, нет доступа даже на чтение других полезных файловых систем.

В то же время есть очень интересные направления/находки:
1. стабильная ветка pkgsrc,
2. централизованный способ задания опций для сборки пакетов,
3. возможность собрать систему или пакет для другой архитектуры,
4. возможность собрать и установить пакет в каталоге пользователя, не имея админских прав,
5. pkg_admin, позволяющий помечать пакеты установленные автоматически и вручную,
6. та же система rc-ng, перенятая всеми остальными BSD,
7. хорошая поддержка Xen,
8. новая подсистема rump - я рассматриваю её как возможность сделать шаг в сторону гибридного ядра системы, реализовывать драйверы и модули, работающие в пространстве пользователя, повысить надёжность и устойчивость системы к сбоям,
9. теперь и хорошая многозадачность.

dr_jumba аватар

А они разве не сами

А они разве не сами запускается? Я помниться только YES прописывал в rc.conf.

www2 аватар

>А они разве не сами

>А они разве не сами запускается?
>Я помниться только YES прописывал в rc.conf.

Те демоны, что входят в базовую систему, снабжены сценариями инициализации. Эти сценарии находятся в /etc/rc.d и используют упомянутый /etc/rc.conf

А демоны, установленные из pkgsrc, не снабжены сценариями. Я проверял список установленных пакетом файлов с помощью pkg_info -L имя_пакета, там нет сценариев инициализации.

dr_jumba аватар

Что за хитрые пакеты, к

Что за хитрые пакеты, к которым нету сценариев?
Сейчас у меня уже нету netbsd, но специально зашел через cvsweb в apache, mysql, samba, postgresql. Везде есть сценарии в files и в Makefile проставлена опция RCD_SCRIPTS.

www2 аватар

>Что за хитрые пакеты, к

>Что за хитрые пакеты, к которым нету сценариев?

openntpd. Ставил его пакетом.

>Сейчас у меня уже нету netbsd, но специально зашел через cvsweb в apache, mysql, samba, postgresql. Везде есть сценарии в files и в Makefile проставлена опция RCD_SCRIPTS.

Спасибо, посмотрю в остальных. Но значит ли это, что rc-сценарии можно установить только самостоятельно собрав пакет из pkgsrc? Проверю...

tzar аватар

смотри в

смотри в /usr/pkg/share/example там бывает для некоторых установленных демоов есть сценарии запуска, кидаешь их в /etc/rc.d и прописываешь в rc.conf. И буде вам счасье!

spinore аватар

Ну предполагается, что

Ну предполагается, что /etc/rc.d -скрипт вы возьмёте из порта и подключите как надо, либо перенеся его в основное место, либо в /usr/pkg/etc/rc.d, но в последнем случае надо настроить, чтоб он вообще ту директорию проверял. У меня sshd запускается автоматически, равно как и pf - оба из-за rc.conf, как и сказали выше. Сервер я не делал, потому как сделать автостарт особо не разбирался.

Цитата:
В инсталляторе предлагается поставить систему на диск wd0, wd1 или wd2, причём ни слова о модели или объёме дисков

Насчёт модели и объёма не помню, мне кажется модель была (проскакивала в самом начале установки). В крайнем случае всегда можно выйти в консоль и осуществить нужные действия по соотнесению дисков с их номенклатурой.

Цитата:
В консоли тяжело настроить русский язык (честно говоря я даже не пытался этого сделать).

А в Debian, говорят, надо долго трахаться с установкой wifi, что в BSD делается проще.

Цитата:
Нет хороших файловых систем, нет доступа даже на чтение других полезных файловых систем.

Это общая (историческая) проблема всех BSD. Моё имхо, если вам так нужно чтение фс других систем, прям позарез, воспользуйтесь этими другими системами, ибо держать парк ОС на лэптопе, думаю, идиотизм.

www2 аватар

>Ну предполагается, что

>Ну предполагается, что /etc/rc.d -скрипт вы возьмёте из порта и подключите как надо, либо перенеся его в основное место, либо в /usr/pkg/etc/rc.d, но в последнем случае надо настроить, чтоб он вообще ту директорию проверял.

То есть получается, что не смотря на то, что есть готовые двоичные пакеты для системы, пользоваться pkgsrc в том или ином виде всё равно придётся.

>У меня sshd запускается автоматически, равно как и pf - оба из-за rc.conf, как и сказали выше. Сервер я не делал, потому как сделать автостарт особо не разбирался.

С этим проблем нет, поскольку и sshd и pf входят в базовую систему. Проблема именно со сторонними программами, которые устанавливаются из готовых двоичных пакетов.

>Насчёт модели и объёма не помню, мне кажется модель была (проскакивала в самом начале установки).

У меня в инсталляторе NetBSD-5.0 amd64 модели дисков не указывались.

>В крайнем случае всегда можно выйти в консоль и осуществить нужные действия по соотнесению дисков с их номенклатурой.

Переключиться на соседнюю консоль по Ctrl-Alt-F2 (F1, F3) тоже не удалось.

>А в Debian, говорят, надо долго трахаться с установкой wifi, что в BSD делается проще.

Эти проблемы возникают не по технологическим причинам, а по идеологическим. Если бы все прошивки для WiFi-карт были бы открытыми и свободными (то есть имели бы подходящую лицензию), проблем бы не было.

>Это общая (историческая) проблема всех BSD.

Похоже на то...

>Моё имхо, если вам так нужно чтение фс других систем, прям позарез, воспользуйтесь этими другими системами, ибо держать парк ОС на лэптопе, думаю, идиотизм.

У мня не лэптоп, а десктоп, но суть не в этом. Есть ещё вариант поставить ядро Xen и запустить в нём систему-сервер, которая бы экспортировала по NFS необходимые каталоги :) Но это для извращенцев.

Спасибо за ответ.

spinore аватар

Цитата:То есть получается,

Цитата:
То есть получается, что не смотря на то, что есть готовые двоичные пакеты для системы, пользоваться pkgsrc в том или ином виде всё равно придётся.

Если готовые скрипты есть только в pkgsrc то да, включаются ли они в пакеты - не знаю, поидее должны, но ставиться они если и будут (через pkg_add) то лишь исключительно в /usr/pkg/etc/rc.d

Цитата:
Переключиться на соседнюю консоль по Ctrl-Alt-F2 (F1, F3) тоже не удалось.

Нет, в самом инсталляторе, в его подменю есть опция "открыть консоль", точное название не помню. В неё не на всех шагах можно войти, но тем не менее. Пока вы не указали "принять изменения" по разбивке диска и т.д. в установочном меню можно произвольное число шагов откатить назад, хоть до самого начала.

shattered аватар

Если автор пакета написал

Если автор пакета написал rc.d скрипт, то он обязательно будет в бинарном пакете.

Пакет ставит его в $PREFIX/share/examples/rc.d.

Ну и "The automatic copying of config files can be toggled by setting the environment variable PKG_RCD_SCRIPTS prior to package installation." (doc/pkgsrc.txt)

Запускать rc.d там, где нету rcNG (Linux, FreeBSD 4, ...), действительно придется вручную (из rc.local).