-
Установите средство виртуализации Oracle VirtualBox.+
-
Установите средство автоматизации Hashicorp Vagrant.+
-
В вашем основном окружении подготовьте удобный для дальнейшей работы терминал. Можно предложить:
- iTerm2 в Mac OS X
- Windows Terminal в Windows
- выбрать цветовую схему, размер окна, шрифтов и т.д.
- почитать о кастомизации PS1/применить при желании.
Несколько популярных проблем:
- Добавьте Vagrant в правила исключения перехватывающих трафик для анализа антивирусов, таких как Kaspersky, если у вас возникают связанные с SSL/TLS ошибки,
- MobaXterm может конфликтовать с Vagrant в Windows,
- Vagrant плохо работает с директориями с кириллицей (может быть вашей домашней директорией), тогда можно либо изменить VAGRANT_HOME, либо создать в системе профиль пользователя с английским именем,
- VirtualBox конфликтует с Windows Hyper-V и его необходимо отключить,
- WSL2 использует Hyper-V, поэтому с ним VirtualBox также несовместим,
- аппаратная виртуализация (Intel VT-x, AMD-V) должна быть активна в BIOS,
- в Linux при установке VirtualBox может дополнительно потребоваться пакет
linux-headers-generic(debian-based) /kernel-devel(rhel-based).
-
С помощью базового файла конфигурации запустите Ubuntu 20.04 в VirtualBox посредством Vagrant:
-
Создайте директорию, в которой будут храниться конфигурационные файлы Vagrant. В ней выполните
vagrant init. Замените содержимое Vagrantfile по умолчанию следующим:Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-20.04" end
-
Выполнение в этой директории
vagrant upустановит провайдер VirtualBox для Vagrant, скачает необходимый образ и запустит виртуальную машину. -
vagrant suspendвыключит виртуальную машину с сохранением ее состояния (т.е., при следующемvagrant upбудут запущены все процессы внутри, которые работали на момент вызова suspend),vagrant haltвыключит виртуальную машину штатным образом.
-
-
Ознакомьтесь с графическим интерфейсом VirtualBox, посмотрите как выглядит виртуальная машина, которую создал для вас Vagrant, какие аппаратные ресурсы ей выделены. Какие ресурсы выделены по-умолчанию?
- Ознакомьтесь с возможностями конфигурации VirtualBox через Vagrantfile: документация. Как добавить оперативной памяти или ресурсов процессора виртуальной машине?
config.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "--cpuexecutioncap", "50"] end
-
Команда
vagrant sshиз директории, в которой содержится Vagrantfile, позволит вам оказаться внутри виртуальной машины без каких-либо дополнительных настроек. Попрактикуйтесь в выполнении обсуждаемых команд в терминале Ubuntu. -
Ознакомиться с разделами
man bash, почитать о настройках самого bash:- какой переменной можно задать длину журнала
history, и на какой строчке manual это описывается?
- какой переменной можно задать длину журнала
* что делает директива `ignoreboth` в bash?

-
В каких сценариях использования применимы скобки
{}и на какой строчкеman bashэто описано?
-
С учётом ответа на предыдущий вопрос, как создать однократным вызовом
touch100000 файлов? Получится ли аналогичным образом создать 300000? Если нет, то почему?
получится, используя фигурные скобки. vagrant@vagrant:~$ touch test {1..100000}
нет, не получится создать. список аргументов слишком длинный.
- В man bash поищите по
/\[\[. Что делает конструкция[[ -d /tmp ]]
файл существует в следующей директории. Проверяет файл и директорию. [[ ]] альтернатива команде тест.
-
Основываясь на знаниях о просмотре текущих (например, PATH) и установке новых переменных; командах, которые мы рассматривали, добейтесь в выводе type -a bash в виртуальной машине наличия первым пунктом в списке:
bash is /tmp/new_path_directory/bash bash is /usr/local/bin/bash bash is /bin/bash
(прочие строки могут отличаться содержимым и порядком) В качестве ответа приведите команды, которые позволили вам добиться указанного вывода или соответствующие скриншоты.
-
Завершите работу виртуальной машины чтобы не расходовать ресурсы компьютера и/или батарею ноутбука.



