ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
7z は 1999 年、ロシアの開発者 Igor Pavlov が圧縮ソフト 7-Zip のために設計したアーカイブ形式です。当時から ZIP より大幅に高い圧縮率を実現する目的で開発され、その鍵となったのが Pavlov 自身が考案した圧縮アルゴリズム LZMA(Lempel–Ziv–Markov chain Algorithm)、および後継の LZMA2 です。これらは現在 xz / .deb(dpkg)/ Android APK / RPM / OS インストーラ等、多くの場所で使われています。
7-Zip ソフト自体は LGPL の OSS で、Windows 用 GUI 解凍ツールとしてフリーソフト界の定番の地位を築きました。コマンドライン版(7z / 7za / 7zr)は Linux / macOS でも動き、最近は p7zip プロジェクトが派生して各種ディストリビューションに同梱されています。
7z 形式は ZIP 互換ではなく、Windows / macOS の OS 標準機能では開けません。受け手が解凍ツールを持っているか確認できない汎用配布では ZIP のほうが無難で、用途は「サイズを限界まで小さくしたい」「強固な暗号化が要る」「自分や社内など環境を把握済みのケース」が中心です。
内部構造とマジックナンバー
7z ファイルの先頭マジックナンバーは 37 7A BC AF 27 1C(ASCII の "7z" を含む 6 バイト)で、続いてバージョン情報、ヘッダ位置、CRC が並びます。ヘッダ本体は ZIP と同様、ファイル末尾近くに置かれるため、アーカイブを末尾基準で読み解いていく構造です。
7z の最大の特徴は 固体圧縮(solid mode) です。複数のファイルを連結して 1 つの巨大なストリームとして LZMA2 にかけるため、似た内容のファイル(同じヘッダを持つソース、同じテンプレートで作られたドキュメント、似た構造の JSON など)が大量にあるアーカイブで 劇的に圧縮率が上がります。反面、特定ファイルだけを取り出すには連結ストリームの先頭から再展開する必要があり、ランダムアクセスは ZIP より遅くなります。
暗号化は AES-256-CBC をベースに、SHA-256 で導出した鍵を用います。-mhe=on オプションを付けると ヘッダ自体も暗号化 され、ファイル名やフォルダ構成すら外部から見えなくなります。機密性要件の高い配布に向きます。
主な用途
- サイズ削減を最優先するソフトウェア配布(ゲーム MOD、巨大データセット)
- Windows でのフリーソフトの定番ダウンロード形式
- 強固な暗号化を伴う機密データの保管(AES-256 + ヘッダ暗号化)
- 多数のテキスト系ファイル(ソースコード、ログ、JSON 群)の長期アーカイブ
- RAR の代替(オープンソースで仕様も公開されているため)
関連形式との比較
| 形式 | 圧縮率 | 速度(圧縮) | 暗号化 | OS 標準対応 | 備考 |
|---|---|---|---|---|---|
| 7z (LZMA2) | 非常に高い | 遅い | AES-256 + ヘッダ暗号化 | なし | 固体圧縮で更に有利 |
| ZIP (Deflate) | 中 | 速い | AES-256 / ZipCrypto | Win/Mac 標準 | 互換性最強 |
| RAR | 高い | 中 | AES-256 | なし | 独占仕様 |
| tar.xz | 非常に高い | 遅い | なし | Unix 系で多い | 同じ LZMA2 ベース |
| tar.zst | 高い | 速い | なし | Linux で増加中 | 速度重視 |
コマンド・ツール
# 基本:フォルダを 7z 形式で圧縮
7z a archive.7z mydir/
# 圧縮レベル最大(-mx=9)、固体圧縮 ON、LZMA2 を明示
7z a -t7z -m0=lzma2 -mx=9 -ms=on archive.7z mydir/
# パスワード付き + ヘッダ自体も暗号化
7z a -p'StrongPass123!' -mhe=on secret.7z mydir/
# 展開
7z x archive.7z # x はパス情報保持
7z e archive.7z # e はフラットに展開(パス無視)
# 中身一覧
7z l archive.7z
# ZIP 形式で出力することもできる(7-Zip は ZIP の AES-256 にも対応)
7z a -tzip -mem=AES256 -p'pwd' archive.zip mydir/
# Windows コマンドプロンプト(7-Zip インストール後)
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx=9 archive.7z mydir\
# 巨大データを分割アーカイブ(100MB 単位)
7z a -v100m huge.7z bigfile.iso
# → huge.7z.001, huge.7z.002, ... が生成される
注意点・落とし穴
- OS 標準では開けない — Windows / macOS の標準解凍機能では開けないため、受け手に 7-Zip / The Unarchiver などのインストールを要求することになる。汎用配布には不向き。
- 固体圧縮の代償 — 高圧縮率と引き換えに、1 ファイルだけ取り出す時の速度がかなり遅くなる。頻繁にランダムアクセスする用途には向かない。
- 圧縮速度・メモリ消費 — LZMA2 -mx=9 は圧縮時に数 GB のメモリを使い、CPU 時間も長い。CI や定期バックアップで使う場合はリソース予算を確認する。
- パスワード強度 — 7z の AES-256 自体は強固でも、辞書攻撃可能な弱パスワードを使えば意味がない。十分な長さとランダム性を確保する。
- ヘッダ暗号化を忘れない —
-pだけだとファイル名一覧は見えてしまう。本当に隠したいなら必ず-mhe=onを付ける。 - Unix 属性の保持は不完全 — 7z は ZIP と同様、Unix のパーミッションや所有者を tar ほど完璧には保持できない。Unix システムのフルバックアップなら tar 系を選ぶ。
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?