Linux*Системное администрирование*Информационная безопасность*Карьера в IT*

Системный администратор Linux: от эникейщика к Systems Engineer. Стек, траблшутинг и собеседование

Фундаментальный гайд по профессии системного администратора Linux: архитектура systemd, сети TCP/IP, траблшутинг нехватки inodes, права доступа и вопросы технических собеседований.

Команда Capycodio
Команда Capycodio
·9 мин

Профессия системного администратора пережила кардинальную трансформацию. Времена «эникейщиков», переустанавливающих Windows и обжимающих витую пару, ушли в прошлое. Современный Linux-администратор (Systems Engineer / SRE) управляет парком из сотен серверов, автоматизирует рутину на Bash и Python, настраивает сложные сетевые политики и ищет «плавающие» проблемы производительности ядра.

В этой статье мы разберем карту развития Linux-администратора и 5 практических задач на траблшутинг, которые дают на собеседованиях.


Навыки современного Linux-инженера#

ТаблицаСвайп вправо
НаправлениеЧто нужно знатьБазовые инструменты
Системный уровеньИнициализация ОС, systemd, сигналы процессов, архитектура VFS (Virtual File System)systemctl, journalctl, strace, lsof
Сетевой стекМаршрутизация, фаерволы, трансляция адресов (NAT), стек TCP/IP, DNSip, ss, iptables/nftables, tcpdump, dig
АвтоматизацияСкрипты автоматизации, управление конфигурациейBash, Python, Ansible
Хранилища и RAIDЛогические тома (LVM), программные RAID (mdadm), файловые системы (ext4, XFS, ZFS)fdisk, lsblk, lvcreate, zpool

Дорожная карта (Roadmap) обучения#

Пошаговый план развития системного администратора Linux

5 этапов
01
Командная строка и скрипты на Bash
3-4 недели

Навигация по FHS, потоки ввода-вывода (STDIN/STDOUT/STDERR), пайплайны, утилиты обработки текста (sed, awk, grep) и написание скриптов автоматизации.

BashLinuxsedawkgrepcron
02
Ядро, файловые системы и архитектура systemd
1-2 месяца

Права доступа (chmod, SUID, ACL), управление процессами, написание юнитов systemd (.service, .timer), диагностика и сбор логов через journald.

systemdsystemctljournaldext4LVMinodes
03
Компьютерные сети и маршрутизация
1-2 месяца

Стек TCP/IP, модель OSI, адресация IPv4/IPv6, протоколы DNS/DHCP, фильтрация пакетов через iptables/nftables и анализ дампа сети через tcpdump.

TCP/IPDNSiptablesnftablestcpdumpss
04
Диагностика производительности и траблшутинг
3-4 недели

Поиск узких мест (CPU, Memory, Disk I/O, Network), анализ системных вызовов через strace, работа с файловыми дескрипторами lsof.

stracelsofvmstatiostathtopperf
05
Безопасность и управление конфигурацией
1 месяц

Харденинг SSH, настройка fail2ban, политики безопасности SELinux/AppArmor, автоматизация настройки через Ansible.

AnsibleSSHfail2banSELinuxTLS/SSL

Топ-5 вопросов и задач на траблшутинг с собеседований#

1. df -h показывает 100% заполнение диска, но du -sh /* не находит больших файлов. В чем причина?#

Один из самых популярных практических кейсов на собеседованиях.

Причина: Процесс удерживает открытый файловый дескриптор удаленного файла.
Когда администратор выполняет rm /var/log/nginx/access.log, имя файла удаляется из директории (ссылка на inode исчезает). Но если процесс Nginx продолжает писать в этот файл, место на диске не освобождается, пока процесс не закроет дескриптор. Утилита du ищет файлы по дереву директорий и не видит его, а df опрашивает суперблок файловой системы.

Как найти и исправить:

BASH
# 1. Найти процессы, удерживающие удаленные файлы:
lsof | grep deleted

# 2. Мягко перезагрузить процесс или переоткрыть дескрипторы логов:
systemctl reload nginx

2. На диске есть свободное место, но файлы не создаются: No space left on device#

Причина: Закончились свободные дескрипторы файлов — inodes (индексные дескрипторы).
Файловая система (например, ext4) при форматировании создает фиксированное число inodes. Если в системе появилось огромное количество микро-файлов (например, миллионы мелких сессий PHP или застрявшая очередь почтового сервера Postfix), все inodes исчерпываются, хотя гигабайты памяти остаются свободными.

BASH
# Проверить количество свободных inodes:
df -i

ТаблицаСвайп вправо
КритерийЖесткая ссылка (Hard link)Символическая ссылка (Symlink)
Что представляет собойДополнительное имя, указывающее на тот же самый номер inodeОтдельный файл со своим inode, содержащий путь к целевому файлу
Работа между разными дисками❌ Нельзя создать на другую файловую систему / раздел✅ Работает сквозь любые точки монтирования
Ссылки на каталоги❌ Запрещено (во избежание циклических петель)✅ Разрешено
Что будет при удалении оригиналаДанные остаются доступны по жесткой ссылкеСсылка становится «битой» (Dangling symlink)

4. Что происходит при включении сервера Linux? (Процесс загрузки)#

  1. BIOS / UEFI: Выполняет самотестирование оборудования (POST), инициализирует память и находит загрузочное устройство.
  2. Загрузчик (GRUB2): Загружает в оперативную память образ ядра Linux (vmlinuz) и временный образ корневой файловой системы initramfs (содержащий базовые драйверы дисков).
  3. Ядро Linux (Kernel): Инициализирует драйверы, монтирует реальный корневой раздел в режиме только для чтения (ro) и запускает первый процесс пользователей — PID 1 (/sbin/init или systemd).
  4. systemd: Запускает целевой таргет по умолчанию (обычно multi-user.target для серверов или graphical.target), параллельно поднимая сервисы, сеть и генераторы монтирования (fstab).

5. Пинг до сервера идет (ping 8.8.8.8), но сайты не открываются (curl https://google.com висит). Как искать проблему?#

Классический чек-лист сетевого инженера:

  1. Проверить DNS резолвинг: Если ping 8.8.8.8 работает, а доменные имена не преобразуются в IP — проблема в DNS. Проверяем файл /etc/resolv.conf и тестируем через dig @1.1.1.1 google.com.
  2. Проверить TCP-порт: ICMP (протокол пинга) работает на сетевом уровне L3, а HTTP/HTTPS — поверх TCP на портах 80/443. Проверяем доступность порта через nc -zv google.com 443 или curl -v.
  3. Проверить фаервол: Проверяем правила блокировки исходящего трафика (iptables -L -n -v или nft list ruleset).

Резюме#

Системный администратор — это главный защитник стабильности инфраструктуры. Глубокое понимание Linux, сетей и умение хладнокровно диагностировать инциденты открывают прямой путь в DevOps и Site Reliability Engineering (SRE).

Capycodio

Прокачивай IT-скиллы с Capycodio

Не зубри теорию часами перед компьютером. Короткие 3-минутные интерактивные сессии прямо с телефона: по дороге, за кофе или перед сном.

Теги публикации:
#сисадмин#linux#bash#systemd#сети#траблшутинг#собеседование
Капибара
Команда Capycodio

Мы создаем интерактивный мобильный тренажер для разработчиков. Короткие сессии по 3-5 минут, чтобы держать базу и закрывать пробелы перед собеседованиями.