Sé que pacman -Su
actualiza todos los paquetes. Pero, ¿cómo puedo obtener solo la lista de paquetes que necesitan actualizarse?
Sé que pacman -Su
actualiza todos los paquetes. Pero, ¿cómo puedo obtener solo la lista de paquetes que necesitan actualizarse?
Respuestas:
Mirando la página del manual algo así
pacman -Syu
para sincronizar la base de datos con la última versión seguida de
pacman -Qu
a
-u, - actualizaciones
Restrict or filter output to packages that are out of date on the
sistema local (Solo se usan versiones de paquetes para encontrar paquetes obsoletos, los reemplazos no se verifican aquí.) Esta opción funciona mejor si la base de datos de sincronización se actualiza usando -Sy.
pacman -Sy
es para evitar la instalación de paquetes de diferentes actualizaciones de la base de datos de paquetes. por ejemplo, pacman -S <something>
puede darle un paquete y dependencias diferentes a pacman -Sy && pacman -S <something>
. Sin embargo, según su documentación, parece pacman -Sy && pacman -Qu
ser la respuesta correcta a la pregunta de OP. Solo asegúrate de ejecutarlo pacman -Su
antes de instalar cualquier paquete.
pacman -Sy
sea malo en sí mismo. Ni siquiera dice que es "malo" o "peligroso". Simplemente indica que una actualización parcial no es compatible y que debe evitarla. En otras palabras, correr pacman -Sy
y luego correr pacman -S <some package with dependencies>
tiene el potencial de romper algo más que tiene las mismas dependencias. Ejecutar algo como pacman -Sy && pacman -S man-pages
solo obtener las últimas páginas de manual estaría perfectamente bien (las páginas de manual no tienen dependencias y ningún otro paquete lo requiere).
pacman -Sy
y corriste pacman -S nvidia
, es probable que rompas algo.
checkupdates
Las actualizaciones de comprobación de script bash, incluidas con el paquete pacman, proporcionan una forma segura de verificar las actualizaciones de los paquetes instalados sin ejecutar una actualización del sistema al mismo tiempo.
Como mencionó @Panagiotis, checkupdates
proporciona una manera de hacerlo sin requerir root o desordenar su /var/lib/pacman
base de datos. Aquí hay una versión mínima:
TMPPATH="${TMPDIR:-/tmp}/checkup-db-${USER}"
DBPATH="$(pacman-conf DBPath)"
mkdir -p "$TMPPATH"
ln -s "$DBPATH/local" "$TMPPATH" &>/dev/null
fakeroot -- pacman -Sy --dbpath "$TMPPATH" --logfile /dev/null &>/dev/null
pacman -Qu --dbpath "$TMPPATH" 2>/dev/null
Funciona por:
/var/lib/pacman/local
.pacman -Sy
en su carpeta temporal.pacman -Qu
de su carpeta temporal.
pacman -Sy
" (fuente: wiki.archlinux.org/index.php/… )