ວິທີການແກ້ໄຂຂໍ້ຜິດພາດ Yum: ຮູບພາບຂໍ້ມູນຂອງຖານຂໍ້ມູນບໍ່ຖືກຕ້ອງ


ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍສັ້ນໆກ່ຽວກັບ YUM, YumDB, ຈາກນັ້ນສາເຫດຂອງຂໍ້ຜິດພາດ Yum: ຮູບພາບຂໍ້ມູນຂອງແຜ່ນຖານຂໍ້ມູນແມ່ນບໍ່ຖືກຕ້ອງແລະວິທີການແກ້ໄຂຂໍ້ຜິດພາດນີ້.

RPM (RedHat Package Manager) ອີງໃສ່ການແຈກຈ່າຍ Linux ເຊັ່ນ Red Hat Enterprise Linux (RHEL), CentOS ເຊັ່ນດຽວກັບລຸ້ນເກົ່າຂອງ Fedora Linux, ພຽງແຕ່ເວົ້າເຖິງແຕ່ວ່າມີ ຈຳ ນວນ ໜ້ອຍ.

ມັນເຮັດວຽກຄືກັນກັບ ຄຳ ສັ່ງ ໃໝ່ ທີ່ ເໝາະ ສົມ; ມັນສາມາດຖືກ ນຳ ໃຊ້ເພື່ອຕິດຕັ້ງຊຸດ ໃໝ່, ຖອດຊຸດເກົ່າແລະແບບສອບຖາມທີ່ຕິດຕັ້ງແລະ/ຫຼືແພັກເກດທີ່ມີຢູ່. ມັນຍັງສາມາດຖືກ ນຳ ໃຊ້ເພື່ອປັບປຸງລະບົບ (ພ້ອມກັບຄວາມລະອຽດເພິ່ງພາອາໄສແລະການປະມວນຜົນທີ່ລ້າສະໄຫມຂື້ນຢູ່ກັບເມຕາດາຕ້າຂອງບ່ອນເກັບຂໍ້ມູນທີ່ເກັບໄວ້)

ໝາຍ ເຫດ: ຄຳ ແນະ ນຳ ນີ້ຈະສົມມຸດວ່າທ່ານ ກຳ ລັງຄວບຄຸມລະບົບຂອງທ່ານເປັນຮາກ, ຖ້າບໍ່ດັ່ງນັ້ນໃຊ້ ຄຳ ສັ່ງ sudo ໂດຍບໍ່ຕ້ອງໃສ່ລະຫັດຜ່ານ; ທ່ານຮູ້ບໍ່ວ່າ, ບໍ່ເປັນຫຍັງ, ໃຫ້ສືບຕໍ່ໄປ.

ຄວາມເຂົ້າໃຈໂດຍຫຍໍ້ຂອງ YumDB

ເລີ່ມຕົ້ນຈາກຮຸ່ນ 3.2.26, yum ເກັບຮັກສາຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຊຸດທີ່ຕິດຕັ້ງຢູ່ໃນສະຖານທີ່ທີ່ຢູ່ນອກຖານຂໍ້ມູນທົ່ວໄປ; ຢູ່ໃນຖານຂໍ້ມູນແຟ້ມເອກະສານງ່າຍໆທີ່ເອີ້ນວ່າ yumdb (/ var/lib/yum/yumdb /) - ບໍ່ແມ່ນຖານຂໍ້ມູນທີ່ແທ້ຈິງ.

# cd /var/lib/yum/yumdb
# ls 

ທ່ານສາມາດກວດສອບລາຍຊື່ ໜຶ່ງ ໃນລາຍຊື່ຍ່ອຍເພື່ອຊອກຮູ້ເພີ່ມເຕີມກ່ຽວກັບ yumdb ດັ່ງຕໍ່ໄປນີ້.

# cd b
# ls

ເຖິງແມ່ນວ່າຂໍ້ມູນນີ້ບໍ່ມີຄວາມ ໝາຍ ຫຍັງຫລາຍຕໍ່ຂະບວນການຂອງ yum, ມັນມີປະໂຫຍດຫລາຍຕໍ່ຜູ້ບໍລິຫານລະບົບ: ມັນອະທິບາຍຢ່າງຈະແຈ້ງເຖິງສະພາບການທີ່ຊຸດ ໜຶ່ງ ຖືກຕິດຕັ້ງຢູ່ໃນລະບົບ.

ຖ້າທ່ານພະຍາຍາມຊອກຫາຜ່ານເອກະສານຕ່າງໆ (ຈາກ_repo, install_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 ທີ່ເສີຍຫາຍ: ອາດເກີດຈາກການກະທົບກະເທືອນຂອງຂະບວນການ“ update yum” ຫຼືການຕິດຕັ້ງຊຸດ.

ເພື່ອແກ້ໄຂຂໍ້ຜິດພາດນີ້, ທ່ານ ຈຳ ເປັນຕ້ອງ ທຳ ຄວາມສະອາດຖານຂໍ້ມູນຖານຂໍ້ມູນໂດຍການ ດຳ ເນີນ ຄຳ ສັ່ງດ້ານລຸ່ມ.

# 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 

ທ່ານຍັງສາມາດກວດເບິ່ງບົດຄວາມ ສຳ ຄັນເຫລົ່ານີ້ກ່ຽວກັບທ່ານຍິມແລະຜູ້ຈັດການຊຸດ Linux ອື່ນໆອີກ:

<

  • ວິທີການໃຊ້ ‘ປະຫວັດຫຍໍ້’ ເພື່ອຊອກຫາຂໍ້ມູນກ່ຽວກັບການຕິດຕັ້ງຫຼືລຶບອອກ
  • 27 'DNF' (Fork of Yum) ຄຳ ສັ່ງ ສຳ ລັບການຈັດການການຈັດການ RPM ໃນ Linux
  • APT ແລະ Aptitude ແມ່ນຫຍັງ? ແລະຄວາມແຕກຕ່າງທີ່ແທ້ຈິງລະຫວ່າງເຂົາເຈົ້າແມ່ນຫຍັງ?
  • ວິທີການໃຊ້ 'apt-fast' ເພື່ອເລັ່ງການດາວໂຫລດແພັກເກດ apt-get/apt ໂດຍໃຊ້ກະຈົກຫຼາຍ
  • ທ່ານມີ ຄຳ ຖາມຫລືຄວາມຄິດໃດທີ່ຈະແບ່ງປັນກ່ຽວກັບຫົວຂໍ້ນີ້, ໃຫ້ ນຳ ໃຊ້ພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອເຮັດ.