Hace poco me encontré con un par de problemas para pacman y me gustaría compartir con Uds, las posibles soluciones a errores comunes, también voy a compartir como optimizar el rendimiento del pacman para que ande como un verdadero Ninja.

Mejorando la velocidad de acceso a la base de datos

Pacman guarda todos la información de los paquetes en un conjunto de archivos pequeños (uno por cada paquete). Mejorando la velocidad de acceso de la base de datos, reduce el tiempo de, por ejemplo, búsqueda de paquetes y de resolución de dependencias. El primer paso es correr el script (como root):

Código:
pacman-optimize
Esto tratará de poner todos los archivos pequeños juntos (de manera física en el disco), entonces el disco duro no se tendrá que buscar mucho cuando esté buscando algun paquete. Este es un paso seguro, es decir, no dañará tu pacman .

ody ha posteado un script en el foro oficial (en inglés) que reemplaza la base de datos de pacman con un "loopback filesystem", el cual asegura que los archivos pequeños continúan estando juntos en el disco duro. Muchos usuario han reportado incrementos en la velocidad de acceso, pero también ha habido problemas con esto, entonces no haga esto a menos que usted sea un usuario experto. Para usar el script de ody, debes tener un kernel compilado con soporte para "loopback filesystem". El kernel por defecto (el que viene con arch) ya trae esto, así que no te debes preocupar de compilar un kernel a medida.

Mejorar la velocidad de las descargas

Si la velocidad de las descargas se reducen a una porción, asegúrate de estar usando uno de los mirrows de los repositorios y no ftp.archlinux.org, el cual, desde Marzo del 2007, se controla su velocidad para que todos puedan descargar bien.

La velocidad de descarga de paquetes por medio de Pacman puede ser mejorado utilizando otras aplicaciones para descargar paquetes en vez del que esta construido en Pacman.

De todos modos, asegúrate que tienes la última versión de pacman por medio de:

Código:
pacman -Syu
Usando wget

* Primero actualiza todo el sistema para comprobar que tienes la ultima versión de pacman:

Código:
pacman -Syu
* Instala wget:

Código:
pacman -S wget
* Ahora configura /etc/pacman.conf. Y agrega la siguiente linea en la sección de [option]:

Código:
XferCommand = /usr/bin/wget -c --passive-ftp -c %u
* Ahora pacman bajará todos los paquetes usando wget.

Esto es recomendable si quieres usar configuraciones avanzadas de proxy que pacman no soporta.


Usando aria2

De acuerdo a la página de aria2, aria2 es "es una utilidad de descarga con pausa y resumen. Soporta HTTP/HTTPS/FTP/BitTorrent/Metalink." Esto significa que puedes hacer varias conexiones HTTP/FTP a un mirror de Arch al mismo tiempo, lo cual debería aumentar la velocidad.

Instálalo con pacman -S aria2 y edita /etc/pacman.conf agregando la siguiente línea a la sección [option]:

Código:
XferCommand = /usr/bin/aria2c -s 2 -m 2 -o %o %u
Ahora veamos las configuraciones:

* /usr/bin/aria2c - ruta de la aplicación
* -s 2 - usa 2 conexiones concurrentes (puedes colocar números mas altos,pero no va a incrementar mucho)
* -m 2 - hace 2 intentos por mirror para bajar un paquete
* -o %o - salida que pacman le especifica
* %u - descarga el paquete que pacman le especifica pacman

Fuente



Resolver Problemas Comunes

Cuando obtenemos el siguiente error o parecido, diciendo que el pacman está bloqueado, lo podemos resolver de la siguiente manera:

pacman -Syu
:: Sincronizando las bases de datos de paquetes...
error: no se pudo iniciar la transacción (no se pudo bloquear la base de datos)
si está seguro que no se está ejecutando un
administrador de paquetes, puede eliminar /var/lib/pacman/db.lck.
Código:
rm /var/lib/pacman/db.lck

Problema nº 2:

Despues de instalar el sistema base y de actualizar el sistema(pacman -Syu) el archivo /etc/pacman.d/mirrorlist tiene todos los servidores desabilitados por lo que si se quiere instalar cualquier cosa lanzará un error similar a:

precaución: falló al descargar algunos archivos desde core
error: no se pudo iniciar la operación (error ineesperado)
Solución: habilitar todos o algun servidor, quitando las # a los servidores en el archivo mirrorlist.

Consejo: instalese hal dbus y hwd y pongase en la lista de demonios a hal. Es decir en el archivo /etc/rc.conf agreguese hal. Reincie la maquina o inicie el demonio hal.



Problema nº 3:

Al intentar iniciar las X obtengo:

(EE) No devices detected
Fatal server error
no screens found
Solución: Revise el archivo /var/log/Xorg.0.log Asegurese de instalar el driver de su tarjeta adecuado. Si tiene una tarjeta nvidia debe escoger entre: nvidia, nvidia-173xx, nvidia-9xx. Mi tarjeta es una nvidia Fx 5500 256 MB, así que el driver a instalar es nvidia-173xx.

Consejo: instalese el xorg (pacman -S xorg) Para probar el servidor x no es necesario tener un archivo xorg.conf, basta con tener xorg instalado y ejecutar startx. si se desea tener un xorg.conf hay muchas formas de generarlo:

# hwd -xa
# hwd -x
# Xorg -configure
# nvidia-xconfig
Problema nº 4:

hago startx y mi mouse y/o teclado no funcionan, estan como "congelados". Es culpa de la nueva versión del xorg (algo llamado hotplugging o algo asi) instale:

Código:
xf86-input-mouse xf86-input-keyboard y xf86-input-evdev
Consejo: si todo va bien al probar startx se deben mostrar tres terminales "graficas", para salir de ahi puede dar crtl+alt+backspace o bien crtl+alt+f1. Instale gdm y gnome no instale gnome-extras (tiene mucha paja). instale además fam. Agregue a los demonios hal y fam. También instale gnome-terminal
para poder tener una terminal en el entorno gráfico.



Visto en taringa