Основы работы в ALT Linux и ключевые команды

Курс знакомит с базовыми принципами работы в ALT Linux: структура системы, работа в терминале и основные инструменты администрирования. Вы изучите ключевые команды Linux, управление пользователями и правами, сеть, процессы и установку программ.

1. Установка ALT Linux и первое знакомство с системой

Установка ALT Linux и первое знакомство с системой

Что такое ALT Linux и что вы получите после установки

ALT Linux — семейство российских дистрибутивов GNU/Linux, ориентированных на разные сценарии: рабочая станция, образование, сервер и другие. В рамках этого курса ALT Linux будет средой, в которой вы научитесь уверенно работать с системой и освоите ключевые команды терминала.

После установки вы получите:

  • Графическую среду (рабочий стол) для повседневной работы
  • Терминал для выполнения команд и администрирования
  • Менеджер пакетов APT (в варианте для ALT) для установки и обновления программ
  • Стандартную структуру каталогов Linux и базовые системные настройки
  • Подготовка к установке

    Выбор дистрибутива (образа)

    ALT Linux выпускается в нескольких вариантах. Для обучения обычно подходят версии уровня рабочей станции с привычным рабочим столом.

    Рекомендуемые источники для выбора и загрузки:

  • ALT Linux Wiki — справка и документация по системе
  • Get ALT — официальный сайт загрузок образов
  • Минимальные требования к компьютеру

    Точные требования зависят от выбранной графической среды, но в большинстве случаев комфортно ориентироваться на:

  • Процессор: 64-битный
  • ОЗУ: от 4 ГБ (лучше 8 ГБ)
  • Диск: от 25–30 ГБ свободного места
  • Флешка: от 4–8 ГБ для установочного носителя (в зависимости от образа)
  • Что важно учесть заранее

  • Если на компьютере уже есть другая ОС, установка “рядом” возможна, но требует аккуратного выбора диска и разметки
  • Для современных ПК типична загрузка в режиме UEFI (вместо классического BIOS)
  • Если включён Secure Boot, установка некоторых дистрибутивов может потребовать его отключения в настройках UEFI (зависит от образа и оборудования)
  • Загрузка образа и создание установочной флешки

    Шаг 1. Скачайте ISO-образ

    Скачайте ISO с официальной страницы загрузок:

  • Get ALT
  • Старайтесь выбирать свежую стабильную сборку.

    Шаг 2. Запишите ISO на флешку

    Варианты зависят от вашей текущей системы.

    Если вы на Windows:

  • Один из распространённых инструментов — Rufus
  • Если вы уже на Linux:

  • Часто используют dd (этот способ требует внимательности при выборе устройства)
  • Пример (выполняйте только если точно понимаете, какое устройство является флешкой):

    Где:

  • altlinux.iso — имя скачанного файла
  • /dev/sdX — устройство флешки (например, /dev/sdb), не раздел вида /dev/sdb1
  • Загрузка с флешки и режим Live

    После записи флешки:

  • Перезагрузите компьютер
  • Откройте Boot Menu (часто клавиши F12, F11, Esc, реже F8 — зависит от модели)
  • Выберите загрузку с USB
  • Многие образы ALT Linux позволяют запуститься в режиме Live:

  • Live означает, что система запускается с флешки без установки на диск
  • Это удобно, чтобы проверить работу Wi‑Fi, графики, звука и познакомиться с окружением
  • Если всё работает корректно, переходите к установке.

    !Блок-схема процесса установки и первого запуска ALT Linux

    Установка ALT Linux: ключевые шаги

    Точный интерфейс установщика зависит от конкретного образа, но общая логика одинакова.

    Выбор языка и раскладки

    На первых шагах установщик предложит:

  • Язык системы
  • Раскладку клавиатуры
  • Часовой пояс
  • Сразу проверьте, что вы сможете переключать раскладки и вводить пароли без ошибок.

    Выбор диска и разметка

    Самый ответственный этап — выбор диска и схема разделов.

    Варианты:

  • Автоматическая разметка — подходит, если диск пустой или вы согласны отдать диск целиком под ALT Linux
  • Ручная разметка — нужна, если вы ставите систему рядом с другой ОС или хотите контролировать размеры разделов
  • Термины, которые важно понимать:

  • Раздел — часть диска с отдельной файловой системой или назначением
  • Корневой раздел (обычно точка монтирования /) — основной раздел, где будут системные файлы и программы
  • EFI System Partition (ESP) — специальный раздел для загрузки в режиме UEFI (обычно файловая система FAT32)
  • swap — область под подкачку (может быть разделом или файлом), полезна в отдельных сценариях (например, гибернация)
  • Практичное правило для новичка:

  • Если вы не уверены — выбирайте автоматическую разметку на отдельном диске или на свободном месте, чтобы не затронуть важные данные
  • Создание пользователей и паролей

    Обычно установщик просит:

  • Задать пароль администратора (root)
  • Создать обычного пользователя (для повседневной работы)
  • Важно:

  • Работайте в системе как обычный пользователь
  • Административные действия выполняйте только при необходимости
  • Установка загрузчика

    Загрузчик отвечает за запуск ОС при включении компьютера.

  • На UEFI-системах загрузчик устанавливается с использованием EFI-раздела
  • Если у вас несколько ОС, в меню загрузчика может появиться выбор системы
  • После завершения установки компьютер перезагрузится — извлеките флешку, если установщик об этом попросит.

    Первый запуск: что проверить сразу

    После входа в установленную систему проверьте базовые вещи:

  • Работает ли сеть (Wi‑Fi/кабель)
  • Определилось ли разрешение экрана
  • Работает ли звук
  • Верно ли выставлены язык, часовой пояс и раскладки
  • Если что-то не работает, полезно зафиксировать модель устройства (например, Wi‑Fi адаптера) — это пригодится при поиске решения в документации или на форуме.

    Полезный ресурс сообщества:

  • Форум ALT Linux
  • Первое знакомство с интерфейсом и логикой Linux

    Рабочий стол и приложения

    В зависимости от образа вы можете увидеть KDE Plasma, GNOME, Xfce или другую среду. Общие элементы похожи:

  • Меню приложений
  • Панель задач/панель запуска
  • Системные настройки
  • Файловый менеджер
  • Обратите внимание на системные настройки:

  • Сеть
  • Пользователи
  • Язык и раскладки
  • Обновления
  • Файловая система: как устроены каталоги

    В Linux нет “диска C:”. Вместо этого есть единое дерево каталогов от корня /.

    Базовые ориентиры:

  • /home — домашние папки пользователей (ваши документы и настройки)
  • /etc — системные конфигурационные файлы
  • /var — изменяемые данные (логи, кэш и т. п.)
  • /usr — программы и библиотеки
  • /tmp — временные файлы
  • Главная идея: системные файлы отделены от пользовательских, а права доступа защищают систему от случайных изменений.

    Терминал: зачем он нужен

    Терминал — это способ управлять системой через команды. Он особенно полезен, когда:

  • нужно быстро получить информацию о системе
  • требуется выполнить точную настройку
  • нужно установить/обновить ПО, диагностировать проблему
  • Откройте терминал и попробуйте команды (подробно мы разберём их в следующих статьях):

    Ожидаемый смысл:

  • pwd показывает текущий каталог
  • ls показывает файлы и папки
  • whoami показывает имя текущего пользователя
  • Обновления и установка программ: общий принцип

    ALT Linux использует APT для управления пакетами (установка, обновление, удаление программ). В разных редакциях могут быть и графические инструменты, но базовая логика одна:

  • Система хранит список источников пакетов (репозиториев)
  • Вы обновляете список доступных пакетов
  • Затем устанавливаете обновления или нужные программы
  • Типичные команды (выполняются с правами администратора):

    Где:

  • su - переключает вас в режим администратора root (потребуется пароль root)
  • apt-get update обновляет список пакетов
  • apt-get dist-upgrade устанавливает обновления (включая возможные изменения зависимостей)
  • Если в вашем выпуске настроен sudo, административные команды могут выполняться без su -, но это зависит от конкретной сборки и настроек.

    Итоги

    Теперь у вас установлена ALT Linux и есть понимание базовых компонентов:

  • как подготовить установочный носитель и загрузиться с него
  • что такое Live-режим и зачем он полезен
  • какие решения принять при разметке диска
  • как устроена файловая система Linux на уровне основных каталогов
  • что такое терминал и менеджер пакетов APT в ALT Linux
  • В следующей части курса мы начнём системно разбирать ключевые команды терминала и повседневные сценарии работы.

    2. Файловая система и навигация в терминале

    Файловая система и навигация в терминале

    В предыдущей статье вы установили ALT Linux, познакомились с рабочим столом и впервые открыли терминал. Теперь разберём, как устроены файлы и каталоги в Linux и как уверенно перемещаться по ним из командной строки.

    Что такое файловая система в Linux

    В Linux нет «дисков C: и D:» в привычном для Windows виде. Вместо этого есть единое дерево каталогов, которое начинается с корня /.

  • Файл — именованный набор данных (документ, изображение, программа, настройка).
  • Каталог — контейнер для файлов и других каталогов.
  • Путь — адрес файла/каталога в дереве.
  • !Схема основных каталогов Linux и их назначение

    Основные каталоги, которые нужно знать

    Ниже — ориентиры, которые чаще всего встречаются в работе пользователя и администратора.

  • / — корень файловой системы, начало всего дерева каталогов.
  • /home — домашние каталоги пользователей (например, /home/ivan).
  • /root — домашний каталог пользователя root (администратора).
  • /etc — системные конфигурационные файлы.
  • /var — изменяемые данные (логи, кэш, очереди, базы некоторых сервисов).
  • /usr — большинство программ, библиотек и общих ресурсов.
  • /tmp — временные файлы (часто очищаются автоматически).
  • /dev — «файлы устройств» (диски, терминалы и т. п.).
  • /mnt и /media — точки монтирования (сюда могут подключаться диски/флешки).
  • Если хотите свериться с официальным описанием структуры каталогов в ALT Linux, используйте материалы ALT Linux Wiki:

  • ALT Linux Wiki
  • Абсолютные и относительные пути

    Абсолютный путь

    Абсолютный путь всегда начинается с / и однозначно указывает место в дереве.

    Примеры:

    Относительный путь

    Относительный путь задаётся от текущего каталога и не начинается с /.

    Примеры:

    Специальные обозначения в путях

  • . — текущий каталог.
  • .. — родительский каталог (на уровень выше).
  • ~ — домашний каталог текущего пользователя (обычно внутри /home).
  • Примеры:

    Текущий каталог и команда pwd

    Когда вы открываете терминал, вы всегда находитесь в каком-то каталоге. Чтобы увидеть его, используйте pwd.

    Обычно после входа вы будете в домашнем каталоге, например /home/ivan.

    Просмотр содержимого: ls

    Команда ls показывает файлы и каталоги.

    Полезные варианты:

  • ls -l — подробный список (права, владелец, размер, дата).
  • ls -a — показывает скрытые файлы (имена начинаются с .).
  • ls -lah — частая комбинация: всё, подробно, размеры «по‑человечески».
  • Пример:

    Важно: скрытые файлы и каталоги (например, .bashrc) обычно содержат настройки программ и окружения.

    Перемещение между каталогами: cd

    Команда cd меняет текущий каталог.

    Перейти в домашний каталог:

    Перейти в корень:

    Перейти в каталог внутри текущего:

    Перейти на уровень выше:

    Вернуться в предыдущий каталог:

    Автодополнение и «история» команд

    Чтобы работать быстрее и меньше ошибаться:

  • Нажимайте Tab для автодополнения команд и путей.
  • Нажимайте стрелку вверх для повторения предыдущих команд.
  • Используйте поиск по истории: Ctrl+r, затем начните вводить часть команды.
  • Создание и удаление каталогов и файлов

    mkdir

    Создать каталог:

    Создать вложенную структуру сразу:

    touch

    Создать пустой файл (или обновить время изменения существующего):

    rmdir

    Удаляет пустой каталог:

    rm

    Удаляет файлы (и каталоги — с параметрами). Будьте внимательны: «корзины» по умолчанию нет.

    Удалить файл:

    Удалить каталог вместе с содержимым:

    Если хотите дополнительную осторожность, используйте запрос подтверждения:

    Копирование и перемещение: cp и mv

    cp

    Копировать файл:

    Копировать каталог со всем содержимым:

    mv

    Переместить файл:

    Переименовать файл:

    Поиск файлов: find и locate

    find

    find ищет в указанном каталоге.

    Пример: найти все файлы .log в каталоге /var/log:

    locate

    locate ищет по базе (обычно быстрее), но база может обновляться не мгновенно. Если команда установлена и настроена, поиск выглядит так:

    Если locate не найден, это нормально: в разных установках набор пакетов отличается.

    Маски (глоббинг) и кавычки

    В командной строке часто используются маски:

  • * — любое количество символов.
  • ? — ровно один символ.
  • Примеры:

    Если в имени есть пробелы, используйте кавычки:

    Или экранируйте пробел обратным слэшем:

    Полезные команды для ориентации

  • whoami — имя текущего пользователя.
  • hostname — имя компьютера в сети.
  • man <команда> — справка по команде (например, man ls).
  • Примеры:

    Практический маршрут: мини-сценарий

    Ниже — короткая последовательность, которая тренирует навигацию и базовые операции с файлами.

    Итоги

    Теперь вы понимаете базовую логику файловой системы Linux и умеете:

  • читать абсолютные и относительные пути, использовать ., .., ~
  • смотреть текущий каталог (pwd) и содержимое (ls)
  • переходить между каталогами (cd) и пользоваться автодополнением
  • создавать, копировать, перемещать и удалять файлы и каталоги (mkdir, touch, cp, mv, rm)
  • выполнять базовый поиск (find)
  • В следующих материалах эти навыки станут основой для более практичных задач: работа с правами доступа, пакетами, логами и диагностикой системы.

    3. Работа с файлами и текстом: основные команды

    Работа с файлами и текстом: основные команды

    В прошлых статьях вы установили ALT Linux и научились ориентироваться в файловой системе и терминале (pwd, ls, cd, cp, mv, rm). Следующий шаг — уверенно читать содержимое файлов, искать нужные строки, собирать информацию из текста и связывать команды между собой.

    В Linux очень многое представлено в виде текста: настройки в /etc, журналы в /var/log, вывод системных команд. Поэтому умение работать с текстом — это базовый навык пользователя и администратора.

    Какие команды понадобятся чаще всего

    | Задача | Команды | |---|---| | Посмотреть файл целиком | cat, nl | | Листать файл постранично | less | | Посмотреть начало или конец | head, tail | | Посчитать строки, слова, байты | wc | | Найти строки по шаблону | grep | | Отсортировать и убрать повторы | sort, uniq | | Вырезать поле/колонку | cut | | Заменить символы | tr | | Записать вывод команды в файл | >, >>, tee | | Собрать конвейер из команд | | |

    > Почти у каждой команды есть справка в man. Например: man grep.

    Просмотр содержимого файлов

    cat

    cat выводит файл в терминал.

    Практичный приём — посмотреть сразу несколько файлов:

    Ограничение: если файл большой, вывод «убежит» вверх и читать неудобно — для этого есть less.

    less

    less показывает текст постранично и позволяет искать прямо внутри просмотра.

    Полезные клавиши в less:

  • Space — следующая страница
  • b — предыдущая страница
  • /текст — поиск вперёд
  • n — следующее совпадение
  • q — выход
  • nl

    nl выводит файл с номерами строк — удобно, когда обсуждаете конкретную строку в конфиге.

    Быстрый просмотр начала и конца файла

    head

    Показать первые 10 строк:

    Показать первые 30 строк:

    tail

    Показать последние 10 строк:

    Показать последние 50 строк:

    Очень частый сценарий — «следить» за дописываемым логом:

    Остановить просмотр можно Ctrl+c.

    Подсчёт строк и других величин: wc

    wc считает строки, слова и байты.

  • wc -l — только количество строк
  • wc -w — только количество слов
  • wc -c — количество байт
  • Примеры:

    Частый приём — считать строки не в файле, а во входном потоке (после конвейера):

    Перенаправление вывода и конвейеры

    В терминале почти у каждой команды есть:

  • стандартный ввод (откуда команда читает данные)
  • стандартный вывод (куда команда печатает результат)
  • стандартный вывод ошибок (сообщения об ошибках)
  • Перенаправление в файл: > и >>

    Записать вывод команды в файл (перезаписать файл):

    Добавить вывод в конец файла (дописать):

    Конвейер: |

    Символ | соединяет команды: вывод первой становится вводом второй.

    !Наглядная схема, как вывод одной команды становится входом другой через конвейер

    Пример: найти в текущем каталоге строки, где есть .txt (по сути отфильтровать вывод ls):

    Поиск по тексту: grep

    grep ищет строки, подходящие под шаблон.

    Найти строки со словом root в файле:

    Полезные опции:

  • -n — показать номера строк
  • -i — игнорировать регистр
  • -v — показать строки, которые не совпали
  • -r — рекурсивно искать по каталогу
  • Примеры:

    Рекурсивный поиск по каталогу проекта:

    Если нужно искать «буквально точку», как в .txt, её часто экранируют: "\.txt".

    Справка:

  • GNU Grep Manual
  • Сортировка и удаление повторов: sort и uniq

    sort

    sort сортирует строки.

    Сортировка без учёта регистра:

    uniq

    uniq убирает соседние повторяющиеся строки. Поэтому чаще всего его используют после sort.

    Уникальный список строк:

    Посчитать количество одинаковых строк:

    Извлечение колонок: cut

    cut полезен, когда данные разделены одним и тем же разделителем.

    Например, файл /etc/passwd разделён двоеточиями :. Выведем только имена пользователей (первое поле):

    Где:

  • -d ':' задаёт разделитель полей
  • -f 1 означает «взять поле номер 1»
  • Можно извлекать несколько полей:

    Преобразование символов: tr

    tr заменяет или удаляет символы, читая данные из стандартного ввода.

    Сделать текст верхним регистром:

    Заменить пробелы на подчёркивания:

    Удалить цифры:

    Запись результата с одновременным выводом: tee

    tee полезна, когда вы хотите и увидеть вывод в терминале, и сохранить его в файл.

    Записать вывод в файл (перезаписать файл):

    Добавить в конец файла:

    Практический сценарий: собрать мини-отчёт из текста

    Ниже — пример, который тренирует сразу несколько навыков: просмотреть файл, найти строки, отсортировать и сохранить результат.

    Типичные ошибки и как их избегать

  • Путают > и >>
  • Ожидают, что uniq уберёт повторы без sort
  • Пытаются смотреть большие файлы через cat
  • Забывают кавычки и экранирование в шаблонах grep
  • Итоги

    Теперь у вас есть базовый «набор работы с текстом» в ALT Linux:

  • вы умеете смотреть файлы (cat, less, nl, head, tail)
  • умеете считать и оценивать объём текста (wc)
  • умеете искать строки (grep) и собирать простые конвейеры (|)
  • умеете сортировать, убирать повторы и извлекать поля (sort, uniq, cut)
  • умеете сохранять результаты в файлы и вести логирование своих действий (>, >>, tee)
  • Эти приёмы станут основой для следующих тем: работа с правами доступа, системными логами и диагностикой.

    4. Права доступа, пользователи и группы

    Права доступа, пользователи и группы

    В прошлых материалах вы научились создавать, копировать и удалять файлы, а также читать и фильтровать текст в терминале. Теперь важно понять, почему одни файлы можно открыть и изменить, а другие — нет, и как Linux защищает систему от случайных действий. Для этого разберём пользователей, группы и модель прав доступа.

    Зачем нужны права доступа

    В Linux почти всё сводится к файлам: документы в ~/, настройки в /etc, логи в /var/log, устройства в /dev. Права доступа отвечают на три простых вопроса:

  • Кто может читать файл?
  • Кто может изменять файл?
  • Кто может выполнять программу или заходить в каталог?
  • Эта модель позволяет:

  • изолировать пользователей друг от друга;
  • защитить системные файлы от случайного удаления;
  • безопасно давать доступ к общим папкам и данным.
  • Пользователи и группы: базовые понятия

    Пользователь

    Пользователь — учётная запись, от имени которой запускаются программы и создаются файлы.

  • Обычный пользователь работает с документами и программами в ~/.
  • Администратор root имеет максимально широкие полномочия в системе.
  • Группа

    Группа — набор пользователей. Группы удобны, когда доступ нужно выдать не одному человеку, а нескольким.

    Примеры:

  • общая папка отдела, доступная группе сотрудников;
  • доступ к устройствам (в некоторых системах права на звук, принтеры и т. п. выдаются через группы).
  • Почему опасно работать постоянно от root

    Root может изменить критичные файлы системы. Поэтому в повседневной работе следует использовать обычного пользователя, а административные действия выполнять только при необходимости.

    В зависимости от настройки вашей системы действия администратора выполняют так:

  • через su - (переход в root, нужен пароль root);
  • через sudo (если настроено, нужен пароль пользователя).
  • Как узнать, кто вы и в каких вы группах

    Команды для быстрой ориентации:

  • whoami показывает имя текущего пользователя.
  • id показывает числовой идентификатор пользователя (UID), основной идентификатор группы (GID) и список групп.
  • groups показывает группы пользователя.
  • Если нужно посмотреть информацию о пользователях и группах из системных баз:

    Модель прав доступа: владелец, группа, остальные

    У каждого файла и каталога есть:

  • владелец (обычно тот, кто создал файл);
  • группа (может совпадать с основной группой владельца);
  • остальные (все прочие пользователи системы).
  • Для каждой из трёх категорий задаются права:

  • r — чтение;
  • w — запись (изменение);
  • x — выполнение.
  • Важно: значение прав отличается для файлов и каталогов.

  • Для файла:
  • - r — можно читать содержимое; - w — можно изменять содержимое; - x — можно запускать как программу/скрипт.
  • Для каталога:
  • - r — можно посмотреть список имён файлов (например, через ls); - w — можно создавать/удалять/переименовывать элементы внутри каталога; - x — можно “войти” в каталог (cd) и обращаться к файлам по имени.

    !Разбор строки прав доступа из вывода ls -l

    Как посмотреть права и владельца

    ls -l

    Самый частый способ — подробный вывод ls -l:

    Пример строки:

    Здесь важно:

  • -rw-r----- — тип и права доступа;
  • ivan — владелец;
  • staff — группа.
  • Первый символ показывает тип:

  • - — обычный файл;
  • d — каталог;
  • l — символическая ссылка.
  • stat

    Если нужно больше подробностей:

    Как менять права: chmod

    Команда chmod изменяет права доступа.

    Справка:

  • chmod(1) на man7.org
  • Символьный режим chmod

    Символьный режим читается почти как фраза: кому добавить или убрать какие права.

    Кто:

  • u — владелец (user)
  • g — группа (group)
  • o — остальные (others)
  • a — все сразу (all)
  • Операции:

  • + — добавить
  • - — убрать
  • = — установить ровно
  • Примеры:

    Числовой режим chmod (часто встречается)

    В числовом режиме права задаются тремя цифрами:

  • первая цифра — права владельца;
  • вторая — права группы;
  • третья — права остальных.
  • Каждая цифра — сумма значений:

  • чтение r = 4
  • запись w = 2
  • выполнение x = 1
  • Примеры популярных наборов:

  • 7 = 4+2+1 = rwx
  • 6 = 4+2 = rw-
  • 5 = 4+1 = r-x
  • 4 = 4 = r--
  • Пример: сделать каталог “обычно доступным” (владелец всё, остальные читают и заходят):

    Это означает:

  • владелец: 7rwx
  • группа: 5r-x
  • остальные: 5r-x
  • Пример: закрыть файл от других пользователей:

    Это означает:

  • владелец: 6rw-
  • группа: 0---
  • остальные: 0---
  • Владелец и группа: chown и chgrp

    Права — это только часть истории. Важно, кто владелец и какая группа назначена файлу.

    Справка:

  • chown(1) на man7.org
  • chown

    chown меняет владельца и, при необходимости, группу.

    Примеры:

  • ivan — новый владелец;
  • ivan:staff — владелец и группа.
  • chgrp

    chgrp меняет только группу.

    Обычно менять владельца и группу можно только с административными правами.

    Права по умолчанию: umask

    Когда вы создаёте новый файл или каталог, система назначает ему права по умолчанию, а затем применяет ограничение umask.

    Посмотреть текущую маску:

    Типичные значения:

  • 0022 — часто на рабочих станциях: новые файлы обычно доступны на чтение другим, но не на запись.
  • 0002 — часто в средах, где важна совместная работа в группе: группе не запрещается запись там, где это разрешено политикой каталогов.
  • Идея umask простая: она задаёт, какие права запрещать при создании новых объектов. Точные детали зависят от типа объекта (файл или каталог) и настроек программ, но на практике важно помнить:

  • если вы создали файл и он оказался “слишком открытым” или “слишком закрытым”, проверьте umask;
  • права всегда можно скорректировать chmod.
  • Справка:

  • umask(2) на man7.org
  • Специальные биты: setuid, setgid, sticky

    Помимо rwx существуют специальные режимы. На базовом уровне важно понимать их назначение.

    setuid

    Если у исполняемого файла установлен setuid, то при запуске программа выполняется с правами владельца файла (часто владельцем является root). Это используют системные утилиты, которым нужно сделать ограниченное действие с привилегиями.

    setgid

    Для исполняемых файлов setgid похож на setuid, но применительно к группе.

    Для каталогов setgid особенно полезен для совместной работы: новые файлы внутри такого каталога наследуют группу каталога.

    sticky bit

    Sticky bit актуален в основном для каталогов. Если он установлен, то удалять файлы внутри каталога могут только:

  • владелец файла;
  • владелец каталога;
  • root.
  • Классический пример — /tmp.

    Справка по общим принципам прав:

  • path_resolution(7) на man7.org
  • Практичный сценарий: общая папка для группы

    Ситуация: вы хотите, чтобы несколько пользователей работали в общей папке, но посторонние доступ не получали.

    Один из типичных подходов:

  • Создать группу (делает администратор).
  • Добавить пользователей в группу (делает администратор).
  • Создать каталог, назначить ему нужную группу.
  • Дать права группе и включить setgid для наследования группы.
  • Пример команд (требуются административные права и корректные имена пользователей):

    Что означает 2770 для каталога:

  • 770 — владельцу и группе всё (rwx), остальным ничего;
  • ведущая 2 — setgid на каталоге, чтобы файлы внутри наследовали группу project.
  • Если вы пока не администрируете систему, сам принцип полезно запомнить: группы + права на каталог — основной механизм совместного доступа в Linux.

    Частые ошибки новичков

  • Путают смысл x для каталога: без x нельзя “зайти” в каталог, даже если видно список.
  • Делают chmod 777 “чтобы точно работало”: это опасно, потому что открывает запись всем.
  • Пытаются менять владельца без прав администратора.
  • Смотрят только на права файла, забывая, что доступ определяется также правами на каталоги в пути.
  • Итоги

    Теперь вы понимаете основу безопасности файлов в ALT Linux:

  • кто такой root и почему лучше работать обычным пользователем;
  • что такое пользователи и группы и как узнать свои группы (id, groups);
  • как читать права в ls -l и чем отличаются права для файлов и каталогов;
  • как менять права (chmod) и владение (chown, chgrp);
  • зачем нужен umask и что дают специальные биты (setuid, setgid, sticky).
  • Дальше эти знания помогут уверенно работать с системными каталогами, логами и настройками, не ломая систему и не открывая лишний доступ.

    5. Управление пакетами в ALT Linux (APT/RPM)

    Управление пакетами в ALT Linux (APT/RPM)

    В предыдущих статьях вы научились ориентироваться в файловой системе, работать с текстом и понимать права доступа. Следующий ключевой навык в ALT Linux — установка и обновление программ через пакеты. В Linux обычно не скачивают установщики с сайтов «вручную» для каждой программы: вместо этого используется менеджер пакетов, который устанавливает ПО из репозиториев, следит за зависимостями и обновлениями.

    Что такое пакет и репозиторий

    Пакет — это архив с программой и сопутствующими файлами (бинарники, библиотеки, конфиги, документация) плюс метаданные:

  • имя и версия программы
  • список зависимостей (что нужно установить дополнительно)
  • описание и список файлов
  • Репозиторий — это хранилище пакетов, к которому подключена ваша система. Из репозиториев менеджер пакетов получает:

  • список доступных программ и версий
  • сами пакеты для установки
  • обновления безопасности и исправления
  • В ALT Linux основная практика — ставить ПО из официальных репозиториев, а не из случайных файлов, найденных в интернете.

    Почему в ALT Linux одновременно APT и RPM

    В ALT Linux используются два уровня управления пакетами:

  • RPM — низкоуровневый формат пакетов и набор утилит для работы с установленными пакетами (что установлено, какие файлы принадлежат пакету, проверка целостности).
  • APT — более удобный уровень поверх RPM: умеет работать с репозиториями и автоматически рассчитывает зависимости.
  • Идея простая:

  • APT отвечает за поиск в репозиториях, установку, удаление и обновление с учётом зависимостей.
  • RPM полезен для диагностики и точечных запросов к уже установленным пакетам.
  • !Диаграмма, показывающая роли APT и RPM и их взаимодействие

    Полезная документация:

  • ALT Linux Wiki: apt-get
  • ALT Linux Wiki: RPM
  • Права администратора для управления пакетами

    Установка, удаление и обновление пакетов требуют административных прав.

    В зависимости от настройки системы это делается так:

  • через su - (нужен пароль root)
  • через sudo (если настроено)
  • Пример входа под root:

    Проверить, кто вы сейчас:

    Обновление системы через APT

    Обновление обычно состоит из двух шагов:

  • Обновить информацию о пакетах из репозиториев.
  • Применить обновления.
  • Команды:

    Что делают эти команды:

  • apt-get update обновляет список доступных пакетов и их версий (это ещё не установка обновлений).
  • apt-get dist-upgrade устанавливает обновления, при необходимости может добавить или заменить зависимости, чтобы обновление прошло корректно.
  • Если во время обновления выводится список пакетов на удаление или замены, внимательно прочитайте, что именно будет сделано. При сомнениях обновление лучше прервать и уточнить причину.

    Поиск и изучение пакетов

    Перед установкой полезно найти пакет и посмотреть его описание.

    Поиск по названию и описанию

    apt-cache search ищет по доступным пакетам (по имени и описанию).

    Просмотр информации о пакете

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

    Проверка, какие версии доступны и откуда они берутся

    Это удобно, когда нужно понять, почему система предлагает именно такую версию пакета.

    Установка и удаление пакетов

    Установка

    Установить пакет:

    Установить несколько пакетов сразу:

    Если APT сообщает, что будет установлено ещё несколько пакетов, это нормально: это зависимости.

    Удаление

    Удалить пакет:

    APT подскажет, какие пакеты будут удалены, и попросит подтверждение.

    RPM как инструмент проверки и диагностики

    RPM полезен, когда вы хотите получить точный ответ о том, что уже установлено и какие файлы куда попали.

    Список установленных пакетов

    Часто список фильтруют через grep:

    Информация об установленном пакете

    Список файлов, которые установил пакет

    Определить, какому пакету принадлежит файл

    Это особенно полезно, когда нужно понять, какой пакет «принёс» конкретный файл в систему.

    Проверка целостности файлов пакета

    Эта команда сравнивает установленные файлы с эталоном из базы RPM (например, может показать, что конфиг менялся или файл был повреждён). Если вывода нет, обычно это означает, что отличий не обнаружено.

    Типичные проблемы и базовые приёмы решения

    «База пакетов занята»

    Если параллельно запущено другое обновление или установка, APT может сообщить, что ресурс занят. Решение обычно такое:

  • убедиться, что второй процесс установки/обновления действительно завершился
  • не запускать apt-get одновременно в нескольких терминалах
  • «Не хватает места на диске»

    Проверьте свободное место:

    Если место закончилось, сначала освободите его (например, в домашнем каталоге или в /var).

    «Проблемы с зависимостями»

    Иногда после неудачной операции полезно попросить APT проверить систему:

    В сложных случаях полезно перечитать сообщение об ошибке, потому что оно обычно содержит, какие пакеты конфликтуют и чего не хватает.

    Практический сценарий: установить программу и проверить, что она поставила

    Ниже пример типичного рабочего процесса.

  • Найдите пакет по названию:
  • Посмотрите описание:
  • Установите:
  • Убедитесь, что пакет установлен:
  • Посмотрите, какие файлы он добавил (первые строки списка можно ограничить через head, который вы изучали ранее):
  • Проверьте, какому пакету принадлежит исполняемый файл:
  • Хорошие практики работы с пакетами

  • Обновляйте систему регулярно: это снижает риск проблем совместимости и закрывает уязвимости.
  • Используйте репозитории и APT как основной способ установки: так зависимости будут обработаны автоматически.
  • Не ставьте пакеты «наугад» из неизвестных источников: это риск безопасности и конфликтов.
  • Если нужно понять, откуда взялся файл или что установлено, используйте RPM-запросы (rpm -qf, rpm -ql, rpm -qi).
  • Итоги

    Теперь вы понимаете, как устроено управление ПО в ALT Linux:

  • APT используется для установки, удаления и обновления пакетов из репозиториев
  • RPM используется для точных запросов к установленным пакетам и диагностики
  • базовый цикл администрирования выглядит как apt-get update и затем apt-get dist-upgrade
  • для анализа установленных файлов полезны rpm -ql и rpm -qf
  • Эти навыки связывают воедино предыдущие темы курса: навигацию, чтение вывода команд и работу с правами, потому что управление пакетами почти всегда требует аккуратности, понимания путей и административного доступа.

    6. Процессы, службы и журналы системы

    Процессы, службы и журналы системы

    В предыдущих частях курса вы научились ориентироваться в файловой системе, читать текстовые файлы, понимать права доступа и устанавливать пакеты. Теперь соберём эти навыки в типичный набор задач администрирования: понять, что сейчас запущено, какие службы работают и где смотреть, что пошло не так.

    В Linux большинство проблем диагностируется по трём направлениям:

  • процессы: конкретные запущенные программы
  • службы: процессы, которые система запускает и контролирует как сервисы
  • журналы: сообщения о работе ядра, служб и приложений
  • !Общая картина: как процессы, службы и журналы связаны между собой

    Что такое процесс

    Процесс — это выполняющаяся программа. У процесса есть несколько базовых характеристик:

  • PID — уникальный идентификатор процесса
  • PPID — PID родительского процесса (кто его запустил)
  • пользователь — от чьего имени идёт выполнение
  • состояние — например, выполняется, спит, ожидает ввод-вывод
  • Важно различать:

  • программу на диске (файл в файловой системе)
  • процесс в памяти (запущенный экземпляр программы)
  • Просмотр процессов

    ps

    Команда ps показывает процессы. Часто используют такие варианты:

  • ps aux и ps -ef дают расширенный список процессов (форматы отличаются, но идея одна: показать максимум полезной информации).
  • Если нужно быстро найти процесс по имени, удобно сочетать с grep (приёмы конвейера из прошлой статьи):

    pstree

    pstree показывает процессы в виде дерева: кто кого запустил.

    top

    top показывает процессы в реальном времени и помогает быстро понять, кто нагружает CPU или память.

    Подсказка: если установлен htop, он часто удобнее, но в базовых навыках достаточно top.

    Поиск процесса по имени

    Для точного поиска PID по имени часто используют:

  • pgrep ищет PID по шаблону имени процесса.
  • pidof показывает PID по имени исполняемого файла.
  • Завершение процессов и сигналы

    Когда вы «закрываете программу», на самом деле вы обычно отправляете ей сигнал завершения.

    kill

    Команда kill отправляет сигнал процессу по PID.

    Мягкое завершение (просят процесс корректно завершиться) обычно делают сигналом TERM:

    Принудительное завершение (когда процесс не реагирует) — сигнал KILL:

    Особенность KILL в том, что процесс не может его «перехватить» и корректно закрыться. Поэтому сначала обычно пробуют TERM, и только потом — KILL.

    pkill

    Если вы знаете имя процесса, можно отправить сигнал по имени:

    Будьте осторожны: если под шаблон попадает несколько процессов, сигнал получат все совпавшие.

    Приоритет (nice) и нагрузка

    Иногда процесс не нужно «убивать», а достаточно сделать его менее приоритетным.

  • nice запускает команду с заданным приоритетом
  • renice меняет приоритет уже запущенному процессу
  • Примеры:

    Чем больше значение nice, тем менее приоритетно планируется процесс (грубо говоря, он «уступает» ресурсы другим).

    Что такое служба

    Служба — это программа (или набор процессов), которую система запускает в фоновом режиме и часто поднимает автоматически при старте ОС: сеть, SSH-сервер, веб-сервер, служба печати.

    На большинстве современных установок ALT Linux роль «главного процесса системы» выполняет systemd (процесс с PID 1), который управляет службами.

    Проверить, что запущено как PID 1:

  • если в поле comm вы видите systemd, значит службы управляются через systemd-инструменты
  • Управление службами через systemctl

    В systemd службы и другие объекты называются юнитами (unit). Самый частый тип — *.service.

    Статус службы

    Вы увидите:

  • активна ли служба
  • когда запускалась
  • PID основного процесса
  • последние сообщения журнала по этой службе
  • Запуск, остановка, перезапуск

    Автозапуск при загрузке

    Проверить, включён ли автозапуск:

    Список служб

    Показать активные юниты:

    Показать все установленные сервисы и их «включён/выключен»:

    Документация по команде:

  • systemctl — документация systemd
  • Журналы системы: где смотреть сообщения

    Журналы — главный источник ответа на вопрос: почему служба не стартует, почему упала программа, что делало ядро и устройства.

    В современных системах с systemd центральное место занимает журнал journald, с которым работают через journalctl. Параллельно часто остаются и текстовые файлы в /var/log.

    journalctl: просмотр журнала

    Показать журнал (может быть очень большим):

    Ограничить последними строками:

    Следить за новыми сообщениями (аналог «хвоста»):

    Показать сообщения только текущей загрузки системы:

    Показать журнал конкретной службы:

    Комбинации часто полезнее одиночных команд. Например, журнал службы sshd только для текущей загрузки:

    Фильтрация по времени:

    Фильтрация по важности (приоритету). Например, только ошибки и критичнее:

    Документация по команде:

  • journalctl — документация systemd
  • Текстовые логи в /var/log

    Даже при наличии journalctl полезно знать про /var/log, потому что там могут храниться логи отдельных подсистем и приложений.

    Часто встречаются:

  • /var/log/messages — общие системные сообщения (зависит от конфигурации)
  • /var/log/secure — сообщения, связанные с безопасностью и аутентификацией (зависит от конфигурации)
  • Их удобно смотреть командами из прошлой темы про текст:

    Сообщения ядра: dmesg

    Если проблема похожа на аппаратную (диск, сеть, драйвер), полезно посмотреть сообщения ядра:

    Часто применяют фильтрацию:

    Права доступа: почему «недостаточно прав» — это нормально

    Управление службами (systemctl start/stop/enable) обычно требует прав администратора. Просмотр некоторых журналов тоже может быть ограничен.

    Используйте подход, который принят в вашей установке ALT Linux:

  • su - для перехода в root
  • sudo для выполнения одной команды с повышенными правами
  • Это напрямую связано с темой прав доступа: журналы могут содержать чувствительную информацию, а остановка службы может повлиять на работу всей системы.

    Практический алгоритм диагностики «служба не работает»

    Ниже — типовой порядок действий, который связывает процессы, службы и журналы.

  • Проверить статус службы.
  • Если служба не активна, попробовать запустить и сразу посмотреть статус.
  • Посмотреть журнал именно этой службы (обычно это самый быстрый путь к причине).
  • Если в сообщениях много текста, отфильтровать ключевые слова приёмами из темы про текст.
  • Если проблема похожа на аппаратную или драйверную, посмотреть dmesg.
  • Итоги

    Теперь у вас есть базовый набор для контроля и диагностики системы в ALT Linux:

  • вы понимаете, что такое процесс и как смотреть процессы (ps, pstree, top)
  • вы умеете искать PID и корректно завершать процессы (pgrep, kill, pkill)
  • вы понимаете, что такое служба и как ею управлять через systemd (systemctl)
  • вы умеете читать журналы системы и служб (journalctl, /var/log, dmesg)
  • Эти навыки дополняют предыдущие темы курса: чтение текста и конвейеры помогают фильтровать журналы, а права доступа объясняют, почему для части действий нужны административные полномочия.

    7. Сеть и диагностика: базовые сетевые команды

    Сеть и диагностика: базовые сетевые команды

    Сеть в Linux диагностируют теми же принципами, что и любую другую подсистему из прошлой темы про процессы, службы и журналы: посмотреть текущее состояние, проверить гипотезу командой, при необходимости — обратиться к логам. В этой статье вы освоите базовый набор команд, который позволяет понять, почему «нет интернета», «не открывается сайт», «служба не слушает порт».

    Базовые термины, без которых команды непонятны

  • Сетевой интерфейс — «сетевой порт» в системе: проводной Ethernet, Wi‑Fi, виртуальный интерфейс VPN.
  • IP-адрес — адрес узла в сети (например, 192.168.1.10 для локальной сети или 203.0.113.5 для внешней).
  • Префикс (маска подсети) — показывает, какая часть адреса относится к сети. В Linux обычно пишут как 192.168.1.10/24.
  • Шлюз по умолчанию — роутер, через который система выходит в другие сети (обычно в интернет).
  • Маршрут (route) — правило, куда отправлять пакеты для определённых адресов.
  • DNS — система, которая превращает имена (example.com) в IP-адреса.
  • Порт — «номер входа» на хосте для конкретного сервиса (например, 22 для SSH, 80/443 для веба).
  • Быстрый чек-лист: что проверить в первую минуту

  • Есть ли интерфейс и «линк» (поднято ли соединение).
  • Есть ли IP-адрес.
  • Есть ли маршрут по умолчанию.
  • Пингуется ли шлюз.
  • Пингуется ли внешний IP (это отделяет проблемы интернета от проблем DNS).
  • Разрешается ли имя через DNS.
  • !Шпаргалка: в каком порядке проверять сеть и какими командами

    Интерфейсы и адреса: команда ip

    Основной инструмент в Linux для просмотра интерфейсов, адресов и маршрутов — ip.

    Документация:

  • ip(8) — man7.org
  • Посмотреть интерфейсы и их состояние

    Удобный краткий формат:

    В выводе чаще всего интересует:

  • имя интерфейса (например, enp3s0, wlp2s0)
  • состояние (UP, DOWN)
  • Посмотреть IP-адреса

    Кратко:

    На что смотреть:

  • есть ли строка с inet .../.. у нужного интерфейса
  • адрес из ожидаемой подсети (например, дома часто 192.168.x.x/24)
  • > Если IP-адреса нет, обычно проблема в получении адреса (DHCP), в настройках статического адреса или в самом подключении (кабель, Wi‑Fi, VPN).

    Временно поднять или опустить интерфейс

    Эти действия требуют прав администратора.

    Используйте аккуратно: отключение интерфейса может оборвать ваш удалённый доступ.

    Маршрутизация и шлюз: ip route

    Маршруты показывают, куда система отправляет трафик.

    Типичная ключевая строка:

  • default via 192.168.1.1 dev enp3s0 — это маршрут по умолчанию, где 192.168.1.1 обычно ваш роутер.
  • Полезная команда для понимания, через что пойдёт трафик к конкретному адресу:

    Это помогает быстро увидеть:

  • какой интерфейс будет использован
  • какой шлюз (если нужен)
  • какой исходный IP-адрес выберет система
  • DNS и имена: hosts, resolv.conf, resolvectl и getent

    Локальные соответствия: /etc/hosts

    Файл /etc/hosts позволяет задать соответствие «имя → IP» локально.

    Посмотреть:

    Документация:

  • hosts(5) — man7.org
  • Если нужное имя прописано в /etc/hosts, оно может разрешаться даже при неработающем DNS.

    DNS-настройки: /etc/resolv.conf

    Традиционно DNS-серверы задаются в /etc/resolv.conf.

    Документация:

  • resolv.conf(5) — man7.org
  • Важно:

  • в современных системах этот файл иногда генерируется автоматически, и ручные правки могут быть перезаписаны
  • Проверка разрешения имён «как это делает система»: getent

    getent полезна тем, что использует системные механизмы разрешения имён (учитывая порядок источников: локальные файлы, DNS и другое).

    Если getent hosts не возвращает адрес, проблема почти всегда в DNS-настройках или доступности DNS-сервера.

    Если используется systemd-resolved: resolvectl

    На системах с systemd-resolved удобно смотреть DNS-состояние так:

    Проверить конкретное имя:

    Документация:

  • resolvectl — документация systemd
  • Проверка доступности: ping

    ping отправляет ICMP-запросы и показывает, доходит ли трафик до узла.

    Документация:

  • ping(8) — man7.org
  • Проверить связь с роутером (шлюзом):

    Проверить внешний IP (DNS здесь не участвует):

    Проверить имя (зависит от DNS):

    Как интерпретировать:

  • если шлюз не пингуется — проблема в локальном соединении, Wi‑Fi, кабеле, VLAN или настройке шлюза
  • если шлюз пингуется, внешний IP пингуется, а имя нет — почти всегда проблема DNS
  • если ничего не пингуется, но IP-адрес есть — часто проблема в маршруте по умолчанию, фаерволе или доступе провайдера
  • Ограничение:

  • некоторые узлы блокируют ICMP, поэтому отсутствие ответа не всегда означает, что сервис недоступен
  • Путь до узла: traceroute и tracepath

    Когда ping не помогает понять, где именно пропадает связь, используют трассировку.

  • traceroute <хост> — классический инструмент
  • tracepath <хост> — часто доступен без прав администратора
  • Пример:

    Смысл результата:

  • вы видите промежуточные «прыжки» (маршрутизаторы)
  • если на каком-то шаге начинаются таймауты, это указывает место, где трафик перестал проходить
  • Порты и сетевые соединения: ss

    Когда проблема не в «интернете», а в конкретном сервисе («не открывается SSH», «веб-сервер не слушает порт»), нужен просмотр сокетов.

    Документация:

  • ss(8) — man7.org
  • Проверить, что сервис слушает порт

    Что обычно важно:

  • LISTEN (если вывод показывает слушающий сокет)
  • Local Address:Port (например, 0.0.0.0:22 или 127.0.0.1:5432)
  • users:(...) (какой процесс держит порт)
  • Практический вывод:

  • если порт слушается только на 127.0.0.1, подключиться к нему извне нельзя (это не «плохой интернет», это настройка привязки)
  • Посмотреть активные TCP-соединения и процессы

    Это помогает понять:

  • установилось ли соединение
  • в каком оно состоянии (например, ESTAB, SYN-SENT, TIME-WAIT)
  • Проверка веб-доступа и HTTP: curl и wget

    Иногда DNS есть, ping ходит, но сайт «не открывается» из-за прокси, TLS, редиректов или блокировок на уровне приложения. Тогда удобны HTTP-клиенты.

    curl

    Документация:

  • curl — официальная manpage
  • Проверить только заголовки (быстро):

    Посмотреть детали соединения:

    wget

    Проверить доступность без скачивания:

    Связь с предыдущей темой: службы и журналы для сетевых проблем

    Если вы видите, что интерфейс есть, но адрес не выдаётся, или сеть «отваливается», подключайте подход из темы про службы и логи.

    Примеры типичных сетевых служб:

  • NetworkManager (часто на рабочих станциях)
  • systemd-networkd (часто на серверах)
  • Проверить, активна ли служба:

    Посмотреть статус:

    Посмотреть журнал этой службы за текущую загрузку:

    Если подозрение на драйвер или устройство (особенно Wi‑Fi), полезно смотреть сообщения ядра:

    Практический алгоритм «не работает интернет»

  • Определите, есть ли интерфейс и поднят ли он.
  • Проверьте, есть ли IP-адрес.
  • Проверьте маршрут по умолчанию.
  • Пропингуйте шлюз.
  • Пропингуйте внешний IP.
  • Проверьте DNS-резолвинг.
  • Если на шагах 1–3 всё подозрительно, смотрите службу сети и её логи.
  • Если не работает конкретный сервис, проверьте порты.
  • Итоги

    Вы освоили базовый набор сетевой диагностики в ALT Linux:

  • проверка интерфейсов и адресов: ip link, ip addr
  • проверка маршрутов и шлюза: ip route, ip route get
  • проверка доступности: ping, трассировка tracepath/traceroute
  • проверка DNS: /etc/hosts, /etc/resolv.conf, getent, resolvectl
  • проверка портов и соединений: ss
  • проверка HTTP на уровне приложения: curl, wget
  • привязка к службам и логам: systemctl, journalctl, dmesg