User Tools

Site Tools


основы_администрирования_систем_linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
основы_администрирования_систем_linux [2020/08/17 11:17]
val
основы_администрирования_систем_linux [2023/11/27 14:47] (current)
val [Лабораторные работы]
Line 5: Line 5:
  
  
-===== Программа курса =====+  * https://​global.gotomeeting.com/​join/​313682141
  
-  * [[http://​www.specialist.ru/​course/​yuncom|Linux/​FreeBSD. Уровень «На старт». Эффективная работа в командной строке]] 
  
-===== Offline материалы к курсу =====+===== Программа ​курса =====
  
-  * [[http://val.bmstu.ru/unix/Docs/​unix1_materials.zip]]+  * [[https://www.specialist.ru/course/yun1-b|Linux. Уровень 1Основы администрирования систем Debian, Ubuntu, CentOS]]
  
-===== Видео уроки ===== +===== Модуль 0. Подготовка стенда в классе =====
- +
-  * [[Видео уроки#​Работа в системе Linux/​FreeBSD]] +
- +
-===== Модуль 0. Подготовка стенда в классе=====+
  
   * Узнать свой номер стенда   * Узнать свой номер стенда
-<​code>​ +  ​* Удалить виртуальные машины
-ipconfig /all +
- +
-route delete 172.16.1.0 -p +
-</​code>​ +
-  ​* Удалить виртуалки+
   * Удалить профили putty   * Удалить профили putty
   * Отключить не используемые адаптеры   * Отключить не используемые адаптеры
-  * Записать логин пароль ​и IP (сообщить преподавателюрабочей станции+  * Записать логин пароль ​рабочей ​станции 
 +  * Сообщить преподавателю ​IP адрес ​рабочей станции
   * Проверить наличие дистрибутивов и образов   * Проверить наличие дистрибутивов и образов
 +
 +===== Часть 1. Работа в системе Linux =====
 +
 +==== Offline материалы ====
 +
 +  * [[http://​val.bmstu.ru/​unix/​Docs/​unix1_materials.zip]]
 +
 +==== Видео уроки ====
 +
 +  * [[Видео уроки#​На старт - работа в системе Linux]]
  
 ===== Модуль 1. Знакомство с UNIX ===== ===== Модуль 1. Знакомство с UNIX =====
Line 46: 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 65: Line 64:
   * [[https://​ru.wikipedia.org/​wiki/​Интерфейс_командной_строки|Интерфейс командной строки]]   * [[https://​ru.wikipedia.org/​wiki/​Интерфейс_командной_строки|Интерфейс командной строки]]
   * [[https://​ru.wikipedia.org/​wiki/​Bash|Bourne again shell]]   * [[https://​ru.wikipedia.org/​wiki/​Bash|Bourne again shell]]
 +
 ==== Лабораторные работы ==== ==== Лабораторные работы ====
  
Line 76: 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 118: Line 118:
   * [[Генератор отчетов awk]] ([[https://​youtu.be/​4PkkMzB7fIM|Видео урок]])   * [[Генератор отчетов awk]] ([[https://​youtu.be/​4PkkMzB7fIM|Видео урок]])
   * [[Команда tar]] (выполнить работу в конце курса)   * [[Команда tar]] (выполнить работу в конце курса)
 +  * Программа WinSCP
   * Команды scp, wget (в лабораторных работах следующего модуля)   * Команды scp, wget (в лабораторных работах следующего модуля)
 +
 ==== Вопросы ==== ==== Вопросы ====
  
Line 151: Line 153:
   * [[Настройка командных интерпретаторов]] (управление приглашением ко вводу PS1)   * [[Настройка командных интерпретаторов]] (управление приглашением ко вводу PS1)
   * [[Коды завершения]]   * [[Коды завершения]]
-  * Развертывание виртуальной машины в VirtualBox +  * [[Сигналы]] 
-  * Лабораторная работа ​[[Использование Asterisk в офисной телефонии#​2.1 Установка системы server]] из курса по Asterisk +  * Управление ​заданиями bgfg, 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 168:
   - Объясните,​ что происходит при использовании комбинаций "Ctrl C", "Ctrl D", "Ctrl Z"?   - Объясните,​ что происходит при использовании комбинаций "Ctrl C", "Ctrl D", "Ctrl Z"?
   - Как обрабатываются сигналы "​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|Компьютерная безопасность - Википедия]] +==== Видео уроки ====
-  * [[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 биты]]+
  
-==== Лабораторные работы ​====+  * [[Видео уроки#​Администрирование системы Linux]]
  
-  * [[Система безопасности UNIX]] +===== Модуль 4. Выбор дистрибутива,​ установка и анализ системы =====
- +
-=== Управление атрибутами доступа к файлам === +
- +
-Задание:​ исправить владельца файла конфигурации 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). Выбор дистрибутива,​ установка и анализ системы =====+
  
 ==== Теория ==== ==== Теория ====
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.Обновление ПО внутри релиза ===+=== 7.Обновление ПО внутри релиза ===
  
 Задание:​ установить необходимые обновления в системе Задание:​ установить необходимые обновления в системе
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]]
основы_администрирования_систем_linux.1597652223.txt.gz · Last modified: 2020/08/17 11:17 by val