ソースからコンパイルされたソフトウェアをインストールするとき、私は通常/usr/local/に置きますが、私の経験ではこれが最も一般的なデフォルトであり、少なくともDebianとその派生製品では標準的な慣行です。
今、あなたのホームディレクトリに何かをインストールしたいと思います。理論的にはサブディレクトリを作成してそこに配置できますが、さまざまなオプションとそれを行う標準的な方法があるかどうか疑問になり始めました。基本的に2つの答えが見つかりました。
- 同様の名前のサブディレクトリのカスタマイズプログラム、ユーザー
- サブディレクトリなし、サブディレクトリを含む~/空、~/lib64
私はそのうちの1つが好きではなく、すでに1つがあったので考えました。~/.localサブディレクトリにインストールするとどうなりますか?すでに~/.local/share、これはローカルユーザーの個人的な/usr/shareを意味するので、インストーラは完全です~/.local/bin、~/.local/libなど。
私の質問は次のとおりです~/.localにローカルソフトウェアをインストールしても大丈夫ですか?
Googleまたはstackexchangeでユーザー固有のソフトウェアをインストールする場所を検索するときにその参照が見つからないのはなぜですか?私にとって、これはヒントを与える投稿がないということはどこかに落とし穴があることを意味するほど明白な場所のようです。
おそらく、このようなことをした人は自分の肯定的な経験と否定的な経験を共有できますか?
答え1
それは問題ではありません。
覚えておいて、これはあなたのホームディレクトリです。ここであなたが望むものは何でもできます。 GNOME/KDE/whatever は、.config をどこからでも削除すると、おそらく文句を言うでしょう。しかし、定義によると、ホームディレクトリで実行するすべての操作は影響を与えるだけです。あなた。 .localにいくつかのディレクトリを追加しても何の害もありません。
ワークフローによっては、一部のコンテンツをポイント ディレクトリに配置するのが多少不便な場合があります。影響を与える程度は、ファイルシステムの移動方法と移動する頻度によって異なります。私の場合は、ルートディレクトリで一般的なディレクトリを作成します。地元のまたはアプリケーション)そのように使用しますが、個人的な好みです。
問題が発生する場所は、システムがディレクトリを表示できるように設定されていないことです。 .bashrcでPATH、MANPATH、INFOPATH、LD_LIBRARY_PATH(またはシェルに適したすべての項目)を調整する必要があります。他のマイナーな「問題」もあるかもしれません。
多くの人がこれを行う必要はないので、ここに投稿が多すぎないことを願っています。 PCなら/usr/localを使わない理由はありません。ほとんどのディストリビューションでは、すべてが準備されています。一部のアプリケーションをインストールすると、多くの人が/ opt(/ opt / blenderなど)にディレクトリを作成します。 Solarisはパッケージをインストールするときにこれを行います。
あなたが説明する唯一の実際のユースケースは、開発者やコンピュータへのrootアクセス権を持っていない人のためのものです。 root権限を持たないほとんどの人は、単に管理者にプログラムのインストールを依頼します。彼らはプログラムをコンパイルする方法を知らないかもしれません。
答え2
一般的な規則(たとえば、install-home
特定のターゲットで使用されます。例:水銀、と呼ばれる)はすぐ下、つまり、、などにhg
入れることです。これは最初からGNUish構成ダンスの結果です。$HOME
$HOME/bin
$HOME/etc
$HOME/lib
./configure --prefix=$HOME
答え3
これをしない明白な理由は次のとおりです。
- ユーザーのホームディレクトリは通常サイズが制限されています(共有システムのクォータ)。
- 事前定義された構成ファイルは通常すでに追加
~/bin
されているため、PATH
インストールが簡単です。それ目次) - 共有可能な場所にインストールすることは、システムを制御できる場合にはうまく機能します。たとえば、
/usr/local/bin
ドットディレクトリは(通常)他のユーザーアカウントと共有できません。 - 異常なディスク領域使用量を見つけると、ドットディレクトリを無視する方が簡単です。たとえば、私の家のccacheのバグ機能は、私が知る前に1Gbを使用していました。ブラウザとデスクトップジャンクも一般的な原因です(15年以上の間、どちらも適切なディスク管理ツールを提供していません)。
肯定的な面では、少し混乱しています。私のホームディレクトリには55の一般的なディレクトリがあり、91のドットディレクトリがあります。
答え4
はい、可能です。ただし、他のソフトウェアのインストールによって汚染される可能性があります。 bashrcを使用$HOME/local
して変更するパスは次のとおりです。
export PATH=.:${HOME}/local/bin:${PATH}
export LD_LIBRARY_PATH=${HOME}/local/lib:${LD_LIBRARY_PATH}
export PREFIX=${HOME}/local
したがって、パススタックに最初に表示されるので、何をインストールしたのかを知ることができ、他のバイナリ、ライブラリなどの前に見つかります。プレフィックスは、設定やcmakeのようなものを使用するときに覚えやすいです。
--prefix=${PREFIX}