インストール前のハードドライブの識別

インストール前のハードドライブの識別

私は最近、Linuxでハードドライブのマウントとアンマウントを処理する2つのスクリプトを作成しました。私が知らないことは以下の通りです。現在/dev/sdc1インストール中です/home/media/externalHardDrive。問題は、ハードドライブを接続せずに他のUSBデバイス(USBスティックなど)を接続すると、USBスティックが入る可能性が高いことです/dev/sdc1。デバイスをインストールするには、まずデバイスを識別して、ハードドライブのみがこのスクリプトの影響を受けていることを確認できます。

私のスクリプトは次のとおりです。 script.sh 削除:

#!/bin/bash

MOUNT="/home/media/externalHardDrive"

if grep -qs "$MOUNT" /proc/mounts; then
  umount "$MOUNT"
  if [ $? -eq 0 ]; then
    echo "HardDrive kan veilig worden verwijderd :D"
  else
    echo "Er is iets mis gegaan, blijf overal vanaf :("
  fi
else
  echo "Er is geen HardDrive gemount op $MOUNT, deze kan daarom niet verwijderd worden!"
fi

script.sh マウント

#!/bin/bash

MOUNT="/home/media/externalHardDrive"

if grep -qs "$MOUNT" /proc/mounts; then
  echo "HardDrive is al gemount op $MOUNT ;)"
else
  mount /dev/sdc1 "$MOUNT"
  if [ $? -eq 0 ]; then
    echo "HardDrive is succesvol gemount :D"
  fi
fi

誰もが正しい方向に私を指すことができますか?私はDebianサーバーでこのスクリプトを実行しています。

ベストアンサー1

USBドライブが開いていることを確認したら、/dev/sdc0次の手順を実行します。

ls -l /dev/disk/by-uuid | grep -F /dev/sdc1

そして時間(HH:MM)との間の数字を->と仮定して書き留めますxyz。これはxyz通常変更されないドライブUUIDです(新しいファイルシステムを作成し、この番号をオプションとして指定しない限り)。

マウント時にデバイスの代わりにこのUUIDを使用できます。

mount UUID=xyz /home/media

UUID=xyzまたは、項目の最初の列に挿入するだけ/etc/fstabですmount /home/media

または、ファイルシステムにラベルを割り当てることもできます(たとえば、-Lオプションを使用して同様の方法で使用)。mkfs.ext4mkfs.btrfsLABEL=thelabelyouspecified

おすすめ記事