Логотип

Как использовать Fedora Toolbx для изолированных сред разработки

Как использовать Fedora Toolbx для изолированных сред разработки

Современная разработка под Linux вышла за рамки традиционного подхода, при котором все устанавливается непосредственно в вашей системе. Теперь у вас есть доступ к инструментам, которые помогают создавать изолированные среды разработки без необходимости использовать полноценные виртуальные машины или сталкиваться со сложностями ручного управления контейнерами.

Именно здесь на сцену выходит Fedora Toolbx — инструмент, который позволяет легко создавать контейнерные среды разработки, при этом работа с ними не отличается от работы непосредственно в вашей операционной системе.

Из этого руководства вы узнаете, как настроить и использовать Fedora Toolbx для создания изолированных, воспроизводимых и простых в управлении сред разработки. Вы узнаете, как Toolbx помогает работать над несколькими проектами с конфликтующими зависимостями, сохраняя при этом чистоту и порядок в базовой системе.

В этом руководстве вы познакомитесь с основами Toolbx с помощью простых и практичных объяснений. Сначала вы узнаете, что такое Toolbx и зачем он нужен, а затем перейдёте к установке и настройке в вашей системе Fedora. После этого вы создадите свой первый контейнер для разработки и поймёте, как эффективно управлять несколькими средами.

В заключительных разделах представлены распространённые рабочие процессы и лучшие практики, которые помогут вам максимально эффективно использовать Toolbx в повседневной работе над проектами.

📝 Примечание
Toolbx изначально был разработан для Fedora и лучше всего работает в системах на базе Fedora, хотя его можно использовать и в других современных дистрибутивах Linux, но в этом руководстве основное внимание уделяется Fedora.

 

Что нужно знать о Toolbx: чем он отличается от других

Прежде чем начать работать с Toolbx, важно понять, что он собой представляет и зачем он нужен в вашем рабочем процессе разработки.

Toolbx создает контейнерные среды с помощью Podman, который представляет собой контейнерный движок, похожий на Docker, но работающий без демона.

Toolbx выделяется тем, насколько тесно он интегрирует эти контейнеры с вашей операционной системой, обеспечивая удобство разработки без ограничений, присущих традиционным контейнерам.

Работая с контейнерами Toolbx, вы получаете ряд ключевых преимуществ, которые упрощают процесс разработки:

  • Беспрепятственный доступ к домашнему каталогу — ваш домашний каталог автоматически монтируется в контейнер, а это значит, что ваши файлы, конфигурации и SSH-ключи сразу становятся доступными без дополнительной настройки.
  • Прямой доступ к оборудованию — графика, аудио и другие устройства работают «из коробки», без специальной настройки или сложных процедур монтирования.
  • Интеграция с хостом — вы можете запускать графические приложения, получать доступ к сети и взаимодействовать с системой так, как если бы вы работали непосредственно на хост-системе, а не внутри контейнера.

 

Вы можете представить, что Toolbx создаёт защищённый «пузырь» вокруг ваших инструментов для разработки и зависимостей. Внутри этого пузыря вы можете устанавливать любые пакеты, библиотеки или инструменты, необходимые для конкретного проекта, не затрагивая основную систему.

Читать  Как создавать облегченные образы Docker с помощью Mmdebstrap в Linux

В следующих разделах вы узнаете, как установить Toolbx в вашей системе Fedora и начать создавать изолированные среды разработки.

 

Установка Toolbx в Fedora

В Fedora Workstation (версия 28 и выше) toolbx предустановлен, и вы можете убедиться в этом, выполнив следующую команду.

toolbox --version

 

Если вы видите номер версии, значит, всё готово. Если Toolbx не установлен, вы можете добавить его с помощью:

sudo dnf install toolbox

 

Вот и всё, что нужно для установки. Никаких сложных файлов конфигурации, настройки демона или дополнительных зависимостей, о которых нужно беспокоиться.

 

Создание вашего первого контейнера Toolbx

Создание контейнера Toolbx — это простой процесс, который можно выполнить всего одной командой. Она создаст контейнер по умолчанию на основе вашей текущей версии Fedora.

Например, если вы используете Fedora 41, она автоматически создаст для вас контейнер Fedora 41. При первом запуске этой команды Toolbx загружает образ контейнера, что занимает несколько минут в зависимости от скорости вашего интернет-соединения.

toolbox create

 

После создания контейнера вы можете войти в него, выполнив следующую команду:

toolbox enter

 

Вы заметите небольшой значок контейнера (⬢), который появляется в подсказке и указывает на то, что вы находитесь внутри контейнера Toolbx.

Несмотря на то, что вы работаете в контейнерной среде, вы обнаружите, что ваш домашний каталог, файлы и большая часть среды вашей хост-системы остаются доступными, как и в основной системе.

 

Использование разных версий Fedora

Иногда вам нужно работать с определенной версией Fedora. Возможно, на ваших рабочих серверах установлена более старая версия или вы хотите проверить совместимость с последней версией перед обновлением основной системы.

Toolbx упрощает эту задачу с помощью флага --release или -r:

toolbox create --release 39 fedora39-container
toolbox create --release 41 testing-fedora41

 

Вы даже можете использовать контейнеры из более старых версий Fedora, запустив более новую версию в своей основной системе. Это удобный способ обеспечить совместимость с различными средами.

 

Проверка среды контейнера

Чтобы убедиться, что вы действительно находитесь внутри контейнера, и увидеть, чем он отличается от вашей хост-системы, вы можете выполнить несколько простых команд, например проверить, какие пакеты установлены.

dnf list installed | wc -l

 

Вы также можете проверить имя хоста контейнера:

hostname

 

Чтобы увидеть текущий рабочий каталог и убедиться, что домашний каталог доступен:

pwd
ls -la

 

Вы заметите, что находитесь в своём домашнем каталоге, где видны все привычные файлы и папки, даже несмотря на то, что вы находитесь внутри контейнера.

Читать  Device42 усиливает управление ИТ-активами с помощью генеративного искусственного интеллекта

 

Установка программного обеспечения в контейнере

Теперь, когда вы находитесь внутри контейнера, вы можете установить инструменты для разработки, не затрагивая систему хоста. Например, если вы хотите настроить среду разработки Python:

sudo dnf install python3-pip python3-virtualenv git vim -y

 

Если вы выйдете из контейнера и проверите систему хоста, то увидите, что эти пакеты там не установлены. Они существуют только в вашей среде Toolbx.

Давайте рассмотрим ещё один пример с инструментами разработки Node.js.

sudo dnf install nodejs npm -y
node --version
npm --version

 

Эти команды устанавливают Node. js и npm, а затем проверяют установку, сверяя их версии. Опять же, эта установка полностью изолирована от вашей основной системы.

Когда вы закончите работу в контейнере, вы можете выйти из него, просто выполнив команду:

exit

 

Создание именованных контейнеров для разных проектов

Хотя контейнер по умолчанию отлично подходит для общей разработки, вам часто будут нужны отдельные контейнеры для разных проектов или конкретных целей. Создание именованных контейнеров поможет вам более эффективно организовать среду разработки и обеспечить изоляцию вашей работы.

Чтобы создать именованный контейнер, выполните команду toolbox create и укажите имя, которое вы хотите присвоить контейнеру:

toolbox create python-dev
toolbox create nodejs-project
toolbox create rust-experiments

 

Каждая из этих команд создаёт отдельный контейнер с собственной изолированной средой. Если вы хотите работать над конкретным проектом, вы входите в соответствующий контейнер, указав его имя с помощью команды enter:

toolbox enter python-dev

 

Такой подход позволяет поддерживать полностью изолированные среды для разных типов разработки. Например, в вашем контейнере Python может работать Python 3.12 со всеми современными зависимостями, а в контейнере с устаревшим проектом может использоваться Python 3.8 со старыми библиотеками, и ни одна из этих сред не будет мешать другой или каким-либо образом влиять на вашу хост-систему.

 

Запуск графических приложений из Toolbx

Что делает Toolbx по-настоящему особенным, так это его способность беспрепятственно запускать графические приложения внутри ваших контейнеров. В отличие от традиционных контейнеров, которые требуют сложной настройки и конфигурации X11 переадресации.

Toolbx автоматически интегрирует отображение, создавая впечатление, что вы запускаете приложения непосредственно в своей основной системе.

Чтобы увидеть, как это работает на практике, давайте установим и запустим графический текстовый редактор в качестве примера.

toolbox enter
sudo dnf install gedit -y

 

После завершения установки вы можете запустить редактор.

gedit &

 

Окно gedit открывается на вашем рабочем столе, как если бы вы запустили его из своей основной системы. Вы можете создавать, редактировать и сохранять файлы, и всё работает именно так, как вы ожидаете.

Амперсанд (&) в конце запускает приложение в фоновом режиме, позволяя вам продолжать работать в терминале, пока графическое приложение остаётся открытым.

Читать  В Fastfetch 2.55 добавлены динамическое обновление и логотипы на обложках медиафайлов

 

Управление несколькими контейнерами Toolbx

По мере создания новых контейнеров для различных проектов вам понадобится способ их отслеживания и эффективного управления ими. Toolbx предоставляет несколько команд, которые помогают просматривать, контролировать и упорядочивать контейнерные среды.

Список ваших контейнеров

Чтобы просмотреть все созданные вами контейнеры, выполните команду list:

toolbox list

 

Из этого вывода вы можете узнать, какие контейнеры запущены в данный момент, а какие завершили работу.

 

Проверка сведений о контейнере

Если вам нужна более подробная информация о конкретном контейнере, вы можете использовать Podman напрямую, поскольку контейнеры Toolbx являются обычными контейнерами Podman:

podman ps -a

 

Вы также можете проверить конкретный контейнер, чтобы увидеть его полную конфигурацию:

podman inspect python-dev

Остановка и запуск работающих контейнеров

Когда вы заканчиваете работу в контейнере и хотите освободить системные ресурсы, вы можете остановить его вручную.

podman stop python-dev

 

Чтобы убедиться, что контейнер остановлен, снова выполните команду list:

toolbox list

 

Вы увидите, что статус контейнера изменился с «работает» на «завершил работу».

Если у вас есть контейнер, который в данный момент остановлен, и вы хотите использовать его снова, просто enter его, и Toolbx автоматически запустит его для вас:

toolbox enter python-dev

 

Удаление контейнеров, которые вам больше не нужны

Со временем у вас может накопиться множество контейнеров, которые вы больше не используете, и эти контейнеры будут занимать место на диске вашей системы. Если вы уверены, что контейнер вам больше не нужен, вы можете полностью удалить его с помощью команды rm:

toolbox rm python-dev

 

Перед удалением контейнера Toolbx попросит вас подтвердить действие. Просто введите y для подтверждения, и Toolbx удалит контейнер вместе со всеми установленными в нём пакетами и конфигурациями.

Важное примечание: при удалении контейнера удаляются все пакеты, системные конфигурации и любые данные, хранящиеся в файловой системе контейнера, но файлы вашего домашнего каталога остаются в полной безопасности.

После удаления вы можете проверить использование диска всеми вашими контейнерами, образами и томами с помощью команды:

podman system df

 

Если вы хотите освободить место на диске, удалив все остановленные контейнеры и неиспользуемые образы, вы можете выполнить команду очистки:

podman system prune

 

Заключение

Toolbx предоставляет мощный инструмент для управления средами разработки в вашей системе Fedora без использования традиционных виртуальных машин.

Из этого руководства вы узнали, как создавать изолированные контейнеры, запускать графические приложения и управлять несколькими средами разработки, сохраняя при этом чистоту базовой системы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала