모든 사람에게 읽기 / 쓰기 액세스 권한이있는 / media 아래의 모든 외부 드라이브 자동 마운트


9

내 문제는 다음과 같습니다.

내 컴퓨터에는 4 개의 USB 포트가 있으며 Ubuntu 12.10을 실행 중입니다. 매일 다른 USB를 수신하여 컴퓨터에 연결하고 데이터를 읽고 쓰는 다음 멀리 보냅니다.

내가 원하는 것은 컴퓨터에 꽂은 USB를 자동으로 마운트하는 것입니다. 첫 번째로 감지 된 USB는로 가고 /media/HDD1, 두 번째는로갑니다 /media/HDD2. 또는 포트 1에 연결된 USB가로 가고 포트 2에 연결된 /media/HDD1USB가로가는 경우 /media/HDD2에 좋습니다.

경로 /media는 중요하지 않지만 HDD1-4 디렉토리를 한곳에서 사용하여 쉽게 액세스 할 수 있습니다.

USB는 일반적으로 ext2이지만 때로는 FAT32, NTFS USB도 얻습니다.

또한 /media/HDD..다른 Windows 컴퓨터에서 자주 액세스하므로 Ubuntu에 로그인하지 않고 USB를 마운트하고 싶습니다 .

어떻게해야합니까? udev규칙을 어떻게 변경 fstab해야합니까? 어떤 제안이라도 높이 평가합니다.

답변:


7

여기 fstab에서 광학 미디어 (일명 CD 및 DVD)에 사용하는 것과 동일한 트릭을 사용할 수 있습니다 .

/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

첫 번째 열은 그래서 모든 후에는 것을 추정을 할 수 있습니다, 나는 확실히 당신의 USB의 고정 것이다 값을 해요, 파일 시스템을 나타낸다 sda는 USB이며, 만 4 USB의 동시에 가질 수 있기 때문에, 목록에서 간다 sdb, sdc, sddsde.

$ ls /dev/sd*
/dev/sda   /dev/sdb   /dev/sdb3  /dev/sdb6  /dev/sdc  /dev/sdf
/dev/sda1  /dev/sdb1  /dev/sdb4  /dev/sdb7  /dev/sdd
/dev/sda2  /dev/sdb2  /dev/sdb5  /dev/sdb8  /dev/sde

(필자의 경우 메모리 리더를 사용하므로 USB 드라이버가 시작 sdg되지만 계속할 수 있습니다.)

이제 우리는 각 USB에 하나의 파티션 만 있다고 가정 하므로 다음과 같이 필요한 라인 fstab은 다음과 같습니다.

/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1

그런 다음 마운트 지점을 수정해야하므로 디렉토리를 만든 후 추가 할 수 있습니다.

/dev/sdb1 /media/HDD1
/dev/sdc1 /media/HDD2
/dev/sdd1 /media/HDD3
/dev/sde1 /media/HDD4

거의 모든 유형의 파일 시스템을 가질 수 auto있으므로 fstab을 사용하여 사용할 파일 유형을 추측하십시오.

/dev/sdb1 /media/HDD1 auto
/dev/sdc1 /media/HDD2 auto
/dev/sdd1 /media/HDD3 auto
/dev/sde1 /media/HDD4 auto

자, 이제 옵션으로 요약하자. 읽기 / 쓰기 권한이 추가 된 CD의 경우와 동일하다.

/dev/sdb1 /media/HDD1 auto rw,users,noauto,allow_other,umask=0
/dev/sdc1 /media/HDD2 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD3 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD4 auto rw,users,noauto,allow_other,umask=0

rw읽기 및 쓰기 권한을 원하고, users모든 사용자가 장치를 마운트 할 수 있도록하고 , 부팅시와 같이 호출 noauto될 때 드라이버가 자동으로 마운트 mount -a되지 않도록합니다. 부팅 오류 및 경고를 방지하고 allow_other, 드라이버를 마운트 한 사용자 이외의 다른 사용자를 허용합니다. 동일한 권한을 가지며 umask=0기본값 umask가 적용되지 않도록합니다.

이제 2 개의 왼쪽 필드는 dump주문과 fsck주문에 관한 것입니다. 0둘 다 있을 수 있으며 최종 결과는 다음과 같습니다.

/dev/sdb1 /media/HDD1 auto rw,user,noauto,allow_other 0 0
/dev/sdc1 /media/HDD2 auto rw,user,noauto,allow_other 0 0
/dev/sdd1 /media/HDD3 auto rw,user,noauto,allow_other 0 0
/dev/sde1 /media/HDD4 auto rw,user,noauto,allow_other 0 0

이를 통해 USB 장치를 연결할 때마다 사용자의 개입없이 자동으로 마운트 지점에 마운트됩니다. 필요에 따라 수정해야합니다.


Braiam에게 감사합니다. fstab을 변경하면 재부팅하거나 "mount"명령을 사용하지 않고 USB를 자동으로 마운트 할 수 있는지 잘 모르겠습니다. autofs를 사용하는 간단한 해결책을 찾았습니다. 자동 마운트뿐만 아니라 사전 정의 된 동작이없는 후 자동 마운트 해제를 지원합니다. 이는 매우 유용합니다.
Kiwi

아닙니다. 내가 처음에 말했듯이, 나는의 사용을 필요로하지 않는 CD / DVD에 대해 동일한 트릭 fstab에 사용하는 사용 된 rootmount도 다시 시작.
Braiam

3

내가 찾은 해결책은 다음과 같습니다.

먼저 리눅스 PC에 autofs를 설치합니다 :

sudo apt-get install autofs

아래에 auto.master 파일이 생성됩니다 /etc/auto.master

해당 파일의 끝에 다음 줄을 추가하십시오.

/media/mount /etc/auto.mount --timeout=10 --ghost

/media/mount모든 외부 드라이브를 마운트하려는 디렉토리입니다. /etc/auto.mount마운트 규칙에 넣을 파일입니다. --timeout=1010 초 동안 활동이 없으면 드라이브가 자동으로 마운트 해제됩니다. --ghost콘텐츠를 마운트 해제 할 때 여전히 콘텐츠의 그림을 남깁니다. 필요에 따라이 줄을 변경하십시오.

/etc/auto.mount파일을 편집하고 다음 행을 추가하십시오.

disk1  -fstype=auto,sync  :/dev/sdc1
disk2  -fstype=auto,sync  :/dev/sdd1
disk3  -fstype=auto,sync  :/dev/sde1
disk4  -fstype=auto,sync  :/dev/sdf1
disk5  -fstype=auto,sync  :/dev/sdg1
disk6  -fstype=auto,sync  :/dev/sdh1
disk7  -fstype=auto,sync  :/dev/sdi1
disk8  -fstype=auto,sync  :/dev/sdj1
DVD    -fstype=iso9660,ro :/dev/sr0

USB 또는 eSATA 세트와 같은 일반 드라이브의 경우 -fstype=auto,sync. 8 개의 USB + eSATA 포트가 있으므로 여기에 8 개의 마운트 지점을 선언합니다. 내 PC가 이미 가지고 sdasdb로컬 디스크로 내가 넣어 있도록 sdc1-> sdj1외부 장치에 대한. /dev드라이브를 꽂을 때 실제로는 장치 노드입니다 . 마운트 규칙의 예외는 위에서 본 DVD 마운트입니다.

드라이브를 삽입하면 /media/mount디렉토리 아래에 disk1, disk2, ...로 표시되며 10 초 후에 자동 마운트 해제됩니다. PC를 만질 필요가 없으며 다른 곳 (예 : 가상 컴퓨터)에서 액세스 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.