¿Cómo instalar y configurar un servidor YUM en OEL 5.5?

Antes de empezar con este tutorial llamado “Instalación y configuración de un servidor YUM local en Oracle Linux” , voy a aclarar dos cosas que en el anterior tutorial fueron “criticadas”:

1.- No trabajo para Oracle
2.- Escogí Oracle porque tenía los instaladores a mano.

Se puede utilizar este tutorial para cualquier distro que haya nacido de Red Hat como CentOS, Fedora y obvio RHEL (Red Hat Enterprise Linux)

Manos a la obra.

No me voy a adentrar en que es YUM (Yellow dog Updater, Modified) para eso pueden seguir el link, pero en términos generales YUM permite de una forma fácil y centralizada poder gestionar los paquetes tipo RPM para sistemas Linux.

Para poder utilizar YUM se puede generar un repositorio en el mismo filesystem del sistema operativo o se puede crear un servidor que comparte y mantenga los repositorios, esto es muy útil si tenemos mas de un sistema operativo. Mi consejo es que si tienen 1 o 100 sistemas instalados la primera tarea luego de instalar es crear un servidor YUM.

En este tutorial vamos a configurar un servidor YUM que utilice el protocolo FTP para acceder desde cualquier máquina dentro de la misma red.

Iniciamos verificando si tenemos instalado el paquete necesario para configurar un servidor FTP básico, prácticmante los dos comandos sirve para comprobar que en nuestro caso no tenemos instalado vsftp.

[root@example ~]# rpm -qa | grep -i vsftpd *
[root@example ~]# rpm -qa vsftpd *

Comprobado esto vamos a instalar vsftp desde nuestra imago ISO o DVD de instalación:

[root@example ~]# cd /media/Enterprise\ Linux\ dvd\ 20100405/
[root@example Enterprise Linux dvd 20100405]# cd Server/
[root@example Server]# rpm -ivh vsftpd-2.0.5-16.el5_4.1.x86_64.rpm
warning: vsftpd-2.0.5-16.el5_4.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
 Preparing...                ########################################### [100%]
 1:vsftpd                    ########################################### [100%]

Procedemos a levantar el servicio y a realizar una prueba, en este caso vamos a utilizar el usuario anonymous para conectarnos al servidor FTP.

Tip: El usuario anonymous viene activado por defecto y no tiene una clave así que solo le damos enter.

[root@example Server]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
[root@example Server]# ftp localhost
Connected to example.naitcorp.org.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): anonymous
331 Please specify the password.
 Password:
 230 Login successful.
 Remote system type is UNIX.
 Using binary mode to transfer files.
 ftp> ls
 227 Entering Passive Mode (127,0,0,1,164,100)
 150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Dec 17 18:09 pub
226 Directory send OK.
ftp> bye
221 Goodbye.
[root@example Server]#

Ahora vamos a copiar los paquetes desde el medio de instalación al filesystem, como se está utilizando un servidor FTP para compartir a toda la red el respositorio YUM se debe copiar en /var/ftp/pub que es la ruta por defecto del servidor FTP para compartir los archivos.

[root@example Enterprise Linux dvd 20100405]# pwd
/media/Enterprise Linux dvd 20100405
[root@example Enterprise Linux dvd 20100405]# ls
blafdoc.css     EULA      GPL       README-en                    RELEASE-NOTES-en.html  Server      VT
Cluster         eula.en_US  images    README-en.html    RPM-GPG-KEY                 supportinfo
ClusterStorage          eula.py     isolinux  RELEASE-NOTES-en   RPM-GPG-KEY-oracle     TRANS.TBL
[root@example Enterprise Linux dvd 20100405]# mkdir /var/ftp/pub/OEL5.5_x64
[root@example Enterprise Linux dvd 20100405]# cp -rf * /var/ftp/pub/OEL5.5_x64/

Luego de realizada la copia de nuestros paquetes vamos a proceder a instalar los paquetes necesarios para el servidor YUM:

[root@example Enterprise Linux dvd 20100405]# cd /var/ftp/pub/OEL5.5_x64/Server
[root@example Server]# rpm -ivh yum-* --nodeps --force
warning: yum-3.2.22-26.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
 1:yum-metadata-parser    ########################################### [  5%]
 2:yum                    ########################################### [ 10%]
 3:yum-aliases            ########################################### [ 15%]
 4:yum-changelog          ########################################### [ 20%]
 5:yum-downloadonly       ########################################### [ 25%]
 6:yum-fastestmirror      ########################################### [ 30%]
 7:yum-filter-data        ########################################### [ 35%]
 8:yum-keys               ########################################### [ 40%]
 9:yum-kmod               ########################################### [ 45%]
 10:yum-list-data          ########################################### [ 50%]
 11:yum-NetworkManager-disp########################################### [ 55%]
 12:yum-protectbase        ########################################### [ 60%]
 13:yum-protect-packages   ########################################### [ 65%]
 14:yum-security           ########################################### [ 70%]
 15:yum-tmprepo            ########################################### [ 75%]
 16:yum-updateonboot       ########################################### [ 80%]
 17:yum-updatesd           ########################################### [ 85%]
 18:yum-utils              ########################################### [ 90%]
 19:yum-verify             ########################################### [ 95%]
 20:yum-versionlock        ########################################### [100%]
[root@example Server]# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm
warning: createrepo-0.4.11-3.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
package createrepo-0.4.11-3.el5.noarch is already installed

Luego de realizar la instalación de los paquetes procedemos a la creación de nuestro repositorio YUM para Server, Cluster, ClusterStorage y VT con el comando createrepo.

[root@example Server]# pwd
/var/ftp/pub/OEL5.5_x64/Server
[root@example Server]# cd ..
[root@example OEL5.5_x64]# createrepo -v Server/
 1/3114 - gtk-vnc-python-0.3.8-3.el5.x86_64.rpm
 2/3114 - gtk2-engines-2.8.0-3.el5.x86_64.rpm
 3/3114 - xorg-x11-drv-siliconmotion-1.4.1-2.1.x86_64.rpm
 4/3114 - shared-mime-info-0.19-5.el5.x86_64.rpm
 5/3114 - m17n-db-korean-1.3.3-48.el5.noarch.rpm
 6/3114 - yum-changelog-1.1.16-13.el5.noarch.rpm
 7/3114 - xorg-x11-drv-palmax-1.1.0-1.1.x86_64.rpm
 ...
 3111/3114 - oracle_updated/ocfs2-2.6.18-194.0.0.0.3.el5xen-1.4.4-1.el5.x86_64.rpm
 3112/3114 - oracle_updated/kernel-headers-2.6.18-194.0.0.0.3.el5.x86_64.rpm
 3113/3114 - oracle_updated/ocfs2-2.6.18-194.0.0.0.3.el5-1.4.4-1.el5.x86_64.rpm
 3114/3114 - oracle_updated/kernel-xen-2.6.18-194.0.0.0.3.el5.x86_64.rpm
 Saving Primary metadata
 Saving file lists metadata
 Saving other metadata
[root@example OEL5.5_x64]#
[root@example OEL5.5_x64]# createrepo -v Cluster
 1/9 - luci-0.12.2-12.0.1.el5.x86_64.rpm
 2/9 - piranha-0.8.4-16.0.1.el5.x86_64.rpm
 3/9 - cluster-snmp-0.12.1-2.0.1.el5.x86_64.rpm
 4/9 - modcluster-0.12.1-2.0.1.el5.x86_64.rpm
 5/9 - cluster-cim-0.12.1-2.0.1.el5.x86_64.rpm
 6/9 - ricci-0.12.2-12.0.1.el5.x86_64.rpm
 7/9 - system-config-cluster-1.0.57-3.noarch.rpm
 8/9 - ipvsadm-1.24-10.x86_64.rpm
 9/9 - rgmanager-2.0.52-6.0.1.el5.x86_64.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata

[root@example OEL5.5_x64]# createrepo -v ClusterStorage/
 1/16 - kmod-gnbd-0.1.5-2.0.1.el5.x86_64.rpm
 2/16 - kmod-gfs-0.1.34-12.el5.x86_64.rpm
 3/16 - isns-utils-0.91-0.1.el5.x86_64.rpm
 4/16 - ctdb-1.0.82-1.el5.x86_64.rpm
 5/16 - gfs-utils-0.1.20-7.el5.x86_64.rpm
 6/16 - scsi-target-utils-0.0-6.20091205snap.el5_4.1.x86_64.rpm
 7/16 - kmod-cmirror-0.1.22-3.0.1.el5.x86_64.rpm
 8/16 - kmod-cmirror-xen-0.1.22-3.0.1.el5.x86_64.rpm
 9/16 - lvm2-cluster-2.02.56-7.el5.x86_64.rpm
 10/16 - ctdb-devel-1.0.82-1.el5.i386.rpm
 11/16 - kmod-gnbd-xen-0.1.5-2.0.1.el5.x86_64.rpm
 12/16 - gnbd-1.1.7-1.el5.x86_64.rpm
 13/16 - perl-Config-General-2.40-1.el5.noarch.rpm
 14/16 - ctdb-devel-1.0.82-1.el5.x86_64.rpm
 15/16 - cmirror-1.1.39-8.el5.x86_64.rpm
 16/16 - kmod-gfs-xen-0.1.34-12.el5.x86_64.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
[root@example OEL5.5_x64]# createrepo -v VT/
 1/48 - qcairo-1.8.7.1-3.el5.i386.rpm
 2/48 - qffmpeg-libs-0.4.9-0.15.20080908.el5.x86_64.rpm
 3/48 - celt051-devel-0.5.1.3-0.el5.i386.rpm
 4/48 - qpixman-devel-0.13.3-4.el5.i386.rpm
 5/48 - qcairo-devel-1.8.7.1-3.el5.x86_64.rpm
 6/48 - libvirt-devel-0.6.3-33.0.1.el5.i386.rpm
 7/48 - xen-devel-3.0.3-105.el5.x86_64.rpm
 8/48 - libvirt-python-0.6.3-33.0.1.el5.x86_64.rpm
 ...
 46/48 - qspice-0.3.0-54.el5.x86_64.rpm
 47/48 - xen-3.0.3-105.el5.x86_64.rpm
 48/48 - kvm-83-164.0.1.el5.x86_64.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata

Se procede a crear y editar el archivo server.repo que se encuentra en /etc/yum.repos.d/ con la siguiente información y tomando en cuenta la IP que estemos utilizando.

[root@example OEL5.5_x64]# cd /etc/yum.repos.d/
[root@example yum.repos.d]# ls
[root@example yum.repos.d]# vi server.repo
[server]
name=Server
baseurl=ftp://10.0.1.7/pub/OEL5.5_x64/Server
enable=1
gpgcheck=0

Ejecutamos yum clean all para limpiar el cache y probamos eliminando telnet del servidor.

[root@example yum.repos.d]# yum clean all
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, filter-data, keys, kmod, list-data,
 : protect-packages, protectbase, security, tmprepo, verify, versionlock
 Cleaning up Everything
[root@example yum.repos.d]# yum remove telnet
 Loaded plugins: aliases, changelog, downloadonly, fastestmirror, filter-data, keys, kmod, list-data,
 : protect-packages, protectbase, security, tmprepo, verify, versionlock
 Setting up Remove Process
Resolving Dependencies
 --> Running transaction check
 ---> Package telnet.x86_64 1:0.17-39.el5 set to be erased
 --> Finished Dependency Resolution
 Dependencies Resolved
 =========================================================================================================
 Package               Arch                  Version                      Repository                Size
 =========================================================================================================
 Removing:
 telnet                x86_64                1:0.17-39.el5                installed                104 k
 Transaction Summary
 =========================================================================================================
 Remove        1 Package(s)
 Reinstall     0 Package(s)
 Downgrade     0 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        : telnet                                                                            1/1
 Removed:
 telnet.x86_64 1:0.17-39.el5
 Complete!

Luego de eliminar telnet y para confirmar que todo está correctamente configurado se procede a instalar telnet.

[root@example yum.repos.d]# yum install telnet
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, filter-data, keys, kmod, list-data,
 : protect-packages, protectbase, security, tmprepo, verify, versionlock
 Loading mirror speeds from cached hostfile
 Skipping filters plugin, no data
 0 packages excluded due to repository protections
 Reading version lock configuration
 Setting up Install Process
 Resolving Dependencies
 Skipping filters plugin, no data
--> Running transaction check
 ---> Package telnet.x86_64 1:0.17-39.el5 set to be updated
 --> Finished Dependency Resolution
Dependencies Resolved
 =========================================================================================================
 Package               Arch                  Version                         Repository             Size
 =========================================================================================================
 Installing:
 telnet                x86_64                1:0.17-39.el5                   server                 59 k
 Transaction Summary
 =========================================================================================================
Install       1 Package(s)
 Upgrade       0 Package(s)
 Total download size: 59 k
Is this ok [y/N]: y
Downloading Packages:
 telnet-0.17-39.el5.x86_64.rpm                                                     |  59 kB     00:00
 Running rpm_check_debug
 Running Transaction Test
 Finished Transaction Test
 Transaction Test Succeeded
 Running Transaction
 Installing     : telnet                                                                            1/1
 Installed:
 telnet.x86_64 1:0.17-39.el5
 Complete!

Tips & tricks:

  • Revisar que los servicios como ftp y yum estén iniciados.
  • Si van a configurar el servidor en un ambiente de producción confirmar que los servicios se levanten automáticamente.

Leave a Comment.