Linux 배포판의 Live ISO 기본 시스템이 일반적으로 squashfs 스토리지를 사용하는 이유는 무엇입니까?

Linux 배포판의 Live ISO 기본 시스템이 일반적으로 squashfs 스토리지를 사용하는 이유는 무엇입니까?

Live ISO가 설치 프로그램이 있는 최소한의 Linux 시스템이 될 수 없는 이유는 무엇입니까? 파일 시스템의 루트를 저장하기 위해 squashfs를 사용해야 하는 이유가 있나요? 더 나은 압축을 위한 것입니까, 아니면 다른 이유가 있습니까?

나는 이것이 읽기 전용이라는 이유로 몇 가지 답변(및 의견)을 보았습니다. Ubuntu나 EndeavourOS의 Live USB와 같은 지속성은 어떻습니까?

답변1

여기에는 몇 가지 중요한 이유가 있지만 가장 큰 두 가지 이유는 공간 제한과 파일 시스템 자체의 요구 사항입니다.

SquashFS는높은최적화된 파일 시스템 이미지 형식은 다음과 같은 이점을 제공합니다.

  • 높은 수준의 데이터 압축.
  • 블록 수준 중복 제거 기능 내장(모든 특정 블록은 한 번만 저장되며 해당 블록의 복사본을 포함하는 모든 파일은 해당 복사본만 참조합니다).
  • 파일 크기에는 실제 제한이 없습니다(보통은 중요하지 않지만 제 생각에는 언급할 가치가 있습니다).
  • 파일 소유권, 파일 권한, 확장 속성(예: SELinux에서 필요)에 대한 적절한 지원
  • 위의 장점에도 불구하고 런타임 오버헤드는 매우 낮습니다.
  • 꽤 좋은 성능.

기록 가능한 라이브 시스템 이미지는 사용되는 미디어 유형에 필요한 파일 시스템 형식이어야 하며, 디스크의 경우 ISO 9660입니다(왜냐하면할 수 있다실제로 거의 아무도 사용하지 않는 UDF를 사용하거나 대부분의 USB 연결 저장 장치에서 FAT32를 사용하십시오. FAT32는 지원하는 것으로 알려져 있습니다.전혀위에 나열된 처음 네 가지 이점. ISO 9660기술적으로POSIX 스타일 파일 소유권 및 권한(Rock Ridge 확장)을 지원하지만 압축 및 중복 제거에 대한 실제 지원은 부족합니다.

그러나 리눅스는필요POSIX 스타일 파일 소유권 및 권한은 잘 작동합니다. 대부분의 경우 최종 라이브 시스템 이미지는 가능한 한 작기를 원하므로 적절한 압축이 필요하며 SquashFS는 Linux에 사용 가능한 다른 옵션보다 이 작업을 더 잘 수행하므로 이제, 이는 라이브 이미지의 루트 파일 시스템에 사용됩니다(보통 이미지의 가장 큰 부분이고 부트로더가 이해할 필요가 없는 유일한 부분이기 때문입니다).

답변2

ISO는 일반적으로 ISO 9660 표준 파일 시스템과 그 후속 버전을 나타내며 특히 CDROM 및 이후 DVD 등과 함께 사용하도록 설계되었으므로 ISO는 일반적으로 squashfs로 저장되지 않습니다.

이는 모든 형식이 가능하며 일반적으로 파일 이름으로 .iso 대신 .img를 사용하는 범용 파일 시스템 이미지와 혼동하지 마십시오.

ISO 파일 시스템은 일반적으로 이미지를 CDROM에 굽거나 굽지 않을 때 또는 CDROM, USB 스틱 또는 유사한 미디어에서 부팅할 때 BIOS 호환성을 위해 사용됩니다.

squashfs는 Linux에서 읽기 전용 이미지로 자주 사용되며 데이터 압축 및 오버헤드가 낮은 최소 크기의 데이터 구조를 포함하여 이러한 목적에 고도로 최적화되어 있습니다. 이는 라이브 디스크 이미지에서 작동하지만 Linux이거나 Linux를 직접 지원하지 않는 한 컴퓨터 펌웨어가 아닌 Linux만이 이 형식을 인식할 수 있기 때문에 부팅되지 않습니다. 그러나 squashfs 이미지는 ISO 라이브 디스크에 대용량 파일로 나타나는 경우가 많습니다. 압축 외에도 ISO 형식에 비해 squashfs의 장점은 파일 속성을 포함하여 전체 Linux 파일 시스템 표준(읽기 전용 파일 시스템용)을 지원한다는 것입니다.

다른 형식(예: vfat 또는 ext4)도 파일 시스템 이미지에 사용할 수 있지만 이러한 형식은 디스크 볼륨 읽기/쓰기에 최적화되어 있습니다.

관련 정보