バイナリセット(.NET 6ベース)を含むDebパッケージがありますが、これらのアプリケーションをDebianシステムにサービスとしてインストールする必要があります。
サービスのインストールを手動で実行できます。 、提供 bash スクリプトを含む Deb パッケージの作成方法を少し入力する必要があります。
以下は参照用のスクリプトです。どんなアドバイスも本当にありがとうございます。
#!/bin/bash
#IEC Service
sudo nano /etc/systemd/system/ProtocolService
[Unit]
Description=Protocol Service Provider
[Service]
WorkingDirectory= /home/debian/publish/ServiceProvider
ExecStart=/usr/bin/dotnet /home/debian/publish/ServiceProvider.dll
Restart=always
RestartSec=10 # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=offershare-web-app
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
#start the service
sudo systemctl daemon-reload
sudo systemctl enable service_name
sudo systemctl start service_name
答え1
最良の方法は次のとおりです。デブヘルパー~のdh_installsystemd
、dh_systemd_enable
そしてdh_systemd_start
。
debian/<package>.service
これを使用するには、サービスファイルがあることを確認してから、管理者スクリプト()に次の行を追加するだけですdebian/{post,pre}{inst,rm}
。
#DEBHELPER#
この行は、サービスを有効/開始し、アップグレードを処理し、サービスをブロック(解除)するDebianの現在のサービスポリシーに置き換えられます。また、ユーザーのグローバル構成が尊重されていることを確認します(デフォルトでサービスを有効にしたくない場合)。
次に、通常(dpkg-buildpackage
またはdebuild
)パッケージをビルドします。あなたのサービスは正しい場所にインストールされ、一部は補助コマンドstart/enable/unmask/stop/disable...
管理者スクリプトに自動的に追加されインストールされる呼び出し操作は何ですか?
追加資料:
を使用しない場合(、debhelper
を使用するか、パッケージを直接使用している可能性があります)、およびをに追加します。いくつかのグローバル設定と極端なケースはこの方法では扱いませんが、ほとんどが機能します。dpkg-deb
cpack
ar
systemctl enable
systemctl start
postinst
systemctl disable
systemctl stop
prerm