Источник Хабрахабр.ru, Москва
Заголовок Как незаметно запускать виртуальный Linux на QEMU
Дата 20220623

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

============= Обработанный текст:

Как незаметно запускать виртуальный Linux на QEMU• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

Как незаметно запускать виртуальный Linux на QEMU• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

Python * Виртуализация * Разработка под Linux * Разработка под Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
*

Из песочницы

В некоторых задачах Linux просто необходим. И самым ярким тому примером на
сегодня является наличие системы WSL. Однако не везде ею можно пользоваться.
Некоторые предприятия принципиально застревают на Win7. И их можно понять. Эта
система не столь требовательна к железу (особенно к видео-подсистеме), не
ломится чуть-что в интернет• Телекоммуникации и связь » Компьютерная сеть » Интернет, да и в Ultimate варианте вообще не требует
подключения к глобальной сети• Телекоммуникации и связь » Компьютерная сеть » Интернет.

В большей части случаев можно обойтись родными для системы средствами
разработки
и сторонними инструментами. Но представьте себе, что для работы
Вашего комплекса нужно собрать вместе более десятка не маленьких opensource
проектов с перекрестными зависимостями. Причем часть из них написана под
pythonтут никаких проблем нет - виртуальная среда и все ок), а часть
собирается в бинарные исполняшки, от которых зависят другие модули. И тут
может быть как минимум три решения:

собрать все с помощью mingw-тулчейна;

воспользоваться msys2 или cygwin;

собрать все быстро и удобно на виртуальной машине• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
с Linux.

Однако у всех перечисленных способов есть свои недостатки:

Для mingw-тулчейна вам потребуется руками собирать неимоверное количество
библиотек-зависимостей.

Среды msys2 или cygwin хороши тем, что в их репозиториях уже есть почти все,
что может пригодиться (а в вашем случае может быть и вообще все). Но вот беда:
заказчик хочет, чтобы система была монолитной и не требовала установки
дополнительного ПО, а обе среды в базовой реализации не совсем портабельны.
Что-то может перестать работать после переноса на новое место и в новую
систему. Есть их портабелизации на portableapps.com, но тут тоже могут ожидать
подводные камни: в обоих случаях при исследовании были пакеты, которые
ставились как-то не так. Например binutils в portable msys2 не устанавливал
исполняемые файлы• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Исполнимый модуль

• Информационные технологии » Информатика » Программирование » Исполнимый модуль

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Исполнимый модуль
. О какой сборке чего бы то ни было в таком случае может идти
речь?

Виртуальная машине• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
с Linux с точки зрения сборки комплекса безусловно является
оптимальным решением (если конечно не требуется CUDA). Но тут возникает уже
человеческий фактор. При словах "Linux" и "виртуальная машина• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
" у довольно
большого количества людей возникает примерно одинаковая реакция: "Не, не, не!
Люди не умеют этим пользоваться. Учить долго и/или дорого. Делай так, чтобы
было только на Винде".

Конкретно в моей задаче проблема была именно в том, что там уж слишком много
всего накручено. Собрать это под Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
скорее всего можно, но вот время,
которое на это придется затратить меня не устраивало. Значит нужно прятать
факт использования виртуальной машины• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
. Благо пользователи Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
по большей
части не сталкиваются с QEMU• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
, и считают, что для работы с виртуальной машиной• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

обязательно нужно устанавливать в систему VMWare или VirtualBox• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » VirtualBox

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » VirtualBox

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » VirtualBox
, а потом с их
интерфейса запускать окошко с виртуалкой.

Я не буду здесь писать о чем-то новом. На просторах Хабра все, что будет
описано ниже уже не раз встречалось. Но вот применительно к конкретной задаче
маскировки работы виртуальной машины• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
под работу обычной консольной программы• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Текстовый Интерфейс Пользователя

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Текстовый Интерфейс Пользователя

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Текстовый Интерфейс Пользователя

Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
, текст будет интересен.

Я буду описывать весь процесс на примере Manjaro. Во первых, я ее очень Люблю.
Во вторых это Arch-дистрибутив с установленным из коробки pamac и AUR. Конечно
при использовании чистого Arch Linux• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Юникс-подобные операционные системы » Linux » Дистрибутивы Linux » Arch Linux

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Юникс-подобные операционные системы » Linux » Дистрибутивы Linux » Arch Linux

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Юникс-подобные операционные системы » Linux » Дистрибутивы Linux » Arch Linux
итоговый образ получился бы меньше, но не
на много.

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

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Текстовый Интерфейс Пользователя

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Текстовый Интерфейс Пользователя
. Для Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
-пользователей также будет не
лишним добавить диалог открытия файлов (а, если нужно, и ввода параметров),
чтобы им не пришлось параметры в командную строку• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Интерфейс командной строки

• Информационные технологии » Информатика » Программирование » Интерфейс пользователя » Текстовый Интерфейс » Интерфейс командной строки

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Интерфейс командной строки

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Интерфейс пользователя » Текстовый Интерфейс » Интерфейс командной строки

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Интерфейс командной строки

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Интерфейс пользователя » Текстовый Интерфейс » Интерфейс командной строки
вбивать.

На хосте должны быть установлены пакеты из группы qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-full. Образ установщика
гостевой системы находится на https://manjaro.org/download/ . В принципе можно
брать любой. Потом все равно нужно будет удалять лишние пакеты. Но вот беда:
некоторые пакеты (например tesseract) ставят себе в зависимость пакеты
окружения рабочего стола. Так что лучше сразу поставить что-то полегче (xfce,
например), чтобы потом не жалко было его оставлять.

Создаем диск виртуальной машины• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
:

qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-img create -f qcow2 image.qcow2 32G

И запускаем ее установку:

qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-system-x86_64• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Вычислительная техника » Компьютер » X86 64

• Высокие технологии » Информационные технологии и телекоммуникации » Вычислительная техника » Компьютер » X86 64
\ -enable-kvm \ -cpu host• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Телекоммуникации и связь » Компьютерная сеть » Интернет » DNS » Host (программа)
\ -hda image.qcow2 \ -drive
file=manjaro-xfce-21.0-210318-linux510.iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
,media=cdrom \ -boot d \ -smp 4 \ -m
4G \ -display gtk \ -vga std \ -device virtio-net,netdev=vmnic -netdev
user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
,id=vmnic

Советую собирать на единственном разделе. Либо вообще без свопа• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционная система » Управление памятью » Виртуальная память » Своп

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционная система » Управление памятью » Виртуальная память » Своп

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционная система » Управление памятью » Виртуальная память » Своп
, либо со
своп-файлом• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционная система » Управление памятью » Виртуальная память » Своп

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционная система » Управление памятью » Виртуальная память » Своп

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционная система » Управление памятью » Виртуальная память » Своп
. Это нужно для того, чтобы образ в итоге занял меньше места и не
имел тенденции к чрезмерному росту.

Из дополнительных пакетов нам понадобится samba для получения доступа к папке
Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
-хоста.

Также далее будем считать, что пользователя гостевой системы зовут user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
, а его
пароль pass.

После установки команда запуска поменяется на:

qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-system-x86_64• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Вычислительная техника » Компьютер » X86 64

• Высокие технологии » Информационные технологии и телекоммуникации » Вычислительная техника » Компьютер » X86 64
\ -enable-kvm \ -cpu host• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Телекоммуникации и связь » Компьютерная сеть » Интернет » DNS » Host (программа)
\ -hda image.qcow2 \ -smp 4 \ -m
4G \ -display gtk \ -vga std \ -device virtio-net,netdev=vmnic -netdev
user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
,id=vmnic

Мы изъяли установочный диск:

-drive file=manjaro-xfce-21.0-210318-linux510.iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
,media=cdrom \ -boot d \

Теперь можно устанавливать и настраивать свой программный комплекс в приятной
Linux-среде. Раз уж мы работаем в Manjaro, откроем сразу GUI pamac'а и в
настройках разрешим использование AUR-репозитория, также изменив сборочную
директорию на ~/AUR. Теперь собирать стало еще проще. Найти-что-то чего нет в
AUR - это не так-то просто.

Пришло время маскироваться под Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
-приложение. Для этого нам потребуется
portable python. Забираем любой понравившийся с
https://github.com/oskaritimperi/portablepython/releases . Я буду писать на
примере python3. Естественно нужен QEMU• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
с https://qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
.weilnetz.de/w64/ .

Создаем папки SystemName/workdir/qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
. В workdir распаковываем содержимое
папки python'а из архива и перемещаем образ image.qcow2. A в qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
копируем
содержимое установленного QEMU• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
(установить его можно и wine'ом).

Для теста системы на поддержку виртуализации нам потребуется cpuinfo в
portable python'е на Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
, а для передачи параметров (да и мало ли еще
чего) через подключаемый iso-образ• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
pycdlib:

# Опять-таки можно и через wine запустить. python.exe• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE
-m pip install
py-cpuinfo pycdlib

В папке SystemName создаем run.bat• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл
с простеньким содержимым:

cd workdir python.exe• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE
run.py cd ..

А в workdir создаем скрипт• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки
run.py, который и будет заниматься получением
параметров запуска, запуском виртуальной машины• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
и выводом лога работы
программы• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Телекоммуникации и связь » Компьютерная сеть » Интернет » DNS » Host (программа)
на консоль:

import cpuinfo import os import sys• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .sys

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .sys

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .sys
import subprocess import time import
getpass from io import BytesIO import pycdlib from tkinter import * from
tkinter import filedialog user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
= getpass.getuser() qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
_bin =
'qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
/qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-system-x86_64• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Вычислительная техника » Компьютер » X86 64

• Высокие технологии » Информационные технологии и телекоммуникации » Вычислительная техника » Компьютер » X86 64
.exe• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » .EXE
' password = getpass.win• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
_getpass(f'{user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
}, введите
свой пароль: ') # Проверяем на включенность виртуализации и предупреждаем
пользователя, если что. if
len(set(cpuinfo.get_cpu_info()['flags']).intersection({'vmx', 'svm'})) > 0:
cpu = '-enable-kvm -cpu host• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Телекоммуникации и связь » Компьютерная сеть » Интернет » DNS » Host (программа)
' else: cpu = '-cpu qemu64' print('Если включить в
BIOS поддержку Intel VT-x, программа• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Телекоммуникации и связь » Компьютерная сеть » Интернет » DNS » Host (программа)
будет работать быстрее.') # Открываем
диалог выбора папки и просим пользователя показать, где лежат данные. # При
необходимости сюда и окно с параметрами можно записать. # Но спрашивать нужно
именно папку, чтобы записать туда конфигурацию для программы• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Телекоммуникации и связь » Компьютерная сеть » Интернет » DNS » Host (программа)
# на виртуальной
машине• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
. base_root = Tk() base_dialog = filedialog.Directory(base_root)
base_root.withdraw() base = base_dialog.show().strip().replace('\\', '/') #
Приводим слеши в порядок. if base[-1] != '/': base += '/' # Пишем диск с
конфигурацией (здесь только пользователь и пароль к разделяемой папке). iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
=
pycdlib.PyCdlib() iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
.new() conf = bytes(f'{user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
}\n{password}\n', 'utf-8• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8
')
iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
.add_fp(BytesIO(conf), len(conf), '/CONFIG.;1') iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
.write_fp(BytesIO(conf))
iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
.write('config.iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
') iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
.close() # Команда запуска виртуальной машины• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
. #
Обратите внимание на параметр -display none. # Это позволяет не показывать
экран виртуальной машины• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
. run_qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
= f'{qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
_bin} {cpu} -hda ./image.qcow2
-smp {os.cpu_count()} \ -m 4G -display none -vga std -device
virtio-net,netdev=vmnic \ -netdev user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
,id=vmnic -drive
file=config.iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
,media=cdrom'.replace('/', '\\') open(f'{base}system.log', 'w')
# Очищаем лог. # Команда запуска черезчур сложна для subprocess.Popen, поэтому
нужен скрипт• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки
. open(f'./qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
.bat• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл
', 'w').write(run_qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
) # На Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
-хосте
нужно расшарить папку и только потом запускать виртуальную машину• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
. base_win• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
=
base.replace('/', '\\')[: -1] os.system(f'net share vmshare={base_win• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
}
/GRANT:"{user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
},FULL"') qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
= subprocess.Popen(['qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
.bat• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Пакетный файл

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Пакетный файл
']) # Начинаем читать
лог. print('Загрузка...') lines_printed = 0 while qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
.poll() is None: # Пока
виртуальная машина• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
запущена. log = open(f'{base}system.log', 'rb').read() if
b'\n' in log: if log[-1] != b'\n': log = log[: log.rfind(b'\n')] log =
log.split(b'\n') if len(log[-1]) == 0: log = log[: -1] log =
log[lines_printed:] if len(log) > 0: lines_printed += len(log) for line in
log: try: # На случай битого вывода. print(line.decode('utf-8• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8
')) except: pass
else: time.sleep(1) # Отключаем папку. os.system('net share /delete vmshare')
print('Завершено')

Ключевыми особенностью нового скрипта• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки
запуска QEMU• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
переменной run_qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
)
являются два параметра:

# Не показывать пользователю экран виртуальной машины• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
. -display none #
Подключить сгенерированный CD с параметрами. -drive
file=config.iso• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » ISO-образ

• Стандартизация » Стандарт » Стандарты Iso » ISO-образ
,media=cdrom

Стоит отметить, что на подключаемый CD можно складывать все, что угодно.
Например, так удобно обновлять ПО внутри системы прямо на лету.

Теперь нужно, чтобы гостевая система запускалась, выполняла задачу и
выключалась. Для этого нам понадобится еще один файл на гостевой системе,
который нужно прописать в автозапуск• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Autorun.inf

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Autorun.inf

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » Autorun.inf
любым удобным для вас способом.

#!/bin/bash• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Bash

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Bash

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки » Bash
# Пример скрипта• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки
запуска комплекса run.sh # Весь полезный вывод
перенаправляется в /mnt/system.log. # Файл конфигурации• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » Конфигурация программного обеспечения

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Форматы данных » Формат файла » Конфигурация программного обеспечения

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Форматы данных » Формат файла » Конфигурация программного обеспечения
все могут прочитать в
config на подключаемом CD. # Пусть в этой папке лежат все исполняемые файлы• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Исполнимый модуль

• Информационные технологии » Информатика » Программирование » Исполнимый модуль

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Исполнимый модуль

комплекса. cd /home/user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
/SystemName # Чтение параметров. echo "pass" | sudo -S
umount /dev/sr0 mkdir /home/user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
/SystemName/config echo "pass" | sudo -S mount
/dev/sr0 /home/user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
/SystemName/config user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
=`sed -n "1p" <
/home/user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
/SystemName/config` pass=`sed -n "2p" <
/home/user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
/SystemName/config` echo "pass" | sudo -S umount /dev/sr0 #
Монтирование рабочей директории• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор
. echo "pass" | sudo -S mount -t cifs• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор » Cifs

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор » Cifs

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор » Cifs
-o
username=$user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User
,password=$pass,workgroup=workgroup,iocharset=utf8• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8
,uid=user• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows » User

//10.0.2.2/vmshare /mnt ./it_works_all_the_time.py >> /mnt/system.log &
all_time_worker=$! # Здесь все данные, с которыми комплекс должен работать.
base="/mnt/" # То, что нельзя распараллелить. ./1_line.py >> /mnt/system.log
./2_line.py >> /mnt/system.log ./3_line.py >> /mnt/system.log # То, что может
быть выполнено параллельно. ./4_parallel.py >> /mnt/system.log & pid_41=$!
-S ./4_parallel.py >> /mnt/system.log & pid_42=$! ./4_parallel.py >>
/mnt/system.log & pid_43=$! # Ожидание распараллеленных процессов. wait
$pid_41 wait $pid_42 wait $pid_34 echo "pass" | sudo -S ./5_end.py >>
/mnt/system.log # Завершение. kill $all_time_worker echo "pass" | sudo -S
umount /mnt echo "pass" | sudo -S poweroff

Все! Виртуальная машина• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины
запускается, делает, что ей положено и выключается,
передавая все строки вывода в файл, который читается скриптом• Информационные технологии » Информатика » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Языки Программирования » Скриптовые Языки
на хосте.

После сборки всего необходимого мой образ весил 22 ГБ - неприлично много, но
там точно около 13 ГБ "полезной" нагрузки. Нужно уменьшать. Опять открываем
pamac на гостевой системе и в меню переходим в "Режим приложений". Удаляем все
ненужное. Теперь возвращаемся в обычный режим, в закладку "Установлены" и
группу "Неиспользуемые". Итеративно удаляем все, пока список• Информационные технологии » Информатика » Мультисписок не опустеет. И
выключаем систему.

Теперь нужно по возможности уменьшить размер образа, удалив лишние файлы,
дефрагментировав и обрезав его:

### В гостевой системе. # Удаляем кэш пакетов. Устанавливать нам больше
нечего. pacman -Sc # Дважды соглашаемся. rm -f /var/cache/pacman/pkg/* rm -rf• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Команда Rm

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Команда Rm

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Команда Rm

~/AUR ### На хосте. # Подключаем модуль ядра. modprobe nbd max_part=8 #
Монтируем файловую систему• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор
. qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-nbd --connect=/dev/nbd0 image.qcow2 mkdir
/mnt/qcow2 mount /dev/nbd0p1 /mnt/qcow2 # Дефрагментируем. Все свободное место
скапливается в конце диска. e4defrag /dev/nbd0p1 /mnt/qcow2 # Заполняем
свободное место нулями. # Будьте внимательны. В процесс диск раздуется до
предельного разера. dd if=/dev/zero• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Fhs » /dev/zero

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Fhs » /dev/zero

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Fhs » /dev/zero
of=/mnt/qcow2/tempfile rm -f
/mnt/qcow2/tempfile # Отключаем файловую систему• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Загрузочный сектор
. umount /mnt/qcow2 qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-nbd
--disconnect /dev/nbd0 rmmod nbd # Пересобираем диск, чтобы он занимал минимум
места. mv image.qcow2 image.qcow2.old qemu• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Системное программное обеспечение » Виртуальные машины » QEMU
-img convert -O qcow2
image.qcow2.old image.qcow2 rm -f image.qcow2.old

Вот теперь 13 ГБ. Точно, как и ожидалось.

Пара слов о том, как понять, какой объем системы является "полезным":

import pacman import locale from ipywidgets import IntProgress from
IPython.display import display from datetime import datetime
locale.setlocale(locale.LC_TIME, 'ru_RU.UTF-8• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Программное обеспечение » Кодировки » Юникод » UTF-8

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Plan 9 » UTF-8
') print('Получение списка• Информационные технологии » Информатика » Мультисписок
установленных пакетов.') installed = pacman.get_installed() installed =
{pkg['id'] for pkg in installed} print('Получение информации о пакетах.')
progress = IntProgress(min=0, max=len(installed)) display(progress)
specially_installed = [] all_installed = [] for pkg in installed: info =
pacman.get_info(pkg) if info['Причина установки'] != 'Установлен как
зависимость другого пакета': specially_installed.append(info)
all_installed.append(info) progress.value = progress.value + 1 installed_dict
= {pkg['Название']: pkg for pkg in all_installed} print('Получение пакетов,
зависящих от пакета.') progress = IntProgress(min=0, max=len(installed))
display(progress) dependensies = dict() for pkg in installed:
dependensies[pkg] = set() try: for depend in pacman.depends_for(pkg): if
depend != pkg and depend in installed: dependensies[pkg].add(depend) except:
dependensies.pop(pkg) progress.value = progress.value + 1 # Ищем нужные пакеты
и их зависимости. needed_words = { 'В', 'этом', 'списке• Информационные технологии » Информатика » Мультисписок', 'должны', 'быть',
'солва', ',', 'являющиеся', 'базовыми', 'формами', 'имен', 'пакетов', ',',
'необходимых', 'Вашему', 'комплексу', '.', 'То', 'есть', ',', 'если', 'пакет',
'называется', 'python-pip', ',', 'то', 'в', 'списке• Информационные технологии » Информатика » Мультисписок', 'должен', 'быть',
'просто', 'pip', '.'} needed = set() for name in needed_words: for pkg in
installed: if name in pkg: needed.add(pkg) new_needed = set() for pkg in
list• Информационные технологии » Информатика » Мультисписок(needed): if pkg in dependensies: for dep in dependensies: if dep not in
needed: needed.add(dep) new_needed.add(dep) print(f'Добавлено
{len(new_needed)} пакетов. Всего {len(needed)} пакетов.') # Вычисляем
"полезный" объем. sizes = {'B': 1, 'K': 1024, 'M': 1048576, 'G': 1073741824}
size_needed = 0 size_not_needed = 0 for pkg in installed: size =
float(installed_dict[pkg]['Установленный размер'].split()[0].replace(',',
'.')) * sizes[installed_dict[pkg]['Установленный размер'].split()[1][0]] if
pkg in needed: size_needed += size else: size_not_needed += size
print(f'Размер необходимых пакетов {int(size_needed / 1048576)} MB')
print(f'Размер пакетов для удаления {int(size_not_needed / 1048576)} MB')
print('Завершено.')

В итоге, получен универсальный способ сборки громоздких opensource комплексов
с кучей зависимостей под Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
. По производительности, конечно, не ах.
Все-таки виртуализация (а-то и без VT-x может запуститься). Но при
ограничениях, описанных в начале статьи, лучшего добиться можно, но неимоверно
сложно. Напомню, что это должно было выглядеть, как программа• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » UNIX » Утилиты Unix » Host (программа)

• Телекоммуникации и связь » Компьютерная сеть » Интернет » DNS » Host (программа)
, собранная
исключительно под Windows• Информационные технологии » Информатика » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Информационные технологии » Информационно-коммуникационные технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows

• Высокие технологии » Информационные технологии и телекоммуникации » Программирование » Платформы программирования » Операционные системы » Операционные Системы Майкрософт » Microsoft Windows
.

Всем, дочитавшим до этого места, спасибо! Буду рад комментариям.

============= Итог: 6,8243 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Операционные Системы Майкрософт#Microsoft Windows#User 6,1493 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Системное программное обеспечение#Виртуальные машины#QEMU 6,0243 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Операционные Системы Майкрософт#Microsoft Windows#Autorun.inf 5,3243 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Операционные Системы Майкрософт#Microsoft Windows#.EXE 5,1243 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Операционные Системы Майкрософт#Microsoft Windows#Пакетный файл 4,9243 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Операционные Системы Майкрософт#Microsoft Windows#.sys 4,6736 ; Информационные технологии#Информатика#Программирование #Программное обеспечение#Форматы данных#Формат файла#ISO-образ 4,2993 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы#UNIX#Утилиты Unix #Host (программа) 4,0986 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы#Plan 9#UTF-8 3,9781 ; Информационные технологии#Информатика#Мультисписок 3,8486 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы#Загрузочный сектор#Cifs 3,2559 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Юникс-подобные операционные системы#Linux#Дистрибутивы Linux#Arch Linux 3,2559 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы#Операционная система #Управление памятью#Виртуальная память#Своп 3,1641 ; Информационные технологии#Информатика#Программирование#Исполнимый модуль 3,1445 ; Информационные технологии#Информатика#Программирование #Программное обеспечение#Интерфейс командной строки 3,1445 ; Информационные технологии#Информатика#Программирование #Программное обеспечение#Текстовый Интерфейс Пользователя 3,0493 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы #Системное программное обеспечение#Виртуальные машины#VirtualBox 2,7993 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы#UNIX#Утилиты Unix #Команда Rm 2,7861 ; Информационные технологии#Информатика#Программирование #Программное обеспечение#Языки Программирования#Скриптовые Языки#Bash 2,4736 ; Информационные технологии#Информатика#Программирование #Программное обеспечение#Форматы данных#Формат файла #Конфигурация программного обеспечения 2,2993 ; Информационные технологии#Информатика#Программирование #Платформы программирования#Операционные системы#UNIX#Fhs#/dev/zero

============= Ссылки на категории ru.wikipedia.org: 4.9243 .sys 2.2993 /dev/zero


Copyright © 2007-2022 ООО «RelTeam»