- DistroBox — запуск любого дистрибутива Linux внутри терминала Linux
- Предпосылки
- Шаг 1: Установите DistroBox в системе Linux
- Шаг 2: Создайте контейнер из образа
- Шаг 3. Доступ к контейнеру Distrobox
- Шаг 4. Запуск команд в контейнере Distrobox
- Шаг 5: Экспорт приложений из контейнера на хост
- Шаг 6: Клонирование контейнера Distrobox
- Шаг 7: Управление дистрибутивами в Fedora
- Могу ли я виртуализировать один Linux внутри другого
- 3 ответа 3
DistroBox — запуск любого дистрибутива Linux внутри терминала Linux
Distrobox — отличный инструмент, который позволяет создавать контейнеры и управлять ими в вашем любимом дистрибутиве Linux с помощью Docker или Podman. Запущенный контейнер становится тесно интегрированным с хост-системой, что позволяет совместно использовать каталог пользователя HOME вместе с внешним хранилищем, USB-устройствами и графическими приложениями.
Distrobox основан на образе OCI и реализует те же концепции, что и ToolBox, построенный на основе стандартных контейнерных технологий podman и OCI.
В этом руководстве мы покажем, как установить DistroBox для запуска любого дистрибутива Linux в вашем терминале Linux. Для этого руководства мы используем Fedora 34.
Предпосылки
Прежде чем продолжить, убедитесь, что у вас есть следующее:
Шаг 1: Установите DistroBox в системе Linux
Установить DistroBox несложно. Просто запустите следующую команду curl, которая загрузит и запустит сценарий установки.
$ curl https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh
В Fedora DistroBox доступен в репозитории Copr. Итак, включите репозиторий Copr в Fedora.
$ sudo dnf copr enable alciregi/distrobox
После добавления репозитория Copr используйте диспетчер пакетов DNF для установки Distrobox.
$ sudo dnf install distrobox
Шаг 2: Создайте контейнер из образа
Установив Distrobox, мы можем приступить к созданию и запуску контейнеров. Чтобы получить образ и запустить контейнер из образа, используйте команду distrobox-create следующим образом.
$ distrobox-create --name container-name --image os-image:version
В этом примере мы создаем контейнер с именем debian10-distrobox из образа Debian 10.
$ distrobox-create --name debian10-distrobox --image debian:10
Команда загружает образ Debian 10 из Docker Hub и создает контейнер с именем debian10-distrobox.
Чтобы получить полный список операционных систем и версий, поддерживаемых контейнерами Distrobox, посетите страницу проекта Distrobox.
Чтобы получить список контейнеров, созданных с помощью Distrobox, запустите:
Шаг 3. Доступ к контейнеру Distrobox
Чтобы получить доступ к оболочке только что созданного контейнера Linux, используйте команду distrobox-enter следующим образом:
$ distrobox-enter --name container-name
Например, чтобы получить доступ к нашему контейнеру, мы выполним команду:
$ distrobox-enter --name debian10-distrobox
Отсюда вы можете запускать команды внутри контейнера. Например, следующая команда проверяет версию ОС.
Вы также можете устанавливать приложения. Здесь мы устанавливаем утилиту Neofetch.
$ sudo apt install neofetch
После установки Neofetch запустите его следующим образом.
Шаг 4. Запуск команд в контейнере Distrobox
Вы можете напрямую запускать команды в контейнере Distrobox вместо доступа к оболочке, используя показанный синтаксис.
$ distrobox-enter --name container-name -- command
В следующих командах мы отображаем время безотказной работы контейнера и обновляем списки пакетов соответственно.
$ distrobox-enter --name debian10-distrobox -- uptime $ distrobox-enter --name debian10-distrobox -- sudo apt update
Шаг 5: Экспорт приложений из контейнера на хост
Если у вас есть приложение внутри контейнера Distrobox, которое вы хотите перенести на хост-систему, вы можете сделать это с помощью команды distrobox-export. Но сначала получите доступ к оболочке контейнера.
$ distrobox-enter --name container-name
Здесь мы собираемся установить Flameshot, бесплатный кроссплатформенный инструмент с открытым исходным кодом для создания скриншотов.
$ sudo apt install flameshot
Чтобы экспортировать приложение в Fedora, мы выполним команду:
$ distrobox-export --app flameshot
Чтобы выйти из контейнера, выполните:
Теперь вернемся к хост-системе Fedora. Чтобы подтвердить существование приложения, мы запустим поиск приложения с помощью меню «Приложение» следующим образом.
Шаг 6: Клонирование контейнера Distrobox
Иногда может потребоваться создать дубликат или клон образа контейнера. Для этого сначала остановите работающий контейнер с помощью команды podman.
Чтобы получить идентификатор контейнера, запустите команду podman ps, чтобы получить список запущенных в данный момент контейнеров.
Как только контейнер остановлен, вы можете создать дубликат следующим образом. В этом примере мы дублируем дистрибутив debian10-distrobox в клон с именем debian-10-clone.
$ distrobox-create --name debian-10-clone --clone debian10-distrobox
Чтобы еще раз убедиться, что клон создан, перечислите контейнеры Distrobox, как показано.
Шаг 7: Управление дистрибутивами в Fedora
В этом последнем разделе мы кратко рассмотрим, как управлять контейнерами с помощью podman.
Чтобы получить список всех активных контейнеров, запустите:
Чтобы вывести список всех запущенных контейнеров, как активных, так и закрытых, выполните:
Чтобы остановить контейнер, выполните команду:
Чтобы удалить контейнер, обязательно сначала остановите его, а затем удалите.
$ podman stop container_ID $ podman rm container_ID
Заключение
Distrobox – это удобная утилита, обеспечивающая прямую и обратную совместимость с программными приложениями, а также позволяющая опробовать различные дистрибутивы Linux в виде контейнеров, не требуя привилегий sudo.
Могу ли я виртуализировать один Linux внутри другого
Я получил новый ноутбук с «безопасной загрузкой», который, кажется, позволяет устанавливать только последние версии Linux. Однако у меня на рабочем столе более старая версия Linux с Gnome 2, которую я предпочитаю. Могу ли я запустить эту старую версию Linux в моем новом Linux? И если так, как я могу определить, будет ли мое оборудование его поддерживать?
3 ответа 3
- Достаточно мощное аппаратное обеспечение x86. Любой недавний процессор Intel или AMD должен делать.
- Объем памяти. В зависимости от того, какие гостевые операционные системы вы хотите запустить, вам потребуется как минимум 512 МБ ОЗУ (но, вероятно, чем больше, тем больше). По сути, вам понадобится все, что нужно вашей операционной системе для комфортной работы, плюс количество, необходимое для гостевой операционной системы. Так что, если вы хотите запустить Windows XP на Windows XP, вам, вероятно, не понравится опыт с менее чем 1 ГБ ОЗУ. Если вы хотите попробовать Windows Vista в гостевой системе, она откажется от установки, если ей будет предоставлено менее 512 МБ ОЗУ, поэтому она понадобится вам только для гостевой системы и памяти, которая обычно требуется операционной системе.
- Место на жестком диске. В то время как сам VirtualBox очень компактен (для обычной установки требуется всего около 30 МБ места на жестком диске), виртуальным машинам потребуются довольно большие файлы на диске, чтобы представлять их собственное хранилище на жестком диске. Так, например, для установки Windows XP вам понадобится файл, размер которого легко увеличится до нескольких ГБ.
- Поддерживаемая операционная система хоста. В настоящее время мы поддерживаем Windows (XP и более поздние версии), многие дистрибутивы Linux, Mac OS X, Solaris и OpenSolaris.
- Поддерживаемая гостевая операционная система. Помимо руководства пользователя (см. Ниже), актуальная информация доступна в разделе « Статус: Гостевые ОС ».
Если вашей основной проблемой является возможность запуска рабочего стола GNOME2 в дистрибутиве, поддерживающем «безопасную загрузку», я бы избегал виртуализации; Я бы предложил попробовать дистрибутив с MATE, средой рабочего стола, разветвленной из ныне не поддерживаемой кодовой базы GNOME 2. Mint Linux и Fedora включают MATE в свои официальные репозитории.
Вы не указали версию Linux, которую используете, но если это CentOS6 (или Redhat, или Fedora и т.д.), KVM, возможно, является лучшим выбором. [То же самое относится и к другим дистрибутивам, но Redhat сделал свой вес позади KVM, а KVM действительно поставляет].
Для поддержки виртуализации вам нужна работающая на ней 64-битная версия Linux, запустите команду
egrep '(vmx|svm)' --color=always /proc/cpuinfo
Если он находит один из них, это означает, что ваше оборудование может работать с KVM. (Возможно, вам потребуется включить поддержку виртуализации в вашем BIOS). Запустив KVM, вы можете запускать практически любую версию Linux, которая вам нравится — вы даже можете запускать Windows — но я никогда не пробовал этого.
Перед тем, как приступить ко всей этой работе, вы уверены, что не можете просто отключить «безопасную загрузку» в BIOS — у меня сложилось впечатление, что это стандартная практика.