ວິທີການໃຊ້ໄຟລ໌ Overlay¶
ພາບລວມ¶
ຮູບພາບລະບົບໄຟລ໌ root ຂອງ UBports ມີໄຟລ໌ການຕັ້ງຄ່າເລີ່ມຕົ້ນສຳລັບຫຼາຍຟີເຈີ ເຊັ່ນ ການປັບຂະໜາດໜ້າຈໍ, ສຽງ, ບລູທູດ ແລະ ອື່ນໆ. ໄຟລ໌ເຫຼົ່ານີ້ອາດຈະບໍ່ເໝາະສົມກັບຟີເຈີສະເພາະຂອງອຸປະກອນທີ່ທ່ານພອດຢູ່ ຈຶ່ງຕ້ອງໄດ້ຮັບການປັບແຕ່ງ. ນອກຈາກນັ້ນ ອາດຈຳເປັນຕ້ອງເພີ່ມໄຟລ໌ການຕັ້ງຄ່າ ຫຼື ສະຄຣິບເພີ່ມເຕີມຕາມຄວາມຕ້ອງການ. ໄຟລ໌ Overlay ແມ່ນວິທີແກ້ໄຂເພື່ອປ່ຽນແທນໄຟລ໌ທີ່ມີຢູ່ ຫຼື ເພີ່ມໄຟລ໌ໃໝ່ເຂົ້າໃນລະບົບໄຟລ໌.
ວິທີການນຳໃຊ້ໄຟລ໌ overlay ແລະ ຂໍ້ຈຳກັດຂອງພວກມັນຈະແຕກຕ່າງກັນໄປຕາມວິທີການ build ແລະ ເວີຊັນຕ່າງໆຂອງ Ubuntu Touch.
ວິທີການເຮັດວຽກຂອງໄຟລ໌ overlay ແບບ mount-based¶
ທ່ານສາມາດ overlay ແຍກແຕ່ລະໄຟລ໌ ຫຼື ປ່ຽນແທນ/ຮວມໄດເຣັກທໍຣີທີ່ມີຢູ່ໄດ້ໂດຍບໍ່ຕ້ອງແກ້ໄຂລະບົບໄຟລ໌ພື້ນຖານຕົວຈິງ. ວິທີນີ້ໃຊ້ໄດ້ທັງໃນພາທິຊັນ root ຂອງ Ubuntu Touch ແລະ ພາທິຊັນ Android.
ຫາກໄດເຣັກທໍຣີຍ່ອຍມີໄຟລ໌ພິເສດຊື່
.halium-override-dirໄດເຣັກທໍຣີນັ້ນຈະເຂົ້າໄປປ່ຽນແທນໄດເຣັກທໍຣີປາຍທາງທັງໝົດ, ໝາຍຄວາມວ່າເນື້ອຫາເດີມໃນໄດເຣັກທໍຣີພື້ນຖານ ແລະ ໄດເຣັກທໍຣີຍ່ອຍຂອງມັນຈະບໍ່ສາມາດເຂົ້າເຖິງໄດ້ອີກ.ຫາກໄດເຣັກທໍຣີຍ່ອຍມີໄຟລ໌ພິເສດຊື່
.halium-overlay-dirມັນຈະຖືກຮວມ (merge) ເຂົ້າກັບໄດເຣັກທໍຣີປາຍທາງ. ໄຟລ໌ເດີມໃນລະບົບພື້ນຖານຈະຍັງເຂົ້າເຖິງໄດ້ ຫາກບໍ່ມີໄຟລ໌ຊື່ດຽວກັນໃນ overlay ມາຂຽນທັບ. ໄຟລ໌ ຫຼື ໄດເຣັກທໍຣີທີ່ມີຢູ່ສະເພາະໃນ overlay ຈະສາມາດເຂົ້າເຖິງໄດ້ໃນເສັ້ນທາງປາຍທາງຂອງພວກມັນ. ນີ້ແມ່ນການນຳໃຊ້ລະບົບໄຟລ໌ overlayfs (ເບິ່ງ ເອກະສານ overlayfs ສຳລັບລາຍລະອຽດທາງເຕັກນິກ).ໄຟລ໌ໃນໄດເຣັກທໍຣີທີ່ບໍ່ມີໄຟລ໌ພິເສດຂ້າງເທິງ ຈະຖືກ bind-mounted ທັບໄຟລ໌ທີ່ມີເສັ້ນທາງສົມບູນ (absolute path). ໄດເຣັກທໍຣີຍ່ອຍຈະຖືກກວດສອບ ແລະ ປະເມີນຕາມກົດລະບຽບທີ່ໄດ້ກ່າວມາຕໍ່ໄປ.
Note
ຫາກເຄີເນີນຂອງທ່ານເວີຊັນເກົ່າ ທ່ານອາດຕ້ອງນຳໃຊ້ patches ເພື່ອໃຫ້ overlayfs ເຮັດວຽກໄດ້. ຫາກບໍ່ມີ patches ເຫຼົ່ານີ້ ທ່ານຈະຍັງ overlay ແຍກແຕ່ລະໄຟລ໌ໄດ້ ແຕ່ການ overlay/merge ທັງໄດເຣັກທໍຣີອາດຈະລົ້ມເຫຼວ.
Note
ທ່ານຄວນຕັ້ງຄ່າຕົວເລືອກຕໍ່ໄປນີ້ໃນ deviceinfo ຂອງພອດຂອງທ່ານ ເພື່ອເປີດໃຊ້ໄຟລ໌ overlay ແບບ mount-based: deviceinfo_use_overlaystore="true".
ລາຍລະອຽດກ່ຽວກັບວິທີການວາງໄຟລ໌ ຫຼື ໄດເຣັກທໍຣີ overlay ຈະຂຶ້ນກັບລະບົບ build ທີ່ໃຊ້ ແລະ ຈະຖືກອະທິບາຍດ້ານລຸ່ມ.
ຕົວຢ່າງ¶
Contents of overlay/system/halium:
overlay
└── system
└── halium
└── etc
├── foo
│ ├── .halium-overlay-dir
│ ├── conf.d
│ │ ├── 50-drivers.conf
│ │ └── 90-local.conf
│ └── foo.conf
├── bar
│ ├── .halium-override-dir
│ └── bar.conf
└── bazrc
Contents of the underlying filesystem image:
/etc
├── foo
│ ├── conf.d
│ │ ├── 10-global.conf
│ │ ├── 20-system.conf
│ │ └── 90-local.conf
│ └── foo.conf
├── bar
│ ├── bar.conf
│ └── baz.conf
└── bazrc
The resulting combined filesystem the looks as follows:
/etc
├── foo
│ ├── .halium-overlay-dir
│ ├── conf.d
│ │ ├── 10-global.conf
│ │ ├── 20-system.conf
│ │ ├── 50-drivers.conf (added)
│ │ └── 90-local.conf (replaced)
│ └── foo.conf (replaced)
├── bar (replaced)
│ ├── .halium-override-dir
│ └── bar.conf
└── bazrc (replaced)
ໄດເຣັກທໍຣີ /etc/foo ຖືກຮວມເຂົ້າກັນ (merged), ໃນຂະນະທີ່ໄດເຣັກທໍຣີ /etc/bar ແລະ ໄຟລ໌ /etc/bazrc ຖືກປ່ຽນແທນ.