私は現在Ubuntu/Linuxを使用しており、Ubuntu/Linuxを初めて使用しています。基本的なことを理解しようとしています。
プログラムをインストールする場所をどのように確認できますか。たとえば、Sphinxの検索エンジンを、サイトからダウンロードしたtarballを次の場所に配置してインストールしました。
/home/sphinx
ディレクトリ。そのtarballを配置するsphinxディレクトリを作成しました。次に、次のコマンドを実行しました。
tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql
そして、これら:
make
Sudo make install
今、これらのコマンドを実行したディレクトリにたくさんのファイルがあります。これは私のSpynxのインストールですか、それとも別の場所にインストールしましたか?
Windowsでは、インストーラー(.exeファイル)を実行すると、プログラムはC:\ Program Filesディレクトリーにインストールされます。同様のことが、すべてのプログラムが中央の場所にインストールされるlinuxにも当てはまりますか、それともシステムのどこにでもプログラムをインストールできますか。
質問
インストールされているすべてのプログラムを1か所に保管することをお勧めします。これにより、ベストプラクティスの観点からこれに適した場所はどこになりますか。言い換えれば、C:\ Program Filesに相当するLinuxは何ですか?
そして、この場所に常にどのようにインストールするのですか?それは、この場所からtarballを配置してインストールコマンドを実行するだけの問題ですか?
Sudo apt-getを使用してパッケージをインストールするとどうなりますか。この場所をポイントして、apt-getに常にインストールするように指示するにはどうすればよいですか?
同様のことが、すべてのプログラムが中央の場所にインストールされるLinuxにも当てはまりますか
\Windows
= /bin
\Windows\System32
= /lib
および/sbin
\Program Files
= /usr/bin
および/usr/lib
インストールされているすべてのプログラムを1か所に保管して、ベストプラクティスの観点からこれに適した場所を選択することをお勧めします。言い換えれば、C:\ Program Filesに相当するLinuxは何ですか?
これは、/usr
、特に/usr/bin
および/usr/lib
の下のディレクトリになります。
そして、常にこの場所にインストールする方法は、この場所からtarballを配置し、インストールコマンドを実行するだけですか?
No。インストールコマンドを実行する場所はほとんど問題ではありません。
apt-get
(またはaptitude
)を介してインストールしたプログラムは、ほとんど常に/usr
に適切に配置されます。ただし、ソースとmake install
からコンパイルするプログラムは、多くの場合/usr/local/bin
、/usr/local/lib
などになります。Debian/ Ubuntuでユーザーがインストールしたパスは/usr
ではなく/usr/local
。
ソースからコンパイルする場合、構成する次のスイッチを追加します:./configure --prefix=/usr
。このようにすると、make install
ファイルが正しいディレクトリに配置されます
また、ソースインストールからコンパイルされたパッケージのファイルを追跡し、debファイルを作成し、簡単にアンインストール/再インストールできるcheckinstall
プログラムも調べてください。
Sudo apt-getを使用してパッケージをインストールするとどうなりますか。常にインストールするようにapt-getに指示するには、この場所をポイントするにはどうすればよいですか?
apt-get
/dpkg
は、これを自動的に処理します。 dpkg -L name-of-package
を使用して、パッケージによってインストールされたすべてのファイルとそれらがインストールされた場所を確認できます。
通常、プログラムは、prefixと呼ばれる1つのtopディレクトリの下のいくつかのディレクトリにインストールされます。どのtop使用するディレクトリは、誰がインストールしているか、魔女の目的のため、そして誰がソフトウェアを管理するかによって異なります。
プレフィックス/usr
は、ディストリビューションでパッケージ化されたソフトウェアです。あなたはnot他のソフトウェアをインストールする必要があります、それはwillを混乱させる配布によってパックされたソフトウェアをインストールおよびアップグレードするときの配布。そのため、pleaseコンパイル済みのソフトウェアをそこにインストールしないでください。それはnotが良い考えです、あなたが本当に何をするのかを知っているのでなければ。そして、あなたがDebianまたはUbunutの開発者でない限り、通常はそうしません。とにかくそれはしません。
商用ソフトウェアの場合、プレフィックス/opt
が使用されます。ディストリビューションとローカルシステム管理者の干渉を最小限にするために予約されています。
システム管理者がすべてのユーザーにインストールするソフトウェアの場合、プレフィックス/usr/local
が使用されます。商用インストールまたは配布インストールの両方から邪魔にならず、それらを妨害することはありません。したがって、システム管理者としてそれを使用します(root権限を持っている場合は、システム管理者です)。
自分でソフトウェアをインストールする一般ユーザーの場合は、--prefix
オプションをプレフィックスディレクトリ "~/
"または$HOME/
でconfigure
に使用することにより、ホームディレクトリをプレフィックスとして使用できます。私は学生の頃、それをよく使いました。 :-)
通常、正しい値で--prefix
オプションを指定してconfigure
を実行し、次にmake; make install
を実行すると、ソフトウェアは正しいことを行います。
これらのプレフィックスのいずれかの下で、通常、これらのディレクトリは標準インストールにあります。
bin
-実行可能プログラム、バイナリ。sbin
-システムバイナリ。通常、通常のユーザーは実行しないでください。man
-プログラム、ライブラリ、設定ファイルなどのマニュアルページ.etc
-ソフトウェアのデフォルト値を持つ設定ファイル。lib
-コンピューターのアーキテクチャ(CPUなど)に依存するプログラムライブラリとデータファイル。share
-異なるアーキテクチャで異なるものではなく、異なるコンピューター間で共有できるデータファイル。var
-プログラムの実行中に変更されるデータを含むディレクトリ。ロギングファイルなど。これらのディレクトリのほとんどは、セキュリティを強化するために、書き込み保護されたファイルシステムで使用できます。ユーザーが書き込む必要があるのはvar/
ディレクトリのみです。ソフトウェアが更新されるとき、これらのディレクトリは明らかに(?)書き込み権限を持っている必要があります。これは、インストール時に書き込み権限で再マウントし、インストール後に読み取り専用で再マウントすることで実行できます。しかし、これは高度であり、高度なパッケージ管理の例としてのみ紹介します。
また、/
、/dev
、/tmp
、/proc
(サーバーデータディレクトリ用ですが、通常は/srv
または/var/lib
およびそのようなディレクトリの下にある)のような、/var/www
(ルートディレクトリ)の直下にいくつかのディレクトリがあります。このディレクトリを使用するように設定を変更する必要があります。サーバーを実行しているときに行うことをお勧めします。標準インストールのテストにのみ/var/
を使用してください。
/usr
を使用するのと同様に、RedHatは/usr/local
を使用します。ディストリビューションをご覧ください。--prefix
は、configure
を使用するプログラムに役立ちます。知る最良の方法は、おそらくREADME.txt
ファイルまたはそのようなものを読むことです。これはおそらくtarアーカイブで提供されます。 tarアーカイブは、ホームディレクトリなどの任意の場所に抽出できます。インストール手順が完了した後、ストレージが不足している場合は、抽出したtarアーカイブを削除できます。ただし、インストールを適切にテストしていない限り、それを早期に行わないでください。apt-get
またはaptitude
でインストールされたプログラムは、常にディストリビューションの適切な場所にインストールされます。その場所を変更することはできません。通常のインストールを使用してリポジトリからプログラムをインストールすると、正しい場所にインストールされ、適切な場所(機能的にWindowsレジストリと同様)に構成ファイルが作成され、メニューエントリが自動的に作成されます。
ファイルをダウンロードするとき(非優先ですが、アプリがリポジトリにない場合に必要になることが多い)、最初にしたことは、Windowsでのunzipに相当するtarの実行でした。これにより、ほとんどの場合見られるファイルが作成されます。
その後、make installを実行すると、通常は結果が適切な場所に配置され、メニューが作成される場合がありますが、tarされていないファイルは消去されません。ほとんどの場合それを行うことができますが、念のため一時的に保存することもできます。
Debian Directory Structure に関する興味深い記事があります。