mount와 mount -o loop의 차이점은 무엇입니까?

mount와 mount -o loop의 차이점은 무엇입니까?

이라는 iso 파일이 있습니다 ubuntu.iso.

mount다음 명령을 사용할 수 있습니다 mount ubuntu.iso /mnt. 설치 후 다음 명령의 출력에서 ​​이를 볼 수 있습니다 df -h./dev/loop0 825M 825M 0 100% /mnt

그러나 명령을 실행하면 mount -o loop ubuntu.iso /mnt동일한 결과가 나타납니다.

내가 아는 한, 루핑 장치를 사용하면 iso 파일을 장치로 액세스할 수 있으므로 옵션을 추가한 것 같습니다 -o loop. 하지만 .iso 파일만 실행하더라도 iso 파일에 액세스할 수 있습니다 mount ubuntu.iso /mnt.

mount그래서 나는 mount -o loop.

답변1

두 버전 모두 루프 장치를 사용하고 동일한 결과를 생성합니다. 짧은 버전은 mount최근 몇 년간 추가된 "영리함"에 의존합니다. 루프 장치를 사용하도록 명시적으로 mount -o loop지시 mount하면 루프 장치 자체에 맡겨져 mount사용 가능한 장치를 찾고 설정하고 사용하게 됩니다. (장치를 지정할 수도 있습니다.예를 들어 mount -o loop=/dev/loop1.)

영리한 점은 마운트할 파일이 주어지면 mount필요한 경우 이를 마운트하기 위해 루프 장치가 자동으로 사용된다는 것입니다., 파일 시스템이 지정되지 않았거나 libblkid파일 시스템이 블록 장치에서만 지원되도록 결정되었습니다(따라서 파일을 블록 장치로 변환하려면 루프 장치가 필요함).

mount매뉴얼 페이지의 루프 장치 섹션자세한 내용이 있습니다.

답변2

장치 loop는 주로 명령을 통해 제어됩니다 losteup. 따라서 losetup -a사용된 루핑 장치와 첨부 파일을 개략적으로 설명할 수 있습니다. 이 mount명령은 마운트할 수 있습니다블록 장치만. 루프 장치는 파일(문자 장치)로부터 가상 블록 장치를 생성할 수 있습니다.

실제로 이러한 명령에는 큰 차이가 있습니다. 이전 Linux 시스템에서는 mount인식되지 않기 때문입니다.문서마운트할 올바른 장치이지만 마운트 명령을 완료하는 동안 많은 기능이 있으므로 이제 losstup 명령을 호출하고 결과를 마운트하는 것은 재량에 따릅니다. 그러나 얻은 전체 디스크 이미지가 iso 형식이 아니지만 예를 들어 처음에 MBR이 있는 경우 mount 명령은 이를 인식하지 못하므로 사용 가능한 파티션을 직접 찾아서(예를 들어 이 parted disk_image.raw unit B print명령을 사용하여) 마운트해야 합니다. 전체 옵션 마운트 명령을 다음과 같이 사용합니다.

mount disk_image.raw /mntpoint/ -o loop,offset=${OFFSET_of_PARTITION}

이 구문에서 루프 장치는 지정되지 않으며 시스템은 첫 번째 여유 장치( /dev/loop0etc )를 선택하는 것으로 가정됩니다 /dev/loop1. mount 명령의 다른 새로운 기능은 마운트된 블록 장치의 파일 시스템 유형을 지정할 필요가 없다는 것입니다( 귀하의 경우 -t iso9660) 파일이 마운트되었는지 여부 시스템 지원.

답변3

mount ubuntu.iso /mnt사이에는 차이가 없습니다 mount -o loop ubuntu.iso /mnt.

첫 번째 것은 두 번째 것을 사용한 것처럼 투명하게 처리됩니다.

관련 정보