CentOS
Головна ідея: 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
EPEL — Extra 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 Серверне адміністрування