Перейти до вмісту

CentOS

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні


SEO title: CentOS — Linux-дистрибутив корпоративного класу SEO description: Огляд CentOS: історія, CentOS Linux, CentOS Stream, зв'язок із RHEL, DNF, RPM, переваги, недоліки, міграція та сфери застосування. SEO keywords: CentOS, CentOS Linux, CentOS Stream, Linux, RHEL, Red Hat Enterprise Linux, Enterprise Linux, RPM, DNF, серверний Linux, Open Source Alternative to:


Головна ідея: CentOS історично був безкоштовним Linux-дистрибутивом корпоративного класу, сумісним із Red Hat Enterprise Linux, і широко використовувався на серверах, у хостингу та enterprise-інфраструктурі.

Ключова особливість: сучасний CentOS існує передусім як CentOS Stream — дистрибутив, що знаходиться між Fedora та Red Hat Enterprise Linux і слугує відкритою платформою для майбутніх оновлень RHEL.

Важливо: класичний CentOS Linux завершив життєвий цикл: CentOS Linux 8 досяг EOL 31 грудня 2021 року, а CentOS Linux 7 — 30 червня 2024 року. Для нових production-систем зазвичай розглядають CentOS Stream, AlmaLinux, Rocky Linux, Oracle Linux або RHEL.

1. Загальний опис

CentOS — це Linux-дистрибутив, який історично був тісно пов'язаний з екосистемою Red Hat Enterprise Linux.

Назва CentOS розшифровується як Community ENTerprise Operating System.

Протягом багатьох років CentOS Linux використовувався як безкоштовна альтернатива RHEL для:

  • серверів;
  • вебхостингу;
  • корпоративної інфраструктури;
  • баз даних;
  • поштових серверів;
  • DevOps-середовищ;
  • навчання Linux-адмініструванню;
  • сумісності з Enterprise Linux-програмами.

Після зміни моделі розвитку проєкту класичний CentOS Linux було замінено напрямком CentOS Stream.

CentOS Stream не є прямою копією RHEL після релізу. Це відкритий development-потік, який знаходиться перед наступними minor-релізами RHEL. Офіційний проєкт CentOS описує CentOS Stream як дистрибутив, що відстежує розвиток трохи попереду RHEL і розташований між Fedora та RHEL. :contentReference[oaicite:0]{index=0}

2. Коротка характеристика

Характеристика Значення
Назва CentOS
Повна назва Community ENTerprise Operating System
Тип Linux-дистрибутив корпоративного класу
Історична модель Безкоштовний rebuild Red Hat Enterprise Linux
Сучасна модель CentOS Stream
Родина Enterprise Linux / RPM-based
Менеджер пакетів YUM у старіших версіях, DNF у новіших
Формат пакетів RPM
Init-система systemd у сучасних версіях
Основне призначення Сервери, enterprise, хостинг, DevOps, тестування RHEL-екосистеми
Поточний напрям CentOS Stream

3. CentOS Linux і CentOS Stream

CentOS має дві важливі історичні моделі:

Назва Опис Статус
CentOS Linux Класичний стабільний дистрибутив, який був rebuild-ом RHEL. Завершив життєвий цикл.
CentOS Stream Відкритий потік розробки, що знаходиться перед наступними minor-релізами RHEL. Активно розвивається.

Офіційне порівняння CentOS пояснює, що CentOS Stream є публічною upstream-гілкою для RHEL: наприклад, CentOS Stream 9 є upstream для наступних minor-релізів RHEL 9. :contentReference[oaicite:1]{index=1}

4. Історія

CentOS з'явився як community-проєкт, який надавав користувачам безкоштовну систему, сумісну з RHEL.

Ключові етапи:

Рік Подія
2004 Початок розвитку CentOS як community rebuild RHEL.
2014 CentOS офіційно приєднався до екосистеми Red Hat.
2019 Представлено CentOS Stream як новий напрям розвитку.
2020 Оголошено зміну фокусу з CentOS Linux на CentOS Stream.
2021 CentOS Linux 8 досяг End of Life 31 грудня 2021 року.
2024 CentOS Linux 7 досяг End of Life 30 червня 2024 року.
2020-ті CentOS Stream став основним напрямом CentOS Project.

CentOS Project офіційно повідомляв, що CentOS Linux 8 досяг EOL 31 грудня 2021 року. :contentReference[oaicite:2]{index=2} CentOS Linux 7 завершив життєвий цикл 30 червня 2024 року, після чого для нього не публікуються оновлення від CentOS Project. :contentReference[oaicite:3]{index=3}

5. Філософія CentOS

Історично CentOS був орієнтований на:

Принцип Опис
Стабільність Пакети змінювалися обережно, з фокусом на production.
Enterprise-сумісність Система була близькою до RHEL.
Безкоштовність Користувачі могли отримати enterprise-подібну платформу без ліцензійної оплати.
Community Проєкт розвивався спільнотою.
Довгий життєвий цикл CentOS Linux мав довгу підтримку major-версій.

У сучасній моделі CentOS Stream фокус змістився:

  • від rebuild після RHEL;
  • до відкритого development-потоку перед наступними оновленнями RHEL;
  • до участі спільноти у формуванні майбутніх Enterprise Linux-змін.

Практичний сенс: CentOS Stream більше підходить для розробників, тестувальників і команд, які хочуть працювати ближче до майбутніх змін RHEL, ніж для тих, кому потрібна точна заміна старого CentOS Linux.

6. Основні особливості CentOS Linux

6.1. Сумісність із RHEL

Класичний CentOS Linux був популярним завдяки сумісності з Red Hat Enterprise Linux.

Це дозволяло використовувати його для:

  • програм, розрахованих на RHEL;
  • серверних застосунків;
  • хостинг-панелей;
  • enterprise middleware;
  • баз даних;
  • навчання адмініструванню RHEL-подібних систем.

6.2. RPM-пакети

CentOS використовував формат пакетів RPM.

RPM-пакети містять:

  • файли програми;
  • метадані;
  • залежності;
  • скрипти встановлення;
  • інформацію про версію;
  • цифрові підписи.

6.3. YUM і DNF

У старіших версіях CentOS основним менеджером пакетів був YUM.

У новіших Enterprise Linux-системах його роль перейшла до DNF.

Типові команди:

Команда Призначення
yum update Оновити систему у старіших версіях.
yum install package Встановити пакет у старіших версіях.
dnf update Оновити систему у новіших версіях.
dnf install package Встановити пакет у новіших версіях.
rpm -qa Показати встановлені RPM-пакети.
rpm -qi package Показати інформацію про пакет.

6.4. SELinux

CentOS, як і RHEL, використовував SELinux для розширеного контролю доступу.

Перевірка статусу:

sestatus

Типові режими:

Режим Опис
Enforcing Політики SELinux активно застосовуються.
Permissive Порушення політик логуються, але не блокуються.
Disabled SELinux вимкнено.

6.5. Systemd

У сучасних версіях CentOS використовується systemd.

Приклади команд:

systemctl status nginx
sudo systemctl enable nginx
sudo systemctl start nginx
journalctl -xe

7. CentOS Stream

CentOS Stream — це сучасний основний напрям CentOS Project.

CentOS Stream є continuously delivered-дистрибутивом, який відстежує розробку перед RHEL. Red Hat описує його як Linux-дистрибутив, де спільнота може розробляти, тестувати й робити внесок у потік, що знаходиться upstream для Red Hat Enterprise Linux. :contentReference[oaicite:4]{index=4}

Основні властивості CentOS Stream:

  • знаходиться між Fedora та RHEL;
  • отримує зміни перед відповідними minor-релізами RHEL;
  • дає прозоріший доступ до розробки RHEL-екосистеми;
  • підходить для тестування майбутніх enterprise-змін;
  • використовується розробниками, інтеграторами та open source-спільнотою.

8. Архітектура системи

Загальна схема CentOS-подібної системи:

Hardware / Virtual Machine / Cloud Instance
        |
        v
Linux Kernel
        |
        v
systemd
        |
        v
Base System
        |
        +--> RPM
        +--> YUM / DNF
        +--> SELinux
        +--> firewalld
        +--> NetworkManager
        |
        v
Server Roles
        |
        +--> Web Server
        +--> Database Server
        +--> Mail Server
        +--> Container Host
        +--> Virtualization Host
        +--> Monitoring Server

9. Репозиторії

Типові репозиторії CentOS / Enterprise Linux-систем:

Репозиторій Опис
Base / BaseOS Базові компоненти системи.
AppStream Застосунки, runtime-середовища та модулі.
Extras Додаткові системні пакети.
CRB / PowerTools Пакети для розробки та залежності.
EPEL Додатковий репозиторій Fedora Project для Enterprise Linux.

10. EPEL

EPELExtra Packages for Enterprise Linux — репозиторій додаткових пакетів для RHEL-сумісних систем.

Для CentOS він часто використовувався для встановлення програм, яких немає в базових репозиторіях.

Приклад:

sudo yum install epel-release

або для новіших систем:

sudo dnf install epel-release

Після підключення EPEL можна встановити додаткові пакети:

sudo dnf install htop

11. Типове встановлення пакетів

Для старих CentOS-систем:

sudo yum update
sudo yum install nginx

Для новіших CentOS Stream-систем:

sudo dnf update
sudo dnf install nginx

Запуск сервісу:

sudo systemctl enable --now nginx

Перевірка статусу:

systemctl status nginx

12. CentOS як вебсервер

CentOS дуже часто використовувався як серверна платформа для вебсервісів.

Типовий стек:

Компонент Приклад
Web server Apache HTTP Server або Nginx
Database MariaDB, MySQL, PostgreSQL
Runtime PHP, Python, Node.js, Ruby, Java
Firewall firewalld або iptables
Security SELinux
Monitoring Zabbix, Prometheus, Nagios

Приклад встановлення Apache:

sudo dnf install httpd
sudo systemctl enable --now httpd

Дозвіл HTTP у firewalld:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

13. CentOS у хостингу

CentOS був одним із найпопулярніших дистрибутивів у вебхостингу.

Його використовували разом із:

  • cPanel;
  • Plesk;
  • DirectAdmin;
  • Apache;
  • Nginx;
  • PHP-FPM;
  • MariaDB;
  • MySQL;
  • Exim;
  • Dovecot;
  • Fail2ban.

Причини популярності:

  • стабільність;
  • сумісність із enterprise-пакетами;
  • довгий життєвий цикл;
  • велика кількість інструкцій;
  • підтримка хостинг-панелей;
  • передбачуване оновлення пакетів.

14. CentOS у DevOps

CentOS використовувався у DevOps-середовищах для:

  • CI/CD runner-ів;
  • тестових серверів;
  • Docker host;
  • Kubernetes node;
  • Ansible-managed інфраструктури;
  • Jenkins agent;
  • GitLab Runner;
  • build server;
  • monitoring server.

Типовий набір інструментів:

sudo dnf install git vim curl wget tar unzip bash-completion

Для розробки:

sudo dnf groupinstall "Development Tools"

15. Контейнери

CentOS і CentOS Stream можуть використовуватися як host-системи або container images.

Типові інструменти:

  • Podman;
  • Buildah;
  • Skopeo;
  • Docker;
  • containerd;
  • Kubernetes;
  • OpenShift-сумісні інструменти.

Приклад встановлення Podman:

sudo dnf install podman

Запуск тестового контейнера:

podman run --rm hello-world

16. Переваги CentOS Linux

Перевага Опис
Стабільність CentOS Linux був дуже популярним для серверів завдяки стабільному набору пакетів.
RHEL-сумісність Багато enterprise-програм працювали так само, як у RHEL.
Безкоштовність CentOS можна було використовувати без оплати ліцензії.
Довгий життєвий цикл Класичні релізи мали тривалу підтримку.
Велика спільнота Існувало багато документації, інструкцій і прикладів.
RPM/YUM/DNF Зрозуміла екосистема для адміністраторів Red Hat-напрямку.
SELinux Потужна система контролю доступу.

17. Недоліки CentOS Linux

Недолік Опис
Завершення життєвого циклу CentOS Linux більше не є актуальним напрямом для нових систем.
Старіші пакети Через стабільну модель версії програм часто були не найновішими.
Складність для початківців Порівняно з Ubuntu або Linux Mint система вимагала більше адміністрування.
Зміна моделі розвитку Перехід до CentOS Stream змінив очікування користувачів.
Ризики EOL Старі CentOS Linux-системи без підтримки не отримують офіційних оновлень безпеки.

18. Переваги CentOS Stream

Перевага Опис
Ближче до RHEL-розробки Можна бачити майбутні зміни RHEL раніше.
Відкритіший процес Спільнота може брати участь у розвитку Enterprise Linux.
Підходить для тестування Корисний для перевірки майбутньої сумісності.
RPM/DNF-екосистема Зберігає знайомий підхід для адміністраторів RHEL-напрямку.
Безкоштовність CentOS Stream можна використовувати без оплати ліцензії.

19. Обмеження CentOS Stream

Обмеження Опис
Не є старим CentOS Linux Це не rebuild RHEL після релізу.
Менш консервативний за RHEL Зміни потрапляють раніше, ніж у RHEL minor release.
Не завжди ідеальний для критичного production Для максимально передбачуваного enterprise-середовища часто обирають RHEL, AlmaLinux або Rocky Linux.
Потребує розуміння моделі Адміністратор має розуміти різницю між Stream і класичним CentOS Linux.

20. Порівняння з іншими дистрибутивами

Дистрибутив Схожість з CentOS Відмінність
RHEL CentOS історично був сумісний із RHEL-екосистемою. RHEL має комерційну підтримку Red Hat.
AlmaLinux RHEL-сумісний community-дистрибутив. AlmaLinux створений як заміна класичного CentOS Linux.
Rocky Linux Також RHEL-сумісний community-дистрибутив. Має власну організацію та спільноту.
Oracle Linux Enterprise Linux-сумісний дистрибутив. Має комерційний бекграунд Oracle і власні особливості ядра.
Fedora Пов'язана з Red Hat-екосистемою. Fedora швидше впроваджує нові технології та є upstream для ширшої EL-екосистеми.
Debian Обидва часто використовуються на серверах. Debian використовує DEB/APT, CentOS — RPM/YUM/DNF.
Ubuntu Server Обидва популярні на серверах. Ubuntu має інший цикл релізів, іншу екосистему пакетів і APT.

21. Життєвий цикл

Важливі дати:

Версія Статус Дата завершення підтримки
CentOS Linux 7 EOL 30 червня 2024
CentOS Linux 8 EOL 31 грудня 2021
CentOS Stream 8 EOL 31 травня 2024
CentOS Stream 9 Активний у межах життєвого циклу RHEL 9 31 травня 2027
CentOS Stream 10 Активний у межах життєвого циклу RHEL 10 Орієнтовно до 2030 року

Практична порада: якщо сервер усе ще працює на CentOS Linux 7 або CentOS Linux 8, потрібно планувати міграцію, оскільки ці системи вже не отримують стандартних оновлень від CentOS Project.

22. Міграція з CentOS

Після завершення CentOS Linux багато організацій розглядають міграцію на:

  • AlmaLinux;
  • Rocky Linux;
  • Oracle Linux;
  • Red Hat Enterprise Linux;
  • CentOS Stream;
  • Debian;
  • Ubuntu Server.

Вибір залежить від цілей:

Потреба Можливий вибір
Максимальна RHEL-сумісність без комерційної ліцензії AlmaLinux або Rocky Linux
Офіційна комерційна підтримка Red Hat Enterprise Linux
Участь у майбутньому розвитку RHEL CentOS Stream
Перехід на іншу стабільну серверну екосистему Debian або Ubuntu Server
Oracle-орієнтована інфраструктура Oracle Linux

23. Коли варто використовувати CentOS Stream

CentOS Stream доцільно використовувати, якщо:

  • потрібно тестувати майбутні зміни RHEL;
  • команда розробляє програмне забезпечення для Enterprise Linux;
  • потрібна безкоштовна RPM/DNF-система;
  • важлива участь у RHEL-екосистемі;
  • потрібно середовище між Fedora та RHEL;
  • система не є критичним production-сервером із максимально консервативними вимогами.

24. Коли не варто використовувати старий CentOS Linux

CentOS Linux 7 і CentOS Linux 8 не варто використовувати для нових систем, тому що:

  • вони завершили життєвий цикл;
  • не отримують стандартних оновлень безпеки від CentOS Project;
  • можуть мати вразливі пакети;
  • частина репозиторіїв може бути перенесена в архів;
  • нове програмне забезпечення поступово припиняє підтримку старих версій;
  • міграція пізніше може бути складнішою.

25. Безпека

CentOS-подібні системи традиційно мають сильну enterprise-базу безпеки.

Основні компоненти:

  • SELinux;
  • firewalld;
  • GPG-підпис пакетів;
  • systemd-journald;
  • контроль користувачів і груп;
  • sudo;
  • SSH hardening;
  • регулярні security updates у підтримуваних версіях.

Рекомендовані практики:

  • не використовувати EOL-версії для production;
  • регулярно оновлювати систему;
  • не вимикати SELinux без аналізу;
  • налаштувати firewall;
  • обмежити SSH-доступ;
  • використовувати SSH-ключі;
  • робити backup перед оновленнями;
  • перевіряти журнали systemd;
  • встановлювати пакети тільки з довірених репозиторіїв.

26. Типові команди адміністратора

Оновлення системи:

sudo dnf update

Встановлення пакета:

sudo dnf install package_name

Видалення пакета:

sudo dnf remove package_name

Пошук пакета:

dnf search package_name

Список репозиторіїв:

dnf repolist

Перегляд сервісів:

systemctl list-units --type=service

Перегляд логів:

journalctl -xe

Перевірка відкритих портів:

ss -tulpn

27. Типові помилки користувачів

Помилка Наслідок Як уникнути
Використання CentOS Linux 7/8 після EOL Відсутність стандартних оновлень безпеки. Планувати міграцію на підтримувану систему.
Плутанина між CentOS Linux і CentOS Stream Неправильний вибір платформи для production. Розуміти різницю між rebuild-моделлю і Stream-моделлю.
Вимкнення SELinux без аналізу Зниження рівня безпеки. Використовувати audit logs і налаштовувати контексти.
Встановлення випадкових репозиторіїв Конфлікти пакетів і ризики безпеки. Використовувати офіційні репозиторії та перевірені джерела.
Відсутність backup перед міграцією Ризик втрати даних. Робити snapshot або повну резервну копію.

28. CentOS для навчання

CentOS і CentOS Stream корисні для навчання:

  • RPM-пакетам;
  • DNF/YUM;
  • systemd;
  • SELinux;
  • firewalld;
  • серверному адмініструванню;
  • RHEL-сумісній екосистемі;
  • вебсерверному стеку;
  • автоматизації через Ansible;
  • роботі з контейнерами.

Для навчання стару EOL-систему можна запускати в ізольованій лабораторії, але не варто використовувати її як відкритий сервер в інтернеті.

29. Висновок

CentOS був одним із найважливіших серверних Linux-дистрибутивів у світі. Його популярність базувалася на стабільності, RHEL-сумісності, безкоштовності та великій спільноті.

Сьогодні потрібно чітко розрізняти:

  • CentOS Linux — класичний RHEL rebuild, який завершив життєвий цикл;
  • CentOS Stream — активний development-потік перед наступними minor-релізами RHEL.

Для нових production-систем замість старого CentOS Linux часто обирають AlmaLinux, Rocky Linux, RHEL або інший підтримуваний серверний дистрибутив.

CentOS Stream залишається важливим для розробників, тестувальників і команд, які хочуть працювати ближче до майбутнього розвитку Enterprise Linux.

30. Джерела

  • Офіційний сайт CentOS Project
  • CentOS Stream
  • CentOS Linux EOL
  • Comparing CentOS Linux and CentOS Stream
  • Red Hat: What is CentOS Stream?
  • Red Hat: CentOS Linux EOL
  • CentOS Blog
  • EPEL Project
  • Red Hat Enterprise Linux documentation

31. Див. також

Linux CentOS CentOS Linux CentOS Stream Операційні системи Linux-дистрибутиви Enterprise Linux RHEL AlmaLinux Rocky Linux Fedora DNF RPM SELinux Systemd Серверне адміністрування