Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.
Не знаете где спросить? Спрашивайте тут
zyx
Сообщения: 1 Зарегистрирован: Чт июл 16, 2026 7:15 pm
Сообщение
zyx » Чт июл 16, 2026 7:32 pm
Yggdrasil
zyx
Приветствую всех.
Отцы, подскажите плизз как поднять Yggdrasil на Devuan sysvinit?
Дефолтная установка пакета даёт неудобоваримый /usr/lib/systemd/system/yggdrasil.service
Заранее благодарен.
zyx
root:#
Site Admin
Сообщения: 2105 Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 59 раз
Поблагодарили: 28 раз
Сообщение
root:# » Пт июл 17, 2026 8:30 pm
zyx писал(а): Чт июл 16, 2026 7:32 pm Приветствую всех.
Привет!
На Devuan (sysvinit) пакет yggdrasil при установке ставит только systemd-сервис, который не работает, потому что systemd нет. Нужно вручную сделать init-скрипт для sysvinit
Код: Выделить всё
#!/bin/sh
### BEGIN INIT INFO
# Provides: yggdrasil
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Yggdrasil network daemon
# Description: Yggdrasil is an IPv6 peer-to-peer mesh network.
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=yggdrasil
DAEMON=/usr/bin/yggdrasil
CONFFILE=/etc/yggdrasil.conf
PIDFILE=/var/run/$NAME.pid
LOGFILE=/var/log/$NAME.log
USER=_yggdrasil
GROUP=_yggdrasil
[ -x "$DAEMON" ] || exit 0
# Если каталог /var/run не tmpfs (Devuan чаще с tmpfs), /run или /var/run
# PID-файл должен лежать на tmpfs, поэтому /var/run подходит.
[ -d /var/run ] || mkdir -p /var/run
start() {
echo -n "Starting $NAME: "
start-stop-daemon --start --background --make-pidfile \
--pidfile "$PIDFILE" \
--chuid "$USER:$GROUP" \
--exec "$DAEMON" -- -useconffile "$CONFFILE" \
>> "$LOGFILE" 2>&1
echo "done."
}
stop() {
echo -n "Stopping $NAME: "
start-stop-daemon --stop --pidfile "$PIDFILE" --retry 5
rm -f "$PIDFILE"
echo "done."
}
status() {
if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null; then
echo "$NAME is running (pid $(cat $PIDFILE))"
else
echo "$NAME is not running"
return 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
root:#