distrobox assemble
Contents
Compatibility
for a list of compatible images and container managers, please consult the man page:
man distrobox
man distrobox-compatibility
or consult the documentation page on: https://github.com/89luca89/distrobox/blob/main/docs/compatibility.md#containers-distros
Description
distrobox-upgrade will enter the specified list of containers and will perform an upgrade using the
container’s package manager.
Environment Variables
DBX_CONTAINER_MANAGER
DBX_CONTAINER_NAME
DBX_NON_INTERACTIVE
DBX_SUDO_PROGRAM
Distrobox Jan 2025 DISTROBOX-STOP(1)
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
DISTROBOX-UPGRADE(1) User Manual DISTROBOX-UPGRADE(1)
Examples
Upgrade all distroboxes
distrobox-upgrade --all
Upgrade all running distroboxes
distrobox-upgrade --all --running
Upgrade a specific distrobox
distrobox-upgrade alpine-linux
Upgrade a list of distroboxes
distrobox-upgrade alpine-linux ubuntu22 my-distrobox123
Automaticallyupdatealldistro
You can create a systemd service to perform distrobox-upgrade automatically, this example shows how to
run it daily:
~/.config/systemd/user/distrobox-upgrade.service
[Unit]
Description=distrobox-upgrade Automatic Update
[Service]
Type=simple
ExecStart=distrobox-upgrade --all
StandardOutput=null
~/.config/systemd/user/distrobox-upgrade.timer
[Unit]
Description=distrobox-upgrade Automatic Update Trigger
[Timer]
OnBootSec=1h
OnUnitInactiveSec=1d
[Install]
WantedBy=timers.target
Then simply do a systemctl --user daemon-reload && systemctl --user enable --now distrobox-upgrade.timer
Distrobox Jan 2025 DISTROBOX-UPGRADE(1)
Extra
This command is used to enter the distrobox itself. Personally, I just create multiple profiles in my
gnome-terminal to have multiple distros accessible.
The --additional-flags or -a is useful to modify default command when executing in the container. For
example:
distrobox enter -n dev-arch --additional-flags "--env my_var=test" -- printenv &| grep my_var
my_var=test
This is possible also using normal env variables:
my_var=test distrobox enter -n dev-arch --additional-flags -- printenv &| grep my_var
my_var=test
If you’d like to enter a rootful container having distrobox use a program other than `sudo' to run
podman/docker/lilipod as root, such as `pkexec' or `doas', you may specify it with the DBX_SUDO_PROGRAM
environment variable. For example, to use `doas' to enter a rootful container:
DBX_SUDO_PROGRAM="doas" distrobox enter -n container --root
Additionally, in one of the config file paths that distrobox supports, such as ~/.distroboxrc, you can
also append the line distrobox_sudo_program="doas" (for example) to always run distrobox commands
involving rootful containers using `doas'.
Distrobox Jan 2025 DISTROBOX-ENTER(1)
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
DISTROBOX-EPHEMERAL(1) User Manual DISTROBOX-EPHEMERAL(1)
Name
distrobox-upgrade
See Also
distrobox-create --help
man distrobox-create
Synopsis
distroboxupgrade
--help/-h: show this message
--all/-a: perform for all distroboxes
--running: perform only for running distroboxes
--root/-r: launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
--verbose/-v: show more verbosity
--version/-V: show version
