User Tools

Site Tools


guia_rapida_y_completa_de_pacman_arch

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
guia_rapida_y_completa_de_pacman_arch [2021/04/05 02:20] – [Problemas con los hooks al finalizar una actualización de Arch] busindreguia_rapida_y_completa_de_pacman_arch [2024/03/05 01:24] (current) – [Problemas al actualizar con paquetes en conflicto] busindre
Line 22: Line 22:
 # Actualizar sistema actualizando la base de datos de paquetes previamente (Uso recomendado). # Actualizar sistema actualizando la base de datos de paquetes previamente (Uso recomendado).
 pacman -Syu pacman -Syu
-pacman -Syu --ignore paquete # Ignorar un paquete en la actualización.+pacman -Syu --ignore paquete # Ignorar un paquete en la actualización. Útil cuando algún paquete está en conflicto con otro nuevo que va a sustituir al actualmente instalado. 
 +pacman --overwrite "*" -Syu  # Si se muestran errores de que determinado fichero ya existe en el sistema de ficheros (de esta manera se fuerza la sobreescritura). 
 </code> </code>
 ==== Evitar responder a preguntas de confirmación de pacman ==== ==== Evitar responder a preguntas de confirmación de pacman ====
Line 49: Line 51:
 ==== Instalar / Actualizar / Descargar un paquete ==== ==== Instalar / Actualizar / Descargar un paquete ====
 <code bash>pacman -S paquete <code bash>pacman -S paquete
 +pacman --overwrite "*" -S paquete # Si se muestra el mensaje de que un determinado fichero ya se encuentra dentro del sistema de ficheros ("exists on filesystem").
  
 # Instalar paquetes del repositorio testing (debe estar activado en /etc/pacman.conf). # Instalar paquetes del repositorio testing (debe estar activado en /etc/pacman.conf).
Line 247: Line 250:
  
 Si no está el proceso pacman activo, entonces se debe eliminar el fichero de bloqueo db.lck. A veces se generan este tipo de ficheros al haberse finalizado el proceso pacman de manera forzada. Si no está el proceso pacman activo, entonces se debe eliminar el fichero de bloqueo db.lck. A veces se generan este tipo de ficheros al haberse finalizado el proceso pacman de manera forzada.
 +
 +Error:
 +<code>
 +# Inglés:
 +error: failed to synchronize all databases (unable to lock database)
 +# Español:
 +error: no se han podido sincronizar todas las bases de datos (no se pudo bloquear la base de datos)
 +</code>
 +
 +Solución:
 <code bash>rm /var/lib/pacman/db.lck</code> <code bash>rm /var/lib/pacman/db.lck</code>
  
Line 265: Line 278:
  
 <code bash>pacman -Sy archlinux-keyring && pacman -Syyu</code> <code bash>pacman -Sy archlinux-keyring && pacman -Syyu</code>
 +
 +NOTA: A veces es necesario usar el ultimo fichero /etc/pacman.d/mirrorlist disponible con los repositorios más actualizados. Ya que puede estar usandose un repositorio considerado "deprecated".
  
 ==== Problemas con la ejecución de los "post-transaction hooks" al finalizar una actualización de Arch ==== ==== Problemas con la ejecución de los "post-transaction hooks" al finalizar una actualización de Arch ====
Line 277: Line 292:
 ...</code> ...</code>
  
-Si se reinicia el equipo sin ejecutar los hooks, lo normal es que el sistema no arranque y se necesite montar el disco desde una imagen de arch para solucionar el problema. Esto se debe a que esos triggers (post-transaction hooks) instalan partes del sistema esenciales. Si no se ha reiniciado, es posible simplemente reinstalando los paquetes instalados arrancar de nuevo esos hooks.+Si se reinicia el equipo sin ejecutar los hooks, lo normal es que el sistema no arranque y se necesite montar el disco desde una imagen de arch para solucionar el problema. Esto se debe a que esos triggers (post-transaction hooks) instalan partes del sistema esenciales. Si no se ha reiniciado, es posible simplemente reinstalando systemd para que ejecute de nuevo esos hooks y ya no debería haber más problema.
  
 <code bash>pacman -S systemd <code bash>pacman -S systemd
 # También se puede optar por una reinstalación completa de todos los paquetes. # También se puede optar por una reinstalación completa de todos los paquetes.
 # pacman -S $(pacman -Qq)</code> # pacman -S $(pacman -Qq)</code>
 +
 +==== Problemas al actualizar con paquetes en conflicto  ====
 +
 +<code>
 +:: Synchronizing package databases...
 + core is up to date
 + extra is up to date
 +:: Starting full system upgrade...
 +:: Replace libblockdev-utils with extra/libblockdev? [Y/n] Y
 +resolving dependencies...
 +looking for conflicting packages...
 +error: unresolvable package conflicts detected
 +error: failed to prepare transaction (conflicting dependencies)
 +:: libblockdev and libblockdev-utils are in conflict
 +</code>
 +
 +Solución: Actualizar el sistema ignorando el paquete que será sustituido.
 +<code bash>
 +pacman -Syu --ignore libblockdev-utils
 +</code>
 ==== Recomendaciones típicas para usar pacman ==== ==== Recomendaciones típicas para usar pacman ====
  
guia_rapida_y_completa_de_pacman_arch.1617582055.txt.gz · Last modified: 2021/04/05 02:20 by busindre