Perforceバージョン管理クライアント実行可能ファイル()がありますp4
。/opt/local
ルートアクセス権がないため入れません。配置する必要がある標準的な場所はありますか$HOME
?
ローカル実行可能ファイル/バイナリを配置する必要があるファイルシステム階層にルールがありますか$HOME/bin
?
上記のようなルールが見つかりません。FHSに関するウィキペディア記事。
$HOME/bin
また、ルールが存在する場合は、ディレクトリパスまたはディレクトリの場所を明示的に含める必要がありますかbin
?
答え1
通常、システムにインストールされておらず、保守されているバイナリがシステム全体にわたっており、複数のユーザーがアクセスできる必要がある場合は、管理者はこれを行います/usr/local/bin
。/usr/local
バイナリの唯一のユーザーの場合は、次の場所にインストールするか$HOME/bin
、$HOME/.local/bin
あなたが直接インストールすることができ、あなたが唯一の消費者になるので、正しい場所です。ソースからパッケージをコンパイルする場合、$HOME
またはディレクトリ$HOME/.local
に部分的または完全なローカル階層を作成することも適切です。を使用すると、$HOME
ローカル階層全体は次のようになります。
$HOME/bin
ローカルバイナリ$HOME/etc
ローカルバイナリ用のホスト固有のシステム構成$HOME/games
ローカルゲームバイナリ$HOME/include
ネイティブCヘッダファイル$HOME/lib
地域図書館$HOME/lib64
ネイティブ64ビットライブラリ$HOME/man
ローカルオンラインマニュアル$HOME/sbin
ローカルシステムバイナリ$HOME/share
ローカルスキーマ独立階層$HOME/src
ローカルソースコード
実行時にインストールのデフォルト値のプレフィックスを指定して、configure
インストールのローカル階層を定義する必要があります。$HOME
./configure --prefix=$HOME
これmake && make install
で実行すると、コンパイルされたバイナリ、パッケージ、マニュアルページ、およびライブラリが$HOME
ローカル階層にインストールされます。$HOME
ローカル階層を手動で作成しなかった場合、make install
パッケージに必要なディレクトリが作成されます。
インストールしたら、バイナリに$HOME/bin
追加するか、絶対値を使用できます。一部のディストリビューションにはデフォルトで含まれています。存在することを確認するか、バイナリを挿入して実行してそれをテストできます。と返される場合、デフォルトはあなたのものです。$HOME/bin
$PATH
$PATH
$HOME/bin
$PATH
echo $PATH
$HOME/bin
$HOME/bin
which binaryname
$HOME/bin/binaryname
$PATH
答え2
〜のように言及されたユーザー、/usr/local
本質的にシステム管理者がインストールしたソフトウェアのプレフィックスとして使用されますが、配布パッケージからインストールされた/usr
ソフトウェアには使用する必要があります。
その背後にあるアイデアは、分散ソフトウェア(rpm
パッケージなど)とのdeb
競合を避け、管理者に「ローカル」プレフィックスに対するすべての権限を付与することです。
これは、管理者がDebianなどのディストリビューションを使用しながらカスタムコンパイルされたソフトウェアをインストールできることを意味します。
FHSから
/または/usrのソフトウェアはシステムアップグレードで上書きできます(この場合、ディストリビューションは/ etcのデータを上書きしないことをお勧めします)。したがって、ローカルソフトウェアは、正当な理由なく/usr/localの外側に配置しないでください。
ユーザー固有のソフトウェアをインストールするとき、ウーサーが提案した$HOME
書き込みアクセス権を確保するため、プレフィックスとして使用してください。個人的には、これが$HOME/.local
(希望的に)素敵できれいなホームディレクトリを乱すのを防ぐので、よりエレガントなソリューションだと思います!
$HOME/.local/share
そして$HOME/.local/bin
すでに使用中freedesktop.org XDGの基本ディレクトリ仕様、ディストリビューションを追加するように求められます$HOME/.local/bin
ので、作業中に作成するには$PATH
多くの想像力は必要ありません。$HOME/.local/lib
プレフィックスが隠しディレクトリになりたくない場合は、次のようにそのディレクトリへのシンボリックリンクを簡単に作成できます。
ln -s .local ~/local
サイドノート
.config
(not .local/etc
)がデフォルト値であることは注目に値します。$XDG_CONFIG_HOME
ユーザー固有の構成ファイル用。残念ながら、ソフトウェアのかなりの部分がXDGを無視し、どこでも(通常はXDGのルートディレクトリに$HOME
)設定ファイルを生成することを指摘したいと思います。また$XDG_CONFIG_HOME
、デフォルトが必要な場合は設定を解除できます。$HOME/.config
奇妙なことに、ディストリビューションのデフォルト設定ファイル用に予約されたディレクトリがないため、その中のファイルがディストリビュー/etc
ションで提供されているのか、システム管理者が編集したのかを知る方法はありません。
答え3
XDGの基本ディレクトリ仕様バージョン0.8では、ローカル実行可能ファイルを次の場所に配置する必要があることを指定します。~/.local/bin:
ユーザー固有の実行可能ファイルは$ HOME / .local / binに保存できます。ディストリビューションでは、このディレクトリをUNIX $ PATH環境変数の適切な場所に表示する必要があります。
ディストリビューションが仕様に従う場合は、「明示的にパスを含める」必要はありません。これ前の質問どのディストリビューションがこれを実行できるかを確認してください。
答え4
/usr/local/bin
に基づいているようです。インターネットウェブサイト Wiki 技術。
関連情報は/usr/bin
以下で提供されます。ファイルシステム階層標準、彼らはこのフォルダをシステム上で実行可能なコマンドのホームディレクトリとして定義します。
/usr/bin
間と/usr/local/bin
間の追加情報ウィキ技術:
/usr/bin
一般ユーザーのためにオペレーティングシステムによって提供される実行可能ファイルの場所。たとえば、ファイルは通常コアオペレーティングシステムには必要ではなく、ルートからアクセスすることはできませんが、これは可能です。
/usr/local/bin
すべてのユーザーがパブリックシステムファイルとして使用するためにシステムに追加しますが、オペレーティングシステムでサポートされている公式ファイルではなく、すべての追加の実行可能ファイルの場所です。
全体的に、/usr/bin
これはオペレーティングシステムでバイナリを提供する場所です。/usr/local/bin
ユーザーがバイナリをダウンロードする場所です。