Debian

是否可以停止 dpkg-reconfigure 重新啟動服務

  • December 6, 2017

我正在為基於 Debian 的系統建構安裝密鑰。安裝密鑰基本上將磁碟映像複製到系統上,然後在 chroot 中安裝許多在建構過程中復製到安裝密鑰的軟體包。

install 密鑰所做的其中一件事是擦除現有的 ssh 密鑰(因此我們不會創建一堆“相同”的 ssh 伺服器)。為了嘗試堅持 debian 的做事方式,我執行 dpkg-reconfigure openssh-server 來重新生成密鑰,但在重新配置結束時它會嘗試重新啟動伺服器,該伺服器當然沒有在安裝密鑰 chroot 中執行。

是否可以告訴 debconf 重新配置但不重新啟動服務?

您要問的不是直接的 debconf 或 dpkg-reconfigure 的功能。如果您下載 openssh-server 的 .deb 並從 control.tar.gz 中提取文件,您將看到“postinst”腳本執行 invoke-rc.d 或 /etc/init.d/ssh:

第 418 行:

setup_init() {
 if [ -x /etc/init.d/ssh ]; then
   update-rc.d ssh start 16 2 3 4 5 . stop 84 1 . >/dev/null
   if [ -x /usr/sbin/invoke-rc.d ]; then
     invoke-rc.d ssh restart
   else
     /etc/init.d/ssh restart
   fi
 fi
}

根據本文件的內容,您應該/usr/sbin/policy-rc.d在 chroot 中創建一個腳本,該腳本執行exit 101.

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