#!/bin/bash -x
set -eE -o pipefail
-trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR
+trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
-$ROOTCMD adduser --disabled-password --gecos ian ian
-
-if [[ ! $ROOTPW ]]; then
- echo "$0: error: empty \$ROOTPW"
+if [[ $EUID != 0 ]]; then
+ echo "$0: error: expected to be root."
exit 1
fi
-$ROOTCMD usermod -p "$ROOTPW" ian
+if ! type -t fcopy &>/dev/null; then
+ sudo apt-get -y install fai-client
+fi
+
+dir=/q/root/shadow
+fai_shadow=$FAI/distro-install-common/shadow
+if [[ ! -e $dir && -e $fai_shadow ]]; then
+ mkdir -p $dir
+ mount -o bind $fai_shadow $dir
+fi
+$FAI/distro-install-common/end
-if ifclass STABLE; then
+if ifclass STABLE || ifclass LINODESTABLE; then
fcopy -M /etc/apt/preferences
fi
if ifclass DEBIAN; then
fcopy -M /etc/apt/preferences.d/unstable
fcopy -riM /etc/apt/sources.list.d
+ $ROOTCMD apt-get update
fi
# note:
# fcopy -i = ignore nonmatching class error, always return 0.
-f=/target/home/ian/.ssh/authorized_keys
-if [[ ! -L $f || -e $f ]]; then
- fcopy -r -M /home/ian/.ssh
-fi
-/var/lib/fai/config/distro-install-common/end
+# for lj, this will be empty and fail
+fcopy -riM /home/ian/.ssh
-rm -f /target/etc/apt/sources.list
+rm -f $FAI_ROOT/etc/apt/sources.list
-chroot /target bash <<'EOF'
+chroot $FAI_ROOT bash <<'EOF'
set -eE -o pipefail
+mkdir -p /home/ian/.ssh
+f=/root/.ssh/authorized_keys
+if [[ -e $f ]]; then
+ cp $f /home/ian/.ssh
+fi
chown -R 1000:1000 /home/ian/.ssh
chmod -R u=Xrw,og= /home/ian/.ssh
-cp -ar /home/ian/.ssh /root
+rm -rf /root/.ssh
+cp -rL /home/ian/.ssh /root
chown -R root:root /root/.ssh
+chmod 700 /root/.ssh
-# default jessie groups + kvm & systemd-journal
-usermod -aG cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,kvm,systemd-journal ian
+# default jessie groups + kvm, systemd-journal, adm
+usermod -aG adm,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,systemd-journal ian
EOF
-$ROOTCMD apt-get -y install unison-gtk
-if ifclass STABLE; then
- # don't think this is needed since I figured out how to
- # deal with mismatching unison compilers, but I don't
- # see any reason to revert it, since it only installs
- # a single package which is primarily a single binary
- $ROOTCMD apt-get -y install unison-gtk/testing
-fi
-
-
-
-$ROOTCMD adduser --disabled-password --gecos traci traci
-$ROOTCMD usermod -a -G traci ian
# reading through the groups that ian is in but traci isn't,
for g in plugdev audio video cdrom; do
$ROOTCMD usermod -a -G $g traci
done
-if ifclass frodo; then
- $ROOTCMD usermod -p "$(cat /var/lib/fai/config/distro-install-common/shadow/traci-simple)" traci
-fi
+# makes the journal be saved to disk.
+$ROOTCMD mkdir -p $FAI_ROOT/var/log/journal
+$ROOTCMD chmod 755 $FAI_ROOT/var/log/journal