🔥 CentOS — Исчерпывающая Библия Админа: Настройка, Безопасность, Оптимизация

...

 

Полное руководство по CentOS

Исчерпывающее руководство по установке, настройке и администрированию CentOS

Введение в CentOS

CentOS (Community ENTerprise Operating System) — это дистрибутив Linux, основанный на исходных кодах Red Hat Enterprise Linux (RHEL). Он разрабатывается сообществом и полностью совместим с RHEL, что делает его популярным выбором для серверов и рабочих станций.

История CentOS

CentOS был впервые выпущен в 2004 году как форк RHEL. В 2014 году Red Hat объявила о спонсорстве проекта CentOS, что привело к более тесной интеграции между двумя проектами. В 2020 году Red Hat объявила о смене стратегии развития CentOS, прекратив поддержку CentOS Linux в пользу CentOS Stream.

Особенности CentOS

  • Стабильность: Использует проверенные и надежные пакеты
  • Долгосрочная поддержка: Каждая версия поддерживается в течение 10 лет
  • Совместимость: Полная бинарная совместимость с RHEL
  • Безопасность: Регулярные обновления безопасности
  • Бесплатность: Полностью свободный дистрибутив

Версии CentOS

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

ВерсияСтатусДата выпускаПоддержка до
CentOS 7Поддерживается7 июля 201430 июня 2024
CentOS 8Прекращена (31.12.2021)24 сентября 201931 декабря 2021
CentOS Stream 8Поддерживается24 сентября 201931 мая 2024
CentOS Stream 9Поддерживается3 декабря 202131 мая 2027

Примечание: CentOS Stream — это rolling-release дистрибутив, который находится между Fedora и RHEL в процессе разработки Red Hat.

Установка CentOS

Процесс установки CentOS прост и интуитивно понятен. Рассмотрим основные шаги установки CentOS 7/8.

Требования к системе

КомпонентМинимальные требованияРекомендуемые требования
Процессор1 ГГц2 ГГц или выше (64-бит)
Оперативная память1 ГБ4 ГБ или больше
Жесткий диск20 ГБ40 ГБ или больше

Создание загрузочного носителя

Для установки CentOS необходимо создать загрузочный USB-накопитель или DVD:

  1. Скачайте ISO-образ с официального сайта centos.org/download
  2. Запишите образ на USB-накопитель с помощью утилиты:
    • В Windows: Rufus, Win32 Disk Imager
    • В Linux: dd, Etcher

Процесс установки

После загрузки с установочного носителя:

  1. Выберите “Install CentOS” в меню загрузки
  2. Выберите язык интерфейса
  3. Настройте дату и время
  4. Настройте раскладку клавиатуры
  5. Настройте разделы диска (можно использовать автоматическое разбиение)
  6. Настройте сеть и имя хоста
  7. Установите root-пароль и создайте пользователя
  8. Начните установку
  9. После завершения перезагрузите систему
# После установки можно проверить версию CentOS:
$ cat /etc/centos-release
CentOS Linux release 8.4.2105

Основные команды CentOS

CentOS использует стандартные команды Linux, но имеет некоторые особенности в управлении пакетами и сервисами.

Управление пакетами

В CentOS 7 и 8 используется менеджер пакетов yum (в CentOS 8 также доступен dnf):

# Обновить список пакетов
sudo yum update

# Установить пакет
sudo yum install package_name

# Удалить пакет
sudo yum remove package_name

# Поиск пакета
sudo yum search keyword

# Показать информацию о пакете
sudo yum info package_name

# Установить группу пакетов
sudo yum groupinstall "Development Tools"

Управление сервисами

В CentOS 7 и 8 используется systemd:

# Запустить сервис
sudo systemctl start service_name

# Остановить сервис
sudo systemctl stop service_name

# Перезапустить сервис
sudo systemctl restart service_name

# Проверить статус сервиса
sudo systemctl status service_name

# Включить автозагрузку сервиса
sudo systemctl enable service_name

# Отключить автозагрузку сервиса
sudo systemctl disable service_name

Работа с сетью

# Показать сетевые интерфейсы
ip addr show

# Проверить сетевое соединение
ping example.com

# Показать таблицу маршрутизации
ip route show

# Управление сетевыми интерфейсами (CentOS 7)
sudo systemctl restart network

# Управление сетевыми интерфейсами (CentOS 8+)
sudo nmcli connection reload

Администрирование CentOS

Рассмотрим основные аспекты администрирования сервера CentOS.

Управление пользователями

# Добавить пользователя
sudo adduser username

# Установить пароль пользователя
sudo passwd username

# Добавить пользователя в группу
sudo usermod -aG groupname username

# Удалить пользователя
sudo userdel username

# Показать информацию о пользователе
id username

# Показать список пользователей
cat /etc/passwd

Управление дисками

# Показать информацию о дисках
lsblk
fdisk -l

# Создать раздел
sudo fdisk /dev/sdX

# Форматировать раздел
sudo mkfs.ext4 /dev/sdX1

# Монтировать раздел
sudo mount /dev/sdX1 /mnt/mountpoint

# Автоматическое монтирование при загрузке
# Добавить в /etc/fstab:
/dev/sdX1 /mnt/mountpoint ext4 defaults 0 0

Мониторинг системы

# Показать использование CPU
top
htop

# Показать использование памяти
free -h

# Показать использование диска
df -h

# Показать процессы
ps aux

# Показать сетевую активность
iftop
nethogs

Безопасность в CentOS

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

SELinux

SELinux (Security-Enhanced Linux) — это механизм принудительного контроля доступа, включенный по умолчанию в CentOS.

# Показать статус SELinux
sestatus

# Временно отключить SELinux
sudo setenforce 0

# Включить SELinux
sudo setenforce 1

# Изменить режим SELinux (в файле /etc/selinux/config)
SELINUX=enforcing | permissive | disabled

Firewall (firewalld)

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

# Показать статус брандмауэра
sudo firewall-cmd --state

# Показать активные зоны
sudo firewall-cmd --get-active-zones

# Добавить порт
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

# Удалить порт
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent

# Перезагрузить брандмауэр
sudo firewall-cmd --reload

Обновления безопасности

# Проверить доступные обновления
sudo yum check-update

# Установить обновления безопасности
sudo yum update --security

# Автоматические обновления (установить yum-cron)
sudo yum install yum-cron
sudo systemctl enable yum-cron
sudo systemctl start yum-cron

Настройка сервисов в CentOS

Веб-сервер (Apache/Nginx)

# Установка Apache
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd

# Установка Nginx (из EPEL)
sudo yum install epel-release
sudo yum install nginx
sudo systemctl enable nginx
sudo systemctl start nginx

База данных (MariaDB/MySQL)

# Установка MariaDB
sudo yum install mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation

PHP

# Установка PHP (CentOS 7)
sudo yum install php php-mysql php-fpm

# Установка PHP (CentOS 8)
sudo dnf install php php-mysqlnd php-fpm

SSH сервер

# Установка SSH (обычно установлен по умолчанию)
sudo yum install openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

# Настройка SSH (файл /etc/ssh/sshd_config)
Port 2222
PermitRootLogin no
PasswordAuthentication no

Решение проблем

Просмотр логов

# Основной системный журнал
sudo journalctl -xe

# Логи загрузки
sudo journalctl -b

# Логи конкретного сервиса
sudo journalctl -u service_name

# Логи ядра
dmesg

# Аутентификация
sudo tail -f /var/log/secure

# Apache/Nginx
sudo tail -f /var/log/httpd/error_log
sudo tail -f /var/log/nginx/error.log

Восстановление пароля root

  1. Перезагрузите систему
  2. В меню загрузки нажмите ‘e’ для редактирования
  3. Найдите строку, начинающуюся с ‘linux16’
  4. Добавьте в конец строки ‘rd.break’
  5. Нажмите Ctrl+X для загрузки
  6. Выполните команды:
    mount -o remount,rw /sysroot
    chroot /sysroot
    passwd root
    touch /.autorelabel
    exit
    reboot

Миграция с CentOS Linux на CentOS Stream или альтернативы

После изменений в стратегии CentOS многие пользователи рассматривают варианты миграции.

Переход на CentOS Stream

# Для CentOS 8:
sudo dnf --disablerepo '*' --enablerepo extras swap centos-linux-repos centos-stream-repos
sudo dnf distro-sync

# Для CentOS 7 переход на Stream не рекомендуется

Альтернативы CentOS

  • Rocky Linux: Форк RHEL, созданный одним из основателей CentOS
  • AlmaLinux: Еще один форк RHEL, спонсируемый CloudLinux
  • Oracle Linux: Бесплатный дистрибутив от Oracle с совместимостью RHEL
  • Ubuntu Server: Популярный серверный дистрибутив от Canonical
  • Debian: Стабильный и надежный дистрибутив
© 2025 Полное руководство по CentOS. Все права защищены.Информация предоставлена “как есть”. Автор не несет ответственности за любой ущерб, вызванный использованием этой информации.