私は、DEB形式とRPM形式の両方にパッケージ化されたレガシークロスプラットフォームプロジェクトに取り組んでいます。
Linuxパッケージがインストールされると、スクリプト(CMakeスクリプトやBashスクリプトなど)とプログラムの実行に、インストールフォルダーへのパスを保持する環境変数が必要になります。この変数には既知の名前があり、WindowsではProgram Files\My Package
、UNIXシステムでは/opt/my_package
を指すことができます。
現在、Linuxユーザーは、ソフトウェアを使用するために変数を手動で登録する必要があります。便利な解決策は、パッケージインストールの一部として環境変数を登録することです。
/etc/profile
や/etc/bashrc
などの構成ファイルでシステム全体の環境変数を設定できることは承知しています。このようなファイルをpostinst
スクリプトの一部として変更できます。
パッケージのインストール中にシステム全体の環境変数を作成することは良い方法ですか?作成する場合、それを行うための好ましい方法は何ですか?
Linuxパッケージは、Ubuntu16.04およびRHEL7のユーザーに配布されます。
UbuntuとRHELはどちらも/etc/profile.d/構造を使用していると思います。そのディレクトリにファイルをパッケージ化することをお勧めします。例えば/etc/profile.d/legacyapp.sh
(および/etc/profile.d/legacyapp.csh
CSHファミリをサポートする必要がある場合)。