%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/proc/self/root/etc/udev/rules.d/
Upload File :
Create Path :
Current File : //proc/self/root/proc/self/root/etc/udev/rules.d/99-digitalocean-automount.rules

# Only try to automount DO block volumes.
SUBSYSTEM!="block", GOTO="do_automount_end"
ENV{ID_VENDOR}!="DO", GOTO="do_automount_end"
ENV{ID_MODEL}!="Volume", GOTO="do_automount_end"
# Only automount on the "add" action.
ACTION!="add", GOTO="do_automount_end"
# Only try to automount filesystems we know about.
ENV{ID_FS_TYPE}!="ext4|xfs", GOTO="do_automount_end"

# Create a temporary mountpoint and temporary location for the first-mount script.
IMPORT{program}="/bin/sh -c 'echo TMP_MOUNT_DIR=$(mktemp -d -p /mnt .do-first-mount-XXXXXXXXX)'"
# Handle temporary mountpoint creation failure.
ENV{TMP_MOUNT_DIR}=="", GOTO="do_automount_end"
IMPORT{program}="/bin/sh -c 'echo TMP_SCRIPT=$(mktemp -t .do-first-mount-XXXXXXXXX.sh)'"
# Handle temporary script location creation failure.
ENV{TMP_SCRIPT}=="", PROGRAM="/bin/sh -c '/bin/rmdir %E{TMP_MOUNT_DIR} || exit 0'", GOTO="do_automount_end"

# Mount the volume at the temp mountpoint and copy the script off, then unmount.
RUN{program}+="/bin/mount -o ro /dev/%k %E{TMP_MOUNT_DIR}"
RUN{program}+="/bin/sh -c '/bin/cp %E{TMP_MOUNT_DIR}/.first-mount.sh %E{TMP_SCRIPT} || exit 0'"
RUN{program}+="/bin/umount %E{TMP_MOUNT_DIR}"
RUN{program}+="/bin/rmdir %E{TMP_MOUNT_DIR}"

# Run the first-mount script. If it didn't exist this will be a no-op.
RUN{program}+="/bin/sh %E{TMP_SCRIPT} '%E{ID_SERIAL}' '%E{ID_FS_TYPE}' '%E{ID_SERIAL_SHORT}' '%E{ID_FS_UUID}' '%E{ID_FS_LABEL}'"

# Clean up.
RUN{program}+="/bin/rm %E{TMP_SCRIPT}"

# Finally, try and mount the volume. On first mount this will fail, but that's
# OK because the volume was already mounted by the first-mount script.
RUN{program}+="/bin/sh -c '/bin/mount /dev/%k || exit 0'"

LABEL="do_automount_end"

Zerion Mini Shell 1.0