Unroot 1.0.1
Maintenance Release — August 8, 2026
Unroot 1.0.1 incorporates the first round of real-world feedback after the
initial release.
This release strengthens robustness, streamlines the user experience, improves
the CLI interface, and enhances diagnostics and archive safety.
Highlights include removing the standalone single command while adding
enter --single for unmanaged rootfs trees, adding essential device nodes to
/dev for better tool compatibility, fixing a setgroups issue affecting
Gentoo (Gentoo users should still set FEATURES="-pid-sandbox" due to a
QEMU/Portage incompatibility), providing a sensible default PATH to simplify
command invocation, and making --map-ro more convenient for common use cases.
Full details below:
Rootfs Compatibility
-
/devnow includes/dev/full, standard stream links, and proper PTY
support. Shell process substitution and interactive tools work correctly
without exposing the entire host/devtree.
(#2) -
Commands now receive a sensible default
PATHfocused on the rootfs. You can
still customize it explicitly, or use--no-default-envfor a completely
empty environment when needed.
(#3) -
Rich roots now preserve supplementary group memberships, allowing tools like
Portage to drop privileges correctly. The safety restriction onsetgroups
remains in place for single-ID mappings only.
(#6) -
When namespace setup fails, error messages now clearly explain what went
wrong and why, including helpful context for AppArmor, seccomp, SELinux, or
container-related issues.
(#7)
Ownership And CLI
-
unroot enter --single ROOTlets you enter unmanaged, single-owner rootfs
trees without needing subordinate UID/GID allocations.
(#4) -
--map-ro SOURCEis now shorthand for--map-ro SOURCE:SOURCE— simpler
when the host and container paths match.
(#5) -
The standalone
unroot singlecommand has been removed to reduce confusion.
Single-ID namespace root is now available throughunroot enter --single
when entering a specific rootfs.
(#12,
#14) -
Native mode is now described more clearly as Unroot's conventional privileged
chroot workflow for host-owned and mounted filesystems.
(#11)
Archive Safety And Ownership Conversion
-
packandunpacknow check whether your tar installation supports ACLs,
extended attributes, and SELinux labels. Unroot refuses to silently lose
metadata by default; use--forceif you accept reduced fidelity.
(#8) -
Documentation now explains how to convert between rich and native roots:
packfollowed byunpack --nativecreates a native tree from a rich root,
while the reverse flow creates a managed rich copy without manual ownership
changes.
(#10)
Known QEMU Compatibility Boundary
Foreign Portage builds may need FEATURES="-pid-sandbox" because QEMU
linux-user cannot create a host thread after Portage enters another PID
namespace. Native-architecture builds are unaffected. Unroot documents this
upstream limitation but does not silently alter distribution policy.
(#13,
QEMU #172)