วิธีถอนการติดตั้ง MailScanner บน Rocky Linux (DirectAdmin) ให้สะอาด 100%
บทความนี้อธิบายขั้นตอนการ ถอนการติดตั้ง MailScanner บนระบบ Rocky Linux ที่ใช้งาน DirectAdmin แบบครบทุกขั้นตอน ตั้งแต่ลบแพ็กเกจ → ล้าง process → ลบ tmpfs → ไม่ทิ้ง systemd mount ผี
อาการที่มักพบหลังลบไม่สมบูรณ์
- ลบ MailScanner แล้ว แต่
systemctl list-unit-files | grep mailscannerยังขึ้น - พบ
var-spool-MailScanner-incoming.mount (generated) - ลบ
/var/spool/MailScannerไม่ได้ (Device or resource busy)
สาเหตุ:
MailScanner เคยสร้าง tmpfs mount ที่ /var/spool/MailScanner/incoming systemd จะ generate mount นี้อัตโนมัติแม้ถอนแพ็กเกจแล้ว
ขั้นตอนการถอนการติดตั้ง MailScanner (ทำตามลำดับ)
คำสั่งทั้งหมดต้องรันด้วย root
ขั้นตอนที่ 1: หยุดบริการ MailScanner และระบบเมล
systemctl stop mailscanner
systemctl disable mailscanner
systemctl stop exim
ขั้นตอนที่ 2: ถอนการติดตั้งแพ็กเกจ MailScanner
dnf remove MailScanner -y
กรณีมีแพ็กเกจเสริม
dnf remove MailScanner-core MailScanner-spamassassin -y
ขั้นตอนที่ 3: ตรวจสอบและฆ่า process ที่ค้าง (ถ้ามี)
ps aux | grep MailScanner
ถ้ายังพบ process ที่ไม่ใช่ grep ให้ kill
kill -9 PID
ขั้นตอนที่ 4: ตรวจสอบ tmpfs mount ที่ MailScanner ทิ้งไว้
findmnt | grep MailScanner
หากพบ /var/spool/MailScanner/incoming แสดงว่ายังถูก mount อยู่
ขั้นตอนที่ 5: unmount tmpfs (ขั้นตอนสำคัญที่สุด)
umount -l /var/spool/MailScanner/incoming
ตรวจสอบอีกครั้ง ต้องไม่แสดงผล
findmnt | grep MailScanner
ขั้นตอนที่ 6: ลบไฟล์และโฟลเดอร์ MailScanner
rm -rf /etc/MailScanner
rm -rf /usr/share/MailScanner
rm -rf /var/spool/MailScanner
ตรวจสอบ
ls -ld /var/spool/MailScanner
ขั้นตอนที่ 7: ตรวจสอบและแก้ไข /etc/fstab
grep -i mailscanner /etc/fstab
หากพบตัวอย่างด้านล่าง ให้ลบทั้งบรรทัดออก
tmpfs /var/spool/MailScanner/incoming tmpfs defaults,size=512M 0 0
จากนั้น reload systemd
systemctl daemon-reload
ขั้นตอนที่ 8: ล้าง systemd generator (ลบ mount ผี)
rm -rf /run/systemd/generator/*
rm -rf /run/systemd/generator.late/*
rm -rf /run/systemd/generator.early/*
systemctl daemon-reexec
systemctl daemon-reload
ขั้นตอนที่ 9: ตรวจสอบผลลัพธ์สุดท้าย
systemctl list-unit-files | grep -i mailscanner
ps aux | grep MailScanner
findmnt | grep MailScanner
ผลลัพธ์ที่ถูกต้อง:
ไม่แสดงข้อมูลใด ๆ นอกจาก grep
ขั้นตอนที่ 10: รีบูตเครื่อง (แนะนำ)
reboot
หลังบูต ตรวจสอบซ้ำ
systemctl list-unit-files | grep -i mailscanner
findmnt | grep MailScanner
สรุป
- MailScanner ถูกถอนการติดตั้งออกจากระบบแล้ว 100%
- ไม่มี process, service หรือ tmpfs ค้าง
- ไม่มี systemd mount ที่ถูก generate ซ้ำ
- ระบบเมล DirectAdmin กลับสู่สภาพปกติ
คำแนะนำเพิ่มเติม
- ไม่แนะนำให้ใช้ MailScanner กับ DirectAdmin ในระบบใหม่
- ทางเลือกที่เหมาะสมกว่า: Rspamd หรือ Exim + SpamAssassin