Дата и время публикации: Дата и время модификации:
Ящики Gnome и их использование
1. Что такое Gnome Boxes
Если переводить дословно, Boxes — это ящики, которые позволяют рачительным хозяйкам раскладывать и выделять противоположные по функциональному назначению вещи, порой несовместимые друг с другом, например, открытая банка варенья, сгущенки, макарон, муки, круп, печенья, конфет и всяких летучих и сыпучих веществ или ватные диски, тюбики с пастой, порошком, зубными щетками, лосьоном или кремом для лица, туалетной водой, шампунями, мочалками, мылом, полотенцами, моющими веществами и т.д . Все это нужно распихать, так чтобы оно — ЭТО не пачкало друг друга и не вносило свои запахи и было разложено по своим местам, т.е. по своим ящикам.
Как раз, Gnome Boxes являются вашими ящиками популярного графического стола Gnome. По ним можно расфасовать "особо пачкающие и дурнопахнущие" пользовательские и работающие изолированно в доверенной среде приложения, такие как браузеры, почтовые клиенты, мессенджеры и прочие приложения, которые напрашиваются на повышения своей безопасности за счет своей изоляции от всей системы, а самое главное — вашей домашней директории, где могут находится особо чувствительными для вашей репутации данные в электронном виде: официальная переписка, сведения об аккаунтах различных интернет-магазинов, WEB-панелей управления сайтов, частные фото, контакты и даже календарь с вашими планами и т.д. , т.е. все чем может поживится в своих грязных целях потенциальный нарушитель.
Рисунок 1.1 (С) ostechnix.com
Что и делает Gnome Boxes, как показано на рисунке 1.1, предоставляет обычному пользователю без навыков администратора упрощенный графический интерфейс, чтобы дать возможность контролировать, управлять и отслеживать производительность виртуальных машин с выполняемыми на них "зловонными" приложениями . Конечно, пока (на момент первой публикации) до контейнеров подобно docker, менеджеру управления ВМ Gnome Boxes еще далековато, но ... "Еще пять тысяч ведер, и считайте, почтеннейший, что ключик у вас уже в кармане." (С) X/Ф Золотой ключик (1939)
2. Использование
2.1 Установка
Установку ящичков Gnome можно производит из репозитария исходного кода Gnome, как показано в дампе 2.1
Дамп 2.1
$ git clone https://gitlab.gnome.org/gnome/gnome-boxes Клонирование в «gnome-boxes»… warning: переадресация на https://gitlab.gnome.org/gnome/gnome-boxes.git/ remote: Enumerating objects: 962, done. remote: Counting objects: 100% (962/962), done. remote: Compressing objects: 100% (215/215), done. remote: Total 28577 (delta 796), reused 900 (delta 739), pack-reused 27615 Получение объектов: 100% (28577/28577), 12.02 MiB | 592.00 KiB/s, готово. Определение изменений: 100% (21455/21455), готово.
Что несомненно для обычного пользователя, как и для некоторых системных администраторов, Gnome будет сложно. К тому же можно оказаться в "пролете" с обновлениями безопасности. Поэтому лучше использовать репозитарий предпочитаемого дистрибутива GNU/Linux, например, популярный дистрибутив Debian, как показано в дампе 2.2
Дамп 2.1
sudo apt install gnome-boxes ... augeas-lenses dmeventd genisoimage gnome-boxes ibverbs-providers ipxe-qemu libaugeas0 libbrlapi0.7 libcacard0 libcapstone3 libdaxctl1 libdevmapper-event1.02.1 libfdt1 libgtk-vnc-2.0-0 libgvnc-1.0-0 libibverbs1 liblvm2cmd2.03 libndctl6 libnetcf1 libosinfo-bin libpcap0.8 libphodav-2.0-0 libphodav-2.0-common libpmem1 librdmacm1 libreadline5 libslirp0 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libspice-server1 liburing1 libusbredirhost1 libusbredirparser1 libvdeplug2 libvirglrenderer1 libvirt-daemon libvirt-daemon-driver-lxc libvirt-daemon-driver-qemu libvirt-daemon-driver-vbox libvirt-daemon-driver-xen libvirt-glib-1.0-0 libvirt0 libxencall1 libxendevicemodel1 libxenevtchn1 libxenforeignmemory1 libxengnttab1 libxenmisc4.11 libxenstore3.0 libxentoolcore1 libxentoollog1 libxml2-utils lvm2 ovmf qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils seabios spice-client-glib-usb-acl-helper thin-provisioning-tools ...
- Dconf-gsettings-backend содержит фоновую (backand) реализацию сервиса управления настройками GSettings;
- Genisoimage предоставляет утилиты создания и управления iso-образами;
- Прикладные библиотеки libdconf, glib2.0 и glibc6 , реализующие сервисные операции по временному хранению данных, организацию графического интерфейса и взаимодействия с ядром ОС GNU/Linux через набор системных вызовов.
2.2 Первый запуск
После чего на доске запуска приложений AppGrid появится значок Боксы, который позволит осуществлять запуск Gnome Boxes, как показано на рисунке 2.1
Рисунок 2.1
Кликаем на значок “Боксы” и получаем следующую картинку, как показано на рисунке 2.2
Рисунок 2.2
Распахнутое окно ящичков с небольшим учебником, из которого узнаем, ЧТО
- ящики Gnome не только позволяют устанавливать, но и использовать удаленный терминальный доступ с использованием протоколов VNC, SPICE, RDP или SSH (Security Shell),
- обладают экспресс-установкой различных вариантов виртуальных машин,
- теперь нет необходимости устанавливать гостевую операционную систему, а просто выбрать подходящий вариант и Gnome все сделает самостоятельно,
- обмен файлам прост, также как в WEB-браузере, позволяя использовать механизм drag-n-drop по ходу выполнения виртуальной машины без нужды использования каких-либо дополнительных файловых служб удаленного доступа типа nfs, ftp и т.п., которые могут нести проблемы в безопасности.
Далее, чтобы не нарваться на ошибку запуска установочного образа, следует в gnome-terminal проверить, что процессор поддерживает виртуализацию, модули KVM установлены, libvirt доступен для запуска гостевых ВМ и все у нас отлично, как показано ниже.
$ gnome-boxes --checks • The CPU is capable of virtualization: yes • The KVM module is loaded: yes • Libvirt KVM guest available: yes • Boxes storage pool available: yes • The SELinux context is default: yes Report bugs to <http://gitlab.gnome.org/gnome/gnome-boxes/issues>. Boxes home page: <https://wiki.gnome.org/Apps/Boxes>.
(gnome-boxes:225986): Boxes-WARNING **: 10:45:49.836: util-app.vala:370: Failed to execute child process ?virsh? (No such file or directory) (gnome-boxes:225986): Boxes-WARNING **: 10:45:49.839: util-app.vala:350: Failed to execute child process ?restorecon? (No such file or directory) • The CPU is capable of virtualization: yes • The KVM module is loaded: yes • Libvirt KVM guest available: no • Boxes storage pool available: no Could not get “gnome-boxes” storage pool information from libvirt. Make sure “virsh -c qemu:///session pool-dumpxml gnome-boxes” is working. • The SELinux context is default: noНеобходимо до установить пакеты, устраняющие отсутствие возможности запуска вышеозначенных утилит virsh и restorecon из-за их недоступности (No such file or directory). Для чего, необходимо выполнить:
$ sudo apt install libvirt-clients policycoreutils А также добавить, что оказалось необходимым сделать в Debian/bullseye (на момент первой публикации), к переменной окружения командную строки $PATH директорию /usr/sbin :$ nano ~/.profile ... isexist_sbindir="$(echo "$PATH" | sed -n -e '/.*([/]usr[/]sbin).*/p')" if [ -d /usr/sbin ] && [ -z "$isexist_sbindir" ] ; then PATH="/usr/sbin:$PATH" fi ...После чего произвести перезапуск сессии пользователя рабочего стола Gnome
Затем, можно вернуться снова к нашим ящичкам Gnome: закрываем учебник и получаем картинку главного окна, как показано на рисунке 2.2.3
Рисунок 2.2.3
2.3 Запуск и управление ВМ
Интерфейс ящиков Gnome, как можно убедиться по рисунку 2.3.1, достаточно прост и состоит из двух элементов: панели управления и доски с виртуальными машинами.
Для добавления виртуальной машины, например как в моем случае iso-образа, нажимаем на кнопку с плюсиком:
Рисунок 2.3.1
В выпадающем списке выбираем пункт "Create a Virtual Machine..." и запускаем диалог создать виртуальную машину:
Рисунок 2.3.2
В указанном диалоге выбираем пункт "Operation System Image File", который запустит диалог выбора файла с расширением iso, после выбора которого будет запущен диалог подготовки образа "Prepare...", как показано на рисунке 2.3.3
Рисунок 2.3.3
В нем неизвестный образ гостевой операционной системы можно идентифицировать в ручную, например, как "Debian 10", что и показано на рисунке 2.3.3
Нажимаем, кнопку "Next" (Далее) и лицезреем в диалоге "Review and Create", как показано на рисунке 2.3.4, выделенные вычислительные ресурсы, которые соответствуют минимально требуемым для Debian-10, как показано на картинке выше. Для их уточнения следует нажать кнопку "Customize".
Рисунок 2.3.4
Завершаем создание гостевой ВМ нажатием кнопки "Create", как показано 2.3.5
Рисунок 2.3.5
Результат вышеописанных действий не заставил себя ждать, что и показано на рисунке 2.3.6
Рисунок 2.3.6
В главном окне на доске виртуальных машин появился значок запуска по именем файл iso-образа только что добавленной ВМ, нажатие на который привел к её запуску, что и показано на рисунке 2.3.7
Рисунок 2.3.7
Для возврата на рабочую доску с виртуальными машинами, нажимаем на кнопку со стрелкой влево. При этом запущенная ВМ будет продолжать работать в для пользователя Gnome, как показано на рисунке 2.3.8
Рисунок 2.3.8
На том же рисунке 2.3.8 показано, что по нажатию левой кнопки ручного манипулятора будет выведено выпадающий список управления ВМ, как показано на рисунке 2.3.9
Рисунок 2.3.9
Который позволяет принудительно остановить машину, как показано 2.3.9, или получить сведения о её использовании ВМ ресурсах, как показано 2.3.10
Рисунок 2.3.10
Кроме того, пользователь Gnome может внести изменения по их использованию в сторону увеличения или уменьшения, а также перезапустить, принудительно выключить, отредактировать конфигурационный файл ВМ и отключить запуск в фоновом режиме, а также посмотреть журнал проблем, как показано на рисунке 2.3.11
Рисунок 2.3.11
Журнал проблем представляет собой обычный просмотрщик лог файла, в котором содержатся сообщения о всех событиях, произошедших с момента создания ВМ. При этом, как показано на рисунке 2.3.11, пользователю доступны операции выделения и копирования без возможности вносить какие-либо изменения и правки в журнал. А сам формат сообщения достаточно прост и состоит из временной метки регистрации и описывающий текст события.
Редактор файла XML позволяет вносить изменения в конфигурацию ВМ, как показано на рисунке 2.3.12
Рисунок 2.3.12
При этом, он
- позволяет вносить изменения не только в используемые ресурсы, но и в количественный и качественный состав периферии, например сетевых и последовательных интерфейсов, носителей информации и различных дисковых накопителей, интерфейсных шин и других системных устройств, что позволяет создавать виртуальную площадку для построения различных технологических стендов с имитацией работы вычислительных аппаратных средств.
- советует сделать слепок (snapshot) текущей ВМ, как показано на рисунке 2.3.13
Рисунок 2.3.13
3. Библиография
3.1 Manage Remote And Virtual Machines With Gnome Boxes
3.2 Boxes.Virtualization made simple
3.3 Getting started with GNOME Boxes virtualization
3.4 Virtualization Deployment and Administration Guide. 22.3.GNOME BOXES