私のアマチュア知識は、/binがシステムに必要なすべてのパッケージが存在する場所であり、システムに問題が発生した場合は、これらのパッケージをデバッグおよび操作に使用できることを知っています。簡単に言えば、システムに必要なソフトウェアは次のとおりです。最小限の。
- たとえば、Ubuntuからパッケージをインストールするときにパッケージをどこに直接インストールできますか?どのディレクトリにインストールしたいですか?
- また、インストール中にどのようなパッケージが/ binに表示されますか?
答え1
一般的に言えば、管理者(ユーザーではない)がパッケージをインストールするディレクトリを決定します。特定のLinuxディストリビューションには、通常何をどこに移動するかについてのポリシーがあります。
Ubuntuを含む多くのディストリビューションは、ユーザーがインストールした/usr
パッケージを/usr/bin
。/usr/bin
/bin
/bin
独立して保持されているディストリビューションでは、通常、/bin
シェル、ファイルシステムの検証、マウント、アンマウントのためのツールやシステムで重要と見なされるすべてを含む、最小限の基本システムのために予約されています。
答え2
Ubuntuパッケージは再配置できません。彼らの文書は、パッケージが指示する場所ならどこにでも行くでしょう。ほとんどのディストリビューションでも同様です。
パッケージングシステムがあるときに再配置可能なパッケージを持つことはあまり意味がありません。パッケージマネージャは各パッケージのファイルがある場所を追跡するため、特定の方法でグループ化する必要はありません。システム管理者は各パッケージの場所を制御する必要はありません。パッケージマネージャが管理するファイルの場所があり、管理者はこれらのファイルを直接操作するのではなく、パッケージマネージャを介してのみ操作します。
Linuxでは、仕様パッケージマネージャが管理するプログラムを/usr
(省略/usr/local
)、、、、/bin
(いくつか/lib
あれば/sbin
詳しくは説明しません)の下に置くだけです。システム管理者がパッケージマネージャを使用せずにインストールしたプログラムは、または/usr/local
以下にあります/opt
。 (一部のディストリビューションでは内容を下に置きました/opt
が、Ubuntuはそうではありません。)
/bin
兄弟と相手の違い/usr
は、システムを操作するために必要なすべてが外部にあることです/usr
。これらの区別は、別々のパーティションを作成するのが比較的一般的だった頃にさかのぼります/usr
。そのパーティションをマウントするために必要なもの、またはシステム管理者がログインして問題を解決するために必要なものはすべて、ルートファイルシステムの外部、/usr
ルートファイルに直接存在する必要がありました。システムから。最近では、/usr
ほとんどの設定でネットワークインストールが適切ではなくなるほどディスクサイズが大きくなり、ファイルシステムが進化し、/usr
読み取り専用インストールがもはや利点を持たなくなりました。したがって、兄弟間の区別は意味がありません/usr
。/bin
一部のディストリビューション(Ubuntuなど)ではこれを維持しますが、他のディストリビューションでは維持しません(そして/bin
シンボリックリンクを作成し、/usr/bin
その逆も同様です)。
ルートファイルシステムとルートファイルシステムの区別は、パッケージでは/usr
なくファイルごとに行われます。すべてのUbuntuパッケージには少なくともいくつかのファイルが含まれています/usr/share/doc
。ファイルを保存するほとんどのパッケージは、重要性の低い実行可能ファイル、マニュアルページなどの/bin
ファイルも保存します。/usr