web-dev-qa-db-ja.com

〜/ .localへのファイルのインストール

ソースからコンパイルされたソフトウェアをインストールするとき、私は通常それらを/ usr/local /に配置します。これは私の経験で最も一般的なデフォルトであり、少なくともDebianとその派生物では標準的な方法です。

次に、ホームディレクトリに何かをインストールします。理論的にはサブディレクトリを作成してそこに配置できますが、さまざまなオプションや、標準的な方法があるかどうか疑問に思い始めました。私は本質的に2つの答えを見つけました:

  • Programsusrのような名前のカスタムサブディレクトリ
  • サブディレクトリなし 、サブディレクトリがある〜/ bin〜/ lib64

私はこれらのどちらも好きではなく、すでに〜/ .localサブディレクトリがあるので、そこにインストールしないのはなぜだと思いましたか?これにはすでに〜/ .local/shareが含まれています。これは、ローカルユーザーのプライベート/ usr/shareを意味するようになったため、プログラムをインストールして全体を作成することは非常に論理的に思えます〜/ .local/bin〜/ .local/libなど.

私の質問は次のとおりです:ローカルソフトウェアを〜/ .localにインストールしてもよろしいですか?

ユーザーごとのソフトウェアをインストールする場所をgoogleまたはstackexchangeで検索したときに、これに対する参照が見つからないのはなぜですか?私には、そのような明白な場所のように思えますが、それを示唆する投稿の欠如は、どこかに漁獲があるに違いないことを意味します。

おそらく、これを行った人は、経験を共有することができます。

8
pipe

大丈夫だよ。

覚えておいてください、それはあなたのホームディレクトリです。あなたはそこで何でもしたいことができます。 GNOME/KDE /何でも.configを削除しようとすると文句を言うかもしれませんが、ホームディレクトリで行うことはすべて、定義上、yoにのみ影響します。 .localにいくつかのディレクトリを追加しても無害です。

ワークフローによっては、ドットディレクトリに何かを置くのは少し不便です。それがどの程度影響を与えるかは、ファイルシステムをどのようにナビゲートするか、およびそれを実行する必要がある頻度によって異なります。それが私なら、ルートとして機能する通常のディレクトリを作成し(おそらくlocalまたはappsと呼びます)、そのように使用しますが、それは個人的な好みです。

問題が発生するのは、システムがディレクトリを表示するように設定されていない場合です。 .bashrc(またはシェルに適切なもの)のPATH、MANPATH、INFOPATH、およびLD_LIBRARY_PATHを調整する必要があります。他の小さな「落とし穴」もおそらくあるでしょう。

多くの人々がそれをする必要がないので、私はそれについてここに多くの投稿がないことを望んでいます。個人用マシンの場合、/ usr/localを使用しない理由はいくつかあります。ほとんどのディストリビューションでは、すべてがすでに設定されています。いくつかのアプリをインストールするだけの場合、多くの人が/ optにディレクトリを作成します(/ opt/blenderなど)。 Solarisは、パッケージをインストールするときにこれを行います。

あなたが説明していることの唯一の実際のユースケースは、開発者またはマシンにrootを持っていない人々のためのものです。 rootを持たないほとんどの人は、管理者にプログラムをインストールするように依頼するだけです。おそらく、とにかくプログラムをコンパイルする方法を知らないでしょう。

3
Jeff Spaulding

そうでない明らかな理由:

  • ユーザーのホームディレクトリのサイズは制限されることが多い(共有システムのクォータ)
  • 事前定義されたプロファイルは、多くの場合、~/binPATHにすでに追加しています(thatディレクトリにインストールする方が便利です)。
  • マシンを制御できる場合、共有可能な場所へのインストールはうまく機能します(例:/usr/local/bin)。ドットディレクトリは、(通常)他のユーザーアカウントと共有できません。
  • 異常なディスク領域の使用状況を探す場合、ドットディレクトリを見落とす方が簡単です。たとえば、ccacheの誤った機能では、気付かないうちに自宅で1Gbを使用していました。ブラウザーやデスクトップジャンクもよくある違反者です(プロセスに15年以上経過しているため、適切なディスク管理ツールは提供されていません)。

肯定的な側面としては、混乱を減らす—少しです。私のホームディレクトリには55の通常のディレクトリと91のドットディレクトリがあります。

1
Thomas Dickey

一般的な規則(たとえば、一部のinstall-homeターゲットで使用されます Mercurial のように、hgとして知られています)は、それらを$HOMEの直下に配置することです。 $HOME/bin$HOME/etc$HOME/libなど。これは、./configure --prefix=$HOMEで始まるGNUish構成ダンスの結果です。

1
vonbrand