Назад | Перейти на главную страницу

Как определить, какие пакеты нужно обновить в Arch Linux?

я знаю это 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

Это работает:

  1. Создание временной папки для вашей базы данных.
  2. Символьная ссылка на ваш /var/lib/pacman/local.
  3. Бег pacman -Sy во временной папке.
  4. Запрос через pacman -Qu во временной папке.