Mac アプリを安全にまとめて更新する
Mac アプリは、App Store、開発者のダウンロード、Homebrew、企業向け管理ツール、その他のパッケージシステムなど、複数の経路から届きます。経路ごとに信頼モデル、ロールバック、自動化のルールが異なります。更新を見直すときは、アップグレード方法を決める前にインストール元を特定してください。誤った経路でアプリを置き換えると、ライセンスを失ったり、管理対象のコピーが二重になったりします。
更新ボタンを探し回る前に、そのアプリをどこから入れたか思い出してください。App Store、アプリ内の アップデートを確認、brew outdated は、それぞれ別のアプリしか見ていません。途中で経路を変えると、同じアプリが二重に管理されることがあります。
| インストール元 | 正しい更新先 | 置き換えてはいけないもの |
|---|---|---|
| Mac App Store | App Store のアップデート | ストア管理版へのベンダー配布版の上書き |
| 開発者配布 | アプリ内更新またはベンダーのページ | 明示的に移行せず App Store や Homebrew に変更 |
| Homebrew formula / cask | brew outdated と brew upgrade。一部の cask はアプリ内更新も使用 |
cask の設定を確認せず更新方法を混在させること |
| 企業管理 | 組織の管理ポータル | ローカル管理者による迂回 |
App Store アプリ
App Store は、その経路でインストールされたアプリだけを更新します。App Store を開き、サイドバーの アップデート を選びます。アプリの自動更新は App Store >
設定 にあり、macOS のソフトウェアアップデートとは別です。Apple の
App Store ガイド に
両方の手順が書かれています。サードパーティの mas コマンドラインツールを入れている場合は、ストア管理のアプリを一覧できます。
mas list
mas list に出ないことを由来の証明にはしないでください。レシート、アカウント権限、ツールの制限によって、表示内容は変わります。
直接ダウンロードしたアプリ
開発者サイトからダウンロードしたアプリは、Sparkle、Electron updater、独自サービス、または手動のダウンロードページを使うことがあります。多くのアプリはアプリメニューに アップデートを確認 を用意しています。起動中だけ確認するものもあれば、ログイン項目やバックグラウンドヘルパーを入れるものもあります。ダウンロード元から挙動を決めつけず、そのアプリ自身の更新設定を読んでください。
Homebrew アプリ
Homebrew で管理するパッケージは、upgrade コマンドで更新できます。ただし cask として入れた一部の GUI アプリには、独自の更新機能もあります。まず更新候補を確認し、必要なパッケージを選んでアップグレードします。
brew outdated
brew upgrade wget
wget は brew outdated が報告した formula または cask トークンに置き換えるか、トークンなしで brew upgrade を実行して古いものを一括アップグレードします。
パッケージ情報の更新と、インストール済みソフトウェアのアップグレードは別です。ここでソフトウェアを更新するのは brew upgrade です。現行の
Homebrew FAQ では、セルフアップデータの重要な境界が説明されています。一部の cask では、Homebrew がインストール済みアプリのバージョンを比較して安全に含められますが、version :latest や曖昧な成果物は、greedy オプションで明示しないとスキップされることがあります。広い upgrade の前に、重要なサービスやツールチェーンの brew info と破壊的変更を読んでください。
macOS 本体
システム更新はアプリ更新とは別です。
softwareupdate -l
または システム設定 > 一般 > ソフトウェアアップデート です。macOS を最新に保つことはセキュリティ上重要ですが、すべてのサードパーティアプリが更新されるわけではありません。先にバックアップし、ドライバ、仮想化、オーディオツール、その他のシステム連携ソフトの互換性を確認してください。Apple の macOS アップデートガイド も同じシステム経路を扱い、インストール前のバックアップを勧めています。
速さより安全に更新する
広い更新パスを走る前に:
- 直近のバックアップがあることを確認し、重要なツール用のインストーラやアーカイブを残します。
- 互換性の変更、データベース移行、サポート終了 OS についてリリースノートを読みます。
- 直接ダウンロードがベンダー由来であること、およびコード署名または公証済みであることを確認します。
- まず重要度の低いアプリをいくつか更新し、起動、書類、プラグイン、バックグラウンドサービスを観察してから続けます。
- 意図的に所有を移さない限り、元のインストール経路を保ちます。
自動更新は、信頼できるロールバックと互換性の実績があるアプリのセキュリティ修正を素早く取り込むのに向いています。本番のツールチェーン、プラグインホスト、ドライバ、メンテ時間の短いマシンには、段階的な手動更新の方が適しています。
内部の仕組み: なぜ単一の更新ボタンがないのか
macOS には、すべてのサードパーティアプリをまとめて更新する OS レベルの単一サービスはありません。 App Store は、ストア管理ソフトに Apple のレシートを使います。Sparkle は直接ダウンロードでよく使われる標準です。開発者が appcast を公開し、アプリがバージョンを比較し、正しく設定された updater が EdDSA と Apple のコード署名でダウンロードを検証します。Sparkle の セキュリティに関するドキュメント がその二重検証を説明しています。Electron アプリとベンダー固有の updater は 独自フィードを使います。 Homebrew は formulae と casks でバージョンを追い、コマンドでアップグレードします。経路ごとに由来とインストール規則が違うため、概要はソースを残す必要があり、すべてをひとつの汎用更新アクションに潰してはいけません。
更新を一覧で確認するメリット
Mole の「アプリ」タブでは、配布元を確認しながら複数の更新経路を一つの一覧で確認できます。更新の入口を探す手間は減りますが、署名の検証やインストール方法はアプリごとに異なります。一覧にあるからといって、すべての更新を同じ方法で自動化できるわけではありません。
繰り返し使える更新監査
各アプリのソースを洗い出し、対応する経路を確認し、互換性ノートを読み、重要な状態をバックアップし、段階的に更新し、各バッチのあとで同じ書類とワークフローを検証します。目標は、すべてのバージョン番号を一度に最新にすることではありません。既知の良好な作業環境を失わずに、セキュリティと互換性を現在に保つことです。
更新後にアプリを開き、そのアプリの「〜について」画面やバンドルのバージョンを見て、起動したコピーが更新されているか確認します。普段使う書類、プラグイン、デバイス、バックグラウンドサービスでも動作を確かめ、元の更新画面を再確認してください。まだ古いと表示されるなら、二つのコピーがあるか、更新先と起動元が違う可能性があります。