Linux를 사용하여 장치(태블릿, 카메라, 플래시 드라이브, 외장 하드 드라이브)를 노트북에 연결할 때 다음과 같은 명령을 순서대로 입력하는 경우가 많습니다.
$ ls /dev/sd*
내 장치가 /dev/sdc
option $ sudo mkdir /media/my_flash
option 이라고 가정합니다.$ sudo chmod 777 /media/my_flash
$ sudo mount /dev/sdc /media/my_flash
그런 다음 일부 파일을 복사하고
$ sudo umount /dev/sdc
이 순서를 따르면 파일이 복사되고 나쁜 일이 발생하지 않습니다.
이 일련의 명령을 자동화하는 방법을 알려주실 수 있나요? 그래서 장치를 연결하면 장치가 어느 디렉터리에 마운트되어야 하는지 인식하고 파일 전송을 한 다음 (어쨌든) 장치를 분리할 수 있다는 신호를 보냅니다. Linux 운영 체제에 일부 설정이 있습니까?
답변1
언급한 것과 동일한 bash 명령이 포함된 bash 스크립트를 "실행"하는 UDEV 규칙을 작성하여 이를 수행할 수 있습니다. 해당 장치를 연결할 때마다 UDEV는 이를 인식하고 규칙에 따라 작동을 시작합니다.
규칙 작성을 위해 다음을 수행할 수 있습니다.이것협회.
답변2
이동식 장치 연결에 반응하는 시스템 구성 요소는 다음과 같습니다.우데브, 말한 바와 같이SHW. ~ 일지라도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
(UUID, -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
.
답변3
이제 여러 가지 자동 설치 데몬과 사용자가 액세스 하지 않고도 이동식 장치를 설치할 pmount
수 있도록 특별히 설계된 명령이 있습니다./media
sudo
Gnome과 KDE에는 설치한 배포판에 따라 연결 시 이동식 볼륨을 자동으로 마운트하는 옵션이 있으며 이 기능은 기본적으로 "켜져" 있을 수도 있습니다.
GNOME에서는 이 기능을 제어하는 옵션을 아래에서 사용할 수 있습니다 System -> Preferences -> Removable Media
. 저는 최근에 KDE를 사용해 본 적이 없습니다.