Найти в Дзене
bashninja | DevOps & SRE ⚙️

S01E08 — Практика Linux: процессы, права, пакеты, сервисы и логи

Привет, родные 👋 В прошлой серии мы собрали домашнюю «лабу».
Теперь — база, без которой DevOps не живёт: как устроен Linux изнутри и где искать правду, когда что-то падает. Зачем это нужно
— Вот как это работает: сервис не стартует → ты смотришь процессы, права, логи и статус сервиса.
— Это может вам помочь на собеседовании и в реальных рабочих кейсах: меньше гаданий, больше фактов. Что разберём Что знать на уровне джуна:
— ps aux — «снимок» всех процессов сейчас.
— top или htop — кто ест CPU/память прямо сейчас.
— pstree — дерево процессов (наглядно).
— kill PID и kill -9 PID — мягко и жёстко завершить, но «-9» только если без вариантов. Пример из жизни: nginx не стартует, а порт 80 занят. Смотри процессы и слушающие порты — найдёшь «виновника». Вот почему это важно: неправильные права ломают старт сервисов и доступ к логам.
Типичная ошибка новичка — «дать 777». Так не делаем. Дай ровно то, что нужно процессу. Полезный минимум:
— sudo apt update — обновить список пакетов.

Привет, родные 👋

В прошлой серии мы собрали домашнюю «лабу».

Теперь — база, без которой DevOps не живёт: как устроен Linux изнутри и где искать правду, когда что-то падает.

Зачем это нужно

— Вот как это работает: сервис не стартует → ты смотришь процессы, права, логи и статус сервиса.

— Это может вам помочь на собеседовании и в реальных рабочих кейсах: меньше гаданий, больше фактов.

Что разберём

  1. Процессы и дерево процессов.
  2. Права и владельцы.
  3. Пакеты: установка и обновления.
  4. Сервисы и автозапуск (systemd).
  5. Логи: где они лежат и как их читать.
  6. Процессы: кто что запускает

    Процесс — это запущенная программа. У каждого есть PID (номер) и родитель.

    Смотри, почти всё в системе — процессы. Если понимать, кто их создал и что они слушают, многие загадки исчезают.

Что знать на уровне джуна:

— ps aux — «снимок» всех процессов сейчас.

— top или htop — кто ест CPU/память прямо сейчас.

— pstree — дерево процессов (наглядно).

— kill PID и kill -9 PID — мягко и жёстко завершить, но «-9» только если без вариантов.

Пример из жизни: nginx не стартует, а порт 80 занят. Смотри процессы и слушающие порты — найдёшь «виновника».

  1. Права и владельцы: кто к чему имеет доступ

    У каждого файла есть владелец, группа и права: r (читать), w (писать), x (исполнять).

    ls -l показывает права и владельца; chmod меняет права; chown — владельца и группу.

Вот почему это важно: неправильные права ломают старт сервисов и доступ к логам.

Типичная ошибка новичка — «дать 777». Так не делаем. Дай ровно то, что нужно процессу.

  1. Пакеты: ставим то, что нужно

    В Ubuntu пакетами управляет apt. Логика простая: обновил индексы → поставил/обновил → проверил.

Полезный минимум:

— sudo apt update — обновить список пакетов.

— sudo apt upgrade -y — обновить установленное.

— apt search имя — поиск.

— sudo apt install имя — установка.

— sudo apt remove / purge имя — удалить (purge ещё и конфиги).

Пример: поставил nginx → проверил системный сервис → открыл страницу — видишь результат.

  1. Сервисы (systemd): запуск, перезапуск, автозапуск

    Большинство демонов управляет systemd: nginx, sshd, postgresql и т. д.

Базовые действия:

— sudo systemctl status nginx — посмотреть статус.

— sudo systemctl start/stop/restart nginx — управление.

— sudo systemctl enable/disable nginx — автозапуск.

Это может сработать у вас так: сервис не поднялся — сразу в status, а затем в логи.

  1. Логи: где правда

    Есть два главных источника.

Журнал systemd (journalctl):

— sudo journalctl -u nginx — логи сервиса.

— sudo journalctl -u nginx -f — «хвост», новые строки онлайн.

— sudo journalctl --since "10 min ago" — события за последние 10 минут.

Файлы в /var/log:

— /var/log/syslog — общий системный лог.

— /var/log/nginx/error.log — ошибки nginx.

— tail -f и grep помогают быстро отфильтровать нужное.

Как проверять себя:

— Нашёл процесс, который держит порт.

— Исправил права и сервис запустился.

— Установил пакет, включил автозапуск, проверил статус.

— Нашёл нужный лог и вытащил из него причину ошибки.

Честно о границах:

Мы не уходим в дебри SELinux/AppArmor и systemd-юнитов с нуля. Это позже. Сейчас — рабочая база, которая закрывает 80% задач джуна.

Что дальше:

Полное практическое задание, чек-лист и «как проверить себя» — в учебном
репозитории .Там будет пошагово: что сделать и какой результат должен быть.

В следующей серии (S01E09) поговорим про сеть: IP, DNS, ping, curl, открытые порты и частые «не стучится до базы».