カスタムアプリケーションをインストールするためのdebパッケージを作成しています。インストール中に受け取る警告を回避するために、すべてのファイル/フォルダーの所有権をrootに変更しました。Ubuntuでは、パッケージをインストールするユーザーにファイル/フォルダーの所有権を変更するため、すべてがスムーズに実行されます。
しかし、Debianにインストールしているとき、rootは引き続き所有者です。アプリケーションはフォルダを使用してデータを書き込みますが、これが問題です。標準ユーザーとして実行しているアプリには、フォルダーへの書き込み権限がありません。
今、私はこの問題にどのように対処すべきですか? debパッケージにポストインストールスクリプトを作成する場合、chmod o+w
?これらの権限が設定されたディレクトリをパッケージ化する必要がありますか?
または、ファイルの所有者を(Ubuntuのように)アプリを自動的にインストールするユーザーに設定する方法はありますか?
Ubuntuでの動作はわかりませんが、一般的には.deb
非標準の権限を持つファイルまたはディレクトリを含むパッケージ。これらの権限が設定されていることを確認する必要がありますafterdh_fixperms
が実行されます。 dh
- style rules
を使用している場合は、次のように実行できます。
override_dh_fixperms:
dh_fixperms
chmod 777 yourfolder
これはpostinst
でも実行できます。
if [ "$1" = "configure" ]; then
chmod 777 yourfolder
fi
しかし、rules
の方が簡単です(少なくとも、メンテナースクリプトに依存するよりも、そうする方が好きです)。