1. 概要

このチュートリアルでは、Linuxで /optをいつどのように使用するかを学びます。 その定義から始めましょう。 次に、 / usr /localとの違いについて説明します。

2. 序章

ルートレベルでlsを実行しているLinuxディレクトリ構造を見てみましょう。

	bin	dev 	lib 		opt 	usr
	boot	etc	lib64		proc	srv
	cdrom	home	lost+found	root	config
	media	run	sys		core	mnt
	sbin	tmp	var

出力に表示されるのは、標準のLinuxルートレベルディレクトリです。 Linuxシステムで各ディレクトリとそのサブディレクトリに含まれるべきものは、 FHS (ファイルシステム階層標準)で定義されています。

FHSは、 /opt「アドオンアプリケーションソフトウェアパッケージのインストール用に予約済み」と定義しています。このコンテキストでは、「アドオン」とは、システムの一部ではありません。 たとえば、外部またはサードパーティのソフトウェア。 この規則は、AT&T、Sun、DECなどのベンダーによって構築された古いUNIXシステムに端を発しています。

3. /optを使用する

例として、CompanyApplicationという会社で開発された内部アプリケーションを取り上げます。

dpkgやrpmなどの標準ツールを使用してパッケージ化しない場合、CompanyApplicationに関連するすべてのファイルを1つのディレクトリに配置する可能性があります。つまり、バイナリ、ライブラリがあります。 、および構成を一緒に。 従来のUNIXシステムのように、それらが異なる場所に分離されることはありません。

アプリケーションをサーバーにデプロイするとします。 この場合、アプリケーションのディレクトリを/ opt/CompanyApplicationディレクトリにコピーするだけです。

必要に応じて、そこから直接実行できます。 したがって、 / opt を使用する場合、アプリケーションのインストールは、コピー、TARの抽出、または解凍と同じくらい簡単です。 また、アプリケーションが不要になった場合は、 /optの下のディレクトリを削除するだけで削除できます。

ちなみに、 / opt / Company / CompanyApplication ディレクトリ構造を使用することもできます。この場合、LANANA登録会社/を使用する必要があります。プロバイダー名。

ディレクトリをコピーしてソフトウェアを展開することは、従来のUNIXシステムでは型破りです。通常、UNIXアプリケーションでは、ライブラリ、バイナリ、およびその他のファイルが / usr / local /bin[などの個別のディレクトリにあります。 X231X]、および /usr/local/lib.

UNIXでのソフトウェアの展開方法と/optの違いを見てみましょう。

4. / usr /local/opt

FHSは定義します / usr / local 「ソフトウェアをローカルにインストールするときにシステム管理者が使用するため」としてこの説明は非常に似ているため、これは混乱を招く可能性があります / opt 。 一方、重要な違いがあります。

/ usr / localの下の階層は、/ usrの下の階層を模倣する必要があります。これは、すべてのアプリケーションバイナリを / usr / local / bin に配置し、すべてのライブラリをに配置する必要があることを意味します。 X188X] / usr / local / lib、など。 その結果、他のアプリケーションのファイルと一緒に配置します。

したがって、 / usr / localにデプロイするときに、アプリケーションごとに1つのディレクトリを作成することはできません。代わりに、アプリケーションファイルを個別のディレクトリに分割する従来のUNIXスタイルで編成します。

この従来のアプローチの理由のいくつかは次のとおりです。

  • / usr / local / bin にすべてのバイナリがある場合、この単一のディレクトリを$ PATHに追加するだけで、追加の構成なしでインストールしたすべてのバイナリを実行できます。
  • インストールされているすべてのライブラリが/usr / local / lib にある場合、複数のバイナリが同じライブラリを共有できるため、システムに同じライブラリの複数のコピーが存在しないようにします。

一方、 / opt には、これらのディレクトリ構造の制限はありません。 / opt 内のアプリケーションが別々のディレクトリにある限り、これらのディレクトリ内にカスタムディレクトリ構造を持つことができます。 それらは、システムにすでにインストールされているライブラリーの複製コピーを持つことができ、端末から実行するために追加の$PATH構成が必要になる場合があります。

4.1. ユースケース

/optおよび/usr /localのいくつかの可能なシナリオを見てみましょう。

  • 私たちのアプリケーションは単一のバイナリであり、それを / usr /localにコピーまたはリンクします
  • makeを使用してソースからビルドされた既存のシステムプログラムの代替を使用したいと思います。 この場合、 / usr /localの下にインストールします
  • アプリケーションをデプロイします。設計上、そのすべてのファイルは同じディレクトリにあります。 次に、このディレクトリを / opt /myappディレクトリにコピーしてデプロイします

5. 結論

このチュートリアルでは、 / opt の使用方法と、 / usr /localなどの他の展開方法との違いについて説明しました。