다음 질문에 따르면:
설치시 "서큘레이터"란 무엇입니까?
루프 장치는 블록 기반 장치 역할을 하는 파일입니다. 개념적으로는 이해할 수 있지만 다른 파일을 설치하는 것과 어떻게 다릅니까? 예를 들어, ext2 파일 시스템의 dd 이미지를 얻은 다음 이를 마운트하는 경우 루프 옵션인 성공을 사용할 필요가 없습니다 mount -t ext2 file.dd /mnt/mount-point
.
루프 옵션은 언제 사용해야 합니까? 루프 옵션을 사용하여 설치하는 것과 루프 옵션 없이 설치하는 것의 차이점은 무엇입니까?
답변1
기술적으로 루프 장치는 하드웨어가 아닌 파일을 쓰는 블록 장치입니다. 따라서 파일을 마운트할 때 항상 루프백 장치를 사용/사용해야 합니다.
직접적인 답변이 너무 많습니다. 어쩌면 이것이 설명이 될 수 있습니다:
커널은 여러 추상화 계층을 구현하여 동일한 방식으로 다양한 하드웨어를 처리할 수 있습니다. 모든 브랜드의 컨트롤러에 대해 ext2 드라이버를 다시 빌드해야 한다고 상상해 보세요. 누구도 이를 원하지 않지만 우리는 모든 하드 드라이브가 동일한 방식으로 취급되기를 원합니다. 이것이 우리가 추상화 레이어를 만드는 이유입니다.
블록 장치는 그러한 추상화입니다. 블록 장치에는 특정 속성이 있으며 다른 소프트웨어에서 사용할 수 있는 특정 기능을 노출합니다. ATA HDD, SCSI HDD, 테이프 드라이브 등 무엇을 사용하든 항상 동일한 구조와 기능을 사용하여 상호 작용합니다. 그런 다음 블록 장치에 액세스할 때 올바른 작업을 수행하는 것이 커널, 보다 명시적으로는 추상화 계층의 작업입니다. 블록 장치 인터페이스의 경우 올바른 접근 방식은 올바른 장치 드라이버 간에 호출과 데이터를 전달하는 것입니다. 예를 들어, 장치 드라이버는 SCSI 하위 시스템용 드라이버 또는 루프 장치일 수 있습니다.
루프 장치 드라이버는 관련 블록 장치의 작업을 파일 시스템 작업으로 변환합니다. 이는 데이터/파티션이 파일에서 끝나는 방식입니다.
사용된 용어와 관련된 추상화 계층의 이름과 개수가 매우 잘못되었을 수 있습니다. 루프 장치가 어떤 작업을 수행하는 파일이 아니라 파일을 사용하는 작업이라는 점을 분명히 하기 위해 기본 개념을 간략하게 설명하고 싶었습니다. 이 파일은 그 목적 외에는 어떤 작업도 수행하지 않습니다.
답변2
일반 파일을 마운트하기 위해 루프 옵션을 사용할 필요가 없다면 mount
시스템이 이를 감지하고 자동으로 활성화하기 때문입니다. 예전에는 수동으로 지정해야 했습니다.