Mac
 Computer >> コンピューター >  >> システム >> Mac

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

システムフォルダとは、ユーザーが直接操作することを想定していないフォルダの総称です。アプリケーションやオペレーティングシステムが正常に動作するために必要なサポートやリソースを提供しており、ユーザーがアプリやプログラムを通じてコンピュータを扱えるようにする「縁の下の力持ち」的な存在です。一部は隠されていますが、ほとんどのフォルダには何らかの方法でアクセスできます。

では、それぞれのシステムフォルダには具体的にどんな役割があるのでしょうか。「/bin」とは何で、どのようにパソコンを支えているのでしょうか。本記事では、特によく参照される代表的なシステムフォルダを詳しく解説します。

まず、Macの「/System」フォルダ自体にはそれほど多くのものは含まれていません。その中身を確認したあと、より深い階層にあるその他のシステムフォルダを見ていきましょう。

注意: システムフォルダやシステムファイルに対して、追加・削除・変更を行わないでください。中身を閲覧するだけなら安全ですが、ファイルの追加・削除・改変やフォルダ構造の変更は、予測不能な結果を引き起こし、場合によってはシステムが起動しなくなることもあります。どうしても実験が必要な場合は、作業前にMacの起動ディスクのクローン(バックアップ)を作成しておきましょう。

ライブラリフォルダ:「/System/Library」と「~/Library」

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

ライブラリフォルダは、ユーザーに最も近い位置にあるシステムフォルダです。アプリケーションによって作成され、アプリの動作に応じてファイルの追加・削除・更新が行われます。正直に言えば、ここでの整理はやや混沌としています。アプリはLibrary内へのファイル配置に関してほぼ自由に振る舞えますが、多くのアプリは似たようなルールに従っています。

ユーザーのライブラリフォルダ(「~/Library」)とシステムのライブラリフォルダ(「/System/Library」)には、実にさまざまなファイルやフォルダが格納されています。設定情報(プリファレンス)、アプリケーションのデータベース、メタデータ、プラグイン、保存されたアプリの状態、システムプロファイル、Cookieなど、多岐にわたります。

Application Support

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

「~/Library/Application Support」フォルダは、ライブラリフォルダの中でも最もアクセス頻度が高い場所です。ここには、アプリケーションが動作に必要とするファイルが保存されます。ユーザーのデータフォルダから切り離されているため、これらのファイルは汚染や意図しない変更から保護されています。

ユーザーがこのフォルダにアクセスするのは、主に次のようなケースです。デフォルト設定では対応できない方法でプログラムの挙動を変更したいとき、あるいはキャッシュやデータベースのエラーを修復したいときです。また、アプリのApplication Supportフォルダを削除すれば、アプリを初期状態にリセットしてクリーンな状態で再スタートさせることができます。さらに、アプリをカスタマイズしたい場合も、いずれこのフォルダに行き着くことになるでしょう。

「/System/Library」と「~/Library」の違いは?

なぜmacOSには2つのライブラリフォルダが必要なのでしょうか。「/System/Library」はシステム全体で共有されるもので、すべてのユーザーが利用します。一方、「~/Library」は特定のユーザーだけがアクセスできる、そのユーザー専用のライブラリです。

Unixフォルダ:「/bin」「/sbin」「/usr」「/var」「/private」

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

macOSはUnixカーネルを基盤として構築されています。そのため、深部の機能の多くはUnixの仕組みに依存しています。上位層のmacOSシステムフォルダとは別に、Unix由来のフォルダも存在します。これらのフォルダは完全に隠されているため、表示するには隠しファイルの表示設定を有効にする必要があります。

ホームディレクトリ直下には、いくつかのUnixフォルダがあります。特に重要なのが「/bin」「/sbin」「/usr」「/var」「/private」です。

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

「/bin」と「/sbin」はどちらもバイナリ(実行ファイル)を格納するフォルダです。「sbin」には、ファイルシステムがマウントされていない状態でもシステムの起動・復元・回復・修復を行うために必要なバイナリが入っています。一方、「/bin」には、全ユーザーが使用する基本的なユーザーコマンドが収められています。「bin」はbinaries(バイナリ)、「sbin」はsystem binaries(システムバイナリ)の略です。

macOSでは、「/sbin」内のファイルシステム関連のバイナリの多くは、「/System/Library/Filesystems」フォルダ内のmacOSファイルシステムプラグインへのシンボリックリンクとなっています。

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

「/usr」には、通常のシステム稼働時に使われるバイナリやライブラリが含まれています。ここにあるファイルは、ファイルシステムがマウントされた後に使用されます。「usr」は「user(ユーザー)」、またはUnix System Resources(Unixシステムリソース)の略です。

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

「/var」には、システムが稼働中に書き込むファイル、たとえばキャッシュ、データライブラリ、ログなどが格納されます。「var」はvariable(可変)の略で、通常はコアレベルのシステムアプリケーションのみが書き込みを行います。macOSでは「/var」は「/private/var」へのシンボリックリンクになっています。

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

「/private」には、デーモンやコマンドラインツールの設定、キャッシュ、変数、仮想メモリのスワップファイル、一時ファイル、スリープイメージなどが含まれています。「/etc」や「/tmp」など一部のUnixシステムフォルダは、同じ名前の「/private」内のディレクトリへのシンボリックリンクとして実装されています。

これらのフォルダの内容についてさらに詳しく知りたい方は、MacのUnixフォルダに関する詳細な解説記事を参照してください。

拡張機能(Extensions)

Macのシステムフォルダ徹底解説!「/bin」「/Library」などの役割と仕組みを理解しよう

Hackintosh(非純正ハードウェアでのmacOS構築)の経験があれば、「System/Library/Extensions」という名前を聞いたことがあるでしょう。一般的に「S/L/E」と略されるこのフォルダには、「kext(カーネル拡張)」と呼ばれる、macOSカーネルの機能を拡張するファイルが格納されています。kextを追加することで、macOSカーネルが新しいハードウェアと通信できるようになります。Windowsの経験者なら、ドライバのようなものだと考えると分かりやすいでしょう。

このフォルダの内容を変更するのは慎重さが求められる作業で、適切な権限管理が必要です。macOSでkextを追加・削除する場合は、正しい手順を必ず守ってください。

エージェント(Agents)とデーモン(Daemons)

デーモンとエージェントはバックグラウンドで動作し、ユーザーの操作なしにタスクを実行します。少し不気味なこの名前(発音は「demon/デーモン」)は、マクスウェルのデーモンという思考実験に由来しています。

デーモンはシステムレベルの処理を担当し、root権限で実行されます。一方、エージェントは現在ログインしているユーザーの権限で実行されます。グローバルなエージェントとデーモンは任意のユーザーに代わってアクセス・実行できますが、ユーザーエージェントは所有者のライブラリファイルを持つユーザーに代わってしか実行できません。

  • 「~/Library/LaunchAgents」: ログインユーザーに代わって実行されるユーザーエージェントを格納
  • 「/Library/LaunchAgents」: ログインユーザーに代わって実行されるグローバルエージェントを格納
  • 「/System/Library/LaunchAgents」: ログインユーザーに代わって実行されるシステムエージェントを格納
  • 「/Library/LaunchDaemons」: root権限で実行されるグローバルデーモンを格納
  • 「/System/Library/LaunchDaemons」: root権限で実行されるシステムデーモンを格納

新しいデーモンの作成や既存デーモンの設定変更は、コマンドラインツール「launchctl」を使って行えます。

まとめ

Macにはここで紹介した以外にも、ユーザー向けではない隠れたフォルダが多数存在しますが、本記事で取り上げたものが最も参照頻度の高いフォルダです。Unix系ファイルシステムの整理方法についてさらに学びたい場合は、「Filesystem Hierarchy Standard(FHS、ファイルシステム階層標準)」をチェックしてみてください。Unix系OSにおけるファイルやディレクトリの配置に関する要件とガイドラインが解説されています。


  1. MacのOSをアップデートする方法!最新バージョンへの更新手順と事前準備のポイント

    スマートフォン、タブレット、ノートパソコン、スマートウォッチ、デスクトップPCなど、どんなデバイスを使っていても、定期的なアップデートは非常に重要です。OSの最新アップデートには、セキュリティの強化、バグの修正、パフォーマンスの向上など、さまざまなメリットが含まれています。macOSも同様に、Appleが提供する最新のソフトウェアバージョンでMacが動作するよう、常に更新しておくことが大切です。 Appleは定期的にmacOSのアップデートをリリースしており、これを活用すればMacのオペレーティングシステムを最新の状態に保てます。2021年9月にリリースされた「macOS Big Sur 11

  2. MacBookを守る11のセキュリティ対策|今すぐできる安全設定ガイド

    MacBookを守るための11のセキュリティ対策「Macだからウイルスに感染しない」という時代はもう終わりました。Macの販売台数が増えるにつれ、ハッカーたちの関心もMacに向かい始め、Mac向けのマルウェアが次々と開発されています。しかも、Macを狙うマルウェア攻撃は、業界でも屈指の技術を持つ攻撃者によって計画されていることが多く、その被害は他の脅威よりも深刻になりかねません。「自分は大丈夫」という思い込みを捨てて、今すぐできる対策でMacの安全を確保しましょう。以下の11の方法を実践すれば、MacBookをさまざまな脅威から守ることができます。1. macOSを常に最新の状態に保つ新たな脅