mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
Improved scripts to create encrypted devices
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
[[ -v DEBUG ]] && set -x
|
||||||
|
|
||||||
: ${DEVICE:?not set}
|
: ${DEVICE:?not set}
|
||||||
: ${LABEL:?not set}
|
: ${LABEL:?not set}
|
||||||
|
|
||||||
|
: "${MAPPER_NAME:=${LABEL// /}}"
|
||||||
: "${MOUNT_OPTIONS:=compress-force=zstd}"
|
: "${MOUNT_OPTIONS:=compress-force=zstd}"
|
||||||
: "${MOUNT_POINT:=/mnt/$LABEL}"
|
: "${MOUNT_POINT:=/mnt/$LABEL}"
|
||||||
: "${USERNAME:=root}"
|
: "${USERNAME:=root}"
|
||||||
@@ -13,19 +16,21 @@
|
|||||||
[[ -b "$DEVICE" ]] || (echo "${DEVICE} not found" >&2 && exit 1)
|
[[ -b "$DEVICE" ]] || (echo "${DEVICE} not found" >&2 && exit 1)
|
||||||
|
|
||||||
cryptsetup luksFormat "$DEVICE"
|
cryptsetup luksFormat "$DEVICE"
|
||||||
cryptsetup open "$DEVICE" "$LABEL"
|
cryptsetup open "$DEVICE" "$MAPPER_NAME"
|
||||||
|
|
||||||
mkfs.btrfs --label "$LABEL" "/dev/mapper/${LABEL}"
|
mkfs.btrfs -f --label "$LABEL" "/dev/mapper/${MAPPER_NAME}"
|
||||||
mkdir -p "$MOUNT_POINT"
|
mkdir -p "$MOUNT_POINT"
|
||||||
mount -t btrfs -o "$MOUNT_OPTIONS" "/dev/mapper/${LABEL}" "$MOUNT_POINT"
|
mount -t btrfs -o "$MOUNT_OPTIONS" "/dev/mapper/${MAPPER_NAME}" "$MOUNT_POINT"
|
||||||
|
|
||||||
btrfs subvolume create "$MOUNT_POINT/.snapshots"
|
btrfs subvolume create "$MOUNT_POINT/.snapshots"
|
||||||
btrfs subvolume create "$MOUNT_POINT/data"
|
btrfs subvolume create "$MOUNT_POINT/data"
|
||||||
|
|
||||||
chown "$USER":"$USER" "$MOUNT_POINT/data"
|
chown "$USERNAME":"$GROUPNAME" "$MOUNT_POINT/data"
|
||||||
|
|
||||||
if [[ "$CLOSE_WHEN_DONE" ]]
|
if [[ "$CLOSE_WHEN_DONE" == false ]]
|
||||||
then
|
then
|
||||||
umount "/mnt/${LABEL}"
|
umount "/mnt/${LABEL}"
|
||||||
cryptsetup close "$DEVICE"
|
cryptsetup close "/dev/mapper/${MAPPER_NAME}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[[ -v "$DEBUG" ]] && set +x
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
[[ -v DEBUG ]] && set -x
|
||||||
|
|
||||||
: ${DEVICE:?not set}
|
: ${DEVICE:?not set}
|
||||||
: ${POOL_NAME:?not set}
|
: ${POOL_NAME:?not set}
|
||||||
|
|
||||||
@@ -24,3 +26,5 @@ zfs create "${POOL_NAME}/${DATASET_NAME}"
|
|||||||
chown "$USERNAME":"$GROUPNAME" "${MOUNT_POINT}/${DATASET_NAME}"
|
chown "$USERNAME":"$GROUPNAME" "${MOUNT_POINT}/${DATASET_NAME}"
|
||||||
|
|
||||||
[[ "$UNMOUNT_WHEN_DONE" ]] && zfs unmount "${POOL_NAME}/${DATASET_NAME}"
|
[[ "$UNMOUNT_WHEN_DONE" ]] && zfs unmount "${POOL_NAME}/${DATASET_NAME}"
|
||||||
|
|
||||||
|
[[ -v DEBUG ]] && set +x
|
||||||
|
|||||||
Reference in New Issue
Block a user