48 lines
1.3 KiB
Bash
48 lines
1.3 KiB
Bash
#!/bin/sh
|
|
# This script is called by "systemctl enable/disable" when the given unit is a
|
|
# SysV init.d script. It needs to call the distribution's mechanism for
|
|
# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This
|
|
# can optionally take a --root argument for enabling a SysV init script
|
|
# in a chroot or similar.
|
|
set -e
|
|
|
|
usage() {
|
|
echo "Usage: $0 [--root=path] enable|disable|is-enabled <sysv script name>" >&2
|
|
exit 1
|
|
}
|
|
|
|
# parse options
|
|
eval set -- "$(getopt -o r: --long root: -- "$@")"
|
|
while true; do
|
|
case "$1" in
|
|
-r|--root)
|
|
ROOT="$2"
|
|
shift 2 ;;
|
|
--) shift ; break ;;
|
|
*) usage ;;
|
|
esac
|
|
done
|
|
|
|
NAME="$2"
|
|
[ -n "$NAME" ] || usage
|
|
|
|
case "$1" in
|
|
enable)
|
|
# call the command to enable SysV init script $NAME here
|
|
# (consider optional $ROOT)
|
|
[ -e /lib/systemd/system/$NAME.service ] || /sbin/chkconfig $NAME on
|
|
;;
|
|
disable)
|
|
# call the command to disable SysV init script $NAME here
|
|
# (consider optional $ROOT)
|
|
[ -e /lib/systemd/system/$NAME.service ] || /sbin/chkconfig $NAME off
|
|
;;
|
|
is-enabled)
|
|
# exit with 0 if $NAME is enabled, non-zero if it is disabled
|
|
# (consider optional $ROOT)
|
|
[ -e /lib/systemd/system/$NAME.service ] || /sbin/chkconfig $NAME
|
|
;;
|
|
*)
|
|
usage ;;
|
|
esac
|