Los desarrolladores de Arch Linux han anunciado oficialmente la inclusión de Pacman 4 de lleno en la distribución y en su repositorio base, el llamado core, algo que destaca especialmente por el soporte de paquetes firmados que ofrecen muchas más garantías a los usuarios acerca de su procedencia y su validez real (aparte de los aspectos de seguridad).
Sin embargo, muchos de nosotros tuvimos problemas para actualizar nuestro sistema luego de este cambio. He aquí las soluciones… |
Al ejecutar el comando para actualizar el sistema:
pacman -Syu
Se tiene lo siguiente:
:: Los siguientes paquetes deben actualizarse primero:
pacman
:: ¿Desea cancelar la operación actual
:: y actualizar estos paquetes ahora? [S/n]
Al aceptar, aparece algo similar a esto:
resolviendo dependencias...
verificando conflictos...
error: error al preparar la transacción (no se pudieron satisfacer las dependencias)
:: package-query: necesita pacman<3.6
El error ocurre debido a un problema de depedencias de un paquete (en este caso package-query). La solución consiste en remover del sistema el paquete en conflicto y todas sus dependencias.
pacman -Rsc package-query
El cual depende de los siguientes paquetes:
comprobando dependencias...
Se quitará (3): yaourt-0.10.2-1 [0,22 MB] package-query-0.9-1 [0,07 MB] yajl-2.0.4-1 [0,22 MB]Tamaño total eliminado: 0,52 MB
¿Quiere eliminar estos paquetes? [S/n]
Luego, actualizá pacman:
pacman -S pacman
¡Ey! ¿A dónde fue a parar Yaourt?
Cambiar el archivo de configuración de Pacman
Al instalar Pacman 4, nos avisa de la creación de un nuevo archivo de configuración en pacman.conf.pacnew.
Todo lo que hay que hacer es reemplazar el archivo de configuración actualmente en uso por este nuevo. Para ello, primero respaldá el antiguo con:
mv /etc/pacman.conf /etc/pacman.conf.old
Luego, cambiá el nombre del nuevo archivo:
mv /etc/pacman.conf.pacnew /etc/pacman.conf
Finalmente, abrí el archivo:
nano /etc/pacman.conf
…y agregá los repositorios no oficiales que tenías en el antiguo pacman.conf (como el de yaourt, por ejemplo). La manera más fácil es pegando lo siguiente al final del archivo:
[archlinuxfr]Server = http://repo.archlinux.fr/$arch
Este es el momento de volver a instalar los paquetes que removimos en la sección anterior (yaourt, package-query, etc.).
pacman -S yaourt package-query
Habilitar las llaves PGP
Pacman 4 tiene la novedad de poder exigir archivos firmados (PGP). Luego de instalarlo, te lo recuerda con el siguiente aviso: «>>> Run `pacman-key –init` to set up your pacman keyring.»
Abrí el nuevo archivo de configuración /etc/pacman.conf:
nano /etc/pacman.conf
Busca la línea «SigLevel = Optional TrustedOnly» y descomentala. Luego, comentá la línea «SigLevel = Never».
Debe quedar así:
# 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
No olvides descomentar las líneas de SigLevel en los repositorios. Debe quedar así:
[core]SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
Guardá los cambios y cerrá el archivo.
Ahora, iniciá las llaves PGP con:
pacman-key --init
Según recomiendan en el wiki de Arch, un paso recomendado es modificar el archivo de configuración de las llaves PGP para evitar problemas al importarlas:
nano /etc/pacman.d/gnupg/gpg.conf
Reemplazá la línea «keyserver hkp://keys.gnupg.net» por «keyserver hkp://pgp.mit.edu» (sin comillas).
Por último, sólo falta descargar las llaves. Para evitar descargarlas 1 a 1 en la wiki recomiendan el siguiente script para descargar las llaves maestras:
for key in FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8; do
pacman-key --recv-keys $key
pacman-key --lsign-key $key
printf 'trustn3nquitn' | gpg --homedir /etc/pacman.d/gnupg/
--no-permission-warning --command-fd 0 --edit-key $key
done
guárdalo como script bash (yo le puse master-keys.sh) dale permisos (sudo chmod +x master-keys.sh) y ejecútalo desde terminal (./master-keys.sh).
Finalmente, actualizá el sistema:
sudo pacman -Syu
Si al actualizar recibís el siguiente error: «filesystem: /etc/mtab existe en el sistema de archivos», simplemente es necesario forzar la instalación de la nueva versión del paquete, que en este momento es filesystem-2011.12-2:
pacman -S filesystem --force
Uhhh lo logre.
Solo que ahora me pidio como instalar todo de nuevo.( Solo descarga)
or: gmtk: key «A91764759326B440» is unknown
:: Importar la llave PGP 9326B440, «Lukas Fleischer «, creada 2011-10-12? [S/n] S
error: inetutils: key «FCF2CB179205AC90» is unknown
Eso esta bien???
Eso
or: gmtk: key «A91764759326B440» is unknown
:: Importar la llave PGP 9326B440, «Lukas Fleischer «, creada 2011-10-12? [S/n] S
error: inetutils: key «FCF2CB179205AC90» is unknown
Es bueno??? o paso algo mal???
Qué bueno! Me alegro. 🙂
Pues hice eso y se me daño todo el pacman.conf no me deja actualizar ni menos instalar, me arroja este mensaje…
root@dmaziado-3m3r dmaziado3m3r]# pacman -Syy
error: archivo de configuración /etc/pacman.conf, línea 1: Todas las directivas deben pertenecer a una sección.
Creo que el error fue que por instalar yaourt volvi leña mi pacman.conf que hago???
¿ qué le sucede a los desarrolladores se les acabó la ritalina ?
¡ están haciendo mierda todo !