Many have noticed a general lack of modules in Red Hat Enterprise Linux (RHEL) 9. There was only a single module in the Beta release, and none in the initial release, leading many to question the current status and plans for modules in general.
In this article we will delve into a bit of history as to how modules have been used, some of the lessons learned during their initial adoption, and what you can expect from RHEL 9.
Application streams
With RHEL 8, a new concept was introduced in the form of application streams. A common use-case for application streams is to allow the introduction of newer versions of popular applications at a faster pace than had been seen previously with RHEL releases. These are introduced as new streams that are supported for a predefined period of time.
[Read more: Red Hat Enterprise Linux 8 Application Streams Life Cycle - Red Hat Customer Portal]
This type of application stream release has led many to infer that modules are one and the same. In actuality, modules are a packaging format technology. They are just one of the forms that application streams can take, as there are quite a few others, including:
- Traditional RPMs
- Modules
- Flatpaks
- Software Collections
The packaging format selected for a given application stream is selected primarily based on the best fit for the component, the duration of support and upstream community plans.
Modules are used when they are the best technology for the job. If another format is more beneficial, that is the format used.
Modules
As mentioned above, a common need is to allow different application streams to be supported for overlapping periods of time. In the traditional RPM case, this is difficult to achieve as the newest version will be selected. That must be avoided as many major versions of software are not inherently backwards compatible. In the event that a database was updated between major versions during a routine update, it could mean an outage, or worse.
With RHEL 7, the format preferred was software collections (SCL). If you needed to install multiple versions at the same time, these were excellent. If you wanted to select a specific version to be the only one installed, they could be suboptimal.
When you do not need multiple versions installed or running at the same time, modules are ideal. By building specific major versions of software together as a module, and enhancing the package management tooling to understand these, multiple versions are simultaneously available and end users could select which version they needed while maintaining system updates. No need to use “scl enable” commands as the version used is selected at installation time!
This leads to some questions.
Why are there so few modules in RHEL 9?
The response from customers has been overwhelmingly positive regarding application streams, yet there are always improvements to be made. One of the improvements identified early was to identify the full life streams (the same life cycle as RHEL 9) as early as possible, allowing customers to incorporate this type of low-level planning information into their adoption plans much earlier in the release.
Another improvement was driven by the desire to have a simple distinction between which versions would be supported for the full life of the RHEL release, versus those that would be supported for a shorter duration.
To meet this need, wherever possible, a particular version is being identified as the full life version of an application for initial release. The second improvement being that this version is being released as a traditional RPM as opposed to a module. This means that users and developers that choose to rely solely on these full life application streams can omit module-specific tooling and processes.
Will there ever be modules in RHEL 9?
Yes. Going forward, as additional major versions of application streams are identified as necessary, subsequent RHEL 9 releases will release additional application streams with shorter support durations. In the event that there is an overlap and conflict between versions, modules will be the mechanism used when it is the best fit for the application.
How does that work?
RHEL 9 will not include any default module streams. Without being enabled, module streams supersede traditional RPMs. So by releasing a single stream as traditional RPMs, but offering modular streams at a later date, you end up with the best of both worlds.
The traditional RPM version will be used when not specifically enabled otherwise, easing the user experience by further simplifying the package management process.
Continually improving
With RHEL 9 we have improved the module user experience based on our experience with software collections, modules in RHEL 8, and feedback from our customers.
Learn more
저자 소개
유사한 검색 결과
Red Hat Enterprise Linux now available on the AWS European Sovereign Cloud
More than meets the eye: Behind the scenes of Red Hat Enterprise Linux 10 (Part 4)
The Overlooked Operating System | Compiler: Stack/Unstuck
Linux, Shadowman, And Open Source Spirit | Compiler
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
가상화
온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래