pre_install() { # Add group if ! getent group bareos >/dev/null; then groupadd -r -f bareos fi # Add user if ! getent passwd bareos >/dev/null; then useradd -r -c 'Bareos User' -g bareos -G storage -d '/var/lib/bareos' -s /bin/bash bareos passwd -l bareos >/dev/null fi } post_install() { # Make bareos user owner of working directory if [ -d '/var/lib/bareos' ]; then chown -R bareos:bareos '/var/lib/bareos' fi } pre_upgrade() { # Stop services _services="bareos-dir bareos-sd bareos-fd" for s in $_services; do systemctl stop "$s.service" || true done } post_upgrade() { post_install echo "" echo "Attention:" echo "Bareos services have been stopped before the upgrade." echo "You may need to run as user postgres" echo " /usr/lib/bareos/scripts/update_bareos_tables and" echo " /usr/lib/bareos/scripts/grant_bareos_privileges" echo "to update your database schema." echo "Then please manually start all services again." echo "" systemctl daemon-reload _services="bareos-sd bareos-fd bareos-dir" for s in $_services; do systemctl reset-failed "$s.service" 2>/dev/null || true systemctl is-enabled $s >/dev/null && \ systemctl start "$s.service" done } pre_remove() { # Stop services _services="bareos-dir bareos-sd bareos-fd" for s in $_services; do systemctl stop $s || true systemctl disable $s || true done # Remove working directory rm -rf /var/lib/bareos || true # Remove user and group usermod -G "" bareos || true userdel bareos || true } post_remove() { echo "Note: You need to delete any SQL databases manually." }