From 9613c75afd4263e1c7e5d3e0f1427b678f01f58a Mon Sep 17 00:00:00 2001 From: Lutz Schwarz Date: Fri, 4 Sep 2020 11:21:04 +0200 Subject: [PATCH] Option to prepare with hostkeys left untouched --- pishrink.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pishrink.sh b/pishrink.sh index dbf6b09..2a41147 100755 --- a/pishrink.sh +++ b/pishrink.sh @@ -155,7 +155,7 @@ EOF1 help() { local help read -r -d '' help << EOM -Usage: $0 [-adhrspvzZ] imagefile.img [newimagefile.img] +Usage: $0 [-adhrspPvzZ] imagefile.img [newimagefile.img] -s Don't expand filesystem when image is booted the first time -v Be verbose @@ -163,7 +163,8 @@ Usage: $0 [-adhrspvzZ] imagefile.img [newimagefile.img] -z Compress image after shrinking with gzip -Z Compress image after shrinking with xz -a Compress image in parallel using multiple cores - -p Remove logs, apt archives, dhcp leases and ssh hostkeys + -p Remove logs, apt archives, dhcp leases + -P Remove logs, apt archives, dhcp leases and ssh hostkeys -d Write debug messages in a debug log file EOM echo "$help" @@ -176,14 +177,16 @@ repair=false parallel=false verbose=false prep=false +prep_hostkeys=false ziptool="" -while getopts ":adhprsvzZ" opt; do +while getopts ":adhpPrsvzZ" opt; do case "${opt}" in a) parallel=true;; d) debug=true;; h) help;; p) prep=true;; + P) prep=true; prep_hostkeys=true;; r) repair=true;; s) should_skip_autoexpand=true ;; v) verbose=true;; @@ -305,10 +308,14 @@ else fi if [[ $prep == true ]]; then - info "Syspreping: Removing logs, apt archives, dhcp leases and ssh hostkeys" + info "Syspreping: Removing logs, apt archives and dhcp leases" mountdir=$(mktemp -d) mount "$loopback" "$mountdir" - rm -rvf $mountdir/var/cache/apt/archives/* $mountdir/var/lib/dhcpcd5/* $mountdir/var/log/* $mountdir/var/tmp/* $mountdir/tmp/* $mountdir/etc/ssh/*_host_* + rm -rvf $mountdir/var/cache/apt/archives/* $mountdir/var/lib/dhcpcd5/* $mountdir/var/log/* $mountdir/var/tmp/* $mountdir/tmp/* + if [[ "$prep_hostkeys" == true ]]; then + info "Syspreping: Removing ssh hostkeys" + rm -rvf $mountdir/etc/ssh/*_host_* + fi umount "$mountdir" fi