Je sais que pacman -Su
tous les packages sont mis à niveau. Mais comment puis-je obtenir uniquement la liste des packages qui nécessitent une mise à niveau?
Je sais que pacman -Su
tous les packages sont mis à niveau. Mais comment puis-je obtenir uniquement la liste des packages qui nécessitent une mise à niveau?
Réponses:
En regardant la page de manuel quelque chose comme
pacman -Syu
pour synchroniser la base de données jusqu'à la dernière version suivie de
pacman -Qu
à
-u, --mises à niveau
Restrict or filter output to packages that are out of date on the
système local. (Seules les versions de packages sont utilisées pour rechercher des packages obsolètes, les remplacements ne sont pas vérifiés ici.) Cette option fonctionne mieux si la base de données de synchronisation est actualisée à l'aide de -Sy.
pacman -Sy
est d'éviter d'installer des packages à partir de différentes mises à jour de base de données de packages. par exemple, pacman -S <something>
peut vous donner un package et des dépendances différents de pacman -Sy && pacman -S <something>
. D'après leur documentation cependant, il semble que ce pacman -Sy && pacman -Qu
soit la bonne réponse à la question d'OP. Assurez-vous simplement que vous exécutez éventuellement pacman -Su
avant d'installer des packages.
pacman -Sy
en soi que c'est mauvais. Il ne dit même pas que c'est "mauvais" ou "dangereux". Il indique simplement qu'une mise à niveau partielle n'est pas prise en charge et que vous devez l'éviter. En d'autres termes, exécuter pacman -Sy
puis exécuter pacman -S <some package with dependencies>
a le potentiel de casser quelque chose d'autre qui a les mêmes dépendances. Exécuter quelque chose comme pacman -Sy && pacman -S man-pages
pour obtenir uniquement les dernières pages de manuel serait parfaitement correct (les pages de manuel n'ont pas de dépendances et ne sont requises par aucun autre package).
pacman -Sy
et couriez pacman -S nvidia
que vous risqueriez de casser quelque chose.
checkupdates
Les mises à jour du script bash, incluses avec le package pacman, fournissent un moyen sûr de vérifier les mises à niveau des packages installés sans exécuter une mise à jour du système en même temps.
Comme l'a mentionné @Panagiotis, checkupdates
fournit un moyen de le faire sans avoir besoin de rooter ou gâcher votre /var/lib/pacman
base de données. Voici une version minimale:
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
Il fonctionne par:
/var/lib/pacman/local
.pacman -Sy
sur votre dossier temporaire.pacman -Qu
sur votre dossier temporaire.
pacman -Sy
" (source: wiki.archlinux.org/index.php/… )