Viewing File: /var/lib/dpkg/info/systemd.postinst

#!/bin/sh

set -e

_systemctl() {
    if [ -d /run/systemd/system ]; then
        systemctl "$@"
    fi
}

_update_catalog() {
    journalctl --update-catalog || true
}

# Update Message Catalogs database in response to dpkg trigger
if [ "$1" = "triggered" ]; then
    _update_catalog
    exit 0
fi

# Enable getty and remote-fs.target by default on new installs
if [ -z "$2" ]; then
    systemctl enable getty@tty1.service || true
    systemctl enable remote-fs.target || true
fi

# Enable systemd-pstore by default on new installs and upgrades, see #952767
if dpkg --compare-versions "$2" lt "245.4-4~"; then
    systemctl enable systemd-pstore.service || true
fi

# Do a one-time migration of the local time setting
if [ -z "$2" ]; then
    if [ -f /etc/default/rcS ]; then
        . /etc/default/rcS
    fi
    if [ "$UTC" = "no" ] && [ ! -e /etc/adjtime ]; then
        printf "0.0 0 0.0\n0\nLOCAL\n" > /etc/adjtime
    fi
fi

# Do a one-time migration of the TMPTIME setting
if [ -z "$2" ]; then
    if [ -f /etc/default/rcS ]; then
        . /etc/default/rcS
    fi
    if [ ! -e /etc/tmpfiles.d/tmp.conf ]; then
        case "$TMPTIME" in
            -*|infinite|infinity)
                cat > /etc/tmpfiles.d/tmp.conf <<EOF
# Avoid clearing /tmp by shipping an empty /etc/tmpfiles.d/tmp.conf file
# which overrides /usr/lib/tmpfiles.d/tmp.conf.
# This file was automatically created because of local modifications in
# /etc/default/rcS where TMPTIME was set to infinite.
EOF
                ;;
        esac
    fi
fi

# Do a one-time migration of the RAMTMP setting
if [ -z "$2" ]; then
    if [ -f /etc/default/rcS ]; then
        . /etc/default/rcS
    fi
    if [ -f /etc/default/tmpfs ]; then
        . /etc/default/tmpfs
    fi
    if [ "$RAMTMP" = "yes" ]; then
        # systemctl enable will work even when systemd is not the active PID 1.
        if [ ! -e /etc/systemd/system/tmp.mount ]; then
            cp /usr/share/systemd/tmp.mount /etc/systemd/system/tmp.mount
            systemctl enable tmp.mount || true
        fi
    fi
fi

# Create /etc/machine-id
systemd-machine-id-setup

# Setup system users and groups
addgroup --quiet --system systemd-journal

adduser --quiet --system --group --no-create-home --home /run/systemd \
    --gecos "systemd Network Management" systemd-network
adduser --quiet --system --group --no-create-home --home /run/systemd \
    --gecos "systemd Resolver" systemd-resolve

# Enable persistent journal, in auto-mode, by default on new installs and upgrades
if dpkg --compare-versions "$2" lt "244.1-2~"; then
    mkdir -p /var/log/journal
    # Applying ACLs requires a mounted /proc and systemd-tmpfiles will fail if
    # /proc is not available. Skip systemd-tmpfiles in this case. This should
    # be fine, as this typically means we are inside a chroot and systemd is
    # not currently active. The permissions will be applied on the next boot.
    # https://github.com/systemd/systemd/issues/14745
    if mountpoint -q /proc; then
        systemd-tmpfiles --create --prefix /var/log/journal
    fi
fi

# Initial update of the Message Catalogs database
_update_catalog

if [ -n "$2" ]; then
    _systemctl daemon-reexec || true
    # don't restart logind; this can be done again once this gets implemented:
    # https://github.com/systemd/systemd/issues/1163
    if dpkg --compare-versions "$2" lt-nl "246.2-2~"; then
        # the socket configuration changed
        _systemctl stop systemd-networkd.socket || true
    fi
    _systemctl try-restart systemd-networkd.service || true
    _systemctl try-restart systemd-resolved.service || true
    _systemctl try-restart systemd-journald.service || true
fi

if dpkg --compare-versions "$2" lt-nl "235-3~"; then
    # systemd-bus-proxyd got dropped before stretch, and never created any file
    deluser --system systemd-bus-proxy || true
fi

if dpkg --compare-versions "$2" lt-nl "236-1~"; then
    # Clean up old /var/lib/systemd/clock on upgrade.
    # The clock file used by systemd-timesyncd is now stored in
    # StateDirectory=systemd/timesync.
    rm -f /var/lib/systemd/clock
fi

if dpkg --compare-versions "$2" lt-nl "239-12~"; then
    # clean up bogus "nobody" group from #912525; ensure that it's a system group
    if getent group nobody >/dev/null; then
        delgroup --system nobody || true
    fi
fi

if dpkg --compare-versions "$2" lt-nl "245.4-4~"; then
    # systemd-pstore.service is now enabled via sysinit.target
    rm -f /etc/systemd/system/systemd-remount-fs.service.wants/systemd-pstore.service
    rmdir --ignore-fail-on-non-empty /etc/systemd/system/systemd-remount-fs.service.wants 2> /dev/null || true
fi

if dpkg --compare-versions "$2" lt-nl "245.4-5~"; then
    # Clean up removed ondemand service
    rm -f /etc/systemd/system/multi-user.target.wants/ondemand.service
fi

# Automatically added by dh_installtmpfiles/13.3.4
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	# In case this system is running systemd, we need to ensure that all
	# necessary tmpfiles (if any) are created before starting.
	if [ -d /run/systemd/system ] ; then
		systemd-tmpfiles --create debian.conf home.conf journal-nocow.conf legacy.conf systemd-nologin.conf systemd-pstore.conf systemd-tmp.conf systemd.conf tmp.conf var.conf x11.conf >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_installdeb/13.3.4
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.hostname1.conf 233-3\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.locale1.conf 233-3\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.login1.conf 233-3\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.machine1.conf 228-5\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.network1.conf 233-3\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.resolve1.conf 233-3\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.systemd1.conf 233-3\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.timedate1.conf 233-3\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dbus-1/system.d/org.freedesktop.systemd-shim.conf 239-15\~ systemd-shim -- "$@"
dpkg-maintscript-helper rm_conffile /etc/dhcp/dhclient-exit-hooks.d/timesyncd 245.4-2\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/systemd/timesyncd.conf 245.4-2\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/pam.d/systemd-user 247\~rc2-3\~ -- "$@"
# End automatically added section

Back to Directory File Manager