Tool for interactive command line environments on Linux
Find a file
Harry Míchal 5e63e9ec9b Improve the help or usage output
A new help command has been added which either shows the toolbox(1)
manual or a manual page for a specific command. The '--help' flag is
now identical to the help command and can be placed after the COMMAND
segment in the list of command line arguments.

Due to a bizarre quirk in less(1) [1], the default pager used to render
manuals on most systems, the man(1) invocations need the standard error
stream to point to the controlling terminal, if any, to work. This
interferes with the global redirection of standard error to /dev/null
in the absence of the '--verbose' flag, and is worked around by
redirecting to standard output instead.

[1] It turns out that less(1) tries to open the controlling terminal
    device /dev/tty to get to the keyboard for accepting input.
    However, it doesn't have a controlling terminal when invoked via
    D-Bus to render a manual on the host. It then strangely falls back
    to using the standard error stream to get to the keyboard.

https://github.com/debarshiray/toolbox/pull/200
2019-09-04 20:54:13 +02:00
completion/bash Improve the help or usage output 2019-09-04 20:54:13 +02:00
data logo: Convert text to shapes 2019-04-04 16:19:52 +02:00
doc Improve the help or usage output 2019-09-04 20:54:13 +02:00
images/fedora images: Drop PackageKit-command-not-found 2019-07-22 15:05:21 +02:00
profile.d profile.d: Tighten the Silverblue check 2019-08-12 13:47:36 +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.12 2019-07-22 14:28:41 +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.12 2019-07-22 14:28:41 +02:00
README.md Drop the Buildah dependency and the user-specific customized image 2019-05-16 15:47:33 +02:00
toolbox Improve the help or usage output 2019-09-04 20:54:13 +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 used to create a toolbox container that seamlessly integrates with the rest of the operating system.

Usage

Create your toolbox container:

[user@hostname ~]$ toolbox create
Created container: fedora-toolbox-30
Enter with: toolbox enter
[user@hostname ~]$

This will create a container called fedora-toolbox-<version-id>.

Enter the toolbox:

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