Toolbx
| Toolbx — это не опечатка, см. страницу проекта. |
Fedora Atomic Desktops — отличная платформа для разработки на основе контейнеров, и для работы с контейнерами рекомендуются buildah и podman.
Fedora Atomic Desktops также включает утилиту toolbx, которая использует контейнеры для создания среды, в которой можно устанавливать и использовать инструменты разработки и библиотеки.
Зачем использовать toolbx?
Toolbx упрощает использование контейнеризованной среды для повседневной разработки и отладки программного обеспечения. В операционных системах с корневой файловой системой только для чтения, таких как Fedora Atomic Desktops, он предоставляет привычную среду на основе пакетов, в которой можно устанавливать и использовать инструменты и библиотеки. Однако toolbx также можно использовать в системах на основе пакетов.
Использование Toolbx для выполнения ваших рабочих процессов в контейнеризованном режиме даёт вам несколько преимуществ:
-
Он поддерживает чистоту и стабильность хост-системы и помогает избежать беспорядка, который может возникнуть после установки большого количества инструментов разработки и пакетов.
-
Вы получаете доступ к различным версиям поддерживаемых дистрибутивов независимо от версии, которую вы используете.
-
Контейнеры — хороший способ изолировать и организовать зависимости, необходимые для разных проектов.
-
Контейнеры — безопасное пространство для экспериментов: если что-то пойдёт не так, легко выбросить toolbox и начать заново.
Однако очень важно отметить, что контейнеры toolbx по-прежнему интегрированы с хост-системой, поэтому не следует пытаться делать или запускать в них то, что вы в противном случае не стали бы делать в хост-системе. Контейнеры Toolbx не являются полностью изолированными средами, подобно виртуальным машинам.
Как это работает
Toolbx берёт на себя сложности использования контейнеров, предоставляя небольшое количество простых команд для создания, входа, просмотра списка и удаления контейнеров. Он также интегрирует контейнеры toolbx в вашу обычную рабочую среду, чтобы вам было удобно использовать их как повседневное пространство для разработки.
Контейнеры создаются из образов, которые обычно представляют собой сильно урезанные версии дистрибутивов. В таких образах почти нет инструментов и документации. Команда Toolbx поддерживает образ Fedora, в котором эти инструменты и документация доступны, обеспечивая хороший опыт работы «из коробки».
Каждый контейнер toolbx — это среда, в которую можно войти из командной строки. Внутри каждого из них вы найдёте:
-
Ваши существующие имя пользователя и права доступа.
-
Доступ к вашей домашней директории и нескольким другим расположениям.
-
Доступ к системному и сессионному D-Bus, системному журналу и Kerberos.
-
Обычные инструменты командной строки, включая менеджер пакетов (например, DNF в Fedora).
Другими словами, контейнеры toolbx выглядят, ощущаются и ведут себя как стандартная среда командной строки Linux. Объединяя всю эту информацию, контейнеры toolbx теряют некоторую часть безопасности, обеспечиваемой технологией контейнеров. Поэтому не следует рассматривать контейнеры toolbx как песочницу, где можно выполнять любые скрипты, которые вы никогда не запустили бы ни на какой другой системе.
В большинстве случаев, когда команда выполняется внутри контейнера, используется программа из контейнера. Однако есть несколько особых случаев, когда вместо неё используется программа на хосте (с помощью flatpak-spawn). Один из примеров — сама команда toolbox; это позволяет использовать toolbx изнутри контейнеров toolbx.
Ваш первый toolbox
После установки toolbx для начала работы требуется выполнить две простые команды:
$ toolbox create
Это загрузит образ OCI и создаст из него контейнер toolbx. После завершения выполните:
$ toolbox enter
Попав в toolbox, вы можете использовать обычные инструменты командной строки и устанавливать новые с помощью менеджера пакетов (например, DNF в Fedora).
|
Когда приглашение находится внутри toolbox, перед ним добавляется ромб: это указывает на то, что приглашение находится внутри контейнера toolbx. Символ ромба может отсутствовать, если вы используете пользовательскую тему оболочки. |
Команды и использование
toolbox create [параметры] <имя>
Создаёт контейнер toolbx. При этом будет загружен образ OCI, если он ещё не доступен (это необходимо для создания контейнера). По умолчанию используется образ, соответствующий версии хоста. Если для хост-системы нет подходящего образа, вместо него используется образ Fedora.
При использовании без параметров toolbox create автоматически присваивает создаваемому контейнеру имя. Чтобы создать дополнительные toolbox’ы, используйте аргумент <имя>.
Чтобы использовать конкретную версию хост-системы (например, Fedora 43 в Fedora 44), используйте параметр --release <релиз> | -r <релиз>.
Чтобы использовать другой дистрибутив для создания контейнера toolbx (например, RHEL в Fedora), используйте параметр --distro <дистрибутив> | -d <дистрибутив>.
Чтобы использовать другой образ, используйте параметр --image <имя> | -i <имя>.
toolbox enter [параметры] <имя>
Входит в toolbox для интерактивного использования. При использовании без параметров toolbox enter открывает toolbox по умолчанию.
Чтобы войти в toolbox с определённым именем, используйте аргумент имя.
Чтобы войти в toolbox для другого дистрибутива (например, Fedora в RHEL), используйте параметр --distro <дистрибутив> |-d <дистрибутив>.
Чтобы войти в toolbox с определённой версией (например, RHEL 9.6 в RHEL 10.0), используйте параметр --release <релиз> | -r <релиз>.
toolbox run [параметры] <команда> <аргумент …>
Выполняет команду в toolbox без входа в него. При использовании без параметров toolbox run выполняет команду в toolbox по умолчанию.
Чтобы выполнить команду в toolbox с определённым именем, используйте параметр --container <имя> | -c <имя>.
Чтобы выполнить команду в toolbox для другого дистрибутива (например, Fedora в RHEL), используйте параметр --distro <дистрибутив> |-d <дистрибутив>.
Чтобы выполнить команду в toolbox с определённой версией (например, RHEL 9.6 в RHEL 10.0), используйте параметр --release <релиз> | -r <релиз>.
toolbox list [параметры]
Показывает список локальных образов и контейнеров toolbx.
Чтобы показывать только контейнеры, используйте параметр --containers | -c.
Чтобы показывать только образы, используйте параметр --images | -i.
toolbox rm [параметры] <имя …>
Удаляет один или несколько контейнеров toolbx.
Параметр --force | -f удаляет отмеченные контейнеры, даже если они запущены.
Параметр --all | -a удаляет все контейнеры toolbx.
Контакты и сообщения об ошибках
Чтобы сообщить о проблемах, внести предложения или предложить исправления, см. проект toolbx на GitHub.
Чтобы связаться с пользователями и разработчиками toolbx, используйте обсуждение Fedora или присоединяйтесь к комнате Toolbx в Matrix.
Want to help? Learn how to contribute to Fedora Docs ›