How to add and remove a software package with Yum.
Yum makes things easier for the user as it calculates and offers to install dependant and updated packages for you. I am running CentOS 5.3 on my machine used in the example, but this example is a very basic use of yum which includes the whole Yellow Dog, Fedora, CentOS, RedHat EL
Here is an example of installing a software package, the one I am installing is the Bean Scripting Framework package. I chose this package to demonstrate the usefulness of letting a package manager do most of the work for you.
[root@littlemac ~]# yum install bsf
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package bsf.x86_64 0:2.3.0-11jpp.1 set to be updated
--> Processing Dependency: tomcat5-jsp-2.0-api for package: bsf
--> Processing Dependency: xalan-j2 for package: bsf
--> Processing Dependency: java-gcj-compat for package: bsf
--> Processing Dependency: servletapi5 for package: bsf
--> Processing Dependency: libgcj_bc.so.1()(64bit) for package: bsf
--> Running transaction check
---> Package xalan-j2.x86_64 0:2.7.0-6jpp.1 set to be updated
---> Package libgcj.x86_64 0:4.1.2-44.el5 set to be updated
---> Package tomcat5-jsp-2.0-api.x86_64 0:5.5.23-0jpp.7.el5_3.2 set to be updated
---> Package java-1.4.2-gcj-compat.x86_64 0:1.4.2.0-40jpp.115 set to be updated
--> Processing Dependency: jpackage-utils >= 1.6.6-1jpp_1rh for package: java-1.4.2-gcj-compat
--> Processing Dependency: jpackage-utils >= 1.6.6-1jpp_1rh for package: java-1.4.2-gcj-compat
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Processing Dependency: /usr/bin/rebuild-security-providers for package: java-1.4.2-gcj-compat
--> Processing Dependency: gjdoc for package: java-1.4.2-gcj-compat
---> Package tomcat5-servlet-2.4-api.x86_64 0:5.5.23-0jpp.7.el5_3.2 set to be updated
--> Running transaction check
---> Package gjdoc.x86_64 0:0.7.7-12.el5 set to be updated
--> Processing Dependency: antlr for package: gjdoc
---> Package jpackage-utils.noarch 0:1.7.3-1jpp.2.el5 set to be updated
--> Running transaction check
---> Package antlr.x86_64 0:2.7.6-4jpp.2 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================================================================
Package Arch Version
Repository Size
=============================================================================================================================================
Installing:
bsf x86_64 2.3.0-11jpp.1
base 385 k
Installing for dependencies:
antlr x86_64 2.7.6-4jpp.2
base 1.1 M
gjdoc x86_64 0.7.7-12.el5
base 886 k
java-1.4.2-gcj-compat x86_64 1.4.2.0-40jpp.115
base 29 k
jpackage-utils noarch 1.7.3-1jpp.2.el5
base 61 k
libgcj x86_64 4.1.2-44.el5
base 18 M
tomcat5-jsp-2.0-api x86_64 5.5.23-0jpp.7.el5_3.2
updates 102 k
tomcat5-servlet-2.4-api x86_64 5.5.23-0jpp.7.el5_3.2
updates 162 k
xalan-j2 x86_64 2.7.0-6jpp.1
base 4.6 M
Transaction Summary
=============================================================================================================================================
Install 9 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total size: 25 M
Total download size: 18 M
Is this ok [y/N]: y
Downloading Packages:
libgcj-4.1.2-44.el5.x86_64.rpm | 18 MB
01:35
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libgcj [1/9]
Installing : jpackage-utils [2/9]
Installing : java-1.4.2-gcj-compat [3/9]
Installing : tomcat5-servlet-2.4-api [4/9]
Installing : tomcat5-jsp-2.0-api [5/9]
Installing : gjdoc [6/9]
Installing : antlr [7/9]
Installing : xalan-j2 [8/9]
Installing : bsf [9/9]
Installed: bsf.x86_64 0:2.3.0-11jpp.1
Dependency Installed: antlr.x86_64 0:2.7.6-4jpp.2 gjdoc.x86_64 0:0.7.7-12.el5 java-1.4.2-gcj-compat.x86_64 0:1.4.2.0-40jpp.115
jpackage-utils.noarch 0:1.7.3-1jpp.2.el5 libgcj.x86_64 0:4.1.2-44.el5 tomcat5-jsp-2.0-api.x86_64 0:5.5.23-0jpp.7.el5_3.2 tomcat5-
servlet-2.4-api.x86_64 0:5.5.23-0jpp.7.el5_3.2 xalan-j2.x86_64 0:2.7.0-6jpp.1
Complete!
In the same way we can use Yum to get a list of dependancies
[root@littlemac ~]# yum deplist bsf
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Finding dependencies:
package: bsf.x86_64 2.3.0-11jpp.1
dependency: libgcj_bc.so.1()(64bit)
provider: libgcj.x86_64 4.1.2-44.el5
dependency: servletapi5
provider: tomcat5-servlet-2.4-api.x86_64 5.5.23-0jpp.7.el5_2.1
provider: tomcat5-servlet-2.4-api.x86_64 5.5.23-0jpp.7.el5_3.2
dependency: libc.so.6()(64bit)
provider: glibc.x86_64 2.5-34
provider: glibc.x86_64 2.5-34.el5_3.1
dependency: libz.so.1()(64bit)
provider: zlib.x86_64 1.2.3-3
dependency: rtld(GNU_HASH)
provider: glibc.x86_64 2.5-34
provider: glibc.i686 2.5-34
provider: glibc.x86_64 2.5-34.el5_3.1
provider: glibc.i686 2.5-34.el5_3.1
dependency: libc.so.6(GLIBC_2.2.5)(64bit)
provider: glibc.x86_64 2.5-34
provider: glibc.x86_64 2.5-34.el5_3.1
dependency: librt.so.1()(64bit)
provider: glibc.x86_64 2.5-34
provider: glibc.x86_64 2.5-34.el5_3.1
dependency: libm.so.6()(64bit)
provider: glibc.x86_64 2.5-34
provider: glibc.x86_64 2.5-34.el5_3.1
dependency: libdl.so.2()(64bit)
provider: glibc.x86_64 2.5-34
provider: glibc.x86_64 2.5-34.el5_3.1
dependency: tomcat5-jsp-2.0-api
provider: tomcat5-jsp-2.0-api.x86_64 5.5.23-0jpp.7.el5_2.1
provider: tomcat5-jsp-2.0-api.x86_64 5.5.23-0jpp.7.el5_3.2
dependency: libgcc_s.so.1(GCC_3.0)(64bit)
provider: libgcc.x86_64 4.1.2-44.el5
dependency: /bin/sh
provider: bash.x86_64 3.2-24.el5
dependency: libpthread.so.0()(64bit)
provider: glibc.x86_64 2.5-34
provider: glibc.x86_64 2.5-34.el5_3.1
dependency: java-gcj-compat
provider: java-1.4.2-gcj-compat.x86_64 1.4.2.0-40jpp.115
dependency: libgcc_s.so.1()(64bit)
provider: libgcc.x86_64 4.1.2-44.el5
dependency: xalan-j2
provider: xalan-j2.x86_64 2.7.0-6jpp.1
You can remove a single package with Yum also
[root@littlemac ~]# yum remove bsf
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package bsf.x86_64 0:2.3.0-11jpp.1 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================================================================
Package Arch Version
Repository Size
=============================================================================================================================================
Removing:
bsf x86_64 2.3.0-11jpp.1
installed 1.1 M
Transaction Summary
=============================================================================================================================================
Install 0 Package(s) Update 0 Package(s) Remove 1 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : bsf [1/1]
Removed: bsf.x86_64 0:2.3.0-11jpp.1
Complete!





