Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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

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