Это старая версия документа!
Лабораторные работы по ОС
Установка ОС Ubuntu Desktop. Работа в Ubuntu
- Для начала создадим виртуальную машину со следующими характеристиками: HDD - 20 Gb, RAM - 2048 Mb, CPU - 2, LAN - bridge
- Так как на этой ВМ нет других установленных ОС, но нам предлагают использовать весь диск. В целом нам это подходит, но в дополнениях включим использование LVM
- Ubuntu установлена. Переходим к настройке.
- Для удобства необходимо установить дополнения гостевой ОС:
Устройства → Подключить образ диска Дополнений гостевой ОС
Обратите внимание на то, что напишет вам система!!!
- Подключимся к ВМ с помощью ssh
- для этого необходимо установить серверную часть ssh - open ssh server:
sudo apt install openssh-server
- узнаем свой ip адрес:
ip a
- Задание со *: подключиться по ssh, использую авторизацию по ключу (попробуйте это реализовать с ВМ, на которой установлена ОС Windows. НЕ с хостовой!!)
- В приглашении Windows Terminal вы увидите следующую строку:
login@VM_name:~$
. $ - означает, что вы непривилегированный пользователь, то есть для выполнения некоторых команд вам потребуется повышение прав. Для повышения прав необходимо перед командой указатьsudo
(Super User DO), что будет аналогично «выполнить от имени администратора» в ОС Windows. - Рассмотрим навигацию по файловой системе:
- для того, чтобы понять, где вы находитесь в текущий момент времени используем команду
pwd
(print working directory). Более подробно с этой и другими командами можно ознакомиться с помощьюman pwd
, а также -pwd –help
(перед help ставится 2 «минуса»). Команда pwd отображает полный путь до текущего каталога. Полный путь - всегда начинается от корня «/», относительный - относительно текущего каталога; - для перемещения по директориям воспользуемся командой
cd
(change directory). Например,cd Desktop/
(относительный путь).Обратите внимание на то, что стоит пользоваться клавишей Tab, которая автоматически дописывает команду\путь, это поможет избежать вам синтаксических ошибок.
- для того, чтобы посмотреть содержимое директории воспользуемся командой
ls
. У этой команды (как и у многих других) есть полезные ключи, которые можно увидеть вman ls
. Какие ключи необходимо использовать для более подробного списка (с датой, правами и другими свойствами)? для отображения скрытых файлов? - для копирования файлов используется команда
cp
(copy) со следующим синтаксисомcp file1 file2
- для перемещения файлов используется команда
mv
(move)mv ~/Desktop/file1 ~/Downloads/file1
- для удаления файлов используется команда
rm
(remove)rm file
- для создания файлов используется команда
touch file
- для создания директорий используется команда
mkdir
(make directory)mkdir folder
- для просмотра файлов используется команда
cat
(catenate)cat file
- для работы с файлами будем использовать текстовый редактор vim. У этого редактора есть 3 режима:
- командный режим. В этом режиме осуществляется навигация по файлу, выполняются редактирующие действия с файлом (удаление символа, копирование, вставка и т. д). Команды редактирования вызываются обычными латинскими буквами. Навигация по строкам осуществляется либо при помощи клавиш «Вверх», «Вниз», «Влево», «Вправо», либо используя буквы:
k
— вверх,j
— вниз,h
— влево,l
— вправо. Удаление символа под курсором — клавишаx
. Удаление строки:dd
. Пролистывание страниц: клавишиPgUp
,PgDn
или комбинацииctrl + F
,ctrl + B
. - режим редактирования. Для перехода в режим редактирования используется одна из команд: клавиша
i
начнёт редактирование строки с текущего положения курсора, клавишаa
начнёт редактирование строки со следующего после курсора символа, клавишаo
начнёт редактирование текста со следующей строки. - режим последней строки. В этом режиме можно передавать более сложные команды - например, команды сохранения и выхода. Для выхода без сохранения
:q!
, с сохранением -:wq
.
Задание:
- Какие ключи необходимо использовать для подробного списка элементов директории (с датой, правами и другими свойствами)? для отображения скрытых файлов?
- Создайте в домашней директории файлы file1, file2, file3
- Запишите туда некоторый текст
- Скопируйте файл file2 на рабочий стол в директорию test1
- Какой командой можно скопировать файл в текущий каталог?
- Что сделает
cp /usr/local/etc/file /tmp/file1
- Скопируйте директорию test1 в Загрузки. Что необходимо было изменить в команде
cp
? - Переименуйте файл file3 в file_n
- С помощью какой команды можно удалить директорию?
- Для чего нужен ключ -p в команде mkdir?
- Что делает команда
rm -rf /*
?
Работа с дисками в Ubuntu
Добавим в систему еще один жесткий диск размером 10 Гб, разделим его на 2 директории по 2 и 8 Гб и промонтируем их.
- Перезагрузим систему
- Если набрать команду lsblk, увидим, что появилось новое устройство sdb, но на этом диске пока нет файловой системы и поэтому не получится им воспользоваться
- Для работы с дисками нам понадобится утилита fdisk. Посмотрите справку по работе с этой утилитой. С помощью какой команды можно увидеть разделы на диске?
- Создадим новый раздел (primary) с номером 1 и размером 2 Гб (+2G)
- Не забываем сохранить изменения!!!
- Форматируем разделы в файловую систему ext4
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
- Теперь необходимо примонтировать эти директории к существующим директориям или создать для этого новые. Создадим директорию /home/user/new_folder и примонтируем директорию ее к этому диску
mount /dev/sdb1 /home/user/new_folder/
. Второй раздел примонтируйте в другую директорию. - Проверить монтирование можно командой
df -Th
- После перезагрузки директория будет отмонтирована. Каким образом возможно решить эту проблему?
- Возможно ли отмонтировать директорию, находясь в ней?
Как вы помните, одна из возможностей LVM - это увеличение раздела root без простоя приложения. Попробуем это реализовать на вашей системе. То есть необходимо добавить 3 новых жестких диска (по 10 Гб), один из них будет использован для увеличения раздела root, из оставшихся двух создать еще один том.
- Добавим еще 3 жестких диска по 10 Гб в ВМ.
- Если зайти в систему и посмотреть диски с помощью команды
lsblk
, то можно увидеть новые диски - sdc, sdd и sde, но они пока не инициализированы. Обратите внимание, что к разделу /home/user/new_folder должен быть примонтирован диск /dev/sdb, который мы добавляли в прошлый раз. Должна получится примерно следующая картина: - Первый уровень абстракции LVM - это физические диски. Добавим новые диски
sudo pvcreate /dev/sdc
,sudo pvcreate /dev/sdd
,sudo pvcreate /dev/sde
- Посмотрим существующие группы томов, у нас есть группа vgubuntu - ее и нужно будет увеличить
vgextend vgubuntu /dev/sdc
. - Следующий уровень - раздел в группе томов. Увеличим существующий раздел на 100% свободного места -
lvextend -l +100%FREE /dev/mapper/vgubuntu-root
- Осталось растянуть файловую систему на новое свободное место
resize2fs /dev/mapper/vgubuntu-root
- Далее создадим единую группу томов - new размером 20 Гб. Для этого
vgcreate new /dev/sdc /dev/sdd
- Создадим логические разделы в группе new - 15 Гб для /home и остальное для /etc:
lvcreate -n home -L 15G new
иsudo lvcreate -n etc -l 100%FREE new
- Осталось файловую систему на созданных разделах
mkfs.ext4 -L home /dev/mapper/new-home
- Примонтируем директории в вновь созданные разделы
mount /dev/mapper/new-home /home
- *все изменения должны остаться после перезагрузки системы
- ** добавьте еще один диск (2 Гб) и за счет него увеличьте размер раздела /etc