SlideShare a Scribd company logo
yum
INSTALLING AND REMOVING PACKAGES USING YUM
A software package, or simply package, is the collection of scripts, programs, files, and
directories required to install and run an application, utility, server, or system software.
A package also includes a list of other packages the package depends on (dependencies). Using
software packages makes it easier to install, update, and uninstall software.
A package contains either executable files or source code files. Executable files are precompiled
for a specific processor architecture and operating system, whereas source files need to be
compiled but will run on a wide range of machines and operating systems.
A PMS, or package management system, is a set of utilities that allow you to install, upgrade,
remove, and search software packages easily and in a consistent manner. It is based on a local
database that holds information about each installed package, including its dependencies and
version information.
PackageKit (www.packagekit.org) is a front end for several PMSs, providing a uniform interface.
Fedora, Kubuntu, and SUSE use PackageKit. The gnome-packagekit package holds graphical tools
designed for the GNOME desktop; each of these tools is named gpk*.
/etc/yum.repos.d
The following example calls yum to install the tcsh shell, which is part of the tcsh package. After yum
determines what it needs to do, it asks for confirmation. Reply y if you want to continue or n to quit.
# yum install tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tcsh.i686 0:6.17-15.fc15 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
tcsh i686 6.17-15.fc15 updates-testing 403 k
Transaction Summary
================================================================================
Install 1 Package(s)
Total download size: 403 k
Installed size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 403 k
tcsh-6.17-15.fc15.i686.rpm | 403 kB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : tcsh-6.17-15.fc15.i686 1/1
Installed:
tcsh.i686 0:6.17-15.fc15
Complete!
Automatically Installs dependencies
The next command installs the ypbind (NIS) package. Because this package depends
on other packages that are not installed (rpcbind and yp-tools), yum lists the package
under Installing for dependencies and installs them automatically. The yum utility
asks for confirmation before installing the packages.
# yum install ypbind
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ypbind.i686 3:1.32-5.fc15 will be installed
--> Processing Dependency: yp-tools for package: 3:ypbind-1.32-5.fc15.i686
--> Processing Dependency: rpcbind for package: 3:ypbind-1.32-5.fc15.i686
--> Running transaction check
---> Package rpcbind.i686 0:0.2.0-10.fc15 will be installed
---> Package yp-tools.i686 0:2.12-4.fc15 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
ypbind i686 3:1.32-5.fc15 fedora 55 k
Installing for dependencies:
rpcbind i686 0.2.0-10.fc15 fedora 47 k
yp-tools i686 2.12-4.fc15 fedora 69 k
Transaction Summary
================================================================================
Install 3 Package(s)
Total download size: 171 k
Installed size: 345 k
Is this ok [y/N]: y
yum remove You can also use yum to remove packages, using a similar syntax. The following
example removes the tcsh package:
# yum remove tcsh
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package tcsh.i686 0:6.17-15.fc15 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================
==
Package Arch Version Repository Size
==============================================================================
==
Removing:
tcsh i686 6.17-15.fc15 @updates-testing 1.1 M
Transaction Summary
==============================================================================
==
Remove 1 Package(s)
Installed size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : tcsh-6.17-15.fc15.i6861/1
Removed:
tcsh.i686 0:6.17-15.fc15
Complete!
Automatically
removes
dependencies
When yum removes a package, it also removes packages that are dependent on the
package it is removing. The followingexample removes ypbind and its dependency,
yp-tools.It does not remove rpcbindbecause another installed package might
depend on rpcbind.
# yum remove ypbind
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package ypbind.i686 3:1.32-5.fc15 will be erased
--> Processing Dependency: ypbind for package: yp-tools-2.12-4.fc15.i686
--> Running transaction check
---> Package yp-tools.i686 0:2.12-4.fc15 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
ypbind i686 3:1.32-5.fc15 @fedora 91 k
Removing for dependencies:
yp-tools i686 2.12-4.fc15 @fedora 167 k
Transaction Summary
================================================================================
Remove 2 Package(s)
Installed size: 258 k
Is this ok [y/N]: y
Finding the Package That Holds an
Application or File You Need
Finding a package with a name that sounds like...
The yum search command (next page) searches package names, descriptions, and summaries.
The yum list command (next page) searches package names only.
$ yum whatprovides "*X11/Xlib.h"
Loaded plugins: langpacks, presto, refresh-packagekit
...
libX11-devel-1.4.2-1.fc15.i686 : Development files for libX11
Repo : fedora
Matched from:
Filename : /usr/include/X11/Xlib.h
The most likely candidate is the entry shown in the preceding example, which is the
most generic. You can install this package using the following command:
# yum install libX11-devel
yum search The yum search command searches for a string in the package description,
summary,
and name fields. The following example searches for packages that have the string
vim in these fields:
$ yum search vim
Loaded plugins: langpacks, presto, refresh-packagekit
updates-testing/pkgtags | 44 kB 00:00
=============================== N/S Matched: vim ===============================
glusterfs-vim.i686 : Vim syntax file
perl-Text-VimColor.noarch : Syntax color text in HTML or XML using Vim
uzbl-vim.i686 : Vim highlighting for uzbl's config
vim-X11.i686 : The VIM version of the vi editor for the X Window System
vim-clustershell.noarch : VIM files for ClusterShell
vim-common.i686 : The common files needed by any version of the VIM editor
The yum list command searches for a package name field that matches a string.
Specify list available without an argument to list all packages that can be installed
from the yum repositories. The following example searches for packages whose
name fields match the string *emacs*:
$ yum list '*emacs*'
Loaded plugins: langpacks, presto, refresh-packagekit
Available Packages
clips-emacs.noarch 6.30.0-0.3.20090722svn.fc15 fedora
coq-emacs.i686 8.2pl1-1.fc12 fedora
crm114-emacs.i686 0-2.14.20100106.fc15 fedora
cvc3-emacs.noarch 2.2-3.fc15 fedora
cvc3-emacs-el.noarch 2.2-3.fc15 fedora
cvc3-xemacs.noarch 2.2-3.fc15 fedora
cvc3-xemacs-el.noarch 2.2-3.fc15 fedora
emacs.i686 1:23.2-17.fc15 fedora
yum: Keeps the System Up-to-Date
This section continues to describe yum. It covers updating installed packages, yum
commands and groups, downloading RPM package files, configuring yum, and
adding a repository specification. Refer to yum.baseurl.org for more information.
Updating Packages
The yum update command, without additional parameters, updates all installed packages.
# yum update
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package gnome-games.i686 1:2.91.93-1.fc15 will be updated
---> Package gnome-games.i686 1:2.91.94-0.20110331.1.fc15 will be an update
---> Package xorg-x11-server-Xorg.i686 0:1.10.0-3.fc15 will be updated
---> Package xorg-x11-server-Xorg.i686 0:1.10.0-7.fc15 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
gnome-games i686 1:2.91.94-0.20110331.1.fc15 updates-testing 2.4 M
xorg-x11-server-Xorg i686 1.10.0-7.fc15 updates-testing 1.4 M
Transaction Summary
================================================================================
Upgrade 2 Package(s)
Total download size: 3.8 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Download delta size: 1.2 M
(1/2): gnome-games-2.91.93-1.fc15_2.91.94-0.20110331.1.f| 341 kB 00:02
(2/2): xorg-x11-server-Xorg-1.10.0-3.fc15_1.10.0-7.fc15. | 870 kB 00:06
Finishing rebuild of rpms, from deltarpms
<delta rebuild> | 3.8 MB 00:02
Presto reduced the update size by 69% (from 3.8 M to 1.2 M).
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : 1:gnome-games-2.91.94-0.20110331.1.fc15.i6861/4
Updating : xorg-x11-server-Xorg-1.10.0-7.fc15.i686 2/4
Cleanup : 1:gnome-games-2.91.93-1.fc15.i6863/4
Cleanup : xorg-x11-server-Xorg-1.10.0-3.fc15.i6864/4
Updated:
gnome-games.i6861:2.91.94-0.20110331.1.fc15
xorg-x11-server-Xorg.i6860:1.10.0-7.fc15
Complete!
Yum (Linux)
yum Commands
This section describes a few commonly used yum commands. The yum man page contains a complete
list.
check Reports on problems in the local RPM database.
check-update Lists packages that are installed on the local system and have updates available in the
yum repositories.
clean all Removes header files that yum uses for resolving dependencies. Also removes cached
packages. However, because yum removes packages after they have been installed, typically no
cached packages exist
clean metadata Removes the files yum uses to determine remote package availability. Using this
command forces yum to download all metadata the next time you run it.
grouplist Lists yum groups (next).
groupinfo group Lists information about the yum group named group (next).
groupinstall group Installs the packages in the yum group named group (next).
info word Displays information about packages in the yum repositories named word. Specify
word as "*word*" to search for word anywhere in the package name.
list word Lists packages in the yum repositories whose name is word. Specify word as
"*word*" to search for word anywhere in the package name. See page 538 for an
example.
list available Lists all packages that can be installed from the yum repositories. Use a pipe and
grep to search for packages (e.g., yum list available | grep samba).
provides Same as whatprovides.
search word Lists packages in the yum repositories that have word in their descriptions, summaries,
or names. See page 538 for an example.
whatprovides word
Searches repositories and displays a list of packages that provides a feature or file
that matches word. Specify word as "*word*"
yum Groups
In addition to working with single packages, yum can work with groups of packages.
The next example shows how to display a list of installed and available groups:
$ yum grouplist
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Group Process
Installed Groups:
Administration Tools
Dial-up Networking Support Fonts
GNOME Desktop Environment
...
Window Managers
X Window System
Installed Language Groups:
Arabic Support [ar]
Armenian Support [hy]
AvailableGroups:
...
MySQL Database
...
Done
The command yum groupinfo followed by the name of a group displays information
about the group, includinga description of the group and a list of mandatory,
default, and optional packages. The next example displays information
about the MySQL Database group of packages. You must quote group names
that include SPACEs.
# yum groupinfo "MySQL Database"
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Group Process
Group: MySQL Database
Description: This package group contains packages useful for use with MySQL.
Mandatory Packages:
mysql
Default Packages:
MySQL-python
libdbi-dbd-mysql
mysql-connector-odbc
mysql-server
perl-DBD-MySQL
unixODBC
Optional Packages:
mod_auth_mysql
mysql-bench
mysql-devel
mysqlreport
mysqltuner
php-mysql
qt-mysql
qt3-MySQL
Downloading RPM Package Files with
yumdownloader
The yumdownloader utility (yum-utils package) locates and downloads—but does
not install—RPM files. Because it does not install software, you do not need to
work with root privileges to run it; you need only permission to write to the
working directory
The following example downloads the samba RPM file to the working directory:
$ yumdownloader samba
Loaded plugins: langpacks, presto, refresh-packagekit
samba-3.6.0-64pre1.fc15.1.i686.rpm | 4.5 MB 00:04
Downloading
source files
You can use yumdownloader with the ––source option to download RPM source
package files. The yumdownloader utility automatically enables the necessary source
repositories. See page 586 for an example that downloads in the working directory
the RPM file for the latest version of the kernel source code for the release installed
on the local system. Without the ––source option, yumdownloader would have
downloaded an executable RPM file. See page 551 for information on installing this
type of file.
yum.conf: Configures yum
You do not need to configure yum: As installed, it is ready to use. This section
describes the yum configuration files for users who want to modify them. The primary
configuration file, /etc/yum.conf, holds global settings. As distributed with
Fedora/RHEL, files in the /etc/yum.repos.d directory define repositories. Following
is the default yum.conf file:
$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
color=never
...
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
The section labeled [main] defines global configuration options. The cachedir specifies
the directory where yum stores downloaded packages, although with keepcache
set to 0, yum does not store these packages after installing them. The amount of
information logged is specified by debuglevel, with a value of 10 producing the
most information. The logfile specifies where yum keeps its log.
Setting exactarch to 1 causes yum to update packages only with packages of the
same architecture, thereby preventing an i686 package from replacing an i386
package, for example. You can use retries to specify the number of times yum will
try to retrieve a file before returning an error (the default is 6). Set this parameter to
0 to cause yum to continue trying forever.
yum Repositories
As noted in /etc/yum.conf, Fedora/RHEL stores information about each repository
in a separate file in the /etc/yum.repos.d directory:
$ ls /etc/yum.repos.d
fedora.repo fedora-updates.repo fedora-updates-testing.repo
The next example shows part of the fedora.repo file that specifies the parameters
for the fedora repository:
$ cat /etc/yum.repos.d/fedora.repo
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
#metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

More Related Content

PPTX
RPM (LINUX)
PDF
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
PDF
SAP HANA System Replication - Setup, Operations and HANA Monitoring
PDF
U-Boot - An universal bootloader
PPTX
Linux Package Management.pptx
PDF
An Introduction To Linux
PDF
How to Choose a Software Update Mechanism for Embedded Linux Devices
PDF
High availability virtualization with proxmox
RPM (LINUX)
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
SAP HANA System Replication - Setup, Operations and HANA Monitoring
U-Boot - An universal bootloader
Linux Package Management.pptx
An Introduction To Linux
How to Choose a Software Update Mechanism for Embedded Linux Devices
High availability virtualization with proxmox

What's hot (20)

PPTX
RPM (Red Hat Package Manager)
PPTX
Linux basic commands
ODP
Monitoring IO performance with iostat and pt-diskstats
PDF
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
PDF
Linux scheduler
PDF
Linux systems - Linux Commands and Shell Scripting
PDF
File System Hierarchy
PDF
PPTX
Linux booting process - Linux System Administration
PPTX
Operating Systems: Linux in Detail
PDF
Embedded Linux Basics
ODP
An Introduction to Linux
PDF
Patroni - HA PostgreSQL made easy
DOC
6 stages of linux boot process
PDF
package mangement
PDF
Kernel Recipes 2019 - Faster IO through io_uring
PDF
Snort IPS
PPTX
Fast Userspace OVS with AF_XDP, OVS CONF 2018
PDF
Using GTP on Linux with libgtpnl
PPT
Linux basics
RPM (Red Hat Package Manager)
Linux basic commands
Monitoring IO performance with iostat and pt-diskstats
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
Linux scheduler
Linux systems - Linux Commands and Shell Scripting
File System Hierarchy
Linux booting process - Linux System Administration
Operating Systems: Linux in Detail
Embedded Linux Basics
An Introduction to Linux
Patroni - HA PostgreSQL made easy
6 stages of linux boot process
package mangement
Kernel Recipes 2019 - Faster IO through io_uring
Snort IPS
Fast Userspace OVS with AF_XDP, OVS CONF 2018
Using GTP on Linux with libgtpnl
Linux basics
Ad

Viewers also liked (8)

PPT
06 module catalyst 1900 switch operations
PDF
PPTX
Password Recovery
PPTX
Cisco 2960x switch password recovery
PDF
Cehv8 - Module 16: Hacking Mobile Platforms
PPTX
VMware ESXi 6.0 Installation Process
PPTX
Thermal engg
DOCX
How to recover password on a cisco 2950, 2960 switch
06 module catalyst 1900 switch operations
Password Recovery
Cisco 2960x switch password recovery
Cehv8 - Module 16: Hacking Mobile Platforms
VMware ESXi 6.0 Installation Process
Thermal engg
How to recover password on a cisco 2950, 2960 switch
Ad

Similar to Yum (Linux) (20)

PDF
Yum package manager
PDF
Install and Update Software - RHCSA (RH124).pdf
PPTX
Software management in linux
PDF
$ make install
PDF
Dependencies Managers in C/C++. Using stdcpp 2014
PDF
How To List YUM Packages
PDF
Course 102: Lecture 22: Package Management
PPTX
6 - Package Management in Red Hat
PDF
How To Yum Package Installation
PPTX
Linux System Administration
PPTX
(Practical) linux 104
PDF
Package management and creation in Gentoo Linux
PPTX
Oracle Solaris 11 - Best for Enterprise Applications
PDF
How To Manage Yum Packages Interactive Shell
KEY
Deploying and maintaining your software with RPM/APT
PDF
Approaching package manager
PDF
Strategies for developing and deploying your embedded applications and images
PDF
Embedded linux build systems
PDF
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)
PDF
Puppet Camp LA 2/19/2015
Yum package manager
Install and Update Software - RHCSA (RH124).pdf
Software management in linux
$ make install
Dependencies Managers in C/C++. Using stdcpp 2014
How To List YUM Packages
Course 102: Lecture 22: Package Management
6 - Package Management in Red Hat
How To Yum Package Installation
Linux System Administration
(Practical) linux 104
Package management and creation in Gentoo Linux
Oracle Solaris 11 - Best for Enterprise Applications
How To Manage Yum Packages Interactive Shell
Deploying and maintaining your software with RPM/APT
Approaching package manager
Strategies for developing and deploying your embedded applications and images
Embedded linux build systems
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)
Puppet Camp LA 2/19/2015

More from Raghu nath (20)

PPTX
Mongo db
PDF
Ftp (file transfer protocol)
PDF
MS WORD 2013
PDF
Msword
PDF
Ms word
PDF
Javascript part1
PDF
Regular expressions
PDF
Selection sort
PPTX
Binary search
PPTX
JSON(JavaScript Object Notation)
PDF
Stemming algorithms
PPTX
Step by step guide to install dhcp role
PPTX
Network essentials chapter 4
PPTX
Network essentials chapter 3
PPTX
Network essentials chapter 2
PPTX
Network essentials - chapter 1
PPTX
Python chapter 2
PPTX
python chapter 1
PPTX
Linux Shell Scripting
PPTX
Mongo db
Ftp (file transfer protocol)
MS WORD 2013
Msword
Ms word
Javascript part1
Regular expressions
Selection sort
Binary search
JSON(JavaScript Object Notation)
Stemming algorithms
Step by step guide to install dhcp role
Network essentials chapter 4
Network essentials chapter 3
Network essentials chapter 2
Network essentials - chapter 1
Python chapter 2
python chapter 1
Linux Shell Scripting

Recently uploaded (20)

PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Computing-Curriculum for Schools in Ghana
PDF
Complications of Minimal Access Surgery at WLH
PPTX
Cell Types and Its function , kingdom of life
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Insiders guide to clinical Medicine.pdf
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
RMMM.pdf make it easy to upload and study
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Institutional Correction lecture only . . .
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Abdominal Access Techniques with Prof. Dr. R K Mishra
Computing-Curriculum for Schools in Ghana
Complications of Minimal Access Surgery at WLH
Cell Types and Its function , kingdom of life
Renaissance Architecture: A Journey from Faith to Humanism
Insiders guide to clinical Medicine.pdf
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
human mycosis Human fungal infections are called human mycosis..pptx
Final Presentation General Medicine 03-08-2024.pptx
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Supply Chain Operations Speaking Notes -ICLT Program
TR - Agricultural Crops Production NC III.pdf
Pharma ospi slides which help in ospi learning
RMMM.pdf make it easy to upload and study
PPH.pptx obstetrics and gynecology in nursing
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Institutional Correction lecture only . . .

Yum (Linux)

  • 1. yum INSTALLING AND REMOVING PACKAGES USING YUM
  • 2. A software package, or simply package, is the collection of scripts, programs, files, and directories required to install and run an application, utility, server, or system software. A package also includes a list of other packages the package depends on (dependencies). Using software packages makes it easier to install, update, and uninstall software. A package contains either executable files or source code files. Executable files are precompiled for a specific processor architecture and operating system, whereas source files need to be compiled but will run on a wide range of machines and operating systems.
  • 3. A PMS, or package management system, is a set of utilities that allow you to install, upgrade, remove, and search software packages easily and in a consistent manner. It is based on a local database that holds information about each installed package, including its dependencies and version information.
  • 4. PackageKit (www.packagekit.org) is a front end for several PMSs, providing a uniform interface. Fedora, Kubuntu, and SUSE use PackageKit. The gnome-packagekit package holds graphical tools designed for the GNOME desktop; each of these tools is named gpk*. /etc/yum.repos.d
  • 5. The following example calls yum to install the tcsh shell, which is part of the tcsh package. After yum determines what it needs to do, it asks for confirmation. Reply y if you want to continue or n to quit. # yum install tcsh Loaded plugins: langpacks, presto, refresh-packagekit Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package tcsh.i686 0:6.17-15.fc15 will be installed --> Finished Dependency Resolution Dependencies Resolved
  • 6. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: tcsh i686 6.17-15.fc15 updates-testing 403 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 403 k Installed size: 1.1 M
  • 7. Is this ok [y/N]: y Downloading Packages: Setting up and reading Presto delta metadata Processing delta metadata Package(s) data still to download: 403 k tcsh-6.17-15.fc15.i686.rpm | 403 kB 00:01 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : tcsh-6.17-15.fc15.i686 1/1 Installed: tcsh.i686 0:6.17-15.fc15 Complete!
  • 8. Automatically Installs dependencies The next command installs the ypbind (NIS) package. Because this package depends on other packages that are not installed (rpcbind and yp-tools), yum lists the package under Installing for dependencies and installs them automatically. The yum utility asks for confirmation before installing the packages.
  • 9. # yum install ypbind Loaded plugins: langpacks, presto, refresh-packagekit Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package ypbind.i686 3:1.32-5.fc15 will be installed --> Processing Dependency: yp-tools for package: 3:ypbind-1.32-5.fc15.i686 --> Processing Dependency: rpcbind for package: 3:ypbind-1.32-5.fc15.i686 --> Running transaction check ---> Package rpcbind.i686 0:0.2.0-10.fc15 will be installed ---> Package yp-tools.i686 0:2.12-4.fc15 will be installed --> Finished Dependency Resolution Dependencies Resolved
  • 10. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: ypbind i686 3:1.32-5.fc15 fedora 55 k Installing for dependencies: rpcbind i686 0.2.0-10.fc15 fedora 47 k yp-tools i686 2.12-4.fc15 fedora 69 k Transaction Summary ================================================================================ Install 3 Package(s) Total download size: 171 k Installed size: 345 k Is this ok [y/N]: y
  • 11. yum remove You can also use yum to remove packages, using a similar syntax. The following example removes the tcsh package: # yum remove tcsh Loaded plugins: langpacks, presto, refresh-packagekit Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package tcsh.i686 0:6.17-15.fc15 will be erased --> Finished Dependency Resolution Dependencies Resolved
  • 12. ============================================================================== == Package Arch Version Repository Size ============================================================================== == Removing: tcsh i686 6.17-15.fc15 @updates-testing 1.1 M Transaction Summary ============================================================================== == Remove 1 Package(s)
  • 13. Installed size: 1.1 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : tcsh-6.17-15.fc15.i6861/1 Removed: tcsh.i686 0:6.17-15.fc15 Complete! Automatically removes dependencies When yum removes a package, it also removes packages that are dependent on the package it is removing. The followingexample removes ypbind and its dependency, yp-tools.It does not remove rpcbindbecause another installed package might depend on rpcbind.
  • 14. # yum remove ypbind Loaded plugins: langpacks, presto, refresh-packagekit Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package ypbind.i686 3:1.32-5.fc15 will be erased --> Processing Dependency: ypbind for package: yp-tools-2.12-4.fc15.i686 --> Running transaction check ---> Package yp-tools.i686 0:2.12-4.fc15 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size
  • 15. ================================================================================ Removing: ypbind i686 3:1.32-5.fc15 @fedora 91 k Removing for dependencies: yp-tools i686 2.12-4.fc15 @fedora 167 k Transaction Summary ================================================================================ Remove 2 Package(s) Installed size: 258 k Is this ok [y/N]: y
  • 16. Finding the Package That Holds an Application or File You Need Finding a package with a name that sounds like... The yum search command (next page) searches package names, descriptions, and summaries. The yum list command (next page) searches package names only. $ yum whatprovides "*X11/Xlib.h" Loaded plugins: langpacks, presto, refresh-packagekit ... libX11-devel-1.4.2-1.fc15.i686 : Development files for libX11 Repo : fedora Matched from: Filename : /usr/include/X11/Xlib.h
  • 17. The most likely candidate is the entry shown in the preceding example, which is the most generic. You can install this package using the following command: # yum install libX11-devel yum search The yum search command searches for a string in the package description, summary, and name fields. The following example searches for packages that have the string vim in these fields:
  • 18. $ yum search vim Loaded plugins: langpacks, presto, refresh-packagekit updates-testing/pkgtags | 44 kB 00:00 =============================== N/S Matched: vim =============================== glusterfs-vim.i686 : Vim syntax file perl-Text-VimColor.noarch : Syntax color text in HTML or XML using Vim uzbl-vim.i686 : Vim highlighting for uzbl's config vim-X11.i686 : The VIM version of the vi editor for the X Window System vim-clustershell.noarch : VIM files for ClusterShell vim-common.i686 : The common files needed by any version of the VIM editor
  • 19. The yum list command searches for a package name field that matches a string. Specify list available without an argument to list all packages that can be installed from the yum repositories. The following example searches for packages whose name fields match the string *emacs*:
  • 20. $ yum list '*emacs*' Loaded plugins: langpacks, presto, refresh-packagekit Available Packages clips-emacs.noarch 6.30.0-0.3.20090722svn.fc15 fedora coq-emacs.i686 8.2pl1-1.fc12 fedora crm114-emacs.i686 0-2.14.20100106.fc15 fedora cvc3-emacs.noarch 2.2-3.fc15 fedora cvc3-emacs-el.noarch 2.2-3.fc15 fedora cvc3-xemacs.noarch 2.2-3.fc15 fedora cvc3-xemacs-el.noarch 2.2-3.fc15 fedora emacs.i686 1:23.2-17.fc15 fedora
  • 21. yum: Keeps the System Up-to-Date This section continues to describe yum. It covers updating installed packages, yum commands and groups, downloading RPM package files, configuring yum, and adding a repository specification. Refer to yum.baseurl.org for more information.
  • 22. Updating Packages The yum update command, without additional parameters, updates all installed packages. # yum update Loaded plugins: langpacks, presto, refresh-packagekit Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package gnome-games.i686 1:2.91.93-1.fc15 will be updated ---> Package gnome-games.i686 1:2.91.94-0.20110331.1.fc15 will be an update ---> Package xorg-x11-server-Xorg.i686 0:1.10.0-3.fc15 will be updated ---> Package xorg-x11-server-Xorg.i686 0:1.10.0-7.fc15 will be an update --> Finished Dependency Resolution Dependencies Resolved
  • 23. ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: gnome-games i686 1:2.91.94-0.20110331.1.fc15 updates-testing 2.4 M xorg-x11-server-Xorg i686 1.10.0-7.fc15 updates-testing 1.4 M Transaction Summary ================================================================================ Upgrade 2 Package(s) Total download size: 3.8 M Is this ok [y/N]: y Downloading Packages:
  • 24. Setting up and reading Presto delta metadata Processing delta metadata Download delta size: 1.2 M (1/2): gnome-games-2.91.93-1.fc15_2.91.94-0.20110331.1.f| 341 kB 00:02 (2/2): xorg-x11-server-Xorg-1.10.0-3.fc15_1.10.0-7.fc15. | 870 kB 00:06 Finishing rebuild of rpms, from deltarpms <delta rebuild> | 3.8 MB 00:02 Presto reduced the update size by 69% (from 3.8 M to 1.2 M). Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : 1:gnome-games-2.91.94-0.20110331.1.fc15.i6861/4 Updating : xorg-x11-server-Xorg-1.10.0-7.fc15.i686 2/4 Cleanup : 1:gnome-games-2.91.93-1.fc15.i6863/4 Cleanup : xorg-x11-server-Xorg-1.10.0-3.fc15.i6864/4 Updated: gnome-games.i6861:2.91.94-0.20110331.1.fc15 xorg-x11-server-Xorg.i6860:1.10.0-7.fc15 Complete!
  • 26. yum Commands This section describes a few commonly used yum commands. The yum man page contains a complete list. check Reports on problems in the local RPM database. check-update Lists packages that are installed on the local system and have updates available in the yum repositories. clean all Removes header files that yum uses for resolving dependencies. Also removes cached packages. However, because yum removes packages after they have been installed, typically no cached packages exist clean metadata Removes the files yum uses to determine remote package availability. Using this command forces yum to download all metadata the next time you run it. grouplist Lists yum groups (next). groupinfo group Lists information about the yum group named group (next). groupinstall group Installs the packages in the yum group named group (next).
  • 27. info word Displays information about packages in the yum repositories named word. Specify word as "*word*" to search for word anywhere in the package name. list word Lists packages in the yum repositories whose name is word. Specify word as "*word*" to search for word anywhere in the package name. See page 538 for an example. list available Lists all packages that can be installed from the yum repositories. Use a pipe and grep to search for packages (e.g., yum list available | grep samba). provides Same as whatprovides. search word Lists packages in the yum repositories that have word in their descriptions, summaries, or names. See page 538 for an example. whatprovides word Searches repositories and displays a list of packages that provides a feature or file that matches word. Specify word as "*word*"
  • 28. yum Groups In addition to working with single packages, yum can work with groups of packages. The next example shows how to display a list of installed and available groups: $ yum grouplist Loaded plugins: langpacks, presto, refresh-packagekit Setting up Group Process Installed Groups: Administration Tools Dial-up Networking Support Fonts
  • 29. GNOME Desktop Environment ... Window Managers X Window System Installed Language Groups: Arabic Support [ar] Armenian Support [hy] AvailableGroups: ... MySQL Database ... Done The command yum groupinfo followed by the name of a group displays information about the group, includinga description of the group and a list of mandatory, default, and optional packages. The next example displays information about the MySQL Database group of packages. You must quote group names that include SPACEs.
  • 30. # yum groupinfo "MySQL Database" Loaded plugins: langpacks, presto, refresh-packagekit Setting up Group Process Group: MySQL Database Description: This package group contains packages useful for use with MySQL. Mandatory Packages: mysql Default Packages: MySQL-python libdbi-dbd-mysql mysql-connector-odbc mysql-server perl-DBD-MySQL unixODBC
  • 32. Downloading RPM Package Files with yumdownloader The yumdownloader utility (yum-utils package) locates and downloads—but does not install—RPM files. Because it does not install software, you do not need to work with root privileges to run it; you need only permission to write to the working directory
  • 33. The following example downloads the samba RPM file to the working directory: $ yumdownloader samba Loaded plugins: langpacks, presto, refresh-packagekit samba-3.6.0-64pre1.fc15.1.i686.rpm | 4.5 MB 00:04 Downloading source files You can use yumdownloader with the ––source option to download RPM source package files. The yumdownloader utility automatically enables the necessary source repositories. See page 586 for an example that downloads in the working directory the RPM file for the latest version of the kernel source code for the release installed on the local system. Without the ––source option, yumdownloader would have downloaded an executable RPM file. See page 551 for information on installing this type of file.
  • 34. yum.conf: Configures yum You do not need to configure yum: As installed, it is ready to use. This section describes the yum configuration files for users who want to modify them. The primary configuration file, /etc/yum.conf, holds global settings. As distributed with Fedora/RHEL, files in the /etc/yum.repos.d directory define repositories. Following is the default yum.conf file:
  • 36. The section labeled [main] defines global configuration options. The cachedir specifies the directory where yum stores downloaded packages, although with keepcache set to 0, yum does not store these packages after installing them. The amount of information logged is specified by debuglevel, with a value of 10 producing the most information. The logfile specifies where yum keeps its log. Setting exactarch to 1 causes yum to update packages only with packages of the same architecture, thereby preventing an i686 package from replacing an i386 package, for example. You can use retries to specify the number of times yum will try to retrieve a file before returning an error (the default is 6). Set this parameter to 0 to cause yum to continue trying forever.
  • 37. yum Repositories As noted in /etc/yum.conf, Fedora/RHEL stores information about each repository in a separate file in the /etc/yum.repos.d directory: $ ls /etc/yum.repos.d fedora.repo fedora-updates.repo fedora-updates-testing.repo
  • 38. The next example shows part of the fedora.repo file that specifies the parameters for the fedora repository: $ cat /etc/yum.repos.d/fedora.repo [fedora] name=Fedora $releasever - $basearch failovermethod=priority #baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/ mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch enabled=1 #metadata_expire=7d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch