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에 몇 가지 설정이 있습니까?
답변
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
플러그를 뽑기 전에 잊지 마십시오 .
답변
UDEV 규칙을 작성하면 동일한 bash 명령이 포함 된 bash 스크립트를 “실행”할 수 있습니다. 해당 장치를 연결할 때마다 UDEV가이를 인식하고 규칙에 따라 동작을 시작합니다.
규칙 작성의 경우이 링크를 따라갈 수 있습니다 .
답변
요즘에는 몇 가지 자동 마운팅 데몬과 pmount
사용자 /media
가 sudo
액세스 할 필요없이 이동식 장치를 마운트 할 수 있도록 하는 명령 이 있습니다.
Gnome과 KDE에는 모두 이동식 볼륨이 연결될 때 자동으로 마운트 할 수있는 옵션이 있습니다. 설치 한 배포판에 따라이 기능은 기본적으로 ‘on’으로 설정 될 수 있습니다.
그놈에서이 기능을 관리하는 옵션은 System -> Preferences -> Removable Media
; KDE에 대한 최근 경험이 없습니다.