私のアプリケーションdebianパッケージのpostinstスクリプトを作成したいので、システムがグローバルに自分のアプリケーションのbinディレクトリの内容にアクセスできるように、/ etc / environmentファイルを変更(一部のパスを追加)する必要があります。
現在の知識で現在できることは次のとおりです。
"
ファイルの最後の文字を削除します/etc/environment
。 (今はbashでこれを行う方法がわかりません。おそらく次のように試してみます。Unixでファイルの最後の文字を削除する方法は? )- 追加
:
- (マイアプリケーションbinディレクトリ)を
/usr/some/directory/bin
ファイルに追加します。 - 追加
"
環境変数にいくつかのパスを永続的にグローバルに追加する簡単な方法はありますか?
背景:
私はインストール/配布プロセスを自動化するためのいくつかのソフトウェアパッケージを開発しています。 Java、bashスクリプト、ドライバ、および複数のデバイスにデプロイできるいくつかのc / C ++ツールアプリケーションなどがあります。
答え1
パスが必ずしもに定義されているわけではなく/etc/environment
、定義されていてもそのパスがエンドユーザーが使用するパスになるという保証はありません。
Debianパッケージでコマンドを一般的に使用できるようにするには、コマンドをパスのディレクトリにインストールする必要があります/usr/bin
。通常インストールできない場合。移動するバイナリがあり、/usr/bin
「実際の」コマンドが見つかる場所を知るラッパースクリプトを追加できます。
java-package
Javaの場合、Oracle JDK、JRE、またはDebianの既存のOpenJDKパッケージを直接再パッケージ化しようとしないでください。バラよりFHS準拠の方法でJDKをインストールするそしてUbuntuでOracle JDKの代替インストールを構成する方法は?もっと学ぶ。