1DISTROBOX-ASSEMBLE(1)             User Manual            DISTROBOX-ASSEMBLE(1)
2
3
4

NAME

6              distrobox assemble
7              distrobox-assemble
8

DESCRIPTION

10       distrobox-assemble  takes  care of creating or destroying containers in
11       batches, based on a manifest file.  The manifest  file  by  default  is
12       ./distrobox.ini, but can be specified using the --file flag.
13

SYNOPSIS

15       distrobox assemble
16
17              --file:         path to the distrobox manifest/ini file
18              --name/-n:          run against a single entry in the manifest/ini file
19              --replace/-R:       replace already existing distroboxes with matching names
20              --dry-run/-d:       only print the container manager command generated
21              --verbose/-v:       show more verbosity
22              --version/-V:       show version
23

EXAMPLES

25       This is an example manifest file to create two containers:
26
27              [ubuntu]
28              additional_packages="git vim tmux nodejs"
29              image=ubuntu:latest
30              init=false
31              nvidia=false
32              pull=true
33              root=false
34              replace=true
35              start_now=false
36
37              # You can add comments using this #
38              [arch] # also inline comments are supported
39              additional_packages="git vim tmux nodejs"
40              home=/tmp/home
41              image=archlinux:latest
42              init=false
43              start_now=true
44              init_hooks="touch /init-normal"
45              nvidia=true
46              pre_init_hooks="touch /pre-init"
47              pull=true
48              root=false
49              replace=false
50              volume="/tmp/test:/run/a /tmp/test:/run/b"
51
52       Create
53
54       We can bring them up simply using
55
56              distrobox assemble create
57
58       If the file is called distrobox.ini and is in the same directory you’re
59       launching the command, no further arguments are needed.  You can speci‐
60       fy a custom path for the file using
61
62              distrobox assemble create --file /my/custom/path.ini
63
64       Replace
65
66       By  default,  distrobox  assemble  will replace a container only if re‐
67       place=true is specified in the manifest file.
68
69       In the example of the manifest above, the ubuntu container will  always
70       be replaced when running distrobox assemble create, while the arch con‐
71       tainer will not.
72
73       To force a replace for all containers in a manifest use  the  --replace
74       flag
75
76              distrobox assemble create --replace [--file my/custom/path.ini]
77
78       Remove
79
80       We can bring down all the containers in a manifest file by simply doing
81
82              distrobox assemble rm
83
84       Or using a custom path for the ini file
85
86              distrobox assemble rm --file my/custom/path.ini
87
88       Test
89
90       You  can  always  test  what  distrobox would do by using the --dry-run
91       flag.  This command will only print what commands  distrobox  would  do
92       without actually running them.
93
94       Available options
95
96       This is a list of available options with the corresponding type:
97
98       Flag Name             Type
99       ─────────────────────────────
100       additional_flags      string
101       additional_packages   string
102       home                  string
103       image                 string
104       init_hooks            string
105       pre_init_hooks        string
106       volume                string
107       exported_apps         string
108       exported_bins         string
109       exported_bins_path    string
110       entry                 bool
111       start_now             bool
112       init                  bool
113       nvidia                bool
114       pull                  bool
115       root                  bool
116       unshare_ipc           bool
117       unshare_netns         bool
118       unshare_process       bool
119       unshare_devsys        bool
120       unshare_all           bool
121
122       boolean  options default to false if not specified.  string options can
123       be broken in multiple declarations additively in order to improve read‐
124       ability of the file:
125
126              [ubuntu]
127              image=ubuntu:latest
128              additional_packages="git vim tmux nodejs"
129              additional_packages="htop iftop iotop"
130              additional_packages="zsh fish"
131
132       Be  aware  that  if  you’re  doing lines with spaces, you need to quote
133       them.  If you’re doing multiple hooks (init or  pre_init)  in  multiple
134       lines,  end  the line with a semicolon (;) in order to execute them one
135       after the other.
136
137       For an explanation of each of the option in the list, take  a  look  at
138       the  distrobox create usage, each option corresponds to one of the cre‐
139       ate flags.
140
141       Advanced example
142
143              [tumbleweed_distrobox]
144              image=registry.opensuse.org/opensuse/distrobox
145              pull=true
146              additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
147              additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
148              additional_packages="git git-credential-libsecret"
149              additional_packages="patterns-devel-base-devel_basis"
150              additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
151              additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
152              additional_packages="kubernetes-client helm"
153              init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest;
154              init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest;
155              init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest;
156              init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest;
157              init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest;
158              init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon;
159              init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun;
160              init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker;
161              init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose;
162              init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak;
163              init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman;
164              init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open;
165              exported_apps="htop"
166              exported_bins="/usr/bin/htop /usr/bin/git"
167              exported_bins_path="~/.local/bin"
168
169
170
171DISTROBOX(1)                      User Manual                     DISTROBOX(1)
172
173
174

COMPATIBILITY

176       This project does not need a dedicated image.  It can use any  OCI  im‐
177       ages from docker-hub, quay.io, or any registry of your choice.
178
179       Many cloud images are stripped down on purpose to save size and may not
180       include commands such as which, mount, less or vi).   Additional  pack‐
181       ages  can  be  installed once inside the container.  We recommend using
182       your preferred automation tool inside the container if you  find  your‐
183       self  having to repeatedly create new containers.  Maintaining your own
184       custom image is also an option.
185
186       The main concern is having basic Linux utilities  (mount),  basic  user
187       management utilities (usermod, passwd), and sudo correctly set.
188
189   SUPPORTED CONTAINER MANAGERS
190       distrobox    can    run   on   either   podman,   docker   or   lilipod
191       (https://github.com/89luca89/lilipod)
192
193       It depends either on podman configured in rootless mode  or  on  docker
194       configured  without sudo (follow THESE instructions (https://docs.dock
195       er.com/engine/install/linux-postinstall/))
196
197       • Minimum podman version: 2.1.0
198
199       • Minimum docker client version: 19.03.15
200
201       • Minimum lilipod version: v0.0.1
202
203       Follow the official installation guide here:
204
205       • <https://podman.io/getting-started/installation>
206
207       • <https://docs.docker.com/engine/install>
208
209       • <https://docs.docker.com/engine/install/linux-postinstall/>
210
211   CONTAINERS DISTROS
212       Distrobox guests tested successfully with the following  container  im‐
213       ages:
214
215       Distro                    Version                    Images
216       ──────────────────────────────────────────────────────────────────────────────
217       AlmaLinux (Toolbox)       8 9                        quay.io/toolbx-im‐
218                                                            ages/almalinux-tool‐
219                                                            box:8   quay.io/toolbx-
220                                                            images/almalinux-tool‐
221                                                            box:9   quay.io/toolbx-
222                                                            images/almalinux-tool‐
223                                                            box:latest
224       Alpine (Toolbox)          3.16 3.17 3.18 edge        quay.io/toolbx-im‐
225                                                            ages/alpine-tool‐
226                                                            box:3.16  quay.io/tool‐
227                                                            bx-images/alpine-tool‐
228                                                            box:3.17  quay.io/tool‐
229                                                            bx-images/alpine-tool‐
230                                                            box:3.18  quay.io/tool‐
231                                                            bx-images/alpine-tool‐
232                                                            box:edge  quay.io/tool‐
233                                                            bx-images/alpine-tool‐
234                                                            box:latest
235       AmazonLinux (Toolbox)     2 2022                     quay.io/toolbx-im‐
236                                                            ages/amazonlinux-tool‐
237                                                            box:2   quay.io/toolbx-
238                                                            images/amazonlinux-
239                                                            toolbox:2023
240                                                            quay.io/toolbx-im‐
241                                                            ages/amazonlinux-tool‐
242                                                            box:latest
243       Archlinux (Toolbox)                                  quay.io/toolbx-im‐
244                                                            ages/archlinux-tool‐
245                                                            box:latest
246       Bazzite Arch                                         ghcr.io/ublue-os/bazz‐
247                                                            ite-arch:latest
248                                                            ghcr.io/ublue-os/bazz‐
249                                                            ite-arch-gnome:latest
250       Centos (Toolbox)          stream8 stream9            quay.io/toolbx-im‐
251                                                            ages/centos-tool‐
252                                                            box:stream8
253                                                            quay.io/toolbx-im‐
254                                                            ages/centos-tool‐
255                                                            box:stream9
256                                                            quay.io/toolbx-im‐
257                                                            ages/centos-tool‐
258                                                            box:latest
259
260
261
262
263
264
265       Debian (Toolbox)          10 11 12 testing unsta‐    quay.io/toolbx-im‐
266                                 ble                        ages/debian-toolbox:10
267                                                            quay.io/toolbx-im‐
268                                                            ages/debian-toolbox:11
269                                                            quay.io/toolbx-im‐
270                                                            ages/debian-toolbox:12
271                                                            quay.io/toolbx-im‐
272                                                            ages/debian-tool‐
273                                                            box:testing
274                                                            quay.io/toolbx-im‐
275                                                            ages/debian-toolbox:un‐
276                                                            stable  quay.io/toolbx-
277                                                            images/debian-tool‐
278                                                            box:latest
279       Fedora (Toolbox)          36 37 38 39 Rawhide        registry.fedorapro‐
280                                                            ject.org/fedora-tool‐
281                                                            box:37   registry.fedo‐
282                                                            raproject.org/fedora-
283                                                            toolbox:38 registry.fe‐
284                                                            doraproject.org/fedora-
285                                                            toolbox:39 registry.fe‐
286                                                            doraproject.org/fedora-
287                                                            toolbox:latest
288       openSUSE (Toolbox)                                   registry.open‐
289                                                            suse.org/opensuse/dis‐
290                                                            trobox:latest
291                                                            quay.io/toolbx-im‐
292                                                            ages/opensuse-tool‐
293                                                            box:tumbleweed
294                                                            quay.io/toolbx-im‐
295                                                            ages/opensuse-tool‐
296                                                            box:latest
297       RedHat (Toolbox)          8 9                        registry.access.red‐
298                                                            hat.com/ubi8/toolbox
299                                                            registry.access.red‐
300                                                            hat.com/ubi9/toolbox
301                                                            quay.io/toolbx-im‐
302                                                            ages/rhel-toolbox:lat‐
303                                                            est
304       Rocky Linux (Toolbox)     8 9                        quay.io/toolbx-im‐
305                                                            ages/rockylinux-tool‐
306                                                            box:8   quay.io/toolbx-
307                                                            images/rockylinux-tool‐
308                                                            box:9   quay.io/toolbx-
309                                                            images/rockylinux-tool‐
310                                                            box:latest
311       Ubuntu (Toolbox)          16.04 18.04 20.04 22.04    quay.io/toolbx-im‐
312                                                            ages/ubuntu-tool‐
313                                                            box:16.04 quay.io/tool‐
314                                                            bx-images/ubuntu-tool‐
315                                                            box:18.04 quay.io/tool‐
316                                                            bx-images/ubuntu-tool‐
317                                                            box:20.04 quay.io/tool‐
318                                                            bx-images/ubuntu-tool‐
319                                                            box:22.04 quay.io/tool‐
320                                                            bx-images/ubuntu-tool‐
321                                                            box:latest
322
323       AlmaLinux (UBI)           8                          quay.io/almalin‐
324                                                            ux/8-base:8 quay.io/al‐
325                                                            malinux/8-init:8
326
327
328
329
330
331       AlmaLinux                 8 8-minimal 9 9-minimal    quay.io/almalinux/alma‐
332                                                            linux:8  quay.io/almal‐
333                                                            inux/almalinux:9
334                                                            quay.io/almalinux/alma‐
335                                                            linux:9-minimal
336       Alpine Linux              3.15 3.16                  docker.io/li‐
337                                                            brary/alpine:3.15 dock‐
338                                                            er.io/li‐
339                                                            brary/alpine:3.16 dock‐
340                                                            er.io/li‐
341                                                            brary/alpine:latest
342       AmazonLinux               1 2 2023                   public.ecr.aws/amazon‐
343                                                            linux/amazonlinux:1
344                                                            public.ecr.aws/amazon‐
345                                                            linux/amazonlinux:2
346                                                            public.ecr.aws/amazon‐
347                                                            linux/amazonlinux:2023
348       Archlinux                                            docker.io/library/arch‐
349                                                            linux:latest
350       CentOS Stream             8 9                        quay.io/centos/cen‐
351                                                            tos:stream8
352                                                            quay.io/centos/cen‐
353                                                            tos:stream9
354       CentOS                    7                          quay.io/centos/centos:7
355       Chainguard Wolfi          Small   note:  sudo  is    cgr.dev/chain‐
356                                 missing,  use   su-exec    guard/wolfi-base:latest
357                                 instead.
358       ClearLinux                                           docker.io/li‐
359                                                            brary/clearlinux:latest
360                                                            docker.io/li‐
361                                                            brary/clearlinux:base
362       Crystal Linux                                        reg‐
363                                                            istry.getcryst.al/crys‐
364                                                            tal/misc/docker:latest
365       Debian                    7 8 9 10 11 12             docker.io/de‐
366                                                            bian/eol:wheezy   dock‐
367                                                            er.io/library/de‐
368                                                            bian:buster-backports
369                                                            docker.io/library/de‐
370                                                            bian:bullseye-backports
371                                                            docker.io/library/de‐
372                                                            bian:bookworm-backports
373                                                            docker.io/library/de‐
374                                                            bian:stable-backports
375       Debian                    Testing                    docker.io/library/de‐
376                                                            bian:testing      dock‐
377                                                            er.io/library/de‐
378                                                            bian:testing-backports
379       Debian                    Unstable                   docker.io/library/de‐
380                                                            bian:unstable
381       deepin                    20 (apricot) 23 (beige)    docker.io/lin‐
382                                                            uxdeepin/apricot  dock‐
383                                                            er.io/linuxdeepin/beige
384       Fedora                    36 37 38 39 Rawhide        quay.io/fedora/fedo‐
385                                                            ra:36    registry.fedo‐
386                                                            raproject.org/fedora:37
387                                                            quay.io/fedora/fedo‐
388                                                            ra:38     quay.io/fedo‐
389                                                            ra/fedora:39
390       Gentoo Linux              rolling                    docker.io/gen‐
391                                                            too/stage3:latest
392
393
394
395
396
397       KDE neon                  Latest Testing Unstable    invent-reg‐
398                                                            istry.kde.org/neon/dock‐
399                                                            er-images/plasma:latest
400                                                            invent-reg‐
401                                                            istry.kde.org/neon/dock‐
402                                                            er-images/plasma:test‐
403                                                            ing         invent-reg‐
404                                                            istry.kde.org/neon/dock‐
405                                                            er-images/plasma:unsta‐
406                                                            ble
407       Kali Linux                rolling                    docker.io/kalilin‐
408                                                            ux/kali-rolling:latest
409       Mint                      21.1                       docker.io/lin‐
410                                                            uxmintd/mint21.1-amd64
411       Neurodebian               nd100                      docker.io/library/neu‐
412                                                            rodebian:nd100
413       openSUSE                  Leap                       registry.open‐
414                                                            suse.org/open‐
415                                                            suse/leap:latest
416       openSUSE                  Tumbleweed                 registry.open‐
417                                                            suse.org/opensuse/dis‐
418                                                            trobox:latest       reg‐
419                                                            istry.opensuse.org/open‐
420                                                            suse/tumbleweed:latest
421                                                            registry.open‐
422                                                            suse.org/opensuse/tool‐
423                                                            box:latest
424       Oracle Linux              7  7-slim  8  8-slim  9    container-registry.ora‐
425                                 9-slim                     cle.com/os/oraclelinux:7
426                                                            container-registry.ora‐
427                                                            cle.com/os/oraclelin‐
428                                                            ux:7-slim container-reg‐
429                                                            istry.oracle.com/os/ora‐
430                                                            clelinux:8    container-
431                                                            registry.ora‐
432                                                            cle.com/os/oraclelin‐
433                                                            ux:8-slim container-reg‐
434                                                            istry.oracle.com/os/ora‐
435                                                            clelinux:9    container-
436                                                            registry.ora‐
437                                                            cle.com/os/oraclelin‐
438                                                            ux:9-slim
439       RedHat (UBI)              7 8 9                      registry.access.red‐
440                                                            hat.com/ubi7/ubi    reg‐
441                                                            istry.access.red‐
442                                                            hat.com/ubi7/ubi-init
443                                                            registry.access.red‐
444                                                            hat.com/ubi8/ubi    reg‐
445                                                            istry.access.red‐
446                                                            hat.com/ubi8/ubi-init
447                                                            registry.access.red‐
448                                                            hat.com/ubi8/ubi-minimal
449                                                            registry.access.red‐
450                                                            hat.com/ubi9/ubi    reg‐
451                                                            istry.access.red‐
452                                                            hat.com/ubi9/ubi-init
453                                                            registry.access.red‐
454                                                            hat.com/ubi9/ubi-minimal
455       Rocky Linux               8 8-minimal 9              quay.io/rockylinux/rock‐
456                                                            ylinux:8   quay.io/rock‐
457                                                            ylinux/rockylinux:8-min‐
458                                                            imal   quay.io/rockylin‐
459                                                            ux/rockylinux:9
460                                                            quay.io/rockylinux/rock‐
461                                                            ylinux:latest
462
463       Scientific Linux          7                          docker.io/library/sl:7
464       Slackware                 14.2                       docker.io/vbatts/slack‐
465                                                            ware:14.2
466       Ubuntu                    14.04 16.04 18.04 20.04    docker.io/library/ubun‐
467                                 22.04 23.04                tu:14.04   docker.io/li‐
468                                                            brary/ubuntu:16.04 dock‐
469                                                            er.io/library/ubun‐
470                                                            tu:18.04   docker.io/li‐
471                                                            brary/ubuntu:20.04 dock‐
472                                                            er.io/library/ubun‐
473                                                            tu:22.04
474       Vanilla OS                VSO                        ghcr.io/vanilla-
475                                                            os/vso:main
476       Void Linux                                           ghcr.io/void-linux/void-
477                                                            glibc-full:latest
478
479       Images marked with Toolbox are tailored images made  by  the  community
480       efforts  in  toolbx-images/images (https://github.com/toolbx-images/im
481       ages), so they are more indicated for desktop use, and first setup will
482       take  less time.  Note however that if you use a non-toolbox preconfig‐
483       ured image, the first distrobox-enter you’ll perform can take  a  while
484       as it will download and install the missing dependencies.
485
486       A small time tax to pay for the ability to use any type of image.  This
487       will not occur after the first time, subsequent  enters  will  be  much
488       faster.
489
490       NixOS  is  not a supported container distro, and there are currently no
491       plans to bring support to it.  If  you  are  looking  for  unprivileged
492       NixOS    environments,    we    suggest   you   look   into   nix-shell
493       (https://nixos.org/manual/nix/unstable/command-ref/nix-shell.html)   or
494       nix portable (https://github.com/DavHau/nix-portable)
495
496   NEW DISTRO SUPPORT
497       If  your  distro of choice is not on the list, open an issue requesting
498       support for it, we can work together to check if it is possible to  add
499       support for it.
500
501       Or  just try using it anyway, if it works, open an issue and it will be
502       added to the list!
503
504   OLDER DISTRIBUTIONS
505       For older distributions like CentOS  5,  CentOS  6,  Debian  6,  Ubuntu
506       12.04, compatibility is not assured.
507
508       Their  libc  version is incompatible with kernel releases after >=4.11.
509       A work around this is to use the vsyscall=emulate flag in the bootload‐
510       er of the host.
511
512       Keep  also in mind that mirrors could be down for such old releases, so
513       you will need to build a custom distrobox image to ensure basic  depen‐
514       dencies are met.
515
516   GPU ACCELERATION SUPPORT
517       For Intel and AMD Gpus, the support is baked in, as the containers will
518       install their latest available mesa/dri drivers.
519
520       For NVidia, you can use the --nvidia flag during create, see distrobox-
521       create documentation to discover how to use it.
522
523       Alternatively,  you can use the nvidia-container-toolkit utility to set
524       up the integration independently from the distrobox’s own flag.
525
526
527
528DISTROBOX-CREATE(1)               User Manual              DISTROBOX-CREATE(1)
529
530
531

NAME

533              distrobox create
534              distrobox-create
535

DESCRIPTION

537       distrobox-create takes care of creating the container with  input  name
538       and  image.   The created container will be tightly integrated with the
539       host, allowing sharing of the HOME  directory  of  the  user,  external
540       storage, external usb devices and graphical apps (X11/Wayland), and au‐
541       dio.
542

SYNOPSIS

544       distrobox create
545
546              --image/-i:     image to use for the container  default: ${container_image_default}
547              --name/-n:      name for the distrobox      default: ${container_name_default}
548              --pull/-p:      pull the image even if it exists locally (implies --yes)
549              --yes/-Y:       non-interactive, pull images without asking
550              --root/-r:      launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
551                          way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
552                          specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
553              --clone/-c:     name of the distrobox container to use as base for a new container
554                          this will be useful to either rename an existing distrobox or have multiple copies
555                          of the same environment.
556              --home/-H:      select a custom HOME directory for the container. Useful to avoid host's home littering with temp files.
557              --volume:       additional volumes to add to the container
558              --additional-flags/-a:  additional flags to pass to the container manager command
559              --additional-packages/-ap:  additional packages to install during initial container setup
560              --init-hooks:       additional commands to execute during container initialization
561              --pre-init-hooks:   additional commands to execute prior to container initialization
562              --init/-I:      use init system (like systemd) inside the container.
563                          this will make host's processes not visible from within the container. (assumes --unshare-process)
564              --nvidia:       try to integrate host's nVidia drivers in the guest
565              --unshare-devsys:          do not share host devices and sysfs dirs from host
566              --unshare-ipc:          do not share ipc namespace with host
567              --unshare-netns:        do not share the net namespace with host
568              --unshare-process:          do not share process namespace with host
569              --unshare-all:          activate all the unshare flags below
570              --compatibility/-C: show list of compatible images
571              --help/-h:      show this message
572              --no-entry:     do not generate a container entry in the application list
573              --dry-run/-d:       only print the container manager command generated
574              --verbose/-v:       show more verbosity
575              --version/-V:       show version
576
577              --absolutely-disable-root-password-i-am-really-positively-sure: ⚠️ ⚠️  when setting up a rootful distrobox, this will skip user password setup, leaving it blank. ⚠️ ⚠️
578

COMPATIBILITY

580              for a list of compatible images and container managers, please consult the man page:
581                  man distrobox
582                  man distrobox-compatibility
583              or consult the documentation page on: https://github.com/89luca89/distrobox/blob/main/docs/compatibility.md#containers-distros
584

EXAMPLES

586       Create a distrobox with image alpine, called my-alpine container
587
588              distrobox create --image alpine my-alpine-container
589
590       Create a distrobox from fedora-toolbox:35 image
591
592              distrobox create --image registry.fedoraproject.org/fedora-toolbox:35 --name fedora-toolbox-35
593
594       Clone an existing distrobox container
595
596              distrobox create --clone fedora-35 --name fedora-35-copy
597
598       Always pull for the new image when creating a distrobox
599
600              distrobox create --pull --image centos:stream9 --home ~/distrobox/centos9
601
602       Add additional environment variables to the container
603
604              distrobox create --image fedora:35 --name test --additional-flags "--env MY_VAR=value"
605
606       Add additional volumes to the container
607
608              distrobox create --image fedora:35 --name test --volume /opt/my-dir:/usr/local/my-dir:rw --additional-flags "--pids-limit -1"
609
610       Add additional packages to the container
611
612              distrobox create --image alpine:latest --name test2 --additional-packages "git tmux vim"
613
614       Use init-hooks to perform an action during container startup
615
616              distrobox create --image alpine:latest --name test --init-hooks "touch /var/tmp/test1 && touch /var/tmp/test2"
617
618       Use pre-init-hooks to perform an action at the beginning  of  the  con‐
619       tainer startup (before any package manager starts)
620
621              distrobox create -i docker.io/almalinux/8-init --init --name test --pre-init-hooks "dnf config-manager --enable powertools && dnf -y install epel-release"
622
623       Use init to create a Systemd container (acts similar to an LXC):
624
625              distrobox create -i ubuntu:latest --name test --additional-packages "systemd libpam-systemd" --init
626
627       Use init to create a OpenRC container (acts similar to an LXC):
628
629              distrobox create -i alpine:latest --name test --additional-packages "openrc" --init
630
631       Use host’s NVidia drivers integration
632
633              distrobox create --image ubuntu:22.04 --name ubuntu-nvidia --nvidia
634
635       Do not use host’s IP inside the container:
636
637              distrobox create --image ubuntu:latest --name test --unshare-netns
638
639       Create  a  more isolated container, where only the $HOME, basic sockets
640       and host’s FS (in /run/host) is shared:
641
642              distrobox create --name unshared-test --unshare-all
643
644       Create a more isolated container, with it’s own init system, this  will
645       act very similar to a full LXC container:
646
647              distrobox create --name unshared-init-test --unshare-all --init --image fedora:latest
648
649       Use environment variables to specify container name, image and contain‐
650       er manager:
651
652              DBX_CONTAINER_MANAGER="docker" DBX_NON_INTERACTIVE=1 DBX_CONTAINER_NAME=test-alpine DBX_CONTAINER_IMAGE=alpine distrobox-create
653

ENVIRONMENT VARIABLES

655              DBX_CONTAINER_ALWAYS_PULL
656              DBX_CONTAINER_CUSTOM_HOME
657              DBX_CONTAINER_HOME_PREFIX
658              DBX_CONTAINER_IMAGE
659              DBX_CONTAINER_MANAGER
660              DBX_CONTAINER_NAME
661              DBX_NON_INTERACTIVE
662              DBX_SUDO_PROGRAM
663
664       DBX_CONTAINER_HOME_PREFIX defines where  containers’  home  directories
665       will be located.  If you define it as ~/dbx then all future containers’
666       home directories will be ~/dbx/$container_name
667

EXTRA

669       The --additional-flags or -a is useful to modify defaults in  the  con‐
670       tainer creations.  For example:
671
672              distrobox create -i docker.io/library/archlinux -n dev-arch
673
674              podman container inspect dev-arch | jq '.[0].HostConfig.PidsLimit'
675              2048
676
677              distrobox rm -f dev-arch
678              distrobox create -i docker.io/library/archlinux -n dev-arch --volume $CBL_TC:/tc --additional-flags "--pids-limit -1"
679
680              podman container inspect dev-arch | jq '.[0].HostConfig,.PidsLimit'
681              0
682
683       Additional volumes can be specified using the --volume flag.  This flag
684       follows the same standard as docker and podman  to  specify  the  mount
685       point so --volume SOURCE_PATH:DEST_PATH:MODE.
686
687              distrobox create --image docker.io/library/archlinux --name dev-arch --volume /usr/share/:/var/test:ro
688
689       During  container  creation, it is possible to specify (using the addi‐
690       tional-flags) some environment variables that will persist in the  con‐
691       tainer and be independent from your environment:
692
693              distrobox create --image fedora:35 --name test --additional-flags "--env MY_VAR=value"
694
695       The  --init-hooks is useful to add commands to the entrypoint (init) of
696       the container.  This could be useful to create containers with a set of
697       programs already installed, add users, groups.
698
699              distrobox create  --image fedora:35 --name test --init-hooks "dnf groupinstall -y \"C Development Tools and Libraries\""
700
701       The  --init is useful to create a container that will use its own sepa‐
702       rate init system within.  For example using:
703
704              distrobox create -i docker.io/almalinux/8-init --init --name test
705              distrobox create -i docker.io/library/debian --additional-packages "systemd" --init --name test-debian
706
707       Inside the container we will be able to use normal systemd units:
708
709              ~$ distrobox enter test
710              user@test:~$ sudo systemctl enable --now sshd
711              user@test:~$ sudo systemctl status sshd
712                  ● sshd.service - OpenSSH server daemon
713                     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
714                     Active: active (running) since Fri 2022-01-28 22:54:50 CET; 17s ago
715                       Docs: man:sshd(8)
716                             man:sshd_config(5)
717                   Main PID: 291 (sshd)
718
719       Note that enabling --init  will  disable  host’s  process  integration.
720       From within the container you will not be able to see and manage host’s
721       processes.  This is needed because /sbin/init must be pid 1.
722
723       If you want to use a non-pre-create image, you’ll need to add the addi‐
724       tional package:
725
726              distrobox create -i alpine:latest --init --additional-packages "openrc" -n test
727              distrobox create -i debian:stable --init --additional-packages "systemd libpam-systemd" -n test
728              distrobox create -i ubuntu:22.04 --init --additional-packages "systemd libpam-systemd" -n test
729              distrobox create -i archlinux:latest --init --additional-packages "systemd" -n test
730              distrobox create -i registry.opensuse.org/opensuse/tumbleweed:latest --init --additional-packages "systemd" -n test
731              distrobox create -i registry.fedoraproject.org/fedora:38 --init --additional-packages "systemd" -n test
732
733       The  --init  flag is useful to create system containers, where the con‐
734       tainer acts more similar to a full VM  than  an  application-container.
735       Inside you’ll have a separate init, user-session, daemons and so on.
736
737       The  --home  flag  let’s  you  specify a custom HOME for the container.
738       Note that this will NOT prevent the mount of the host’s home directory,
739       but will ensure that configs and dotfiles will not litter it.
740
741       The  --root  flag will let you create a container with real root privi‐
742       leges.  At first enter the user will be required to setup  a  password.
743       This  is done in order to not enable passwordless sudo/su, in a rootful
744       container, this is needed because in this mode, root  inside  the  con‐
745       tainer is also root outside the container!
746
747       The --absolutely-disable-root-password-i-am-really-positively-sure will
748       skip user password setup, leaving it blank.  This is genuinely  danger‐
749       ous and you really, positively should NOT enable this.
750
751       From  version  1.4.0  of distrobox, when you create a new container, it
752       will also generate an entry in the applications list.
753
754   NVidia integration
755       If your host has an NVidia gpu, with installed proprietary drivers, you
756       can integrate them with the guests by using the --nvidia flag:
757
758       distrobox create --nvidia --image ubuntu:latest --name ubuntu-nvidia
759
760       Be  aware  that this is not compatible with non-glibc systems and needs
761       somewhat newer distributions to work.
762
763       This feature was tested working on:
764
765       • Almalinux
766
767       • Archlinux
768
769       • Centos 7 and newer
770
771       • Clearlinux
772
773       • Debian 10 and newer
774
775       • OpenSUSE Leap
776
777       • OpenSUSE Tumbleweed
778
779       • Rockylinux
780
781       • Ubuntu 18.04 and newer
782
783       • Void Linux (glibc)
784
785
786
787DISTROBOX-ENTER(1)                User Manual               DISTROBOX-ENTER(1)
788
789
790

NAME

792              distrobox enter
793              distrobox-enter
794

DESCRIPTION

796       distrobox-enter takes care of entering  the  container  with  the  name
797       specified.  Default command executed is your SHELL, but you can specify
798       different shells or entire commands to execute.  If using it  inside  a
799       script,  an  application,  or  a service, you can specify the –headless
800       mode to disable tty and interactivity.
801

SYNOPSIS

803       distrobox enter
804
805              --name/-n:      name for the distrobox                      default: my-distrobox
806              --/-e:          end arguments execute the rest as command to execute at login   default: bash -l
807              --no-tty/-T:        do not instantiate a tty
808              --no-workdir/-nw:   always start the container from container's home directory
809              --additional-flags/-a:  additional flags to pass to the container manager command
810              --help/-h:      show this message
811              --root/-r:      launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
812                          way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
813                          specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
814              --dry-run/-d:       only print the container manager command generated
815              --verbose/-v:       show more verbosity
816              --version/-V:       show version
817

EXAMPLES

819       Enter a distrobox named “example”
820
821              distrobox-enter example
822
823       Enter a distrobox specifying a command
824
825              distrobox-enter --name fedora-toolbox-35 -- bash -l
826              distrobox-enter my-alpine-container -- sh -l
827
828       Use additional podman/docker/lilipod flags while entering a distrobox
829
830              distrobox-enter --additional-flags "--preserve-fds" --name test -- bash -l
831
832       Specify additional environment variables while entering a distrobox
833
834              distrobox-enter --additional-flags "--env MY_VAR=value" --name test -- bash -l
835              MY_VAR=value distrobox-enter --additional-flags "--preserve-fds" --name test -- bash -l
836
837       You can also use environment variables to specify container manager and
838       container name:
839
840              DBX_CONTAINER_MANAGER="docker" DBX_CONTAINER_NAME=test-alpine distrobox-enter
841

ENVIRONMENT VARIABLES

843              DBX_CONTAINER_NAME
844              DBX_CONTAINER_MANAGER
845              DBX_SKIP_WORKDIR
846              DBX_SUDO_PROGRAM
847

EXTRA

849       This command is used to enter the distrobox itself.  Personally, I just
850       create multiple profiles in my gnome-terminal to have multiple  distros
851       accessible.
852
853       The  --additional-flags  or -a is useful to modify default command when
854       executing in the container.  For example:
855
856              distrobox enter -n dev-arch --additional-flags "--env my_var=test" -- printenv &| grep my_var
857              my_var=test
858
859       This is possible also using normal env variables:
860
861              my_var=test distrobox enter -n dev-arch --additional-flags -- printenv &| grep my_var
862              my_var=test
863
864       If you’d like to enter a rootful container having distrobox use a  pro‐
865       gram  other  than  `sudo' to run podman/docker/lilipod as root, such as
866       `pkexec' or `doas', you may specify it with the DBX_SUDO_PROGRAM  envi‐
867       ronment  variable.   For example, to use `doas' to enter a rootful con‐
868       tainer:
869
870              DBX_SUDO_PROGRAM="doas" distrobox enter -n container --root
871
872       Additionally, in one of the config file paths that distrobox  supports,
873       such  as  ~/.distroboxrc,  you  can  also append the line distrobox_su‐
874       do_program="doas" (for example) to always run  distrobox  commands  in‐
875       volving rootful containers using `doas'.
876
877
878
879DISTROBOX-EPHEMERAL(1)            User Manual           DISTROBOX-EPHEMERAL(1)
880
881
882

NAME

884              distrobox ephemeral
885              distrobox-ephemeral
886

DESCRIPTION

888       distrobox-ephemeral creates a temporary distrobox that is automatically
889       destroyed when the command is terminated.
890

SYNOPSIS

892       distrobox ephemeral
893
894              --root/-r:      launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
895                          way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
896                          specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
897              --verbose/-v:       show more verbosity
898              --help/-h:      show this message
899              --/-e:          end arguments execute the rest as command to execute at login   default: bash -l
900              --version/-V:       show version
901

EXAMPLES

903              distrobox-ephemeral --image alpine:latest -- cat /etc/os-release
904              distrobox-ephemeral --root --verbose --image alpine:latest --volume /opt:/opt
905
906       You can also use flags from distrobox-create to customize the ephemeral
907       container to run.
908

SEE ALSO

910              distrobox-create --help
911              man distrobox-create
912

ENVIRONMENT VARIABLES

914              distrobox-ephemeral calls distrobox-create, SEE ALSO distrobox-create(1) for
915              a list of supported environment variables to use.
916
917
918
919DISTROBOX-EXPORT(1)               User Manual              DISTROBOX-EXPORT(1)
920
921
922

NAME

924              distrobox-export
925

DESCRIPTION

927       Application and binary exporting
928
929       distrobox-export  takes  care  of exporting an app or a binary from the
930       container to the host.
931
932       The exported app will be easily available in your normal  launcher  and
933       it  will  automatically  be  launched from the container it is exported
934       from.
935

SYNOPSIS

937       distrobox-export
938
939              --app/-a:       name of the application to export
940              --bin/-b:       absolute path of the binary to export
941              --delete/-d:        delete exported application or binary
942              --export-label/-el: label to add to exported application name.
943                          Use "none" to disable.
944                          Defaults to (on \$container_name)
945              --export-path/-ep:  path where to export the binary
946              --extra-flags/-ef:  extra flags to add to the command
947              --sudo/-S:      specify if the exported item should be run as sudo
948              --help/-h:      show this message
949              --verbose/-v:       show more verbosity
950              --version/-V:       show version
951
952       You may want to install graphical applications or  CLI  tools  in  your
953       distrobox.   Using  distrobox-export from inside the container will let
954       you use them from the host itself.
955

EXAMPLES

957              distrobox-export --app mpv [--extra-flags "flags"] [--delete] [--sudo]
958              distrobox-export --bin /path/to/bin [--export-path ~/.local/bin] [--extra-flags "flags"] [--delete] [--sudo]
959
960       App export example
961
962              distrobox-export --app abiword
963
964       This tool will simply copy the original .desktop files along with need‐
965       ed   icons,  add  the  prefix  /usr/local/bin/distrobox-enter  -n  dis‐
966       trobox_name -e ... to the commands to run, and save them in  your  home
967       to be used directly from the host as a normal app.
968
969       Binary export example
970
971              distrobox-export --bin /usr/bin/code --extra-flags "--foreground" --export-path $HOME/.local/bin
972
973       In  the  case  of exporting binaries, you will have to specify where to
974       export it (--export-path) and the tool will  create  a  little  wrapper
975       script  that will distrobox-enter -e from the host, the desired binary.
976       This can be handy with the use of direnv to have different versions  of
977       the same binary based on your env or project.
978
979       The  exported binaries will be exported in the “–export-path” of choice
980       as a wrapper script that acts naturally both on the  host  and  in  the
981       container.
982
983       Additional flags
984
985       You  can specify additional flags to add to the command, for example if
986       you want to export an electron app, you  could  add  the  “–foreground”
987       flag to the command:
988
989              distrobox-export --app atom --extra-flags "--foreground"
990              distrobox-export --bin /usr/bin/vim --export-path ~/.local/bin --extra-flags "-p"
991
992       This  works  for binaries and apps.  Extra flags are only used then the
993       exported app or binary is used from the host,  using  them  inside  the
994       container will not include them.
995
996       Unexport
997
998       The option “–delete” will un-export an app or binary
999
1000              distrobox-export --app atom --delete
1001              distrobox-export --bin /usr/bin/vim --export-path ~/.local/bin --delete
1002
1003       Run as root in the container
1004
1005       The  option  “–sudo”  will  launch the exported item as root inside the
1006       distrobox.
1007
1008       Exporting apps from rootful containers
1009
1010       It is worth noting that, when  exporting  any  item  -  which  includes
1011       graphical apps - from rootful containers (created with distrobox create
1012       --root), root privileges will be needed every time the item is launched
1013       (in  order  to enter the rootful container), which, by default, is done
1014       using sudo (see docs for distrobox-enter on  how  to  customize  that).
1015       However,  for  graphical  apps in specific, since they launch without a
1016       terminal, the usage of sudo might, at  first,  make  it  impossible  to
1017       launch them.
1018
1019       To  fix this without needing to customize the sudo program, one can de‐
1020       fine a global SUDO_ASKPASS environment variable on their machine, which
1021       is  a  PATH  to  an  executable that is run by sudo when no terminal is
1022       available (or when it is given the --askpass or  -A  option),  and  the
1023       output of that executable to stdout is used as the password input.  The
1024       executable is called as many times is needed for authentication as root
1025       to succeed (unless a limit of amount of attempts is reached).
1026
1027       To  do  this, pick a program to ask the user for graphical password in‐
1028       put.  In this example, we will use zenity --password, which  should  be
1029       present  for  GNOME  users  (and  can also be installed in other DEs) -
1030       there are other options, such as kdialog --password "Message"  for  KDE
1031       users.
1032
1033       Write  the call to the desired program to a script file, for example to
1034       /usr/bin/my-password-prompt (sample contents below):
1035
1036              #!/bin/sh
1037              zenity --password "Authentication as root is required"
1038
1039       (You may save the script under, for example, ~/.local/bin if  you  want
1040       to keep it fully local to your user.)
1041
1042       Afterwards,  make  it  executable  (e.g. run sudo chmod +x /usr/bin/my-
1043       password-prompt).  Then, make sure to set SUDO_ASKPASS to "/usr/bin/my-
1044       password-prompt"  (replace with your script’s path) in a global profile
1045       file, so that it is picked up by sudo when running graphical apps (and,
1046       therefore, sudo will run the script you created to ask for a password).
1047       This    is    done    with    the     shell     line     export     SU‐
1048       DO_ASKPASS="/path/to/script/goes/here".   You can do this for your user
1049       only by running the command below (replace the script path as needed):
1050
1051              echo 'export SUDO_ASKPASS="/usr/bin/my-password-prompt"' >> ~/.profile
1052
1053       Which appends the appropriate line to the end of your ~/.profile  file,
1054       thus  making  the  change local to your user.  Alternatively, to set it
1055       system-wide (for all users), you may create a file  in  /etc/profile.d/
1056       (or equivalent for your system) with that line.
1057
1058       Now  just  log  out  and  log back in, and graphical apps exported from
1059       rootful containers should now be properly asking  for  root’s  password
1060       before launching (instead of not opening, if that was the case before).
1061
1062       Notes
1063
1064       Note you can use –app OR –bin but not together.
1065
1066       [IMAGE:          app-export         (https://user-images.githubusercon
1067       tent.com/598882/144294795-c7785620-bf68-4d1b-b251-1e1f0a32a08d.png)]
1068
1069       NOTE: some electron apps such as vscode and atom need additional  flags
1070       to work from inside the container, use the --extra-flags option to pro‐
1071       vide a series of flags, for example:
1072
1073       distrobox-export --app atom --extra-flags "--foreground"
1074
1075
1076
1077DISTROBOX-GENERATE-ENTRY(1)       User Manual      DISTROBOX-GENERATE-ENTRY(1)
1078
1079
1080

NAME

1082              distrobox generate-entry
1083

DESCRIPTION

1085       distrobox-generate-entry will create a desktop  icon  for  one  of  the
1086       available  distroboxes.   This will be then deleted when you remove the
1087       matching distrobox.
1088

SYNOPSIS

1090       distrobox generate-entry
1091
1092              --help/-h:      show this message
1093              --all/-a:       perform for all distroboxes
1094              --delete/-d:        delete the entry
1095              --icon/-i:      specify a custom icon [/path/to/icon] (default auto)
1096              --root/-r:      perform on rootful distroboxes
1097              --verbose/-v:       show more verbosity
1098              --version/-V:       show version
1099

EXAMPLES

1101       Generate an entry for a container
1102
1103              distrobox generate-entry my-container-name
1104
1105       Specify a custom icon for the entry
1106
1107              distrobox generate-entry my-container-name --icon /path/to/icon.png
1108
1109       Generate an entry for all distroboxes
1110
1111              distrobox generate-entry --all
1112
1113       Delete an entry
1114
1115              distrobox generate-entry container-name --delete
1116
1117
1118
1119DISTROBOX-HOST-EXEC(1)            User Manual           DISTROBOX-HOST-EXEC(1)
1120
1121
1122

NAME

1124              distrobox-host-exec
1125

DESCRIPTION

1127       distrobox-host-exec lets one execute command on the host, while  inside
1128       of a container.
1129
1130       Under the hood, distrobox-host-exec uses host-spawn a project that lets
1131       us execute commands back on the host.  If the tool is not found the us‐
1132       er will be prompted to install it.
1133

SYNOPSIS

1135       Just  pass  to “distrobox-host-exec” any command and all its arguments,
1136       if any.
1137
1138              --help/-h:      show this message
1139              --verbose/-v:       show more verbosity
1140              --version/-V:       show version
1141              --yes/-Y:       Automatically answer yes to prompt:
1142                                          host-spawn will be installed on the guest system
1143                                          if host-spawn is not detected.
1144                                          This behaviour is default when running in a non-interactive shell.
1145
1146       If no command is provided, it will execute “$SHELL”.
1147
1148       Alternatively, use symlinks to make distrobox-host-exec execute as that
1149       command:
1150
1151              ~$: ln -s /usr/bin/distrobox-host-exec /usr/local/bin/podman
1152              ~$: ls -l /usr/local/bin/podman
1153              lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman -> /usr/bin/distrobox-host-exec
1154              ~$: podman version
1155              ...this is executed on host...
1156

EXAMPLES

1158              distrobox-host-exec ls
1159              distrobox-host-exec bash -l
1160              distrobox-host-exec flatpak run org.mozilla.firefox
1161              distrobox-host-exec podman ps -a
1162
1163
1164
1165DISTROBOX-INIT(1)                 User Manual                DISTROBOX-INIT(1)
1166
1167
1168

NAME

1170              distrobox-init
1171

DESCRIPTION

1173       Init the distrobox (not to be launched manually)
1174
1175       distrobox-init  is  the  entrypoint  of a created distrobox.  Note that
1176       this HAS to run from inside a distrobox, will not work if  you  run  it
1177       from your host.
1178
1179       This  is  not  intended  to  be used manually, but instead used by dis‐
1180       trobox-create to set up the container’s entrypoint.
1181
1182       distrobox-init will take care of installing missing  dependencies  (eg.
1183       sudo),  set  up the user and groups, mount directories from the host to
1184       ensure the tight integration.
1185

SYNOPSIS

1187       distrobox-init
1188
1189              --name/-n:      user name
1190              --user/-u:      uid of the user
1191              --group/-g:     gid of the user
1192              --home/-d:      path/to/home of the user
1193              --help/-h:      show this message
1194              --additional-packages:  packages to install in addition
1195              --init/-I:      whether to use or not init
1196              --pre-init-hooks:   commands to execute prior to init
1197              --nvidia:       try to integrate host's nVidia drivers in the guest
1198              --upgrade/-U:       run init in upgrade mode
1199              --verbose/-v:       show more verbosity
1200              --version/-V:       show version
1201              --:         end arguments execute the rest as command to execute during init
1202

EXAMPLES

1204              distrobox-init --name test-user --user 1000 --group 1000 --home /home/test-user
1205              distrobox-init --upgrade
1206
1207DISTROBOX-LIST(1)                 User Manual                DISTROBOX-LIST(1)
1208
1209
1210

NAME

1212              distrobox list
1213              distrobox-list
1214

DESCRIPTION

1216       distrobox-list lists available distroboxes.  It detects them and  lists
1217       them separately from the rest of normal containers.
1218

SYNOPSIS

1220       distrobox list
1221
1222              --help/-h:      show this message
1223              --no-color:     disable color formatting
1224              --root/-r:      launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
1225                          way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
1226                          specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
1227              --verbose/-v:       show more verbosity
1228              --version/-V:       show version
1229

EXAMPLES

1231              distrobox-list
1232
1233       You can also use environment variables to specify container manager
1234
1235              DBX_CONTAINER_MANAGER="docker" distrobox-list
1236

ENVIRONMENT VARIABLES

1238              DBX_CONTAINER_MANAGER
1239              DBX_SUDO_PROGRAM
1240
1241       [IMAGE:            image            (https://user-images.githubusercon
1242       tent.com/598882/147831082-24b5bc2e-b47e-49ac-9b1a-a209478c9705.png)]
1243
1244
1245
1246DISTROBOX-RM(1)                   User Manual                  DISTROBOX-RM(1)
1247
1248
1249

NAME

1251              distrobox rm
1252              distrobox-rm
1253

DESCRIPTION

1255       distrobox-rm delete one of the available distroboxes.
1256

SYNOPSIS

1258       distrobox rm
1259
1260              --all/-a:       delete all distroboxes
1261              --force/-f:     force deletion
1262              --rm-home:      remove the mounted home if it differs from the host user's one
1263              --root/-r:      launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
1264                          way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
1265                          specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
1266              --help/-h:      show this message
1267              --verbose/-v:       show more verbosity
1268              --version/-V:       show version
1269

EXAMPLES

1271              distrobox-rm container-name [--force] [--all]
1272
1273       You can also use environment variables to specify container manager and
1274       name:
1275
1276              DBX_CONTAINER_MANAGER="docker" DBX_CONTAINER_NAME=test-alpine distrobox-rm
1277

ENVIRONMENT VARIABLES

1279              DBX_CONTAINER_MANAGER
1280              DBX_CONTAINER_NAME
1281              DBX_NON_INTERACTIVE
1282              DBX_SUDO_PROGRAM
1283
1284
1285
1286DISTROBOX-STOP(1)                 User Manual                DISTROBOX-STOP(1)
1287
1288
1289

NAME

1291              distrobox stop
1292              distrobox-stop
1293

DESCRIPTION

1295       distrobox-stop stop a running distrobox.
1296
1297       Distroboxes  are  left running, even after exiting out of them, so that
1298       subsequent enters are really quick.  This is how they can be stopped.
1299

SYNOPSIS

1301       distrobox stop
1302
1303              --all/-a:       stop all distroboxes
1304              --yes/-Y:       non-interactive, stop without asking
1305              --help/-h:      show this message
1306              --root/-r:      launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
1307                          way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
1308                          specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
1309              --verbose/-v:       show more verbosity
1310              --version/-V:       show version
1311

EXAMPLES

1313              distrobox-stop container-name1 container-name2
1314              distrobox-stop container-name
1315              distrobox-stop --all
1316
1317       You can also use environment variables to specify container manager and
1318       name:
1319
1320              DBX_CONTAINER_MANAGER="docker" DBX_CONTAINER_NAME=test-alpine distrobox-stop
1321

ENVIRONMENT VARIABLES

1323              DBX_CONTAINER_MANAGER
1324              DBX_CONTAINER_NAME
1325              DBX_NON_INTERACTIVE
1326              DBX_SUDO_PROGRAM
1327
1328
1329
1330DISTROBOX-UPGRADE(1)              User Manual             DISTROBOX-UPGRADE(1)
1331
1332
1333

NAME

1335              distrobox-upgrade
1336

DESCRIPTION

1338       distrobox-upgrade  will enter the specified list of containers and will
1339       perform an upgrade using the container’s package manager.
1340

SYNOPSIS

1342       distrobox upgrade
1343
1344              --help/-h:      show this message
1345              --all/-a:       perform for all distroboxes
1346              --running:      perform only on running distroboxes
1347              --root/-r:      launch podman/docker/lilipod with root privileges. Note that if you need root this is the preferred
1348                          way over "sudo distrobox" (note: if using a program other than 'sudo' for root privileges is necessary,
1349                          specify it through the DBX_SUDO_PROGRAM env variable, or 'distrobox_sudo_program' config variable)
1350              --verbose/-v:       show more verbosity
1351              --version/-V:       show version
1352

EXAMPLES

1354       Upgrade all distroboxes
1355
1356              distrobox-upgrade --all
1357
1358       Upgrade all running distroboxes
1359
1360              distrobox-upgrade --all --running
1361
1362       Upgrade a specific distrobox
1363
1364              distrobox-upgrade alpine-linux
1365
1366       Upgrade a list of distroboxes
1367
1368              distrobox-upgrade alpine-linux ubuntu22 my-distrobox123
1369
1370       Automatically update all distro
1371
1372       You can create a systemd service to perform distrobox-upgrade automati‐
1373       cally, this example shows how to run it daily:
1374
1375       ~/.config/systemd/user/distrobox-upgrade.service
1376
1377              [Unit]
1378              Description=distrobox-upgrade Automatic Update
1379
1380              [Service]
1381              Type=simple
1382              ExecStart=distrobox-upgrade --all
1383              StandardOutput=null
1384
1385       ~/.config/systemd/user/distrobox-upgrade.timer
1386
1387              [Unit]
1388              Description=distrobox-upgrade Automatic Update Trigger
1389
1390              [Timer]
1391              OnBootSec=1h
1392              OnUnitInactiveSec=1d
1393
1394              [Install]
1395              WantedBy=timers.target
1396
1397       Then simply do a systemctl --user daemon-reload && systemctl --user en‐
1398       able --now distrobox-upgrade.timer
1399
1400
1401
1402Distrobox                          Nov 2023               DISTROBOX-UPGRADE(1)
Impressum