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


64

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

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

回答:


60

Linuxドキュメンテーションプロジェクトがあり、Linuxのファイルシステム階層の説明、彼らは別のフォルダとその(一部は歴史的な)意味を説明します。

xenoterracideがすでに指摘したように/bin/optWindowsの「Program Files」と比較できる標準ディレクトリです。

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

TLDPから引用

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

TLDPから引用


9
/ optはリポジトリに含まれていないパッケージにのみ使用されませんか?inkscape、gimp、rhythmboxなどのアプリケーションフォルダーは/ usr / shareにあります。それはむしろ同等ではないでしょうか?
c76c3r8c42b347r8

5
ファイルシステム階層(FHS)の最新情報については、linuxfoundation.org / en / FHSを参照してください。 (注:現在、サイトはダウンしていますが、すぐにバックアップする必要があります)。
jw013

@Toxicbits:少なくとも/ optのGentooにはバイナリパッケージがあります-特に、非標準のファイルシステム階層のために/ usrにインストールできないパッケージ。
マチェイピエチョトカ

TLDPは素晴らしいようです!さて、サイドノートで。TLDPを初めて見たとき、「あまりにも長い間...ピークにならなかったのですか?何?」
エゲオズカン

3
これは間違っています。/ binには実行可能プログラムのみが含まれます。Windows Program Filesディレクトリには、インストールされた各アプリケーションのサブディレクトリが含まれます。サブディレクトリには、すべての実行可能ファイル、dll、データファイル、およびアプリケーションに必要なすべてが含まれています。
-psusi

45

直接同等のものはありません。ディレクトリ構造は大きく異なります。Windowsでは、インストールされたパッケージ/ソフトウェアごとに、関連するすべてのファイルを含む単一のディレクトリがあります(例:)C:\Program Files\MyProgram。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

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

インストーラーがインストールを要求するときprefix通常、プログラムをインストールするベースパスを求めます。私のxscreensaver例では、です/usr

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

いずれにせよ、これらすべてのルールを詳細に定義する標準が存在します:ファイルシステム階層標準

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

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


/optサードパーティのソフトウェアに/usr/localはかなり長い間好まれています。
スティーブ-o

7
単なる説明は、/usr/share異なるアーキテクチャ(ドキュメント、スクリプト、画像)間で共有されるため、「共有」と呼ばれ/usr/lib*ますが、アーキテクチャ依存のファイル(および実行可能ファイルではない/usr/bin)用です。
eudoxos

12

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


なぜ4つの選択肢があるのですか?/bin/usr/bin/usr/local/binまたは/opt/bin。標準的な場所はありませんか?私が尋ねる理由は、いくつかのVMにソフトウェアをインストールするためであり、デフォルトの場所は、パーティションが最大のスペースを持つ場所になります。パーティションスペースを、ソフトウェアが通常移動するディレクトリに変更し、すべてのVMでソフトウェアを異なる場所に配置したくない。
トーマス

1
標準では複数の場所を指定していますidk pathnameがダウンしている理由がありますが、キャッシュされたFHSへのリンクがあり、これらが何であるかについてさらに詳しく説明します。また、RHEL、Suse、およびUbuntuは異なるため、同じものをわずかに異なる場所に配置する場合があります。/optたとえば、通常は専用ソフトウェアに使用されます。
ゼノテラサイド

また、通常は...通常、それらはすべて同じパーティションにあります...時には/usr/別のパーティションになります。
xenoterracide

1
一部の人々(たとえば、Hurdプロジェクト)は/bin/usr/bin差別は現在廃止されていると主張しています。歴史的に、システム上重要なものは中になり/bin/lib...しばらく、(直接ルートに)/usr(と/usr/bin/usr/lib、...)基本的なシステム機能のために必要なことではない、(おそらく、ネットワーク上)後にマウントされます。
eudoxos

1
@Thomas、/opt終了しないでください。一部の人々は、過去に、他のすべてのアプリとは異なる場所にいくつかのアプリケーションを置くことをお勧めすると考えていました。/binルートパーティション上にあります。一部のシステムではルートパーティションのスペースが限られているため、必須ではないバイナリ(つまり、すべてのユーザーアプリケーション)はに移動されました/usr/bin
1

8

man hier「ファイルシステム階層の説明」を見てください。


3

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

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

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


3

echo $PATH端末に入力して、シェルがコマンドを見つけるために検索するパスを確認します。印刷された順にファイルをチェックします。


1
これは、OPが要求した内容に対応していません。
フランチェスコターコ

1

あなたはすべてのソリューションを見つけることはできませんし、ほとんどの場合システムコマンド(つまり、システムで使用されるコマンド)を保持し/binているsbinためです。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.