/usr/share/debian-edu-config/d-i/finish-install is in debian-edu-config 1.818+deb8u2.
This file is owned by root:root, with mode 0o755.
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #!/bin/sh
#
# This script is executed within the debian-installer environment when
# finish-install.d is executed, which is executed at the end of the
# installation after the cfengine-debian-edu script has executed
set -e
# export DEBCONF_DEBUG='developer'
. /usr/share/debconf/confmodule
log() {
logger -t debian-edu-config-finish-install "$@"
}
# Make sure any dhclient processes started in pre-pkgsel is stopped to
# make sure /var/ is umounted and clean on first boot.
deconfigure_network() {
if [ -e /tmp/debian-edu-nonetwork ] ; then
in-target /bin/sh -c "/etc/init.d/networking stop" || true
fi
}
# Prevent d-i to delete configured target interface file
preserve_network_interfaces() {
file=/usr/lib/finish-install.d/55netcfg-copy-config
if [ -x $file ] ; then
log "Keep already configured interface file"
cat /dev/null > $file
fi
}
db_get debian-edu-install/profile
PROFILE="$RET"
# Register changes before and after cfengine is executed, to make it
# easier to track our changes
edu-etcvcs commit
# Try to add entropy when running low
(
cd /
while true ; do
entropy="$(cat /proc/sys/kernel/random/entropy_avail)"
if [ 130 -gt "$entropy" ] ; then
log "low on entropy, pool is $entropy. trying to add more"
# Disk IO add entropy to the kernel. Flush cache to ensure
# find and touch/rm causes disk IO.
sync
echo 3 > /proc/sys/vm/drop_caches
find /target > /dev/null || true
touch /target/var/tmp/foo
sync
rm /target/var/tmp/foo
sync
entropy="$(cat /proc/sys/kernel/random/entropy_avail)"
log "entropy pool is $entropy after trying to add"
fi
sleep 20
done
) < /dev/null 2>&1 3>/dev/null 4>&3 5>&3 6>&3 | logger -t edu-entropy-add &
epid=$!
# Make the installation look more like a finished system, to make sure
# debconf-get-selections --installer work.
. /usr/lib/finish-install.d/94save-logs
# Update configuration for everything that could not be preseeded
if in-target cfengine-debian-edu -D installation ; then
:
else
log "error: Running 'cfengine-debian-edu -D installation' returned an error"
fi
edu-etcvcs commit
# Clean up changes done to tasksel in pre-pkgsel and go back to the
# default behavior.
in-target /usr/lib/education-tasks/edu-tasksel-setup teardown
preserve_network_interfaces
deconfigure_network
edu-etcvcs commit
# For non-Main-Server profiles, try to submit to sitesummary at the
# end of the installation, to try to avoid one extra boot to update
# hostname from DNS after updating GOsa. Main-Server will become its
# own collector, so no need to try to submit here.
if echo $PROFILE | grep -q Main-Server ; then
:
elif [ -x /target/usr/sbin/sitesummary-client ] ; then
in-target /usr/sbin/sitesummary-client || true
fi
# Make sure the root password is gone from debconf after the
# installation, in case ldap-debian-edu-install and kerberos-init-kdc
# scripts failed when cfengine was executed.
# Ignore errors as these templates do not exist on standalone installs
db_set debian-edu-config/ldap-password '' || true
db_set debian-edu-config/ldap-password-again '' || true
db_set debian-edu-config/kdc-password '' || true
db_set debian-edu-config/kdc-password-again '' || true
log "info: Ensuring KDC and LDAP passwords are cleared from debconf database"
# Ignore errors in case the entropy gathering is no longer running
if kill $epid ; then
:
else
log "error: killing the entropy gathering job failed - exited?"
fi
echo "info: processes using mount point below /target"
mountpoints="$(grep " /target" /proc/mounts | cut -d" " -f2 | sed s%/target%%g)"
LANG=C chroot /target fuser -mv $mountpoints 2>&1 | sed 's/^/info: /'
if LANG=C chroot /target fuser -mv $mountpoints 2>&1 | egrep -qv 'USER|mount |Cannot open ' ; then
log "error: some processes blocking d-i from umounting /target/"
fi
|