Jay писал(а): ↑06.07.2007 01:43
Возможно, что переменную окружения в рутовом шелле можно выставить в файле /.profile.
В login.conf тоже должно работать.
Переменная окружения прописана в /root/.cshmrc (точное название файла не помню), вручную никаких проблем, перезагружаюсь - переменной нет.
Немножко покурил мануал, вычитал, что демоны запускаются без входа в систему, посему файлы профиля не используются.
К тому же, если запускать демон не под рутом, то снижение привилегий происходит командой
su. В мане написано, что в таком случае передается единственная переменная SHELL.
И что-то мне подсказывает, что действительно не происходит реального входа пользователя, т.к. команда
su требует только имя пользователя, а пароль ей не нужен.
Еще мне не понятно, почему задание переменных окружения в ~/.profile, ~/.cshmrc работает, а в /etc/profile нет? хотя языковые параметры прокатывают

.
Jay писал(а): ↑06.07.2007 01:43
Возможно, что проще будет модифицировать скрипт запуска указанной программулины.
Содержимое файла verlihub.in, которое я поместил в /etc/rc.d/? С этим-то меньше всего проблем.
Jay писал(а): ↑06.07.2007 01:43
Но все это не есть правильный путь. Я сейчас посмотрел в файлик /usr/ports/net-p2p/verlihub/files/verlihub.in и заметил там вот такую конструкцию:
Суть скрипта такова: путь к конфигам узнается путем вызова скрипта vh_getcfg, после чего проверка на существование необходимых файлов. Просто изменил переменную configdir в скрипте vh_getcfg на свой путь и все

.
Но, блин, програмулина verlihub не использует скрипты для выяснения пути к конфигам, в ней самой забиты пути /etc/verlihub, ~/.verlihub и чтение переменной окружения, хотя должна проверять и $prefix/etc/verlihub и др. как сказано в vh_install.
Вот такой гемор, мол или все по дефолту, или работать не буду. Думаю остановится на варианте "правка исходного кода, заменой /etc/verlihub на свой путь", легче всего.
В добавок, решил завести отдельного юзера для демона, добавил строчку в стартовом скрипте: verlihub_user="verlihub".
После чего напрочь отказывается при запуске писать pid процесса в pid-файл (echo $! > $pidfile), пишет пустые символы, хотя под root писал правильно.
Даже вырезка pid из команды ps после запуска (pid="ps -ax | grep ... "; start_postcmd="echo $pid > $pidfile") ничего не возвращает, хотя демон работает.
В результате не может остановить демон, т.к. нет pid процесса.
Пока еще новичек в этих $!, поэтому пришлось закоментировать использование pidfile, вроде работает корректно.
P.S. Поиск документации по данной тематике остается в силе, можно на англ. языке.
Хде напесано, шо драва от венды не работают в ленуксе? Прачти емануаль и не пеши всякую чушь, обе поделки написоны на си, значет дрова можно с таким же успехом откомпилить и в ленуксе.