結合されたシステムサービスと関連する実行バイナリを含むDebianパッケージ

結合されたシステムサービスと関連する実行バイナリを含むDebianパッケージ

私はアプリケーション実行可能ファイルをインストールするためにDebianパッケージを作成する素晴らしいガイドに従っています。

https://wiki.debian.org/Packaging/Intro?action=show&redirect=IntroDebianPackaging

そして、dh-systemdを使用してsystemdサービスをインストールします。

https://bunn.cc/2017/debian-packaging-with-systemd/

しかし、両方を組み合わせてサービスをインストールし、サービスで実行されているバイナリをインストールするパッケージを作成したいと思います。

最初のチュートリアルのアプリケーションファイルは、アプリケーションのビルドとインストールに使用されるmakeファイルと一緒に/ debianフォルダの上のディレクトリにあり、systemdチュートリアルのサービスファイルはdebianフォルダにあります。サービスファイルと依存バイナリをインストールする制御ファイルを生成する方法は不明です。

誰でもこれを行う方法を提案したり、役に立つ参考資料を提供していただきありがとうございます。

読んでみました。https://wiki.debian.org/Teams/pkg-systemd/Packagingしかし、それは多くを説明しません。

これは現実的な期待ですか、それともサービスとアプリケーションを別々にパッケージ化する必要がありますか?

ありがとう

ベストアンサー1

サービスとアプリケーションは少なくとも一緒にパッケージ化する必要があり、サービスは管理するサービスを実装するバイナリと共にパッケージ化する必要があります。

ほとんどの場合、systemdデバイスのインストールは透過的です。メインビルドが予想されるディレクトリ(/lib/systemd/system)にユニットをインストールすると、そのユニットが自動的に選択されアクティブになります。パッケージがからデバイスを出荷すると、debian正しい場所にインストールされ、自動的に有効になります。これはすべて次のように行われますdh_systemd_enableそしてdh_systemd_startが提供されていますが、現在は基本シーケンスのdh-systemd一部であり、含まれています。debhelperdh

したがって、既存のアプリケーションパッケージを使用してその中にサービスファイルを追加すると、debian「ただ動作する」ことがわかります(使用すると仮定dh)。

おすすめ記事