МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Основы работы в ALT-Linux Методические указания по выполнению лабораторных работ, для студентов 09.03.04 Программная инженерия Составители: Коцубинский В. П., Изюмов А. А. 2025 г. УДК 681.3.066 ББК 32.973.2 Основы работы в ALT-Linux : методические указания по выполнению лабораторных работ для студентов, обучающихся по направлению 09.03.04 Программная инженерия / сост. В.П. Коцубинский, А.А. Изюмов. – Томск : Томский политехнический университет, 2025 год создания. – Количество страниц 38. Методические указания рассмотрены и рекомендованы к использованию в учебном процессе «10» июня 2025 года, протокол № 8_. Руководитель ОИТ ИШИТР ________________ (подпись) 2 Шершнёв В.С. 1 Введение ALT Linux — российский дистрибутив операционной системы Linux, активно развиваемый с 2001 года. В 2025 году его значение особенно возросло в связи с программой импортозамещения и переходом на отечественное программное обеспечение (ПО) в рамках стратегии технологического суверенитета РФ. ALT Linux обеспечивает стабильную работу, открытую архитектуру и поддержку широкого спектра оборудования, что делает его подходящим решением для образовательных учреждений и государственных структур. В 1969 году в Bell Labs под руководством Кена Томпсона и Денниса Ритчи была разработана операционная система UNIX, заложившая основы современной вычислительной платформы. Ключевые принципы UNIX — модульность, многопользовательский режим и переносимость — реализовались через разделение системы на небольшие взаимозаменяемые утилиты, единый интерфейс файловой системы и чистый, простой системный вызов. Это позволило переносить код между различными аппаратными платформами, ускоряя развитие софта и стимулируя сообщество исследователей и разработчиков к созданию новых инструментов. В августе 1991 года студент Хельсинкского университета Линус Торвальдс опубликовал первую версию ядра Linux, призванную быть свободной альтернативой коммерческим UNIX-системам. Поддержка философии GNU и лицензии GPL гарантировала пользователям четыре основных свободы: запуск, изучение, распространение и улучшение ПО. В короткие сроки к проекту подключились сотни волонтёров по всему миру, предоставивших драйверы, утилиты и документацию, что быстро превратило Linux в полноценную операционную систему (ОС). Появление ядра вызвало расцвет множества дистрибутивов. В 1993 году вышел Slackware — первый массовый дистрибутив, ориентированный на опытных пользователей. В том же году был основан Debian, акцентировавший внимание на стабильности и открытом управлении сообществом. В 1995 году появился Red Hat, предложивший коммерческую поддержку и удобные RPM-пакеты. Сегодня лидерами рынка считаются Ubuntu (производное от Debian, с упором на удобство и частые релизы), Fedora (инновации и новые технологии от Red Hat) и Arch (минимализм и принцип»делай сам»). В России, в ответ на задачи укрепления кибербезопасности в 2023 г. был принят Федеральный закон № 187-ФЗ «О безопасности критической информационной инфраструктуры». Он предписывает перевод ключевых государственных систем на отечественное ПО и платформы с сертификацией ФСТЭК, локализацию интерфейсов и гарантию техподдержки в пределах РФ. В результате Windows все активнее замещается на Linux-решения с открытым исходным кодом, что снижает зависимость от зарубежных вендоров и повышает контроль над обновлениями и уязвимостями. Таблица 1. ALT Linux в экосистеме РФ Критерий ALT Linux Astra Linux Ред ОС Основа Sisyphus/p10 Debian RHEL/CentOS ГОСТКорпоративная Фокус Универсальность безопасность совместимость Поддержка 1С Да Да Да Сертификация Частичная (СЗИ- Полная (СЗИПолная (СЗИ-3) ФСТЭК 2) 3) ALT Linux выгодно отличается крупнейшим в России репозиторием из более 50 000 пакетов, включая офисные, инженерные, научные и мультимедийные приложения. Систему можно развернуть на архитектурах x86_64, ARM и отечественных Эльбрус-процессорах. Глубокая интеграция с популярными решениями «МойОфис», СБИС и КриптоПро делает её удобной для работы в госсекторе и корпоративном сегменте. Сообщество насчитывает свыше 20 000 активных разработчиков и пользователей, обеспечивающих своевременное обновление и поддержку. 2 Ядро операционной системы и графический интерфейс На рис.1 приведена укрупненная структура операционной системы UNIX. Основная часть ОС, выполняемая в привилегированном режиме ЦП, называется ядром. Подсистемы ядра выполняют управление основными объектами ВС: процессами, файлами, периферийными устройствами, центральным процессором и оперативной памятью. Часть программ ОС реализована вне ядра. Сюда относятся интерпретаторы команд ОС (shell), а также системные демоны (init, getty, rlogin и т.д.). 4 Пользователь Системные демоны Прикладные и системные обрабатывающие Интерфейс системных вызовов Ядро ОС Управление процессами Файловая подсистема Подсистема ввода/вывода Управление памятью Управление аппаратурой Аппаратура Рис.1. Укрупненная структура ОС В основе традиционной графической подсистемы Linux (рис.2) лежит X Window System, чаще в реализации Xorg. Архитектурно она построена по принципу клиент-серверной модели, где: • X-сервер (X server) — это программа, напрямую взаимодействующая с аппаратным обеспечением компьютера: 5 видеокартой, дисплеем, клавиатурой, мышью и другими устройствами ввода. Он отвечает за отрисовку окон, обработку событий ввода, управление буфером обмена. • Клиенты X (X clients) — это все приложения, использующие графику: терминалы, браузеры, редакторы, файловые менеджеры и т.д. Они взаимодействуют с X-сервером через протокол X11, отправляя команды на отрисовку и получая информацию о действиях пользователя. Ключевым моментом является то, что X-сервер не управляет поведением окон (их перемещением, фокусом, заголовками, минимизацией и т.п.). За это отвечает отдельный компонент — оконный менеджер (WM). Приложение GTK/QT Оконный менеджер (Openbox/KWin) X Server (драйвер GPU) Рис 2. Общая архитектура управления графическим интерфейсом в Linux Оконный менеджер берет на себя компоновку, декорации и переключение окон, а прикладные программы через библиотеки Xlib или современные наборы GTK/Qt рисуют собственный интерфейс и реагируют на ввод пользователя: размещение, фокус ввода, перетаскивание, оформление рамок, поведение при сворачивании/разворачивании. Примеры оконных менеджеров: • Openbox, Fluxbox — лёгкие, минималистичные. • i3, Awesome — тайловые (tile-based), где окна автоматически располагаются в сетке. • Mutter, KWin — интегрированные в среды GNOME и KDE соответственно. Если оконный менеджер поддерживает композицию, он может накладывать графические эффекты (прозрачность, тени, анимация). Например: • Compton (и его форк Picom) — лёгкий композитный менеджер, часто используется с Openbox или XFCE. • Mutter в GNOME и KWin в KDE — встроенные композитные менеджеры. Важно понимать, что графический интерфейс (GUI) не является частью ядра Linux. Ядро (kernel) выполняет низкоуровневые функции: • управление процессами, 6 распределение оперативной памяти, • взаимодействие с драйверами устройств (включая видеокарту), • управление сетью и файловыми системами. GUI, включая X-сервер и все графические компоненты, работает в пользовательском пространстве. Это означает, что: • Графика может быть полностью отключена (например, в серверных установках). • Запуск GUI — это лишь опциональный запуск приложений поверх ядра. Ядро Linux отвечает за управление памятью, процессами, устройствами и сетью, тогда как GUI функционирует полностью в пространстве пользователя: библиотеки Xlib/Wayland, оконные менеджеры и среды рабочего стола. Типы графических сред • DE (Desktop Environment) o GNOME: современный интерфейс с Activities Overview, интеграцией уведомлений и отзывчивым дизайном. o KDE Plasma: богатые возможности кастомизации (более 200 параметров), тонкая настройка внешнего вида и поведения. o XFCE: легковесный, потребляет менее 500 МБ ОЗУ, при этом обеспечивает привычный пользовательский опыт. • WM (Window Managers) o i3: тайловый менеджер, все окна раскладываются без перекрытий, управление преимущественно с клавиатуры. o Openbox: максимально минималистичный, подходит для быстрой и простой организации рабочего пространства вручную. • По умолчанию в ALT Linux установлена GNOME Shell (или XFCE (XForms Common Environment)), обеспечивающая плавный, интуитивный опыт взаимодействия. Для разработчиков и пользователей любящих тонкую настройку доступна KDE Plasma, а для слабых машин — лёгкая LXQt (таблица 2), потребляющая минимум ресурсов. Во многих редакциях ALT Linux, особенно ориентированных на рабочие станции и образовательные учреждения, XFCE используется как стандартное окружение рабочего стола. Это объясняется следующими факторами: • Экономия ресурсов на массовых рабочих местах. • Простота в освоении пользователями с разным уровнем подготовки. • Совместимость с отечественным ПО и стандартами. • Надёжная работа в условиях ограниченного интернет-доступа и поддержки. 7 Среда GNOME KDE Plasma XFCE LXQt/LXDE Таблица 2. Сравнение графических сред Использование в Требования Интерфейс ALT Linux Современный, Доступна, но не по Высокие минимализм умолчанию Визуально Используется в ALT Средние насыщенный, Workstation K гибкий Классический, Широко применяется Низкие быстрый по умолчанию Очень Для старых систем и Упрощённый низкие Live-дистрибутивов XFCE — это полноценная среда рабочего стола (Desktop Environment), ориентированная на: • низкое потребление ресурсов (по сравнению с GNOME или KDE); • высокую стабильность; • классический метафорический интерфейс: рабочий стол, значки, меню, панели; • модульную архитектуру, позволяющую заменять компоненты. Основные компоненты XFCE: • xfwm4 — оконный менеджер XFCE с поддержкой композиции (эффекты, тени). • Thunar — лёгкий, быстрый и функциональный файловый менеджер. • xfce4-panel — панель задач с поддержкой апплетов и системного трея. • xfce4-settings — центр управления параметрами системы. • xfce4-terminal — встроенный терминал с вкладками. Преимущества XFCE: 1. Низкие системные требования: o XFCE подходит для установки на старые и маломощные ПК, ноутбуки, в том числе на базе отечественных процессоров (например, Байкал или Эльбрус). o Быстро загружается и работает даже с 512 МБ – 1 ГБ ОЗУ. 2. Надёжность и стабильность: o XFCE часто используется в производственных средах, где важна предсказуемость и отказоустойчивость. 3. Традиционный интерфейс: 8 Панель внизу или вверху, системное меню, иконки рабочего стола — всё это интуитивно понятно пользователю, привыкшему к Windows XP/7 или старым версиям GNOME. 4. Гибкость без перегрузки: o Система достаточно настраиваемая, но без избыточной сложности, присущей GNOME. 5. Поддержка композитных эффектов: o Встроенный compositor позволяет добавлять мягкие тени, прозрачности, сглаживание. Архитектура X11 обеспечивает масштабируемость, модульность и совместимость с различными компонентами графической подсистемы Linux. Среда XFCE представляет собой сбалансированное решение для пользователей, которым важны скорость, стабильность и предсказуемость интерфейса. В дистрибутиве ALT Linux XFCE часто используется как предпочтительное окружение рабочего стола, особенно в условиях ограниченных вычислительных ресурсов и в образовательных или корпоративных сценариях. o 3 Основы работы в графической среде ALT Linux 3.1 Графическая среда XFCE В дистрибутиве ALT Linux графическая среда представляет собой совокупность программных компонентов, обеспечивающих визуальное взаимодействие пользователя с операционной системой. Несмотря на разнообразие возможных интерфейсов, в большинстве редакций ALT Linux по умолчанию используется XFCE — лёгкая и стабильная среда рабочего стола (Desktop Environment), предоставляющая классическую модель пользовательского взаимодействия, аналогичную интерфейсам операционных систем Windows XP или старых версий GNOME. После завершения загрузки системы (boot-процесса) и прохождения всех этапов инициализации (включая запуск службы display-manager, такой как lightdm), пользователь сталкивается с экраном входа в систему (login screen). Здесь требуется указать имя пользователя и пароль, после чего запускается сессия XFCE. Сессия представляет собой совокупность процессов, включающую: • оконный менеджер xfwm4, отвечающий за управление окнами, их положение, фокус, а также отрисовку рамок и заголовков; 9 панель xfce4-panel, содержащую меню приложений, список открытых окон, область уведомлений (systray), часы и другие апплеты; • диспетчер окон рабочего стола xfdesktop, обеспечивающий отображение иконок на рабочем столе и контекстное меню при щелчке правой кнопкой мыши. Графическая среда XFCE построена по модульному принципу. Каждый компонент среды выполняет строго определённую функцию, что повышает устойчивость и гибкость интерфейса. Ниже рассмотрены основные элементы интерфейса: 1. Рабочий стол Рабочий стол является фоном пользовательского интерфейса. Он может содержать иконки для доступа к домашнему каталогу (Домашняя папка), файловым системам, корзине и внешним носителям. Пользователь может размещать на рабочем столе ярлыки для часто используемых приложений или документов. Контекстное меню рабочего стола позволяет: • создать ярлык, папку или текстовый файл; • изменить фон (обои); • запустить терминал; • получить доступ к настройкам рабочего стола. 2. Меню приложений Панель содержит кнопку, открывающую главное меню приложений, организованное по категориям (Офис, Интернет, Система, Графика, Аудио/Видео и т.д.). Это меню генерируется автоматически на основе метаинформации о приложениях в формате .desktop, размещённых в каталогах /usr/share/applications и ~/.local/share/applications. Для быстрого доступа к программам предусмотрена также система поиска (в некоторых редакциях — через утилиту xfce4-appfinder). 3. Панель задач и системный трей Панель задач отображает список всех открытых окон текущего виртуального рабочего стола. Щелчок по значку сворачивает или разворачивает окно. Системный трей (область уведомлений) отображает статус сетевого подключения, уровень заряда аккумулятора (на ноутбуках), доступность обновлений, а также позволяет управлять мультимедийными проигрывателями и другими службами. 4. Рабочие столы • 10 XFCE по умолчанию поддерживает несколько виртуальных рабочих столов, между которыми пользователь может переключаться. Это повышает организацию работы: на одном столе могут располагаться офисные приложения, на другом — браузер и мессенджер, на третьем — инструменты для системного администрирования. 5. Файловый менеджер Thunar Программа Thunar — это основной файловый менеджер XFCE. Он обеспечивает навигацию по файловой системе, управление файлами и каталогами, подключение внешних накопителей, просмотр прав доступа и метаданных. Thunar поддерживает вкладки, закладки и контекстные операции через подключаемые модули (плагины). XFCE поставляется с минимальным, но достаточным набором прикладных программ, позволяющих сразу приступить к работе: • xfce4-terminal — эмулятор терминала с поддержкой вкладок и настраиваемым внешним видом; • Mousepad — простой текстовый редактор; • Ristretto — просмотр изображений; • Parole — медиапроигрыватель; • Xfburn — утилита для записи дисков; • GDebi или RPM GUI — графические интерфейсы для установки пакетов. В дополнение, пользователь может установить любое приложение из репозиториев ALT Linux с помощью Центра приложений (Synaptic) или командной строки (apt-get, apt, rpm). Централизованное управление настройками в XFCE осуществляется через компонент xfce4-settings-manager. В нём собраны модули для настройки: • внешнего вида окон и значков; • поведения мыши и клавиатуры; • автозагрузки приложений; • настройки дисплеев и звука; • работы с энергопитанием (для ноутбуков); • горячих клавиш и сочетаний. Благодаря своей модульности XFCE позволяет настраивать интерфейс с высокой степенью детализации, не перегружая систему фоновыми службами и не требуя большого объёма оперативной памяти. Завершение сессии осуществляется через пункт меню «Выход». Пользователь может выбрать: • завершение текущего сеанса; 11 перезагрузку; • выключение системы; • переход в режим ожидания или гибернации (если поддерживается оборудованием). Система корректно завершает все пользовательские процессы и сохраняет параметры текущей сессии, если это предусмотрено настройками. • 3.2 Основы работы в графической среде ALT Linux 3.2.1 Информация о системе Для получения информации о системе не обходимо выполнить в терминале команду lscpu. Ее параметры позволяют конкретизировать запрос. # Информация о процессоре lscpu | grep "Имя модели" # Пример вывода: Model name: Core(TM) i5-8300H CPU @ 2.30GHz Intel(R) # Информация о памяти sudo dmidecode --type memory | grep "Size" # Пример вывода: Size: 8192 MB # Информация о дисках lsblk -o NAME,SIZE,TYPE,MOUNTPOINT # Пример вывода: # NAME SIZE TYPE MOUNTPOINT # sda 476G disk # ├─sda1 512M part /boot/efi # └─sda2 475G part / 3.2.1 Запуск диспетчера задач (Системного монитора) 1. Запуск приложения: o o Способ 1: Системное меню → Поиск «диспетчер задач» Способ 2: Терминал → xfce4-taskmanager 12 Рис. 2. Диспетчер задач 2. В основном диалоговом окне возможно выполнить следующие команды: o Сортировка по столбцам: % ЦП, Резидентная память, PID процесса o Поиск процесса: ввод имени в строку фильтра o Управление процессами: ▪ Завершение: выделить процесс → Правая кнопка → «Завершить» 13 ▪ Изменение приоритета: «Задать приоритет» 3. Терминальные команды для мониторинга: # Динамический мониторинг процессов htop # Просмотр сетевых соединений netstat -tuln # Проверка использования диска df -h --output=source,size,used,avail,pcent,targe t # Пример вывода: # Filesystem Size Used Avail Use% Mounted o n # /dev/sda2 50G 15G 33G 31% / 3.2.2 Работа с эмулятором терминала Цель: Освоение базовых команд для управления системой Пошаговое выполнение: 1. Запуск терминала: o o Способ 1: Системное меню → Поиск «терминал» Способ 2: Горячие клавиши Ctrl+Alt+T Рис. 3. Запуск эмулятора терминала 2. Основные команды навигации: # Просмотр текущей директории pwd # Пример: /home/student # Смена директории cd Documents # переход в поддиректорию cd .. # переход на уровень выше 14 cd ~ # переход в домашнюю директорию # Просмотр содержимого ls -la # Вывод: права | владелец | группа | размер | дат а | имя 3. Работа с файлами: # Создание файла touch lab_report.txt # Редактирование (установите nano если нет) sudo apt install nano nano lab_report.txt # Копирование cp lab_report.txt lab_backup.txt # Переименование/перемещение mv lab_backup.txt backups/ # Удаление rm old_file.txt 4. Практические примеры: # Поиск файлов find ~ -name "*.txt" -mtime -7 # Просмотр логов nano /var/log/README # Проверка сетевого подключения ping ya.ru -c 4 # Скачивание файлов wget https://example.com/file.zip # Распаковка архивов unzip file.zip -d destination_folder 5. Пользовательские настройки: # Настройка .bashrc nano ~/.bashrc 15 # Добавьте алиасы: alias ll='ls -alF' alias update='sudo apt update && sudo apt upgrade ' # Применить изменения: source ~/.bashrc 6. Управление пакетами (базовые команды): # Поиск пакета apt search python3 # Установка sudo apt install python3-pip # Обновление системы sudo apt update sudo apt upgrade # Удаление sudo apt remove unnecessary-package Типичные проблемы, которые могут возникнуть у пользователя: 1. Отсутствие прав sudo – решение: sudo usermod -aG sudo username 2. Ошибка «Command not found» – решение: установка пакета через apt 3. Зависание терминала – решение: Ctrl+C для прерывания, Ctrl+Z для фонового режима 3.2.3 Специальные символы редактирования и выдачи сигналов Терминал – устройство, выполняющее ввод и вывод символьной информации. Чаще всего это совокупность клавиатуры (устройство ввода) и экрана (устройство вывода), но могут использоваться и другие символьные устройства. Подобно другим периферийным устройствам, терминал представлен в файловой структуре системы специальным файлом в каталоге /dev. Примеры имен таких файлов: /dev/console, /dev/tty03, /dev/tty. Последнее имя является «собирательным», позволяя в любой программе обращаться к своему управляющему терминалу стандартным образом. 16 На любом экране всегда присутствует изображение курсора. Курсор – светящийся прямоугольник, предназначенный для того, чтобы указывать на ту позицию экрана, в которой будет показан следующий символ, выбранный драйвером из очереди вывода. Курсор генерируется аппаратурой экрана, а его координаты задаются драйвером. Пользователь перемещает курсор в пределах экранной строки с помощью клавиш <> и <→>. Чем больше раз пользователь нажмет соответствующую клавишу, тем на большее число позиций переместится курсор. Это происходит благодаря тому, что при каждом нажатии клавиши драйвер передает ее код ASCII в дисциплину линии, которая, во-первых, помещает код символа в буфер вывода, а во-вторых, корректирует свой внутренний указатель на элемент (символ) буфера ввода. Подобно тому, как на экране курсор указывает на ту позицию, в которой будет выполняться редактирование (вставка или удаление символа), для буфера ввода эту же роль выполняет внутренний указатель. Если теперь пользователь нажимает какую-то клавишу редактирования, например, <Delete>, то код этой клавиши не помещается в буфер вывода (вывода «эха» нет), а используется дисциплиной линии лишь для корректировки своего буфера ввода. После этого содержимое буфера ввода, начиная с корректируемого символа, копируется в буфер вывода для отображения полученных изменений на экране. Результатом работы дисциплины линии в каноническом режиме при вводе являются отредактированные строки символов, каждая из которых всегда заканчивается символом nl. (Здесь и далее без угловых скобок будем записывать обозначения символов, принятые в UNIX или в СИ.) Что касается вывода в каноническом режиме, то дисциплина линии ограничивается лишь добавлением к каждому символу nl символа carriage-return (возврат каретки). В результате каждая выводимая строка будет начинаться с левого края экрана. Канонический режим терминальной линии используют, например, интерпретатор команд shell, а также строковые текстовые редакторы ed, sed, vi и т.д. В неканоническом режиме дисциплина линии передает вводимую с клавиатуры последовательность символов без каких-либо изменений. Такой режим работы с терминалом используют, например, экранные редакторы. Они сами обеспечивают редактирование вводимой информации. Действуя при этом по тем же принципам, что и дисциплина 17 очереди в каноническом режиме, экранные редакторы выполняют гораздо большее число функций редактирования. Следующие символы, вводимые с клавиатуры, используются дисциплиной линии для редактирования введенной строки, а также для выдачи ею сигналов. erase – символ, приводящий к стиранию предыдущего символа в строке. В качестве данного символа пользователь может задать любой код ASCII. Чаще всего для этого используется код клавиши <Backspace>. Например, если в командной строке UNIX набрать: $ whp<Backspace>o<Enter> то интерпретатору команд будет передана строка who (символ «p» будет удален по нажатии клавиши «Backspace» и заменен на «o»). kill – стирание всех символов до начала строки. По умолчанию для получения символа kill одновременно нажимаются две клавиши: <Ctrl>&<?>. Другие используемые комбинации: <Ctrl>&<X> и <Ctrl>&<U>. nl – обычный разделитель строк. Он всегда имеет значение символа line-feed (перевод строки). Этот же код ASCII имеет символ СИ newline (новая строка). stop – используется для временной приостановки вывода на терминал. Это позволяет приостановить вывод прежде, чем выводимый текст исчезнет за границей экрана. Обычно используется комбинация клавиш <Ctrl>&<S>. Лишь в некоторых системах может быть изменен пользователем. start – используется для продолжения вывода, приостановленного символом stop. Если stop не был введен, то start игнорируется. Для получения символа start обычно используется <Ctrl>&<Q>. Лишь в некоторых системах может быть изменен пользователем. eof – окончание входного потока с терминала (этот символ должен быть единственным символом в начале новой строки). Стандартным значением является символ ASCII eot, получаемый нажатием <Ctrl>&<D>. intr – символ прерывания. Ввод данного символа пользователем приводит к посылке всем процессам оперативной группы сеанса, управляемого данным терминалом, сигнала SIGINT. Стандартная реакция процесса на такой сигнал – завершение. Обычно символ intr соответствует нажатию клавиши <Delete> или <Ctrl>&<C>. 18 quit - приводит к посылке всем процессам оперативной группы сеанса, управляемого данным терминалом, сигнала SIGQUIT. Обычно символ quit соответствует нажатию клавиш <Ctrl>&<\>. susp – символ терминального останова. Ввод данного символа пользователем приводит к посылке всем процессам оперативной группы сеанса, управляемого данным терминалом, сигнала SIGTSTP. Стандартная реакция процесса на этот сигнал – переход процесса в состояние «Останов», в которое процесс может попасть из состояний: «Задача», «Готов» и «Сон». («Останов» - дополнительное состояние процесса, существующее не во всех версиях UNIX.) Кроме того, оперативная группа процессов переводится в фоновый режим. Обычно символ susp соответствует нажатию клавиш <Ctrl>&<Z>. С помощью утилиты stty пользователь может заменять клавиши (и соответствующие им коды), используемые для реализации управляющих символов: erase, kill, eof, intr, quit, susp. Пример: $ stty erase "^f" Здесь в качестве символа erase задается комбинация клавиш <Ctrl>&<f>. Обратите внимание, что и в других случаях часто вместо нажатия<Ctrl>&<f> можно набрать строку “^f”. Советы • С помощью утилиты stty можно увидеть, какие символы заменены. • Вернуть замененные символы к стандартным значениям можно с помощью ввода команды $ stty sane 3.2.4 Установка ПО Способ 1. Установка пакетов через Synaptic Synaptic — удобный графический менеджер пакетов, основанный на APT. Позволяет искать, устанавливать, удалять и обновлять ПО. Шаги установки: 1. Откройте терминал и выполните команду для запуска Synaptic с правами администратора: sudo synaptic либо через системное меню запустите «Менеджер пакетов» (рис.4) 19 o Рис. 4. Менеджер пакетов Появится окно с запросом пароля (рис.5) – введите пароль пользователя с правами sudo. Рис. 5. Запрос административного пароля 2. В строке поиска в верхней части окна введите название пакета (рис.6), например: fonts-ttf-freefont Рис. 6. Окно поиска пакета 20 3. В списке найденных пакетов найдите (рис.7) нужный (обычно самый верхний), щелкните правой кнопкой мыши и выберите Отметить для установки. Рис. 7. Список найденных пакетов 4. Нажмите кнопку Применить на панели инструментов. 5. Подтвердите установку зависимостей в диалоговом окне (рис.8). Рис. 8. Установка зависимостей 6. Дождитесь завершения установки (рис.9). 21 Рис. 9. Успех установки 7. Закройте Synaptic. Способ 2. Установка сторонних приложений через меню ALT Linux ALT Linux поставляется с графическим инструментом для установки внешнего ПО, например, офисных пакетов. Шаги: 1. Откройте главное меню ALT Linux → Найдите пункт Установка сторонних приложений. 2. В появившемся окне введите в поиске: MyOffice 3. Выберите приложение из списка (рис.10) и нажмите кнопку Установка. Рис. 10. Установка «Мой офис» 22 4. Введите пароль администратора при появлении запроса. 5. Дождитесь окончания установки — появится сообщение об успешной установке. Способ 3.Установка ПО через Wine и PortProton Помимо родного ПО, специально разработанного для Linux, возможно использоваться также и ПО, написанное для ОС Windows. Для этого используются специализированные приложения, эмулирующие файловую систему и реестр систем семейства Windows. Наиболее полезная в этом отношении утилита называется Wine (Wine Is Not an Emulator) – это программный слой, который позволяет запускать приложения и игры, разработанные для операционной системы Windows, прямо в Linux и других UNIX-подобных системах. Основные преимущества Wine: • Позволяет запускать Windows-программы без необходимости устанавливать полноценную Windows через виртуальную машину или двойную загрузку. • Улучшает совместимость с программами Windows, сохраняя при этом производительность. • Позволяет работать с большинством популярных приложений и игр, хотя поддержка зависит от конкретной программы. Wine полезен, если: • Вы хотите использовать определённое Windows-приложение, для которого нет нативного Linux-аналога. • Вам нужно запускать игры, которые не имеют Linux-версий. • Не хотите устанавливать Windows на отдельный раздел или виртуальную машину. ALT Linux базируется на RPM-пакетах и использует собственные репозитории. Однако, при необходимости, можно использовать утилиты Windows. Для примера, установим архиватор WinRAR. WinRAR — это популярный файловый архиватор для Windows, поддерживающий форматы RAR, ZIP и множество других. Хотя в Linux есть собственные архиваторы (например, file-roller, ark, p7zip), иногда пользователю требуется именно WinRAR: • для совместимости с архивами, созданными с особыми параметрами WinRAR; • для работы с защищёнными паролем RAR-архивами; 23 • для пользователей, привыкших к интерфейсу WinRAR. Для установки WinRAR через Wine выполните следующую инструкцию: Шаг 1: Установка Wine (если не установлен) В терминале наберите команды (Рис.11): sudo apt-get update sudo apt-get install wine Рис. 11. Установка wine Проверьте версию (рис.12): wine --version Рис. 12. Проверка версии пакета Шаг 2: Скачивание установщика WinRAR 1. Перейдите на официальный сайт WinRAR с помощью браузера: https://www.rarlab.com/download.htm 2. Скачайте файл, например: winrar-x64-711.exe (может отличаться по версии) 3. Сохраните его, например, в папку /home/kvp/Загрузки. Шаг 3: Запуск установщика через Wine Откройте терминал и выполните команды: cd /home/kvp/Загрузки/ wine winrar-x64-711.exe Шаг 4: Установка WinRAR (графический установщик) 1 Появится окно установщика WinRAR (рис.13). 24 Рис. 13. Окно установки через wine 2 Нажмите «Install», затем выберите нужные ассоциации файлов (.rar, .zip и т.д.). 3 После завершения нажмите «Done». Шаг 5: Запуск WinRAR после установки Установленные приложения обычно помещаются в ~/.wine/drive_c/Program Files/WinRAR. Запустить WinRAR (рис.14) можно через команду: wine ~/.wine/drive_c/Program\ Files/WinRAR/WinRAR .exe 25 Рис. 14. Запуск WinRAR из ALT Linux через wine Чтобы не вводить команду каждый раз, можно создать ярлык на рабочем столе или в меню приложений. • • • Советы Если окно не запускается, попробуйте установить недостающие библиотеки через winetricks. Файлы, открытые в WinRAR, можно перетаскивать в папки Linux напрямую. Чтобы ассоциировать .rar файлы с WinRAR, потребуется ручная настройка MIME-типов (необязательно). PortProton – это оболочка (frontend) для Wine/Proton, разработанная для упрощения установки и запуска Windows-программ (особенно игр) на дистрибутивах Linux, в первую очередь ALT Linux. Особенности: • Использует Wine и Proton внутри – PortProton сам по себе не является реализацией API, он управляет уже существующими компонентами (например, Proton GE, DXVK, vkd3d и др.). • Графический интерфейс – содержит GUI и скрипты для автоматизации установки и запуска. • Интеграция с Lutris, Steam, AppImage — может использовать Proton GE, Steam Runtime и другие источники совместимости. • Преднастройка – включает набор патчей, оптимальных параметров, предустановленных библиотек (например, .NET, Visual C++). 26 Упрощённая установка игр и приложений — можно установить игру в 1 клик, без ручной настройки wineprefix. Для установки PortProton выполните следующие шаги: 1. Установите PortProton через терминал: sudo apt-get install portproton 2. Скопируйте файл игры (например, game.exe) в папку PortProton: cp ~/Downloads/game.exe ~/PortProton/data/ 3. Запустите PortProton из меню или терминала (рис.15): Portproton • Рис. 15. Первый запуск portproton Обратите внимание, что первый запуск portproton из-за необходимости скачивания плагинов занимает достаточно продолжительное время. 4. В окне программы выберите Add game → выберите скопированный .exe файл. 5. Следуйте инструкциям инсталлятора игры внутри PortProton. 6. После установки игра появится в списке — для запуска выберите её и нажмите Запустить (рис.16). 27 Рис. 16. Запуск приложения через portproton 4 Управление терминалом Любая операционная система предоставляет своему пользователю (пользователям) возможность управлять своей работой. Поэтому язык управления ОС является обязательной частью интерфейса между пользователем и ВС. Существуют два основных типа таких языков. Первый тип языка управления ОС ориентирован на работу системы с неподготовленным пользователем и заключается в использовании меню: в любой момент времени пользователь видит на экране набор доступных команд, из которых он должен сделать выбор. Такой подход реализован в различных WINDOWS. В этих системах используется графическое меню: на экране представлены значки, соответствующие исполняемым файлам, файлам данных, а также каталогам (папкам). Пользователь сообщает о своем выборе в «меню», наведя курсор мыши, а затем нажав на ее клавишу. При выборе исполняемого файла (расширение имени файла – com, exe или bat) ОС запускает на выполнение соответствующую программу или программы (для bat-файла). Выбор файла данных означает, что на исполнение должна быть запущена системная утилита, выполняющая обработку данного файла. Выбор каталога приводит к выводу на экран меню, состоящего из файлов и подкаталогов этого каталога. Второй тип языков управления ОС – языки команд. Каждый такой язык ориентирован на подготовленного пользователя, знакомого с языком команд. Набрав на клавиатуре свою команду, пользователь нажимает клавишу <Enter>, сообщая тем самым системе, что она может приступать к выполнению команды. Такой подход используется в операционных системах MS-DOS и UNIX. Любой из подходов к организации пользовательского интерфейса предполагает, что обработку команд управления ОС выполняет ее модуль, называемый интерпретатором команд ОС (сокращенно ИК). Как и любой 28 интерпретатор, данная программа выполняет обработку поступающих на ее вход команд по одной, запуская на выполнение требуемую машинную программу или подпрограмму. Являясь для пользователя частью ОС, ИК рассматривается основной частью этой системы (ядром ОС) как обычная обрабатывающая программа. Следствием этого является то, что ИК размещается в отдельном исполняемом файле. Для MS-DOS это command.com, а в любой UNIX–системе существует несколько взаимозаменяемых ИК. Наиболее известные из них: Bourne shell - файл /bin/sh, C shell - /bin/csh, Korn shell - /bin/ksh, Bourne-Again shell - /bin/bash. Все эти ИК имеют общее название – shell. В качестве примера далее рассматривается язык команд для наиболее типичного shell - Bourne shell. После входа пользователя в систему и запуска первоначального shell (эти операции будут рассмотрены в п.4.1) на экран выводится приглашение ввести следующую команду. Часто в качестве такого приглашения используется символ “$”. В ответ пользователь набирает команду одного из следующих типов: 1) простая команда; 2) составная команда; 3) вызов подпрограммы на языке shell; 4) управляющий оператор; 5) командный файл. Пользователи-непрограммисты обычно ограничиваются первыми двумя типами команд, так как применение остальных типов команд фактически означает программирование на языке команд shell. Команда ls -al cd pwd grep chmod chown Пример Описание Показать список файлов с ls -al ~/Documents подробностями Перейти в указанный cd /var/log каталог Показать текущий pwd рабочий каталог grep «error» Поиск строк с «error» в /var/log/syslog файле журнала Сделать скрипт chmod u+x script.sh исполняемым для владельца sudo chown user:user Изменить владельца и file группу файла 29 Команда Пример systemctl systemctl status sshd top top htop htop df -h df -h free -h free -h apt update apt upgrade apt install apt remove pgrep kill tar curl wget nano vim ssh sudo apt update sudo apt upgrade Описание Проверить статус службы ssh Просмотр процессов в реальном времени Интерактивный мониторинг процессов (предварительно установить) Просмотр доступного и занятого места на дисках Показать объем свободной и занятой памяти Обновить индексы пакетов Обновить установленные пакеты sudo apt install vim Установить пакет vim sudo apt remove nano Удалить пакет nano Найти PID процесса по имени Принудительно kill -9 4412 завершить процесс по PID tar -xvf archive.tar.gz Распаковать архив содержимое curl https://example.com Получить URL wget https://example.com/file Скачать файл с URL Открыть файл в текстовом nano file.txt редакторе nano Открыть файл в текстовом vim file.txt редакторе vim Подключиться к ssh user@host удалённому серверу pgrep -f "nginx" 30 Команда scp echo history Пример Описание scp file.txt Копировать файл на user@host:/path удалённый сервер echo «Hello, world!» Вывести текст в терминал history Показать историю команд Примеры использования терминала # Переход в домашний каталог пользователя cd ~ # Просмотр скрытых файлов в каталоге ls -la # Поиск ошибки в логах grep "error" /var/log/syslog # Сделать скрипт исполняемым chmod +x ./myscript.sh # Установка редактора vim sudo apt install vim # Проверка состояния SSH сервиса systemctl status sshd # Убийство процесса nginx pgrep -f "nginx" kill -9 <PID> # Загрузка файла с сайта wget https://example.com/file.zip # Редактирование файла nano notes.txt 5 Задание на лабораторную работу Цель: Освоение базовых навыков работы в ОС ALT Linux: подключение к системе, навигация в графическом интерфейсе, установка ПО, мониторинг ресурсов. Этап 1: Подключение к ALT Linux через RDP 31 1. В среде ОС Windows, нажмите Win + R на клавиатуре 2. Введите mstsc → нажмите Enter 3. В поле «Компьютер» введите: kcup.tusur.ru:5557 (рис.17) Рис. 17. Скриншот окна подключения с введенным адресом 4. Нажмите «Подключить» 5. Примите предупреждение безопасности (галочка «Больше не выводить запрос на подключение к данному компьютеру») 6. В окне (рис.18) авторизации (уточнить у преподавателя): o Пользователь: Ваш логин o Пароль: Ваш пароль Рис. 18. Окно авторизации 32 Этап 2: Работа с системным интерфейсом 7. При блокировке сессии (если видите окно блокировки): • Введите административный пароль • Нажмите «Разблокировать» 8. Найдите системное меню (левый нижний угол): 9. Запустите терминал: o В поиске меню введите «терминал» o Выберите «Эмулятор терминала» - рис.19. Рис. 19. Скриншот терминала 10.Для присоединения по ssh к терминальному серверу x2 под пользователем 8k32iii введите команды согласно рис. 20. 33 Рис. 20. Подключение к x2 под пользователем 8k32iii 11.Введите в терминале (рис.21): whoam # Проверка имени пользователя pwd # Просмотр текущей директории Рис. 21. Скриншот вывода Этап 3: Мониторинг системных ресурсов 12.Откройте системный монитор: • Через поиск в меню: «Диспетчер задач» • Или через терминал: xfce4-taskmanager 13.Зафиксируйте показатели для процесса «Диспетчер задач»: • Загрузка ЦП (%) • Использование ОЗУ (ГБ) 14.Продемонстрируйте показатели преподавателю Этап 4: Установка ПО через Synaptic (по согласованию с преподавателем) 15.Откройте Synaptic: • Меню → Поиск «synaptic» → Запуск • Введите административный пароль при запросе 16.Установите пакет по выбору преподавателя (например, GIMP): • Нажмите «Искать» (лупа) • Введите «gimp» • ПКМ на пакете «gimp» → «Отметить для установки» 17. Подтвердите установку: • Кнопка «Применить» • Дождитесь завершения (прогресс-бар) 18. Проверьте установку – в меню найдите «GIMP Image Editor» 34 Этап 5: Установка стороннего ПО (по согласованию с преподавателем) 19. Откройте установщик сторонних приложений: • Меню → «Установка сторонних приложений» • Введите административный пароль 20. Найдите «МойОфис»: • Введите в поиск «myoffice» • Выберите «МойОфис Стандарт HD» 21. Нажмите «Установить» → Подтвердите. 22. Дождитесь сообщения «Установка завершена успешно» Этап 6: Демонстрация навыков (по согласованию с преподавателем) 23. Самостоятельно выполните (без инструкций): • Переподключение через RDP • Запуск терминала и выполнение: bash free -h # Просмотр памяти ls /usr # Список каталога • Установку пакета «htop» через Synaptic • Поиск и запуск установленного «МойОфис» Этап 7: Завершение работы 24.Сменить 5 клавиш используя п 3.2.2 скрипта. 25.Вернуть в начальное состояние значений клавиш. 26. Завершите сеанс: Системное меню → «Выйти» → «Завершить сеанс» 27. Закройте окно RDP-подключения Контрольные точки: 1. Скриншот окна Системного монитора с показателями ЦП/ОЗУ 2. Список установленных пакетов (терминал: dpkg -l | grep gimp) 3. Ярлык «МойОфис» в меню приложений 4. История команд в терминале (файл ~/.bash_history) Требования к отчету: 1. Титульный лист с названием работы и ФИО 2. Хронометраж выполнения этапов 3. Скриншоты ключевых шагов (3-5 изображений) 4. Ответы на контрольные вопросы: o Какая версия ядра ОС? (uname -r) o Какой объем свободной памяти после запуска? (free -h) o Сколько пакетов установлено в системе? (dpkg --list | wc -l) 35 6 Контрольные вопросы 1. В чем состоит отличие Linux от UNIX? 2. Назовите основные характеристики ядра Linux. 3. Что такое дистрибутив и из чего он состоит? 4. В чем преимущества ALT Linux как отечественного дистрибутива? 5. Назовите три популярных среды рабочего стола в Linux и их особенности. 6. Что такое X11 и какова его роль в графической системе? 7. Как запустить терминал в ALT Linux? 8. Что делает команда sudo apt update? 9. Как установить программу через Synaptic? 10.Как посмотреть информацию о системе? 11.Для чего используется команда uname -a? 12.Как завершить зависший процесс через системный монитор? 13.Что делает команда chmod +x script.sh? 14.Как подключиться к удаленному рабочему столу ALT Linux с Windows? 15.Какие компоненты входят в архитектуру GUI в Linux? 16.Что такое Wine и как он работает? 17.Как выполнить установку Windows-программы через Wine? 18.Что такое PortProton и для чего он используется? 19.Как использовать команду htop? 20.Как правильно выйти из сеанса ALT Linux? 7 Заключение Операционная система ALT Linux является одним из важнейших инструментов реализации политики цифрового суверенитета России и основой для подготовки квалифицированных специалистов в ИТ-сфере. Благодаря открытой архитектуре, поддержке отечественных решений и широкой функциональности, ALT Linux идеально подходит для образовательных целей. В ходе изучения материала методического пособия студенты: • ознакомились с историей и архитектурой Linux; • научились подключаться к удалённой системе через XRDP; • освоили графическую среду пользователя (на примере GNOME/KDE); • закрепили навыки работы с терминалом и базовыми командами bash; • выполнили установку программ через различные менеджеры (Synaptic, wine, PortProton); 36 получили представление о гибкости и возможностях Linux как современной операционной системы. Полученные знания и навыки являются базисом для дальнейшего изучения системного и сетевого администрирования, разработки программного обеспечения и эксплуатации информационных систем на базе Linux. • 8 Список использованных источников 1. Коцубинский, В. П. Операционные системы : учебное пособие / В. П. Коцубинский, А. А. Изюмов . – Томск : Национальный исследовательский Томский политехнический университет (ТПУ), Институт дистанционного образования (ИДО), 2014. – 180 с. 2. Робачевский, А. М. Операционная система UNIX : учебное пособие для вузов / А. М. Робачевский . – СПб : БХВ-Петербург, 2002. – 514 с. – ISBN 5820600304 Содержание 1 Введение .......................................................................................................................................... 3 2 Ядро операционной системы и графический интерфейс ...................................................... 4 Типы графических сред .............................................................................................................. 7 3 Основы работы в графической среде ALT Linux.................................................................... 9 3.1 Графическая среда XFCE ................................................................................................. 9 3.2 Основы работы в графической среде ALT Linux....................................................... 12 3.2.1 Информация о системе ................................................................................................... 12 3.2.1 Запуск диспетчера задач (Системного монитора) ........................................................ 12 3.2.2 Работа с эмулятором терминала .................................................................................... 14 3.2.3 Специальные символы редактирования и выдачи сигналов .............................. 16 3.2.4 Установка ПО ................................................................................................................ 19 4 Управление терминалом ....................................................................................................... 28 5 Задание на лабораторную работу ............................................................................................. 31 6 Контрольные вопросы ............................................................................................................... 36 7 Заключение ................................................................................................................................... 36 8 Список использованных источников ...................................................................................... 37 37 НА ПРАВАХ РУКОПИСИ ОСНОВЫ РАБОТЫ В ALT-LINUX Методические указания по выполнению лабораторных работ для студентов, обучающихся по направлению 09.03.04 Программная инженерия Составители КОЦУБИНСКИЙ Владислав Петрович ИЗЮМОВ Антон Алексеевич 38