Описание
Продвинутая программа по Linux с практикой и траблшутингом от инженера Southbridge Платона Платонова.
Это однозначно практический курс. В нём будет много кейсов и примеров из моего опыта и опыта Southbridge. Я расскажу про установку Linux с помощью чёрной магии, приёмы ускорения работы в консоли, создание и применение bash-скриптов и многое другое.
Моя цель — передать вам свои знания и опыт эффективной работы с Linux. Даже в базовых темах я буду разбирать best practices и смотреть в глубину работы с Linux.
Курс в целом по Linux, а не по конкретному дистрибутиву. Он поможет углубить ваши знания в работе с ОС. Всё что мы разберём во время обучения, вы сможете сразу применять на практике.
Курс подойдёт, если сейчас:
1. Нет глубокого понимания Linux
2. Чувствую, что знания Linux хаотичны
3. Уверен в знаниях и знаком с best practices Linux
Содержание:
Модуль 1 – Процесс установки Linux
Вы узнаете, как проходит процесс установки, из чего состоит ОС, что такое LVM и зачем он нужен.
Теория:
- Процесс установки Linux по этапам
- Описание автоматической установки через графический инсталлятор
- /dev
- /sys
- /proc
- LVM
Практика:
- Установить Linux без использования графического установщика
- Тест на знание начинки и этапов установки.
Модуль 2 – Процессы и права
Вы поймёте, как работают процессы и права, научитесь манипулировать ими через консоль.
Теория:
- Как работают процессы и права
- Методы манипуляции процессами и правами
- /proc
- lsof (сущности, которые «держит» процесс)
- attrs
Практика:
- Выполнить манипуляции с процессами и файлами на стенде: повысить приоритет процесса, поставить процесс на паузу, через ACL выдать группе права на все файлы в директории.
Модуль 3 – Работа в консоли
Вы изучите приёмы ускорения работы в bash и разберёте необходимые в повседневности базовые утилиты. Научитесь быстро манипулировать текстом через консоль с помощью текстового редактора vi/vim или утилит grep, awk и sed.
Теория:
- Основы работы c screen/tmux, watch
- Потоки ввода/вывода/ошибок, cat, echo
- Вывод потоков вывода через перенаправление, передача данных в поток ввода
- Переменные окружения (env)
- Работа с выводом, awk, grep, sed
Практика:
- Заменить строку в ста файлах через sed
- Получить из команды вывод в определенном формате через grep и awk
- Привести команды vim, которой можно в файле изменить одну строку на другую
- Тест на знание базовых команд vim.
Модуль 4 – Написание bash-скриптов
Научитесь писать bash-скрипты с циклами и условиями.
Теория:
- Условия и циклы в bash
- Как писать однострочники
- Как писать файлы сценариев bash
Практика:
- Написать bash-однострочник, который парсит большой файл
- Написать bash-скрипт, который парсит логи Nginx в удобный вид.
Модуль 5 – Системные сервисы
Вы узнаете, как работают сервисы в Linux и как создавать свои. Разберёте, чем отличается Systemd от SysV/OpenRC, и поймёте, что лучше использовать в конкретной ситуации. Научитесь пользоваться crond и systemd.timer.
Теория:
- Systemd (приоритетно) и SysV
- Добавление сервисов в автозагрузку
- Просмотр списка сервисов, получение их статуса
- Crond
- systemd. timer
Практика:
- Создать простой сервис, запускающий в фоне программу
- Создать systemd. timer задание, которое будет парсить логи Nginx раз в минуту и сохранять в файл.
Модуль 6 – Безопасность
Вы научитесь настраивать безопасность на уровне ОС и сети, разберётесь в основных принципах.
Теория:
- SElinux (AppArmor)
- iptables/firewalld/(ufw)
- PAM
- SSH и безопасность, двухфакторная аутентификация
Практика:
- Выполнить задания на стенде — настроить безопасность.
Модуль 7 – Мониторинг и логирование
Вы узнаете, как получить логи на уровне системы, как посмотреть мониторинг ресурсов на уровне системы, как системы мониторинга есть и как они работают.
Теория:
- journalctl
- /var/log
- top/htop/atop
Практика:
- Посчитать количество запросов на Nginx по времени.
Модуль 8 – Работа с systemd-nspawn cgroups
Вы научитесь создавать systemd-контейнеры, узнаете, зачем они нужны и как работают.
Теория:
- Создание контейнеров
- Ограничение ресурсов
Практика:
- Развернуть 2 nspawn-контейнера и запустить в них Nginx.
Модуль 9 – Отладка
Вы научитесь определять неполадки в ПО, запущенном на сервере. Изучите принципы работы бекапов: что нужно бекапить и зачем нужны бекапы.
Теория:
- gdb
- strace
- сетевые неполадки (tcpdump) / wireshark
Практика:
- Запустить на стенде программу с проблемой. Задача студента — определить проблему.
Отзывы
Отзывов пока нет.