ค้นหาเว็บไซต์

วิธีแก้ไขข้อผิดพลาด Yum: อิมเมจดิสก์ฐานข้อมูลมีรูปแบบไม่ถูกต้อง


ในบทความนี้ เราจะอธิบายสั้น ๆ เกี่ยวกับ YUM, YumDB จากนั้นสาเหตุของ ข้อผิดพลาด Yum: อิมเมจของดิสก์ฐานข้อมูลมีรูปแบบไม่ถูกต้อง และวิธีแก้ไขปัญหานี้ ข้อผิดพลาด.

YUM (Yellowdog Updater, Modified) เป็นเครื่องมือเริ่มต้นระดับสูงสำหรับการจัดการแพ็คเกจ Linux บนการกระจาย Linux ที่ใช้ RPM (RedHat Package Manager) เช่น Red Hat Enterprise Linux (RHEL), CentOS รวมถึง Fedora Linux เวอร์ชันเก่าเพียง ที่จะกล่าวถึงเพียงไม่กี่

มันทำงานเหมือนกับคำสั่ง apt-get หรือคำสั่ง apt ที่ค่อนข้างใหม่ สามารถใช้เพื่อติดตั้งแพ็คเกจใหม่ ลบแพ็คเกจเก่า และแบบสอบถามที่ติดตั้งและ/หรือแพ็คเกจที่มีอยู่ นอกจากนี้ยังสามารถใช้เพื่ออัปเดตระบบ (ร่วมกับการแก้ไขการขึ้นต่อกันและการประมวลผลที่ล้าสมัย โดยขึ้นอยู่กับเมตาดาต้าของพื้นที่เก็บข้อมูลที่เก็บไว้)

หมายเหตุ: คู่มือนี้จะถือว่าคุณกำลังควบคุมระบบของคุณในฐานะ root มิฉะนั้นให้ใช้คำสั่ง sudo เพื่อรันคำสั่งทั้งหมดด้านล่างนี้ ที่น่าสนใจคือคุณยังสามารถเรียกใช้คำสั่ง sudo ได้โดยไม่ต้องป้อนรหัสผ่าน คุณรู้ไหมว่า โอเค มาทำต่อกันเถอะ

ความเข้าใจโดยย่อของ YumDB

ตั้งแต่เวอร์ชัน 3.2.26 เป็นต้นไป yum จะจัดเก็บข้อมูลเสริมเกี่ยวกับแพ็คเกจที่ติดตั้งในตำแหน่งนอกฐานข้อมูล rpm ทั่วไป ในฐานข้อมูลไฟล์แฟลตธรรมดาที่เรียกว่า yumdb (/var/lib/yum/yumdb/) ไม่ใช่ฐานข้อมูลจริง

cd /var/lib/yum/yumdb
ls 

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

cd b
ls

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

หากคุณลองค้นหาไฟล์ต่างๆ (from_repo, installed_by, releasever ฯลฯ..) ที่แสดงในภาพหน้าจอด้านบน คุณอาจไม่เห็นอะไรเลย สำคัญในตัวพวกเขา

หากต้องการเข้าถึงข้อมูลในนั้น คุณต้องติดตั้ง yum-utils ซึ่งมีสคริปต์ชื่อ yumdb จากนั้นใช้สคริปต์นี้ตามที่อธิบายไว้ด้านล่าง

yum install yum-utils 

คำสั่งต่อไปนี้จะได้รับ repo ที่ติดตั้ง httpd

yumdb get from_repo httpd

หากต้องการกำหนดบันทึกย่อบนแพ็คเกจ httpd และ mariadb ให้พิมพ์

yumdb set note "installed by aaronkilik to setup LAMP" httpd mariadb

และหากต้องการดูค่า yumdb ทั้งหมดที่เกี่ยวข้องกับ httpd และ mariadb ให้พิมพ์

yumdb info httpd mariadb

แก้ไขข้อผิดพลาด Yum: ภาพดิสก์ฐานข้อมูลมีรูปแบบไม่ถูกต้อง

ในบางครั้งขณะติดตั้งแพ็คเกจหรืออัปเดตระบบโดยใช้ YUM คุณอาจพบข้อผิดพลาด: “อิมเมจของดิสก์ฐานข้อมูลมีรูปแบบไม่ถูกต้อง ” อาจเป็นผลมาจาก yumdb ที่เสียหาย: อาจเกิดจากการขัดขวางกระบวนการ “yum update ” หรือการติดตั้งแพ็คเกจ

เพื่อแก้ไขข้อผิดพลาดนี้ คุณต้องล้างแคชฐานข้อมูลโดยเรียกใช้คำสั่งด้านล่าง

yum clean dbcache 

หากคำสั่งข้างต้นไม่ทำงาน (แก้ไขข้อผิดพลาด) ให้ลองเรียกใช้ชุดคำสั่งด้านล่าง

yum clean all			#delete entries in /var/cache/yum/ directory.
yum clean metadata		#clear XML metadeta		
yum clean dbcache		#clear the cached files for database
yum makecache		        #make cache

สุดท้าย คุณต้องสร้างฐานข้อมูล RPM ของระบบใหม่เพื่อให้ทำงานได้

mv /var/lib/rpm/__db* /tmp
rpm --rebuilddb

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

yum update 

คุณสามารถตรวจสอบบทความสำคัญเหล่านี้เกี่ยวกับ yum และผู้จัดการแพ็คเกจ Linux อื่น ๆ เหล่านี้:

  1. วิธีใช้ 'ประวัติ Yum' เพื่อค้นหาข้อมูลแพ็คเกจที่ติดตั้งหรือลบออก
  2. 27 คำสั่ง 'DNF' (Fork of Yum) สำหรับการจัดการแพ็คเกจ RPM ใน Linux
  3. APT และความถนัดคืออะไร? และความแตกต่างที่แท้จริงระหว่างพวกเขาคืออะไร?
  4. วิธีใช้ 'apt-fast' เพื่อเร่งความเร็วการดาวน์โหลดแพ็คเกจ apt-get/apt โดยใช้หลายมิเรอร์

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