私は最近Windowsの使用をやめ、今コンピュータでLinuxを実行しています。 WindowsにはProgram Filesフォルダがあります。ほとんどのプログラムファイルは独自のフォルダに保存されているため、管理や閲覧が簡単に見えます。
プログラムファイルはLinux上の別の場所に保存されます。なぜですか?開発者が開発するのは簡単ですか?
答え1
はい。
これにより、次のように順番になります。
- すべてのプログラム構成ファイルは1つのパスに配置されます。
/etc
- すべてのプログラムバイナリは1つのパスにあります
/bin
。/usr/bin
などのようなものがあります/home
。/dev
/boot
/tmp
答え2
Linuxでの努力をおめでとうございます! Ubuntuでは、主に次のような場合です。
ユーザーがコンパイルしてインストールしたプログラム用のプログラムまたはスクリプト/usr/bin
ライブラリと、ユーザーごとに構成されたシステムプログラムの構成/usr/lib
/usr/local/bin
/usr/local/lib
/etc
$HOME/.config
$HOME
ホームフォルダを含む環境変数です。"/home/larry"
他の多くのプログラムはユーザープロファイルを直接保存しますが、$HOME
これはベストプラクティスではありません。
/opt
いくつかの大きなプログラムは仕事をきれいに保つので、インストールするのが大好きです。
インストーラがそのオプションを提供し、他のユーザーがプログラムを使用する必要がない場合は、次の場所にインストールするか$HOME/bin
、$HOME/opt
ああ、最後の注意:Windowsは、ユーザーホームディレクトリの設定ファイルだけでなく、、、、などのc:\Windows\Program Files
複数c:\Windows\Program Files\Common Files
のc:\Windows\System32
場所にファイルをインストールします。c:\Windows\ProgramData
しかし、もっと悪いことは、多くの構成情報がレジストリに分散しているため、プログラムの移植がほとんど不可能であることです。
答え3
これファイルシステム階層標準一度見る価値があるようです。そうしないと、ディスク容量が非常に高価で高価であるため、/
システムの起動と使用に必要なプログラムと構成を含む最小限のディレクトリしか持たず、共有/usr
NFSサーバーから他のほとんどのディレクトリをマウントできます。さらに、さまざまな冗長ディレクトリを使用すると、「ベンダー提供のアイテム」(例:)/usr
と(少なくとも通常BSDでは)/usr/local
パッケージがインストールされている場所をきれいに分離できます。これにより、まったく異なるディレクトリが使用されるため、ベンダーの更新はサイトにインストールされているすべてのアイテムを破損しません。たとえば、ベンダーはWebserver 2.0を提供できますが、一部のアプリケーションではWebserver 1.1が必要です。 Webserver 1.1をベンダースペースにインストールすると、ベンダーの更新によってソフトウェアが破損したり、ベンダーがソフトウェアを交換する必要がある他の問題が発生する可能性があります。 。