#!/bin/bash -x set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR # based on unison error, with 8192 from # sysctl -a | grep fs.inotify.max_user_watches #http://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux f=$target/etc/sysctl.d/99-sysctl.conf key=fs.inotify.max_user_watches if [[ -e $f ]]; then sed -ri "/^\s*$key\s*=/d" $f; fi echo "fs.inotify.max_user_watches = 1000000" >> $f # if we weren't rebooting, you could apply it now with: # sysctl --system f=$target/etc/sudoers line='ian ALL=(ALL) NOPASSWD: ALL' if [[ ! -e $f ]] || ! grep -xF "$line" $f; then echo "$line" >> $f fi dir=/q/p/c/machine_specific/$HOSTNAME/.unison $ROOTCMD mkdir -p $dir $ROOTCMD rm -rf /root/.unison $ROOTCMD ln -sf $dir /root $ROOTCMD ln -sf /q/p / chown -R 1000:1000 $dir while true; do $ROOTCMD chown 1000:1000 $dir $ROOTCMD chmod 700 $dir dir=$(dirname $dir) [[ $dir != /q ]] || break done