From: Ian Kelling Date: Sun, 15 Jan 2017 23:07:51 +0000 (-0800) Subject: fixes for vps X-Git-Url: https://iankelling.org/git/?p=distro-setup;a=commitdiff_plain;h=98bcf504ce2a56eeb862a59477cfb897a2ef613c fixes for vps --- diff --git a/distro-begin b/distro-begin index bbd94f2..69bbec7 100755 --- a/distro-begin +++ b/distro-begin @@ -583,13 +583,14 @@ s mkdir -p /mnt/iroot # 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' +if has_btrfs || home_network; then + 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 +for dir in /i /mnt/iroot /k /kr; do 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 @@ -600,9 +601,9 @@ for dir in /i /mnt/iroot /w /k /kr; do fi done EOF -s chmod +x /root/imount + s chmod +x /root/imount -s dd of=/etc/systemd/system/imount.service <<'EOF' + s dd of=/etc/systemd/system/imount.service <<'EOF' [Unit] Description=Mount /i and related mountpoints @@ -613,30 +614,33 @@ ExecStart=/root/imount [Install] WantedBy=multi-user.target EOF -sudo systemctl daemon-reload # needed if the file was already there -sudo systemctl enable imount.service -sudo systemctl start imount.service - + sudo systemctl daemon-reload # needed if the file was already there + sudo systemctl enable imount.service + sudo systemctl start imount.service +fi dir=/nocow -if ! mountpoint $dir; then - subvol=/mnt/root/nocow - if [[ ! -e $subvol ]]; then - s btrfs subvolume create $subvol - s chown root:1000 $subvol - s chattr +C $subvol - fi +if has_btrfs; then + if ! mountpoint $dir; then + subvol=/mnt/root/nocow + if [[ ! -e $subvol ]]; then + s btrfs subvolume create $subvol + s chown root:1000 $subvol + s chattr +C $subvol + fi - first_root_crypt=$(awk '$2 == "/" {print $1}' /etc/mtab) - tu /etc/fstab <&2' ERR if sudo test -e /q/root/.ssh; then sudo /a/exe/lnf /q/root/.ssh /root else - sudo mkdir /root/.ssh + sudo mkdir -p /root/.ssh + sudo chmod 700 /root/.ssh fi sudo cp -rL $(eval echo ~${SUDO_USER:-$USER})/.ssh/* /root/.ssh sudo chown -R root:root /root/.ssh