A pesar de que el arribo de de Pacman 4 al repositorio [core] tiene apenas unas horas, este cambio no ha sido de la noche a la mañana. Desde abril de 2011 se empezaron a subir paquetes con firmas PGP, y desde noviembre pasado era ya algo obligatorio.
En este momento, 100% de los paquetes en [core] cuentan con firma PGP, y aproximadamente el 71% en [extra] y el 45% en [community], porcentajes que en los siguientes días y semanas irán incrementándose, hasta alcanzar todos el 100%.
Actualizar a Pacman 4
Como ya se lo están imaginando, se trata de una actualización delicada, y lo más seguro es que requiera de especial atención por parte de cada usuario, dependiendo de los paquetes que cada quien tenga instalados.¿Qué hacer primero? Intentemos actualizar normalmente:
sudo pacman -Syu
Pero como buenos usuarios de ArchLinux, es casi seguro que tengamos instalado una multitud de aplicaciones, así que el comando anterior nos arrojará algo similar a lo siguiente:
En la captura de pantalla previa podemos apreciar que hay conflicto con un paquete, lo cual puede variar de usuario a usuario (es probable que tengas más paquetes en conflicto, pero no te preocupes).
¿Qué hacer ahora? Es sencillo: Eliminar los paquetes que nos estén ocasionando conflictos, y después de la actualización a Pacman 4, volverlos a instalar. Incluso, si al tratar de eliminar algún paquete, aparece otro conflicto, también debes eliminar el (los) paquete(s) que lo ocasionen, y así sucesivamente.
Por ejemplo (mi caso particular): Al tratar de eliminar el paquete package-query, apareció en conflicto el paquete yaourt (el cual necesita al primero), por lo que tuve que desinstalar ambos con:
sudo pacman -R package-query yaourt
sudo pacman -Syu
¡No olvides volver a instalar los paquetes que hayas desinstalado!
Habilitar la verificación de firmas de paquetes
De manera predeterminada, la verificación de firmas de paquetes está deshabilitada. Mi recomendación es mantener dicha configuración y dejar pasar un tiempo para empezar a validar paquetes… pero cómo estoy seguro harán caso omiso de mi recomendación, procedamos a habilitar el nuevo juguete ;-)Primero, debemos inicializar nuestro pacman keyring usando el comando:
sudo pacman-key --init
sudo vim /etc/pacman.d/gnupg/gpg.conf
no-greeting no-permission-warning lock-never #keyserver hkp://keys.gnupg.net keyserver hkp://pgp.mit.edu keyserver-options timeout=10
sudo mv /etc/pacman.conf /etc/pacman.conf.old sudo mv /etc/pacman.conf.pacnew /etc/pacman.conf
Ahora sí, procedemos a modificar el archivo de configuración de pacman:
sudo vim /etc/pacman.conf
... # PGP signature checking # NOTE: None of this will work without running `pacman-key --init` first. # The compiled in default is equivalent to the following line. This requires # you to locally sign and trust packager keys using `pacman-key` for them to be # considered valid. SigLevel = Optional TrustedOnly # If you wish to check signatures but avoid local sign and trust issues, use # the following line. This will treat any key imported into pacman's keyring as # trusted. #SigLevel = Optional TrustAll # For now, off by default unless you read the above. #SigLevel = Never ...
... [core] SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist [community] SigLevel = PackageOptional Include = /etc/pacman.d/mirrorlist ...
Guarden los cambios realizados en /etc/pacman.conf, y traten de ejecutar nuevamente pacman -Syu… obtendrán errores al final, pues las firmas aún no pueden ser verificadas. ¿Por qué? Aún necesitamos importar las firmas PGP confiables a nuestro keyring.
Para no hacer ésto último manualmente (con el comando pacman-key –lsign) con cada firma PGP de los 35 desarrolladores y los 30 usuarios confiables, basta con importar las 5 Master Keys, ya que ellas fueron usadas para firmar todas las demás.
Para hacerlo más sencillo, se recomienda crear un bash script para automatizar el proceso:
vim master-keys.sh
for key in FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8; do pacman-key --recv-keys $key pacman-key --lsign-key $key printf 'trust\n3\nquit\n' | gpg --homedir /etc/pacman.d/gnupg/ \ --no-permission-warning --command-fd 0 --edit-key $key done
chmod a+x master-keys.sh
sudo ./master-keys.sh
sudo pacman -Syu
No hay comentarios:
Publicar un comentario