ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
.dmg(Apple Disk Image)は、macOS でディスクの内容を 1 ファイルにまとめたイメージ形式です。Windows でいう .iso に近い役割を果たしますが、macOS と深く統合されており、ダブルクリックするだけで Finder に仮想ディスクとしてマウントされ、内部のファイルやアプリを直接操作できます。
macOS アプリの配布形式として最もポピュラーで、開発者は .app バンドルを .dmg に詰めて配布します。ユーザは .dmg を開いて、表示された .app アイコンを「Applications」フォルダのエイリアスにドラッグするだけでインストールが完了するという、極めてシンプルな UX が特徴です。
歴史的には NeXTSTEP 時代から続く Apple のディスクイメージ文化を受け継いでおり、現在の標準フォーマットは UDIF(Universal Disk Image Format)です。HFS+ や APFS でフォーマットされたパーティション情報を含み、暗号化、圧縮、読み取り専用化など多彩なオプションを備えます。
内部構造
UDIF 形式の .dmg は、ファイル末尾に koly トレーラブロック(512 バイト)を持つことが最大の特徴です。シグネチャは 6B 6F 6C 79(ASCII "koly")。トレーラには以下が含まれます。
- UDIF ヘッダのチェックサム
- XML / plist プロパティリストのオフセットとサイズ
- データフォーク・リソースフォークの位置
- セクタ数、イメージ全体サイズ
本体データは BLKX テーブルと呼ばれるブロックリストで管理されます。各エントリは「圧縮方式 + オフセット + 元サイズ + 圧縮後サイズ」を持ち、必要なブロックだけをオンデマンドに伸長できる構造です。圧縮アルゴリズムには ADC、zlib、bzip2、LZFSE、LZMA などが選択でき、特に LZFSE や LZMA を使うと圧縮率が高く配布サイズを抑えられます。
マウント時には macOS の diskimages-helper がイメージを解析し、仮想ディスクデバイス(/dev/diskN)を生成、/Volumes/<ボリューム名> にマウントします。内部のファイルシステムは通常 HFS+J(ジャーナル付き)か APFS で、Spotlight 検索やアクセス権、リソースフォークもそのまま保持されます。
主な用途
- アプリ配布: Firefox、Chrome、各種開発ツールなど、Web からダウンロードする macOS アプリの標準形式
- OS インストーラ: macOS のメジャーアップデート、リカバリイメージ
- 暗号化コンテナ: AES-128/256 暗号化付き .dmg を作り、機密ファイル置き場として使う(Windows でいう VeraCrypt 的用途)
- バックアップ: フォルダや CD/DVD の内容を .dmg に固めて保存
- 仮想 FS の配布: フォントセット、サンプルデータパックなど、まとめて配るのに便利
関連形式との比較
| 形式 | OS | 用途 | 特徴 |
|---|---|---|---|
| .dmg | macOS | ディスクイメージ/配布 | UDIF、マウント可、暗号化対応 |
| .iso | クロス | 光学ディスクイメージ | ISO 9660 / UDF。Windows/Linux 標準 |
| .pkg | macOS | インストーラ | installer コマンドで展開。.dmg 内に .pkg を入れることも |
| .app | macOS | アプリ本体 | バンドル。.dmg の中身として配布される |
| .sparseimage / .sparsebundle | macOS | 可変サイズイメージ | Time Machine ネットワークバックアップ等 |
コマンド・ツール
- マウント:
hdiutil attach foo.dmgまたは Finder でダブルクリック - アンマウント:
hdiutil detach /Volumes/Foo - 作成:
hdiutil create -volname "MyApp" -srcfolder ./MyApp -format UDZO out.dmg(UDZO = zlib 圧縮の読み取り専用 UDIF) - 変換:
hdiutil convert in.dmg -format UDBZ -o out.dmg(UDBZ = bzip2、ULFO = LZFSE、ULMO = LZMA) - 検証:
hdiutil verify foo.dmg - 署名:
codesign --sign "Developer ID Application: Name" foo.dmg - 公証:
xcrun notarytool submit foo.dmg --apple-id ... --wait→xcrun stapler staple foo.dmg - Disk Utility.app: GUI で作成・変換・暗号化を行える標準アプリ
- create-dmg(OSS): 背景画像付き・アイコン配置済みのカスタム .dmg を簡単に作るスクリプト
注意点
- Gatekeeper と公証: macOS 10.15 Catalina 以降、Developer ID 署名だけでは不十分で notarization(公証)が必須。公証していない .dmg は「開発元を確認できないため開けません」と拒否される
- Stapling: 公証チケットを
stapler stapleで .dmg に添付しておくと、ユーザがオフラインでも検証できる - Quarantine 属性: ブラウザでダウンロードした .dmg には
com.apple.quarantineが付与され、初回マウント時に警告ダイアログが出る - サイズと圧縮: UDZO(zlib)は互換性重視、ULFO(LZFSE)は macOS 10.11 以降専用だが速くて高圧縮
- 暗号化 .dmg のパスワード: キーチェーンに保存しないと毎回入力が必要。失念すると復号不可能
- Apple Silicon 対応: ARM64 / x86_64 のユニバーサル .app を含めて配布するのが現代的
関連リンク
- 実行ファイル・パッケージ(親カテゴリ)
- ファイル拡張子とは(概論)
- app(.app) — .dmg の中身として配布される
- EXE(.exe) — Windows の対応形式
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
コメントを削除してもよろしいでしょうか?