ວິທີການແກ້ໄຂຂໍ້ຜິດພາດ 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 ອື່ນໆອີກ:
<
ທ່ານມີ ຄຳ ຖາມຫລືຄວາມຄິດໃດທີ່ຈະແບ່ງປັນກ່ຽວກັບຫົວຂໍ້ນີ້, ໃຫ້ ນຳ ໃຊ້ພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອເຮັດ.