[VR] Difference between 3-Types or repos in RHEL 8.

Latest response

Hello
When I list all the repos in RHEL 8, It shows a repo with 3 different formats. For example, For App-Stream Repo it get

rhel-8-for-x86_64-appstream-rpms
rhel-8-for-x86_64-appstream-source-rpms
rhel-8-for-x86_64-appstream-debug-rpms

I being a NewBie I'm confused. I want to gain knowledge on this kinda changes and much more about App-Stream Repo.
Can you please help me?

Thank You.

Responses

Good Day Venkat Ramana

Thanks for posting your question in the Red Hat discussion area. The question you posted is central around how Red Hat has adopted a new repository model with the advent of Red Hat Linux 8.

The long answer is here at the Red Hat Release notes on RHEL 8 . A somewhat more concise answer might be here at the Red Hat Developer's blog

The below is a direct quote to the last link I provided
With the introduction of Red Hat Enterprise Linux 8 (RHEL 8) we have tried to greatly simplify the layout of the content available in Red Hat Enterprise Linux. The main repository, BaseOS, provides the parts of the distribution that give you a running userspace on physical hardware, a virtual machine, a cloud instance or a container. The Application Stream (AppStream) repository provides all the applications you might want to run in a given userspace. The Supplemental repository provides other software that has special licensing. The CodeReady Linux Builder provides mostly build time components for developers (see Introducing CodeReady Linux Builder).

As a result, most RHEL 8 systems will only need two repositories enabled. However, this may lead to the the question, where do I find alternate versions of software if there is only 1 application repository? In prior versions, you would look to the RHSCL or Extras repositories. However, in RHEL 8, through a new technology called Modularity, we can offer those alternate versions in the same physical repository.

The simplest way to think about it is that we can hide parts of a repository from the package manager. In other words, we create multiple virtual repositories within one physical repository. We call these virtual repositories Application Streams (AppStreams)

So the word “application” is obvious, but why “stream”? Well, we want to differentiate this tooling from a classic solution to the “wrong version” problem, pinning. Pinning is what many users do to retain an existing version of software even after the Distribution has moved on. There are a number of problems with pinning but the simplest is that you don’t get updates to the software, by design, which, unfortunately, includes security and bug fix updates.  With the Application Streams, as you are locked to the Stream, the stream continues to “flow” providing you with backwards compatible updates during its supported life.

Hope this answers your question, please also examine the links I provided.

Regards

RJ

Another thing they don't quote mention in the above links is the change to yum that the repository changes also help support.

From the Red Hat documentation here it mentions that "On Red Hat Enterprise Linux (RHEL) 8, installing software is ensured by the new version of the YUM tool, which is based on the DNF technology (YUM v4)." Without making this post extensive, here are differences in DNF command line with yum. However the last link reads like a dispassionate list of features. This link here is supposed to be a " Introduction to installing software on Red Hat Enterprise Linux 8".

Hope this helps, post back if necessary

Regards

RJ

Hi Venkat,

Adding to what RJ nicely explained ... for normal usage only the rpm repositories have to be enabled and as the word source
lets assume, source-rpm repositories contain source code which you might need when you want to compile something from
source and debug-rpm repositories contain tools which might be needed when you want to troubleshoot issues/problems. :)

Regards,
Christian