Практика рассчитана на отдельную учебную среду и вымышленные данные.
Linux: первый осмотр
Один хост объединяет ядро, пользователей, файлы, процессы и службы. Начните с чтения состояния: так проще отделить устройство системы от поведения приложения.
Начните с вопроса, на который хотите ответить. Команда pwd сообщает положение оболочки, whoami — эффективного пользователя, uname -r — версию ядра. Ни один из этих ответов отдельно не описывает всю машину. Сопоставьте их с /etc/os-release и назначением выбранной службы: получится небольшой паспорт среды, к которому можно вернуться при следующей проверке.
Не путайте раздел, файловую систему и каталог. Каталог /var может находиться на том же разделе, что и /, или на отдельном. Поэтому свободное место проверяют для пути, куда пишет приложение, а не по первой строке вывода df.
- Оболочка и рабочий каталог
- Версия системы и диски
- Назначение служб
Попробуйте
- В своей учебной VM выполните pwd, whoami и uname -r.
- Посмотрите df -h и объясните разницу размера раздела и свободного места.
- Выпишите одну службу и её назначение.
Есть короткий паспорт VM: пользователь, ядро, текущий каталог, раздел и выбранная служба.
Почему hostname не заменяет версию дистрибутива?
Имя хоста — метка машины. Версию дистрибутива обычно читают из /etc/os-release.
Продолжить на русском и английском
- Linux — начало пути RU ↗
Начните с оболочки, файлов и команд. Бесплатный курс; условия зачисления проверьте на Stepik.
- Introduction to Linux EN ↗
Навигация, процессы и службы. Курс заявлен бесплатным; практическая Linux-среда отдельно.
- Linux Labs RU ↗
Первый практикум раздела «Первые шаги». Браузерные VM; для запуска нужен вход через Google.
Процессы
Программа на диске и выполняющийся процесс — разные объекты. PID, владелец и состояние помогают найти именно тот экземпляр, который относится к задаче.
Запускаемый файл — инструкция, а процесс — конкретное выполнение этой инструкции. Два запуска создают два PID и могут иметь разных владельцев, параметры и рабочие каталоги. Когда приложение отвечает медленно, полезно сначала установить, какой экземпляр обслуживает запрос, затем смотреть его состояние и потребление ресурсов.
Сигнал — запрос процессу, а не универсальная кнопка очистки. В учебном примере сначала убедитесь, что PID относится к созданному вами sleep. Обычный TERM даёт процессу возможность завершиться; принудительное завершение не должно быть первым диагностическим действием.
- PID и PPID
- Пользователь процесса
- Сигналы и состояние
Попробуйте
- В отдельной учебной оболочке запустите sleep 120 & и сохраните выведенный PID.
- Проверьте этот PID через ps -p PID -o pid,ppid,user,stat,comm.
- Остановите только созданный sleep через kill PID и проверьте отсутствие процесса.
В записи есть совпавший PID до завершения и результат повторной проверки.
Почему нельзя завершать процесс только по похожему имени?
Имя может совпадать у нескольких экземпляров. Сначала проверяют PID, владельца и назначение.
Продолжить на русском и английском
- Linux — начало пути RU ↗
Начните с оболочки, файлов и команд. Бесплатный курс; условия зачисления проверьте на Stepik.
- Introduction to Linux EN ↗
Навигация, процессы и службы. Курс заявлен бесплатным; практическая Linux-среда отдельно.
- OverTheWire Bandit EN ↗
Уровни 0–3: чтение файлов и поиск. Задачи на удалённой учебной системе через SSH; нужен SSH-клиент.
Файлы и права
Доступ зависит от владельца, группы, режима файла и прав каталогов на пути к нему. Исправляйте конкретную причину, сохраняя минимальные разрешения.
Для обычного файла чтение, запись и исполнение относятся к содержимому. Для каталога чтение позволяет получить список имён, а исполнение — проходить по пути. Поэтому доступ к файлу может отсутствовать даже при подходящем режиме самого файла: проверьте каждый каталог на пути.
Режим 600 оставляет чтение и запись владельцу. Он не выбирает владельца и не исправляет неверную группу. Разбирайте эти свойства отдельно и не расширяйте доступ всему миру только потому, что так исчезает ошибка.
- r/w/x для файла и каталога
- Владелец и группа
- Минимальные права
Попробуйте
- В новом учебном каталоге создайте notes.txt с вымышленной строкой.
- Примените chmod 600 notes.txt и прочитайте ls -l notes.txt.
- Объясните, кому доступны чтение и запись и почему файл не исполняемый.
Режим -rw------- объяснён по трём группам прав.
Что означает x для каталога?
Возможность проходить через каталог и обращаться к известным именам в нём; это не то же, что чтение списка имён.
Продолжить на русском и английском
- Основы командной строки RU ↗
Навигация по файловой системе. Курс заявлен бесплатным; нужна регистрация.
- Introduction to Linux EN ↗
Навигация, процессы и службы. Курс заявлен бесплатным; практическая Linux-среда отдельно.
- Linux Labs RU ↗
Первый практикум раздела «Первые шаги». Браузерные VM; для запуска нужен вход через Google.
Ресурсы хоста
Высокая задержка сама по себе не указывает на CPU. Сопоставляйте память, процессор, разделы и временной интервал, прежде чем выбирать действие.
Высокий процент CPU сам по себе не доказывает неисправность: полезная пакетная работа тоже загружает процессор. Сопоставляйте загрузку с длительностью запроса, очередью задач и ограничениями среды. Аналогично, занятая файловым кэшем память не равна потерянной памяти процесса.
- CPU и load average
- Память и swap
- Место и inode
Попробуйте
- На учебной VM прочитайте uptime, free -h и df -h.
- Запишите, какой показатель описывает занятое место, а какой память.
- Разберите пример: RAM свободна, /var занят на 100%, приложение не пишет журнал.
Вывод указывает на заполненный раздел; предлагается проверить источник расхода, без массового удаления.
Доказывает ли load average 8 перегрузку?
Нет. Нужны число CPU, длительность и характер ожидающих задач; load может включать ожидание I/O.
Продолжить на русском и английском
- Introduction to Linux EN ↗
Навигация, процессы и службы. Курс заявлен бесплатным; практическая Linux-среда отдельно.
- Linux Labs RU ↗
Первый практикум раздела «Первые шаги». Браузерные VM; для запуска нужен вход через Google.
- SadServers EN ↗
Выберите Easy и проверьте условия запуска. Доступ зависит от сценария: открытый, по email или платный.
Журналы
Лог — наблюдение о событии, а не готовое доказательство причины. Сначала сузьте время, службу и запрос, затем сопоставьте сообщения с симптомом.
Журнал — последовательность событий, а не полное описание причин. Установите временной интервал, службу и идентификатор запроса. Сообщение об ошибке после перезапуска может быть следствием первоначального сбоя. Сохраните порядок событий в своей записи и отдельно пометьте гипотезу, которую пока не проверяли.
- Временная шкала
- Фильтрация по службе
- Корреляция запросов
Попробуйте
- Для учебной службы прочитайте journalctl -u ИМЯ --since "10 minutes ago" без изменения журнала.
- Найдите время и уровень сообщения и сопоставьте их с systemctl status ИМЯ.
- Если systemd в лаборатории нет, разберите строки: 10:01 started; 10:02 config invalid; 10:02 stopped.
Назван первый диагностический сигнал config invalid, а stopped не объявлен первопричиной.
Почему последняя ошибка не всегда причина?
Она может быть следствием более раннего отказа. Нужен порядок событий и подтверждающая проверка.
Продолжить на русском и английском
- Introduction to Linux EN ↗
Навигация, процессы и службы. Курс заявлен бесплатным; практическая Linux-среда отдельно.
- Linux Labs RU ↗
Первый практикум раздела «Первые шаги». Браузерные VM; для запуска нужен вход через Google.
- SadServers EN ↗
Выберите Easy и проверьте условия запуска. Доступ зависит от сценария: открытый, по email или платный.
Базовая безопасность
Начните с того, кто входит в систему, какие службы слушают сеть и какие права нужны для работы. Отключение защиты обычно скрывает проблему вместо объяснения.
Минимальная база начинается с понятных владельцев доступа и обновлений. Для каждого входа определите пользователя, способ аутентификации и нужную задачу. Проверьте, что приложение получает только необходимые права. Учебная практика не требует открывать порты, менять рабочие ключи или отключать защиту на личном компьютере.
- Минимальные привилегии
- Слушающие порты
- Секреты вне кода
Попробуйте
- На учебной VM прочитайте id и список сетевых слушателей ss -lnt.
- Для выбранного сервиса запишите, нужен ли доступ только с localhost.
- Проверьте вымышленный конфиг: пароль в Git, bind 0.0.0.0, общий admin — предложите отдельное исправление каждого риска.
Риски названы отдельно; не предлагается открывать все порты или раздавать админские права.
Почему секрет в приватном Git всё равно проблема?
Доступ получают люди, приложения, копии истории и логи; удаление строки не удаляет прежние коммиты.
Продолжить на русском и английском
- Introduction to Linux EN ↗
Навигация, процессы и службы. Курс заявлен бесплатным; практическая Linux-среда отдельно.
- Linux Upskill Challenge EN ↗
Первый день: вход и базовая диагностика. Открытые материалы; нужна своя учебная VM или сервер.
- Linux Labs RU ↗
Первый практикум раздела «Первые шаги». Браузерные VM; для запуска нужен вход через Google.
Куда пропало место
Локализуйте расход диска по показаниям учебной VM. Никакие команды на вашем компьютере не выполняются. Это вымышленный учебный сценарий.
1. Определите ресурс
/ 38% used
/var 100% used
RAM 45% used
log: No space left on deviceС чего начать?
2. Сравните наблюдения
/var/log/app.log: 8 GB
/var/cache: 100 MB
app.log растёт на 200 MB/min
повторяется одна ошибка запросаКакой следующий вывод обоснован?
3. Проверьте исправление
Причина повторов исправлена в учебном приложении.
Согласованная ротация выполнена.
/var: 60% usedКакая проверка завершает разбор?