Виртуально загрузить Sid-контейнер Debian с помощью systemd-nspawn
вляются последними доступными версиями. Большинство людей даже не подозревают об этом, потому что зачастую это не проблема. Это становится проблемой только тогда, когда вам нужны какие-то совсем новые функции. Допустим, в ваш любимый видеоредактор были внесены некоторые изменения в код, которые улучшают время рендеринга на 20%. Возможно, вы этого хотите.Коротко говоря, большинство дистрибутивов, которые считаются «стабильными» или «долгосрочной поддержкой», будут иметь (по крайней мере частично) более старое программное обеспечение в своих репозиториях. Но в « прокат дистрибутивов » включено гораздо более новое программное обеспечение, поскольку они постоянно получают обновления от вышестоящих разработчиков. Debian Unstable (под кодовым названием Sid) является таким дистрибутивом. С помощью магии командной строки вы можете запустить Debain Sid внутри текущей установки Debian Stable или Ubuntu.
Зачем это делать, если можно просто добавить PPA или резервные копии?
Архивы личных пакетов очень популярны среди пользователей, которые хотят добавить в Ubuntu новое программное обеспечение. Но PPA, бэкпорты (в Debian) и другие подобные методы мешают вашей основной установке. Это означает, что они могут обновлять отдельные части вашей основной системы. Это увеличивает риск того, что что-то пойдет не так, несовместимости нового и старого программного обеспечения, появления новых ошибок в операционной системе и т. д.
Напротив, метод, описанный в этом руководств
Contents
- 1 Зачем это делать, если можно просто добавить PPA или резервные копии?
- 2 Создание минимальной установки Debian Sid с помощью debootstrap
- 3 Подготовьте установку Debian Sid
- 4 Виртуально загрузить Sid-контейнер Debian с помощью systemd-nspawn
- 5 Установите и запустите необходимое программное обеспечение
- 6 Заключение
Зачем это делать, если можно просто добавить PPA или резервные копии?
т основной установке. Это чем-то похоже на контейнер (без надежных функций безопасности). Более того, Debian Sid включает гораздо больше программного обеспечения, чем вы найдете в PPA или бэкпортах. Однако все имеет свои ограничения, поэтому имейте в виду примечания из Страница нестабильной версии Debian .Создание минимальной установки Debian Sid с помощью debootstrap
Откройте эмулятор терминала и установите «debootstrap:»
sudo apt install debootstrap
Перейти в домашний каталог;
cd $HOME
Начните загрузку новой установки Debian Sid в каталоге «debian-sid»:
sudo debootstrap sid debian-sid
Процесс займет некоторое время, поэтому подождите несколько минут.
Подготовьте установку Debian Sid
Сначала установите новый пакет.:
sudo apt install systemd-container
Теперь используйте недавно установленную утилиту, чтобы войти в дистрибутив Debian Sid:
sudo systemd-nspawn -D debian-sid/
Если вы когда-нибудь застрянете в этом контейнере, вы можете нажать Ctrl+ ]три раза подряд, чтобы принудительно выйти. Используйте его только в качестве экстренного метода.
Добавьте нового пользователя. В этом примере пользователь называется просто «пользователь», но вы можете заменить его на желаемое имя пользователя, хотя то, как оно называется, не имеет значения.
adduser user
Выберите пароль для этого пользователя. При вводе текст не будет отображаться. После нажатия Enter введите тот же пароль еще раз при появлении запроса. Следующие данные
Создание минимальной установки Debian Sid с помощью debootstrap
Enter в ответ на эти запросы. Наконец, когда вас спросят, верна ли информация, введите «y» и нажмите Enter.Установить sudo:
apt install sudo
Добавьте пользователя в группу sudo:
adduser user sudo
Задайте имя хоста для вашего контейнера. Это поможет вам в терминале, проясняя, когда вы вошли в контейнер и когда вы находитесь в своей основной системе. Это поможет избежать ошибок.
echo debian-sid > /etc/hostname
Выход из контейнера Debian Sid:
exit
Виртуально загрузить Sid-контейнер Debian с пПодготовьте установку Debian Sid
этот контейнер можно было бы использовать простую команду chroot
, но systemd-nspawn имеет более сильные методы изоляции. Это лучше предотвращает случайное «утечку» контейнера в вашу основную систему. Кроме того, утилита включает в себя виртуальный переключатель загрузки. Это имитирует реальную загрузку вашей установки Debian Sid. При этом запускаются некоторые фоновые процессы, которые могут потребоваться для правильной работы некоторых приложений (например, dbus).
Загрузите установку Debian Sid:
sudo systemd-nspawn --boot -D debian-sid/
Войдите в систему, используя выбранные ранее имя пользователя и пароль.
Установите и запустите необходимое программное обеспечение
Предположим, вы хотите установить редактор изображений GIMP:
sudo apt install gimp
Завершите работу контейнера, чтобы можно было перезагрузиться со всеми установленными в нем новыми компонентами (зависимости, такие как dbus):
sudo systemctl poweroff
Когда вы закончите работу с контейнером, эту команду следует использовать для выхода.
GIMP — графическое приложение, поэтому ему необходим графический сервер. По техническим причинам он не работает в вашем контейнере, а работает в вашей основной системе. Запустите это в своей основной операционной системе (не в контейнере):
echo $DISPLAY
Вы можете получить ответ, например :0.0
.
Загрузите контейнер еще раз:
sudo systemd-nspawn --boot -D debian-sid/
После входа в систему сообщите контейнеру, где он может найти дисплей.
export DISPLAY=:0.0
Замените :0.0
, если у вас был другой ответ.
Читайте также: Как переключиться на Xorg с Wayland в Linux
Это работает только с графическим сервером Xorg. Если вы используете Wayland, возможно, вам придется проделать вышеописанное с переменной WAYLAND_DISPLAY вместо DISPLAY. Если это не сработает, временно используйте Xorg через параметры вашего менеджера входа.
Теперь вы можете запустить Gimp:
gimp
Не обращайте внимания на предупреждения в терминале. Вы получаете их в любой системе, когда запускаете графическое приложение с терминала. Это нормальный вывод. Обычно вы этого не видите, поскольку обычно запускаете приложения из графической панели запуска.
Заключение
Дойти до этого момента может быть сложно, но как только вы закончите, можно будет легко установить новое программное обеспечение. Просто загрузите контейнер, установите apt, экспортируйте отображение и запустите приложение. Если у вас есть все необходимое, вам просто нужно время от времени обновляться. Сделайте это с помощью apt update && apt upgrade
. Иногда вам также может потребоваться использовать apt update && apt full-upgrade
после предыдущей команды.