CentOS Stream — это новый этап в развитии популярного дистрибутива Linux, который стал связующим звеном между разработкой Red Hat Enterprise Linux (RHEL) и выпуском его стабильных версий. После прекращения поддержки CentOS 8 в конце 2021 года пользователи были вынуждены перейти на CentOS Stream или искать альтернативные решения. Одним из ключевых изменений стало управление пакетами, что вызвало множество вопросов у системных администраторов и разработчиков. В этой статье мы подробно рассмотрим, как изменилось управление пакетами в CentOS Stream по сравнению с CentOS 8, и на что стоит обратить внимание при переходе.
Основные изменения в архитектуре CentOS Stream
CentOS Stream представляет собой «прокатку» обновлений (rolling release), которая предвосхищает будущие версии RHEL. Это означает, что пакеты в CentOS Stream обновляются быстрее, чем в RHEL, но могут быть менее стабильными, поскольку они еще проходят стадию тестирования перед включением в коммерческую версию.
Ранее CentOS выступал в роли копии RHEL с минимальными изменениями, но теперь Stream стал промежуточным релизом. Это важно учитывать при управлении пакетами, так как версии программ и библиотек могут отличаться от тех, что используются в RHEL. В результате появляется необходимость более тщательно отслеживать обновления и совместимость пакетов.
Пакетный менеджер DNF: что изменилось?
В CentOS 8 и CentOS Stream используется DNF (Dandified YUM) — пакетный менеджер, пришедший на смену YUM. DNF обладает более высокой скоростью работы, улучшенным управлением зависимостями и поддержкой модульных потоков.
Однако в CentOS Stream произошли некоторые изменения:
- Более частые обновления пакетов. Поскольку CentOS Stream является промежуточным релизом, пакеты обновляются чаще, чем в стабильных версиях RHEL или классическом CentOS.
- Обновленные репозитории. В Stream используются репозитории, которые могут включать пакеты с новыми функциями, еще не доступными в RHEL.
- Модули и потоки. В CentOS Stream необходимо более внимательно управлять модулями и потоками пакетов, чтобы избежать конфликтов между версиями библиотек.
Пример обновления пакетов в CentOS Stream:
Чтобы проверить доступные модули и версии пакетов, используйте:
Управление репозиториями: новые подходы
CentOS Stream использует обновленную структуру репозиториев:
- Stream-репозитории. Эти репозитории содержат пакеты, которые будут включены в будущие версии RHEL.
- AppStream и BaseOS. Эти репозитории продолжают использоваться, однако в Stream они получают обновления раньше, чем в RHEL.
Пример управления репозиториями:
Чтобы отключить репозиторий, используйте:
Совместимость и зависимость пакетов
Одним из главных вызовов для пользователей CentOS Stream является управление зависимостями пакетов. Из-за более быстрого цикла обновлений могут возникать конфликты между версиями библиотек и приложений.
Рекомендации по управлению зависимостями:
- Регулярная проверка совместимости. Перед установкой обновлений рекомендуется тестировать их в изолированных средах (например, с использованием контейнеров).
- Использование модульных потоков. Выбирайте конкретные версии модулей, чтобы избежать непредвиденных обновлений:
Пример управления пакетами: установка Apache
Рассмотрим пример установки Apache в CentOS Stream:
После установки можно управлять службой Apache:
Потенциальные проблемы и их решение
В связи с изменениями в модели обновлений CentOS Stream пользователи могут столкнуться с рядом проблем:
- Конфликты версий. Решается использованием модульных потоков и ручным управлением зависимостями.
- Несовместимость пакетов. Рекомендуется внимательно отслеживать изменения в репозиториях и тестировать обновления перед развертыванием в рабочей среде.
- Обновления безопасности. В CentOS Stream обновления безопасности выходят оперативно, но их стабильность может быть ниже, чем в RHEL.
Выводы: стоит ли переходить на CentOS Stream?
CentOS Stream — это инновационный дистрибутив, который предлагает актуальные версии пакетов и предсказуемую модель обновлений. Однако из-за особенностей управления пакетами и более быстрого цикла релизов он подходит не для всех сценариев использования.
Преимущества CentOS Stream:
- Более современные версии пакетов.
- Возможность раннего тестирования будущих релизов RHEL.
- Оперативные обновления безопасности.
Недостатки:
- Потенциальная нестабильность из-за промежуточного характера релизов.
- Необходимость более тщательного управления зависимостями.
CentOS Stream идеально подходит для разработчиков, которые хотят опробовать новые функции RHEL до их официального выхода. Однако для критически важных производственных систем может потребоваться более стабильное решение, например, AlmaLinux или Rocky Linux.