fi
fi
-s mkdir -p /q/i/{w,k}
+s mkdir -p /q /i/{w,k}
for dir in /{i,w,k}; do
if mountpoint $dir; then continue; fi # already mounted
s mkdir -p $dir
# then waits endlessly for them on bootup, after the /dev/mapper disks
# have already been created and exist. todo: create a simple repro
# for this in a vm and report it upstream.
+pi nfs-common
s dd of=/root/imount <<'EOF'
#!/bin/bash
[[ $EUID == 0 ]] || exec sudo -E "$BASH_SOURCE" "$@"
set -eE -o pipefail
trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
for dir in /i /mnt/iroot /w /k /kr; do
- if ! mountpoint $dir &>/dev/null && \
- awk '{print $2}' /etc/fstab | grep -xFq $dir; then
- mount $dir
- fi
+ if ! mountpoint $dir &>/dev/null && \
+ awk '{print $2}' /etc/fstab | grep -xF $dir &>/dev/null; then
+ if awk '{print $3}' /etc/fstab | grep -xF nfs &>/dev/null; then
+ mount $dir || echo "warning: failed to mount nfs on $dir"
+ else
+ mount $dir
+ fi
+ fi
done
EOF
s chmod +x /root/imount
if isdeb; then
- # I've had problems with postfix on debian:
+ # I\'ve had problems with postfix on debian:
# on stretch, a startup ordering issue caused all mail to fail.
# postfix changed defaults to only use ipv6 dns, causing all my mail to fail.
# exim4 is default on debian, so I assume it would
# be packaged better to avoid these types of things.
- # I haven't gotten around to getting a non-debian exim
+ # I haven\'t gotten around to getting a non-debian exim
# setup.
mail-setup exim4
- else
- mail-setup postfix
+else
+ mail-setup postfix
fi
- if isubuntu; then
- # disable crash report annoying crap
- s dd of=/etc/default/apport <<<'enabled=0'
- fi
+if isubuntu; then
+ # disable crash report annoying crap
+ s dd of=/etc/default/apport <<<'enabled=0'
+fi
# fai sets this an old way that doesn't work for stretch.
# no harm in setting it universally here.
# using debconf-set-selection, the area gets reset to ETC
# on my linode test machine after doing a dpkg-reconfigure, or a reinstall,
# so we are using expect :(
+# I got a random error when running this, so I added a sleep
+# rather than trying to write a whole detect and wait loop.
+# E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
+# E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
+sleep 1
s apt-get -y install --no-install-recommends expect
s expect <<EOF
set force_conservative 0