This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
основы_администрирования_систем_linux [2020/08/19 08:31] val [Видео уроки] |
основы_администрирования_систем_linux [2025/03/24 17:41] (current) val [Лабораторные работы] |
||
---|---|---|---|
Line 3: | Line 3: | ||
* "UNIX в основном простая операционная система, но нужно быть гением, чтобы понять её простоту" (Денис Ритчи) | * "UNIX в основном простая операционная система, но нужно быть гением, чтобы понять её простоту" (Денис Ритчи) | ||
* "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий" (Козьма Прутков) | * "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий" (Козьма Прутков) | ||
+ | |||
+ | |||
+ | * https://global.gotomeeting.com/join/313682141 | ||
Line 73: | Line 76: | ||
* [[https://www.tutorialspoint.com/unix_terminal_online.php|Unix Terminal Online]] | * [[https://www.tutorialspoint.com/unix_terminal_online.php|Unix Terminal Online]] | ||
* [[http://www.freeemulator.com/online-terminal-emulator/|ONLINE TERMINAL EMULATOR]] | * [[http://www.freeemulator.com/online-terminal-emulator/|ONLINE TERMINAL EMULATOR]] | ||
- | * getty/login (демонстрирует преподаватель) | + | * getty/login (будем использовать после инсталляции новой системы) |
* putty, winscp (во 2-м модуле) | * putty, winscp (во 2-м модуле) | ||
* ssh из unix в unix (после развертывания собственной системы) | * ssh из unix в unix (после развертывания собственной системы) | ||
Line 115: | Line 118: | ||
* [[Генератор отчетов awk]] ([[https://youtu.be/4PkkMzB7fIM|Видео урок]]) | * [[Генератор отчетов awk]] ([[https://youtu.be/4PkkMzB7fIM|Видео урок]]) | ||
* [[Команда tar]] (выполнить работу в конце курса) | * [[Команда tar]] (выполнить работу в конце курса) | ||
+ | * Программа WinSCP | ||
* Команды scp, wget (в лабораторных работах следующего модуля) | * Команды scp, wget (в лабораторных работах следующего модуля) | ||
Line 171: | Line 175: | ||
* [[Видео уроки#Администрирование системы Linux]] | * [[Видео уроки#Администрирование системы Linux]] | ||
- | ==== Подготовка рабочей станции ==== | ||
- | <code> | ||
- | route -p add 172.16.1.0 mask 255.255.255.0 10.10.102.250 | ||
- | |||
- | ping 172.16.1.254 | ||
- | </code> | ||
===== Модуль 4. Выбор дистрибутива, установка и анализ системы ===== | ===== Модуль 4. Выбор дистрибутива, установка и анализ системы ===== | ||
Line 217: | Line 215: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 1.1 Загрузка актуального дистрибутива === | + | === 4.1 Загрузка актуального дистрибутива === |
Задание: выяснить какие бывают, способы загрузки и варианты установки дистрибутивов | Задание: выяснить какие бывают, способы загрузки и варианты установки дистрибутивов | ||
Line 225: | Line 223: | ||
* [[https://centos.org/|CentOS]] | * [[https://centos.org/|CentOS]] | ||
- | === 1.2 Установка системы === | + | === 4.2 Установка системы === |
Задание: | Задание: | ||
Line 237: | Line 235: | ||
Задание для преподавателя: | Задание для преподавателя: | ||
- | - установить CentOS | + | - установить CentOS (NetworkManager) |
- | - установить Ubuntu (netplan) | + | - установить Ubuntu (Netplan) |
Задание на дом: | Задание на дом: | ||
Line 244: | Line 242: | ||
* [[https://youtu.be/5Y67Q7um1WU|Видео урок: Корпоративный WebVPN на основе прокси-сервера Squid]] | * [[https://youtu.be/5Y67Q7um1WU|Видео урок: Корпоративный WebVPN на основе прокси-сервера Squid]] | ||
- | === 1.3 Анализ оборудования системы === | + | === 4.3 Анализ оборудования системы === |
Задание: найти информацию о процессоре, памяти, дисках и сетевых платах | Задание: найти информацию о процессоре, памяти, дисках и сетевых платах | ||
Line 250: | Line 248: | ||
* [[Анализ оборудования в Linux]] | * [[Анализ оборудования в Linux]] | ||
- | === 1.4 Анализ ядра, модулей и дистрибутива === | + | === 4.4 Анализ ядра, модулей и дистрибутива === |
Задания: | Задания: | ||
Line 261: | Line 259: | ||
* [[Выбор дистрибутива Linux]] | * [[Выбор дистрибутива Linux]] | ||
- | === 1.5 Анализ процессов в системе === | + | === 4.5 Анализ процессов в системе === |
Задание: выяснить, запущен ли сервис sshd | Задание: выяснить, запущен ли сервис sshd | ||
Line 268: | Line 266: | ||
* Команда [[Команды фильтры#grep]] | * Команда [[Команды фильтры#grep]] | ||
- | === 1.6 Управление загрузчиком системы === | + | === 4.6 Управление загрузчиком системы === |
Задание для преподавателя: | Задание для преподавателя: | ||
Line 276: | Line 274: | ||
* [[Использование загрузчика GRUB]] | * [[Использование загрузчика GRUB]] | ||
* [[Использование загрузчика LOADER]] | * [[Использование загрузчика LOADER]] | ||
+ | |||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 286: | Line 285: | ||
- Для чего служат переменные ядра? | - Для чего служат переменные ядра? | ||
- | ===== Модуль 2 (5). Настройка и тестирование сети ===== | + | ===== Модуль 5. Настройка и тестирование сети ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 293: | Line 292: | ||
* [[https://ru.wikipedia.org/wiki/Ethernet|Ethernet - Википедия]] | * [[https://ru.wikipedia.org/wiki/Ethernet|Ethernet - Википедия]] | ||
* [[https://ru.wikipedia.org/wiki/TCP/IP|TCP/IP - Википедия]] | * [[https://ru.wikipedia.org/wiki/TCP/IP|TCP/IP - Википедия]] | ||
+ | * [[https://netplan.io/|Netplan]] | ||
+ | * [[https://ru.wikipedia.org/wiki/NetworkManager|NetworkManager]] | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | См. /* | + | === 5.0 Настроить маршрут с рабочей станции в сеть стендов === |
- | === 2.0 Настроить маршрут с рабочей станции в сеть стендов === | + | |
+ | * !!! только, если не в комплексе Радио | ||
<code> | <code> | ||
- | C:\>route -p add 172.16.1.0 mask 255.255.255.0 10.N.M.252 | + | windows> route -p add 172.16.1.0 mask 255.255.255.0 10.10.102.250 |
+ | |||
+ | windows> ping 172.16.1.254 | ||
</code> | </code> | ||
- | */ примечание, если не в комплексе Радио | ||
- | === 2.1 Команды для настройки сети === | + | |
+ | === 5.1 Команды для настройки сети === | ||
Задание: | Задание: | ||
Line 312: | Line 317: | ||
* [[Настройка сети в Linux#Команды для настройки]] сети в Linux | * [[Настройка сети в Linux#Команды для настройки]] сети в Linux | ||
- | === 2.2 Команды для диагностики сети === | + | === 5.2 Команды для диагностики сети === |
Задание: используя настроенную сетевую подсистему ядра проверить ее функционирование и подключиться к системе по протоколу ssh | Задание: используя настроенную сетевую подсистему ядра проверить ее функционирование и подключиться к системе по протоколу ssh | ||
Line 318: | Line 323: | ||
* [[Настройка сети в Linux#Команды для диагностики]] сети в Linux | * [[Настройка сети в Linux#Команды для диагностики]] сети в Linux | ||
- | === 2.3 Файлы конфигурации сети === | + | === 5.3 Файлы конфигурации сети === |
Задание: отредактировать файлы конфигурации сети используя любой тестовый редактор, перезагрузить систему проверить работу сети после перезагрузки системы. | Задание: отредактировать файлы конфигурации сети используя любой тестовый редактор, перезагрузить систему проверить работу сети после перезагрузки системы. | ||
Line 329: | Line 334: | ||
* [[Настройка сети в Linux#Файлы конфигурации Ubuntu18]] | * [[Настройка сети в Linux#Файлы конфигурации Ubuntu18]] | ||
- | === 2.4 Дополнительные утилиты для тестирования сети === | + | === 5.4 Дополнительные утилиты для тестирования сети === |
Задание: посмотреть какой порт "слушает" сервис ssh | Задание: посмотреть какой порт "слушает" сервис ssh | ||
Line 352: | Line 357: | ||
- | ===== Модуль 3 (6). Система безопасности UNIX ===== | + | ===== Модуль 6. Система безопасности UNIX ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 363: | Line 368: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 3.1 Управление пользователями в системе === | + | === 6.1 Управление пользователями в системе === |
Задание: | Задание: | ||
Line 373: | Line 378: | ||
* [[Управление учетными записями в Linux]] | * [[Управление учетными записями в Linux]] | ||
- | === 3.2 Управление правами пользователей в системе === | + | === 6.2 Управление правами пользователей в системе === |
Задание: познакомиться с утилитами umask, chmod, chown | Задание: познакомиться с утилитами umask, chmod, chown | ||
Line 399: | Line 404: | ||
- Для чего предназначены команды su и sudo? | - Для чего предназначены команды su и sudo? | ||
- | ===== Модуль 4 (7). Управление ПО ===== | + | ===== Модуль 7. Управление ПО ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 428: | Line 433: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 4.1 Сборка и установка ПО из исходных текстов === | + | === 7.1 Сборка и установка ПО из исходных текстов === |
* [[Установка ПО из исходных текстов]] ([[https://youtu.be/oz3WCD-dDpc|Видео урок]]) | * [[Установка ПО из исходных текстов]] ([[https://youtu.be/oz3WCD-dDpc|Видео урок]]) | ||
Line 436: | Line 441: | ||
* [[Установка ПО из исходных текстов#Пример установки текстового браузера]] | * [[Установка ПО из исходных текстов#Пример установки текстового браузера]] | ||
- | === 4.4 Установка ПО из скомпилированных пакетов === | + | === 7.2 Установка ПО из скомпилированных пакетов === |
* [[https://eax.me/checkinstall/|Как создать бинарный пакет с помощью CheckInstall]] | * [[https://eax.me/checkinstall/|Как создать бинарный пакет с помощью CheckInstall]] | ||
Line 448: | Line 453: | ||
* Linux [[Управление ПО в Linux#Snap]] | * Linux [[Управление ПО в Linux#Snap]] | ||
- | === 4.5 Обновление ПО внутри релиза === | + | === 7.3 Обновление ПО внутри релиза === |
Задание: установить необходимые обновления в системе | Задание: установить необходимые обновления в системе | ||
Line 463: | Line 468: | ||
- Какие проблемы могут возникнуть при обновлении системы до следующего релиза? | - Какие проблемы могут возникнуть при обновлении системы до следующего релиза? | ||
- | ===== Модуль 5 (8). Управление сервисами ===== | + | ===== Модуль 8. Управление сервисами ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 478: | Line 483: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 5.1 Управление запуском сервисов === | + | === 8.1 Управление запуском сервисов === |
Задание: | Задание: | ||
Line 501: | Line 506: | ||
* Linux [[Управление сервисами в Linux#Система загрузки SysV]] | * Linux [[Управление сервисами в Linux#Система загрузки SysV]] | ||
- | * Linux [[Управление сервисами в Linux#Система загрузки OpenRC]] | ||
* Linux [[Управление сервисами в Linux#Система загрузки Systemd]] | * Linux [[Управление сервисами в Linux#Система загрузки Systemd]] | ||
* Linux [[Управление сервисами в Linux#Универсальный скрипт service]] | * Linux [[Управление сервисами в Linux#Универсальный скрипт service]] | ||
- | === 5.2 Регистрация действий сервисов === | + | === 8.2 Регистрация действий сервисов === |
Задание: | Задание: | ||
Line 531: | Line 535: | ||
- Что нужно сделать, что бы получать больше отладочной информации о работе сервиса? | - Что нужно сделать, что бы получать больше отладочной информации о работе сервиса? | ||
- | ===== Модуль 6 (9). Управление файловыми системами ===== | + | ===== Модуль 9. Управление файловыми системами ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 548: | Line 552: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 6.1 Анализ конфигурации дисковой подсистемы === | + | === 9.1 Анализ конфигурации дисковой подсистемы === |
Задание: | Задание: | ||
Line 556: | Line 560: | ||
* [[Управление файловыми системами в Linux]] | * [[Управление файловыми системами в Linux]] | ||
- | === 6.2 Подключение новых дисков к системе === | + | === 9.2 Подключение новых дисков к системе === |
Задание: | Задание: | ||
Line 586: | Line 590: | ||
- В каком файле конфигурации определяются монтируемые при загрузке файловые системы? | - В каком файле конфигурации определяются монтируемые при загрузке файловые системы? | ||
- | ===== Модуль 7 (10). Резервное копирование и восстановление ===== | + | ===== Модуль 10. Резервное копирование и восстановление ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 604: | Line 608: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 7.1 Знакомство с командой tar === | + | === 10.1 Знакомство с командой tar === |
* [[Команда tar]] | * [[Команда tar]] | ||
- | === 7.2 Создание архива на удаленной системе === | + | === 10.2 Создание архива на удаленной системе === |
Задание: предоставить пользователю userX возможность архивного копирования каталога /etc/ на backup сервер по протоколу ssh | Задание: предоставить пользователю userX возможность архивного копирования каталога /etc/ на backup сервер по протоколу ssh | ||
Line 615: | Line 619: | ||
* [[Команда tar]] | * [[Команда tar]] | ||
- | === 7.3 Периодическое выполнение задач архивирования === | + | === 10.3 Периодическое выполнение задач архивирования === |
Задание для преподавателя: написать сценарий для периодического копирования каталога /etc/ на backup сервер по протоколу ssh | Задание для преподавателя: написать сценарий для периодического копирования каталога /etc/ на backup сервер по протоколу ssh | ||
Line 633: | Line 637: | ||
- Как запрограммировать одноразовый запуск сценария в определенное время? | - Как запрограммировать одноразовый запуск сценария в определенное время? | ||
- | ===== Модуль 8 (11). Анализ производительности и оптимизация системы ===== | + | ===== Модуль 11. Анализ производительности и оптимизация системы ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 646: | Line 650: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 8.1 Анализ производительности системы === | + | === 11.1 Анализ производительности системы === |
* [[Пакет OpenSSL#Проверка производительности CPU]] в OpenSSL | * [[Пакет OpenSSL#Проверка производительности CPU]] в OpenSSL | ||
Line 656: | Line 660: | ||
</code> | </code> | ||
- | === 8.2 Стресс тестирование и выявление нагрузки на CPU === | + | === 11.2 Стресс тестирование и выявление нагрузки на CPU === |
* [[Утилита john]] | * [[Утилита john]] | ||
+ | * [[Пакет OpenSSL]] | ||
+ | |||
* [[Утилита ps]] | * [[Утилита ps]] | ||
* [[Процессы UNIX#top]] | * [[Процессы UNIX#top]] | ||
<code> | <code> | ||
- | $ stress -c 6 -t 60s | + | # apt install stress |
+ | |||
+ | $ stress -c 6 -t 600s | ||
$ top | $ top | ||
Line 674: | Line 682: | ||
</code> | </code> | ||
- | === 8.3 Стресс тестирование и выявление нагрузки на RAM === | + | === 11.3 Стресс тестирование и выявление нагрузки на RAM === |
<code> | <code> | ||
- | $ stress -m 2 --vm-bytes 256M -t 60s | + | $ cat /proc/meminfo |
+ | |||
+ | $ stress -m 2 --vm-bytes 256M -t 600s | ||
$ ps ax -o vsize,pid,user,command --sort vsize | $ ps ax -o vsize,pid,user,command --sort vsize | ||
</code> | </code> | ||
- | === 8.4 Стресс тестирование и выявление нагрузки на HDD === | + | === 11.4 Стресс тестирование и выявление нагрузки на HDD === |
+ | |||
+ | * [[https://www.kernel.org/doc/Documentation/block/stat.txt]] | ||
<code> | <code> | ||
+ | # cat /sys/block/sda/stat | ||
+ | |||
$ stress -d 2 --hdd-bytes 2GB | $ stress -d 2 --hdd-bytes 2GB | ||
Line 691: | Line 706: | ||
linux# iotop | linux# iotop | ||
- | linux# iostat | + | linux# apt install sysstat; iostat |
</code> | </code> | ||
- | === 8.5 Тестирование производительности и выявление нагрузки на сеть === | + | |
+ | === 11.5 Тестирование производительности и выявление нагрузки на сеть === | ||
* [[Утилита iPerf]] | * [[Утилита iPerf]] | ||
<code> | <code> | ||
+ | # cat /sys/class/net/eth0/statistics/[rt]x_bytes | ||
+ | |||
# trafshow -n | # trafshow -n | ||
+ | # tcptrack -i any -n | ||
linux# nethogs | linux# nethogs | ||
- | linux# ss -pan4 | grep 5001 | + | linux# ss -pantu | grep 5001 |
</code> | </code> | ||
- | === 8.6 Оптимизация производительности или ее тестирование на реальной задаче === | + | === 11.6 Управление ограничениями ОС === |
+ | |||
+ | * [[Управление сервисами в Linux#Настройка параметров запуска в Systemd]] | ||
+ | |||
+ | === 11.7 Оптимизация производительности или ее тестирование на реальной задаче === | ||
* [[https://youtu.be/dIqaW47WXf8|Видео урок: Установка Gentoo и сборка ПО из исходных текстов]] | * [[https://youtu.be/dIqaW47WXf8|Видео урок: Установка Gentoo и сборка ПО из исходных текстов]] | ||
Line 717: | Line 740: | ||
- Перечислите команды, позволяющие найти критический ресурс. | - Перечислите команды, позволяющие найти критический ресурс. | ||
- | ===== Модуль 9 (12). Использование Linux в качестве рабочей станции пользователя ===== | + | ===== Модуль 12. Использование Linux в качестве рабочей станции пользователя ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 729: | Line 752: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 9.1 Текстовый интерфейс === | + | === 12.1 Текстовый интерфейс === |
Задание: настроить текстовый интерфейс пользователя | Задание: настроить текстовый интерфейс пользователя | ||
- | |||
- | !!! RAM не менее 1Gb | ||
* [[Настройка командных интерпретаторов]] | * [[Настройка командных интерпретаторов]] | ||
Line 746: | Line 767: | ||
* [[Пакет screen]] ([[https://youtu.be/YXSC7KeIq3E|Видео урок]]) | * [[Пакет screen]] ([[https://youtu.be/YXSC7KeIq3E|Видео урок]]) | ||
- | === 9.2 Графический интерфейс пользователя === | + | === 12.2 Графический интерфейс пользователя === |
+ | |||
+ | !!! RAM не менее 1Gb | ||
Задание: настроить графический интерфейс пользователя | Задание: настроить графический интерфейс пользователя | ||
* [[Инсталяция системы в конфигурации Desktop]] (Установка X сервера, менеджера дисплеев, оконного менеджера и клиентских программ) | * [[Инсталяция системы в конфигурации Desktop]] (Установка X сервера, менеджера дисплеев, оконного менеджера и клиентских программ) | ||
+ | * [[Сервис CUPS]] | ||
* [[Воспроизведение звука]] | * [[Воспроизведение звука]] | ||
* [[Воспроизведение видео]] | * [[Воспроизведение видео]] | ||
Line 758: | Line 782: | ||
* [[Сервис SSH|SSH вместо XDM]] на примере xbill | * [[Сервис SSH|SSH вместо XDM]] на примере xbill | ||
* xorg, xorg.conf, startx, twm на примере doom | * xorg, xorg.conf, startx, twm на примере doom | ||
+ | * [[Сервис xRDP]] | ||
* [[Игровые возможности]] | * [[Игровые возможности]] | ||
Line 766: | Line 791: | ||
- Назовите основные компоненты системы XWindow | - Назовите основные компоненты системы XWindow | ||
- Что общего между getty, sshd и xdm? | - Что общего между getty, sshd и xdm? | ||
+ | |||
+ | ===== Итоговое тестирование ===== | ||
+ | |||
+ | * [[https://github.com/ostrovok-team/code-challenge/tree/master/devops|DevOps Engineer Challenge]] |