The fedora-toolbox package
Find a file
Debarshi Ray 6c46178bbb Ensure that documentation and translations are present
This should finally ensure that the fedora-toolbox image doesn't have
any package that had its content, such as documentation or translations,
stripped out by the fedora base image.

Until now, missing-docs had a hand-maintained list of packages that had
their content stripped out by the fedora base image.  These packages are
reinstalled when building the fedora-toolbox image to restore the lost
content.  Unfortunately, this list was incomplete because it was only
updated when someone noticed that something is missing.

Now, the list is generated with:
  $ rpm --all --query --state --queryformat "PACKAGE: %{NAME}\n"

... to ensure that it's always complete.

The existing built-in test to ensure that the desired files are actually
present in the final image was extended to cover some of those that were
absent.  A new built-in test, based on the above rpm(1) command, was
added as a fallback to ensure that the final image doesn't have any
package with missing content.

As suggested by Brian Campbell.

Note that the fedora-toolbox OCI image for Fedora 39 onwards is no
longer built using OpenShift Build Service from the Dockerfile here.
It's now being built using Image Factory from fedora-kickstarts and
pungi-fedora [1], as part of the ToolbxReleaseBlocker Change [2] for
Fedora 39.

Hence this is only for the sake of completeness.

[1] https://pagure.io/fedora-kickstarts/
    https://pagure.io/pungi-fedora/

[2] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker

https://github.com/containers/toolbox/issues/603
2023-11-01 15:36:23 +01:00
Dockerfile Ensure that documentation and translations are present 2023-11-01 15:36:23 +01:00
ensure-files Ensure that documentation and translations are present 2023-11-01 15:36:23 +01:00
extra-packages Add psmisc 2023-10-20 12:08:59 +02:00
missing-docs Ensure that documentation and translations are present 2023-11-01 15:36:23 +01:00
README.md Synchronize with upstream 2023-02-14 23:11:23 +01:00

Toolbox is a tool for Linux, which allows the use of interactive command line environments for development and troubleshooting the host operating system, without having to install software on the host. It is built on top of Podman and other standard container technologies from OCI.

Toolbox environments have seamless access to the user's home directory, the Wayland and X11 sockets, networking (including Avahi), removable devices (like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the udev database, etc..

This is particularly useful on OSTree based operating systems like Fedora CoreOS and Silverblue. The intention of these systems is to discourage installation of software on the host, and instead install software as (or in) containers — they mostly don't even have package managers like DNF or YUM. This makes it difficult to set up a development environment or troubleshoot the operating system in the usual way.

Toolbox solves this problem by providing a fully mutable container within which one can install their favourite development and troubleshooting tools, editors and SDKs. For example, it's possible to do yum install ansible without affecting the base operating system.

However, this tool doesn't require using an OSTree based system. It works equally well on Fedora Workstation and 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 offers the interactive command line environment.

Note that Toolbox makes no promise about security beyond what's already available in the usual command line environment on the host that everybody is familiar with.

Installation & Use

See our guides on installing & getting started with Toolbox and Linux distro support.