Лабораторная работа Установка ОС 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 Соглашения об именовании

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

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

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

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

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

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

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

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

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

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

3.2.3 Создание образа

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

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

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

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

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

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

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

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

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

3.2.5 Видео: Установка Linux на qemu

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

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

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

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

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

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

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

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

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

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

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

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

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

        • Перенесите установочный образ в папку /var/tmp/имя_пользователя/iso:
          mkdir -p "$(vboxmanage list systemproperties | grep 'Default machine folder:' | cut -d':' -f2 | tr -d ' ')/iso"
          mv 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. Командная строка

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

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

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

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

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

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

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

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

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

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

    • В командной строке:
      vboxmanage 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:
        vboxmanage modifyvm "$(id -un)_os-intro" --boot1 dvd
        
      • Добавьте IDE-контроллер:
        vboxmanage storagectl "$(id -un)_os-intro" --name "IDE Controller" --add ide --controller PIIX4
        
      • Установите созданный вами файл VDI в качестве первого виртуального жесткого диска новой виртуальной машины:
        vboxmanage 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-файл:
        vboxmanage 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.

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

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

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

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

    • В командной строке:
      vboxmanage modifyvm "$(id -un)_os-intro" --firmware=efi
      

3.3.3 Видео: Создание виртуальной машины

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.5.1 Обновления

  • Установите средства разработки:
    sudo dnf -y group install development-tools
    
  • Обновить все пакеты
    sudo dnf -y update
    

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

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

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

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

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

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

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

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

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

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

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

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

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

Имя пользователя и хоста

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

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

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

  • Средство pandoc для работы с языком разметки Markdown.
  • Установка с помощью менеджера пакетов:
    sudo dnf -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.8.2 texlive

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

Установка TeX

3.8.4 Видео: После установки Linux

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

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

  • Дождитесь загрузки графического окружения и откройте терминал. В окне терминала проанализируйте последовательность загрузки системы, выполнив команду dmesg. Можно просто просмотреть вывод этой команды:
    dmesg | less
    
  • Можно использовать поиск с помощью grep:
    dmesg | 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 сс.