Красота

systemd-nspawn: продолжаем знакомство

Краткое резюме

systemd-nspawn — это инструмент для запуска одного дистрибутива Linux под управлением другого, использующий Linux namespaces для разделения систем. Управлять «машинами» можно через systemd-nspawn или machinectl, который предоставляет удобный интерфейс для запуска, остановки и управления автозапуском «машин»..

Здравствуйте, это Егор Гаврилов. Сегодня я продолжу рассказ о systemd-nspawn. Прежде чем читать эту статью, ознакомьтесь с моим предыдущим материалом, посвящённым этой технологии. **Как функционирует systemd-nspawn?** systemd-nspawn — это усовершенствованная версия инструмента chroot, знакомого многим пользователям Linux. Эта утилита позволяет запускать один дистрибутив Linux под управлением другого, используя общее ядро. Однако systemd-nspawn не ограничивается функциональностью chroot. Он применяет Linux namespaces для реализации chroot-подобной функциональности и полного разделения гостевой и хост-систем. По сути, это аналог контейнеризации, например, Podman или Docker, но более интегрированный с экосистемой systemd. Работать с «машинами» в systemd-nspawn можно двумя способами: непосредственно через systemd-nspawn или через machinectl. Первая утилита представляет собой прямую команду для запуска «машин», а вторая — удобный интерфейс для управления ими. **Управление «машинами» с помощью machinectl** Machinectl — это полноценный инструмент для работы с «машинами». С его помощью можно запускать и останавливать «машины», а также управлять их автозапуском. Для запуска «машины» используется команда machinectl start, а для остановки — machinectl stop. Корень «машины» должен находиться в /var/lib/machines/container-name. Все команды, связанные с запуском и остановкой «машин», выполняются от имени суперпользователя. Чтобы получить список запущенных «машин», можно использовать команду machinectl list. Для входа в «машину» можно вызвать интерактивную login-сессию с помощью команды machinectl login container-name или войти напрямую в shell, минуя login-сессию, с помощью команды machinectl shell [username@]container-name. Автозапуск «машины» включается командой machinectl enable container-name, а отключается — machinectl disable container-name. **Выводы** systemd-nspawn — это один из лучших инструментов для работы с контейнеризированными виртуальными машинами. Именно поэтому каждый раз при включении моего ноутбука запускается две операционные системы: основная (Arch Linux) и Debian 13, работающая в среде systemd-nspawn. Последняя используется для доступа к Фидонет через изолированное, надёжное и стабильное окружение, с возможностью подключения по SSH через PuTTY для удобной работы с КОИ-8, который до сих пор применяется в GoldED+.

Фильтры и сортировка