#! /bin/bash
-# casper-snapshot - utility to manage Debian Live systems snapshots
+# live-snapshot - utility to manage Debian Live systems snapshots
#
# This program mount a device (fallback to /tmpfs under /mnt/snapshot
# and save the /cow (or a different dir) filesystem in it for reusing
-# in another casper session. Look at manpage for more info.
+# in another live-initramfs session. Look at manpage for more info.
#
# Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>
#
echo " -d, --device: specifies the output snapshot device (default: none)."
echo " -o, --output: specifies the output image file (default: $type dependent)."
echo " -r, --resync-string: internally used to resync previous made snapshots."
- echo " -t, --type: specifies the snapshot type between \"squashfs\", \"ext2\" or \"cpio\".gz archive (default: cpio)"
+ echo " -t, --type: specifies the snapshot type between \"squashfs\", \"ext2\", \"ext3\" or \"cpio\".gz archive (default: cpio)"
echo -e "\nLook at live-snapshot(1) man page for more information."
exit 0
}
echo "On Debian systems, the complete text of the GNU General Public License"
echo "can be found in /usr/share/common-licenses/GPL file."
echo
- echo "Homepage: <http://live.debian.net/>"
+ echo "Homepage: <http://debian-live.alioth.debian.org/>"
exit 0
}
cpio)
( cd "${COW}" && find . -path '*.wh.*' -prune -o -print0 | cpio --quiet -o0 -H newc | gzip -9c > "${DEST}" ) || exit 1
;;
- ext2)
+ ext2|ext3)
DU_DIM="`du -ks ${COW} | cut -f1`"
REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root="${COW}" "${DEST}" || exit 1
{
dir1="`Base_path $1`"
dir2="`Base_path $2`"
- if [ "${dir1}" == "${dir2}" ]; then
+ if [ "${dir1}" = "${dir2}" ]; then
return 0
else
return 1
COW=$(echo "${SNAP_RSTRING}" | cut -f1 -d ':')
DEV=$(echo "${SNAP_RSTRING}" | cut -f2 -d ':')
DEST=$(echo "${SNAP_RSTRING}" | cut -f3 -d ':')
-
+
case "${DEST}" in
*.cpio.gz)
TYPE="cpio" ;;
TYPE="squashfs" ;;
"")
TYPE="ext2" ;;
- *.ext2)
+ *.ext2|*.ext3)
TYPE="ext2" ;;
*)
Usage "Unregognized String" ;;
else
COW="${SNAP_COW}"
fi
-
+
case "${SNAP_TYPE}" in
- "cpio"|"squashfs"|"ext2")
+ "cpio"|"squashfs"|"ext2"|"ext3")
TYPE="${SNAP_TYPE}"
;;
"")
Usage "Error: unrecognized snapshot type"
;;
esac
- #if [ -d
- #if Is_same_mount
+ #if [ -d
+ #if Is_same_mount
fi
# check vars
if [ -n "$DEV" ]; then
umount "${MOUNTP}"
rmdir "${MOUNTP}"
- rm
+ #rm
fi
}