장착 명령 시퀀스 자동화


9

Linux를 사용하여 장치 (태블릿, 카메라, 플래시 드라이브, 외장 하드 드라이브)를 랩톱에 연결할 때 종종 다음과 같은 명령을 입력합니다.

$ ls /dev/sd*
내 장치가
선택 $ sudo mkdir /media/my_flash
적인 / dev / sdc라고 가정 해 봅시다.$ sudo chmod 777 /media/my_flash
$ sudo mount /dev/sdc /media/my_flash

그런 다음 일부 파일을 복사하고

$ sudo umount /dev/sdc

이 순서는 파일이 복사되고 나쁘지 않다는 것을 보증합니다.

이 일련의 명령을 자동화하는 방법을 알려주시겠습니까? 따라서 장치를 연결하고 마운트 해야하는 디렉토리를 인식 한 다음 파일을 전송 한 다음 장치를 분리 할 수 ​​있다는 신호를 보냅니다. 이것에 대한 Linux OS에 몇 가지 설정이 있습니까?

답변:


6

SHW에서 언급 한 것처럼 이동식 장치의 연결에 반응하는 시스템 구성 요소는 Udev 입니다. 심지어 udev 튜토리얼 조차 조금 어려울 수 있습니다. 몇 가지 예를 보여 드리겠습니다.

장치 파일 (예 :)을 /dev/sdc하드웨어 장치와 연결하고 장치를 마운트하여 파일 시스템에 액세스하는 두 가지 단계가 있습니다 . Udev의 작업은 첫 번째 단계이지만와 같은 외부 명령을 실행하도록 지시 할 수 있습니다 mount.

알려진 이동식 장치의 경우 /dev/removable(디렉토리 이름은 개인 규칙입니다) 에서 전용 장치 이름을 사용하고 싶습니다 . 다음 udev 규칙 (에 배치됨 /etc/udev/rules.d/my_removable_disks.rules)은 파티션 1에서 파일 시스템의 속성으로 식별되는 두 디스크에 대해 알려진 이름의 심볼릭 링크를 만듭니다.

KERNEL=="sd?", PROGRAM=="/sbin/blkid -o value -s UUID %N1", RESULT=="1234-5678", SYMLINK+="removable/foo"
KERNEL=="sd?", PROGRAM=="/sbin/blkid -o value -s LABEL %N1", RESULT=="Joe's disk", SYMLINK+="removable/joe"

이전 버전의 udev는 호출 대신 /udev/lib/vol_id -u %N1( UID의 경우 -l, 레이블의 경우) 필요할 수 있습니다 blkid. 장치 공급 업체 및 일련 번호와 일치시키기 위해 일치 시킬 수있는 항목이 더 있습니다 ATTRS{vendor}=="Yoyodine", ATTRS{serial}=="XYZZY12345PDQ97"( 예 : 대신 PROGRAM==…, RESULT==…).

그런 다음 다음과 같은 줄을 사용할 수 있습니다 /etc/fstab.

/dev/removable/joe  /media/joe  vfat  noauto,user

자동 마운트를 선호하는 경우 , RUN="mkdir /media/foo && mount /dev/removable/foo /media/foo"udev 라인 과 같은 것을 추가 할 수 있습니다 . umount /media/foo플러그를 뽑기 전에 잊지 마십시오 .


훌륭한 솔루션에 감사드립니다. 일부 외부 드라이브에 LVM이 있으므로 더 긴 칭찬 순서 (VG 활성화 등 포함)를 이제 백업 스크립트를 추가 할 수도 있습니다. :)
Grzegorz Wierzowiecki

친애하는 독자 - 사용 가능한 attrs에 대해 알고 싶다면, 장치와 함께이 시도 :udevadm info --name=/dev/DEVICE --attribute-walk
그르 Wierzowiecki

8

UDEV 규칙을 작성하면 동일한 bash 명령이 포함 된 bash 스크립트를 "실행"할 수 있습니다. 해당 장치를 연결할 때마다 UDEV가이를 인식하고 규칙에 따라 동작을 시작합니다.

규칙 작성의 경우이 링크를 따라갈 수 있습니다 .


오, 좋아 아직 알지 못함-링크를 북마크하고 내 레퍼토리에 추가하십시오.
Shadur

좀 더 구체적으로 말씀해 주시겠습니까? 링크의 어느 단락 이 나와 관련이 있습니까?
xralf

내가 찾고있는 것 같습니다. 요즘에는 읽을 시간이 없습니다. 나는 그것을 이해하고 그것을 이해할 시간에 당신의 의견에 정답을 붙여 넣을 것입니다. 감사합니다
xralf

4

요즘에는 몇 가지 자동 마운팅 데몬과 pmount사용자 /mediasudo액세스 할 필요없이 이동식 장치를 마운트 할 수 있도록 하는 명령 이 있습니다.

Gnome과 KDE에는 모두 이동식 볼륨이 연결될 때 자동으로 마운트 할 수있는 옵션이 있습니다. 설치 한 배포판에 따라이 기능은 기본적으로 'on'으로 설정 될 수 있습니다.

그놈에서이 기능을 관리하는 옵션은 System -> Preferences -> Removable Media; KDE에 대한 최근 경험이 없습니다.


창 관리 환경 (KDE, GNOME 등) (X가 시작되지 않은 경우)에서 독립적으로 수행하고 싶습니다.
xralf

그런 다음 SHW가 게시 한 링크를 읽고 거의 모든 내용을 읽어야합니다.
Shadur
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.