web-dev-qa-db-ja.com

アプリケーションを/ optの場所にインストールする必要があるのはなぜですか?

サードパーティのソフトウェアに/optが推奨される理由がよくわかりません。コマンドライン経由で/optからプログラムを実行するときは、Sudoを使用する必要があります。 Sudoはプログラムをスーパーユーザーとして実行できるため、セキュリティ上のリスクはありませんか?

また、.desktopファイルを/ optのプログラムに追加するのに問題があります。たとえば、optに.jarファイルがある場合、Javaプログラムを実行するにはSudo Java -jar name.jarで実行する必要がありますが、Sudogksudoは実行します.desktopファイルでは動作しないようです。そのため、コマンドラインを介さずに起動メニューからプログラムを実行することはできません。

信頼できないソフトウェアはどこにインストールする必要がありますか?

.desktopを必要とするアプリケーションはどこにインストールする必要がありますか?

.desktopファイルで/optでアプリケーションを実行する方法はありますか?

1
Rhys

linuxファイルシステムのドキュメントには、 / opt の歴史と目的が説明されています。最も一般的な用途は、システムの残りの部分にあまり依存せずに、単独で実行されるアプリケーションをセットアップすることです。 「信頼できないソフトウェア」はインストールしないでください。必要に応じて、衛生的に分離された KVM コンテナが最も安全な方法です。

このディレクトリは、デフォルトのインストールの一部ではないすべてのソフトウェアおよびアドオンパッケージ用に予約されています。たとえば、StarOffice、Kylix、Netscape Communicator、WordPerfectパッケージは通常ここにあります。 FSSTNDに準拠するには、すべてのサードパーティアプリケーションをこのディレクトリにインストールする必要があります。ここにインストールするパッケージは、静的ファイル(追加のフォント、クリップアート、データベースファイルなど)を見つける必要があります。静的ファイルは、別の/ opt/'package'または/ opt/'provider'ディレクトリツリー(方法と同様)で見つける必要がありますここで、Windowsは新しいソフトウェアを独自のディレクトリツリーC:\ Windows\Progam Files\"Program Name")にインストールします。ここで、 'package'はソフトウェアパッケージを説明する名前で、 'provider'はプロバイダーのLANANA登録名です。

ほとんどのディストリビューションは、ディレクトリ/ opt/bin、/ opt/doc、/ opt/include、/ opt/info、/ opt/lib、および/ opt/manの作成を怠りますが、ローカルシステム管理者用に予約されています。パッケージは、システム管理者がこれらの予約ディレクトリに(リンクまたはコピーによって)配置することを目的とした「フロントエンド」ファイルを提供する場合がありますが、これらの予約ディレクトリがない場合は正常に機能する必要があります。ユーザーが呼び出すプログラムは、ディレクトリ/ opt/'package'/binにあります。パッケージにUNIXマニュアルページが含まれている場合、それらは/ opt/'package'/manにあり、/ usr/share/manと同じ下位構造を使用する必要があります。可変のパッケージファイルは、/ var/optにインストールする必要があります。ホスト固有の構成ファイルは/ etc/optにインストールされます。

正常に機能するためにファイルシステムツリー内の特定の場所に存在する必要があるパッケージファイルを除き、/ opt、/ var/opt、および/ etc/opt階層の外部に他のパッケージファイルが存在することはありません。たとえば、/ var/lockのデバイスロックファイルと/ devのデバイス。ディストリビューションは/ optにソフトウェアをインストールできますが、ローカルシステム管理者の同意なしにローカルシステム管理者がインストールしたソフトウェアを変更または削除してはなりません。

アドオンソフトウェアに/ optを使用することは、UNIXコミュニティで確立された慣行です。 System V Interface Definition(Third Edition)およびIntel Binary Compatibility Standard v。2(iBCS2)に基づくSystem V Application Binary Interface [AT&T 1990]は、ここで定義したものと非常によく似た/ opt構造を提供します。

一般に、システム上のパッケージをサポートするために必要なすべてのデータは、/ etc/opt/'package'および/ var/opt/'package'にコピーされるファイルを含め、/ opt/'package'内に存在する必要があります。/optの予約ディレクトリ。/optを使用した配布には、特に一部のバイナリソフトウェアで見つかった固定パス名の場合、インストールされた配布ソフトウェアとローカルにインストールされたソフトウェアの間で競合が発生する可能性があるため、小さな制限が必要です。

/ opt/'provider'の下のディレクトリの構造はソフトウェアのパッケージャーに任されていますが、パッケージは/ opt/'provider'/'package'にインストールし、次のガイドラインと同様の構造に従うことをお勧めします。/opt/package。この構造から分岐する正当な理由は、/ opt/'provider'/libまたは/ opt/'provider'/binにファイルがインストールされているサポートパッケージの場合です。

デフォルトの許可では/optからアプリケーションを実行するのに十分ではない場合、同様に所有権を取得できますSudo chown -R $USER:$USER /opt/somepackage(この質問は何度も尋ねられています。ルールはありません。ここでは/home/somecompany/somepackageディレクトリに多くインストールします。これは、それが独自のパーティションを持ち、UNIXの一種である/optよりも頻繁にアクセスされるからです。

0
Martin Zeitler