mirror of
https://git.proxmox.com/git/systemd
synced 2025-12-26 06:30:33 +00:00
84 lines
2.7 KiB
Bash
84 lines
2.7 KiB
Bash
#!/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
|
|
|
|
# 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 "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
|
|
|
|
#DEBHELPER#
|