This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
основы_администрирования_систем_linux [2020/08/18 09:31] val |
основы_администрирования_систем_linux [2023/11/27 14:47] (current) val [Лабораторные работы] |
||
---|---|---|---|
Line 3: | Line 3: | ||
* "UNIX в основном простая операционная система, но нужно быть гением, чтобы понять её простоту" (Денис Ритчи) | * "UNIX в основном простая операционная система, но нужно быть гением, чтобы понять её простоту" (Денис Ритчи) | ||
* "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий" (Козьма Прутков) | * "Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий" (Козьма Прутков) | ||
+ | |||
+ | |||
+ | * https://global.gotomeeting.com/join/313682141 | ||
Line 44: | Line 47: | ||
* [[https://ru.wikipedia.org/wiki/POSIX|POSIX]] | * [[https://ru.wikipedia.org/wiki/POSIX|POSIX]] | ||
* [[https://ru.wikipedia.org/wiki/История_Linux|История Linux]] | * [[https://ru.wikipedia.org/wiki/История_Linux|История Linux]] | ||
- | * [[https://ru.wikipedia.org/wiki/FreeBSD|FreeBSD]] | ||
- | * [[https://ru.wikipedia.org/wiki/Plan_9|Plan 9]] | ||
* [[Организация системы UNIX]] | * [[Организация системы UNIX]] | ||
* [[https://youtu.be/jAhvVBpx3IM|Видео: Как пользователи использовали UNIX :)]] | * [[https://youtu.be/jAhvVBpx3IM|Видео: Как пользователи использовали UNIX :)]] | ||
Line 75: | 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 117: | Line 118: | ||
* [[Генератор отчетов awk]] ([[https://youtu.be/4PkkMzB7fIM|Видео урок]]) | * [[Генератор отчетов awk]] ([[https://youtu.be/4PkkMzB7fIM|Видео урок]]) | ||
* [[Команда tar]] (выполнить работу в конце курса) | * [[Команда tar]] (выполнить работу в конце курса) | ||
+ | * Программа WinSCP | ||
* Команды scp, wget (в лабораторных работах следующего модуля) | * Команды scp, wget (в лабораторных работах следующего модуля) | ||
+ | |||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 150: | Line 153: | ||
* [[Настройка командных интерпретаторов]] (управление приглашением ко вводу PS1) | * [[Настройка командных интерпретаторов]] (управление приглашением ко вводу PS1) | ||
* [[Коды завершения]] | * [[Коды завершения]] | ||
- | * Развертывание виртуальной машины в VirtualBox | + | * [[Сигналы]] |
- | * Лабораторная работа [[Использование Asterisk в офисной телефонии#2.1 Установка системы server]] из курса по Asterisk | + | * Управление заданиями bg, fg, jobs (демонстрирует преподаватель) |
- | * [[Пакет screen]] | + | |
- | * [[Управление ПО в Linux]], [[Сервис Asterisk#Установка]] сервиса Asterisk | + | |
- | * [[Сигналы]], [[Управление сервисами в Linux]], [[Сервис Asterisk#Настройка базового функционала IP PBX]] | + | |
- | <code> | + | |
- | # asterisk -x 'sip show users' | + | |
- | # ps ax | grep asterisk | ||
- | |||
- | # kill -s HUP НОМЕР_ПРОЦЕССА | ||
- | |||
- | # kill -s HUP `cat /var/run/asterisk/asterisk.pid` | ||
- | </code> | ||
- | |||
- | * Управление заданиями bg, fg, jobs (демонстрирует преподаватель) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 179: | Line 169: | ||
- Как обрабатываются сигналы "HUP", "INT", "TERM", "KILL", "TSTP" процессами? | - Как обрабатываются сигналы "HUP", "INT", "TERM", "KILL", "TSTP" процессами? | ||
- | ===== Модуль 4. Система безопасности и права доступа ===== | + | ===== Часть 2. Администрирование системы Linux ===== |
- | ==== Теория ==== | + | ==== Видео уроки ==== |
- | * [[https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C|Компьютерная безопасность - Википедия]] | + | * [[Видео уроки#Администрирование системы Linux]] |
- | * [[https://ru.wikipedia.org/wiki/%D0%A3%D1%87%D1%91%D1%82%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C|Учётная запись - Википедия]] | + | |
- | * [[Система безопасности UNIX#Управление маской доступа]] | + | |
- | * [[http://help.ubuntu.ru/wiki/%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B0%D0%B2%D0%B0_unix|Права доступа Unix, SUID, SGID, Sticky биты]] | + | |
- | + | ||
- | ==== Лабораторные работы ==== | + | |
- | + | ||
- | * [[Система безопасности UNIX]] | + | |
- | + | ||
- | === Управление атрибутами доступа к файлам === | + | |
- | + | ||
- | Задание: исправить владельца файла конфигурации sip.conf | + | |
- | + | ||
- | <code> | + | |
- | # ps axu | grep asterisk | + | |
- | + | ||
- | # ls -l /etc/asterisk/sip.conf | + | |
- | + | ||
- | # cp /etc/asterisk/sip.conf . | + | |
- | + | ||
- | # ls -l sip.conf | + | |
- | + | ||
- | # rm /etc/asterisk/sip.conf | + | |
- | + | ||
- | # cp sip.conf /etc/asterisk/ | + | |
- | + | ||
- | # service asterisk restart | + | |
- | + | ||
- | # asterisk -x 'sip show users' | + | |
- | + | ||
- | # chown asterisk:asterisk /etc/asterisk/sip.conf | + | |
- | или | + | |
- | # chmod +r /etc/asterisk/sip.conf | + | |
- | + | ||
- | # service asterisk restart | + | |
- | + | ||
- | # asterisk -x 'sip show users' | + | |
- | </code> | + | |
- | + | ||
- | ==== Вопросы ==== | + | |
- | + | ||
- | - Что обозначают ключ "u" в команде ps? | + | |
- | - Для чего предназначены команды chmod, chown? | + | |
- | - Что определяет маска 640 или <code>-rw-r-----</code> для файла? | + | |
- | - Что обозначает бит "x" для файла и каталога | + | |
- | - Что обозначает значение атрибута EUID=0 для процесса? | + | |
- | + | ||
- | ===== Модуль 5. Программирование на shell ===== | + | |
- | + | ||
- | ==== Теория ==== | + | |
- | + | ||
- | * [[https://ru.wikipedia.org/wiki/Bourne_shell|Bourne shell из Википедии]] | + | |
- | + | ||
- | ==== Лабораторные работы ==== | + | |
- | + | ||
- | * [[https://youtu.be/GxVmukxVUo0|Видео урок]] | + | |
- | * [[Переменные окружения#Присваивание значений переменным окружения в shell]] | + | |
- | * [[Средства программирования shell]] | + | |
- | * [[Сервис Asterisk#Конференц связь]] | + | |
- | * [[Планирование выполнения заданий в Linux#Сервис cron]] | + | |
- | + | ||
- | ==== Вопросы ==== | + | |
- | + | ||
- | - Объясните, результаты выражений: <code>a=1;a=a+1;echo $a | + | |
- | a=1;a=$a+1;echo $a | + | |
- | a=1;a='$a+1';echo $a | + | |
- | a=1;a=$(($a+1));echo $a | + | |
- | a=Hello;a=$a World;echo $a | + | |
- | a=Hello;a=$a\ World;echo $a | + | |
- | a=Hello;a='$a World';echo $a | + | |
- | a=Hello;a="$a World";echo $a | + | |
- | a=/bin;a="ls $a | wc -l";echo $a | + | |
- | a=/bin;a='ls $a | wc -l';echo $a | + | |
- | a=/bin;a=`ls $a | wc -l`;echo $a | + | |
- | a=/bin;a=$(ls $a | wc -l);echo $a</code> | + | |
- | - Что определяет комбинация "#!" в начале файла? | + | |
- | - Что содержит значение переменных $0, $1, $! | + | |
- | - Объясните результат выражения: <code>echo '#!/bin/ls' > ex1; chmod +x ex1; ./ex1</code> | + | |
- | - В чем разница и что общего при запуске скрипта следующими способами: <code>./script.sh | + | |
- | . script.sh | + | |
- | sh script.sh</code> | + | |
- | - Объясните элементы выражения <code>while :;do</code> | + | |
- | - Что обозначают операторы continue, break, exit в sh программах? | + | |
- | - Чем завершаются операторы if, case, do в sh программах? | + | |
- | - Какой оператор поможет запретить прекращение выполнения скрипта комбинацией клавиш "Ctrl C"? | + | |
- | - Какой оператор поможет получить ввод пользователя в sh программе? | + | |
- | - Объясните элементы выражений <code>while [ $i -lt 254 ] | + | |
- | while test $i -lt 254</code> | + | |
- | - Чем оперирует цикл for в sh программах? | + | |
- | - Какой оператор позволяет открывать файлы в sh программах? | + | |
- | - Какой оператор необходим для написания на sh искусственного интеллекта? | + | |
- | ===== Модуль 6. Дополнительные лабораторные работы ===== | + | |
- | + | ||
- | * [[Сервис SSH#Аутентификация с использованием ключей ssh]] | + | |
- | * [[Пакет screen]] ([[https://youtu.be/YXSC7KeIq3E|Видео урок]]) | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== Программа курса ===== | + | |
- | + | ||
- | * [[http://www.specialist.ru/course/yun1-b|Linux (CentOS/Debian). Уровень 1. Основы администрирования и безопасности]] | + | |
- | * [[http://www.specialist.ru/course/fbsd1-b|FreeBSD. Уровень 1. Основы администрирования и безопасности]] | + | |
- | ===== Модуль 0. Подготовка стенда в классе. ===== | + | |
- | + | ||
- | * Узнать свой номер стенда | + | |
- | * Удалить виртуалки | + | |
- | * Удалить профили putty | + | |
- | * Отключить не используемые адаптеры | + | |
- | * Записать логин пароль и IP (сообщить преподавателю) рабочей станции | + | |
- | * Проверить наличие дистрибутивов и образов | + | |
- | ===== Модуль 1 (4). Выбор дистрибутива, установка и анализ системы ===== | + | ===== Модуль 4. Выбор дистрибутива, установка и анализ системы ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 313: | Line 194: | ||
* [[https://ru.wikipedia.org/wiki/CentOS|CentOS - Википедия]] | * [[https://ru.wikipedia.org/wiki/CentOS|CentOS - Википедия]] | ||
* [[https://ru.wikipedia.org/wiki/Ubuntu|Ubuntu - Википедия]] | * [[https://ru.wikipedia.org/wiki/Ubuntu|Ubuntu - Википедия]] | ||
- | |||
- | * [[https://ru.wikipedia.org/wiki/Gentoo_Linux|Gentoo Linux - Википедия]] | ||
- | |||
- | * [[https://ru.wikipedia.org/wiki/FreeBSD|FreeBSD - Википедия]] | ||
=== Оборудование === | === Оборудование === | ||
Line 330: | Line 207: | ||
* [[https://ru.wikipedia.org/wiki/%D0%94%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80|Драйвер - Википедия]] | * [[https://ru.wikipedia.org/wiki/%D0%94%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80|Драйвер - Википедия]] | ||
* [[https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_Linux|Процесс загрузки Linux - Википедия]] | * [[https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8_Linux|Процесс загрузки Linux - Википедия]] | ||
- | * [[http://www.freebsd.org/doc/ru/books/handbook/boot.html|Процесс загрузки FreeBSD - Handbook]] | ||
=== Прикладное ПО === | === Прикладное ПО === | ||
Line 339: | Line 215: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 1.1 Загрузка актуального дистрибутива === | + | === 4.1 Загрузка актуального дистрибутива === |
Задание: выяснить какие бывают, способы загрузки и варианты установки дистрибутивов | Задание: выяснить какие бывают, способы загрузки и варианты установки дистрибутивов | ||
- | * [[https://www.centos.org/|CentOS]] | + | * [[https://debian.org/|Debian]] |
- | * [[https://www.debian.org/index.ru.html|Debian]] | + | * [[https://ubuntu.com/|Ubuntu]] |
- | * [[https://www.gentoo.org/|Gentoo]] | + | * [[https://centos.org/|CentOS]] |
- | * [[https://www.freebsd.org/|FreeBSD]] | + | |
- | === 1.2 Установка системы === | + | === 4.2 Установка системы === |
Задание: | Задание: | ||
Line 357: | Line 232: | ||
* [[Инсталляция системы Linux]] | * [[Инсталляция системы Linux]] | ||
- | * [[Инсталляция системы FreeBSD]] | ||
Задание для преподавателя: | Задание для преподавателя: | ||
- | - установить CentOS | + | - установить CentOS (NetworkManager) |
- | - установить Ubuntu18 (netplan) | + | - установить Ubuntu (Netplan) |
Задание на дом: | Задание на дом: | ||
Line 368: | Line 242: | ||
* [[https://youtu.be/5Y67Q7um1WU|Видео урок: Корпоративный WebVPN на основе прокси-сервера Squid]] | * [[https://youtu.be/5Y67Q7um1WU|Видео урок: Корпоративный WebVPN на основе прокси-сервера Squid]] | ||
- | === 1.3 Анализ оборудования системы === | + | === 4.3 Анализ оборудования системы === |
Задание: найти информацию о процессоре, памяти, дисках и сетевых платах | Задание: найти информацию о процессоре, памяти, дисках и сетевых платах | ||
* [[Анализ оборудования в Linux]] | * [[Анализ оборудования в Linux]] | ||
- | * [[Анализ оборудования в FreeBSD]] | ||
- | === 1.4 Анализ ядра, модулей и дистрибутива === | + | === 4.4 Анализ ядра, модулей и дистрибутива === |
Задания: | Задания: | ||
Line 382: | Line 255: | ||
- выяснить, какие модули ядра загружены (например, для оборудования) | - выяснить, какие модули ядра загружены (например, для оборудования) | ||
- выяснить дистрибутив (для linux) | - выяснить дистрибутив (для linux) | ||
- | |||
- | |||
* [[Управление ядром и модулями в Linux]] | * [[Управление ядром и модулями в Linux]] | ||
- | * [[Управление ядром и модулями в FreeBSD]] | ||
* [[Выбор дистрибутива Linux]] | * [[Выбор дистрибутива Linux]] | ||
- | === 1.5 Анализ процессов в системе === | + | === 4.5 Анализ процессов в системе === |
Задание: выяснить, запущен ли сервис sshd | Задание: выяснить, запущен ли сервис sshd | ||
Line 396: | Line 266: | ||
* Команда [[Команды фильтры#grep]] | * Команда [[Команды фильтры#grep]] | ||
- | === 1.6 Управление загрузчиком системы === | + | === 4.6 Управление загрузчиком системы === |
Задание для преподавателя: | Задание для преподавателя: | ||
Line 404: | Line 274: | ||
* [[Использование загрузчика GRUB]] | * [[Использование загрузчика GRUB]] | ||
* [[Использование загрузчика LOADER]] | * [[Использование загрузчика LOADER]] | ||
+ | |||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 414: | Line 285: | ||
- Для чего служат переменные ядра? | - Для чего служат переменные ядра? | ||
- | ===== Модуль 2 (5). Настройка и тестирование сети ===== | + | ===== Модуль 5. Настройка и тестирование сети ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 421: | 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 439: | Line 316: | ||
* [[Настройка сети в Linux#Команды для настройки]] сети в Linux | * [[Настройка сети в Linux#Команды для настройки]] сети в Linux | ||
- | * [[Настройка сети в FreeBSD#Команды для настройки]] сети в FreeBSD | ||
- | === 2.2 Команды для диагностики сети === | + | === 5.2 Команды для диагностики сети === |
Задание: используя настроенную сетевую подсистему ядра проверить ее функционирование и подключиться к системе по протоколу ssh | Задание: используя настроенную сетевую подсистему ядра проверить ее функционирование и подключиться к системе по протоколу ssh | ||
* [[Настройка сети в Linux#Команды для диагностики]] сети в Linux | * [[Настройка сети в Linux#Команды для диагностики]] сети в Linux | ||
- | * [[Настройка сети в FreeBSD#Команды для диагностики]] сети в FreeBSD | ||
- | === 2.3 Файлы конфигурации сети === | + | === 5.3 Файлы конфигурации сети === |
Задание: отредактировать файлы конфигурации сети используя любой тестовый редактор, перезагрузить систему проверить работу сети после перезагрузки системы. | Задание: отредактировать файлы конфигурации сети используя любой тестовый редактор, перезагрузить систему проверить работу сети после перезагрузки системы. | ||
Line 458: | Line 333: | ||
* [[Настройка сети в Linux#Файлы конфигурации CentOS/SL/RHEL]] | * [[Настройка сети в Linux#Файлы конфигурации CentOS/SL/RHEL]] | ||
* [[Настройка сети в Linux#Файлы конфигурации Ubuntu18]] | * [[Настройка сети в Linux#Файлы конфигурации Ubuntu18]] | ||
- | * [[Настройка сети в Linux#Файлы конфигурации Gentoo]] | ||
- | * [[Настройка сети в FreeBSD#Файлы конфигурации]] сети в FreeBSD | ||
- | === 2.4 Дополнительные утилиты для тестирования сети === | + | === 5.4 Дополнительные утилиты для тестирования сети === |
Задание: посмотреть какой порт "слушает" сервис ssh | Задание: посмотреть какой порт "слушает" сервис ssh | ||
Line 484: | Line 357: | ||
- | ===== Модуль 3 (6). Система безопасности UNIX ===== | + | ===== Модуль 6. Система безопасности UNIX ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 495: | Line 368: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 3.1 Управление пользователями в системе === | + | === 6.1 Управление пользователями в системе === |
Задание: | Задание: | ||
Line 504: | Line 377: | ||
* [[Управление учетными записями в Linux]] | * [[Управление учетными записями в Linux]] | ||
- | * [[Управление учетными записями в FreeBSD]] | ||
- | === 3.2 Управление правами пользователей в системе === | + | === 6.2 Управление правами пользователей в системе === |
Задание: познакомиться с утилитами umask, chmod, chown | Задание: познакомиться с утилитами umask, chmod, chown | ||
Line 515: | Line 387: | ||
* [[Управление учетными записями в Linux]] | * [[Управление учетными записями в Linux]] | ||
- | * [[Управление учетными записями в FreeBSD]] | ||
* Команда su (gentoo wheel) | * Команда su (gentoo wheel) | ||
* [[Пакет sudo]] | * [[Пакет sudo]] | ||
Line 533: | Line 404: | ||
- Для чего предназначены команды su и sudo? | - Для чего предназначены команды su и sudo? | ||
- | ===== Модуль 4 (7). Управление ПО ===== | + | ===== Модуль 7. Управление ПО ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 544: | Line 415: | ||
* [[https://ru.wikipedia.org/wiki/Portage|Cистема управления портами в Gentoo Linux - Википедия]] | * [[https://ru.wikipedia.org/wiki/Portage|Cистема управления портами в Gentoo Linux - Википедия]] | ||
- | * [[https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%80%D1%82%D1%8B_FreeBSD|Cистема управления портами в FreeBSD - Википедия]] | ||
* [[https://ru.wikipedia.org/wiki/Dpkg|Cистема управления пакетами в Debian - Википедия]] | * [[https://ru.wikipedia.org/wiki/Dpkg|Cистема управления пакетами в Debian - Википедия]] | ||
Line 558: | Line 428: | ||
* [[http://www.ubuntu.com/usn/|Ubuntu security notices]] | * [[http://www.ubuntu.com/usn/|Ubuntu security notices]] | ||
* [[http://www.ubuntu.com/info/release-end-of-life|Ubuntu release end of life]] | * [[http://www.ubuntu.com/info/release-end-of-life|Ubuntu release end of life]] | ||
- | |||
- | * [[https://www.freebsd.org/ru/security/advisories.html|Бюллетени безопасности FreeBSD]] | ||
- | * [[https://www.freebsd.org/security/|FreeBSD Security Information]] | ||
* [[http://www.asterisk.org/downloads/security-advisories|Asterisk Security Advisories]] | * [[http://www.asterisk.org/downloads/security-advisories|Asterisk Security Advisories]] | ||
Line 566: | Line 433: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 4.1 Сборка и установка ПО из исходных текстов === | + | === 7.1 Сборка и установка ПО из исходных текстов === |
* [[Установка ПО из исходных текстов]] ([[https://youtu.be/oz3WCD-dDpc|Видео урок]]) | * [[Установка ПО из исходных текстов]] ([[https://youtu.be/oz3WCD-dDpc|Видео урок]]) | ||
Line 574: | Line 441: | ||
* [[Установка ПО из исходных текстов#Пример установки текстового браузера]] | * [[Установка ПО из исходных текстов#Пример установки текстового браузера]] | ||
- | === 4.2 Базовое ПО классических UNIX систем === | + | === 7.2 Установка ПО из скомпилированных пакетов === |
- | + | ||
- | * [[Управление базовым ПО в FreeBSD]] (теоретический материал) | + | |
- | + | ||
- | === 4.3 Сборка и установка ПО из портов === | + | |
- | + | ||
- | Для FreeBSD /* | + | |
- | Задание для преподавателя: установить сервис asterisk с минимальным количеством опций | + | |
- | + | ||
- | * 1. Установить "чистый" экземпляр FreeBSD **предыдущего релиза** и дерево портов из дистрибутива | + | |
- | * 2. Установить переменные окружения BATCH (или все зависимости) и DISABLE_VULNERABILITIES (если потребуется) | + | |
- | * 3. Установить /usr/ports/net/asterisk11 из портов с опциями GCC NCURSES GSM | + | |
- | */ см. примечание | + | |
- | + | ||
- | * [[Управление дополнительным ПО в FreeBSD#Установка ПО из портов]] | + | |
- | * Установка ПО из [[Управление ПО в Linux#Portage]] | + | |
- | + | ||
- | + | ||
- | === 4.4 Установка ПО из скомпилированных пакетов === | + | |
* [[https://eax.me/checkinstall/|Как создать бинарный пакет с помощью CheckInstall]] | * [[https://eax.me/checkinstall/|Как создать бинарный пакет с помощью CheckInstall]] | ||
- | |||
- | Задание: преподавателю - текстовый браузер lynx, студентам sudo | ||
- | |||
- | * FreeBSD [[Управление дополнительным ПО в FreeBSD#Использование команды pkg]] | ||
* Linux [[Управление ПО в Linux#Использование команды dpkg]] | * Linux [[Управление ПО в Linux#Использование команды dpkg]] | ||
Line 608: | Line 453: | ||
* Linux [[Управление ПО в Linux#Snap]] | * Linux [[Управление ПО в Linux#Snap]] | ||
- | === 4.5 Обновление ПО внутри релиза === | + | === 7.3 Обновление ПО внутри релиза === |
Задание: установить необходимые обновления в системе | Задание: установить необходимые обновления в системе | ||
Line 614: | Line 459: | ||
* [[Управление ПО в Linux#Использование менеджера пакетов APT]] | * [[Управление ПО в Linux#Использование менеджера пакетов APT]] | ||
* [[Управление ПО в Linux#Использование менеджера пакетов YUM]] | * [[Управление ПО в Linux#Использование менеджера пакетов YUM]] | ||
- | * [[Обновление системы и базового ПО в FreeBSD]] (с использованием **freebsd-update**) | ||
- | * [[Обновление дополнительного ПО в FreeBSD]] (с использованием **pkg** и **вручную/portmaster/portupgrade**) | ||
- | |||
- | === 4.6 Обновление системы до актуального релиза === | ||
- | * [[https://youtu.be/ZDSITYL0aVE|Видеоурок "Обновление FreeBSD до актуального релиза"]] | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
- Какие недостатки установки ПО "вручную" из исходных текстов? | - Какие недостатки установки ПО "вручную" из исходных текстов? | ||
- | - Какие достоинства и недостатки установки ПО из Gentoo portage или FreeBSD ports? | + | - Какие команды используются для установки пакетов в Debian и CentOS? |
- | - Какие команды используются для установки пакетов в Debian, CentOS и FreeBSD? | + | - Какие команды используются для работы с репозиториями ПО Debian и CentOS? |
- | - Какие команды используются для работы с репозиториями ПО Debian, CentOS и FreeBSD? | + | |
- В чем опасность использования сторонних репозиториев с ПО? | - В чем опасность использования сторонних репозиториев с ПО? | ||
- Какие проблемы могут возникнуть при обновлении системы до следующего релиза? | - Какие проблемы могут возникнуть при обновлении системы до следующего релиза? | ||
- | ===== Модуль 5 (8). Управление сервисами ===== | + | ===== Модуль 8. Управление сервисами ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 638: | Line 477: | ||
* [[https://wiki.gentoo.org/wiki/OpenRC|OpenRC - Gentoo Wiki]] | * [[https://wiki.gentoo.org/wiki/OpenRC|OpenRC - Gentoo Wiki]] | ||
* [[https://ru.wikipedia.org/wiki/Systemd|Systemd - Википедия]] | * [[https://ru.wikipedia.org/wiki/Systemd|Systemd - Википедия]] | ||
- | * [[http://www.freebsd.org/doc/ru/books/handbook/boot-init.html|Инициализация управления процессами FreeBSD - Handbook]] | ||
=== Управление сообщениями сервисов === | === Управление сообщениями сервисов === | ||
Line 645: | Line 483: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 5.1 Управление запуском сервисов === | + | === 8.1 Управление запуском сервисов === |
Задание: | Задание: | ||
Line 662: | Line 500: | ||
</code> | </code> | ||
- | * Linux FreeBSD [[Управление сервисами в Linux#Система загрузки rc.local]] | + | * Linux [[Управление сервисами в Linux#Система загрузки rc.local]] |
* [[https://youtu.be/GxVmukxVUo0|Видео урок: Программирование на sh]] | * [[https://youtu.be/GxVmukxVUo0|Видео урок: Программирование на sh]] | ||
Line 668: | Line 506: | ||
* Linux [[Управление сервисами в Linux#Система загрузки SysV]] | * Linux [[Управление сервисами в Linux#Система загрузки SysV]] | ||
- | * Linux [[Управление сервисами в Linux#Система загрузки OpenRC]] | ||
* Linux [[Управление сервисами в Linux#Система загрузки Systemd]] | * Linux [[Управление сервисами в Linux#Система загрузки Systemd]] | ||
* Linux [[Управление сервисами в Linux#Универсальный скрипт service]] | * Linux [[Управление сервисами в Linux#Универсальный скрипт service]] | ||
- | * FreeBSD [[Управление сервисами в FreeBSD#Система загрузки rc.NG]] | + | === 8.2 Регистрация действий сервисов === |
- | + | ||
- | === 5.2 Регистрация действий сервисов === | + | |
Задание: | Задание: | ||
Line 683: | Line 518: | ||
* [[Локализация системы|Локализация временной зоны]] | * [[Локализация системы|Локализация временной зоны]] | ||
* [[Сервис NTP|Установка даты и времени]] | * [[Сервис NTP|Установка даты и времени]] | ||
- | * [[Регистрация событий в FreeBSD]] | ||
* [[Регистрация событий в Linux]] | * [[Регистрация событий в Linux]] | ||
Line 701: | Line 535: | ||
- Что нужно сделать, что бы получать больше отладочной информации о работе сервиса? | - Что нужно сделать, что бы получать больше отладочной информации о работе сервиса? | ||
- | ===== Модуль 6 (9). Управление файловыми системами ===== | + | ===== Модуль 9. Управление файловыми системами ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 718: | Line 552: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 6.1 Анализ конфигурации дисковой подсистемы === | + | === 9.1 Анализ конфигурации дисковой подсистемы === |
Задание: | Задание: | ||
Line 725: | Line 559: | ||
* [[Управление файловыми системами в Linux]] | * [[Управление файловыми системами в Linux]] | ||
- | * [[Управление файловыми системами в FreeBSD]] | ||
- | === 6.2 Подключение новых дисков к системе === | + | === 9.2 Подключение новых дисков к системе === |
Задание: | Задание: | ||
Line 735: | Line 568: | ||
* [[Управление файловыми системами в Linux#Добавление дисков в Linux]] | * [[Управление файловыми системами в Linux#Добавление дисков в Linux]] | ||
- | * [[Управление файловыми системами в FreeBSD#Добавление дисков в FreeBSD]] | ||
Задание для преподавателя: | Задание для преподавателя: | ||
Line 744: | Line 576: | ||
- Продемонстрировать использование UUID дисков | - Продемонстрировать использование UUID дисков | ||
- В Linux LVM расширить логический том корневого раздела за счет нового диска | - В Linux LVM расширить логический том корневого раздела за счет нового диска | ||
- | - В FreeBSD ZFS добавить раздел RAID1 | ||
* [[Управление файловыми системами в Linux#Использование LVM]] | * [[Управление файловыми системами в Linux#Использование LVM]] | ||
- | * [[Управление файловыми системами в FreeBSD#Использование ZFS]] ([[https://youtu.be/O4IHUvCwH-g|Видеоурок]]) | ||
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 760: | Line 590: | ||
- В каком файле конфигурации определяются монтируемые при загрузке файловые системы? | - В каком файле конфигурации определяются монтируемые при загрузке файловые системы? | ||
- | ===== Модуль 7 (10). Резервное копирование и восстановление ===== | + | ===== Модуль 10. Резервное копирование и восстановление ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 778: | Line 608: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 7.1 Знакомство с командой tar === | + | === 10.1 Знакомство с командой tar === |
* [[Команда tar]] | * [[Команда tar]] | ||
- | === 7.2 Создание архива на удаленной системе === | + | === 10.2 Создание архива на удаленной системе === |
Задание: предоставить пользователю userX возможность архивного копирования каталога /etc/ на backup сервер по протоколу ssh | Задание: предоставить пользователю userX возможность архивного копирования каталога /etc/ на backup сервер по протоколу ssh | ||
Line 789: | Line 619: | ||
* [[Команда tar]] | * [[Команда tar]] | ||
- | === 7.3 Периодическое выполнение задач архивирования === | + | === 10.3 Периодическое выполнение задач архивирования === |
Задание для преподавателя: написать сценарий для периодического копирования каталога /etc/ на backup сервер по протоколу ssh | Задание для преподавателя: написать сценарий для периодического копирования каталога /etc/ на backup сервер по протоколу ssh | ||
Line 797: | Line 627: | ||
* Команда tar [[Команда tar#Сценарий архивирования каталогов с использованием ssh]] | * Команда tar [[Команда tar#Сценарий архивирования каталогов с использованием ssh]] | ||
* [[Сервис SSH#Аутентификация с использованием ключей ssh]] | * [[Сервис SSH#Аутентификация с использованием ключей ssh]] | ||
- | * [[Планирование выполнения заданий в FreeBSD]] | ||
* [[Планирование выполнения заданий в Linux]] | * [[Планирование выполнения заданий в Linux]] | ||
* [[Сервис atrun]] | * [[Сервис atrun]] | ||
Line 808: | Line 637: | ||
- Как запрограммировать одноразовый запуск сценария в определенное время? | - Как запрограммировать одноразовый запуск сценария в определенное время? | ||
- | ===== Модуль 8 (11). Анализ производительности и оптимизация системы ===== | + | ===== Модуль 11. Анализ производительности и оптимизация системы ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 817: | Line 646: | ||
* [[https://medium.com/@chrishantha/linux-performance-observability-tools-19ae2328f87f|Linux Performance Observability Tools]] | * [[https://medium.com/@chrishantha/linux-performance-observability-tools-19ae2328f87f|Linux Performance Observability Tools]] | ||
- | * [[https://www.freebsd.org/doc/ru/books/handbook/kernelconfig-custom-kernel.html|Зачем собирать собственное ядро?]] | ||
* [[https://help.ubuntu.com/community/Kernel/Compile|Ubuntu Kernel/Compile]] | * [[https://help.ubuntu.com/community/Kernel/Compile|Ubuntu Kernel/Compile]] | ||
* [[https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel|BuildYourOwnKernel Ubuntu Wiki]] | * [[https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel|BuildYourOwnKernel Ubuntu Wiki]] | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 8.1 Анализ производительности системы === | + | === 11.1 Анализ производительности системы === |
* [[Пакет OpenSSL#Проверка производительности CPU]] в OpenSSL | * [[Пакет OpenSSL#Проверка производительности CPU]] в OpenSSL | ||
Line 832: | Line 660: | ||
</code> | </code> | ||
- | === 8.2 Стресс тестирование и выявление нагрузки на CPU === | + | === 11.2 Стресс тестирование и выявление нагрузки на CPU === |
* [[Утилита john]] | * [[Утилита john]] | ||
Line 850: | Line 678: | ||
</code> | </code> | ||
- | === 8.3 Стресс тестирование и выявление нагрузки на RAM === | + | === 11.3 Стресс тестирование и выявление нагрузки на RAM === |
<code> | <code> | ||
+ | $ cat /proc/meminfo | ||
+ | |||
$ stress -m 2 --vm-bytes 256M -t 60s | $ stress -m 2 --vm-bytes 256M -t 60s | ||
Line 857: | Line 687: | ||
</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 868: | Line 703: | ||
linux# iostat | linux# iostat | ||
- | |||
- | freebsd$ top -m io -o total | ||
</code> | </code> | ||
- | === 8.5 Тестирование производительности и выявление нагрузки на сеть === | + | |
+ | === 11.5 Тестирование производительности и выявление нагрузки на сеть === | ||
* [[Утилита iPerf]] | * [[Утилита iPerf]] | ||
<code> | <code> | ||
+ | # cat /sys/class/net/eth0/statistics/[rt]x_bytes | ||
+ | |||
# trafshow -n | # trafshow -n | ||
linux# nethogs | linux# nethogs | ||
- | linux# ss -pan4 | grep 5001 | + | linux# ss -pantu | grep 5001 |
- | + | ||
- | freebsd# sockstat -4 | grep 5001 | + | |
</code> | </code> | ||
- | === 8.6 Оптимизация производительности или ее тестирование на реальной задаче === | + | === 11.6 Управление ограничениями ОС === |
+ | |||
+ | * [[Управление сервисами в Linux#Настройка параметров запуска в Systemd]] | ||
+ | |||
+ | === 11.7 Оптимизация производительности или ее тестирование на реальной задаче === | ||
* [[https://youtu.be/dIqaW47WXf8|Видео урок: Установка Gentoo и сборка ПО из исходных текстов]] | * [[https://youtu.be/dIqaW47WXf8|Видео урок: Установка Gentoo и сборка ПО из исходных текстов]] | ||
* [[https://youtu.be/QFoGnnB3WPg|Видео урок: Сборка ядра в linux]] | * [[https://youtu.be/QFoGnnB3WPg|Видео урок: Сборка ядра в linux]] | ||
* [[Управление ядром и модулями в Linux]] | * [[Управление ядром и модулями в Linux]] | ||
- | * [[https://youtu.be/wlDGgGikyWI|Видео урок: Сборка ядра в FreeBSD]] | + | |
- | * [[Управление ядром и модулями в FreeBSD]] | + | |
==== Вопросы ==== | ==== Вопросы ==== | ||
Line 898: | Line 735: | ||
- Перечислите команды, позволяющие найти критический ресурс. | - Перечислите команды, позволяющие найти критический ресурс. | ||
- | ===== Модуль 9 (12). Использование Linux/FreeBSD в качестве рабочей станции пользователя ===== | + | ===== Модуль 12. Использование Linux в качестве рабочей станции пользователя ===== |
==== Теория ==== | ==== Теория ==== | ||
Line 910: | Line 747: | ||
==== Лабораторные работы ==== | ==== Лабораторные работы ==== | ||
- | === 9.1 Текстовый интерфейс === | + | === 12.1 Текстовый интерфейс === |
Задание: настроить текстовый интерфейс пользователя | Задание: настроить текстовый интерфейс пользователя | ||
- | |||
- | !!! RAM не менее 1Gb | ||
* [[Настройка командных интерпретаторов]] | * [[Настройка командных интерпретаторов]] | ||
Line 922: | Line 757: | ||
<code> | <code> | ||
linux# apt install gpm | linux# apt install gpm | ||
- | |||
- | freebsd# service moused onestart | ||
</code> | </code> | ||
Line 929: | Line 762: | ||
* [[Пакет screen]] ([[https://youtu.be/YXSC7KeIq3E|Видео урок]]) | * [[Пакет screen]] ([[https://youtu.be/YXSC7KeIq3E|Видео урок]]) | ||
- | === 9.2 Графический интерфейс пользователя === | + | === 12.2 Графический интерфейс пользователя === |
+ | |||
+ | !!! RAM не менее 1Gb | ||
Задание: настроить графический интерфейс пользователя | Задание: настроить графический интерфейс пользователя | ||
* [[Инсталяция системы в конфигурации Desktop]] (Установка X сервера, менеджера дисплеев, оконного менеджера и клиентских программ) | * [[Инсталяция системы в конфигурации Desktop]] (Установка X сервера, менеджера дисплеев, оконного менеджера и клиентских программ) | ||
+ | * [[Сервис CUPS]] | ||
* [[Воспроизведение звука]] | * [[Воспроизведение звука]] | ||
* [[Воспроизведение видео]] | * [[Воспроизведение видео]] | ||
Line 941: | Line 777: | ||
* [[Сервис SSH|SSH вместо XDM]] на примере xbill | * [[Сервис SSH|SSH вместо XDM]] на примере xbill | ||
* xorg, xorg.conf, startx, twm на примере doom | * xorg, xorg.conf, startx, twm на примере doom | ||
+ | * [[Сервис xRDP]] | ||
* [[Игровые возможности]] | * [[Игровые возможности]] | ||
Line 949: | Line 786: | ||
- Назовите основные компоненты системы XWindow | - Назовите основные компоненты системы XWindow | ||
- Что общего между getty, sshd и xdm? | - Что общего между getty, sshd и xdm? | ||
+ | |||
+ | ===== Итоговое тестирование ===== | ||
+ | |||
+ | * [[https://github.com/ostrovok-team/code-challenge/tree/master/devops|DevOps Engineer Challenge]] |