Manually installing packages in thin read-only distributions

I am trying to install our product in a NoTouchOS – a Raspberry Pi thin client OS.

Given the fact it is a thin client, many libraries do not come out-of-the-box, such as apt, sudo

I am trying to manually install apt (Raspberry PI OS is debian based), by manually downloading the .deb package and running dpkg -i (dpkg is present there), but I get

unable to clean up mess surrounding './usr/bin/apt' before installing another version: Read-only file system

As a matter of fact, I get the same error (on ./usr/bin/cvtsudoers) when trying to install sudo package, in the same manner.

enter image description here

How should this be tackled ?
Posts I could find on the topic mention mounting. How do I know if this is a mounting issue ?

Asked By: Veverke

||

NoTouch OS is not based on Raspberry Pi OS or any other Linux distribution, so even if it has dpkg, installing packages from some other distribution is unlikely to end well.

Anyway, NoTouch OS is designed to have an immutable base; that’s why you can’t write to /usr/bin:

NoTouch images are immutable and can not be modified after build, not even after installation.

Since NoTouch OS is designed as a VDI system, the general idea is to provide access to applications on a remote system, not to applications inside the NoTouch OS setup. It seems you can ship applications on NoTouch OS if you really want to, but only in /config or /tmp (in the latter case, downloading the application at startup). But Stratodesk would really prefer if you contracted them to do it for you (unsurprisingly).

Getting down to brass tacks, since your applications seems to require a number of packages other than its own, I suspect your best bet might be to debootstrap a chroot inside /config, or to manually copy all the files you need for your application inside /config, without relying on packages at all.

Answered By: Stephen Kitt
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.