From ddd28e45d507665ffd89b35e8c759b6add7686a6 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Wed, 19 Jun 2019 18:26:54 -0400 Subject: add some commands to the live system --- src/samizdat-diff-root | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 src/samizdat-diff-root (limited to 'src/samizdat-diff-root') diff --git a/src/samizdat-diff-root b/src/samizdat-diff-root new file mode 100755 index 0000000..ea9bb85 --- /dev/null +++ b/src/samizdat-diff-root @@ -0,0 +1,43 @@ +#!/bin/sh +mp=/mnt/root.tmp +fs=/ + +excludes='--exclude /var/log/ --exclude /tmp/' + +devs() +{ + btrfs fi sh "$fs" | sed -ne 's?^[ \t]*devid[ \t].*/dev?/dev?p' +} + +[ $(id -u) = 0 ] || exec sudo "$0" "$@" || exit + +if ! [ -e "$mp" ] || ! mountpoint -q "$mp" +then + mkdir -p "$mp" + dev=$(devs | tail -n1) || exit + mount -t btrfs "$dev" -o subvol=/ "$mp" || exit +fi + +case $# in + 0) run() + { + rsync -xani $excludes "$mp"/root/ "$mp"/root~orig/ + } + ;; + *) run() + { + for f + do + diff "$mp"/root/"$f" "$mp"/root~orig/"$f" + done + } + ;; +esac +if [ -t 0 ] +then + run "$@" | less +else + run "$@" +fi + +umount "$mp" -- cgit v1.2.3