-
С помощью базового файла конфигурации запустите 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: документация. Как добавить оперативной памяти или ресурсов процессора виртуальной машине?
Отредактировав Vagrantfile и добавив в него следующие строки
config.vm.provider "virtualbox" do |vb|
vb.cpus = "4"
vb.memory = "1024"
endЧтобы получилось следующее:
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-20.04"
config.vm.provider "virtualbox" do |vb|
vb.cpus = "4"
vb.memory = "1024"
end
end-
Команда
vagrant sshиз директории, в которой содержится Vagrantfile, позволит вам оказаться внутри виртуальной машины без каких-либо дополнительных настроек. Попрактикуйтесь в выполнении обсуждаемых команд в терминале Ubuntu. -
Ознакомиться с разделами
man bash, почитать о настройках самого bash:
- какой переменной можно задать длину журнала
history, и на какой строчке manual это описывается?
На 862 строке. export HISTSIZE=100
- что делает директива
ignorebothв bash?
Не сохраняет строки начинающиеся с пробела и совпадающие с последней командой
- В каких сценариях использования применимы скобки
{}и на какой строчкеman bashэто описано?
В сценариях использования множеств. Например, создать N файлов, указав некий диапазон. Описано на 257 строке.
- Основываясь на предыдущем вопросе, как создать однократным вызовом
touch100000 файлов? А получилось ли создать 300000? Если нет, то почему?
touch {1..100000}.txtчто эквивалентно
touch 1.txt 2.txt ... 99999.txt 100000.txt300000 файлов создать не получится, так как в системе имеется ограничение на максимальную длину команды.
- В man bash поищите по
/\[\[. Что делает конструкция[[ -d /tmp ]]
Возвращает 1, если существует каталог /tmp
-
Основываясь на знаниях о просмотре текущих (например, PATH) и установке новых переменных; командах, которые мы рассматривали, добейтесь в выводе type -a bash в виртуальной машине наличия первым пунктом в списке:
bash is /tmp/new_path_directory/bash bash is /usr/local/bin/bash bash is /bin/bash
(прочие строки могут отличаться содержимым и порядком) В качестве ответа приведите команды, которые позволили вам добиться указанного вывода или соответствующие скриншоты.
vagrant@vagrant:~$ mkdir /tmp/new_path_directory
vagrant@vagrant:~$ cp /bin/bash /tmp/new_path_directory/
vagrant@vagrant:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
vagrant@vagrant:~$ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/tmp/new_path_directory
vagrant@vagrant:~$ type -a bash
bash is /usr/bin/bash
bash is /bin/bash
bash is /tmp/new_path_directory/bash
vagrant@vagrant:~$- Чем отличается планирование команд с помощью
batchиat?
at выполняет команду в назначенное время, а batch тогда, когда позволяет нагрузка системы executes commands when system load levels permit; in other words, when the load average drops below 1.5
- Завершите работу виртуальной машины чтобы не расходовать ресурсы компьютера и/или батарею ноутбука.
vargrant halt
