DebianのPostgresバイナリインストールパスの背後にあるロジック

DebianのPostgresバイナリインストールパスの背後にあるロジック

DebianのPostgresqlインストールは3つのフォルダの場所に分割されているようです。

設定: /etc/postgresql

バイナリ: /usr/lib/postgresql

データ: /var/lib/postgresql

構成ファイルとデータを分割することで得られる利点を理解していますが、バイナリの場所が混乱しています。なぜ単に/usr/binにないのですか?

もっと重要なのは、なぜいくつかのバイナリは/ usr / binに入り、他のバイナリは/ usr / libに入るのですか?

ベストアンサー1

Debian 配布ポリシーによれば、設定ファイル、バイナリ、データはこれら 3 つの異なる場所に保存されます。これには次のようないくつかの理由があります。

  • パッケージ間の一貫性
  • バックアップ、監査、調整などを実行するディレクトリを特定する方が簡単です。
  • / usrは読み取り専用でマウントできます。

バイナリが2つのディレクトリに分割される理由は、DebianでPostgreSQLの複数のメジャーバージョンを並列インストールする方法に関連しています。これについて詳しく説明してください/usr/share/doc/postgresql-common/architecture.html。簡単に言うと:

  • すべてのプログラムは/usr/lib/postgresql/X.Y/bin
  • サーバーサイドプログラムの場合は、フルパスを使用して直接呼び出すか、Debianラッパーを使用してpg_ctlclusterアクセスできます。
  • クライアントプログラムの場合、シンボリックリンクは/usr/binそのポインタに挿入されpg_wrapper、呼び出される正しいバージョンを自動的に識別します。

おすすめ記事