mirror of
https://git.proxmox.com/git/systemd
synced 2025-08-17 04:23:07 +00:00
49 lines
1.5 KiB
Bash
49 lines
1.5 KiB
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# This code was taken from libnss-myhostname
|
|
|
|
# try to insert resolve entries to the "hosts" line in /etc/nsswitch.conf to
|
|
# automatically enable libnss-resolve support; do not change the
|
|
# configuration if the "hosts" line already references some resolve lookups
|
|
insert_nss_entry() {
|
|
echo "Checking NSS setup..."
|
|
# abort if /etc/nsswitch.conf does not exist
|
|
if ! [ -e /etc/nsswitch.conf ]; then
|
|
echo "Could not find /etc/nsswitch.conf."
|
|
return
|
|
fi
|
|
perl -i -pe '
|
|
sub insert {
|
|
my $line = shift;
|
|
# this also splits on tab
|
|
my @bits=split(" ", $line);
|
|
# do not break configuration if the "hosts" line already references
|
|
# resolve
|
|
if (grep { $_ eq "resolve"} @bits) {
|
|
return $line;
|
|
}
|
|
# add resolve before dns
|
|
return join " ", map {
|
|
$_ eq "dns" ? ("resolve [!UNAVAIL=return]", "$_") : $_
|
|
} @bits;
|
|
}
|
|
s/^(hosts:\s+)(.*)/$1.insert($2)/e;
|
|
' /etc/nsswitch.conf
|
|
}
|
|
|
|
if [ "$1" = configure ] && [ -z "$2" ]; then
|
|
echo "First installation detected..."
|
|
# first install: setup the recommended configuration (unless
|
|
# nsswitch.conf already contains resolve entries)
|
|
insert_nss_entry
|
|
# ... and enable resolved
|
|
systemctl enable systemd-resolved.service
|
|
if [ -d /run/systemd/system ]; then
|
|
deb-systemd-invoke start systemd-resolved.service || true
|
|
fi
|
|
fi
|
|
|
|
#DEBHELPER#
|