설치 전 하드 드라이브 식별

설치 전 하드 드라이브 식별

저는 최근 Linux에서 하드 드라이브 마운트 및 마운트 해제를 처리하는 두 개의 스크립트를 만들었습니다. 제가 알 수 없는 사항은 아래와 같습니다. 현재 /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

누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 저는 데비안 서버에서 이 스크립트를 실행하고 있습니다.

답변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

답변2

udev하드 드라이브를 설치하는 데 사용됩니다 . 작업을 자동화하고 식별을 더 쉽게 만듭니다. 연결된 장치가 하드 드라이브인 경우 $ID_ATA=1스크립트에 변수가 있습니다.

관련 정보