Лабораторная работа Установка ОС Linux

Лабораторная работа Установка ОС Linux.

1 Цель работы

  • Целью данной работы является приобретение практических навыков установки операционной системы на виртуальную машину, настройки минимально необходимых для дальнейшей работы сервисов.

2 Указания к работе

2.1 Техническое обеспечение

  • Лабораторная работа подразумевает установку на виртуальную машину VirtualBox (https://www.virtualbox.org/) операционной системы Linux (дистрибутив Fedora).
  • Выполнение работы возможно как в дисплейном классе факультета физико-математических и естественных наук РУДН, так и дома. Описание выполнения работы приведено для дисплейного класса со следующими характеристиками техники:
    • Intel Core i3-550 3.2 GHz, 4 GB оперативной памяти, 80 GB свободного места на жёстком диске;
    • ОС Linux Gentoo (http://www.gentoo.ru/);
    • VirtualBox версии 7.0 или новее.
  • Для установки в виртуальную машину используется дистрибутив Linux Fedora (https://getfedora.org), вариант с менеджером окон sway (https://fedoraproject.org/spins/sway/).
  • При выполнении лабораторной работы на своей технике вам необходимо скачать необходимый образ операционной системы (https://fedoraproject.org/spins/sway/download/index.html).
  • В дисплейных классах можно воспользоваться образом в каталоге /afs/dk.sci.pfu.edu.ru/common/files/iso.
  • Для определённости в описании будем использовать версию Fedora-Sway-Live-x86_64-41-1.4.iso.

2.2 Соглашения об именовании

  • При выполнении работ следует придерживаться следующих правил именования:
    • Пользователь внутри виртуальной машины должен иметь имя, совпадающее с учётной записью студента, выполняющего лабораторную работу.
    • Имя хоста вашей виртуальной машины должно совпадать с учётной записью студента, выполняющего лабораторную работу.
    • Имя виртуальной машины должно совпадать с учётной записью студента, выполняющего лабораторную работу.
    • В дисплейных классах вы можете посмотреть имя вашей учётной записи, набрав в терминале команду:
      1id -un
      
  • При установке на своей технике необходимо использовать имя вашей учётной записи дисплейных классов. Например, если студента зовут Остап Сулейманович Бендер, то его учётная запись имеет вид osbender.

3 Последовательность выполнения работы

3.1 Варианты создания образа виртуальной машины

  • Предлагается несколько вариантов установки ОС Linux на основе следующих программных эмуляторов:
    • qemu;
    • virtualbox.

3.1.1 Установка Linux на qemu

  1. Общая информация

    • Данный вариант установки возможен, если у Вас установлено программное обеспечение Qemu (https://www.qemu.org/).
  1. Выполнение в дисплейном классе

    • Загрузите в дисплейном классе операционную систему Linux. Осуществите вход в систему.
    1. Настройка каталога для виртуальных машин

      • Запустите терминал. Перейдите в каталог /var/tmp:
        1cd /var/tmp
        
      • Создайте каталог с именем пользователя (совпадающий с логином студента в дисплейном классе). Для этого можно использовать команду:
        1mkdir /var/tmp/`id -un`
        
      • Дальнейшую работу проводите в этом каталоге.
  1. Создание образа

    • Создадим образ виртуального диска: 60GB, формат qcow2:

      1qemu-img create -f qcow2 fedora-sway.qcow2 60G
      
    • Запустите виртуальную машину:

      1qemu-system-x86_64 -boot menu=on -m 2048 -cpu max -smp 4 \
      2    -cdrom Fedora-Sway-Live-x86_64-41-1.4.iso \
      3    -drive file=fedora-sway.qcow2,format=qcow2,if=virtio,aio=native,cache=none \
      4    -bios /usr/share/edk2-ovmf/OVMF_CODE.fd \
      5    -enable-kvm -machine q35 -device intel-iommu \
      6    -device virtio-balloon \
      7    -chardev qemu-vdagent,id=vdagent0,name=vdagent,clipboard=on,mouse=off \
      8    -display default,show-cursor=on \
      9    -vga none -device virtio-gpu-pci
      
      • Видео-устройств подключено на видеокарту компьютера.
    • Выберите Start Fedora-Sway-Live 41.

    • Загрузится графический режим.

    • Если вы запускаете из-под Sway, включите Passthrough mode.

    • Также можно использовать режим захвата, переключая его по комбинации Ctrl+Alt+g.

    • Установите систему.

  1. После установки виртуальной машины

    • Для удобства создайте командный файл fedora-sway-start.sh:
      1touch fedora-sway-start.sh
      2chmod +x fedora-sway-start.sh
      
    • В файл запишите команду для запуска:
       1#!/bin/bash
       2
       3qemu-system-x86_64 -boot menu=on \
       4   -m 2048 -mem-path /dev/hugepages \
       5   -cpu max -smp 4 \
       6    -drive file=fedora-sway.qcow2,format=qcow2,if=virtio,aio=native,cache=none \
       7    -bios /usr/share/edk2-ovmf/OVMF_CODE.fd \
       8    -enable-kvm -machine q35 -device intel-iommu \
       9    -device virtio-balloon \
      10    -device virtio-serial \
      11    -chardev spicevmc,id=vdagent,debug=0,name=vdagent \
      12    -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
      13    -chardev qemu-vdagent,id=vdagent0,name=vdagent,clipboard=on,mouse=on \
      14    -display default,show-cursor=on \
      15    -vga none -device virtio-gpu-pci
      
      Распечатка 1: fedora-sway-start.sh
  1. Видео: Установка Linux на qemu

3.1.2 Установка Linux на Virtualbox

  1. Выполнение в дисплейном классе

    • Загрузите в дисплейном классе операционную систему Linux. Осуществите вход в систему.
    1. Настройка каталога для виртуальных машин

      1. Создание необходимых каталогов

        • Запустите терминал. Перейдите в каталог /var/tmp:

          1cd /var/tmp
          
        • Создайте каталог с именем пользователя (совпадающий с логином студента в дисплейном классе). Для этого можно использовать команду:

          1mkdir /var/tmp/`id -un`
          
        • Проверьте в свойствах VirtualBox месторасположение каталога для виртуальных машин:

          1/var/tmp/имя_пользователя
          
          • Здесь имя_пользователя — логин (учётная запись) студента в дисплейном классе. Если указан другой каталог, то требуется изменить его.
      1. Папка виртуальных машин

        1. Значения по умолчанию

          • Linux: $HOME/VirtualBox VMs.
        1. Графический интерфейс

          • В меню выберите Файл, Настройки.
          • Выберите Общие, поле Папка для машин по умолчанию.
          • Установите новое значение, например /var/tmp/имя_пользователя.
          • Нажмите ОК, чтобы сохранить изменения.
        1. Командная строка

          • Зададим отображение информации о настройках VirtualBox на английском.
          • Поэтому следует задать кодировку для отображения свойств VirtualBox:
            1vboxmanage setproperty language C
            
          • Установим папку для виртуальных машине в /var/tmp/имя_пользователя:
            1vboxmanage setproperty machinefolder /var/tmp/$(id -un)
            
          • Поверьте, что папка виртуальных машин по умолчанию изменена:
            1vboxmanage list systemproperties | grep "Default machine folder:"
            
          • Следующая команда выдаст только каталог:
            1vboxmanage list systemproperties | grep "Default machine folder:" | cut -d":" -f2 | tr -d ' '
            
        1. Установочный образ

          • Перенесите установочный образ в папку /var/tmp/имя_пользователя/iso:
            1mkdir -p "$(vboxmanage list systemproperties | grep 'Default machine folder:' | cut -d':' -f2 | tr -d ' ')/iso"
            2mv Fedora-Sway-Live-x86_64-39-1.5.iso "$(vboxmanage list systemproperties | grep 'Default machine folder:' | cut -d':' -f2 | tr -d ' ')/iso"
            
    1. Настройка хост-клавиши

      • Хост-клавишей по умолчанию является правый Ctrl.
      • По умолчанию в дисплейных классах на клавише правый Ctrl находится переключатель языка ввода.
      • Эти значения могут конфликтовать.
      1. Графический интерфейс

        • В меню выберите Файл, Настройки.
        • Выберите Ввод, вкладка Виртуальная машина.
        • Выберите Сочетание клавиш в строке Хост-комбинация.
        • Нажмите новое сочетание клавиш.
        • Нажмите ОК, чтобы сохранить изменения.
      1. Командная строка

        • Проверьте текущую комбинацию для хост-клавиши:

          1VBoxManage getextradata global GUI/Input/HostKeyCombination
          
          • По умолчанию установлена комбинация 65508, соответствующая правой клавише Ctrl.
        • Установите нужную клавишу (в примере клавиша Menu):

          1VBoxManage setextradata global GUI/Input/HostKeyCombination 65383
          
        • Комбинации клавиш можно, например, посмотреть на странице https://pythonhosted.org/pyglet/api/pyglet.window.key-module.html.

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

    • Для использования графического интерфейса запустите менеджер виртуальных машин, введя в командной строке:

      1VirtualBox &
      
    • Создайте новую виртуальную машину в графическом интерфейсе или в командной строке.

      • В командной строке:
        1vboxmanage createvm --name "$(id -un)_os-intro" --ostype Fedora_64 --register
        
    • Укажите имя виртуальной машины (ваш логин в дисплейном классе), тип операционной системы — Linux, Fedora.

    • Укажите размер основной памяти виртуальной машины — от 2048 МБ.

      • В командной строке:
        1vboxmanage modifyvm "$(id -un)_os-intro" --memory 2048 --acpi on --nic1 nat
        
    • Задайте конфигурацию жёсткого диска — загрузочный, VDI (VirtualBox Disk Image), динамический виртуальный диск.

    • Задайте размер диска — 80 ГБ (или больше), его расположение — в данном случае /var/tmp/имя_пользователя/имя_машины/имя_машины.vdi.

      • В командной строке:
        1vboxmanage createhd --filename "$(vboxmanage list systemproperties | grep 'Default machine folder:' | cut -d':' -f2 | tr -d ' ')/$(id -un)_os-intro/$(id -un)_os-intro.vdi" --size 80000
        
    • Выберите в VirtualBox Вашей виртуальной машины. Добавьте новый привод оптических дисков и выберите образ.

      • В командной строке:
        • Подключите загрузку с DVD:
          1vboxmanage modifyvm "$(id -un)_os-intro" --boot1 dvd
          
        • Добавьте IDE-контроллер:
          1vboxmanage storagectl "$(id -un)_os-intro" --name "IDE Controller" --add ide --controller PIIX4
          
        • Установите созданный вами файл VDI в качестве первого виртуального жесткого диска новой виртуальной машины:
          1vboxmanage storageattach "$(id -un)_os-intro" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "$(vboxmanage list systemproperties | grep 'Default machine folder:' | cut -d':' -f2 | tr -d ' ')/$(id -un)_os-intro/$(id -un)_os-intro.vdi"
          
        • Подключите к виртуальной машине ISO-файл:
          1vboxmanage storageattach "$(id -un)_os-intro" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium "$(vboxmanage list systemproperties | grep 'Default machine folder:' | cut -d':' -f2 | tr -d ' ')/iso/Fedora-Sway-Live-x86_64-39-1.5.iso"
          
    • При установке на собственной технике используйте скачанный образ операционной системы Fedora.

    • В качестве графического контроллера поставьте VMSVGA.

      • В командной строке:
        1vboxmanage modifyvm "$(id -un)_os-intro" --graphicscontroller=vmsvga
        
    • Включите ускорение 3D.

      • В командной строке:
        1vboxmanage modifyvm "$(id -un)_os-intro" --accelerate-3d=on
        
    • Если есть проблемы при отображении, загрузитесь в режиме базовой графики.

    • Включите общий буфер обмена и перетаскивание объектов между хостом и гостевой ОС.

      • В командной строке:
        1vboxmanage modifyvm "$(id -un)_os-intro" --clipboard-mode=bidirectional --drag-and-drop=bidirectional
        
    • Включите поддержку UEFI.

      • В командной строке:
        1vboxmanage modifyvm "$(id -un)_os-intro" --firmware=efi
        
    1. Видео: Создание виртуальной машины

  1. После установки виртуальной машины

    1. Установка драйверов для VirtualBox

      • Войдите в ОС под заданной вами при установке учётной записью.
      • Нажмите комбинацию Win+Enter для запуска терминала.
      • Запустите терминальный мультиплексор tmux:
        1tmux
        
      • Переключитесь на роль супер-пользователя:
        1sudo -i
        
      • Установите средства разработки:
        1dnf -y group install "Development Tools"
        
      • Установите пакет DKMS:
        1dnf -y install dkms
        
      • В меню виртуальной машины подключите образ диска дополнений гостевой ОС.
      • Подмонтируйте диск:
        1mount /dev/sr0 /media
        
      • Установите драйвера:
        1/media/VBoxLinuxAdditions.run
        
      • Перегрузите виртуальную машину:
        1reboot
        
    1. Подключение общей папки

      • Внутри виртуальной машины добавьте своего пользователя в группу vboxsf (вместо username укажите ваш логин):
        1gpasswd -a username vboxsf
        
      • В хостовой системе подключите разделяемую папку:
        1vboxmanage sharedfolder add "$(id -un)_os-intro" --name=work --hostpath=work --automount
        
      • Перегрузите виртуальную машину:
        1reboot
        
      • Папка будет монтироваться в /media/sf_work.

3.2 Установка операционной системы

3.2.1 Запуск приложения для установки системы

  • Загрузите LiveCD.
  • Появится интерфейс начальной конфигурации.
  • Нажмите Enter для создания конфигурации по умолчанию.
  • Нажмите Enter, чтобы выбрать в качестве модификатора клавишу Win (она же клавиша Super).
  • В файле конфигурации эта клавиша будет обозначена как $Mod.
  • Нажмите комбинацию Win+Enter для запуска терминала.
  • В терминале запустите liveinst.
  • Для перехода к раскладке окон с табами нажмите Win+w.

3.2.2 Установка системы на диск

  • Выберите язык интерфейса и перейдите к настройкам установки операционной системы.
  • При необходимости скорректируйте часовой пояс, раскладку клавиатуры (рекомендуется в качестве языка по умолчанию указать английский язык).
  • Место установки ОС оставьте без изменения.
  • Установите имя и пароль для пользователя root.
  • Установите имя и пароль для Вашего пользователя.
  • Задайте сетевое имя Вашего компьютера.
  • После завершения установки операционной системы корректно перезапустите виртуальную машину.
  • В VirtualBox оптический диск должен отключиться автоматически, но если это не произошло, то необходимо отключить носитель информации с образом.

3.2.3 Видео: Установка операционной системы

3.3 После установки

  • Войдите в ОС под заданной вами при установке учётной записью.
  • Нажмите комбинацию Win+Enter для запуска терминала.
  • Переключитесь на роль супер-пользователя:
    1sudo -i
    

3.3.1 Обновления

  • Обновить все пакеты
    1dnf -y update
    

3.3.2 Повышение комфорта работы

  • Программы для удобства работы в консоли:
    1dnf -y install tmux mc
    

3.3.3 Автоматическое обновление

  • При необходимости можно использовать автоматическое обновление (см. Автообновление систем на базе деривативов RedHat).
  • Установка программного обеспечения:
    1dnf install dnf-automatic
    
  • Задаёте необходимую конфигурацию в файле /etc/dnf/automatic.conf.
  • Запустите таймер:
    1systemctl enable --now dnf-automatic.timer
    

3.3.4 Отключение SELinux

  • В данном курсе мы не будем рассматривать работу с системой безопасности SELinux.
  • Поэтому отключим его.
  • В файле /etc/selinux/config замените значение
    1SELINUX=enforcing
    
    на значение
    1SELINUX=permissive
    
  • Перегрузите виртуальную машину:
    1reboot
    

3.4 Настройка раскладки клавиатуры

  • Войдите в ОС под заданной вами при установке учётной записью.
  • Нажмите комбинацию Win+Enter для запуска терминала.
  • Запустите терминальный мультиплексор tmux:
    1tmux
    
  • Создайте конфигурационный файл ~/.config/sway/config.d/95-system-keyboard-config.conf:
    1mkdir -p ~/.config/sway
    2touch ~/.config/sway/config.d/95-system-keyboard-config.conf
    
  • Отредактируйте конфигурационный файл ~/.config/sway/config.d/95-system-keyboard-config.conf:
    1exec_always /usr/libexec/sway-systemd/locale1-xkb-config --oneshot
    
  • Переключитесь на роль супер-пользователя:
    1sudo -i
    
  • Отредактируйте конфигурационный файл /etc/X11/xorg.conf.d/00-keyboard.conf:
    1Section "InputClass"
    2    Identifier "system-keyboard"
    3    MatchIsKeyboard "on"
    4    Option "XkbLayout" "us,ru"
    5    Option "XkbVariant" ",winkeys"
    6    Option "XkbOptions" "grp:rctrl_toggle,compose:ralt,terminate:ctrl_alt_bksp"
    7EndSection
    
  • Для этого можно использовать файловый менеджер mc и его встроенный редактор.
  • Перегрузите виртуальную машину:
    1reboot
    

3.4.1 Видео: Настройка раскладки клавиатуры

3.5 Установка имени пользователя и названия хоста

  • Если при установке виртуальной машины вы задали имя пользователя или имя хоста, не удовлетворяющее соглашению об именовании, то вам необходимо исправить это.
  • Запустите виртуальную машину и залогиньтесь.
  • Нажмите комбинацию Win+Enter для запуска терминала.
  • Запустите терминальный мультиплексор tmux:
    1tmux
    
  • Переключитесь на роль супер-пользователя:
    1sudo -i
    
  • Создайте пользователя (вместо username укажите ваш логин в дисплейном классе):
    1adduser -G wheel username
    
  • Задайте пароль для пользователя (вместо username укажите ваш логин в дисплейном классе):
    1passwd username
    
  • Установите имя хоста (вместо username укажите ваш логин в дисплейном классе):
    1hostnamectl set-hostname username
    
  • Проверьте, что имя хоста установлено верно:
    1hostnamectl
    

3.5.1 Видео: Имя пользователя и хоста

3.6 Установка программного обеспечения для создания документации

  • Нажмите комбинацию Win+Enter для запуска терминала.
  • Запустите терминальный мультиплексор tmux:
    1tmux
    
  • Переключитесь на роль супер-пользователя:
    1sudo -i
    

3.6.1 Работа с языком разметки Markdown

  • Средство pandoc для работы с языком разметки Markdown.
  • Установка с помощью менеджера пакетов:
    1dnf -y install pandoc
    
  • Для работы с перекрёстными ссылками мы используем пакет pandoc-crossref.
    • Пакет pandoc-crossref в стандартном репозитории отсутствует.
    • Придётся ставить вручную, скачав с сайта https://github.com/lierdakil/pandoc-crossref.
    • При установке pandoc-crossref следует обращать внимание, для какой версии pandoc он скомпилён.
  • Лучше установить pandoc и pandoc-crossref вручную.
    • Скачайте необходимую версию pandoc-crossref (https://github.com/lierdakil/pandoc-crossref/releases).
    • Посмотрите, для какой версии откомпилён pandoc-crossref.
    • Скачайте соответствующую версию pandoc (https://github.com/jgm/pandoc/releases).
    • Распакуйте архивы.
    • Обе программы собраны в виде статически-линкованных бинарных файлов.
    • Поместите их в каталог /usr/local/bin.

3.6.2 texlive

3.6.3 Видео: Установка TeX

4 Домашнее задание

  • Дождитесь загрузки графического окружения и откройте терминал. В окне терминала проанализируйте последовательность загрузки системы, выполнив команду dmesg. Можно просто просмотреть вывод этой команды:
    1dmesg | less
    
  • Можно использовать поиск с помощью grep:
    1dmesg | grep -i "то, что ищем"
    
  • Получите следующую информацию.
    • Версия ядра Linux (Linux version).
    • Частота процессора (Detected Mhz processor).
    • Модель процессора (CPU0).
    • Объём доступной оперативной памяти (Memory available).
    • Тип обнаруженного гипервизора (Hypervisor detected).
    • Тип файловой системы корневого раздела.
    • Последовательность монтирования файловых систем.

5 Содержание отчёта

  • Отчёт должен включать:
    • титульный лист;
    • формулировку задания работы;
    • описание результатов выполнения задания:
      • краткое описание действия;
      • вводимую команду или команды;
      • результаты выполнения команд (снимок экрана);
    • выводы, согласованные с заданием работы;
    • ответы на контрольные вопросы;
    • отчёт о выполнении дополнительного задания.

6 Контрольные вопросы

  1. Какую информацию содержит учётная запись пользователя?

  2. Укажите команды терминала и приведите примеры:

    • для получения справки по команде;
    • для перемещения по файловой системе;
    • для просмотра содержимого каталога;
    • для определения объёма каталога;
    • для создания / удаления каталогов / файлов;
    • для задания определённых прав на файл / каталог;
    • для просмотра истории команд.
  3. Что такое файловая система? Приведите примеры с краткой характеристикой.

  4. Как посмотреть, какие файловые системы подмонтированы в ОС?

  5. Как удалить зависший процесс?

При ответах на контрольные вопросы рекомендуется ознакомиться с информацией из [1; 17].

7 Библиография

Литература

1. Dash, P. Getting Started with Oracle VM VirtualBox / P. Dash. – Packt Publishing Ltd, 2013. – 86 сс.
2. Colvin, H. VirtualBox: An Ultimate Guide Book on Virtualization with VirtualBox. VirtualBox / H. Colvin. – CreateSpace Independent Publishing Platform, 2015. – 70 сс.
3. Vugt, S. van. Red Hat RHCSA/RHCE 7 cert guide : Red Hat Enterprise Linux 7 (EX200 and EX300) : Certification Guide. Red Hat RHCSA/RHCE 7 cert guide / S. van Vugt. – Pearson IT Certification, 2016. – 1008 сс.
4. Робачевский, А. Операционная система UNIX / А. Робачевский, С. Немнюгин, О. Стесик. – 2-е изд. – Санкт-Петербург : БХВ-Петербург, 2010. – 656 сс.
5. Немет, Э. Unix и Linux: руководство системного администратора. Unix и Linux / Э. Немет, Г. Снайдер, Т.Р. Хейн, Б. Уэйли. – 4-е изд. – Вильямс, 2014. – 1312 сс.
6. Колисниченко, Д.Н. Самоучитель системного администратора Linux : Системный администратор / Д.Н. Колисниченко. – Санкт-Петербург : БХВ-Петербург, 2011. – 544 сс.
7. Robbins, A. Bash Pocket Reference / A. Robbins. – O’Reilly Media, 2016. – 156 сс.