什么是Arch用戶倉庫(AUR)以及如何使用?
如果你一直在使用 Arch Linux 或其他基于 Arch 的發(fā)行版,如 Manjaro,那么可能會遇到 AUR。你嘗試安裝新軟件,有人建議從 AUR 中安裝它。這讓你感到困惑。
什么是 AUR?為什么使用它?如何使用 AUR?我將在本文中回答這些問題。
什么是 AUR?
AUR 表示Arch 用戶倉庫。它是針對基于 Arch 的 Linux 發(fā)行版用戶的社區(qū)驅動的倉庫。它包含名為 PKGBUILD 的包描述,它可讓你使用 makepkg 從源代碼編譯軟件包,然后通過 pacman(Arch Linux 中的軟件包管理器)安裝。
創(chuàng)建 AUR 的目的是組織和共享社區(qū)中的新軟件包,并幫助加速將流行的軟件包納入社區(qū)倉庫。
進入官方倉庫的大量新軟件包都從 AUR 開始。在 AUR 中,用戶可以貢獻自己的軟件包構建(PKGBUILD 和相關文件)。
AUR 社區(qū)可以對 AUR 中的軟件包進行投票。如果一個軟件包變得足夠流行(假設它具有兼容的許可證和良好的打包技術),那么可以將其加入 pacman
直接訪問的社區(qū)倉庫中。
簡而言之,AUR 是開發(fā)人員在 Arch 倉庫中正式包含新軟件之前向 Arch Linux 用戶提供新軟件的一種方式。
你應該使用 AUR 嗎?有什么風險?
使用 AUR 就像過馬路一樣。如果你謹慎操作,應該就沒問題。
如果你剛接觸 Linux,建議你在建立有關 Arch/Manjaro 和 Linux 的基礎知識之前不要使用 AUR。
的確,任何人都可以將軟件包上傳到 AUR,但受信任用戶(TU)負責監(jiān)視上傳的內容。盡管 TU 對上傳的軟件包執(zhí)行質量控制,但不能保證 AUR 中的軟件包格式正確或沒有惡意。
在實踐中,AUR 似乎很安全,但理論上講它可以造成一定程度的損害,但前提是你不小心。從 AUR 構建軟件包時,聰明的 Arch 用戶總是檢查 PKGBUILD
和 *.install
文件。
此外,TU(受信任用戶)還會刪除 AUR 中包含在 core/extra/community 中的軟件包,因此它們之間不應存在命名沖突。AUR 通常會包含軟件包的開發(fā)版本(cvs/svn/git 等),但它們的名稱會被修改,例如 foo-git。
對于 AUR 軟件包,pacman
會處理依賴關系并檢測文件沖突,因此,除非你默認使用 –force
選項,否則你不必擔心用另一個包中的文件會覆蓋另一個包的文件。如果這么做了,你可能會遇到比文件沖突更嚴重的問題。
如何使用 AUR?
使用 AUR 的最簡單方法是通過 AUR 助手。 AUR 助手 是一個命令行工具(有些還有 GUI),可讓你搜索在 AUR 上發(fā)布的軟件包并安裝。
在 Arch Linux 上安裝 AUR 助手
假設你要使用 Yay AUR 助手。確保在 Linux 上安裝了 git。然后克隆倉庫,進入目錄并構建軟件包。
依次使用以下命令:
sudo pacman -S git
sudo git clone https://aur.archlinux.org/yay-git.git
cd yay
makepkg -si
安裝后,你可以使用 yay
命令來安裝軟件包:
yay -S package_name
并非必須使用 AUR 助手來從 AUR 安裝軟件包。從以下文章解如何在沒有 AUR 助手的情況下使用 AUR。
不使用 AUR 助手安裝 AUR 軟件包
如果你不想使用 AUR 助手,那么也可以自行從 AUR 安裝軟件包。
在 AUR 頁面上找到要安裝的軟件包后,建議確認“許可證”、“流行程度”、“最新更新”、“依賴項”等,作為額外的質量控制步驟。
git clone [package URL]
cd [package name]
makepkg -si
例如。假設你要安裝 telegram 桌面包:
git clone https://aur.archlinux.org/telegram-desktop-git.git
cd telegram-desktop-git
makepkg -si
在 Manjaro Linux 中啟用 AUR 支持
它默認情況下未啟用 AUR,你必須通過 pamac
啟用它。我的筆記本電腦運行 Manjaro Cinnamon,但是所有 Manjaro 變種的步驟都相同。
打開 Pamac(顯示為 “Add/Remove Software”):
進入 Pamac 后,請進入如下所示的首選項。
在首選項對話框中,進入 “AUR” 選項卡,啟用 AUR 支持,啟用檢查更新,并關閉對話框。
現在,你可以搜索軟件包,并且可以通過軟件包描述下的標簽來識別屬于 AUR 的軟件包。
希望本文對你有用,并關注社交媒體上即將出現的與 Arch 相關的主題。