2026年3月21日 星期六

[技術文章] Zimbra 10 升級殘留 imapd 清理程序

 


系統從 Zimbra 9 升級至 Zimbra 10 後,可能會發現 zmcontrol status 始終顯示 imapd Stopped,但實際上 IMAP 服務卻運作正常。

原因在於舊版的 zimbra-imapd 9.0.0 套件殘留未移除。Zimbra 10 已將 IMAP 功能整合進 mailboxd,不再需要獨立的 imapd 程序,因此這個殘留套件只會造成狀態顯示上的困擾。

本文整理清理此殘留套件的處理程序,提供參考。




問題摘要


系統從 Zimbra 9 升級至 Zimbra 10 後,舊的 zimbra-imapd 9.0.0 套件殘留未移除。Zimbra 10 已將 IMAP 功能整合進 mailboxd,不再需要獨立的 imapd 程序,導致 zmcontrol status 永遠顯示 imapd Stopped

目前 IMAP 服務是正常的,由 mailboxd 在 port 7143/7993 提供服務。



操作步驟


步驟一:移除殘留的 zimbra-imapd 9.0 套件


以 root 帳戶執行,移除升級後殘留的舊版 imapd 套件。

# 以 root 帳戶執行
apt remove zimbra-imapd


步驟二:從服務清單移除 imapd


切換至 zimbra 帳戶,將 imapd 從 Zimbra 的服務啟用清單中移除。請將 mail.example.com 替換為您的 Zimbra 主機 hostname。

# 切換至 Zimbra 帳戶
su - zimbra
zmprov ms mail.example.com -zimbraServiceEnabled imapd


步驟三:驗證


完成上述操作後,請逐一確認以下項目,確保服務狀態正確且 IMAP 功能不受影響。

# 確認服務狀態(imapd 不應再出現在列表中)
zmcontrol status

# 確認 IMAP port 仍正常服務
echo "" | nc -w2 localhost 7143

# 確認 IMAPS port 正常
echo "" | nc -w2 localhost 7993

# 確認 mailboxd 仍在監聽 IMAP port
ss -tlnp | grep -E "7143|7993"

exit



預期結果


操作完成後,預期結果如下:

  • zmcontrol status 所有服務皆為 Running,不再出現 imapd
  • port 7143 回應 * OK mail.example.com Zimbra IMAP4rev1 server ready
  • port 7993(IMAPS)正常監聽
  • mailboxd(java)持續監聽 7143 和 7993

至此,升級殘留的 imapd 已完成清理,zmcontrol status 恢復為全部 Running 的正常狀態。



參考資料