Mètode de fitxer superposa¶
Visió¶
La imatge del sistema de fitxers arrel d’UBports proporciona un conjunt de fitxers de configuració per defecte per a una sèrie de característiques com l’escalat de la pantalla, el so, el bluetooth i molt més. Aquests fitxers poden no estar adaptats a les característiques específiques del dispositiu de l’objectiu d’adaptació i, per tant, poden haver d’ajustar-se. A més, també pot ser necessari afegir fitxers de configuració addicionals, així com scripts per a necessitats específiques. Els fitxers superposats proporcionen una solució per reemplaçar fitxers existents o afegir-los nous al sistema de fitxers.
La manera com s’implementen els fitxers superposats i les seves limitacions varien entre els mètodes de construcció i les diferents versions d’Ubuntu Touch.
Com funcionen els fitxers superposats basats en muntatge¶
Podeu superposar fitxers individuals, però també reemplaçar o fusionar directoris existents sense modificar realment el sistema de fitxers subjacent. Això funciona a la partició arrel d’Ubuntu Touch, així com a les particions d’Android.
Si un subdirectori conté un fitxer especial anomenat
halium-override-diraquest directori reemplaçarà l’arbre de directoris de destinació, és a dir, el contingut del directori subjacent i els seus descendents ja no seran accessibles.Si un subdirectori conté un fitxer especial anomenat
halium-overlay-dires fusionarà amb el directori de destinació. Qualsevol fitxer del directori subjacent o descendents d’aquest segueix sent accessible si no hi ha cap fitxer amb el mateix camí de destinació a l’arbre de directoris superposats. Els fitxers i directoris sencers que només existeixen en la superposició es fan accessibles en els seus respectius camins de destinació. Això s’implementa utilitzant el sistema de fitxers overlayfs (vegeu la documentació overlayfs per als detalls tècnics).Els fitxers dels directoris que contenen cap dels fitxers especials anteriors es vinculen sobre fitxers amb un camí absolut derivat de la supressió del prefix anterior. Els subdirectoris es recorreran i avaluaran d’acord amb les normes esbossades.
Nota
Si la versió del nucli és antiga, és possible que hàgiu d’aplicar pedaços per a que funcionin les superposicions. Sense aquests pedaços, encara podeu superposar fitxers individuals, però la superposició/fusió de directoris sencers pot fallar amb errors de muntatge.
Nota
Heu d’establir l’opció següent a la deviceinfo del port per a habilitar fitxers superposats basats en muntatge: deviceinfouseoverlaystore."true".
Els detalls sobre com es pot col·locar un fitxer o directori superposat depenen del sistema de construcció utilitzat i es descriuran a continuació.
Exemples¶
Continguts de overlay/system/haliums:
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
Contingut de la imatge subjacent del sistema de fitxers:
/etc
├── foo
│ ├── conf.d
│ │ ├── 10-global.conf
│ │ ├── 20-system.conf
│ │ └── 90-local.conf
│ └── foo.conf
├── bar
│ ├── bar.conf
│ └── baz.conf
└── bazrc
El sistema de fitxers combinat resultant es veu de la següent manera:
/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)
El directori /etc/foo s’ha fusionat, mentre que el directori /etc/bar i el fitxer /etc/bazrc han estat reemplaçats.