Ich weiß, dass pacman -Su
alle Pakete aktualisiert werden. Aber wie kann ich nur die Liste der Pakete erhalten, die aktualisiert werden müssen?
Ich weiß, dass pacman -Su
alle Pakete aktualisiert werden. Aber wie kann ich nur die Liste der Pakete erhalten, die aktualisiert werden müssen?
Antworten:
Auf der Manpage so etwas wie
pacman -Syu
um die Datenbank auf die neueste Version zu synchronisieren, gefolgt von
pacman -Qu
zu
-u, --upgrades
Restrict or filter output to packages that are out of date on the
lokales System. (Es werden nur Paketversionen verwendet, um veraltete Pakete zu finden. Ersetzungen werden hier nicht aktiviert.) Diese Option funktioniert am besten, wenn die Synchronisierungsdatenbank mit -Sy aktualisiert wird.
pacman -Sy
besteht, die Installation von Paketen aus verschiedenen Paketdatenbankaktualisierungen zu vermeiden. zB pacman -S <something>
können Sie ein anderes Paket und Abhängigkeiten als geben pacman -Sy && pacman -S <something>
. Aus ihrer Dokumentation geht jedoch hervor, dass dies pacman -Sy && pacman -Qu
die richtige Antwort auf die Frage von OP ist. Stellen Sie einfach sicher, dass Sie eventuell ausgeführt werden, pacman -Su
bevor Sie Pakete installieren.
pacman -Sy
an und für sich schlecht ist. Es sagt nicht einmal, dass es "schlecht" oder "gefährlich" ist. Es wird lediglich angegeben, dass ein teilweises Upgrade nicht unterstützt wird und dass Sie es vermeiden sollten. Mit anderen Worten, das Ausführen pacman -Sy
und dann das Ausführen pacman -S <some package with dependencies>
hat das Potenzial, etwas anderes zu zerstören, das dieselben Abhängigkeiten aufweist. Laufen wie etwas pacman -Sy && pacman -S man-pages
bekommen nur die neuesten Mann-Seiten wären völlig in Ordnung (man-pages hat keine Abhängigkeiten und wird nicht durch andere Pakete erforderlich).
pacman -Sy
und laufen, pacman -S nvidia
dass Sie wahrscheinlich etwas kaputt machen werden.
checkupdates
Die im pacman-Paket enthaltenen Bash-Skript-Checkup-Daten bieten eine sichere Möglichkeit, nach Upgrades für installierte Pakete zu suchen, ohne gleichzeitig ein Systemupdate auszuführen.
Wie @Panagiotis erwähnt, checkupdates
bietet dies eine Möglichkeit, dies zu tun, ohne dass root erforderlich ist oder Ihre /var/lib/pacman
Datenbank durcheinander gebracht wird . Hier ist eine minimale Version:
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
Es funktioniert durch:
/var/lib/pacman/local
.pacman -Sy
in Ihrem temporären Ordner ausgeführt.pacman -Qu
in Ihrem temporären Ordner.
pacman -Sy
" (Quelle: wiki.archlinux.org/index.php/… )