From: Mikhail Kobuk Date: Sat, 13 Apr 2024 04:20:23 +0000 (+0300) Subject: added lab1, removed old lab0 X-Git-Url: http://arktixord.com/git/?a=commitdiff_plain;h=4be3abcab79fcfcf1d56267dc6af2df54ab13056;p=linux-labs.git added lab1, removed old lab0 --- diff --git a/Linux_labs_0_Introduction.md b/Linux_labs_0_Introduction.md deleted file mode 100644 index a20b064..0000000 --- a/Linux_labs_0_Introduction.md +++ /dev/null @@ -1,69 +0,0 @@ -# Linux labs by Mikhail Kobuk \ - -## Что это такое - -Данный Набор Лабораторных Работ (далее - НЛР) предназначен для всех желающих -ближе ознакомиться с практической частью работы с Linux-системами, устройством -дистрибутивов Linux, организацией серверной инфраструктуры и некоторой частью -обширнейшего инструментария, доступного пользователю. - -Для тех, кто только начинает осваивать Linux этот НЛР может послужить -вспомогательным практическим материалом. Для тех, кто уже преисполнился в своём -познании - способом освежить какие-то навыки, ну а для мастеров Linux-fu - не -очень смешным сборником анекдотов. - -## Минимальные требования - -### К пользователю - -- Минимальная ориентация в Linux-системах -- Базовые навыки работы с терминалом: исполнение команд, чтение вывода, анализ -ошибок и успешности завершения. - -### К рабочей машине - -- Процессор, поддерживающий многопоточность и виртулизацию -- 1-2+ свободных ядра -- 2-6Гб ОЗУ - -## Как работать с НЛР - -Каждая лабораторная работа представляет собой шаг в освоении работы с Linux, -который должен занимать некоторое ограниченное время, предположительно - не -более двух академических часов без учёта особенностей и скорости работы -оборудования локального и/или сетевого. - -В большинстве ЛР присутствуют следующие разделы: - -- **Информация** - здесь описывается предыстория, актуальность или обоснование -темы, рассматриваемой в ЛР. -- **Теоретический минимум (ТеорМин)** - основная информация, необходимая для -понимания той или иной темы. Если информация, представленная здесь, содержит -неясные для вас термины или словесные конструкции, желательно прояснить эти -моменты с помощью следующих источников (расположены в порядке убывания -приоритета сверху вниз): - -0. Мануалы `man` -1. [Мануалы](https://yewtu.be/watch?v=1NquzrkDnMM) [в сети](https://linux.die.net/) -2. [StackOverflow](https://stackoverflow.com/) -3. [Весь](https://en.wikipedia.org/wiki/World_Wide_Web) [остальной](https://www.pcmag.com/how-to/google-search-tips-youll-want-to-learn) [Интернет](https://home.cern/science/computing/where-web-was-born) - -- **Цель работы** - описывает признаки критерия завершения работы или является -таковым. - -- **Ход работ** - содержит шаги, выполнение которых должно привести к -выполнению цели работы. - -## Внимание! - -При составлении данного НЛР я не претендовал на полноту данных, представленных -в нём. Данный НЛР также не претендует на звание единого исчерпывающего -руководства по Linux-системам. - -Все лабораторные работы тестировались на Linux-хосте. Прохождение лабораторных -работ не тестировалось и не будет тестироваться на других хостах. - -Если вы наткнулись на проблемы в ходе выполнения лабораторной работы и/или -считаете, что содержимое недостаточно/некорректно, пожалуйста, сообщите мне об -этом на . Также приветствуются отзывы, комментарии и -предложения. diff --git a/lab1/LinuxLabs_1_VirtualMachineSetup.md b/lab1/LinuxLabs_1_VirtualMachineSetup.md new file mode 100644 index 0000000..ccbecdc --- /dev/null +++ b/lab1/LinuxLabs_1_VirtualMachineSetup.md @@ -0,0 +1,416 @@ +# LinuxLabs::Настройка виртуальной машины + +## Информация + +Иногда случается так, что опасение испортить инструмент препятствует его +овладеванию. Разумеется, осторожность и аккуратность в обращении с любым +инструментарием - хорошая привычка, в данном конкретном случае "опасение +испортить" - страх сломать рабочую, хорошо настроенную систему, или, что ещё +хуже, потерять из-за этого данные. Это тем сильнее ограничивает в стремлении +проверить, как работает то или иное действие, и к чему оно приведёт, чем меньше +понятно, что происходит. + +Чтобы исключить этот фактор, предполагается использование виртуальных машин. + +## Теоретический Минимум (ТеорМин) + +Рабочую машину (как правило, аппаратную - ноутбук/ПК), которую вы будете +использовать для прохождения НЛР, принято называть хостовой машиной, или хостом +(**host machine**, **host**). Основная операционная система, установленная на этой +машине, или, как минимум, та, на которой вы будете проходить НЛР, называется +хостовой ОС (**host OS**). + +В свою очередь машина и система, в которых вы непосредственно будете выполнять +все задания, и которые не будут привязаны к реальному железу, принято называть +гостевыми (**guest machine/OS**). + +На Linux-системах есть два пути использовать гостевые машины: **эмуляция** и +**виртуализация**. На данный момент ключевое различие - тип работы с +пользовательскими запросами и действиями. В случае виртуализации хостовая машина +*программно имитирует работу железа*, на котором запускается с собственным +ядром своя, гостевая, ОС. В случае же эмуляции ядро гостевой ОС особым образом +запускается как процесс в хостовой ОС и все запросы гостевой ОС *выполняет ядро +хостовой машины* - т.е. гостевая ОС не запускается в классическом понимании. +Собственно, поэтому эмуляция более ограниченна - на хостовой ОС можно +эмулировать только родственные ядра гостевых ОС (на Linux-машине можно +эмулировать только ОС, работающие на ядре Linux). +Подробности и разница в этих двух понятиях ещё будут уточняться в следующих ЛР, +а пока что, в первых ЛР, мы будем использовать именно виртуальную, а не +эмулированную машину. + +В Linux уществует несколько способов организации работы с виртуальными +машинами: + +0. QEMU в ручном режиме +1. Virtual Manager - QEMU-полуавтомат +2. VirtualBox - самый известный, наверное, менеджер виртуальных машин от Oracle + +Для начала будем использовать вариант 2, т.к. с ним вы, возможно, уже +сталкивались, да и встречается он чаще остальных в различных курсах и пособиях, +что обеспечивает ему хорошую инормационную базу на StackOverflow и иных +форумах. + +## Цель работы + +Рабочая "эталонная" виртуальная машина с установленной операционной системой. + +## Ход работ + +### A. Установка виртуального менеджера + +Определите пакетный менеджер вашего дистрибутива (BTW I use Arch). Используя +его, обнаружьте и установите пакет: + +`sudo pacman -S virtualbox` + +### B. Выбор системы + +Я предлагаю использовать Ubuntu Server. Несмотря на мою личную предвзятость к +Ubuntu как к Desktop OS, в качестве начальной серверной системы я предлагаю +использовать именно её. Она достаточно стабильна, своевременно обновляется и +при этом не требует повышенного внимания. Бонусом идёт более широкая поддержка +именно как серверной системы - найти инструкции и обсуждения популярных проблем +касательно серверной части легче именно для Ubuntu. + +Берём достаточно свежий [образ](https://ubuntu.com/download/server) (на момент +написания это 22.04.4 LTS) и приступаем к установке + +### C. Создание ВМ + +#### C.1 Новая ВМ + +![New VM button](./new_vm.png) + +#### C.2 Метаданные + +![VM confiuration](./vm_config.png) + + +`ubuntu_ro` - означает `ubuntu_r`[ead]`o`[nly]. Это не накладывает никаких +ограничений с точки зрения VirtualBox, это семантическое обозначения для нас. +При работе с виртуальными машинами вам иногда будет необходимо создавать "с +нуля" несколько "чистых" машин. Гораздо удобнее вместо создания с нуля каждой +машины клонировать некоторую эталонную. Также это поможет быстро получить новую +машину в случае поломки. Об этом будет сказано подробнее в следующей +лабораторной работе. + +Значение "Folder" можно оставить по умолчанию. Оно обозначает место, где будут +храниться файлы данной ВМ. + +"ISO Image" - образ, который был получен в предыдущих шагах. + +Флажок "Skip Unattended Installation". Некоторые образы виртуальных машин в +VirtualBox позволяют устаналивать их в практически полностью автоматическом +режиме. Но один из девизов данного НЛР - "Мы не ищем лёгких путей". К тому же, +в процессе изучения все новые элементы, с которыми вы сталкиваетесь, должны +привязываться к чему-то, с чем вы уже встречались, чтобы картина происходящего +выглядела цельно, а не представляла собой раздробленный архипелаг островов +обрывочных знаний, мало связанных между собой. По этим причинам при первой +встрече с новыми действиями и темами, данные ЛР будут концентрироваться на +минимальном количестве автоматизации в них. + +#### C.3 Настройки железа + +![VM hardware](./vm_hw.png) + +Мы используем систему виртуализации, поэтому нужно определить параметры +аппаратной части (железа), на котором будет запущена наша гостевая ОС. Будем +использовать минимальные параметры, которые удовлетворяют системным требованиям +выбранного образа - 1 ядро и 1 Гб ОЗУ. + +> При возможности, лучше выделить 3+Гб ОЗУ и 2+ядра на каждую машину. Имейте в +> виду, что для некоторых лабораторных работ вам может потребоваться запустить +> 2-4 виртуальные машины одновременно. + +Флажок "Enable EFI" в данной серии лабораторных работ нам не потребуется. + +#### C.4 Настройки ханилища + +![VM disk](./vm_hd.png) + +Для ОС нужно место на жёстком (в нашем случае - виртуальном) диске (ПЗУ). 1 из 3 +вариантов, которые предлагает VirtualBox - создание нового диска прямо в ходе +процесса настройки. + +Минимальные требования для выбранного образа 2.5Гб. Поскольку в ходе следующих +ЛР будет требоваться установка различного ПО, увеличим объём. + +> 8Гб - оптимальное, на мой взгляд, значение, которое позволит не беспокоиться +>о свободном месте для установки пакетов и в том же время достаточно невелико, +>чтобы не создавать трудностей для современных накопителей. При ограниченности +>доступного свободного пространства размер можно сократить до 6Гб и 4Гб. +>Использовать размер менее 4Гб не рекомендуется. + +Флажок "Pre-allocate Full Size" отвечает за тип выделения места. Если сделать +его активным в процессе установки, виртуальный диск будет занимать сразу столько +места на реальном накопителе, сколько вы указали при создании. Это позволит +избежать ошибок в работе ВМ в случае, если свободное место на реальном +накопителе будет заканчиваться. На практике в таких случаях ВМ +"приостанавливается". Если же флажок неактивен, изначальным объём диска будет +равен фактически занятому месту и будет постепенно расти по мере увеличения +количества файлов и данных в гостевой ОС, пока не достигнет максимального +размера. + +#### C.5 Virtuality! + +Если всё было сделано правильно, VirtualBox покажет окно с выдержкой из +конфигурации VM. После нажимаем на "Finish" - и готово. + +### D. Запуск + +![VM start](./vm_start.png) + +### E[rror]. Веселье начинается + +Вероятно, вам повезло, и вы не столкнулись с трудностями при запуске, однако я, +как и большинство тех, кто шли таким же путём, столкнулся со следующей +проблемой: + +![VM error](./vm_start_err.png) + +В моём случае помогла установка пакета "headers" для моего ядра и dkms для +VirtualBox: + +`sudo pacman -S virtualbox-host-dkms linux-lts-headers` + +Все термины будут пояснены позже, на данный же момент должно быть достаточно +следующих пояснений: для пакета ядра Linux, которое вы используете на своей +системе, как правило, существует отельный пакет, предоставляющий заголовочные +файлы. В некоторых дистрибутивах эти два пакета не разделяются. Я использую +ArchLinux на ядре +[`linux-lts`](https://archlinux.org/packages/core/x86_64/linux-lts/), поэтому +устанавливал [`linux-lts-headers`](https://archlinux.org/packages/core/x86_64/linux-lts-headers/). + +После окончания установки пакетов - `reboot` - готово, проблема решена. + +> Данная проблема, на самом деле, не так однозначна. Если вы используете другой +>дистрибутив и/или вам пришлось предпринять другие шаги для решения проблемы, +>пожалуйста, сообщите мне и я включу ваш способ в данную ЛР. + +### F. Загрузка + +После решения первой проблемы (поздравляю!) запуск ВМ вызовет новое окно, в +котором спустя некоторое время появится окно загрузчика: + +![VM loader](./vm_in_setup.png) + +### G. Установка + +#### G.1 Локали + +Когда система загрузится, Ubuntu сразу начнёт процесс преднастройки. Для +удобства и привыкания к реальным условиям выбираем язык Egnlish: + +![VM setup: language](./vm_in_setup_lang.png) + +Язык, как и клавиатура, формат даты и времени и др., относится к т.н. локалям +(англ. locale, locales). Они определяют поведения пользовательского ввода и даже +могут влиять на работу и производительность определённого ПО. + +Кстати, вот и клавиатура: + +![VM setup: kbd](./vm_in_setup_kbd.png) + +#### G.2 Тип установки + +Читаем комментарии и выбираем первый варинт установки. Флажок оставляем +неотмеченным - он отвечает за использование некоторых проприетарных драйверов. +Они не требуется в подавляющем большинстве случаев. + +![VM setup: type](./vm_in_setup_type.png) + +#### G.3 Сеть + +В сети пока что предоставляем установщику выбор по умолчанию и нажимаем далее. + +![VM setup: net](./vm_in_setup_net.png) + +Если вы знаете, что вам нужен прокси, укажите его на этом этапе. Во всех +остальных случаях, идём дальше. + +![VM setup: net: proxy](./vm_in_setup_net_proxy.png) + +#### G.4 Зеркала + +После этого установщик попытается самостоятельно проверить доступность **зеркал** +и их состояние. Если всё пошло по плану, появится надпись `This mirror location +passed tests`. + +![VM setup: mirrors](./vm_in_setup_mirrors.png) + +> Для получения обновлений Linux-системы используют **репозитории**, в которых +>содержатся пакеты (программы, библиотеки и т.д.) и вся необходимая сопутствующая +>информация. На популярные репозитории приходится очень большая нагрузка. Чтобы +>избежать отказа оборудования или организации слишком сложной системы, +>применяется практика зеркалирования: для основного репозитория создаётся полная +>копия основного репозитория (поэтому и "зеркало", англ. **mirror**), на которую +>по определённому принципу (чаще всего, географическому, перенаправляется часть +>запросов. + +#### G.5 ВМ-Диски + +При разметке в данной серии ЛР доверимся установщику. Флажок "Set up this disk +as an LVM group" отвечает за ещё один уровень абстракции дискового пространства +(эта тема будет разбираться в следующих ЛР). + +![VM setup: disk](./vm_in_setup_disk.png) + +Внимательно смотрим, подтверждаем. + +![VM setup: disk: confirm](./vm_in_setup_disk_confirm.png) + +Натыкаемся на справедливое негодование системы. Внимательно читаем. + +![VM setup: disk: confirm: continue](./vm_in_setup_disk_confirm_continue.png) + +Преодолеваем его и продолжаем процесс. + +#### G.6 Данные для входа + +![VM setup: credentials](./vm_in_setup_creds.png) + +"Your name" - отображаемое в GUI и т.д. имя пользователя. _Зачем это нужно?.._ +"Your servers name" - **hostname**, **имя хоста** сервера. Это имя отображается +в ряде программ и утилит, например, анализирующих сеть или подключенные +устройства. Иными словами, как и написано мелким текстом под полем, это - имя +вашего компьютера, которое могут использовать другие машины при общении с ним. +"Pick a username" - фактическое имя пользователя, которое будет использоваться +при логине и в некоторых файлах конфигурации. +Пароль не нужно делать большим и трудным - он относится к виртуальной машине, в +данной серии ЛР ВМ практически не будут общаться с внешним миром, за исключением +установки пакетов и нечастых сетевых подключений. + +#### G.7 Пропускаем навязчивую рекламу + +![VM setup: skip ad](./vm_in_setup_skipad.png) + +#### G.8 Автоустановка + +Снимаем флажок установки OpenSSH-сервера, так как это тема следующей +лабораторной работы. + +![VM setup: SSH](./vm_in_setup_ssh.png) + +Снимаем флажки установки сервисов, так как некоторые из них - темы +заключительных ЛР этой серии. + +![VM setup: services](./vm_in_setup_services.png) + +#### G.9 Завершение установки + +Если вы ещё успеваете, можете отменить установку обновления - мы сделаем это +вручную чуть позже. + +![VM setup: cancel update](./vm_in_setup_noupd.png) + +Если не успели - ничего страшного. + +Дожидаемся автоматической перезагрузки. + +> В зависимости от выделенных ресурсов, возможно, придётся некоторое время +> подождать. + +### H. Извлечение установочного диска + +Система-установщик, которой мы только что пользовались, была подключена к нашей +системе как внешний диск и всё ещё подключена. А из-за того, что по умолчанию +внешние диски имеют бОльший приоритет, система продолжает загружаться с внешнего +диска. + +![Loader again](./vm_in_loader_again.png) + +Отключаем внешний диск: + +![Remove disk: menu](./vm_in_rm_disk_menu.png) + +![Remove disk](./vm_in_rm_disk.png) + +Нажимаеем ПКМ на пиктограмме диска: + +![Remove disk: dropdown](./vm_in_rm_disk_rmd.png) + +Снимаем флажок. + +Перезагружаем машину с помощью `Machine->Reset` в левой верхней части окна. + +### I. Загрузка гостевой ОС + +В Ubuntu server по умолчанию логин никак не отделён от системного вывода, +поэтому вполне возможно, что ввод будет засыпан сообщениями о загрузке, +например, так: + +![Login message flood](./vm_in_msg_flood.png) + +Вопрос решается нажатием "Enter"/"Ввод" несколько раз: + +![Login message flood resolved](./vm_in_msg_flood_enter.png) + +### J. Вход + +Вводим данные указанные на этапе [G.6](#g.6-данные-для-входа). + +Готово! + +![Logged in](./vm_in_logged_in.png) + +### K. Перед завершением лабораорной работы обновим пакеты. + +Для обращения к зеркалам и реопзиториям с приложениями в Ubuntu используется +пакетный менеджен APT. Так как установка пакетов - ответственное действие, +которое лучше не доверять всем пользователям. В связи с этим по умолчанию +устанавливать пакеты может только **суперпользователь** (англ. **superuser**). +Те же пользователи, которые таки должны иметь возможность выполнять +администраторские функции, используют команду `sudo` - **S**uper**U**ser**DO**. + +Для современного системного администрирования стандартной практикой стал отказ +от использования пользователя `root` при логине. Для логина в машину +используется пользователь с обычной учётной записью и правами на использование +`sudo`, все команды, требующие администраторских привилегий, выполняются с +приставкой `sudo`. + +> Мир прав и политик безопасности Linux гораздо обширнее. В частности, есть +> механизмы, позволяющие повысить защищённость системы при использовании `sudo` +> или облегчить администратору использование `root`-прав. Они будут рассмотрены +> позднее. + +Сначала нужно обновить информацию о пакетах, которая содержится в удалённом +репозитории. Это делается с помощью команды: + +`sudo apt update` + +![_sudo apt update_](./vm_in_upd.png) + +Если на данном этапе возникли ошибки, связанные с cdrom, игнорируйте их, они +будут решены чуть позднее. + +После выполнения этой команды наши локальные базы данных синхронизированы с +удалёнными репозиториями. Теперь можно обновить непосредственно пакеты: + +`sudo apt upgrade` + +Пакетный менеджер любезно уточнит, хотите ли вы продолжить: + +![_sudo apt upgrade_](./vm_in_continue) + +Здесь можно явно ввести `y` или `Y`, однако, как правило, если одна из букв +выбора - заглавная, при нажатии "Enter"/"Ввод" автоматически будет выбрана она. +Также, эту проверку можно отключить, используя флаг `-y`: + +`sudo apt upgrade -y` + +Если в процессе обновления пакетов появляются новые диалоговые окна, нажимайте +"Ok". + +### L. Выключение + +Чтобы выключить машину наиболее правильно, воспользуйтесь одной из команд: + +`shutdown now` + +или + +`systemctl poweroff` + +
+

LinuxLabs by Mikhail Kobuk is licensed under CC BY-NC-SA 4.0

+
diff --git a/lab1/new_vm.png b/lab1/new_vm.png new file mode 100644 index 0000000..03d0f38 Binary files /dev/null and b/lab1/new_vm.png differ diff --git a/lab1/vm_config.png b/lab1/vm_config.png new file mode 100644 index 0000000..39952d5 Binary files /dev/null and b/lab1/vm_config.png differ diff --git a/lab1/vm_hd.png b/lab1/vm_hd.png new file mode 100644 index 0000000..8cf477e Binary files /dev/null and b/lab1/vm_hd.png differ diff --git a/lab1/vm_hw.png b/lab1/vm_hw.png new file mode 100644 index 0000000..eff89ca Binary files /dev/null and b/lab1/vm_hw.png differ diff --git a/lab1/vm_in_continue.png b/lab1/vm_in_continue.png new file mode 100644 index 0000000..03812dc Binary files /dev/null and b/lab1/vm_in_continue.png differ diff --git a/lab1/vm_in_loader_again.png b/lab1/vm_in_loader_again.png new file mode 100644 index 0000000..be3bad9 Binary files /dev/null and b/lab1/vm_in_loader_again.png differ diff --git a/lab1/vm_in_logged_in.png b/lab1/vm_in_logged_in.png new file mode 100644 index 0000000..def4cd4 Binary files /dev/null and b/lab1/vm_in_logged_in.png differ diff --git a/lab1/vm_in_msg_flood.png b/lab1/vm_in_msg_flood.png new file mode 100644 index 0000000..8166d28 Binary files /dev/null and b/lab1/vm_in_msg_flood.png differ diff --git a/lab1/vm_in_msg_flood_enter.png b/lab1/vm_in_msg_flood_enter.png new file mode 100644 index 0000000..72d0b32 Binary files /dev/null and b/lab1/vm_in_msg_flood_enter.png differ diff --git a/lab1/vm_in_rm_disk.png b/lab1/vm_in_rm_disk.png new file mode 100644 index 0000000..70cd18e Binary files /dev/null and b/lab1/vm_in_rm_disk.png differ diff --git a/lab1/vm_in_rm_disk_menu.png b/lab1/vm_in_rm_disk_menu.png new file mode 100644 index 0000000..df29516 Binary files /dev/null and b/lab1/vm_in_rm_disk_menu.png differ diff --git a/lab1/vm_in_rm_disk_rmb.png b/lab1/vm_in_rm_disk_rmb.png new file mode 100644 index 0000000..aa71833 Binary files /dev/null and b/lab1/vm_in_rm_disk_rmb.png differ diff --git a/lab1/vm_in_setup.png b/lab1/vm_in_setup.png new file mode 100644 index 0000000..2455490 Binary files /dev/null and b/lab1/vm_in_setup.png differ diff --git a/lab1/vm_in_setup_creds.png b/lab1/vm_in_setup_creds.png new file mode 100644 index 0000000..f8c309f Binary files /dev/null and b/lab1/vm_in_setup_creds.png differ diff --git a/lab1/vm_in_setup_disk.png b/lab1/vm_in_setup_disk.png new file mode 100644 index 0000000..dfcfb93 Binary files /dev/null and b/lab1/vm_in_setup_disk.png differ diff --git a/lab1/vm_in_setup_disk_confirm.png b/lab1/vm_in_setup_disk_confirm.png new file mode 100644 index 0000000..f5ab934 Binary files /dev/null and b/lab1/vm_in_setup_disk_confirm.png differ diff --git a/lab1/vm_in_setup_disk_confirm_continue.png b/lab1/vm_in_setup_disk_confirm_continue.png new file mode 100644 index 0000000..ec09401 Binary files /dev/null and b/lab1/vm_in_setup_disk_confirm_continue.png differ diff --git a/lab1/vm_in_setup_kbd.png b/lab1/vm_in_setup_kbd.png new file mode 100644 index 0000000..b3b14d5 Binary files /dev/null and b/lab1/vm_in_setup_kbd.png differ diff --git a/lab1/vm_in_setup_lang.png b/lab1/vm_in_setup_lang.png new file mode 100644 index 0000000..eaccc7f Binary files /dev/null and b/lab1/vm_in_setup_lang.png differ diff --git a/lab1/vm_in_setup_mirrors.png b/lab1/vm_in_setup_mirrors.png new file mode 100644 index 0000000..ba38a47 Binary files /dev/null and b/lab1/vm_in_setup_mirrors.png differ diff --git a/lab1/vm_in_setup_net.png b/lab1/vm_in_setup_net.png new file mode 100644 index 0000000..bfb7daa Binary files /dev/null and b/lab1/vm_in_setup_net.png differ diff --git a/lab1/vm_in_setup_net_proxy.png b/lab1/vm_in_setup_net_proxy.png new file mode 100644 index 0000000..bb9fae5 Binary files /dev/null and b/lab1/vm_in_setup_net_proxy.png differ diff --git a/lab1/vm_in_setup_noupd.png b/lab1/vm_in_setup_noupd.png new file mode 100644 index 0000000..efbdc64 Binary files /dev/null and b/lab1/vm_in_setup_noupd.png differ diff --git a/lab1/vm_in_setup_services.png b/lab1/vm_in_setup_services.png new file mode 100644 index 0000000..148dfd9 Binary files /dev/null and b/lab1/vm_in_setup_services.png differ diff --git a/lab1/vm_in_setup_skipad.png b/lab1/vm_in_setup_skipad.png new file mode 100644 index 0000000..eed2ab4 Binary files /dev/null and b/lab1/vm_in_setup_skipad.png differ diff --git a/lab1/vm_in_setup_ssh.png b/lab1/vm_in_setup_ssh.png new file mode 100644 index 0000000..e789dd8 Binary files /dev/null and b/lab1/vm_in_setup_ssh.png differ diff --git a/lab1/vm_in_setup_type.png b/lab1/vm_in_setup_type.png new file mode 100644 index 0000000..853ecae Binary files /dev/null and b/lab1/vm_in_setup_type.png differ diff --git a/lab1/vm_in_upd.png b/lab1/vm_in_upd.png new file mode 100644 index 0000000..a91c478 Binary files /dev/null and b/lab1/vm_in_upd.png differ diff --git a/lab1/vm_start.png b/lab1/vm_start.png new file mode 100644 index 0000000..04d51d8 Binary files /dev/null and b/lab1/vm_start.png differ diff --git a/lab1/vm_start_err.png b/lab1/vm_start_err.png new file mode 100644 index 0000000..ad74897 Binary files /dev/null and b/lab1/vm_start_err.png differ