<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.techotopia.com/index.php?action=history&amp;feed=atom&amp;title=Understanding_RHEL_Software_Installation_and_Management</id>
		<title>Understanding RHEL Software Installation and Management - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://www.techotopia.com/index.php?action=history&amp;feed=atom&amp;title=Understanding_RHEL_Software_Installation_and_Management"/>
		<link rel="alternate" type="text/html" href="https://www.techotopia.com/index.php?title=Understanding_RHEL_Software_Installation_and_Management&amp;action=history"/>
		<updated>2026-05-08T01:49:09Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://www.techotopia.com/index.php?title=Understanding_RHEL_Software_Installation_and_Management&amp;diff=34540&amp;oldid=prev</id>
		<title>Neil at 16:04, 17 June 2019</title>
		<link rel="alternate" type="text/html" href="https://www.techotopia.com/index.php?title=Understanding_RHEL_Software_Installation_and_Management&amp;diff=34540&amp;oldid=prev"/>
				<updated>2019-06-17T16:04:41Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&#039;diff diff-contentalign-left&#039;&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;tr style=&#039;vertical-align: top;&#039; lang=&#039;en&#039;&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:04, 17 June 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l155&quot; &gt;Line 155:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 155:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following output, for example, lists information about the PHP modules available for installation:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The following output, for example, lists information about the PHP modules available for installation:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;htmlet&amp;gt;rhel8&amp;lt;/htmlet&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# dnf module list php&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# dnf module list php&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Neil</name></author>	</entry>

	<entry>
		<id>https://www.techotopia.com/index.php?title=Understanding_RHEL_Software_Installation_and_Management&amp;diff=34375&amp;oldid=prev</id>
		<title>Neil at 19:46, 9 June 2019</title>
		<link rel="alternate" type="text/html" href="https://www.techotopia.com/index.php?title=Understanding_RHEL_Software_Installation_and_Management&amp;diff=34375&amp;oldid=prev"/>
				<updated>2019-06-09T19:46:31Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&#039;diff diff-contentalign-left&#039;&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;tr style=&#039;vertical-align: top;&#039; lang=&#039;en&#039;&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 19:46, 9 June 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l213&quot; &gt;Line 213:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 213:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To enable a stream without installing a module, use &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; as follows:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To enable a stream without installing a module, use &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; as follows:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;			&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;pre&amp;gt;	&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# dnf module enable modulename&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# dnf module enable modulename&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;			&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;		&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Similarly, a stream may be disabled as follows:&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Similarly, a stream may be disabled as follows:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Neil</name></author>	</entry>

	<entry>
		<id>https://www.techotopia.com/index.php?title=Understanding_RHEL_Software_Installation_and_Management&amp;diff=34374&amp;oldid=prev</id>
		<title>Neil: Created page with &quot;{{#pagetitle: Understanding RHEL 8 Software Installation and Management }} &lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; width=&quot;100%&quot;&gt;&lt;tr&gt; &lt;td width=&quot;20%&quot;&gt;Managing RHEL Users and Groups...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.techotopia.com/index.php?title=Understanding_RHEL_Software_Installation_and_Management&amp;diff=34374&amp;oldid=prev"/>
				<updated>2019-06-09T19:41:40Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{#pagetitle: Understanding RHEL 8 Software Installation and Management }} &amp;lt;table border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&amp;lt;tr&amp;gt; &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;Managing RHEL Users and Groups...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#pagetitle: Understanding RHEL 8 Software Installation and Management }}&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;[[Managing RHEL Users and Groups|Previous]]&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;[[Red Hat Enterprise Linux Essentials|Table of Contents]]&amp;lt;td width=&amp;quot;20%&amp;quot; align=&amp;quot;right&amp;quot;&amp;gt;[[Configuring RHEL systemd Units|Next]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;Managing RHEL 8 Users and Groups&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot; align=&amp;quot;right&amp;quot;&amp;gt;Configuring RHEL 8 systemd Units&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmlet&amp;gt;rhel8&amp;lt;/htmlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&lt;br /&gt;
It is highly unlikely that a newly installed RHEL 8 system will contain all of the software packages to perform the tasks for which it is intended. Even once all the required software has been installed, it is almost certain that newer versions of many of those packages will be released during the lifespan of the system. In some cases, you will need to ensure that these latest package releases are installed on the system to ensure that any bugs are fixed. In other cases, however, an older version of a particular software package may need to be kept on the system for compatibility with other software. &lt;br /&gt;
			&lt;br /&gt;
This chapter introduces the basic concepts of software management on RHEL 8, explains how these issues are addressed, introduces the concepts of repositories, software packages and the Red Hat AppStream) and explores how to list, install and remove the software packages that make up a functioning RHEL 8 system.&lt;br /&gt;
			&lt;br /&gt;
== Repositories ==&lt;br /&gt;
			&lt;br /&gt;
Linux is essentially comprised of a set of base packages that provide the core functionality of the operating system together with a range of other packages and modules that add functionality and features on top of the base operating system.&lt;br /&gt;
			&lt;br /&gt;
When RHEL 8 is first installed, a number of different packages will be installed depending on the software options selected during the installation phase. Once the system is up and running, however, additional software can be installed as needed. Typically, all software that is part of RHEL 8 (in other words software that is not provided by a third party vendor) is downloaded and installed on the system using the &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; command. As we have seen in earlier chapters, this typically consists of a command similar to the following being issued at the command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install httpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
When such a command is issued, the requested software is downloaded from a remote &amp;#039;&amp;#039;repository&amp;#039;&amp;#039; and installed on the local system. By default, RHEL 8 is configured to download software from two repositories named repositories the system is currently configured to use when downloading software:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf repolist&lt;br /&gt;
Updating Subscription Management repositories.&lt;br /&gt;
Updating Subscription Management &lt;br /&gt;
repo id                          repo name                                status&lt;br /&gt;
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 -   4,594&lt;br /&gt;
rhel-8-for-x86_64-baseos-rpms    Red Hat Enterprise Linux 8 for x86_64 -   1,686&lt;br /&gt;
google-chrome                    google-chrome                                 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
The above example shows that repositories for both AppStream and BaseOS are enabled on the system. Note also that repositories may also be added for third party software, as is the case for the Google Chrome repository listed above.&lt;br /&gt;
			&lt;br /&gt;
Additional repositories may be added to the system placing entries in the &amp;#039;&amp;#039;/etc/dnf/yum.repos.d/&amp;#039;&amp;#039; directory. Alternatively, the repository may be added using the &amp;#039;&amp;#039;dnf config-manager &amp;#039;&amp;#039;tool, passing the URL of the &amp;#039;&amp;#039;.repo&amp;#039;&amp;#039; file for the repository as a command-line argument:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf config-manager --add-repo https://url/of/repo/file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
== The BaseOS Repository ==&lt;br /&gt;
			&lt;br /&gt;
The BaseOS repository contains the packages that make up the core functionality of the operating system. These software elements are downloaded in the form of :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rpm -qa | more&lt;br /&gt;
qemu-kvm-block-rbd-2.12.0-41.el8+2104+3e32e6f8.x86_64&lt;br /&gt;
kyotocabinet-libs-1.2.76-17.el8.x86_64&lt;br /&gt;
cyrus-sasl-scram-2.1.27-0.3rc7.el8.x86_64&lt;br /&gt;
curl-7.61.1-5.el8.x86_64&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
A list of packages available for installation from the BaseOS repository is available by running the &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; command as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
To obtain a list of packages that match a search string use &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf search &amp;amp;quot;search string&amp;amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
It is also possible to identify which package contains a specific file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf provides filename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf provides /etc/httpd/conf/httpd.conf&lt;br /&gt;
Updating Subscription Management repositories.&lt;br /&gt;
httpd-2.4.35-6.el8+2089+57a79027.x86_64 : Apache HTTP Server&lt;br /&gt;
Repo        : @System&lt;br /&gt;
Matched from:&lt;br /&gt;
Filename    : /etc/httpd/conf/httpd.conf&lt;br /&gt;
&amp;amp;#160;&lt;br /&gt;
httpd-2.4.35-6.el8+2089+57a79027.x86_64 : Apache HTTP Server&lt;br /&gt;
Repo        : rhel-8-for-x86_64-appstream-beta-rpms&lt;br /&gt;
Matched from:&lt;br /&gt;
Filename    : /etc/httpd/conf/httpd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
To install a package, run the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install packagename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
Similarly, to delete a package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf delete packagename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
When a newer version of a BaseOS package is made available it will be downloaded and installed when the system is next updated, typically via the &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
Any updated packages will replace the older version currently installed on the system. While this is generally the ideal situation when working with base operating system packages, this is not necessarily the desired behavior when dealing with other packages such as programming environments or development libraries where upgrading to a new version may cause compatibility issues with other packages installed in the system. This issue is addressed by the AppStream repository.&lt;br /&gt;
			&lt;br /&gt;
== The AppStream Repository ==&lt;br /&gt;
			&lt;br /&gt;
The AppStream repository manages software in terms of &amp;#039;&amp;#039;packages&amp;#039;&amp;#039;, &amp;#039;&amp;#039;modules, streams&amp;#039;&amp;#039; and &amp;#039;&amp;#039;profiles&amp;#039;&amp;#039;. AppStream packages are, once again, RPM packages as outlined in the previous section describing BaseOS. AppStream modules, on the other hand, are groups of packages that belong together or for which dependencies exist (for example the group of packages that would need to be installed together when building a web server). Each module can have multiple streams, where each &amp;#039;&amp;#039;module stream&amp;#039;&amp;#039; represents a different version of the software module. &lt;br /&gt;
			&lt;br /&gt;
Consider, for example, a RHEL 8 system hosting a web site which depends on version 7.1 of the PHP scripting language. The server still needs to receive any updates to PHP 7.1 to benefit from patches and bug fixes, but is not compatible with the latest version of PHP (version 7.2). Before the introduction of AppStream, it would have been difficult continue receiving version 7.1 updates when newer versions have been released.&lt;br /&gt;
			&lt;br /&gt;
To address this issue, the RHEL software management tools can use the AppStream repository to subscribe only to a specific stream for a specific module (in this case the version 7.1 stream of the PHP module).&lt;br /&gt;
			&lt;br /&gt;
In addition to streams, modules may also be sub-classed by &amp;#039;&amp;#039;module profile&amp;#039;&amp;#039;. Module profiles provide different configurations of packages that make up a module to be installed dependent on the requirements of the system. The nodejs JavaScript runtime environment module, for example, is available for installation using either the &amp;#039;&amp;#039;development&amp;#039;&amp;#039; or &amp;#039;&amp;#039;minimal &amp;#039;&amp;#039;profiles. On a system where development is taking place using nodejs, the development profile would most likely be used. When the software developed using nodejs is deployed, the minimal system containing just the runtime might be installed instead.&lt;br /&gt;
			&lt;br /&gt;
To view the list of modules available for installation use the &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; command as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module list&lt;br /&gt;
Updating Subscription Management repositories.&lt;br /&gt;
Updating Subscription Management repositories.&lt;br /&gt;
&amp;amp;#160;&lt;br /&gt;
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)&lt;br /&gt;
Name                 Stream       Profiles     Summary                               &lt;br /&gt;
389-ds               1.4          default      389 Directory Server (base)           &lt;br /&gt;
App-cpanminus        1.7044 [d]   default [d]  Get, unpack, build and install CPAN mo&lt;br /&gt;
                                               dules&lt;br /&gt;
DBD-MySQL            4.046 [d]    default [d]  A MySQL interface for Perl            &lt;br /&gt;
DBD-Pg               3.7 [d]      default [d]  A PostgreSQL interface for Perl       &lt;br /&gt;
DBD-SQLite           1.58 [d]     default [d]  SQLite DBI driver                     &lt;br /&gt;
DBI                  1.641 [d]    default [d]  A database access API for Perl        &lt;br /&gt;
YAML                 1.24 [d]     default [d]  Perl parser for YAML&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
The first column in the list is the name of the module, the second the stream name (which is typically the version of the module). The letter after the stream name indicates whether the stream is the default (i.e. this is the stream that will be used for installation if no specific stream is referenced) or if it has been enabled for use when performing installations. The third column lists the profiles available for the corresponding package together with an indication of whether the profile is the default, has been installed or is disabled.&lt;br /&gt;
			&lt;br /&gt;
The &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; command to list information about a specific module is structured as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module list modulename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
The following output, for example, lists information about the PHP modules available for installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module list php&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
Name       Stream       Profiles                        Summary   &lt;br /&gt;
php        7.1          devel, minimal, default [d]    PHP scripting language                                   &lt;br /&gt;
php        7.2 [d]      devel, minimal, default [d]    PHP scripting language                         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
Clearly version 7.2 will be installed on the system by default, and the module is available in development, default and minimal profile configurations.&lt;br /&gt;
			&lt;br /&gt;
To install a module using the default stream and profile, the &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; command can be used with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install @modulename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install @php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
Alternatively, a stream may be specified from which to perform the installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install @modulename:stream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install @php:7.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
Finally, a profile may also be declared as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install @modulename:stream/profile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
For example, to install the minimal set of packages for PHP 7.1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install @php:7.1/minimal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
After executing the above command, the PHP modules will now be listed as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
php      7.1 [e]   devel, minimal [i], default [d]     PHP scripting language                                             &lt;br /&gt;
php      7.2 [d]   devel, minimal, default [d]         PHP scripting language         &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
This “[e]” indicator in the stream column tells us that the 7.1 stream has been enabled while the “[i]” in the profile column shows that the module has been installed using the minimal profile.&lt;br /&gt;
			&lt;br /&gt;
To enable a stream without installing a module, use &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; as follows:&lt;br /&gt;
			&lt;br /&gt;
# dnf module enable modulename&lt;br /&gt;
			&lt;br /&gt;
Similarly, a stream may be disabled as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module disable modulename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
To uninstall a module, use the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module remove modulename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
Additional information about a module may be identified using the following &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module info modulename&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
To find out which RPM packages make up the different profiles of a specific module and stream combination, use &amp;#039;&amp;#039;dnf&amp;#039;&amp;#039; as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module info --profile modulename:stream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
 For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf module info --profile php:7.1&lt;br /&gt;
Updating Subscription Management repositories.&lt;br /&gt;
Updating Subscription Management repositories.&lt;br /&gt;
Last metadata expiration check: 1:08:22 ago on Mon 01 Apr 2019 02:43:31 PM EDT.&lt;br /&gt;
Name    : php:7.1:820181025145012:76554e01:x86_64&lt;br /&gt;
devel   : libzip&lt;br /&gt;
        : php-cli&lt;br /&gt;
        : php-common&lt;br /&gt;
        : php-devel&lt;br /&gt;
        : php-fpm&lt;br /&gt;
        : php-json&lt;br /&gt;
        : php-mbstring&lt;br /&gt;
        : php-pear&lt;br /&gt;
        : php-pecl-zip&lt;br /&gt;
        : php-process&lt;br /&gt;
        : php-xml&lt;br /&gt;
minimal : php-cli&lt;br /&gt;
        : php-common&lt;br /&gt;
default : php-cli&lt;br /&gt;
        : php-common&lt;br /&gt;
        : php-fpm&lt;br /&gt;
        : php-json&lt;br /&gt;
        : php-mbstring&lt;br /&gt;
        : php-xml&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
Finally, to switch from one module stream to another, simply run the installation command referencing the new stream as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf install @modulename:otherstream&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
This command will download the packages for the new stream and either upgrade or downgrade the existing packages to the specified version. Once this process is complete, resynchronize module packages for the new stream:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dnf distro-sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
			&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
The RHEL 8 system is comprised of RPM format software packages that are downloaded and installed from the Red Hat BaseOS and AppStream repositories. Addtional repositories can be added to the system for installation packages as needed. &lt;br /&gt;
			&lt;br /&gt;
The BaseOS repository contains the packages that implement the base core functionality of the operating system. The AppStream packages, on the other hand, provide additional features and functionality that will be installed selectively depending on the purpose for which the system is being configured. In a complex system of this nature, there can be a significant amount of package interdependency where part of the system may require a specific version of another software package to function correctly. AppStreams allow modules and profiles to be created that contain all of the dependent packages necessary to install a particular feature together at the correct version level. AppStreams also allow installed packages to receive updates to the current version without having to download the next major version, thereby avoiding disrupting the dependencies of other packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;htmlet&amp;gt;rhel8&amp;lt;/htmlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;[[Managing RHEL Users and Groups|Previous]]&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;[[Red Hat Enterprise Linux Essentials|Table of Contents]]&amp;lt;td width=&amp;quot;20%&amp;quot; align=&amp;quot;right&amp;quot;&amp;gt;[[Configuring RHEL systemd Units|Next]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;Managing RHEL 8 Users and Groups&amp;lt;td align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;td width=&amp;quot;20%&amp;quot; align=&amp;quot;right&amp;quot;&amp;gt;Configuring RHEL 8 systemd Units&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neil</name></author>	</entry>

	</feed>