You are not logged in.
Pages: 1
upower requires up to date version of libgudev-1.0.0. No apparent error here, but when trying to start /usr/libexec/upowerd you get
/usr/libexec/upowerd: /lib/x86_64-linux-gnu/libudev.so.1: version `LIBUDEV_247' not found (required by /lib/x86_64-linux-gnu/libgudev-1.0.so.0)
The current solution to this kind of error is installing older libgudev-1.0.0 from daedalus, but it conflicts with upower, because it wants the new libgudev-1.0.0.
Why does it happen at all? Any hopes it gets resolved? This is Devuan specific thing AFAIK, see https://forums.debian.net/viewtopic.php?t=155394
That said and unless you really need something as complex as exim4 running in your box, you may want to consider using a simpler, much lighter and less complicated MTA such as Dragonfly.
If DMA works out of the box, I'll use it instead. I have no idea why I need exim4 at all. I do not carry out any administrative work that requires mail. I don't use /var/mail at all, I just don't need it. No use cases.
This script is broken. If main dhcpcd starts sooner, interface specific instances just relay their job to the main daemon and exit.
#!/bin/sh
# symlink this run file to your dhcpcd[-<interface>] directory
# or symlink the entire service directory to get the Manager mode
[ -f ./conf ] && . ./conf
iface="$(pwd -L)"
iface="${iface##/*/}"
case "$iface" in
*"-"*) iface="${iface#*-}";;
*) iface="";;
esac
if [ -n "$iface" ]; then
# don't use -M here in DHCPCD_ARGS, probably not what you want
exec dhcpcd -B ${DHCPCD_ARGS} "$iface" 2>&1 || exit 1
fi
# otherwise interface specific instances get screwed
for srv in /etc/service/dhcpcd-*; do
sv start "$srv" || exit 1
done
DHCPCD_IGNORE=""
for pf in /run/dhcpcd/*.pid; do
iface="${pf##/*/}"
iface="${iface%.pid}"
DHCPCD_IGNORE="${DHCPCD_IGNORE}${DHCPCD_IGNORE:+" "}-Z $iface"
done
# -M might be redundant
exec dhcpcd -B ${DHCPCD_ARGS:--M} $DHCPCD_IGNORE 2>&1
Create /etc/sv/dhcpcd, put the run file there. Create /etc/sv/dhcpcd-eth0 directory, symlink the run file inside. Symlink both directories into /etc/service. One will start an interface specific instance, the other will start in management mode for all interfaces, except those, which are handled by interface specific instances.
There is a serious problem here, which I don't know how to fix properly: sysvinit's dhcpcd service. If you only put interface specific instances in /etc/service, then sysvinit's dhcpcd service will start in management mode for all interfaces and screw all your interface specific instances. Maybe put a dummy dhcpcd service in /etc/service which just sleeps forever. Maybe use no.emulate.sysv. Maybe there's a better solution. I use no.emulate.sysv.
run file that came by default as /usr/share/runit/sv.now/exim4 is
#!/usr/bin/env /lib/runit/invoke-run
#Copyright: 2022 Lorenzo Puliti <plorenzo@disroot.org>
#License: CC0-1.0
exec 2>&1
# only works for "combined" configuration mode
QUEUERUNNER='combined'
[ -d /run/exim4 ] || \
install -d -oDebian-exim -gDebian-exim -m750 /run/exim4
LANG=C
export LANG
if [ -e /etc/runit/verbose ]; then
echo "invoke-run: starting ${PWD##*/}"
fi
#-bdf is also ok but no log to stdout for svlogd
exec /usr/sbin/exim4 -bd -d -q${QFLAGS}${QUEUEINTERVAL} $COMMONOPTIONS $QUEUERUNNEROPTIONS $SMTPLISTENEROPTIONS
It is broken. exim4 complains about incompatible command line parameters. runit ends up racking my PID table by constant attempts to restart. My current (half clueless) workaround is
mkdir env
echo 30m > env/QUEUEINTERVAL
Another misbehavior here is that tty1 gets cluttered with log messages.
<sysrq>+K on tty1 brings the system down. Happens because runsvdir gets SIGKILLed by the kernel. Happens because runsvdir inherits tty1. I think this is a bug and should be fixed. One solution I am aware of is
exec </dev/null >/dev/null 2>/dev/null
in /etc/runit/2 just before runsvdir. What do you think?
Pages: 1