スカッシュFS

スカッシュ
開発者フィリップ・ローアー、ロバート・ローアー
紹介された2002年 Linux
制限
最大ボリュームサイズ16 EiB(2 64)バイト
最大ファイルサイズ16 EiB(2 64)バイト
特徴
属性POSIX拡張属性
透過的な圧縮gzip LZMA LZO LZMA2 LZ4 Zstd
他の
サポートされているオペレーティングシステムリナックス
Webサイトgithub .com /plougher /squashfs-tools

Squashfs は、 Linux用の圧縮された読み取り専用ファイルシステムです。Squashfs はファイルinodeディレクトリを圧縮し、4 KiBから 1 MiBまでのブロックサイズをサポートすることで、より高い圧縮率を実現します。複数の圧縮アルゴリズムがサポートされています。Squashfs は、Squashfs ファイルシステムにアクセスするための、 GPLライセンスのフリーソフトウェアの名称でもあります。

Squashfs は、一般的な読み取り専用ファイルシステムでの使用と、低いオーバーヘッドが求められる制約のあるブロックデバイスメモリシステム(組み込みシステムなど)での使用を目的としています。

用途

Squashfs は、 Arch LinuxClonezillaDebianFedoraGentoo LinuxKDE ​​neonKali LinuxLinux MintNixOSSalixUbuntuopenSUSEライブ CD版や、 OpenWrt [ 1 ]DD-WRTルーターファームウェアなどの組み込みディストリビューションで使用されています。また、Chromecast [ 2 ]EasyOSTiny Core Linuxのパッケージ拡張、一部のAndroidリリース ( Android Nougat )のシステム パーティションにも使用されています。[ 3 ]多くの場合、UnionFSOverlayFSaufsなどのユニオン マウントファイル システムと組み合わせて使用​​され、ライブ Linux ディストリビューションに読み書き環境を提供します。これにより、Squashfs の高速圧縮機能と、ライブ CD から実行しながらディストリビューションを変更する機能の両方が活用されます。Debian LiveMandriva OnePuppy LinuxSalix LiveSlaxなどのディストリビューションはこの組み合わせを使用しています。ポータブル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 ]

参照

参考文献

  1. ^ 「OpenWrt Flashレイアウト – OpenWrt Wiki」 . OpenWrt.org . 2018年6月7日. 2021年8月17日時点のオリジナルよりアーカイブ2018年6月11日閲覧。
  2. ^ 「Exploitee.rs » Blog Archive » Chromecast: Googleの最新デバイスを悪用する」 2021年3月19日時点のオリジナルよりアーカイブ2021年3月7日閲覧
  3. ^ Amadeo, Ron (2016年5月18日). 「Android N、Chrome OSのコードを借用し『シームレス』なアップデートインストールを実現」 Ars Technica . 2018年3月17日時点のオリジナルよりアーカイブ。 2017年6月15日閲覧
  4. ^ 「Windows用Squashfsツール」2017年9月23日時点のオリジナルよりアーカイブ2017年9月22日閲覧。
  5. ^ “Squashfs Tools (Linux/Windows)” (オランダ語). 2017年9月23日時点のオリジナルよりアーカイブ。 2017年9月22日閲覧
  6. ^ "7-Zip" . www.7-zip.org . 2006年5月12日時点のオリジナルよりアーカイブ。 2021年3月7日閲覧
  7. ^ “Squashfs CHANGES ファイル” . 2014年8月8日. 2020年4月22日時点のオリジナルよりアーカイブ2017年4月19日閲覧。
  8. ^ “Linux 2 6 29 -- Linux Kernel Newbies” . Linux Kernel Newbies . 2009年6月10日. 2019年10月24日時点のオリジナルよりアーカイブ。 2017年4月19日閲覧
  9. ^ 「BtrfsとSquashfsがLinuxカーネルに統合 - The H Open: ニュースと特集」The H Open 2009年1月10日。2016年3月4日時点のオリジナルよりアーカイブ。 2017年4月19日閲覧
  10. ^ “Squashfs READMEファイル” . GitHub . 2021年7月23日. 2021年7月23日時点のオリジナルよりアーカイブ2021年7月23日閲覧。
  11. ^ 「Official Squashfs LZMA」 . Squashfs-LZMA.org . 2012年10月29日時点のオリジナルよりアーカイブ2012年11月8日閲覧。
  12. ^ 「Linux 2 6 34 - Linux Kernel Newbies」KernelNewbies.org . 2012年11月3日時点のオリジナルよりアーカイブ2012年11月8日閲覧
  13. ^ 「Linux 2 6 38 - Linux Kernel Newbies」KernelNewbies.org . 2012年11月16日時点のオリジナルよりアーカイブ2012年11月8日閲覧
  14. ^ LZ4 Squashfs サポートのマージは、 2020 年 7 月 23 日にWayback MachineのLinus Torvaldsツリーにアーカイブされました
  15. ^ “squashfs: zstd サポートの追加 · torvalds/linux@87bf54b” . GitHub . 2023年10月28日時点のオリジナルよりアーカイブ。 2018年4月15日閲覧
  16. ^ “Linux 2 6 35 - Linux Kernel Newbies” . KernelNewbies.org . 2020年1月8日時点のオリジナルよりアーカイブ2012年11月8日閲覧。