| 개발사 | Phillip Lougher, Robert Lougher |
|---|---|
| 도입 | 2002 - Linux |
| 제약사항 | |
| 최대 볼륨 크기 | 16 EiB (264) bytes |
| 최대 파일 크기 | 16 EiB (264) bytes |
| 기능 | |
| 특성 | POSIX 및 확장 파일 속성 |
| 투명한 압축 | Gzip LZMA LZO LZMA2 LZ4 Zstd |
| 기타 | |
| 지원 운영 체제 | 리눅스 |
| 웹사이트 | github |
Squashfs는 리눅스용 압축된 읽기 전용 파일 시스템이다. Squashfs는 파일, 아이노드 및 디렉터리를 압축하며, 더 나은 압축을 위해 4 KiB에서 최대 1 MiB까지의 블록 크기를 지원한다. 여러 압축 알고리즘이 지원된다. Squashfs는 Squashfs 파일 시스템에 접근하기 위한 GPL에 따라 라이선스된 자유 소프트웨어의 이름이기도 하다.
Squashfs는 일반적인 읽기 전용 파일 시스템 사용과 낮은 오버헤드가 필요한 제한된 블록 장치 기억 장치 시스템(예: 임베디드 시스템)에 사용하도록 고안되었다.
Squashfs는 아치 리눅스, 클론질라, 데비안, 페도라, 젠투 리눅스, KDE 네온, 칼리 리눅스, 리눅스 민트, NixOS, Salix, 우분투, 오픈수세의 라이브 CD 버전과 OpenWrt 및 DD-WRT 라우터 펌웨어와 같은 임베디드 배포판에서 사용된다. 또한 크롬캐스트, 타이니 코어 리눅스에서 확장 기능 패키징을 위해, 일부 안드로이드 릴리스(안드로이드 누가)의 시스템 파티션에도 사용된다. 일반적으로 유니언FS, Overlayfs 또는 aufs와 같은 유니언 마운트 파일 시스템과 결합하여 라이브 리눅스 배포판을 위한 읽기-쓰기 환경을 제공한다. 이는 Squashfs의 고속 압축 기능과 라이브 CD에서 실행하는 동안 배포판을 변경할 수 있는 기능을 모두 활용한다. 데비안 라이브, Mandriva One, 퍼피 리눅스, Salix 라이브 및 SLAX와 같은 배포판은 이 조합을 사용한다. 휴대용 리눅스 애플리케이션 생성을 목표로 하는 앱이미지 프로젝트는 AppImage 생성을 위해 Squashfs를 사용한다. 스냅 패키지 시스템도 Squashfs를 파일 컨테이너 형식으로 사용한다.
Squashfs는 리눅스 터미널 서버 프로젝트 및 Splashtop에서도 사용된다. unsquashfs 및 mksquashfs 도구는 윈도우 NT – 윈도우 8.1로 포팅되었다. 7-Zip도 Squashfs를 지원한다.
Squashfs는 초기에 비정규 리눅스 패치로 유지보수되었다. 초기 버전 1.0은 2002년 10월 23일에 출시되었다. 2009년 Squashfs는 리눅스 2.6.29의 일부로 리눅스 메인라인에 통합되었다. 이 과정에서 이전 형식에 대한 하위 호환성 코드가 제거되었다. 그 이후로 Squashfs 커널 공간 코드는 리눅스 메인라인 트리에 유지보수되었으며, 사용자 공간 도구는 프로젝트의 깃허브 페이지에 남아있다.
Squashfs의 원래 버전은 Gzip 압축을 사용했지만, 리눅스 커널 2.6.34는 LZMA 및 LZO 압축을 지원했고, 리눅스 커널 2.6.38은 xz에서 사용되는 LZMA2 압축을 지원했고, 리눅스 커널 3.19는 LZ4 압축을 지원했으며, 리눅스 커널 4.14는 Zstandard 압축을 지원했다.
리눅스 커널 2.6.35는 확장 파일 속성을 지원했다.