Какой у вас уровень знания Linux?

«Какой у вас уровень знания Linux?» — вопрос из категории Linux, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Мой уровень — продвинутый пользователь и администратор. Linux — это основная рабочая среда в моей DevOps-практике.

Основные области компетенций:

  • Администрирование: Полный цикл управления серверами: от установки и настройки (RHEL/CentOS, Ubuntu) до обслуживания и обновления. Глубокое понимание systemd, журналирования (journald), управления пакетами (yum/dnf, apt).
  • Файловые системы и диски: Работа с LVM для гибкого управления томами, настройка программных RAID-массивов (mdadm), диагностика проблем с дисками (smartctl, iostat).
  • Сети: Настройка и диагностика сетевых интерфейсов, маршрутизации, фаерволов (iptables/nftables), туннелей (VPN, WireGuard).
  • Безопасность: Настройка SELinux/AppArmor, управление пользователями и правами (sudo), аудит безопасности.
  • Производительность и отладка: Умение находить "узкие места" с помощью perf, strace, vmstat, sar. Анализ логов для поиска причин инцидентов.

Пример: Скрипт для мониторинга и алертинга по критичным метрикам:

#!/bin/bash
# Проверка использования памяти и диска
MEM_THRESHOLD=90
DISK_THRESHOLD=85

MEM_USAGE=$(free | awk '/Mem/ {printf "%.0f", $3/$2 * 100.0}')
DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | tr -d '%')

ALERT_MESSAGE=""
if [ $MEM_USAGE -gt $MEM_THRESHOLD ]; then
  ALERT_MESSAGE="Memory usage is ${MEM_USAGE}%"
fi
if [ $DISK_USAGE -gt $DISK_THRESHOLD ]; then
  ALERT_MESSAGE="${ALERT_MESSAGE}nDisk usage is ${DISK_USAGE}%"
fi

if [ -n "$ALERT_MESSAGE" ]; then
  echo -e "Host: $(hostname)n$ALERT_MESSAGE" | mail -s "System Alert" admin@example.com
fi

Я уверенно работаю с командной строкой, пишу скрипты на Bash и Python для автоматизации рутинных задач.