すべてのユーザーのソフトウェアと実行可能ファイルをインストールする場所


15

デフォルトでは、一部のアプリケーションは/ usr / local / binにインストールされますが、ユーザーを変更すると、そのユーザーはこのアプリケーションにアクセスできますか?/ optを使用する必要があることをここで読んでいます(別の質問)。しかし、デフォルトで/ usr / local / binに入るバイナリーは?/ opt / binはありませんか?


回答:


19

通常、手動で何かをインストールしようとする必要はありません。ほとんどすべての場合、.debパッケージがあります。提案にグーグルが1つもない場合(UbuntuにOracle JDKをインストールする方法など))。これがあなた自身のソフトウェアである場合、Ubuntuに適切に物を入れる方法については、Ubuntuパッケージングガイド参照してください。

とにかくそれを行う必要がある場合は、バイナリを/ opt / myappに入れ、実行可能ファイルをにリンクしますln -s /opt/myapp/myappbinary /usr/local/bin/myappbinaryman hier端末のトピックタイプの詳細を知りたい場合。/ usr / bin/ usr / local / binの違いはそこで説明されています。いずれにしても、両方のパスは$ PATH環境変数にあります。つまり、そこに置くバイナリは、完全なパスではなく、バイナリの名前を指定するだけで誰でも実行可能になります。したがって、上記の例を使用するとmyappbinary、完全なパスを指定する代わりにプログラムを実行できます/opt/myapp/myappbinary


1
特に/ usr / localにシンボリックリンクする場合、特に/ optに配置する目的は何ですか?
-psusi

システムのすべてのユーザーがアプリを使用できるようにするには、/ usr / local / binではなく/ usr / binにシンボリックリンクする必要がありますか?
ジウメング

4
@jiewmengを見ると、man hierそこにすべての説明が表示されます。/ usr / binと/ usr / local / binの違いを含む。要するに:/ usr / bin /にシンボリックリンクを張らないでください。@psusi理由は、ファイルシステムをクリーンに保つためです。コンピュータを再インストールする(または別のマシン/ハードドライブに移動する)場合、参照する必要があるディレクトリは/ home、/ etc、および/ optのみです。そして、もう一度繰り返しましょう。通常は、/ etc内のconfig-fileを編集することを除いて、$ HOMEの外側で何かをしたくないでしょう。
mniess

7

/ usrは誰でも読めるので、いいえ、他のユーザーがプログラムを実行できるという問題はありません。/ usr / localは、ソースコードから自分でコンパイルするアプリケーションの場所です。パッケージマネージャーを介してインストールされたプログラムは他の場所に移動します。/ optの目的を見たことはありませんが、それは80年代の古いAT&T Sys V時代からのキャリーオーバーだと思います。


/ usr / local / binと/ usr / binの違いは何ですか?すべてのユーザーがアプリにアクセスできるようにする場合、/ usr / binに配置しますか?
ジウメング

@jiewmeng、ローカルバージョンは、パッケージマネージャーからインストールするのではなく、ソースから自分でコンパイルするプログラム用です。ユーザーやアクセスとは関係ありません。
-psusi

0

linux-flavourに応じて、手動で何かをインストールするのに適した場所は異なる場合があります。手でやるなら READMEが示唆することを。

新しいユーザーを作成し、古いユーザーが新しいプログラムにアクセスするために何もする必要がなかった場合、新しいユーザーもそうしません。

ただし、/ opt / binを自由に作成してpathに含めることができますが、なぜそうする必要があるのでしょうか?または/ flip / flop / funky / binでさえ。または、どこかから、既にPATHに含まれているディレクトリにリンクします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.