🐧 Основы Linux и командной строки
🎯 Цель раздела
Понимание принципов работы Linux — фундамент профессии инженера сопровождения. В этом разделе вы:
- изучите базовые команды Linux и файловую структуру системы;
- научитесь работать с терминалом и правами пользователей;
- узнаете, как устроена система пакетов ROSA;
- создадите удобное рабочее окружение для будущих сборок.
📁 Файловая структура Linux
Файловая система Linux едина и начинается с корня /.
| Каталог | Назначение |
|---|---|
/bin | Основные команды системы (например, ls, cp, mv) |
/etc | Конфигурационные файлы |
/home | Домашние каталоги пользователей |
/usr | Пользовательские приложения и библиотеки |
/var | Изменяемые данные (логи, кэши, базы данных) |
/opt | Сторонние приложения |
/root | Домашний каталог администратора |
/tmp | Временные файлы |
💡 Совет: команда
tree -L 1 /покажет корневую структуру системы.
🧭 Навигация по терминалу
Терминал — главный инструмент инженера сопровождения.
| Команда | Описание |
|---|---|
pwd | Показать текущий путь |
ls -la | Просмотреть файлы и права доступа |
cd <путь> | Перейти в каталог |
cp, mv, rm | Копирование, перемещение и удаление файлов |
cat, less, tail -f | Просмотр содержимого файлов |
mkdir, rmdir | Создание и удаление каталогов |
Пример практики
Создайте рабочую директорию для проекта:
mkdir -p ~/workspace/hello-rpm
cd ~/workspace/hello-rpm
🔐 Права и пользователи
Каждый файл в Linux имеет владельца, группу и права доступа:
ls -l
# -rw-r--r-- 1 user group 1234 Oct 25 hello.c
| Символ | Значение |
|---|---|
r | Чтение |
w | Запись |
x | Исполнение |
Изменить права можно с помощью chmod, chown и chgrp.
chmod +x build.sh
chown user:user build.sh
⚙️ Управление процессами
Для диагностики и сборок нужно уметь контролировать процессы.
| Команда | Назначение |
|---|---|
ps aux | Список всех процессов |
top / htop | Мониторинг в реальном времени |
kill <pid> | Завершить процесс |
journalctl -xe | Просмотр системных логов |
⚠️ Важно: перед сборкой пакета всегда проверяйте, нет ли зависших процессов сборки.
📦 Система пакетов ROSA
ROSA использует RPM и менеджер пакетов DNF (совместим с Fedora и RHEL).
| Команда | Описание |
|---|---|
dnf search <имя> | Поиск пакета |
dnf info <имя> | Информация о пакете |
dnf install <имя> | Установка пакета |
dnf remove <имя> | Удаление |
dnf list installed | Просмотр установленных пакетов |
Пример:
sudo dnf install rpmlint
🧩 Настройка окружения инженера
Создайте алиасы и удобные переменные окружения в ~/.bashrc:
alias ll='ls -lah --color=auto'
alias rpmb='rpmbuild -ba'
export EDITOR=vim
После изменения примените:
source ~/.bashrc
Теперь команды и цвета терминала станут удобнее для ежедневной работы.
🔗 Взаимодействие с Automated Build Farm (ABF)
Automated Build Farm (ABF) — система автоматизированной сборки и публикации пакетов ROSA. Инженеры сопровождают пакеты локально, а затем загружают SRPM в ABF для централизованной сборки и проверки.
На данном этапе вам нужно:
- Создать учётную запись на https://abf.rosalinux.ru;
- Изучить интерфейс: репозитории, сборки, логи;
- Позже — связать локальный Git с ABF (это будет подробно в документе о Git и коллаборации).
🧠 Мини-тест для самопроверки
| Вопрос | Ответ |
|---|---|
| Где хранятся конфигурации системы? | /etc |
| Как просмотреть процессы в системе? | ps aux |
Чем dnf отличается от rpm? | dnf управляет зависимостями и установкой, rpm — только локальными пакетами |
Что делает команда chmod +x script.sh? | Делает файл исполняемым |
| Как называется система сборки пакетов ROSA? | Automated Build Farm (ABF) |
🧭 Итого
Теперь вы:
- уверенно ориентируетесь в Linux;
- знаете базовые команды и систему пакетов;
- настроили комфортное рабочее окружение;
- понимаете основы взаимодействия с ABF.
Следующий документ — “Основы RPM и SRPM” — станет вашим первым шагом к реальной сборке пакетов и изучению структуры SPEC-файлов.