Найти в Дзене
sunNinja

UbuntuLab - лаболатория из Ubuntu

Сегодня я покажу вам один из первых способов создания лаборатории для программирования и тестирования, который я освоил еще в школьные годы. Этот метод основывается на использовании VirtualBox и его функции "снимков машин". Сейчас доступны более современные инструменты для этих целей, но этот простой способ может оказаться полезным новичкам. Кстати, перед тем как начать, рекомендую подписаться на мой Telegram-канал, чтобы не пропускать интересные материалы. Заранее спасибо! Скачать. Скачать. Я назову её UbuntuLab Дам ей немного ресурсов Немного дискового пространства В итоге получается так При запуске виртуальной машины, нужно будет указать скаченный образ диска Ubuntu 24.04 Для моих целей я предпочитаю использовать английскую локализацию, вы конечно можете выбрать Русский, но зачем? Теперь жмём далее, пока не появится вот такое вот окно Тут мы установим две галки, для того чтобы в момент установки скачались обновления и жмём далее На этом окне, если нажать на Advanced features, то мож
Оглавление
UbuntuLab
UbuntuLab

Сегодня я покажу вам один из первых способов создания лаборатории для программирования и тестирования, который я освоил еще в школьные годы. Этот метод основывается на использовании VirtualBox и его функции "снимков машин". Сейчас доступны более современные инструменты для этих целей, но этот простой способ может оказаться полезным новичкам.

Кстати, перед тем как начать, рекомендую подписаться на мой Telegram-канал, чтобы не пропускать интересные материалы. Заранее спасибо!

Возьмём virtualbox

virtualbox
virtualbox

Скачать.

Возьмём Ubuntu 24.04 LTS

ubuntu
ubuntu

Скачать.

Создадим новую виртуальную машину

создание новой виртуальной машины
создание новой виртуальной машины

Я назову её UbuntuLab

название для виртуальной машины
название для виртуальной машины

Дам ей немного ресурсов

настройки для виртуальной машины
настройки для виртуальной машины

Немного дискового пространства

размёр жёсткого диска
размёр жёсткого диска

В итоге получается так

результат
результат

При запуске виртуальной машины, нужно будет указать скаченный образ диска Ubuntu 24.04

И приступаем к установке

начало установки
начало установки

Для моих целей я предпочитаю использовать английскую локализацию, вы конечно можете выбрать Русский, но зачем?

локализация
локализация

Теперь жмём далее, пока не появится вот такое вот окно

устанавливаем галки
устанавливаем галки

Тут мы установим две галки, для того чтобы в момент установки скачались обновления и жмём далее

На этом окне, если нажать на Advanced features, то можно включить LVM с шифрованием, для моих целей мне этого не нужно

настройка жёсткого диска
настройка жёсткого диска

И тут уже нам нужно создать своего пользователя, и придумать ему пароль, так же я советую убрать галку с Require my password to log in, это нужно для того, чтобы при старте системы, когда загрузиться ОС, вам не нужно было бы вводить пароль от своего пользователя

Далее нам нужно выбрать часовой пояс(который определяется автоматически), и нажать на кнопку Install, после чего начнётся установка, и последнее что следует сделать - перезагрузить систему.

завершение установки
завершение установки

После запуска, смотрим приветственный буклетик и система почти готова!

запуск
запуск

Почти, потому что перед тем как мы создадим первый "снимок системы" мы установим обновления и дополнения гостевой ос.

Для того, чтобы систему обновить, откроем терминал(ctrl+alt+T) и введём команду sudo apt update -y && sudo apt upgrate -y && reboot

обновление системы
обновление системы

После того, как система загрузиться, можно приступить к установке дополнений гостевой ОС, делается это так:

После этого примонтируется диск

иконка примонтированного диска
иконка примонтированного диска

Жмём на него иконку и получаем

содержимое диска
содержимое диска

Нам остаётся нажать Run Software

и ввести свой пароль

пароль от пользователя
пароль от пользователя

Если будет такая ошибка

нужно нажать Enter
нужно нажать Enter

выполните команду

sudo apt install bzip2 -y

sudo apt install bzip2 -y
sudo apt install bzip2 -y

И запустите установщик дополнений гостевой ОС, после как установка будет завершена, отмонтируйте образ с дополнениями гостевой ОС.

отмотировать образ с дополнениями
отмотировать образ с дополнениями

Всё, выключаем систему, это будет наш первый "снимок"

Открываем основное меню VirtualBox, находим там свою виртуальную машину, и нажимаем на такую вот иконку рядом с её названием

виртуальная машина
виртуальная машина

В выпавшем меню нажимаем на Snapshots

Snapshots
Snapshots

Теперь нужно нажать на иконку Take

Даём название и сохраняем(в описание можно написать что было установлено, т.е. дополнения гостевой ос, и дата обновления системы)

создание снимка
создание снимка

Ну вот и всё, теперь чтобы не происходило, всегда можно будет откатиться к данному снимку и начать сначала.

Продолжим

Но сейчас ещё не виден весь потанциал, который теперь доступен мне. Чтобы понять, давайте сделаем рабочее окружение для разработки на python, а так же запустим NextCloud для тестов. И посмотрим как это будет существовать вместе.

Запустим систему, она будет запущена в Current State(который является дочерним для нашего снимка, Clear. Всё что будет происходить тут, ни как не повлияет на Clear)

Если вы читая статью, ни чего не знаете про VirtualBox и ваше знакомство с этим инструментом случилось тут, тогда я покажу вам для чего мы устанавливали дополнения гостевой ос.

Нажимаем на кнопку Devices

Devices
Devices

И делаем вот так вот

Shared Clipboard
Shared Clipboard

Что это даёт? Теперь вы можете копировать какой-то текст из своей локальной системы, и вставлять его в своей виртуальной машине. Так же это работает в обратном направлении.

Это вам пригодиться для того, чтобы например копировать длинные команды, а не переписывать их вручную, так же вы можете написать какой-то код и захотите протестировать его в виртуальной машине, вам не придётся переписывать свой код вручную! МастХевФункция!

первым делом установим pip3, git, venv

sudo apt install python3-pip python3-venv git -y

установка программ
установка программ

и установим Visual Studio Code, вы можете зайти на оффициальный сайт или же выполнить команду

cd ~/Downloads && wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/4437686ffebaf200fa4a6e6e67f735f3edf24ada/code_1.99.0-1743632463_amd64.deb && sudo dpkg -i code_1.99.0-1743632463_amd64.deb

Но учитывайте, что вы можете читать статью задолго как она вышла, и возможно уже есть новые версии программы. Я бы советовал вам скачать её вручную.

Теперь нужно открыть VScode и установить дополнения для разработке на python

установка python для IDE code
установка python для IDE code

Когда дополнения будут установлены, выключаем систему и возвращаемся к основному окну virtualbox, в закладку в которой мы управляем нашими снимками

управляем нашими снимками
управляем нашими снимками

Current State - состояние в котором мы находимся(а мы установили IDE и необходимый софт для разработке на python)

Снова делаем снимок

Снова делаем снимок
Снова делаем снимок

Назову его codePython, потому что побольшому счёту у меня там IDE code, который готов работать с Python.

Теперь возвращаемся снимку clear и нажимаем на Restore

Restore
Restore

Убираю галку, так как я уже создал тот снимок, который мне нужен и сохранять текущее состояние мне не нужно

текущее состояние мне не нужно
текущее состояние мне не нужно

И жмём на Start

жмём на Start
жмём на Start

Можете проверить есть ли в системе VS Code :)

Установка NextCloud

Для начала установим Apache, PHP, MariaDB и необходимые расширения

sudo apt install apache2 libapache2-mod-php mariadb-server php php-mysql php-xml php-mbstring php-curl php-zip php-gd php-intl php-bcmath php-json php-imagick -y

Теперь запустим MariaDB и настроим базу данных

sudo mysql -u root -p

Введя предыдущую команду мы открыли консоль нашей базы, теперь нужно вставить этот текст

CREATE DATABASE nextcloud;

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'sunn1nja_password';

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';

FLUSH PRIVILEGES;

EXIT;

MariaDB
MariaDB

Загрузка и установка NextCloud

cd /var/www

sudo wget https://download.nextcloud.com/server/releases/nextcloud-31.0.1.zip
sudo unzip nextcloud-31.0.1.zip && sudo rm nextcloud-31.0.1.zip

sudo chown -R www-data:www-data nextcloud

sudo chmod -R 755 nextcloud

Создание конфигурационного файла

sudo nano /etc/apache2/sites-available/nextcloud.conf

в который нужно вставить

nextcloud.conf
nextcloud.conf

Теперь активируем

sudo a2ensite nextcloud

sudo a2enmod rewrite

sudo systemctl daemon-reload

sudo systemctl reload apache2

Проверка прав

sudo chown -R www-data:www-data /var/www/nextcloud

sudo chmod -R 755 /var/www/nextcloud

Теперь открываем браузер и переходим на http://localhost

http://localhost
http://localhost

Сверху вам будет предложено создать админа, а снизу вам нужно будет ввести настройки от бд

в нашем случае, имя бд - nextcloud, имя пользователя базы данных - nextclouduser, пароль от бд - sunn1nja_password.

nextclouduser
nextclouduser

Пройдёт немного времени и установка будет завершена.

установка будет завершена
установка будет завершена

Хотите установите рекомендованные расширения, а можете этого не делать, дело ваше.

Теперь выключим виртуальную машину и снова отправися к "снимкам виртаульной машины"

И нажмём на Take при Current State, чтобы создать снимок того что мы тут только что наделали.

Current State
Current State

Теперь всё что бы я потом не делал, я всегда могу вернуться к только-что установленному nextcloud, или же могу вернуться к "отпечатку системы" в котором установлен code+python.

Таким образом можно тестировать "опасный софт", заниматься иследованиями, разработкой и много чем ещё!!!