如何使用 pacman 列出标记为过时的软件包?

如何使用 pacman 列出标记为过时的软件包?

如何列出远程存储库上已标记为过时的软件包。我可以检查archlinux.org/packages并在此处查看所需信息: 远程软件包列表,其中一个被标记为过时

当我运行时,yay --show --stats我在 AUR 中看到标记的包,如下所示: 是的,显示远程包已标记为过时

但这并不显示有关 pacman 安装的软件包的信息。需要特别说明的是,我并不是在谈论我的系统已经过时。我说的是远程存储库上标记为过时的软件包。当远程软件包过期时,它在 archlinux.org 上看起来像这样:

在 archlinux.org 上显示一个被标记为已过时的软件包

  1. 如何查看系统上所有已安装的 pacman 标记为过时的软件包?
  2. 有没有一种简单的方法来显示我们同时标记的 pacman 和 yay 包?
  3. 如果使用 yay 或 pacman 无法完成,是否可以使用其他程序完成?

答案1

你需要先安装 jq 然后运行这个命令

comm -12 \
<(curl -Ss 'https://archlinux.org/packages/search/json/?arch=any&flagged=Flagged' | jq '.results[].pkgname' | tr -d '"' | sort) \
<(pacman -Qq | sort)

快速 pacman 命令 此命令速度更快,但不会显示所有过时的命令

或者

for package in $(pacman -Qq); do
    curl -Ss "https://archlinux.org/packages/search/json/?name=${package}&flagged=Flagged" | jq -r '.results[].pkgname'
done

慢速 pacman 命令

这个命令速度较慢,但​​显示每个包都已过期

来源

相关内容