postinst is in libnss-resolve 237-3ubuntu10.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #!/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
# Fix nsswitch action on upgrades
if [ "$1" = configure ] && dpkg --compare-versions "$2" lt-nl "231-10"; then
if ! grep -q '^hosts:.*resolve[[:space:]]*\[' /etc/nsswitch.conf; then
echo "Adjusting 'resolv' entry in /etc/nsswitch.conf.."
sed -i '/^hosts:/ { s/resolve/& [!UNAVAIL=return]/}' /etc/nsswitch.conf
fi
fi
|