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