ZST ファイル形式とは?
.zst ファイルは Zstandard圧縮ファイル であり、Yann Collet氏によってMeta(Facebook)で開発され、2015年にリリースされた zstd 圧縮ツールによって生成されます。この形式は2018年にRFC 8478として標準化されました。
Zstandardは シングルストリーム・ロスレス圧縮 です。これは、ファイルの集合ではなく、1つのデータストリームを包み込むものです。複数のファイルをまとめて圧縮する場合、まず .tar アーカイブを作成し、それを zstd で圧縮して、広く普及している .tar.zst 形式にするのが標準的な手法です。どちらも同じ4バイトのフレームマジック(バイトオフセット0の 28 B5 2F FD)を共有しています。
この形式は、.gz のような速度重視の圧縮ソフトと、.xz のような圧縮率重視のソフトの間のギャップを埋めることを目的としています。gzipと同等以上の速度で、xzクラスの圧縮率を実現します。圧縮レベルは1(最速)から22(最高圧縮率)まであり、小さいファイルや構造が似たファイル向けにオプションの辞書学習機能も備えています。フレームフッターにあるオプションの切り詰められたxxHash-64チェックサムにより、データの整合性が保護されます。
.zst は、現実世界の幅広い場面で採用されています:
- Arch Linuxのパッケージは
.pkg.tar.zstとして配布されています - Debianは内部の
.debメンバーにZstandardを使用しています - LinuxカーネルはZstandard圧縮されたinitramfsイメージをサポートしています
- BtrfsやOpenZFSは、透過的なディスク上圧縮オプションとして
zstdを提供しています
セキュリティと安全性
リスク: LOWZstandardは圧縮形式であり、実行コードやスクリプトは含まれないため、コンテナ自体は安全です。リスクは「中身」(展開された実行ファイルやスクリプトなど)にのみ依存します。展開した内容は通常通りスキャンしてください。不正な形式の .zst がコードを実行することはありませんが、極端に高い圧縮率により、小さなファイルが巨大なサイズに展開される(zip爆弾のような)可能性があるため、信頼できないアーカイブには注意してください。Zstandardは暗号化を行わないため、機密データには別途暗号化が必要です。
形式の詳細
概要- ZSNES SNESエミュレータのセーブステート - 古いZSNES(スーパーファミコンエミュレータ)はセーブステートを .zst として書き出していました。これはZstandard圧縮とは無関係な、一般的ではないレガシーな意味合いです。
ZST ファイルを開くプログラム
技術的詳細
詳細仕様| マジックバイト | 28 B5 2F FD (16進数), リトルエンディアン 0xFD2FB528, バイトオフセット 0 |
| MIMEタイプ | application/zstd (または application/x-zstd) |
| エンコーディング | バイナリ |
| バイト順序 | リトルエンディアン |
| 圧縮アルゴリズム | LZ77形式の一致検索と、FSE/tANS (Asymmetric Numeral Systems) エントロピー符号化の組み合わせ |
| 圧縮レベル | 1-22; レベル1未満の速度には --fast、レベル19を超える圧縮率には --ultra を使用 |
| 辞書サポート | あり。 «zstd --train» でカスタム辞書を学習させ、小さいファイルや構造の似たファイルの圧縮率を向上させることが可能 |
| コンテンツチェックサム | フレームフッターに格納されるオプションの32ビット切り詰めxxHash-64。 --check フラグで有効化 |
| フレームタイプ | 標準フレーム (マジック 28 B5 2F FD) およびスキップ可能フレーム (マジック範囲 50 2A 4D 18 - 5F 2A 4D 18) |
| 複数ファイル対応 | ネイティブでは非対応。先にtarでファイルを結合する(.tar.zst を生成)か、 zstd -r でディレクトリを再帰的に圧縮する |
| 長距離一致検索 (LDM) | オプションのLDMモード (--long フラグ) により有効な一致ウィンドウを拡張。離れた場所に冗長性がある大きなファイルの圧縮率を向上 |
| ウィンドウサイズ | 標準レベルで最大2GB。LDMモードではデフォルトのウィンドウを超えて有効な一致範囲を拡張可能 |
| ストリーミング | 単一の連続ストリーム。Zstandard Seekable Format拡張機能は、スキップ可能フレームを使用してランダムアクセス展開を可能にする |
| 関連プラットフォーム | Linux, Windows, macOS, BSD - すべての主要OSでクロスプラットフォームのリファレンスライブラリ (libzstd) が利用可能 |
| リリース日 | 2015 (zstd released by Facebook); format standardized as RFC 8478 (2018) |
| 最新バージョン | Zstandard frame format per RFC 8478; reference library zstd 1.5.x (skippable frames, dictionaries, long-distance matching) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | datatracker.ietf.org |
ZST の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。ZST ファイルについて最初の質問をしてみましょう。