インストール時にUbuntuでアプリをデーモンとして実行するにはどうすればよいですか?

smeeb

私はJavaアプリを持っています-Java、Ruby、Pythonなどであるかどうかに関係なく、ここでの答えは同じであるはずです-devopsの人々がそれをインストールしようとすると、自動的に実行されるように配布したいと思いますデーモンとして、彼らの側にゼロ構成があります。これに対する私のインスピレーションは、Goで記述されているDockerデーモンから来ていますが、Ubuntuマシンでは自動的にデーモンとして構成されます。同じことをしたいのですが、どこから始めればいいのかわかりません。

私は次のいずれか想像します:

  • どういうわけか私のアプリをdeb;の中にパッケージ化する必要があります。または
  • 必要に応じて私のアプリの実行可能ファイルを出荷init/ systemd/ upstart/など。エンドユーザーがスクリプトを実行しなくても、何らかの形でローカルにインストールされるスクリプト。ただし、この場合、ユーザーがいくつかのinitようなツールのセットアップのいずれかを持っている可能性があるため、インストールするスクリプトを選択する方法がわかりません

何か案は?

saiarcot895

Ubuntu(およびDebian)では、debすべてを自動化できるため、エンドユーザーの介入が不要なためパッケージを作成するのが最善の方法です。パッケージのインストールまたはアップグレードが自動化されていない唯一のケースは、パッケージにユーザーからの入力が必要な構成オプションがある場合(主にインストール中のみ)、または構成ファイルがユーザーによって変更され、の新しいバージョンによっても変更された場合です。パッケージ(アップグレード中)。さらに、パッケージをインストール/アップグレードした後、パッケージがインストールする起動スクリプトが自動的に開始されます。

複数のinitスクリプトをインストールしても、すべてを機能させることができます以下の場合はsystemd、両方が存在する場合、ユーザーのコンピュータにインストールされ、使用されている、initスクリプトとsystemd同じサービスのためのスクリプトは、そのinitスクリプトは無視され、systemdスクリプトが使用されています。

パッケージング自体に関しては、Debianは(とりわけ)あなたが提供するスタートアップスクリプトを自動的にインストールし(upstartこれはUbuntuでのみ使用されるため、ヘルパースクリプトではサポートされていないと思います)、サービスを開始するヘルパースクリプトを提供します。パッケージの例については、パッケージのこの debianフォルダーを参照しくださいdump1090-mutabilityことに注意してください:(免責事項これは私のGitHubアカウントです)dump1090-mutability.initファイルが含まれていinitながら、スクリプトがdump1090-mutability.serviceファイルに含まれるsystemdスクリプトを。これらのファイルの名前がなければならないことを注意package-name.initしてpackage-name.service、どこpackage-nameに作成されたバイナリパッケージの名前です。(参照man dh_systemd_enableman dh_systemd_startsystemdにケースのために。)

パッケージ化時に、これらのファイルは両方ともユーザーのシステムの適切なディレクトリに配置され、サービスが開始されます。rulesファイルについては、自動化の恩恵を受けるために、次のようなものを用意することをお勧めします(この--with systemd部分についてはこれ参照してください)。

#!/usr/bin/make -f
%:
        dh $@ --with systemd

override_dh_auto_build:
        # Specify how to build the Java files here, if there is no Makefile provided

override_dh_auto_install:
        # Specify how to install the Java files here, if there is no `install` target in the Makefile. Don't worry about anything in the `debian` directory unless you need to install some icons.
  • アプリにMakefileがなく、Javaソースファイルのコレクションにすぎない場合は、override_dh_auto_build(ソースファイルがコンパイルされてJARにパッケージ化されるoverride_dh_auto_install場所)と(JARがインストールされる場所)に入力します。
  • アプリにMakefileがあり、installターゲットがない場合は、ターゲットを削除して入力override_dh_auto_buildoverride_dh_auto_installます。
  • アプリにMakefileがあり、installターゲット(使用可能)がある場合は、両方のターゲットを削除します。
  • アプリが単なるJARファイルの場合は、を削除override_dh_auto_buildして入力しoverride_dh_auto_installます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

インストール時にUbuntuでアプリをデーモンとして実行するにはどうすればよいですか?

分類Dev

Redhatでシェルスクリプトをデーモンとして実行するにはどうすればよいですか?

分類Dev

Ubuntu 14.04にionic-labをインストールしてアプリを実行するにはどうすればよいですか?

分類Dev

Ubuntu Baseイメージを実行しているAndroidデバイスにUbuntuアプリ(Foliate電子書籍リーダーなど)をインストールするにはどうすればよいですか?

分類Dev

LinuxでシステムデーモンとしてPerlスクリプトを実行するにはどうすればよいですか?

分類Dev

常時実行しているアプリケーションをAzureService Fabricにデプロイするにはどうすればよいですか?

分類Dev

DEの起動時に実行されるようにbashスクリプトをインストールするタスクを(インストーラースクリプトを介して)作成するにはどうすればよいですか?

分類Dev

ソースからアプリケーションをインストールする最後のステップでmakeをrootとして実行しないようにするにはどうすればよいですか?

分類Dev

オフライン時にローカルのmongodbデータベースを使用し、オンライン時にリモートのmongodbサーバーに同期するmeteorアプリを処理するにはどうすればよいですか?

分類Dev

同じUbuntuインストールで別のユーザーとしてSSHを実行するにはどうすればよいですか?

分類Dev

同じUbuntuインストールで別のユーザーとしてSSHを実行するにはどうすればよいですか?

分類Dev

同じUbuntuインストールで別のユーザーとしてSSHを実行するにはどうすればよいですか?

分類Dev

Arango-CMSデモアプリをインストールして使用するにはどうすればよいですか?

分類Dev

シェルスクリプトでエイリアスとしてパラメータを実行するにはどうすればよいですか?

分類Dev

インポート時にPythonがスクリプトを実行しないようにするにはどうすればよいですか?

分類Dev

`fc-cache -f`を実行せずに、手動でインストールしたフォントをすべてのアプリケーションからアクセスできるようにするにはどうすればよいですか?

分類Dev

SSHを介してリモートホストで実行されている「forループ」にインデックスを出力するにはどうすればよいですか?

分類Dev

デュアルブートとしてMacBookProにUbuntuをインストールするにはどうすればよいですか?

分類Dev

デュアルブートとしてMacBookProにUbuntuをインストールするにはどうすればよいですか?

分類Dev

デュアルブートとしてMacBookProにUbuntuをインストールするにはどうすればよいですか?

分類Dev

「プラグインのルートディレクトリでコマンドを実行してPHPクライアントをインストールするには」どうすればよいですか?

分類Dev

RaspbianにAPIをインストールした後、Pythonスクリプトを編集して実行するにはどうすればよいですか?

分類Dev

親モジュールをすでにインストールしているときに実行可能ファイルが実行されないようにする、不足しているユーティリティモジュールを解決するにはどうすればよいですか?

分類Dev

Spring-Bootをクライアントアプリケーションとして実行するにはどうすればよいですか?

分類Dev

毎日のファイルをインポートしてデータブリックスで実行するにはどうすればよいですか?

分類Dev

ドメインに参加しているときにGetWindows10アプリをインストールするにはどうすればよいですか

分類Dev

UbuntuとWindows10をデュアルブートとしてインストールするにはどうすればよいですか?

分類Dev

実行時にnixによってインストールされたライブラリを使用するにはどうすればよいですか?

分類Dev

ElectronアプリをWindowsの実行可能ファイルまたはインストール可能ファイルとしてデプロイするにはどうすればよいですか?

Related 関連記事

  1. 1

    インストール時にUbuntuでアプリをデーモンとして実行するにはどうすればよいですか?

  2. 2

    Redhatでシェルスクリプトをデーモンとして実行するにはどうすればよいですか?

  3. 3

    Ubuntu 14.04にionic-labをインストールしてアプリを実行するにはどうすればよいですか?

  4. 4

    Ubuntu Baseイメージを実行しているAndroidデバイスにUbuntuアプリ(Foliate電子書籍リーダーなど)をインストールするにはどうすればよいですか?

  5. 5

    LinuxでシステムデーモンとしてPerlスクリプトを実行するにはどうすればよいですか?

  6. 6

    常時実行しているアプリケーションをAzureService Fabricにデプロイするにはどうすればよいですか?

  7. 7

    DEの起動時に実行されるようにbashスクリプトをインストールするタスクを(インストーラースクリプトを介して)作成するにはどうすればよいですか?

  8. 8

    ソースからアプリケーションをインストールする最後のステップでmakeをrootとして実行しないようにするにはどうすればよいですか?

  9. 9

    オフライン時にローカルのmongodbデータベースを使用し、オンライン時にリモートのmongodbサーバーに同期するmeteorアプリを処理するにはどうすればよいですか?

  10. 10

    同じUbuntuインストールで別のユーザーとしてSSHを実行するにはどうすればよいですか?

  11. 11

    同じUbuntuインストールで別のユーザーとしてSSHを実行するにはどうすればよいですか?

  12. 12

    同じUbuntuインストールで別のユーザーとしてSSHを実行するにはどうすればよいですか?

  13. 13

    Arango-CMSデモアプリをインストールして使用するにはどうすればよいですか?

  14. 14

    シェルスクリプトでエイリアスとしてパラメータを実行するにはどうすればよいですか?

  15. 15

    インポート時にPythonがスクリプトを実行しないようにするにはどうすればよいですか?

  16. 16

    `fc-cache -f`を実行せずに、手動でインストールしたフォントをすべてのアプリケーションからアクセスできるようにするにはどうすればよいですか?

  17. 17

    SSHを介してリモートホストで実行されている「forループ」にインデックスを出力するにはどうすればよいですか?

  18. 18

    デュアルブートとしてMacBookProにUbuntuをインストールするにはどうすればよいですか?

  19. 19

    デュアルブートとしてMacBookProにUbuntuをインストールするにはどうすればよいですか?

  20. 20

    デュアルブートとしてMacBookProにUbuntuをインストールするにはどうすればよいですか?

  21. 21

    「プラグインのルートディレクトリでコマンドを実行してPHPクライアントをインストールするには」どうすればよいですか?

  22. 22

    RaspbianにAPIをインストールした後、Pythonスクリプトを編集して実行するにはどうすればよいですか?

  23. 23

    親モジュールをすでにインストールしているときに実行可能ファイルが実行されないようにする、不足しているユーティリティモジュールを解決するにはどうすればよいですか?

  24. 24

    Spring-Bootをクライアントアプリケーションとして実行するにはどうすればよいですか?

  25. 25

    毎日のファイルをインポートしてデータブリックスで実行するにはどうすればよいですか?

  26. 26

    ドメインに参加しているときにGetWindows10アプリをインストールするにはどうすればよいですか

  27. 27

    UbuntuとWindows10をデュアルブートとしてインストールするにはどうすればよいですか?

  28. 28

    実行時にnixによってインストールされたライブラリを使用するにはどうすればよいですか?

  29. 29

    ElectronアプリをWindowsの実行可能ファイルまたはインストール可能ファイルとしてデプロイするにはどうすればよいですか?

ホットタグ

アーカイブ