#! /bin/bash -e shopt -s nullglob case $# in 1) dir=$1 ;; *) echo >&2 "usage: $0 DIR"; exit 2 ;; esac cd "$dir" keep=("./files" "./files.*" "./.ssh/keys") clear_dir () { local p q for p in "$1"/..?* "$1"/.[!.]* "$1"/*; do for q in "${keep[@]}"; do case $p in $q) continue 2 ;; esac case $q in "$p"/*) clear_dir "$p"; continue 2 ;; esac done rm -rf "$p" done } clear_dir . mkdir -p .ssh/keys etc lib usr/bin ln -s ../../ssh-common/Makefile ../../ssh-common/sshsvc.conf .ssh/ make -C.ssh/ cp /usr/bin/rsync usr/bin/ ldd /usr/bin/rsync | while read line; do set -- $line for i in "$@"; do case "$i" in /*) cp "$i" lib/ ;; esac; done done grep -E '^(root:|sysupl-)' /etc/passwd >etc/passwd grep -E '^(root:|sysupl-)' /etc/group >etc/group