Pamac 仅更新二进制包,但不更新 git 存储库中的包

Pamac 仅更新二进制包,但不更新 git 存储库中的包

想要分享以下问题+解决方案,因为我花了更长的时间来解决这个问题,并希望它可以节省您在这篇文章中遇到的时间:

我正在使用 Manjaro 并安装以下三种不同类型的软件包:

  • 软件包位于主存储库中,我可以通过以下方式安装它们pacman -S
  • 软件包仅存在于 AUR(Arch Linux 用户存储库)中,并且是二进制格式,可以通过以下方式安装pamac build
  • 仅在 AUR(Arch Linux 用户存储库)中并且必须通过以下方式自编译的软件包(例如 *-git 软件包)pamac build

现在我遇到了以下两个问题:

  • 二进制软件包pamac build从未通过运行更新pacman -Syyu
  • 自编译的包pamac build从未更新过运行pacman -Syyu

答案1

因此,第一个问题已经解决,将以下两行添加到我的更新脚本中:

pamac checkupdates -a
pamac upgrade -a

哪里-a代表尿素尿率

我在我的脚本中使用此命令已经很长时间了,它一直运行良好,我认为我已经完成了,因为现在通过 pacman 安装的所有软件包都已通过以上命令进行了更新,pacman -Syyu并且来自 AUR 的所有软件包都已通过上述命令进行了更新。

但我想知道为什么*-git我安装的软件包(在主/主分支上经常更新)从未更新。

因此,我深入研究了这个问题,并且必须将我的脚本调整为以下内容:

pamac checkupdates -a --devel
pamac upgrade -a --devel

其中--devel包括开发包(如*-git)。

现在我注意到运行此命令需要更长的时间来检查更新,因为-a只需检查 AUR 中的包是否较新(快),但如果它是一个*-git包并且 AUR 中没有更新而仅在 git 存储库中,它不会捡起它。

然而,新命令--devel花费的时间更长,因为它首先要求 AUR 更新(快速)+开发包,它还要求后面的存储库检查是否有任何更新。

现在我终于可以使用这个简单的脚本使所有包保持最新状态:

pacman -Syyu
pamac checkupdates -a --devel
pamac upgrade -a --devel

相关内容