Raspberry PI에 USB 장치 자동 마운트

이 기사는 우리의 foro

Raspberry에서 그래픽 인터페이스를 사용하지 않으면 USB 메모리를 반복해서 마운트하는 것이 성가 시게됩니다. 또한이 작업을 자동화하는 과정 (아래에 표시)에서 Linux가 장치를 처리하는 방법에 대해 조금 배울 수 있습니다.

autofs 및 udev 설치

가장 먼저 할 일은 자동 y 유데브

sudo apt-get autofs udev 설치

udev는 모든 장치가있는 / dev 디렉토리를 관리하는 리눅스 커널 도구입니다. autofs를 사용하면 일단 구성되면 USB가 연결되거나 연결 해제되는 즉시 자동으로 모든 마운트 및 마운트 해제가 가능합니다.

가장 먼저 할 일은 컴퓨터 / Raspberry Pi에 USB 메모리 (Kingston 브랜드 사용)를 연결하는 것입니다. 그런 다음 실행합니다.

FDISK - 난는 sudo

다음과 유사한 출력이 표시됩니다.

디스크 / dev / mmcblk0 : 15.7 GB ... 장치 부팅 시작 끝 블록 ID 시스템 / dev / mmcblk0p1 2048 1607421 802687 e W95 FAT16 (LBA) / dev / mmcblk0p2 1613824 30613503 14499840 85 Linux 확장 / dev / mmcblk0p3 30613504 30679039 32768 Linux… .. 디스크 / dev / sda : 83GB ... 장치 부팅 시작 종료 블록 ID 시스템 / dev / sda30.9 1 2048 60436479 c W30217216 FAT95 (LBA)

내 외부 USB 메모리는 30.9GB (즉 / dev / sda1)이고 Linux가 설치된 SD 메모리는 15.7GB입니다.

udev의 사용자 지정 규칙

sda1이 우리의 장치라는 것을 알면 udev를 사용하여 메모리에서 정보를 추출하므로 다음 명령을 실행합니다.

udevadm 정보 -a -p $ (udevadm 정보 -q 경로 -n / dev / sda1)

"상위 장치보기 '/ 장치 / ... .."라는 구문으로 구분 된 블록이 있습니다.

검색을 좀 더 쉽게하기 위해 grep을 사용할 수 있으므로 다음을 수행합니다.

udevadm 정보 -a -p $ (udevadm 정보 -q 경로 -n / dev / sda1) | grep 제조업체

제 경우에는 기억이 Kingston이므로 출력은 다음과 같습니다.

    ATTRS {manufacturer} == "Kingston"# 1 ATTRS {manufacturer} == "Linux 3.12.28+ dwc_otg_hcd"

또는 다음을 검색 할 수도 있습니다.

udevadm 정보 -a -p $ (udevadm 정보 -q 경로 -n / dev / sda1) | grep 모델 udevadm 정보 -a -p $ (udevadm 정보 -q 경로 -n / dev / sdd1) | grep 공급 업체

내가 관심:

ATTRS {제조업체} == "Kingston"

우연의 일치였습니다. 명령 출력에서 유데바드엠 "ATTRS {manufacturer}"가 처음 나타나는 블록을 찾습니다.

제 경우에는 블록 장치에서 고유하다고 생각하는 일부 데이터를 가져옵니다.

   ATTRS {제품} == "xxx"ATTRS {serial} == "xxxx"드라이버 == "usb"

규칙을 작성하기 만하면됩니다. udev에서 .rules로 완성 된 파일을 만듭니다.

sudo 나노 /etc/udev/rules.d/personal.rules

우리가 넣은 파일 안에

ATTRS {제품} == "xxx", ATTRS {serial} == "xxx", DRIVERS == "usb", SYMLINK + = "miusb"

이제 USB를 연결하면 파일 / dev / miusb가 있습니다. 이것은 가장 어려운 부분이었습니다.

autofs 설정

우리는 다음을 실행합니다.

sudo nano / etc / default / autofs

"TIMEOUT =" "시간 초과 = 1"

/etc/auto.master로 이동합니다.

나노 /etc/auto.master

그리고 파일 안에 마지막 줄에 넣습니다.

/ 미디어 /etc/auto.misc

이제 /etc/auto.misc로 이동합니다.

나노 /etc/auto.master

마지막 줄에 다음과 같이 씁니다.

mymemory -fstype = vfat, 사용자, rw, umask = 000 : / dev / miusb

마지막으로 처음에 autofs 모듈을로드합니다.

sudo nano / etc / 모듈

마지막 줄에 다음과 같이 씁니다.

autofs4

그리고 짜잔, 우리는 Raspberry를 다시 시작합니다. 폴더는 / media에 존재하지 않지만 우리가

cd / 미디어 / 메모리

우리는 이미 안에 있습니다. 그리고 사용을 중지하면 폴더가 사라지고 수동으로 제거하지 않고도 장치를 제거 할 수 있습니다.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.  

    게시 해 주셔서 감사합니다 🙂

  2.   파블로

    나는 auto.misc를 편집하는 단계에서 오류가 있다고 생각합니다. 예상하지 않은 누군가가 그것을하고 깨닫지 못하는 경우 auto.master가 코드에 작성됩니다.

  3.   페르난도 디아즈

    고마워요, 그냥 Raspbian에서하려고했는데 이전에 Arch를 사용했는데 더 쉬웠습니다.

  4.   Azureus

    내가 삼바가 공유하는 디렉토리를 가진 토렌트 클라이언트로 파이를 넣을 때 차지하게 된 것은 아주 좋다.
    fstab 매뉴얼에 따르면 좀 더 강력한 것은 # blkid로 장치의 레이블을 확인하는 것입니다. 제 경우에는 시작할 때마다 다음과 같이 자동 마운트 된 Windows 파티션이 있습니다.

    / 개발자 / sda2
    UUID = 24A0729FA07276E0 / home / azureus / Windows ntfs auto, 기본값 0 2

    라즈베리에는 LVM이 마운트되어 있는데 구성이 잘 기억 나지 않습니다.
    설명서에 따르면 # fdisk -l을 사용하여 드라이브 번호와 문자를 얻고 # blkid를 사용하여 어떤 레이블이 어떤 드라이브에 해당하는지 알 수 있습니다.

    인사말.

    1.    Azureus

      [최신 정보]
      이 레이블은 컴퓨터를 끌 때마다 볼륨 연결을 끊는 게 게으르다 고 느끼는 사람들 (나와 같은)이 있다는 사실에서 발생합니다. 문제는 여러 번 재부팅 한 후 항상 동일한 순서로 마운트되지 않기 때문에 여러 볼륨이있을 때 발생합니다. . 그런데 이것은 자동 마운트를 위해 할당 된 레이블에 해당하는 장치를 제거하면 오류가 발생하고 파티션이 홈에 마운트 된 경우 / home이로드되는 것을 허용하지 않는다는 단점이 있습니다. 이는 fstab에서 충돌을 일으키는 장치를 주석 처리하거나 장치를 다시 연결하여 해결할 수 있습니다.