Stellen Sie alle angeschlossenen USB-Festplatten mit einem einzigen Befehl bereit


8

Gibt es eine (sichere) Möglichkeit, alle Partitionen auf allen angeschlossenen USB-Geräten (USB-Festplatten, USB-Sticks) mit einem einzigen Befehlszeilenbefehl, einschließlich mehrerer verschlüsselter luks-Partitionen, zu mounten?

Nur die Partitionen auf den USB-Geräten sollten umountet werden, nichts weiter!

Antworten:


4

Ich habe mein Bestes versucht, um dabei posix zu bleiben. Beachten Sie, dass dies fehlschlägt, wenn Sie kein geeignetes "udevadm" -Paket für die Anzeige von udev-Informationen zur Verfügung haben.

#!/bin/bash

command_exists () {
    type "$1" &> /dev/null
}

CMD=""

if command_exists udevadm; then
        CMD="$(which udevadm) info -q all -n"
fi

if command_exists udevinfo; then
        CMD="$(which udevinfo) -q all -n"
fi

echo "The udevinfo command for this system is $CMD"


for disk in /dev/sd*
do
        DISK=$($CMD $disk | grep ID_BUS)
        if [[ "$DISK" == *usb ]]; then
                echo "$disk is USB, now unmounting.."
                umount $disk
        fi
done

Danke, aber es funktioniert nicht für die luks Partitionen.
Student
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.