| 開発者 | フィリップ・ローアー、ロバート・ローアー |
|---|---|
| 紹介された | 2002年 Linux |
| 制限 | |
| 最大ボリュームサイズ | 16 EiB(2 64)バイト |
| 最大ファイルサイズ | 16 EiB(2 64)バイト |
| 特徴 | |
| 属性 | POSIXと拡張属性 |
| 透過的な圧縮 | gzip LZMA LZO LZMA2 LZ4 Zstd |
| 他の | |
| サポートされているオペレーティングシステム | リナックス |
| Webサイト | github |
Squashfs は、 Linux用の圧縮された読み取り専用ファイルシステムです。Squashfs はファイル、inode、ディレクトリを圧縮し、4 KiBから 1 MiBまでのブロックサイズをサポートすることで、より高い圧縮率を実現します。複数の圧縮アルゴリズムがサポートされています。Squashfs は、Squashfs ファイルシステムにアクセスするための、 GPLライセンスのフリーソフトウェアの名称でもあります。
Squashfs は、一般的な読み取り専用ファイルシステムでの使用と、低いオーバーヘッドが求められる制約のあるブロックデバイスメモリシステム(組み込みシステムなど)での使用を目的としています。
Squashfs は、 Arch Linux、Clonezilla、Debian、Fedora、Gentoo Linux、KDE neon、Kali Linux、Linux Mint、NixOS、Salix、Ubuntu、openSUSEのライブ CD版や、 OpenWrt [ 1 ]やDD-WRTルーターファームウェアなどの組み込みディストリビューションで使用されています。また、Chromecast [ 2 ]やEasyOS、Tiny Core Linuxのパッケージ拡張、一部のAndroidリリース ( Android Nougat )のシステム パーティションにも使用されています。[ 3 ]多くの場合、UnionFS、OverlayFS、aufsなどのユニオン マウントファイル システムと組み合わせて使用され、ライブ Linux ディストリビューションに読み書き環境を提供します。これにより、Squashfs の高速圧縮機能と、ライブ CD から実行しながらディストリビューションを変更する機能の両方が活用されます。Debian Live、Mandriva One、Puppy Linux、Salix Live、Slaxなどのディストリビューションはこの組み合わせを使用しています。ポータブルLinuxアプリケーションの作成を目指すAppImageプロジェクトは、AppImageの作成にSquashfsを使用しています。Snapパッケージシステムも、ファイルコンテナ形式としてSquashfsを使用しています。
SquashfsはLinuxターミナルサーバープロジェクトやSplashtopでも使用されています。unsquashfsとmksquashfsというツールはWindows NT [ 4 ]からWindows 8.1に移植されています。[ 5 ] 7-ZipもSquashfsをサポートしています。[ 6 ]
Squashfsは当初、Linuxツリー外のパッチとしてメンテナンスされていました。最初のバージョン1.0は2002年10月23日にリリースされました。[ 7 ] 2009年にSquashfsはLinux 2.6.29の一部としてLinuxメインラインに統合されました。[ 8 ] [ 9 ]その過程で、古いフォーマットへの後方互換性コードは削除されました。それ以来、Squashfsのカーネル空間コードはLinuxメインラインツリーでメンテナンスされていますが、ユーザー空間ツールはプロジェクトのGitHubページに残っています。[ 10 ]
Squashfsのオリジナルバージョンではgzip圧縮が使用されていましたが、Linuxカーネル2.6.34ではLZMA [ 11 ]とLZO圧縮のサポートが追加されました。[ 12 ] Linuxカーネル2.6.38ではLZMA2圧縮( xzで使用)のサポートが追加されました。[ 13 ] Linuxカーネル3.19ではLZ4圧縮のサポートが追加されました。[ 14 ] Linuxカーネル4.14ではZstandard圧縮のサポートが追加されました。[ 15 ]
Linuxカーネル2.6.35では拡張ファイル属性のサポートが追加されました。[ 16 ]