أنشأها الذكاء الاصطناعيحسّنها الناس

Riqli · مستندات حية · تُحدَّث باستمرار

حيث يلتقي معرفة الذكاء الاصطناعي بممارسة الإنسان.

مشاركة مع الأصدقاء
image

Администрирование Linux. Hard skill. (Linux администрирование. Linux настройка сервера. Командная строка linux. Systemd unit file. Tutorial. Practice. Standard.)

الأقسام

Администрирование Linux: Управление пакетами и репозиториями (YUM/DNF)

Этот раздел охватывает основы работы с менеджерами пакетов в семействе Red Hat. Вы узнаете, как искать, устанавливать, обновлять и удалять программное обеспечение, а также управлять репозиториями для автоматического разрешения зависимостей.
المحتويات

В дистрибутивах семейства Red Hat (RHEL, CentOS, Rocky Linux) основным инструментом для управления пакетами является YUM (Yellowdog Updater Modified) и его преемник DNF. Они автоматически разрешают и устанавливают зависимости пакетов, что критически важно для стабильности и безопасности системы. Файлы конфигурации репозиториев с расширением `.repo` хранятся в каталоге /etc/yum.repos.d/. Просмотреть историю всех транзакций (установка, удаление, обновление) можно с помощью команды `yum history`.

المحتويات

Для поиска пакета, когда точное имя неизвестно, используется команда yum search. Например, `yum search web server`. Для получения подробной информации о конкретном пакете (версия, архитектура, описание, лицензия, репозиторий) применяется команда yum info. Установка пакета выполняется командой `yum install`, а удаление — `yum remove`.

الأقسام

Сетевая безопасность: Управление брандмауэром firewalld

Этот раздел посвящен настройке межсетевого экрана в современных дистрибутивах Linux. Вы изучите концепцию зон безопасности, научитесь разрешать или блокировать доступ к службам и портам, а также настраивать маскарадинг и переадресацию портов.
المحتويات

Firewalld использует концепцию зон (zones) для определения уровня доверия к сети. Каждая зона (например, `public`, `home`, `internal`, `dmz`) имеет свой набор предопределенных правил. Зона по умолчанию — `public`. Для просмотра активной зоны используется команда `firewall-cmd --get-default-zone`. Чтобы добавить правило, нужно использовать ключ `--permanent` для сохранения после перезагрузки, а затем выполнить `firewall-cmd --reload`.

المحتويات

Для разрешения доступа к веб-серверу необходимо добавить службы `http` (порт 80) и `https` (порт 443) в зону. Команда: `firewall-cmd --permanent --add-service=http --add-service=https`. Также можно разрешить доступ по номеру порта: `firewall-cmd --permanent --add-port=8080/tcp`. Для проверки всех правил в зоне используется `firewall-cmd --list-all`.

الأقسام

Безопасность Linux: SELinux и управление доступом

Этот раздел погружает вас в механизм принудительного контроля доступа SELinux (Security-Enhanced Linux). Вы узнаете о его режимах работы, контекстах безопасности, а также научитесь диагностировать и исправлять проблемы, связанные с SELinux.
المحتويات

SELinux добавляет уровень безопасности поверх стандартных прав доступа (rwx). Каждый процесс и файл имеют контекст безопасности, включающий пользователя, роль и тип. Основные режимы SELinux: Enforcing (правила применяются и блокируют запрещенный доступ), Permissive (правила не применяются, только логируются) и Disabled (полностью отключен). Проверить текущий режим можно командой `getenforce`.

المحتويات

Каждый файл и каталог имеет контекст SELinux, который можно просмотреть с помощью команды `ls -Z`. Например, веб-сервер Apache может работать только с файлами, имеющими тип `httpd_sys_content_t`. Если переместить файл сайта в другой каталог, контекст может измениться, и Apache не сможет его прочитать. Для восстановления правильного контекста используется команда restorecon.

الأقسام

Планирование задач и автоматизация (Cron и Bash)

В этом разделе вы научитесь автоматизировать рутинные задачи системного администратора с помощью планировщика Cron и создавать собственные скрипты на языке Bash для эффективного управления системой.
المحتويات

Демон crond выполняет задачи по расписанию. Пользовательские задания настраиваются в crontab (команда `crontab -e`). Синтаксис строки crontab: `минуты часы день_месяца месяц день_недели команда`. Специальные директории, такие как /etc/cron.daily/, позволяют запускать скрипты ежедневно. Просмотреть список заданий текущего пользователя можно командой `crontab -l`.

المحتويات

Bash-скрипты начинаются с shebang (`#!/bin/bash`), указывающего интерпретатор. Для получения ввода от пользователя используется команда read. Условные операторы (`if-then-else`) и циклы (`for`, `while`) управляют логикой. Для обработки текста и фильтрации данных применяются мощные утилиты grep, awk и sed. Важно устанавливать правильные права доступа на скрипт (`chmod +x`).

الأقسام

Виртуализация и контейнеризация (KVM и Podman)

Этот раздел знакомит с технологиями виртуализации на базе ядра KVM и контейнеризации с помощью Podman. Вы научитесь создавать и управлять виртуальными машинами и контейнерами, что является ключевым навыком для современного DevOps-инженера.
المحتويات

KVM (Kernel-based Virtual Machine) — это встроенное в ядро Linux решение для виртуализации. Управление осуществляется через libvirt. Основные команды: virsh list --all (список всех ВМ), virsh start (запуск), virsh shutdown (корректное выключение) и virsh destroy (принудительное выключение). Графический интерфейс для управления — Virtual Machine Manager (virt-manager).

المحتويات

Podman — это демон-less (без центрального демона) инструмент для управления контейнерами, что делает его более безопасным, чем Docker. Команды Podman совместимы с Docker. Запустить контейнер можно командой podman run. Ключ `-it` запускает интерактивный сеанс, `--rm` автоматически удаляет контейнер после остановки, а `-d` запускает контейнер в фоновом режиме (демоном).

الأقسام

Мониторинг и производительность системы (top, nice, renice)

В этом разделе вы освоите инструменты для мониторинга системы в реальном времени, анализа загрузки CPU, использования памяти и дисковых операций I/O, а также научитесь управлять приоритетами процессов для оптимизации производительности.
المحتويات

Команда top предоставляет динамический взгляд на работающие процессы. Она показывает загрузку процессора (CPU), использование оперативной памяти (Memory) и swap-раздела. Для сортировки процессов по использованию CPU нажмите клавишу `P`, по использованию памяти — `M`. Для выхода из top используется клавиша `q`. Более современная альтернатива — htop.

المحتويات

Изменить приоритет уже запущенного процесса можно командой renice. Например, `renice -n 10 -p 1234` установит nice-значение 10 для процесса с PID 1234 (понизив его приоритет). Только суперпользователь (root) может устанавливать отрицательные значения (повышать приоритет). Для запуска нового процесса с измененным приоритетом используется команда `nice -n 5 command`.

الأقسام

Администрирование Linux: Автоматизация с Python

Основы Python для замены Bash-скриптов. Динамическая типизация, условные операторы, работа с файлами и модуль subprocess.
المحتويات

В отличие от Bash, Python лучше подходит для сложной логики и обработки данных. Переменные не требуют указания типа. Условный оператор if-elif-else управляет логикой. Модуль subprocess выполняет системные команды.

المحتويات

Обработка ошибок: конструкция try-except-else-finally. Списки (list) и словари (dict) — основные структуры данных. Функции переиспользуют код. Модули и пакеты организуют проект.

الأقسام

Администрирование Linux: Основы Ansible

Введение в Ansible — инструмент автоматизации без агентов. Ключевые компоненты: модули, инвентаризация, playbooks на YAML и ad-hoc команды.
المحتويات

Ключевое преимущество Ansible — отсутствие агентов (используется SSH). Инвентаризация (Inventory) — файл со списком хостов и групп. Модули — инструменты для задач. Playbooks на YAML описывают желаемое состояние системы.

المحتويات

Модуль ping проверяет доступность узлов. Модуль apt/yum управляет пакетами. Модуль copy копирует файлы. Модуль template использует Jinja2 для динамических конфигураций. Переменные параметризуют конфигурации.

الأقسام

Администрирование Linux: Контейнеризация с Docker

Основы Docker: образы, контейнеры, Docker Hub, Dockerfile. Отличия контейнеров от виртуальных машин.
المحتويات

Контейнеры используют одно ядро хостовой ОС, они легковесны. Образ (image) — read-only шаблон. Docker Hub — публичный реестр образов. docker pull загружает образ, docker run создает контейнер. -d — фон, -it — интерактив.

المحتويات

Управление: docker ps (список), stop, rm, logs. Тома (volumes) для постоянных данных. Docker Compose и docker-compose.yml для многоконтейнерных приложений. Многоэтапная сборка уменьшает размер образов.

الأقسام

Администрирование Linux: Git и CI/CD

Основы Git: репозитории, ветки, слияние. Базовые концепции CI/CD и автоматизация с GitHub Actions.
المحتويات

Git — распределенная система контроля версий. Основные команды: init, clone, add, commit, push, pull, branch, merge. Ветки (branches) изолируют разработку новых функций. GitHub Actions — платформа CI/CD.

المحتويات

В GitLab CI конвейер в файле .gitlab-ci.yml. Элементы: stages (этапы), jobs (задачи), runners (агенты). Git Flow — стратегия ветвления (main, develop, feature). Pull Request — рецензирование кода.

الأقسام

Администрирование Linux: Мониторинг с ELK Stack

Введение в экосистему ELK: Elasticsearch, Logstash, Kibana, Beats. Централизованный сбор и визуализация логов и метрик.
المحتويات

Elasticsearch — распределенная поисковая NoSQL. Logstash — конвейер обработки (сбор, фильтрация). Kibana — веб-интерфейс для визуализации. Beats — легковесные агенты: Filebeat (логи), Metricbeat (метрики системы).

المحتويات

APM отслеживает производительность приложений. Elasticsearch Query DSL — язык запросов JSON. Алерты (Alerts) в Kibana на основе правил (CPU > 90%). Визуализации объединяются в дашборды.

الأقسام

Администрирование Linux: Управление пользователями и правами

Управление локальными пользователями и группами. Файлы /etc/passwd, /etc/shadow, /etc/group. Команды useradd, usermod, userdel, groupadd.
المحتويات

Файл /etc/passwd хранит информацию о пользователях (имя, UID, GID, домашний каталог, shell). Файл /etc/shadow содержит зашифрованные пароли и политики их действия. Команда useradd создает пользователя, userdel удаляет (ключ -r удаляет домашний каталог).

المحتويات

Права доступа (чтение r=4, запись w=2, выполнение x=1). Команда chmod меняет права. chown меняет владельца и группу. ACL (setfacl/getfacl) дают гибкие права. Специальные биты: SUID (4), SGID (2), Sticky (1).

الأقسام

Администрирование Linux: Управление процессами

Управление процессами: ps, top, htop, kill, jobs, bg, fg. Сигналы процессов. Приоритеты nice и renice.
المحتويات

ps aux — список всех процессов. top/htop — интерактивный мониторинг. kill отправляет сигналы (SIGTERM=15, SIGKILL=9). jobs показывает фоновые задачи. bg/fg управляют задачами. nice запускает процесс с приоритетом, renice меняет приоритет работающего.

المحتويات

Команда top: клавиша P — сортировка по CPU, M — по памяти, k — убить процесс, r — изменить приоритет (renice). htop — улучшенная версия с цветами и управлением мышью. systemd-cgtop показывает использование ресурсов по контрольным группам (cgroups).

الأقسام

Администрирование Linux: Управление дисками и файловыми системами

Управление дисками: fdisk, parted, mkfs, mount, umount, df, du, LVM. Монтирование файловых систем.
المحتويات

df -h — свободное место на дисках. du -sh — размер каталога. fdisk -l — список разделов. mkfs.ext4 создает файловую систему. mount монтирует раздел, umount размонтирует. /etc/fstab — автоматическое монтирование при загрузке.

المحتويات

LVM (Logical Volume Manager): PV (Physical Volume), VG (Volume Group), LV (Logical Volume). pvcreate, vgcreate, lvcreate. Расширение LV: lvextend + resize2fs (для ext4) или xfs_growfs (для XFS). snapshots — снимки состояния.


أسئلة

Какой инструмент командной строки в RHEL 9 и CentOS Stream 9 используется для управления пакетами с автоматическим разрешением зависимостей?

إجاباتصحيح

DNF (Dandified YUM).

تفسيرات

Начиная с RHEL 8 и CentOS 8, YUM был заменен на DNF как стандартный менеджер пакетов. DNF предлагает улучшенную производительность, лучшее разрешение зависимостей, более чистый API и поддержку сторонних плагинов, оставаясь при этом обратно совместимым с основными командами YUM.

إجاباتخاطئ

APT (Advanced Package Tool).


أسئلة

Какая команда YUM/DNF позволяет просмотреть историю всех выполненных транзакций с пакетами (установка, удаление, обновление)?

إجاباتصحيح

Команда yum history (или dnf history).

تفسيرات

`yum history` отображает список транзакций с уникальными ID, датой, временем, действием и количеством затронутых пакетов. Это незаменимый инструмент для аудита и отката изменений, так как с помощью `yum history undo ` можно отменить любую прошлую транзакцию.