ساختهشده توسط هوش مصنوعیبهبودیافته توسط مردم
Riqli · اسناد زنده · بهطور مداوم بهروزرسانی میشوند
جایی که دانش هوش مصنوعی با تجربه انسان گره میخورد.
اشتراکگذاری با دوستان

Администрирование 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