ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
RAR(Roshal ARchive)は、ロシアのプログラマ Eugene Roshal(エフゲニー・ロシャール)が 1993 年に開発した独自仕様の圧縮アーカイブ形式です。同氏の名字をそのまま冠した本形式は、1995 年に GUI フロントエンド WinRAR がリリースされたことで爆発的に普及し、1990 年代後半から 2000 年代にかけて ZIP と双璧をなすアーカイブ形式となりました。
RAR の最大の特徴は、ZIP が苦手としていた領域、すなわち「大容量データの分割保存」と「破損データの自動修復」を仕様レベルでカバーしている点です。フロッピーディスクや CD-R 時代に複数メディアへ跨ぐアーカイブを作る用途、あるいはダイヤルアップ回線で大きなファイルを分割転送する用途で、RAR は事実上の標準として機能していました。
仕様としては RAR4(〜2013 年)と、後継の RAR5(2013 年 WinRAR 5.0 で導入)が並列で存在します。RAR5 では暗号化が AES-128 から AES-256 に強化され、整合性ハッシュも CRC32 から BLAKE2sp へと刷新されました。一方で形式の独自性は維持されており、現代でもオープンソース陣営からは「使いにくい形式」として敬遠される傾向があります。
内部構造とマジックナンバー
RAR ファイルはマジックナンバーで始まる固定ヘッダブロックを持ち、その後に複数の可変長ブロックが続く構造になっています。
| バージョン | マジックナンバー(hex) | ASCII 表現 |
|---|---|---|
| RAR 1.5 〜 4.x | 52 61 72 21 1A 07 00 | Rar!..(0x1A 0x07 0x00) |
| RAR 5.0+ | 52 61 72 21 1A 07 01 00 | Rar!..(0x1A 0x07 0x01 0x00) |
マジック直後にはアーカイブ全体のメタデータを示すアーカイブヘッダ、続いてファイルごとのファイルヘッダと圧縮データ本体、最後に End-of-Archive ブロック が並びます。リカバリレコードを持つ場合は専用ブロックが追加され、データ破損時にこの冗長情報から元データを復元できます(理論上、リカバリレコードのサイズに応じて数 % までの欠損を修復可能)。
圧縮アルゴリズムには、RAR4 では PPMd(テキスト系に強い文脈混合)と独自の LZ77 派生、RAR5 では刷新された LZ77 派生と PPMII が使われます。辞書サイズも RAR4 の最大 4 MB から RAR5 では最大 1 GB(64bit 版)まで拡張されており、巨大ファイルでの圧縮率が改善されています。
主な用途
- 大容量データの分割配布: ゲーム ROM、動画ファイル、データセットなどを
.part01.rar,.part02.rar... の形で分割(ボリュームアーカイブ)し、複数メディアやアップローダの容量制限を回避 - 修復可能な長期保管: リカバリレコード付きで作成し、テープや光ディスクなど経年劣化が懸念される媒体に保存
- Windows 圏でのパスワード保護配布: AES-256 + ファイル名暗号化により、ZIP の旧形式暗号より堅牢な配布が可能
- レガシー資産: 2000 年代に作られた配布物(同人作品、ドキュメント、ソフトウェア配布)には依然 RAR 形式が多く残存
関連形式との比較
| 形式 | ライセンス | 圧縮率 | 暗号化 | 分割 | 修復機能 |
|---|---|---|---|---|---|
| RAR5 | プロプライエタリ(圧縮) | 高 | AES-256 | ○(標準) | ○(リカバリレコード) |
| ZIP | オープン | 中 | AES-256 (WinZip 拡張) | △(ZIP64) | × |
| 7z | LGPL | 非常に高 | AES-256 | ○ | ×(PAR2 別途) |
| Zstandard | BSD | 中〜高(高速) | ×(別途) | × | × |
RAR は「圧縮率は 7z に劣るが、修復機能と分割機能を兼ね備えた唯一の主要形式」というニッチに位置しています。逆に言えば、修復・分割を必要としなければ 7z や Zstandard を選ぶ方が現代的です。
コマンド・ツール
Linux/macOS では解凍専用ツールの unrar が一般的です。Windows は WinRAR(30 日試用後はシェアウェア)または 7-Zip GUI から扱えます。
# インストール(Ubuntu/Debian)
sudo apt install unrar
# 解凍(カレントに展開)
unrar x archive.rar
# 中身一覧
unrar l archive.rar
# パスワード付きアーカイブの解凍
unrar x -p<password> secret.rar
# 分割アーカイブは先頭ファイル (.part01.rar) を指定すれば自動で連結
unrar x movie.part01.rar
# WinRAR CLI (Windows、圧縮も可能)
rar a -m5 -v100m -rr5 backup.rar ./project/
# a : add
# -m5 : 最高圧縮レベル
# -v100m : 100MB ごとに分割
# -rr5 : リカバリレコード 5%
注意点・落とし穴
- 商用ライセンスの誤解: WinRAR は「試用版」を装って事実上使い続けられるため誤解されがちですが、業務用途では正規ライセンス購入が必須です。社内監査で問題化しやすいポイント。
- 圧縮ツールがオープンでない:
unrarソースコードは公開されていますが、RAR ライセンスにより「RAR 互換の圧縮ツールを作ること」は明示的に禁止されています。そのため Linux ディストリビューションでは non-free リポジトリに置かれることが多い。 - CVE-2018-20250: WinRAR 5.61 以前で発見された ACE 形式パース時の脆弱性(任意コード実行)。ACE サポートは以降削除されたが、古い WinRAR を使い続けないこと。
- 分割ファイルの紛失リスク:
.partNN.rarが 1 つでも欠けると全体が解凍不能になる。リカバリレコードがあっても、ボリュームごと欠落した場合は救えない。 - RAR5 と RAR4 の互換性: RAR5 で作ったアーカイブは、古い WinRAR や古い
unrarでは開けない。配布側はバージョンを意識する必要がある。
関連リンク
- アーカイブ・圧縮形式(親カテゴリ)
- ファイル拡張子とは(概論)
- ZIP(.zip)
- 7z(.7z)
- Zstandard(.zst)
- LZH(.lzh / .lha)
- zip ファイルやディレクトリを zip 形式に圧縮する
- unzip zip ファイルを解凍する
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
コメントを削除してもよろしいでしょうか?