장착 할 때 루프 장치를 언제 사용해야합니까?


18

다음 질문에 따르면 :
장착 할 때 "루프 장치"란 무엇입니까?
루프 장치는 블록 기반 장치로 작동하는 파일입니다. 개념적으로 이해할 수 있지만 다른 파일을 마운트하는 것과 어떻게 다른가요? 예를 들어, ext2 파일 시스템의 dd 이미지를 가져온 다음 마운트하면 루프 옵션을 사용할 필요가 없습니다 mount -t ext2 file.dd /mnt/mount-point.

루프 옵션을 언제 사용해야합니까? 루프 옵션을 사용하여 마운트하는 것과 루프 옵션을 사용하지 않는 마운트의 차이점은 무엇입니까?

답변:


8

일반 파일을 마운트하기 위해 루프 옵션을 사용할 필요가없는 경우,이를 mount감지하여 자동으로 활성화 하기 때문 입니다. 예전에는 수동으로 지정해야했습니다.


난 여전히한다. 나는 mount가 그것을 암묵적으로 할 수 있다는 것을 결코 알지 못했다.
Bananguin

@ user1129682 다른 버전의 커널이나 다른 배포판 에이 기능이 있는지 궁금합니다.
Suchipi

22

기술적으로 루프 장치는 하드웨어가 아닌 파일에 쓰는 블록 장치입니다. 따라서 파일을 마운트 할 때 항상 루프백 장치를 사용해야합니다.

직접 답변을 많이합니다. 아마도 이것은 설명으로 작용할 것입니다 :

커널은 여러 계층의 추상화를 구현하여 서로 다른 하드웨어를 같은 방식으로 처리 할 수 ​​있습니다. 모든 브랜드의 컨트롤러에 대해 ext2 드라이버를 다시 빌드해야한다고 상상해보십시오. 아무도 그것을 원하지 않지만 우리는 모든 하드 디스크를 같은 방식으로 다루기를 원합니다. 이것이 우리가 추상화 계층을 만드는 이유입니다.

블록 장치는 그러한 추상화입니다. 블록 장치에는 특정 속성이 있으며 다른 소프트웨어에서 사용할 수있는 특정 기능을 노출합니다. ATA HDD 또는 SCSI HDD 또는 테이프 드라이브가 있는지 여부는 중요하지 않으며 항상 동일한 구조와 기능을 사용하여 상호 작용합니다. 그런 다음 블록 장치에 액세스 할 때 올바른 작업을 수행하는 것이 커널의 작업이며 해당 추상화 계층을보다 명시 적으로 설명합니다. 블록 장치 인터페이스의 경우 올바른 것은 올바른 장치 드라이버와 통화 및 데이터를주고받는 것입니다. 해당 장치 드라이버는 예를 들어 SCSI 하위 시스템 또는 루프 장치의 드라이버 일 수 있습니다.

루프 장치 드라이버는 관련 블록 장치의 작업을 파일 (시스템) 작업으로 변환합니다. 이것이 데이터 / 파티션이 파일에서 끝나는 방식입니다.

나는 아마도 사용 된 용어와 관련된 추상화 계층의 이름과 수에있어서 매우 잘못되었을 것이다. 루프 개념이 파일을 수행하는 파일이 아니라 파일을 사용하는 파일이라는 것이 분명해 지도록 기본 개념을 스케치하고 싶었습니다. 파일은 이전과 다른 작업을 수행하지 않습니다.

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