web-dev-qa-db-ja.com

LinuxのC:\ Program Filesに相当するものは何ですか?

LinuxとUnixだけでなく、Windowsでも、プログラム|アプリケーション|ソフトウェアを任意のディレクトリにインストールできることを理解しています。また、パッケージがディストリビューションのパッケージシステムを使用してインストールされている場合、ファイルは正しい場所に配置されます。

ただし、ソフトウェアのインストール時に、ファイルを配置するためのパスを要求する場合があります。 Linuxディストリビューションの場合、このデフォルトの場所はどこですか(C:\Program FilesまたはC:\progra~1相当)?さまざまなディストリビューションでは違いますか?はいの場合、これはRHELSuseおよびUbuntuのどこにありますか?

65
Thomas

Linux Documentation Project には Linuxファイルシステム階層の説明 があり、さまざまなフォルダーとその(部分的に歴史的な)意味を説明しています。

Xenoterracideがすでに指摘したように/binおよび/optは、Windowsの「Program Files」と比較できる標準のディレクトリです。

/binには、システム管理者と非特権ユーザーの両方に役立ついくつかの便利なコマンドが含まれています。通常、bashcshなどのシェルと、cpmvrmなどの一般的に使用されるコマンドが含まれます。 、catls

TLDPから引用

/optは、デフォルトのインストールに含まれていないすべてのソフトウェアおよびアドオンパッケージ用に予約されています。たとえば、StarOffice、Kylix、Netscape Communicator、WordPerfectのパッケージは通常ここにあります。

TLDPから引用

60
Axel Knauf

直接対応するものはありません。ディレクトリ構造は大きく異なります。 Windowsでは、関連するすべてのファイル(C:\Program Files\MyProgramなど)を含むインストール済みのパッケージ/ソフトウェアごとに1つのディレクトリがあります。 Linuxでは、各ソフトウェアは、ファイルタイプやその他のルールに従って、多くのディレクトリに「分散」しています。

例として、xscreensaverプログラムに関連するさまざまなファイルがインストールされている場所を調べることができます。

/etc/pam.d/xscreensaver
/etc/xscreensaver
/etc/xscreensaver/README
/usr/bin/xscreensaver
/usr/bin/xscreensaver-command
/usr/bin/xscreensaver-demo
/usr/bin/xscreensaver-gl-helper
/usr/share/X11/app-defaults/XScreenSaver
/usr/share/applications/xscreensaver-properties.desktop
/usr/share/doc/packages/xscreensaver
/usr/share/doc/packages/xscreensaver/README
/usr/share/locale/ca/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/da/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/de/LC_MESSAGES/xscreensaver.mo
[ ... ]
/usr/share/locale/zh_TW/LC_MESSAGES/xscreensaver.mo
/usr/share/man/man1/xscreensaver-command.1.gz
/usr/share/man/man1/xscreensaver-demo.1.gz
/usr/share/man/man1/xscreensaver.1.gz
/usr/share/man/man6/xscreensaver-gl-helper.6x.gz
/usr/share/pixmaps/xscreensaver.xpm
/usr/share/xscreensaver
/usr/share/xscreensaver/glade
/usr/share/xscreensaver/glade/screensaver-cmndln.png
/usr/share/xscreensaver/glade/screensaver-colorselector.png
[ ... ]

心配しないでください。通常、インストーラーがどこにインストールするかを尋ねるとき、正しい答えは次のいずれかです://opt/usr/usr/local

ご覧のとおり、xscreensaverのほとんどすべての(1)ファイルは、/usrの実行可能ファイル、/usr/binのマニュアルページ、/usr/share/manのドキュメントなど、いくつかの単純なルールに従って/usr/share/doc/packages/PROGRAMNAMEの下にインストールされます。

インストーラーがインストールを要求する場合、prefix通常はインストール先のbaseパスにする必要がありますプログラム。私のxscreensaverの例では、/usrです。

単純なルールとして、/には、システムの起動に必要なプログラムのみを含める必要があります(C:\windows\system32として)。/usr/localには、その一意のコンピューターでのみ必要なプログラムを含める必要があります。/opt(2)すべてオプションプログラム非標準のディレクトリ構造と/usrすべてのstandardソフトウェアがあります。

いずれにせよ、これらすべてのルールを詳細に定義するstandardが存在します。 Filesystem Hierarchy Standard

(1)システム全体の構成ファイルは/etcに存在する必要があります

(2)Linuxではかなり時代遅れ

45
andcoz

通常、/bin/usr/bin/usr/local/bin、または/opt/bin/usr/bin/opt/binはプログラムファイルに最も近いと思います。通常、これらはシステム管理者によってインストールされるシステムクリティカルでないバイナリ用ですが、ウィンドウとは異なり、これらの両方にはパッケージマネージャーでインストールされたプログラムが含まれています。ここで、/usr/local/binは、ディストリビューション以外のパッケージソフトウェア用です。 /binは、/bin/shなどのシステムクリティカルなバイナリ用です。

12
xenoterracide

man hier「ファイルシステム階層の説明」です。

8
vasily-vm

他の人が指摘したように、パッケージマネージャを介してインストールされたプログラムは、いくつかのディレクトリに分散しています。通常、バイナリは/usr/binにありますが、システム全体の構成ファイルは/etcにあります。

アプリケーションがパッケージマネージャー経由でインストールされていない場合、ファイルはパッケージマネージャーに干渉しない場所にインストールする必要があります。この場所は/usr/localです。

インストールパスを求められた場合、最も一般的な選択肢は/usr/local/appnameです。

3
Jan

タイプecho $PATHターミナルで、シェルがコマンドを見つけるために探すパスを確認します。印刷順にファイルをチェックします。

3
Jaseem

まあ、/binsbinにすべてのソリューションが含まれているわけではありません。これらは主にシステムコマンド(つまり、システムで使用されるコマンド)を保持しているためです。

/usr/binは、理想的にはUNIXの世界の"Program Files"と呼ぶことができます。 /optについては、インストールにその場所を使用することを選択したパッケージはほとんどありません。同じことは、/etc/または/varを場所として使用するパッケージに適用されます

1
pankajdoharey