я знаю это pacman -Su
обновляет все пакеты. Но как я могу получить только список пакетов, которые нужно обновить?
Глядя на страница руководства что-то вроде
pacman -Syu
для синхронизации базы данных до последней версии с последующим
pacman -Qu
к
-u, --upgrades
Restrict or filter output to packages that are out of date on the
локальная система. (Для поиска устаревших пакетов используются только версии пакетов, замены здесь не проверяются.) Этот параметр работает лучше всего, если база данных синхронизации обновляется с помощью -Sy.
checkupdates
Проверочные обновления сценария bash, входящие в пакет pacman, обеспечивают безопасный способ проверки обновлений установленных пакетов без одновременного запуска обновления системы.
Как упомянул @Panagiotis, checkupdates
предоставляет способ сделать это, не требуя root или беспорядка вашего /var/lib/pacman
база данных. Вот минимальная версия:
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
Это работает:
/var/lib/pacman/local
.pacman -Sy
во временной папке.pacman -Qu
во временной папке.