Tool for interactive command line environments on Linux
Find a file
Debarshi Ray d7ff7f0b0b Reduce reliance on Buildah by switching to 'podman create --user ...'
Currently, the toolbox script depends on both the buildah and podman
commands. However, both are Go programs, and like all Go programs the
absense of shared libraries leads to bigger binaries. eg., the buildah
and podman binaries are approximately 22 MB and 48 MB respectively,
whereas the flatpak binary is a mere 1.4 MB.

Due to this, there's some nascent desire from the Endless OS folks to
reduce the dependency footprint of the toolbox script by replacing
Buildah with the corresponding Podman commands. This is a step in that
direction.

https://github.com/debarshiray/toolbox/pull/159
2019-05-14 14:53:26 +02:00
completion/bash Add a run command 2019-05-06 15:23:58 +02:00
data logo: Convert text to shapes 2019-04-04 16:19:52 +02:00
doc Add a run command 2019-05-06 15:23:58 +02:00
images/fedora images: Avoid losing useradd(8) by accident 2019-04-17 11:38:49 +02:00
profile.d Use a magenta hexagon instead of 🔹 in the PS1 2019-05-06 16:38:10 +02:00
.travis.yml Enable Travis 2019-04-10 15:18:06 +02:00
COPYING Rename LICENSE as COPYING 2018-10-19 18:24:23 +02:00
gen-docs-list images: Restore documentation removed from the base Fedora images 2019-03-05 18:01:27 +01:00
meson.build Prepare 0.0.9 2019-04-30 12:29:09 +02:00
meson_options.txt Show a welcome text on interactive shells running on Silverblue hosts 2019-04-25 15:52:23 +02:00
NEWS Prepare 0.0.9 2019-04-30 12:29:09 +02:00
README.md README.md: Add the landscape variant of the logo as a banner 2019-04-04 16:47:07 +02:00
toolbox Reduce reliance on Buildah by switching to 'podman create --user ...' 2019-05-14 14:53:26 +02:00
toolbox-sudo Drop the "fedora" prefix and rename the project as just "toolbox" 2019-02-15 16:36:30 +01:00

Toolbox logo landscape

Toolbox is a tool that offers a familiar RPM based environment for developing and debugging software that runs fully unprivileged using Podman.

The toolbox container is a fully mutable container; when you see yum install ansible for example, that's something you can do inside your toolbox container, without affecting the base operating system.

This is particularly useful on OSTree based Fedora systems like Silverblue. The intention of these systems is to discourage installation of software on the host, and instead install software as (or in) containers.

However, this tool doesn't require using an OSTree based system — it works equally well if you're running e.g. existing Fedora Workstation or Server, and that's a useful way to incrementally adopt containerization.

The toolbox environment is based on an OCI image. On Fedora this is the fedora-toolbox image. This image is then customized for the current user to create a toolbox container that seamlessly integrates with the rest of the operating system.

Usage

Create your toolbox container:

[user@hostname ~]$ toolbox create
[user@hostname ~]$

This will create a container, and an image, called fedora-toolbox-<your-username>:<version-id> that's specifically customised for your host user.

Enter the toolbox:

[user@hostname ~]$ toolbox enter
🔹[user@toolbox ~]$