github termux/proot-distro v5.0.2
Version 5.0, major update

3 hours ago

Project was completely revamped, but still keeps 80% compatibility with previous v4.x releases. After version 5.0 the project shifts direction towards integration with existing container image hosting infrastructure.

Changes summary:

  • Rewritten in Python. New variant appears to be up to 10 times faster than original shell script implementation.
  • All logic doesn't depend on external tools, i.e. no downloads with curl or archive extraction with proot --link2symlink tar -xf ....
  • No config files (distribution "plugins") anymore.
  • Supports installation from both OCI (Docker) images and plain rootfs tar archives.
  • Supports regular Linux distribution as host operating system besides Termux.
  • New command proot-distro run: for executing server images, similar to docker run.
  • New command proot-distro sync: efficient synchronization of changes between source and destination directories (host/container), similar to rsync.

Required proot version (Termux): 5.1.107-71 or newer

PRoot-Distro no longer acts as a provider of distributions: please use search to find desired distributions or build own images.

The one change that is actually breaking is the how proot-distro install <distname> works in v5. Now instead of <distname> user has to specify either a valid Docker image reference or path to local rootfs archive:

  • proot-distro install ubuntu
  • proot-distro install danhunsaker/archlinuxarm:20260517
  • proot-distro install --name opensuse opensuse/leap:15

Format is <registryhost>/<username>/<image>:<tag>. Registry host, user name and tag are optional. Omitting <registryhost>/<username> means that image will be pulled from official Docker library.

Omitting image tag means that proot-distro will install the latest available version. This is not recommended, as pulled distribution version can be bleeding-edge, development snapshot or otherwise unstable.

Warning: most recent versions of distributions may show general incompatibilities with proot, e.g. gdk-pixbuf package configured with glycin which requres bwrap sandboxing utility to work but failure happens because proot doesn't provide Linux namespaces.

Distributions provided on Docker Hub can be minimized (e.g. debian or ubuntu, usually restored by unminimize command) or configured to not install manpages (rpm-based distributions - need to change rpm config to restore).

Distributions recommended to try:

  • alpine:3.23
  • archlinux/archlinux:base-20260517.0.530531 (x86_64!)
  • danhunsaker/archlinuxarm:20260517
  • chimeralinux/chimera:latest
  • debian:12
  • fedora:44
  • gentoo/stage3:20260511 (disable sandbox via /etc/portage/make.conf)
  • manjarolinux/base:20260322
  • nixos/nix:2.32.8
  • opensuse/leap:15
  • rockylinux/rockylinux:10
  • aclemons/slackware:current
  • ubuntu:24.04

Don't miss a new proot-distro release

NewReleases is sending notifications on new releases.