I have a question about how TemplateVMs handle potential “installation identifiers” that some software might create during install time.
Here’s an example:
I have a Debian TemplateVM where I installed Google Chrome (using the official .deb package).
I then created four AppVMs based on that template. Each AppVM uses its own Chrome profile (stored in /home).
I understand that:
The Template’s root filesystem (/usr, /opt, etc.) is mounted read-only inside AppVMs.
Each AppVM has its own persistent /home and /rw directories.
However, I started wondering whether some programs — like Chrome — generate a unique installation identifier during installation (for example, in /opt/google/… or similar).
If so, that identifier would be shared across all AppVMs using the same TemplateVM, since they all use the same read-only system files. In this case, Google would know this as well…
I couldn’t find any documentation or discussion about this on the forum.
Has anyone ever thought about this, and besides creating a separate template per AppVM, do you have any solutions or workarounds?
However, I started wondering whether some programs — like Chrome — generate a unique installation identifier during installation (for example, in /opt/google/… or similar).
You can verify it:
Install the same browser in 2 separate templates. Check which files are put/changed on the system by the installer. Copy them to a VM and run diff. What is the result?
Has anyone ever thought about this, and besides creating a separate template per AppVM, do you have any solutions or workarounds?
A possible (wasteful) one is to install the browser package on AppVM start through a script in /rw/config/rc.local. However, that is not a panacea because if we assume browser X generates such ID, it really depends how it is generated. If it is based on data which is the same in all AppVMs (e.g. CPU model), that renders the whole exercise pointless.
Even if no ID is generated in a file, a sneaky browser X (or any other software) can still generate the ID internally (in RAM) and use it while running.