Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Mostrando entradas con la etiqueta yum. Mostrar todas las entradas
Mostrando entradas con la etiqueta yum. Mostrar todas las entradas

Corrección de repositorios de YUM en Centos

Todo esta ok hasta un día en que pasa algo que nos saca de la rutina, en este caso, un servidor Linux Centos 6.4 que se niega a permitir instalar/actualizar un paquete. Misteriosamente todo estaba bien hasta que ya hoy hay que corregir los repositorios de YUM porque se niega a funcionar. Aunque este problema lo solucione en un Linux Centos 6.4, también debe funcionar en otras versiones anteriores.
Todas las pruebas y cambios los haremos desde la cuenta root.

El error que les puede aparecer es:

yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. $releasever is not a valid release or hasnt been released yet/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/$releasever/updates/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base

-Primer paso, verifiquemos que tengamos internet y resolución de nombres lo cual si estamos detrás de un firewall o proxy podria dejar de funcionar por un cambio de políticas.

host google.com
google.com has address 74.125.228.32
google.com has address 74.125.228.46
google.com has address 74.125.228.33
google.com has address 74.125.228.36
google.com has address 74.125.228.39
google.com has address 74.125.228.37
google.com has address 74.125.228.35
google.com has address 74.125.228.41
google.com has address 74.125.228.38
google.com has address 74.125.228.34
google.com has address 74.125.228.40
google.com has IPv6 address 2607:f8b0:4004:801::1001
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

-Ya comprobado que tenemos acceso a internet, verificamos los directorios de repositorios. Como vemos debajo, el owner (propietario) y group (grupo) no son los debidos. Estos deben pertenecer a root y group root.

ls -la /var/cache/yum/$basearch/$releasever
total 24
drwxr-xr-x 6 pepe pepe 4096 Jul 26 18:08 .
drwxr-xr-x 3 root          root          4096 Jul 26 18:09 ..
drwxr-xr-x 4 pepe pepe 4096 Jul 26 18:08 centos
drwxr-xr-x 3 pepe pepe 4096 Jul 26 18:08 centos-cr
drwxr-xr-x 3 pepe pepe 4096 Jul 26 18:08 centos-updates
drwxr-xr-x 4 pepe pepe 4096 Jul 26 18:09 x86_64

-Cambiamos los permisos

chown -R root.root /var/cache/yum/$basearch/$releasever

-Verificamos no existan directorios erróneos (en mi caso el servidor es de 64 bits) en caso de haberlo se elimina

ls -la /var/cache/yum/x86_64/releasever
total 16
drwxr-xr-x 3 root root 4096 Aug  8 12:22 $releasever
drwxr-xr-x 4 root root 4096 Jul 26 18:09 .
drwxr-xr-x 6 root root 4096 Jul 26 18:08 ..
drwxr-xr-x 6 root root 4096 Jul 26 18:08 6

rm /var/cache/yum/x86_64/releasever/$releasever

-Editamos los repositorios y hacemos corrección

vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

Y esto mismo con los demás repos (updates, extras, etc)

-Verificamos esta funcionando bien
yum update
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: centosb5.centos.org
 * extras: mirror.solarvps.com
 * updates: mirror.us.leaseweb.net
base                                                                                                                           | 3.7 kB     00:00     
extras                                                                                                                         | 3.4 kB     00:00     
updates                                                                                                                      | 3.4 kB     00:00     
updates/primary_db                                                                                                   | 3.8 MB     00:01     
Setting up Update Process
No Packages marked for Update

Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Que instalar si no sabemos cual rpm es en Centos

Que instalar si no sabemos cual rpm es en Linux Centos
No les ha pasado que instalan un server Centos básico, no full (completo), por ahorrar espacio en disco, memoria, etc, y cuando ya comienzan a usarlo encuentran que faltan varios comandos o ficheros que necesitan, ejemplo, el comando host tan útil para verificar si se esta resolviendo bien la salida por DNS.
Bien, antes de ponernos como locos a instalar cuanto rpm se le parezca en el nombre, hacemos lo siguiente:

-Entre a un server centos donde si tenga ese file instalado, preferiblemente lo mas actual posible.

-Damos el siguiente comando como root, ejemplo, para el comando host

rpm -qf /usr/bin/host
bind-utils-9.8.2-0.10.rc1.el6_3.2.i686

-La respuesta es que debemos instalar en el Centos server donde falta el rpm bind-utils

yum install bind-utils

Espero evitar algunos dolores de cabeza ;-)
Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Reconstruir db rpm en Openvz

Este problema me ha pasado varias veces con servidores virtuales ejecutando en Openvz. Estoy trabajando en un server y trato de instalar algun rpm y veo que yum me devuelve el siguiente error:

Loaded plugins: fastestmirror
error: no dbpath has been set
error: cannot open Packages database in /%{_dbpath}
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 229, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 84, in main
base.getOptionsConfig(args)
File "/usr/share/yum-cli/cli.py", line 184, in getOptionsConfig
enabled_plugins=self.optparser._splitArg(opts.enableplugins))
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 191, in _getConfig
self._conf = config.readMainConfig(startupconf)
File "/usr/lib/python2.4/site-packages/yum/config.py", line 754, in readMainConfig
yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
File "/usr/lib/python2.4/site-packages/yum/config.py", line 824, in _getsysver
idx = ts.dbMatch('provides', distroverpkg)
TypeError: rpmdb open failed

Mirando y mirando encontre la solucion. Ejecutamos lo siguiente como root dentro del server virtual.
rm /dev/urandom
mknod -m 644 /dev/urandom c 1 9
yum clean all

Y listo, ya podemos usar yum o rpm sin que nos devuelva errores.
Share/Bookmark