indigo-dc / udocker

A basic user tool to execute simple docker containers in batch or interactive systems without root privileges.
https://indigo-dc.github.io/udocker/
Apache License 2.0
1.32k stars 133 forks source link

Update to latest mainline Proot #393

Open Tuupertunut opened 1 year ago

Tuupertunut commented 1 year ago

The latest mainline Proot (https://github.com/proot-me/proot) seems to run Ubuntu much better than the custom Udocker-proot currently bundled with Udocker.

Before: With the bundled Proot running Ubuntu 22.04 in --execmode=P1, I get the following errors when running apt update:

root@machine:~# apt update
Reading package lists... Done
E: Method gave invalid 400 URI Failure message: Could not switch saved set-user-ID
E: Method gave invalid 400 URI Failure message: Could not switch saved set-user-ID
E: Method http has died unexpectedly!
E: Sub-process http returned an error code (112)

After: With mainline Proot starting from commit https://github.com/proot-me/proot/commit/a0dc181e939c29d855f8a0fac12a484fd1014824, running Ubuntu 22.04 in --execmode=P1, I get no errors. Ubuntu runs as it should. apt update works, as well as installing packages. Even complex packages such as systemd are easily installed.

(Note: the latest Proot release 5.3.1 causes different errors, as explained here: https://github.com/proot-me/proot/pull/338. It is only after that pull request that Ubuntu starts to run without issues.)

jorge-lip commented 5 months ago

This is was implemented in the latest versions of udocker.