====== Install And Update Software Packages From Red Hat Network A Remote Repository Or From The Local File System ======
**General Information**
Managing software packages and repos.
----
===== Yum and Packages =====
Check to see if updates are available
yum check-update
\\
Update all packages, assume yes to all questions
yum -y update
\\
Search package name and summary for "apache"
yum search apache
\\
View package details
yum info httpd
\\
Install Apache Web Server
yum install httpd
\\
List all installed package
yum list installed
\\
What package created a file (or directory)
yum provides /var/www
\\
Uninstall package
yum remove httpd
\\
Clean yum cache files
yum clean all
\\
List repositories
yum repolist
----
==== Yum Groups ====
List available groups
yum group list
\\
List available groups, including hidden
yum group list hidden
* This includes most of the Virtualization Groups
\\
List all packages that belong to the "Security Tools" group
yum group info "Security Tools"
**Yum group info markers meanings**
* "-" = Package isn't installed, and won't be installed as part of the group
* (Eg. "yum group install foo -pkgA" or "yum group install foo; yum remove pkgA" … this will have pkgA marked as '-')
* "+" = Package isn't installed, but will be the next time you run "yum upgrade" or "yum group upgrade foo"
* " " = Package is installed, but wasn't installed via the group (so "group remove foo" won't remove it).
* "=" = Package is installed, and was installed via the group.
\\
Install the Security Tools group
yum group install "Security Tools"
\\
To undo a group install:
1) View yum history
yum history
Loaded plugins: amazon-id, rhui-lb
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
25 | group install Security T | 2015-06-06 22:21 | Install | 3
24 | -y install httpd | 2015-06-06 21:32 | Install | 1
\\
2) [Optional] View detailed information about ID 25 (Security Tools group install)
yum history info 25
Loaded plugins: amazon-id, rhui-lb
Transaction ID : 25
Begin time : Sat Jun 6 22:21:20 2015
Begin rpmdb : 696:2cf91b5d397c109762f978831d2194caabcf22c4
End time : 22:21:21 2015 (1 seconds)
End rpmdb : 699:ac6d05d5b20db2192d6b5f7f30723488222723d0
User :
Return-Code : Success
Command Line : group install Security Tools
Transaction performed with:
Installed rpm-4.11.1-25.el7.x86_64 @rhui-REGION-rhel-server-releases
Installed yum-3.4.3-125.el7.noarch @rhui-REGION-rhel-server-releases
Installed yum-metadata-parser-1.1.4-10.el7.x86_64 @anaconda/7.0
Packages Altered:
Dep-Install openscap-1.1.1-3.el7.x86_64 @rhui-REGION-rhel-server-releases
Dep-Install openscap-scanner-1.1.1-3.el7.x86_64 @rhui-REGION-rhel-server-releases
Install scap-security-guide-0.1.19-2.el7.noarch @rhui-REGION-rhel-server-releases
history info
\\
3) Undo the group install (removes installed packages)
yum history undo 25
----
===== RPM (Redhat Package Manager) =====
Use yum downloader to download RPM
yumdownloader nano
\\
Install package
rpm -ivh nano-2.3.1-10.el7.x86_64.rpm
* i - install
* v - verbose
* h - hash progress bar
\\
List all installed rpm packages
rpm -qa
* q - query
* a - all
\\
List all files installed as part of package
rpm -ql nano
* l - list files
\\
List all files that are part of a local RPM file that is not installed yet
rpm -qlp nano-2.3.1-10.el7.x86_64.rpm
\\
List documentation files for a package
rpm -qd nano
* d - documentation files
\\
List configuration files for a package
rpm -qc nano
* c - configuration files
\\
Remove package
rpm -e nano
* -e => erase
\\
Install local rpm, auto install dependencies
yum install nano-2.3.1-10.el7.x86_64.rpm
* Note: yum localinstall => maintained for legacy reasons only, as yum install will behave as a local install if the target is a file.
----
===== Managing Repositories =====
Repo config files location
* /etc/yum.repos.d
* file must end in ".repo"
\\
Show all enabled repos
yum repolist
\\
Show all enabled and disabled repos
yum repolist all
----
==== Yum Config Manager ====
Add new repo
yum-config-manager --add-repo=http://dl.fedoraproject.org/pub/epel/7/x86_64
\\
Disable repo using yum-config-manager and repo id (get id from "yum repolist")
yum-config-manager --disable dl.fedoraproject.org_pub_epel_7_x86_64_
\\
Remove repo
rm -f /etc/yum.repos.d/dl.fedoraproject.org_pub_epel_7_x86_64_.repo
----
==== Repos via Config Files ====
Add new repo; create new file in /etc/yum.repos.d/
vim /etc/yum.repos.d/fedora_epel.repo
[EPEL7]
name=Fedora EPEL 7
baseurl=http://dl.fedoraproject.org/pub/epel/7/x86_64/
enabled=1
* [EPEL7] => repo id
* Fedora EPEL 7 => repo name
\\
Disable repo by editing repo file
vim /etc/yum.repos.d/fedora_epel.repo
enabled=0
----
==== Configuring A Local Repository ====
Setup directory and mount iso
mkdir -p /repos/local
mount -o loop rhel-server-7.1-x86_64-dvd.iso /repos/local
\\
Create local repo config file
cd /etc/yum.repos.d/
vim local-repo.repo
[local-repo]
name=Red Hat Linux Local Repo
baseurl=file:///repos/local
enabled=1
gpgcheck=0
----
===== Configure The GPG Key =====
Download gpg key from repo
cd /etc/pki/rpm-gpg
wget http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
\\
Add gpg check and key to repo config
cd /etc/yum.repos.d
vim dl.fedoraproject.org_pub_epel_7_x86_64_.repo
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
----