Задался вопросом установки на домашний сервер DC++ command-line клиента microdc2, причем запускаться он должен как демон при старте системы. В ebuild для microdc2 не входит init-скрипт, но решение было найдено путем чтения man’а, google’ния, и спрашивания lightoze.
Установка необходимых пакетов и создание пользователя:
emerge -av microdc2 emerge -av screen adduser -m -s /sbin/nologin dconnect
Файл конфигурации microdc2 (/home/dconnect/.microdc2/config):
share /home/ftp/public set log connections download upload set log_charset UTF-8 set logfile /var/log/dconnect set nick SampleNick set password SamplePassword set description DC++ Client on Home Server set auto_reconnect on set filelist_refresh_interval 3600 set active on set email sample@email set speed LAN(T3) set slots 10 set hub_charset cp1251 connect SampleHub
Скрипт для запуска в качестве демона (/home/dconnect/run):
#!/bin/sh cd ${HOME} /usr/bin/screen -S microdc2 -d -m microdc2 exit 0
Init-скрипт (/etc/init.d/dconnect):
#!/sbin/runscript depend() { need net } checkconfig() { HOME="/home/dconnect" return 0 } start() { checkconfig || return 1 ebegin "Starting Direct Connect server" start-stop-daemon --start --quiet --chuid dconnect --exec ${HOME}/run eend 0 } stop() { checkconfig || return 1 ebegin "Stopping Direct Connect server" start-stop-daemon --stop --quiet --user dconnect --retry 5 --signal 9 --exec microdc2 eend $? }
Для использования активного режима необходимо также настроить iptables.
И последний штрих:
rc-update add dconnect default