ການປັບປຸງຊຸດຊອບແວ ແລະ ແອັບພລິເຄຊັນ

ການປັບປຸງຊຸດຊອບແວແບບຊັ້ນ (Layered Packages)

ຊຸດຊອບແວທີ່ເພີ່ມເຂົ້າໃນອິເມຈ Fedora IoT ດ້ວຍ rpm-ostree install ຈະຖືກປັບປຸງໄປພ້ອມກັບລະບົບປະຕິບັດການພື້ນຖານ ເມື່ອມີການລັນຄຳສັ່ງ rpm-ostree upgrade ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ການອັບເດດ ແລະ ການຍ້ອນກັບ.

ເຄື່ອງມື rpm-ostree ນຳໃຊ້ຄັງເກັບຊອບແວ (repositories) ທີ່ຖືກກຳນົດຄ່າໄວ້ໃນໄດເຣັກທໍຣີ /etc/yum.repos.d. ອິເມຈ Fedora IoT ຖືກກຳນົດຄ່າໃຫ້ກວດສອບຊຸດຊອບແວຈາກຄັງເກັບຂອງ Fedora ຫຼາຍແຫ່ງ ເຊິ່ງລວມມີຄັງເກັບ fedora-updates ແລະ fedora-updates-modular.

ໃນ Fedora, ກ່ອນທີ່ການອັບເດດຈະເປີດໃຫ້ໃຊ້ງານທົ່ວໄປ, ພວກມັນຈະຖືກທົດສອບໃນຄັງເກັບ fedora-updates-testing ແລະ fedora-updates-testing-modular ກ່ອນ. ໄຟລ໌ກຳນົດຄ່າ ແລະ ກະແຈ gpg ສຳລັບຄັງເກັບເຫຼົ່ານີ້ ແມ່ນໄດ້ລວມຢູ່ໃນອິເມຈ Fedora IoT ແລ້ວ ແຕ່ຍັງບໍ່ທັນໄດ້ເປີດໃຊ້ງານໄວ້ເປັນຄ່າເລີ່ມຕົ້ນ.

ເພື່ອເປີດໃຊ້ງານຄັງເກັບສຳລັບທົດສອບ, ໃຫ້ແກ້ໄຂໄຟລ໌ກຳນົດຄ່າໃນ /etc/yum.repos.d ແລະ ສຳລັບແຕ່ລະຄັງເກັບທີ່ຕ້ອງການ, ໃຫ້ປ່ຽນແຖວ enabled= ເປັນ enabled=1

$ cat /etc/yum.repos.d/fedora-updates-testing-modular.repo
[updates-testing-modular] (1)
name=Fedora Modular $releasever - $basearch - Test Updates
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/testing/$releasever/Modular/$basearch/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-testing-modular-f$releasever&arch=$basearch
enabled=1  (2)
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

[updates-testing-modular-debuginfo]  (3)
name=Fedora Modular $releasever - $basearch - Test Updates Debug
failovermethod=priority

... ຜົນການສະແດງຖືກຕັດອອກ ...
1 ແຕ່ລະຄັງເກັບຊອບແວຈະມີຊື່ຢູ່ໃນວົງຂໍ (square brackets)
2 ພາຣາມິເຕີ enabled ຈະຮັບຄ່າແບບບູລີນ (boolean)
3 ໄຟລ໌ກຳນົດຄ່າໜຶ່ງໄຟລ໌ ສາມາດບັນຈຸການກຳນົດຄ່າຂອງຫຼາຍໆຄັງເກັບຊອບແວໄດ້.

ທ່ານສາມາດ ເພີ່ມຄັງເກັບຊອບແວເພີ່ມເຕີມ ເຂົ້າໃນໄຟລ໌ກຳນົດຄ່າ ເພື່ອເປີດໃຊ້ງານການອັບເດດອື່ນໆ, ການທົດສອບ ຫຼື ຄັງເກັບສຳລັບການພັດທະນາ.

ການປັບປຸງຄອນເທນເນີ (Containers)

ໂດຍການວາງແອັບພລິເຄຊັນໄວ້ໃນຄອນເທນເນີ, ລະບົບປະຕິບັດການແມ່ຂ່າຍ (host) ສາມາດອັບເດດໄດ້ຢ່າງວ່ອງໄວ ໂດຍບໍ່ສົ່ງຜົນກະທົບຕໍ່ເວີຊັນຂອງຊຸດຊອບແວພາຍໃນຄອນເທນເນີ. ແຕ່ຈະເກີດຫຍັງຂຶ້ນ ເມື່ອຈຳເປັນຕ້ອງມີການແກ້ໄຂ ຊຸດຊອບແວທີ່ເປັນສ່ວນໜຶ່ງຂອງຄອນເທນເນີ?

ຄອນເທນເນີຖືກອອກແບບມາໃຫ້ມີນ້ຳໜັກເບົາ, ສາມາດປ່ຽນແທນກັນໄດ້ ແລະ ມີອາຍຸການໃຊ້ງານຊົ່ວຄາວ. ເມື່ອຄອນເທນເນີໃດໜຶ່ງຈຳເປັນຕ້ອງໄດ້ຮັບການອັບເດດ, ມັນຈະຖືກລຶບອອກ ແລະ ມີການຕິດຕັ້ງຄອນເທນເນີໃໝ່ເຂົ້າໄປແທນທີ່.

ຫາກຄອນເທນເນີຂອງທ່ານຖືກສ້າງຂຶ້ນມາຈາກອິເມຈພື້ນຖານ (base image) ອື່ນ, ທ່ານຈຳເປັນຕ້ອງຕິດຕາມເບິ່ງການອັບເດດ ຂອງອິເມຈພື້ນຖານນັ້ນ ແລະ ທຳການສ້າງຄອນເທນເນີໃໝ່ໂດຍໃຊ້ອິເມຈທີ່ອັບເດດແລ້ວ.

ໃນວົງການອຸດສາຫະກຳມີການບໍລິການທີ່ຫຼາກຫຼາຍ ເພື່ອຊ່ວຍໃນການກວດສອບຊ່ອງໂຫວ່, ການແຈ້ງເຕືອນການອັບເດດ, ລະບົບການສ້າງ (build systems) ແລະ ເຄື່ອງມື CD/CI ອື່ນໆ ສຳລັບຄອນເທນເນີ.

ມັນເປັນວິທີທີ່ດີທີ່ບໍ່ຄວນເຮັດການແກ້ໄຂ (patch) ພາຍໃນຄອນເທນເນີ ເພາະມັນບໍ່ສາມາດຂະຫຍາຍຕົວໄດ້ດີ. ແຕ່ໃຫ້ສ້າງຄອນເທນເນີໃໝ່ ແລ້ວຈຶ່ງຕິດຕັ້ງຄອນເທນເນີນັ້ນໃສ່ຫຼາຍໆອຸປະກອນ. ຄອນເທນເນີທີ່ມີຢູ່ໃນຄັງເກັບສ່ວນກາງ (shared registry) ແລະ ຖືກຕິດແທັກວ່າ 'latest' ຈະຖືກນຳມາໃຊ້ໃນຄັ້ງຕໍ່ໄປທີ່ຄຳສັ່ງ podman run ຮ້ອງຂໍໃຊ້ອິເມຈນັ້ນ.