ວິທີການໃຊ້ໄຟລ໌ 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 ຖືກປ່ຽນແທນ.