Arch-Linux

AUR 上的 pkg、pkg-bin 和 pkg-git 有什麼區別?

  • September 28, 2021

例如,有

https://aur.archlinux.org/packages/github-desktop/,

https://aur.archlinux.org/packages/github-desktop-bin/

https://aur.archlinux.org/packages/github-desktop-git/.

我查看了 pkgbuilds,發現包之間沒有容易辨識的差異。這不僅僅是一個包,而是其中的許多包。他們之間有什麼區別?我應該安裝哪一個?

  • 普通包是從儲存庫的穩定版本或穩定的 git 標籤建構的。該程序在使用者機器中編譯然後安裝。這需要時間。
  • 帶有-bin後綴的包已經由上游維護者建構並且在某處可用。因此,使用者不必在他們的機器上編譯包。該PKGBUILD腳本會下載、提取並安裝文件。一些專有軟體以這種格式發布,而原始碼不可用。
  • 帶有後綴的軟體包-git是從 git 儲存庫的最新送出建構的,無論它是否穩定。這樣使用者可以獲得最新的修復或更新檔。這也在使用者機器中編譯,然後安裝。

AUR 包之間的區別可以從函式中對應的PKGBUILD文件(類似 shell 腳本)中輕鬆理解source()。這是一個例子:

pkgver=x.y.z
_pkgver="${pkgver}-linux1"
gitname="release-${_pkgver}"
https://github.com/shiftkey/desktop.git#tag=${gitname}
pkgver=x.y.z
_pkgver="${pkgver}-linux1"
gitname="release-${_pkgver}"
https://github.com/shiftkey/desktop/releases/download/${gitname}/GitHubDesktop-linux-${_pkgver}.deb
https://github.com/shiftkey/desktop.git

進一步閱讀:

引用自:https://unix.stackexchange.com/questions/543013