8.4.3. Checksums, Conffiles
ນອກເຫນືອຈາກສະຄິບຜູ້ຮັກສາແລະຂໍ້ມູນການຄວບຄຸມທີ່ໄດ້ກ່າວມາແລ້ວໃນພາກກ່ອນຫນ້າ, the control.tar.gz ແຟ້ມຈັດເກັບຂອງແພັກເກັດ Debian ອາດມີໄຟລ໌ທີ່ຫນ້າສົນໃຈອື່ນໆ:
# ar p /var/cache/apt/archives/bash_4.4-2_amd64.deb control.tar.gz | tar -tzf -
./
./conffiles
./control
./md5sums
./postinst
./postrm
./preinst
./prerm
./
./conffiles
./control
./md5sums
./postinst
./postrm
./preinst
./prerm
ຄັ້ງທໍາອິດ -md5sums— ມີ checksums MD5 ສໍາລັບໄຟລ໌ທັງຫມົດຂອງຊຸດ. ປະໂຫຍດຕົ້ນຕໍຂອງມັນແມ່ນວ່າມັນອະນຸຍາດໃຫ້ dpkg --ຢືນຢັນ ເພື່ອກວດເບິ່ງວ່າໄຟລ໌ເຫຼົ່ານີ້ໄດ້ຖືກດັດແກ້ຕັ້ງແຕ່ການຕິດຕັ້ງຂອງພວກເຂົາບໍ. ໃຫ້ສັງເກດວ່າເມື່ອໄຟລ໌ນີ້ບໍ່ມີ, dpkg ຈະສ້າງມັນແບບເຄື່ອນໄຫວໃນເວລາຕິດຕັ້ງ (ແລະເກັບໄວ້ໃນຖານຂໍ້ມູນ dpkg ຄືກັນກັບໄຟລ໌ຄວບຄຸມອື່ນໆ).
conffiles ລາຍຊື່ໄຟລ໌ຊຸດທີ່ຕ້ອງໄດ້ຮັບການຈັດການເປັນໄຟລ໌ການຕັ້ງຄ່າ. ໄຟລ໌ການຕັ້ງຄ່າສາມາດຖືກແກ້ໄຂໂດຍຜູ້ເບິ່ງແຍງລະບົບ, ແລະ dpkg ຈະພະຍາຍາມຮັກສາການປ່ຽນແປງເຫຼົ່ານັ້ນໃນລະຫວ່າງການອັບເດດແພັກເກດ.
ໃນຄວາມເປັນຈິງ, ໃນສະຖານະການດັ່ງກ່າວ, dpkg ປະຕິບັດຕົວຢ່າງສະຫຼາດເທົ່າທີ່ເປັນໄປໄດ້: ຖ້າໄຟລ໌ການຕັ້ງຄ່າມາດຕະຖານບໍ່ໄດ້ປ່ຽນແປງລະຫວ່າງສອງຮຸ່ນ, ມັນບໍ່ມີຫຍັງເລີຍ. ຢ່າງໃດກໍຕາມ, ຖ້າໄຟລ໌ມີການປ່ຽນແປງ, ມັນຈະພະຍາຍາມປັບປຸງໄຟລ໌ນີ້. ສອງກໍລະນີເປັນໄປໄດ້: ຜູ້ເບິ່ງແຍງລະບົບບໍ່ໄດ້ແຕະຕ້ອງໄຟລ໌ການຕັ້ງຄ່ານີ້, ໃນກໍລະນີນີ້ dpkg ອັດຕະໂນມັດການຕິດຕັ້ງສະບັບໃຫມ່; ຫຼືໄຟລ໌ໄດ້ຖືກດັດແກ້, ໃນກໍລະນີນີ້ dpkg ຖາມຜູ້ເບິ່ງແຍງລະບົບວ່າພວກເຂົາຕ້ອງການໃຊ້ເວີຊັນໃດ (ອັນເກົ່າທີ່ມີການດັດແກ້, ຫຼືສະບັບໃຫມ່ທີ່ສະຫນອງໃຫ້ກັບຊຸດ). ເພື່ອຊ່ວຍໃນການຕັດສິນໃຈນີ້, dpkg ຂໍ້ສະເຫນີໃຫ້ສະແດງ a diff ທີ່ສະແດງໃຫ້ເຫັນຄວາມແຕກຕ່າງລະຫວ່າງສອງສະບັບ. ຖ້າຫາກທ່ານເລືອກທີ່ຈະເກັບຮັກສາສະບັບເກົ່າ, ໃຫມ່ຈະໄດ້ຮັບການເກັບຮັກສາໄວ້ໃນສະຖານທີ່ດຽວກັນໃນໄຟລ໌ທີ່ມີ .dpkg-dist ຕໍ່ທ້າຍ. ຖ້າຫາກວ່າທ່ານເລືອກເອົາສະບັບໃຫມ່, ອັນເກົ່າແມ່ນເກັບຮັກສາໄວ້ໃນໄຟລ໌ທີ່ມີ .dpkg-ເກົ່າ ຕໍ່ທ້າຍ. ການປະຕິບັດທີ່ມີຢູ່ອື່ນປະກອບດ້ວຍການຂັດຂວາງຊົ່ວຄາວ dpkg ການແກ້ໄຂໄຟລ໌ແລະພະຍາຍາມທີ່ຈະຟື້ນຟູການດັດແກ້ທີ່ກ່ຽວຂ້ອງ (ກ່ອນຫນ້ານີ້ໄດ້ກໍານົດກັບ diff).
dpkg ຈັດການກັບການປັບປຸງໄຟລ໌ການຕັ້ງຄ່າ, ແຕ່, ໃນຂະນະທີ່ເຮັດເຊັ່ນນັ້ນ, ຂັດຂວາງການເຮັດວຽກຂອງຕົນຢ່າງເປັນປົກກະຕິເພື່ອຮ້ອງຂໍການປ້ອນຂໍ້ມູນຈາກຜູ້ບໍລິຫານ. ນີ້ສາມາດໃຊ້ເວລາຫຼາຍແລະບໍ່ສະດວກ. ໂຊກດີ, ທ່ານສາມາດສັ່ງໃຫ້ dpkg ຕອບສະຫນອງຕໍ່ການເຕືອນເຫຼົ່ານີ້ໂດຍອັດຕະໂນມັດ. ທາງເລືອກ --force-confold ຮັກສາໄຟລ໌ສະບັບເກົ່າ, ໃນຂະນະທີ່ --force-confnew ຈະໃຊ້ສະບັບໃຫມ່. ທາງເລືອກເຫຼົ່ານີ້ຖືກເຄົາລົບ, ເຖິງແມ່ນວ່າໄຟລ໌ບໍ່ໄດ້ຖືກປ່ຽນໂດຍຜູ້ບໍລິຫານ, ເຊິ່ງພຽງແຕ່ບໍ່ຄ່ອຍມີຜົນກະທົບທີ່ຕ້ອງການ. ການເພີ່ມທາງເລືອກ --force-confdef ບອກ dpkg ໃຫ້ຕັດສິນໃຈດ້ວຍຕົນເອງເມື່ອເປັນໄປໄດ້ (ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ເມື່ອໄຟລ໌ການຕັ້ງຄ່າຕົ້ນສະບັບບໍ່ໄດ້ແຕະຕ້ອງ), ແລະພຽງແຕ່ໃຊ້ --force- confnew ຫຼື --force-confold ສໍາລັບກໍລະນີອື່ນໆ.
ທາງເລືອກເຫຼົ່ານີ້ນໍາໃຊ້ກັບ dpkg, ແຕ່ສ່ວນໃຫຍ່ຂອງເວລາທີ່ຜູ້ບໍລິຫານຈະເຮັດວຽກໂດຍກົງກັບ ຄວາມສາມາດ or ເຫມາະສົມ ໂຄງການ. ດັ່ງນັ້ນ, ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະຮູ້ syntax ທີ່ໃຊ້ເພື່ອຊີ້ບອກທາງເລືອກທີ່ຈະສົ່ງຕໍ່ dpkg ຄໍາສັ່ງ (ການໂຕ້ຕອບເສັ້ນຄໍາສັ່ງຂອງພວກເຂົາແມ່ນຄ້າຍຄືກັນຫຼາຍ).
# apt -o DPkg::options::=”--force-confdef” -o DPkg::options::=”--force-confdef” full-
➥ ຍົກລະດັບ
# apt -o DPkg::options::=”--force-confdef” -o DPkg::options::=”--force-confdef” full-
➥ ຍົກລະດັບ
ທາງເລືອກເຫຼົ່ານີ້ສາມາດຖືກເກັບໄວ້ໂດຍກົງໃນ ເຫມາະສົມການຕັ້ງຄ່າຂອງ. ເພື່ອເຮັດສິ່ງນີ້, ພຽງແຕ່ຂຽນເສັ້ນຕໍ່ໄປນີ້ຢູ່ໃນ /etc/apt/apt.conf.d/local file:
DPkg::ທາງເລືອກ { ”--force-confdef”; "--force-confold"; }
DPkg::ທາງເລືອກ { ”--force-confdef”; "--force-confold"; }
ລວມທັງທາງເລືອກນີ້ໃນໄຟລ໌ການຕັ້ງຄ່າຫມາຍຄວາມວ່າມັນຍັງຈະຖືກນໍາໃຊ້ໃນການໂຕ້ຕອບຮູບພາບເຊັ່ນ: ຄວາມສາມາດ.
ກົງກັນຂ້າມ, ທ່ານຍັງສາມາດບັງຄັບ dpkg ເພື່ອຖາມຄໍາຖາມໄຟລ໌ການຕັ້ງຄ່າ. ໄດ້ --force-confask ຄໍາແນະນໍາທາງເລືອກ dpkg ເພື່ອສະແດງຄໍາຖາມກ່ຽວກັບໄຟລ໌ການຕັ້ງຄ່າ, ເຖິງແມ່ນວ່າໃນກໍລະນີທີ່ປົກກະຕິແລ້ວພວກມັນບໍ່ຈໍາເປັນ. ດັ່ງນັ້ນ, ເມື່ອຕິດຕັ້ງຊຸດໃຫມ່ດ້ວຍຕົວເລືອກນີ້, dpkg ຈະຖາມຄໍາຖາມອີກເທື່ອຫນຶ່ງສໍາລັບໄຟລ໌ການຕັ້ງຄ່າທັງຫມົດທີ່ດັດແກ້ໂດຍຜູ້ບໍລິຫານ. ນີ້ແມ່ນສະດວກຫຼາຍ, ໂດຍສະເພາະແມ່ນການຕິດຕັ້ງໄຟລ໌ການຕັ້ງຄ່າຕົ້ນສະບັບໃຫມ່ຖ້າມັນຖືກລຶບແລະບໍ່ມີສໍາເນົາອື່ນ: ການຕິດຕັ້ງໃຫມ່ປົກກະຕິຈະບໍ່ເຮັດວຽກ, ເພາະວ່າ. dpkg ພິຈາລະນາການໂຍກຍ້າຍອອກເປັນຮູບແບບການດັດແກ້ທີ່ຖືກຕ້ອງ, ແລະດັ່ງນັ້ນ, ບໍ່ໄດ້ຕິດຕັ້ງໄຟລ໌ການຕັ້ງຄ່າທີ່ຕ້ອງການ.
ເອກະສານ