various fixes
[automated-distro-installer] / fai / config / distro-install-common / end
index 6afcd1eaf5f75cf22e52b8893679b74cd92b352a..629e47ad5ee9c7e727cba56da2611eeab58a5dab 100755 (executable)
@@ -8,13 +8,6 @@ if [[ $EUID != 0 ]]; then
     exit 1
 fi
 
-### begin set hostname
-echo $HOSTNAME > /etc/hostname
-sed -i '/^127\.0\.1\.1/d' /etc/hosts
-echo "127.0.1.1 $HOSTNAME" >> /etc/hosts
-hostname -F /etc/hostname
-### end set hostname
-
 TPW=/q/root/shadow/traci-simple
 if ifclass tp; then
     ROOTPW="$TPW"
@@ -34,12 +27,12 @@ chpw() {
     if [[ $pwfile && -e $pwfile ]]; then
         printf "$user:" | cat - "$pwfile" | $ROOTCMD chpasswd -e
     else
-        echo "$0: warning: no pw set for $user"
+        echo "$0: warning: no pw set for $user" >&2
     fi
 }
-au() {
-    if ! $ROOTCMD getent passwd $1; then
-        $ROOTCMD useradd -m -s /bin/bash $1 || [[ $? == 9 ]]
+au() { # add user
+    if ! $ROOTCMD getent passwd ${@: -1}; then
+        $ROOTCMD useradd -m -s /bin/bash $@
     fi
 }
 
@@ -73,19 +66,29 @@ if [[ ! -e $f ]] || ! grep -xF "$line" $f; then
     echo "$line" >> $f
 fi
 
+# ssh host keys
+# note, $BASH_SOURCE is not defined here under fai.
+src=$(dirname "$0")/p/c/machine_specific/$HOSTNAME/filesystem/etc/ssh
+dst=$target/etc/ssh
+if [[ -e $src && -e $dst ]]; then
+    # outside of fai context, we skip this
+    cp -rT $src $dst
+fi
+
 
-dir=/q/p/c/machine_specific/$HOSTNAME/.unison
+dir=/p/c/machine_specific/$HOSTNAME/.unison
 $ROOTCMD mkdir -p $dir
 if ! $ROOTCMD test -L /root/.unison; then
     $ROOTCMD rm -rf /root/.unison
     $ROOTCMD ln -s -T $dir /root/.unison
 fi
 
-$ROOTCMD ln -sf /q/p /
 $ROOTCMD chown -R 1000:1000 $dir
 while true; do
     $ROOTCMD chown 1000:1000 $dir
     $ROOTCMD chmod 700 $dir
     dir=$(dirname $dir)
-    [[ $dir != /q ]] || break
+    if [[ $dir == /p ]]; then break; fi
 done
+
+au -s /bin/false --home-dir /var/lib/bitcoind bitcoin