Debian

在 Debian 10 Buster 中創建自定義 /etc/init.d 腳本

  • August 11, 2019

我需要開發一個/etc/init.d腳本來啟動和停止 Debian 10 Buster 中的伺服器(二進制執行檔)。而在 Debian 的早期版本中,您會編寫一個完整的 shell 腳本來發出對 的呼叫'start-stop-daemon',而在最近的版本中,這些機制似乎已經被抽象掉了。手冊頁'init-d-script'提供了一個簡單的腳本,它將根據設置一個變數來啟動和停止伺服器'DAEMON'

但是,我需要在伺服器啟動後通過將鎖定文件寫入磁碟來進行自定義,更改目前工作目錄並將自定義參數傳遞給伺服器。

手冊頁指的是開發覆蓋函式,例如'do_start_override''do_stop_override'可能被呼叫而不是預設函式。我應該如何編寫覆蓋函式?我應該複製並粘貼該功能並對其'do_start_cmd()'進行'/lib/init/init-d-script'修改嗎?或者我應該呼叫'start_daemon()'中定義的函式'/lib/lsb/init-functions'

聰明的回應:

apt-get install sysvinit-core

免責聲明:我沒有在 Buster 上做過這個,不要在重要的系統上嘗試。

假設您想堅持使用新的預設值,因為 Jessie,systemdinit.d 腳本不是首選方法配置一個 systemd 服務單元將是要走的路。

引用自:https://serverfault.com/questions/978814