Dpkg-debを使用して、warファイルといくつかのスクリプト用のシンプルなバイナリパッケージを作成しています。
1つの問題は、「goofy」と呼ばれるローカルユーザーとしてこれを行うと、パッケージ内のファイルはgoofyが所有するということです。
後でこのパッケージをルートとしてインストールしようとすると、/ opt/ourpackageに入れたファイルがすべてgoofyによってまだ所有されていることに驚きました。
現在、ほとんどの人のマシンには間抜けなユーザーは存在しないので、これを処理する最善の方法は何ですか?
次の2つのオプションがあると仮定します。
どのような方法が推奨されますか?
答えが2の場合、これを行うためにパッケージに追加できる試行済みのスクリプトはありますか?
Option1を選択しますが、これはパッケージを作成およびビルドする「ユーザー」がjenkinsであるため、rootが所有するファイルを簡単に作成できません。
最後の解決策は、fakeroot(Sudo apt-get install fakeroot
)を使用することでした。
その後、パッケージャはパッケージ化するファイルを所有できますが、実行すると:
fakeroot dpkg-deb --build debian
すべてのファイルがルートによって所有されていると考えるようにビルダーを偽装し、lintianを満足させ、ターゲットサーバーにルートとしてファイルをインストールします。