私はこれで説明されているものと似たようなことをしようとしています。Q&A、私が使用することを除いてsetfacl
。
私は以下を持っていますdebian/rules
:
...
override_dh_fixperms:
dh_fixperms
setfacl -m u:applicationX:rw /etc/NetworkManager/
このパッケージはJenkinsサーバー上に構築されました。エラーを返します。
make[2]: setfacl: Command not found
このコマンドはインストールプロセス中に実行されると予想していましたが、パッケージがインストールされているデバイスでは、ビルドプロセス中にコマンドがsetfacl
Jenkinsサーバーで実行されるようです。
上記の作業を行う方法を誤解しましたか?ターゲットコンピュータで実行できるルールはありますか?
また、変更されるファイルは私のパッケージ自体の一部ではありません。
ベストアンサー1
パッケージのビルド中はACLを保存できません。パッケージをインストールした後、これを行う必要がありますpostinst
。これを行うには、postinst
ディレクトリdebian
にファイルを作成し、setfacl
その中にコマンドを追加します。また、ファイルacl
に依存関係を追加する必要がありますcontrol
。
あなたのパッケージが属していないという事実は、/etc/NetworkManager
面倒をさらに重み付けます。しかし、あなたのパッケージはDebianアーカイブにアップロードされる運命ではないようです。 ACLファイルを削除して再作成することは可能です/etc/NetworkManager
が、実際にはそうする可能性はほとんどありません。