Это старая версия документа!
Лабораторные работы по ОС
Установка ОС 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/sdb1mkfs.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










