1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
- [Distrobox](README.md)
---
# Create a dedicated distrobox container
Distrobox wants to be as generic as possible in supporting OCI images,
but sometimes there could be some problems:
- The image you want to use is too old and the package manager mirrors are down
- The image you want to use has not a supported package manager or no package
manager at all
## Requirements
The only required programs that must be available in the container so that
`distrobox-init` won't start the installation are:
- the $SHELL you use (bash, zsh, fish etc etc)
- bash-completion
- bc
- bzip2
- curl
- diffutils
- findutils
- gnupg2
- hostname
- iproute
- iputils
- keyutils
- krb5-libs
- less
- lsof
- man-db
- man-pages
- ncurses
- nss-mdns
- openssh-clients
- pam
- passwd
- pigz
- pinentry
- ping
- procps-ng
- rsync
- shadow-utils
- sudo
- tcpdump
- time
- traceroute
- tree
- tzdata
- unzip
- util-linux
- vte-profile
- wget
- which
- whois
- words
- xorg-x11-xauth
- xz
- zip
And optionally:
- mesa-dri-drivers
- mesa-vulkan-drivers
- vulkan
If all those dependencies are met, then the `distrobox-init`
will simply skip the installation process and work as expected.
To test if all packages requirements are met just run this in the container:
```shell
dependencies="
bc
bzip2
chpasswd
curl
diff
find
findmnt
gpg
hostname
less
lsof
man
mount
passwd
pigz
pinentry
ping
ps
rsync
script
ssh
sudo
time
tree
umount
unzip
useradd
wc
wget
xauth
zip
"
for dep in ${dependencies}; do
! command -v "${dep}" && echo "missing $dep"
done
```
|