web-dev-qa-db-ja.com

パッケージのインストール中に環境変数を設定する方法

私は、DEB形式とRPM形式の両方にパッケージ化されたレガシークロスプラットフォームプロジェクトに取り組んでいます。

Linuxパッケージがインストールされると、スクリプト(CMakeスクリプトやBashスクリプトなど)とプログラムの実行に、インストールフォルダーへのパスを保持する環境変数が必要になります。この変数には既知の名前があり、WindowsではProgram Files\My Package、UNIXシステムでは/opt/my_packageを指すことができます。

現在、Linuxユーザーは、ソフトウェアを使用するために変数を手動で登録する必要があります。便利な解決策は、パッケージインストールの一部として環境変数を登録することです。

/etc/profile/etc/bashrcなどの構成ファイルでシステム全体の環境変数を設定できることは承知しています。このようなファイルをpostinstスクリプトの一部として変更できます。

パッケージのインストール中にシステム全体の環境変数を作成することは良い方法ですか?作成する場合、それを行うための好ましい方法は何ですか?

Linuxパッケージは、Ubuntu16.04およびRHEL7のユーザーに配布されます。

3
Dask

UbuntuとRHELはどちらも/etc/profile.d/構造を使用していると思います。そのディレクトリにファイルをパッケージ化することをお勧めします。例えば/etc/profile.d/legacyapp.sh(および/etc/profile.d/legacyapp.csh CSHファミリをサポートする必要がある場合)。

3
Jeff Schaller