Buscar este blog

Aviso

El autor de éste blog no se hace responsable de los posibles daños o perdidas de información, que pudieran ocasionarse en su sistema o su vida por la aplicación de la información aquí contenida.

domingo, 26 de febrero de 2012

Solucionar problemas con las bases de datos y otros problemas de yum

Buen dia. Después de haber instalado kororaa en un portatil, me encontré con que no podía actualizar el sistema, ni instalar paquetes nuevos debido a unas dependencias que no tenían solución; Al ver un poco el problema noté que no lo podía resolver instalando, desinstalando o actualizando paquetería, así que opté por buscar en google, en un foro en ingles (no recuerdo cual era) exponían que podía ser que la base de datos de yum estaría dañada, después de un rato encontré como reconstruirla en este link cabe resaltar que puede funcionar para otros problemas donde yum muestre errores a la hora de ejecutarse.

Posteo los pasos que hice en dicho computador:

1. Hacer un backup de las bases de datos, por facilidad se hará con el comando tar que crea un fichero con todos estos datos y se le dirá que lo guarde en la carpeta personal.

$ tar cvzf ~/backup-rpm.tar.gz2 /var/lib/rpm

2. Borrar las bases de datos de yum

$ sudo rm -f /var/lib/rpm/__db*

3. Reconstruir las bases de datos con el comando rpm

$ sudo rpm --rebuilddb -vv

4. Borrar metadatos y caché

$ sudo yum clean all

5. Actualizar el sistema

$ sudo yum -y update

Con esto logré actualizar el sistema e instalar los paquetes que se necesitaban.Buena suerte.

Instalar Alacarte en Fedora 16 Verne

Buen día, me he puesto en la tarea de averiguar porque no sirve alacarte en fedora 15 y 16 con gnome 3, esta es una importante aplicación que permite organizar y crear lanzadores para nuestro menú de gnome.

Voy a mostrarles los comandos que usé para hacerlo funcionar con su respectiva explicación:

1. Primero instalamos alacarte que está en los repositorios.

$ sudo yum install alacarte

2. Creamos un directorio y accedemos a él para posteriormente guardarle unas descargas.

$ mkdir download-gm; cd download-gm

3. Descargamos el paquete gnome-menus de los repositorios de centos; Este paquete tiene el gmenu.so y el libgnome-menu.so.2 dos bibliotecas que necesita alacarte para ejecutarse:

-para 32 bits

$ wget ftp://rpmfind.net/linux/centos/6.2/os/x86_64/Packages/gnome-menus-2.28.0-4.el6.i686.rpm

-para 64 bits

$ wget ftp://rpmfind.net/linux/centos/6.2/os/x86_64/Packages/gnome-menus-2.28.0-4.el6.x86_64.rpm

4. Utilizamos un comando para extraer del .rpm todos los directorios y archivos que contiene.

$ rpm2cpio gnome-menus-* | cpio -idmv

5. Luego tipeamos estos comandos, para copiar los archivos antes descritos.

-para 32 bits

$ sudo cp usr/lib/python2.6/site-packages/gmenu.so /usr/lib/python2.7/site-packages/gmenu.so

$ sudo cp usr/lib/libgnome-menu.so.2.4.1 /usr/lib/libgnome-menu.so.2.4.1

$ sudo ln -s /usr/lib/libgnome-menu.so.2.4.1 /usr/lib/libgnome-menu.so.2

-para 64 bits

$ sudo cp usr/lib64/python2.6/site-packages/gmenu.so /usr/lib64/python2.7/site-packages/gmenu.so

$ sudo cp usr/lib64/libgnome-menu.so.2.4.1 /usr/lib64/libgnome-menu.so.2.4.1

$ sudo ln -s /usr/lib64/libgnome-menu.so.2.4.1 /usr/lib64/libgnome-menu.so.2

6. Borramos el directorio download-gm donde anteriormente guardamos las descargas.

cd ..; rm -rfv download-gm

7. Ejecutamos alacarte.

$ alacarte

Espero que les haya resultado de utilidad.

Script en bash para remover kernels viejos en Fedora GNU/Linux

Hola a todos, en veces necesitamos eliminar kernels antiguos en nuestro Fedora, pero resulta tedioso hacerlo cada vez que actualizas y lo peor es que siempre son los mismos comandos, para eso existen los scripts que son lineas de código ejecutadas en bash o en dash donde se especifican los comandos y algoritmos que sirven para realizar una tarea en el sistema.

A continuación copiaré el código y vendrá brevemente explicado después del guión:

#!/bin/bash - elegimos el programa interprete de comandos en este caso bash.

echo "Bienvenido, debe ejecutar este script con permisos de Super Usuario o como root." - echo imprime con un espacio de linea el texto o variables que le indiquemos en consola.

echo - escribir "echo" solo imprime un espacio de linea o un enter por así decirlo.

version=`uname -r` - tenemos la variable "version" la cual es un string o una variable con texto en la cual almacenamos el nombre y la versión del kernel que se está usando, "uname -r" es el comando que nos devuelve esto.

echo "kernel actual: kernel-$version" - imprimimos en pantalla la version actual que el usuario tiene instalada.

versiones=`rpm -qa | grep -i kernel | grep -v devel | grep -v loop | grep -v headers | grep -v $version` - obtenemos por medio del programa rpm, los kernel que están instalados en el sistema menos el actual.

if test "$versiones" = ""; then - este if (condicional) nos dice que si no tienes kernels viejos te salgas del programa ejecutando antes lo que viene debajo.

echo "kernels antiguos: Ninguno"; echo; sleep 1 - le decimos al usuario que no tiene kernels antiguos.

echo "Al no tener kernels antiguos no se realizará ninguna acción."

else - si, sí tienes kernels antiguos se ejecutará lo que sigue.

echo "kernels antiguos: $versiones" - informa al usuario los kernel que desinstalara.

echo

echo "comando ejecutado \"sudo yum remove -y $versiones\"" - informa al usuario el comando que ejecuta para desinstalarlos.

echo "Se desinstalaran los kernels antiguos tenga paciencia..."; sleep 1

sudo yum remove -y $versiones - se ejecuta el comando que desinstalará los kernels antiguos.

echo

echo "Se han eliminado los kernels antiguos éxitosamente."
fi
- termina el condicional.

echo; echo "Gracias por usar este script.";echo "Escrito por: Jorge Ulises Useche Cuellar"

Ahora que he terminado de explicarlo les copiaré el código del script que tiene comentado como instalarlo si pensamos hacerlo:

#INSTRUCCIONES DE INSTALACIÓN
#1. Guarda el texto de este archivo en un fichero sin extensión, yo lo llamé rmoldkernels.
#2. Guardalo en la dirección /usr/bin/rmoldkernels, puedes hacerlo con nano u otro editor
#que te permita guardarlo con permisos de root por ejemplo: $ sudo nano /usr/bin/rmoldkernels
#y pegar el código con ctrl + shift + v.
#3. Dale permisos de ejecución con el comando: $ sudo chmod +x /usr/bin/rmoldkernels
#4. Ahora puedes ejecutar el script escribiendo desde una consola: $ sudo rmoldkernels
#
##COMIENZO DEL SCRIPT
#!/bin/bash
echo "Bienvenido, debe ejecutar este script con permisos de Super Usuario o como root."
echo
version=`uname -r`
echo "kernel actual: kernel-$version"
versiones=`rpm -qa | grep -i kernel | grep -v devel | grep -v loop | grep -v headers | grep -v $version`
if test "$versiones" = ""; then
echo "kernels antiguos: Ninguno"; echo; sleep 1
echo "Al no tener kernels antiguos no se realizará ninguna acción."
else
echo "kernels antiguos: $versiones"
echo
echo "comando ejecutado \"sudo yum remove -y $versiones\""
echo "Se desinstalaran los kernels antiguos tenga paciencia..."
sleep 1
sudo yum remove -y $versiones
echo
echo "Se han eliminado los kernels antiguos éxitosamente."
fi
echo; echo "Gracias por usar este script.";echo "Escrito por: Jorge Ulises Useche Cuellar"

Buena suerte.

Más populares

Archivo del blog