Score:0

จู่ๆ Postfix ก็ไม่ได้รับการกำหนดค่าสำหรับ MySQL

ธง dz

ฉันใช้เซิร์ฟเวอร์นี้มาประมาณหนึ่งสัปดาห์แล้ว ติดตั้ง Ubuntu 20.04 ใหม่ แพ็คเกจทั้งหมดติดตั้งผ่าน apt ฉันสามารถรับและส่งเมลนอก IP ของฉันได้ จู่ๆ ก็รับอีเมลไม่ได้อีกต่อไป

ฉันตรวจสอบบันทึกและสังเกตเห็นในไม่ช้า ข้อผิดพลาด: ประเภทพจนานุกรมที่ไม่รองรับ: mysql ซึ่งหมายความว่า postfix ไม่สามารถตรวจสอบผู้รับกับฐานข้อมูลของฉันได้ ฉันตรวจสอบของฉัน รายการ apt -- ติดตั้ง เอาต์พุต แต่ติดตั้ง postfix-mysql ดังนั้นนั่นจึงไม่ใช่ปัญหา ในไม่ช้าฉันก็ค้นพบว่าฉันต้องเพิ่มบรรทัด: mysql /usr/lib/postfix/postfix-mysql.so.1.0.1 dict_mysql_open ถึง /etc/postfix/dynamicmaps.cf และทำก โหลด postfix ซ้ำ.

คำถามของฉันคือสิ่งนี้เกิดขึ้นได้อย่างไร ฉันมี ปรับปรุง apt && อัพเกรด apt cron ทำงานซึ่งอัปเดตเซิร์ฟเวอร์โดยอัตโนมัติ

อัปเดต

การอัปเดตล่าสุดที่ฉันเห็นคือสิ่งนี้:

2021-09-28 23:01:31 อัพเกรด postfix:amd64 3.4.13-0ubuntu1.1 3.4.13-0ubuntu1.2 ปัญหาเริ่มต้นขึ้นหลังจากนั้น dynamicmaps.cf ว่างเปล่ายกเว้นบรรทัดคำแนะนำที่แสดงความคิดเห็นที่ด้านบน ฉันเพิ่มบรรทัด mysql และตอนนี้เป็นบรรทัดการทำงานเดียวในไฟล์

อัปเดต 2

หลังจากฆ่าทุกกระบวนการที่พบกับ ps -Af | grep -E 'dpkg|debconf|apt|unatt' ฉันวิ่ง:

อัปเดต sudo apt
sudo apt-get install --fix-break
sudo dpkg --configure -a -D223

ซึ่งทำให้ฉันมีข้อผิดพลาดต่อไปนี้เมื่อพยายามกำหนดค่า postfix:

D000001: ประมวลผลคิว pkg postfix-mysql:amd64 คิวเลน 54 ความคืบหน้า 1 ลอง 1
dpkg: ปัญหาการพึ่งพาป้องกันการกำหนดค่า postfix-mysql:
 postfix-mysql ขึ้นอยู่กับ postfix (= 3.4.13-0ubuntu1.2); อย่างไรก็ตาม:
  ไม่ได้ติดตั้ง package postfix

dpkg: ข้อผิดพลาดในการประมวลผลแพ็คเกจ postfix-mysql (--configure):
 ปัญหาการพึ่งพา - ปล่อยให้ไม่ได้กำหนดค่า

ฉันไม่รู้เกี่ยวกับ dpkg มากพอที่จะเข้าใจสิ่งนี้ เกิดอะไรขึ้นที่นี่?

ปรับปรุง 3

dpkg-query --show --showformat='${package} ${status}\n' 'postfix*' อัตราผลตอบแทน:

ติดตั้ง postfix ตกลง ติดตั้ง postfix-cdb ไม่รู้จัก ตกลง ไม่ได้ติดตั้ง
ไม่ทราบ postfix-doc ตกลง ไม่ได้ติดตั้ง
postfix-ldap ไม่รู้จัก ตกลง ไม่ได้ติดตั้ง
postfix-lmdb ไม่รู้จัก ตกลง ไม่ได้ติดตั้ง
ติดตั้ง postfix-mysql ตกลงแล้ว
ไม่ทราบ postfix-pcre ตกลง ไม่ได้ติดตั้ง
postfix-pgsql ไม่รู้จัก ตกลง ไม่ได้ติดตั้ง
postfix-sqlite ที่ไม่รู้จักตกลงไม่ได้ติดตั้ง

ดังนั้นแพ็คเกจที่ร้องขอทั้งสองจึงอยู่ในสถานะตกลงและติดตั้ง คำสั่ง apt ไม่ได้แนะนำการแก้ไขเท่าที่ฉันเห็น (และฉันอ่านผลลัพธ์อย่างระมัดระวัง) ดูเหมือนว่าคำแนะนำของคุณจะได้ผล

สิ่งที่ฉันไม่ชอบคือการไม่รู้ว่าฉันกำลังทำอะไรอยู่ แต่นั่นเกิดจากการขาดความรู้ apt และ dpkg ของฉันเอง

anx avatar
fr flag
anx
เปิด dpkg.log ของคุณแล้วตรวจสอบเวอร์ชันที่คุณพบการเปลี่ยนแปลงที่ไม่คาดคิด นอกจากนี้ เนื้อหาของไฟล์ `dynamicmaps.cf` ก่อนที่คุณจะแก้ไขคืออะไร
Guido Goluke avatar
dz flag
อัปเดตคำถามด้วยข้อมูล
anx avatar
fr flag
anx
คุณเพิ่มข้อผิดพลาดเท่านั้น แต่ฉันคาดหวังว่า `apt-get install -f` จะแนะนำวิธีแก้ปัญหาการพึ่งพาให้คุณโดยอัตโนมัติ apt-get พูดอะไร?
anx avatar
fr flag
anx
คำสั่ง dpkg-query ที่ฉันแนะนำควรแสดงรายการสถานะปัจจุบันของแพ็คเกจที่เกี่ยวข้องทั้งหมด .. แต่อาจใช้ความพยายามน้อยกว่าเพียงแค่ `apt install postfix postfix-mysql` และดูว่าเกิดอะไรขึ้น
Guido Goluke avatar
dz flag
ขอบคุณอีกครั้ง อัปเดตในอัปเดต 3
Score:0
ธง fr
anx

ทุกครั้งที่คุณอัปเกรดแพ็กเกจแผนที่ postfix อันดับแรกจะลบประเภทแผนที่ที่เกี่ยวข้องออกจาก /etc/postfix/dynamicmaps.cf และเพิ่มในภายหลังเท่านั้น (ด้านหลัง) คุณสามารถดูด้วยตนเองว่าสิ่งนี้ใช้งานได้โดยบังคับให้กำหนดค่าใหม่ผ่าน dpkg-กำหนดค่า postfix-mysql.dp ใหม่. หากไฟล์ถูกปล่อยว่างไว้หลังจากการอัพเกรด นั่นน่าจะหมายความว่าการอัปเกรดถูกขัดจังหวะ หรือแม้แต่ยังคงหยุดทำงาน รอการป้อนข้อมูลจากผู้ใช้ที่ไม่เคยได้รับ

หากคุณใช้ SRU ทั้งหมด คุณจะต้องอัปเกรด Postfix เป็น 3.4.13-0ubuntu1.2 สำหรับอูบุนตู 20.04 ฉันขอแนะนำให้คุณยืนยันว่าไม่มีการอัปเกรดในขณะนี้:

ps -Af | grep -E 'dpkg|debconf|apt|unatt'
dpkg-query --show --showformat='${package} ${status}\n' 'postfix*'

งาน cron ของคุณมีข้อบกพร่องที่ไม่สามารถบอกได้ว่านี่คือ a ไม่โต้ตอบ การวิงวอนนี้ อาจ เป็นเหตุผลที่มันแขวนอยู่

หากจำเป็น ตรวจสอบให้แน่ใจว่าได้ติดตั้งแพ็คเกจทั้งหมดอย่างถูกต้อง ในระหว่างขั้นตอนนี้ คุณอาจเห็นคำเตือนหรือคำถามที่ช่วยในการพิจารณา ทำไม งาน cron ของคุณล้มเหลว

อัปเดต sudo apt
sudo apt-get install --fix-break
sudo dpkg --configure -a -D223

อย่าลืมลบงาน cron ที่ละเมิดเนื่องจากตั้งค่าบางอย่างที่เชื่อถือได้ โปรแกรม อัพเกรดแบบอัตโนมัติ มักเป็นวิธีการที่ต้องการใช้การอัปเกรดบนระบบ Ubuntu เมื่อไม่มีผู้ดูแลระบบคอยช่วยเหลือ มันจะข้ามหรือใช้ค่าเริ่มต้นสำหรับสิ่งที่ควรจะขอแบบโต้ตอบ

Guido Goluke avatar
dz flag
ขอบคุณมาก. เอาต์พุต ps ให้ผลลัพธ์จำนวนหนึ่งแก่ฉัน สิ่งที่ทำให้ฉันสะดุดคือ: `root 979323 979322 0 Sep28 ? 00:00:00 /bin/sh -c (apt-get update && apt-get -y upgrade) > /dev/null` วันที่ 28 ก.ย. เป็นวันที่หลังจากเกิดข้อผิดพลาด ฉันถือว่านี่เป็นการบอกฉันว่ากระบวนการอัปเดตยังคงค้างอยู่ใช่ไหม
anx avatar
fr flag
anx
โอ้ นั่นคือเสียงเรียก cron ของคุณ ดูเหมือนว่ามันจะหยุดทำงาน ดูว่ากระบวนการอื่น ๆ (โดยเฉพาะ: กระบวนการย่อยของกระบวนการที่คุณพบ) กำลังทำงานอยู่ - ฉันสงสัยว่าการอัปเกรดติดขัดในขณะที่เรียก dpkg/debconf ที่ไหนสักแห่งหากคุณไม่ต้องการแก้ไขปัญหานี้ ให้ปิดกระบวนการลูก รอให้ apt จัดการกับสิ่งนั้น จากนั้นลองทำตามขั้นตอนของฉันเพื่อให้แน่ใจว่าคุณได้รับแพ็คเกจทั้งหมดกลับสู่ปกติ
Guido Goluke avatar
dz flag
ขอบคุณอีกครั้ง อัปเดตคำถามของฉันด้วยผลการวิจัย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา