Ubuntu 14には複数のSysV
初期化スクリプト(/etc/init.d/
)があります。
systemd
ユニットファイルを動的に生成するUbuntu 16に移行した後は、実際には機能しませんでした。一部のサービスは開始でき、一部のサービスは開始できません。
私の意見は次のとおりです。
SysV
初期化スクリプト(/etc/init.d/
- > )を再配置/var/lib/my-services/
し、スクリプトを介してサービスを開始できることを確認してください。適切な
systemd
ユニットファイルの生成(/etc/systemd/system
)と再配置されたSysV
初期化スクリプトの使用(/var/lib/my-services/
)
SysV
initスクリプトを再利用できますか?またはSysV
適用されない特定のコンテンツを含めることができますかsystemd
?
アップデート#1:SysV
Ubuntu 16のApache2は初期化スクリプト()と共にデフォルトで提供されています/etc/init.d/apache2
。systemd
Apache2の例はありますか?
ベストアンサー1
systemdには以前のバージョンとの互換性がありますが、1対1ではありません。たとえば、SysV initスクリプトではカスタムサブコマンドを追加できますが、systemdでは追加できません。
私の経験では、古いinitスクリプトを正常に実行しようとすると、追加のデバッグや奇妙な動作が発生する可能性があります。
initスクリプトをシステム単位のファイルに書き換えることで、長期的に時間を節約できると思います。
標準のサードパーティ製ソフトウェアを使用している場合、プロジェクトはすでに利用可能な独自のシステム単位ファイルを提供する可能性が高くなります。