Running software from other Debian releases

From techdocs
Revision as of 15:08, 24 Haziran 2022 by Andrewt (talk | contribs) (Created page with "CSE "new world" systems run Debian stable. Software from other Debian releases can be useful for other purposes - particularly more recent versions of software from Debian testing. The programs <code>unstable</code>, <code>testing</code>, <code>stable</code>, <code>oldstable</code>, <code>sid</code> <code>bookworm</code> <code>bullseye</code> <code>buster</code> in <code>/usr/local/extrafiles/bin/</code> run software from the corresponding Debian release. For example...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

CSE "new world" systems run Debian stable. Software from other Debian releases can be useful for other purposes - particularly more recent versions of software from Debian testing.

The programs unstable, testing, stable, oldstable, sid bookworm bullseye buster in /usr/local/extrafiles/bin/ run software from the corresponding Debian release. For example:

$ unstable nodejs --version
v16.15.1
$ testing nodejs --version
v16.14.2
$ bullseye nodejs --version
v12.22.5
$ buster nodejs --version
v10.24.0

The builds are updated weekly. Software may be missing from unstable/sid if builds fail, e.g. to conflicts.

Providing Access from a Class Account

It can be convienent to provide access to software via a him script in the class account.

For example if COMP2041 students need access to the version of git from testing, this could be provided by creating /home/cs2041/bin/git like this:

$ git --version
git version 2.31.0
$ cat /home/cs2041/bin/git
#!/bin/sh

exec /usr/local/extrafiles/bin/testing /usr/bin/"$(basename "$0")" "$@"
$ 2041 git --version
git version 2.35.1
$ 

Limitations

The scripts and builds of other Debian distributions are unprivileged. Software that requires privileges will fail if executed this way. This avoids security concerns .

Execution is in a separate user namespace - for more information see Controlling Resources & Privileges with Linux namespaces, cgroups & limits Files owned by other users appear as owned by nobody/ which may break some things.

A set of pathnames including /dev and /proc are bind mounted into a mount namespace. This is sufficient for simple purposes but may not be sufficient for some software.