Mac アプリを安全にまとめて更新する
Mac アプリは、App Store、開発者のダウンロード、Homebrew、企業向け管理ツール、その他のパッケージシステムなど、複数の経路から届きます。経路ごとに信頼モデル、ロールバック、自動化のルールが異なります。更新を見直すときは、アップグレード方法を決める前にインストール元を特定してください。誤った経路でアプリを置き換えると、ライセンスを失ったり、管理対象のコピーが二重になったりします。
App Store アプリ
App Store は、その経路でインストールされたアプリだけを更新します。App Store を開き、サイドバーの アップデート を選びます。アプリの自動更新は App Store >
設定 にあり、macOS のソフトウェアアップデートとは別です。Apple の
App Store ガイド に
両方の手順が書かれています。サードパーティの mas コマンドラインツールを入れている場合は、ストア管理のアプリを一覧できます。
mas list
mas list に出ないことを由来の証明にはしないでください。レシート、アカウント権限、ツールの制限によって、表示内容は変わります。
直接ダウンロードしたアプリ
開発者サイトからダウンロードしたアプリは、Sparkle、Electron updater、独自サービス、または手動のダウンロードページを使うことがあります。多くのアプリはアプリメニューに アップデートを確認 を用意しています。起動中だけ確認するものもあれば、ログイン項目やバックグラウンドヘルパーを入れるものもあります。ダウンロード元から挙動を決めつけず、そのアプリ自身の更新設定を読んでください。
Homebrew アプリ
Homebrew 管理の formulae と casks は、upgrade コマンドを実行したときに変わります。ただし cask として入れた一部の GUI アプリには、独自のセルフアップデータもあります。Homebrew が古いとみなしているものを確認し、選んだパッケージ、または全体をアップグレードします。
brew outdated
brew upgrade wget
wget は brew outdated が報告した formula または cask トークンに置き換えるか、トークンなしで brew upgrade を実行して古いものを一括アップグレードします。
Homebrew は通常のコマンドの前後でパッケージメタデータを更新しますが、インストール済みの formulae と casks は 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 の Software タブは、複数の更新経路をひとつのインベントリにまとめ、ソースを見える状態で保ちます。発見の手間は減りますが、各 updater はなお、そのアプリの署名、フォールバック、所有モデルを尊重する必要があります。統合リストが、すべての更新を同じように扱え、同じように安全に自動化できるという意味であってはいけません。
繰り返し使える更新監査
各アプリのソースを洗い出し、対応する経路を確認し、互換性ノートを読み、重要な状態をバックアップし、段階的に更新し、各バッチのあとで同じ書類とワークフローを検証します。目標は、すべてのバージョン番号を一度に最新にすることではありません。既知の良好な作業環境を失わずに、セキュリティと互換性を現在に保つことです。