|
|
b2678e8 |
# Fedora Toolbox — Hacking on your OSTree-based Fedora
|
|
|
b2678e8 |
|
|
|
b2678e8 |
[Fedora Toolbox](https://github.com/debarshiray/fedora-toolbox) is a tool that
|
|
|
b2678e8 |
offers a familiar RPM based environment for developing and debugging software
|
|
|
b2678e8 |
on locked down [OSTree](https://ostree.readthedocs.io/en/latest/) based Fedora
|
|
|
b2678e8 |
systems like [Silverblue](https://silverblue.fedoraproject.org/). Such
|
|
|
b2678e8 |
operating systems are shipped as *immutable* OSTree images, where it's
|
|
|
b2678e8 |
difficult to setup a development environment with your favorite tools, editors
|
|
|
b2678e8 |
and SDKs. A toolbox container solves that problem by providing a RPM based
|
|
|
b2678e8 |
*mutable* container. You can tweak it to your heart's content and use DNF to
|
|
|
b2678e8 |
install your favorite packages, all without worrying about breaking your
|
|
|
b2678e8 |
operating system.
|
|
|
b2678e8 |
|
|
|
b2678e8 |
The toolbox environment is based on the `fedora-toolbox` image. This image is
|
|
|
b2678e8 |
then customized for the current user to create a toolbox container that
|
|
|
b2678e8 |
seamlessly integrates with the rest of the operating system.
|
|
|
b2678e8 |
|
|
|
b2678e8 |
## Usage
|
|
|
b2678e8 |
|
|
|
b2678e8 |
### Create the basic Fedora Toolbox image:
|
|
|
b2678e8 |
```
|
|
|
b2678e8 |
[user@hostname fedora-toolbox]$ buildah bud --tag fedora-toolbox:28 .
|
|
|
b2678e8 |
STEP 1: FROM docker://registry.fedoraproject.org/fedora:28
|
|
|
b2678e8 |
Getting image source signatures
|
|
|
b2678e8 |
…
|
|
|
b2678e8 |
…
|
|
|
b2678e8 |
…
|
|
|
b2678e8 |
[user@hostname fedora-toolbox]$
|
|
|
b2678e8 |
```
|
|
|
b2678e8 |
Modify the Dockerfile to match your taste and Fedora version. The image should
|
|
|
b2678e8 |
be tagged as `fedora-toolbox` with a suffix matching the host Fedora version.
|
|
|
b2678e8 |
eg., `fedora-toolbox:29`, etc..
|
|
|
b2678e8 |
|
|
|
b2678e8 |
### Create your Fedora Toolbox container:
|
|
|
b2678e8 |
```
|
|
|
b2678e8 |
[user@hostname fedora-toolbox]$ ./fedora-toolbox create
|
|
|
b2678e8 |
[user@hostname fedora-toolbox]$
|
|
|
b2678e8 |
```
|
|
|
b2678e8 |
This will create a container, and an image, called
|
|
|
b2678e8 |
`fedora-toolbox-<your-username>:28` that's specifically customised for your
|
|
|
b2678e8 |
host user.
|
|
|
b2678e8 |
|
|
|
b2678e8 |
### Enter the Toolbox:
|
|
|
b2678e8 |
```
|
|
|
b2678e8 |
[user@hostname fedora-toolbox]$ ./fedora-toolbox enter
|
|
|
b2678e8 |
🔹[user@toolbox ~]$
|
|
|
b2678e8 |
```
|
|
|
af37d2f |
|