mount 명령 사용 시 문제

mount 명령 사용 시 문제

명령을 사용하여 장치를 마운트할 때 다음과 같은 질문이 궁금합니다.

  1. 디바이스 파일은 마운트의 매개변수인데, 해당 디바이스의 디바이스 파일이 무엇인지 어떻게 알 수 있나요?
  2. 기기가 설치된 디렉토리가 아직 존재하지 않는다면 미리 생성해야 하나요? 이것이 필수라고 하는데 "mycd"라는 이름의 CD가 이전에는 존재하지 않았던 /media/mycd에 자동으로 마운트되었습니다.
  3. 장치를 제거하지 않고 여러 위치에 설치할 수 있습니까?

감사드립니다!

답변1

(운영 체제를 지정하지 않았습니다. GNU/Linux의 일부 변형이라고 가정합니다. 일반적인 개념은 다른 UNIX에도 적용되며 세부 사항은 적용되지 않을 수 있습니다.)

1. 일반적으로 장치의 장치 파일이 무엇인지 어떻게 알 수 있습니까?

기본적으로 어떤 장치 파일 이름이 어떤 장치에 해당하는지 알아야 합니다.

본 정보의 출처는 리눅스 커널 문서, udev구성 파일(보기 /etc/udev) 및 MAKEDEV스크립트.

여기서 올바른 설명은 상당히 깁니다. Linux 커널은 "주" 및 "부" 장치 번호라는 숫자 쌍으로 장치를 식별합니다. CD-ROM 장치의 주 번호와 부 번호가 있는 모든 장치 파일은 커널에 의해 해당 CD-ROM 장치로 처리되므로 mknodCD-ROM 장치를 만들고(명령 참조) /my/cdrom유사하게 사용할 수 있습니다. 모든 장치에 대해 원하는 명명 규칙을 사용할 수 있습니다. 그러나 너무 많은 시스템 소프트웨어가 이름으로 장치를 찾는 데 의존하므로 "표준" 장치 이름을 변경하는 것은 너무 많은 작업입니다.

시스템에서 사용되는 실제 장치 이름은 부분적으로는 기록의 결과(예: 디스크 드라이브 /dev/sdX/dev/hdX이름 - 누군가 처음에 이러한 이름을 사용하기 시작했고 이름은 그대로 유지됨)이고 부분적으로는 특정 장치를 개발한 사람들 간의 합의의 결과입니다. 그 결과는 시스템의 하위 수준 부분(주로 커널, libC 및 udev)입니다.

2. 장치 마운팅 디렉터리를 미리 생성해야 합니까?

예,디렉터리가 생성되지 않습니다.

CD, USB 스틱 및 기타 장치의 마운트 지점이 자동으로 나타나는 이유 /media는 일부 데몬 프로세스가 마운트 지점을 생성했기 때문입니다. (GNOME 데스크탑을 실행하는 GNU/Linux에서 일반적인 프로세스는 다음과 같습니다: CD 삽입, 설치 디렉터리 생성, CD 마운트, 파일 관리자 창 열기 등이 가능합니다. Linux 버전 및 Linux 버전에 따라 거의 모든 것이 변경될 수 있습니다. 분포 .)

하지만 명령줄에서는 마운트 지점을 직접 만들어야 합니다.

3. 장치를 제거하지 않고도 여러 위치에 장착할 수 있나요?

"CD의 내용을 파일 시스템의 다양한 위치에 표시하는 방법"을 의미한다면 "번들 마운트"라는 기능을 사용하여 그렇게 할 수 있습니다.

바인드 마운트는 파일 시스템의 모든 디렉토리를 파일 시스템의 다른 분리된 부분으로 "복사"할 수 있습니다. 예를 들어 다음 명령을 실행할 수 있습니다.

mount --bind /var/tmp /mnt

그러면 내용이 /var/tmp디렉터리에 복사됩니다 /mnt. 파일을 생성 /var/tmp/foo하면 /mnt/foo.

추가 읽기

mount해당 작업에 대한 자세한 내용은 다음에서 확인할 수 있습니다 .

답변2

장치 파일은 액세스하려는 장치 또는 기타 위치를 마운트에 알리는 방법입니다. 그래서 추측할 수 없습니다.

가지다마운트할 수 있는 파일 시스템에는 여러 가지 유형이 있습니다.. 디스크 백업 파일 시스템(일반적으로 가장 먼저 떠오르는 시스템)의 경우 장치는 다음과 같습니다.블록 장치. 해당 이름은 일반적으로 /dev/somethingsomething섹션에서 사용할 디스크 드라이버, 해당 드라이버가 여러 디스크를 관리하는 경우, 사용할 특정 디스크, 액세스할 디스크 부분(해당되는 경우)을 인코딩하는 위치입니다. 다양한 UNIX 변형에는 장치를 지정하는 방법이 다릅니다. 공식 참조는 UNIX 변형에 대한 장치 드라이버 매뉴얼 페이지(일반적으로 섹션 4)입니다.AIX,FreeBSD,리눅스,Mac OS X(섹션 4),미니엑스,네트워크BSD,오픈BSD,솔라리스 11,유닉스 6판.,유닉스 버전 8.,…

Linux에서 장치 이름을 찾는 다른 방법과 장치 지정에 대한 대안은 다음과 같습니다. 그 중 일부는 다른 UNIX 변형과 유사한 것을 가지고 있습니다.

  • 에는 /proc/partitions디스크, 디스크 파티션, 논리 볼륨 및 기타 블록 장치 목록이 있습니다. 이들 모두가 파일 시스템을 갖고 있는 것은 아닙니다.
  • 모두논리 볼륨에 항목이 있습니다 /dev/mapper.
  • mount명령은 장치 이름 대신 LABEL=foo또는 UUID=1234…대신에 지정된 파일 시스템 레이블과 UUID를 허용합니다 /dev/something.
  • 장치가 시스템에 연결되면,우데브장치 이름을 지정하십시오.
  • udev를 통한 대부분의 Linux 배포판은 디스크와 유사한 장치에 대한 다양한 대체 이름을 /dev/disk. 예를 들어, 제가 이 글을 쓰고 있는 컴퓨터에서 메인 파일 시스템을 호스팅하는 장치(LVM 논리 볼륨)는 /dev/dm-7, /dev/disk/by-id/dm-name-VolumeGroupName-LogicalVolumeName, 및 를 통해 /dev/disk/by-id/dm-uuid-LVM-LongStringOfDigitsAndLetters다르게 액세스 할 수 있습니다./dev/disk/by-label/\x2fhome/dev/disk/by-uuid/SomeUUID

디스크 파일에서 생성되지 않은 파일 시스템도 있습니다. 예를 들어 원격 파일 시스템의 경우네트워크 파일 시스템또는삼바, 장치 이름은 시스템 이름과 해당 시스템의 경로 또는 공유 이름을 지정합니다(예: machinename:/shared/directory).

많은 데스크탑 시스템은 새 장치가 연결되면 이를 알리고 인식된 파일 시스템을 자동으로 마운트합니다.

1그러나 다음 같이 할 수 있습니다.mount/etc/fstab.


mount명령을 실행하려면 디렉터리(마운트 지점)가 있어야 합니다. 자동 설치 시스템은 일반적으로 실제 설치 전에 필요에 따라 디렉터리를 생성합니다(제거 후 디렉터리 삭제).


모든 unice가 동일한 파일 시스템을 여러 위치에 로컬로 마운트할 수 있는 것은 아닙니다. Linux에서는 다음을 통해 이 작업을 수행할 수 있습니다.바인드 마운트. 대부분의 unice에서 사용할 수 있습니다파일 시스템 바인딩 퓨즈파일 시스템.

관련 정보