Linux下/usr/binと/usr/local/bin/区別まとめ


一.
多くのアプリケーションが/usr/localの下にインストールされていますが、これらのアプリケーションはなぜこのディレクトリを選択しますか?最も根源的な原因を理解すると、linuxがファイルを組織する方法を理解するのにもっと直感的な理解があるかもしれません.答えは、Automakeツールが次の変数のセットを定義しています.
Directory variable  Default value  


prefix  /usr/local  


  exec_prefix   ${prefix}  


    bindir  ${exec_prefix}/bin  


    libdir  ${exec_prefix}/lib  


    …  


  includedir    ${prefix}/include  


  datarootdir   ${prefix}/share  


    datadir ${datarootdir}  


    mandir  ${datarootdir}/man  


    infodir ${datarootdir}/info  


    docdir  ${datarootdir}/doc/${PACKAGE}  


  …  

GUNの下のほとんどのアプリケーションのコンパイルシステムはautomakeを使用しています.
すると、多くのアプリケーションが/usr/local/ディレクトリにインストールされています.
二.まず、usrはUserではなくUnix System Resourceを指すことに注意してください.
その後、通常/usr/binの下にはシステムがプリインストールされた実行可能プログラムがあり、システムのアップグレードに伴って変更されます.
/usr/local/binディレクトリはユーザーに自分の実行可能なプログラムを置く場所で、ここに置くことをお勧めします.システムにアップグレードされずに同じ名前のファイルを上書きします.
2つのディレクトリの下に同じ実行可能プログラムがある場合、誰が優先的に実行するかはPATH環境変数の影響を受けます.例えば、私のサーバーのPATH変数は
echo $PATH 
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin 
ここで/usr/local/binは/usr/binよりも優先され、