YUM

Links

 * Managing Software with YUM
 * YUM and RPM tricks
 * How to use YUM to download a package without installing it
 * also, don't forget to do  yum install yum-utils. This will give you the yumdownloader mentioned in the above link.

Task: Register my system with RHN
To register your system with RHN type the following command and just follow on screen instructions (CentOS user skip to next step):
 * 1) rhn_register

Task: Display list of updated software (security fix)
Type the following command at shell prompt:
 * 1) yum list updates

Task: Patch up system by applying all updates
To download and install all updates type the following command:
 * 1) yum update

Task: List all installed packages
List all installed packages, enter: Find out if httpd package installed or not, enter:
 * 1) rpm -qa
 * 2) yum list installed
 * 1) rpm -qa | grep httpd
 * 2) yum list installed httpd

Task: Check for and update specified packages
To check for and update httpd package, enter:
 * 1) yum update {package-name-1}
 * 1) yum update httpd

Task: Search for packages by name
Search httpd and all matching perl packages, enter: Sample output:
 * 1) yum list {package-name}
 * 2) yum list {regex}
 * 3) yum list httpd
 * 4) yum list perl*

Loading "installonlyn" plugin Loading "security" plugin Setting up repositories Reading repository metadata in from local files Installed Packages perl.i386                               4:5.8.8-10.el5_0.2     installed perl-Archive-Tar.noarch                 1.30-1.fc6             installed perl-BSD-Resource.i386                  1.28-1.fc6.1           installed perl-Compress-Zlib.i386                 1.42-1.fc6             installed perl-DBD-MySQL.i386                     3.0007-1.fc6           installed perl-DBI.i386                           1.52-1.fc6             installed perl-Digest-HMAC.noarch                 1.01-15                installed perl-Digest-SHA1.i386                   2.11-1.2.1             installed perl-HTML-Parser.i386                   3.55-1.fc6             installed ..... ....... .. perl-libxml-perl.noarch                 0.08-1.2.1             base perl-suidperl.i386                      4:5.8.8-10.el5_0.2     updates

Task: Install the specified packages [ RPM(s) ]
Install package called httpd:
 * 1) yum install {package-name-1} {package-name-2}
 * 2) yum install httpd

Task: Remove / Uninstall the specified packages [ RPM(s) ]
Remove package called httpd, enter:
 * 1) yum remove {package-name-1} {package-name-2}
 * 2) yum remove httpd

Task: Display the list of available packages

 * 1) yum list all

Task: Display list of group software
Type the following command: Output:
 * 1) yum grouplist

Installed Groups: Engineering and Scientific MySQL Database Editors System Tools Text-based Internet Legacy Network Server DNS Name Server Dialup Networking Support FTP Server Network Servers Legacy Software Development Legacy Software Support Development Libraries Graphics Web Server Ruby Printing Support Mail Server Server Configuration Tools PostgreSQL Database Available Groups: Office/Productivity Administration Tools Beagle Development Tools GNOME Software Development X Software Development Virtualization GNOME Desktop Environment Authoring and Publishing Mono Games and Entertainment XFCE-4.4 Tomboy Java Java Development Emacs X Window System Windows File Server KDE Software Development KDE (K Desktop Environment) Horde Sound and Video FreeNX and NX  News Server Yum Utilities Graphical Internet Done

Task: Install all the default packages by group
Install all 'Development Tools' group packages, enter:
 * 1) yum groupinstall "Development Tools"

Task: Update all the default packages by group
Update all 'Development Tools' group packages, enter:
 * 1) yum groupupdate "Development Tools"

Task: Remove all packages in a group
Remove all 'Development Tools' group packages, enter:
 * 1) yum groupremove "Development Tools"

Task: Install particular architecture package
If you are using 64 bit RHEL version it is possible to install 32 packages:
 * 1) yum install {package-name}.{architecture}
 * 2) yum install mysql.i386

Task: Display packages not installed via official RHN subscribed repos
Show all packages not available via subscribed channels or repositories i.e show packages installed via other repos: Sample output:
 * 1) yum list extras

Loading "installonlyn" plugin Loading "security" plugin Setting up repositories Reading repository metadata in from local files Extra Packages DenyHosts.noarch                        2.6-python2.4          installed VMwareTools.i386                        6532-44356             installed john.i386                               1.7.0.2-3.el5.rf       installed kernel.i686                             2.6.18-8.1.15.el5      installed kernel-devel.i686                       2.6.18-8.1.15.el5      installed lighttpd.i386                           1.4.18-1.el5.rf        installed lighttpd-fastcgi.i386                   1.4.18-1.el5.rf        installed psad.i386                               2.1-1                  installed rssh.i386                               2.3.2-1.2.el5.rf       installed

Task: Display what package provides the file
Sample output:
 * You can easily find out what RPM package provides the file. For example find out what provides the /etc/passwd file:
 * 1) yum provides /etc/passwd

Loading "installonlyn" plugin Loading "security" plugin Setting up repositories Reading repository metadata in from local files setup.noarch                            2.5.58-1.el5           base Matched from: /etc/passwd setup.noarch                            2.5.58-1.el5           installed Matched from: /etc/passwd

'''You can use wildcards if you don't know the paths. This searches for a filename beginning with gcc:'''
 * 1) yum provides \*/gcc\*

(Note, this will often produce a long list....) ... libmudflap-devel-4.1.1-52.el5.2.x86_64 : GCC mudflap support Repo       : rhel-x86_64-server-5 Matched from: Filename   : /usr/lib/gcc gcc-c++-4.1.1-52.el5.x86_64 : C++ support for GCC Repo       : rhel-x86_64-server-5 Matched from: Filename   : /usr/lib/gcc Filename   : /usr/libexec/gcc ...


 * You can use same command to list packages that satisfy dependencies:
 * 1) yum provides {dependency-1} {dependency-2}