==用途簡介==
AUR的全稱是"ArchLinux User-community Repository",即ArchLinux社區用戶的軟件倉庫。它是依靠社區貢獻軟件包。這個文檔告訴普通用戶們如何使用AUR。
==AUR與用戶==
AUR中的軟件是社區用戶提供的,它們沒有技術支持,也不保證其安全性(除非它們被TU標記上安全標志)。AUR軟件包不一定會被一直維護也不一定會被及時更新。AUR完全依賴用戶貢獻,你可以以許多形式為AUR做貢獻。
===在UNSUPPORTED中共享你的PKGBUILD===
用戶可以將自己的PKGBUILD在AUR中共享。這些包會被標記為UNSUPPORTED。UNSUPPORTED的軟件包是用戶以PKGBUILD的形式上傳提供的給其他用戶下載的,不包含任何二進制文件。其他用戶可以通過留言的方式提供關於這個軟件包的反饋和改進建議。上傳者需要注意你上傳的包的信息頁面上的留言。 TU們會在檢測確定你上傳的軟件沒有惡意代碼後,會將這個包標記為"安全的"。但是,這些都是非官方的(TU也是非官方的)。所以,如果你要使用這些軟件包,一切後果都由你自己負責。
到目前為止,還沒有官方的下載編譯UNSUPORTED中的軟件包的工具,但是你可以在wiki或者community裡面找到一些這方面的工具。
===[community]===
[community]倉庫中的軟件是作為官方的[current]和[extra]這兩個倉庫的一個補充。裡面有許多很受歡迎的軟件包。這些軟件包都來自UNSUPPORTED並被TU們維護著。這個倉庫裡的軟件包是提供二進制包的,可以直接被pacman安裝。你也可以通過ABS獲得這些包的源碼。
如果你想在添加community倉庫到你的pacman中,只需要在在你的/etc/pacman.conf中添加如下語句即可:
[community] Server = ftp://ftp.archlinux.org/community/os/i686/
如果你想通過abs下載community中的軟件包源碼,只需在/etc/abs/abs.conf 文件中找到如下一行,將community前面的歎號"!"刪除:
SUPFILES=(arch extra !unstable community)
===投票===
所有Arch的用戶都能為AUR做的一件最簡單的事情就是"投票"。注冊AUR用戶後,你就可以為你喜歡的軟件包投票了。具體方法是在你感興趣的軟件包信息web頁面中找到"vote"按鈕點擊即可。所有包都有資格進入community倉庫,投票數目是包選拔的一個標准。因此,大家積極投票吧!
==如何使用AUR==
===使用UNSUPORTED中的軟件包===
要安裝UNSUPPORTED中的軟件包,你可以遵照如下步驟:
* 用AUR網站上的 [http://aur.archlinux.org/packages.php 搜索] 功能找到你感興趣的軟件包。點擊軟件包的名字,會打開一個關於這個包的信息頁面。在包簡介下方你會發現這三個鏈接:
Tarball :: Files :: PKGBUILD
* 點擊Tarball下載你構建二進制軟件包所需要的文件。這個文件叫做foo.tar.gz。其中foo是你需要的包的名稱。
* 解壓這個文件。它會創建一個新目錄,如foo。裡面包含了你編譯二進制軟件包所需的所有文件。
* 注意!!然後仔細檢查PKGBUILD和所有的.install文件,看看裡面是否有惡意代碼。如果有,或者有"疑似"的,千萬不要編譯它。請在論壇或郵件列表中獲得相關建議。
* 建議大家使用 fakeroot 來編譯軟件包(下面會介紹)。你可以作為普通用戶在編譯目錄運行makepkg來手動檢查文件的完整性。源碼文件會自動被下載,校驗然後編譯。
* makepkg會生成一個後綴名為.pkg.tar.gz的包。這個包可以用pacman直接安裝。如運行:
pacman -U foo.pkg.tar.gz
"請注意":以上的方法只是一個編譯軟件包的流程概述。強烈建議閱讀 [[ABS]] 文檔了解更詳細的內容,特別是第一次打包的用戶。
===使用 fakeroot ===
fakeroot 是一個讓普通用戶獲得創建軟件包所需的足夠權限,而不會改變系統的其它部分。如果編譯進程嘗試訪問編譯環境以外的的目錄會報錯退出 - 這在檢測PKGBUILD編寫的質量、安全性、完整性十分有用。export USE_FAKEROOT="y"是/etc/makepkg.conf,中的默認配置。因此fakeroot默認是開啟的,除非你改變這個配置。
===向UNSUPPORTED提交軟件包===
在AUR網站登錄後,用戶可以[http://aur.archlinux.org/pkgsubmit.php 提交]一個打包成 tar.gz 格式的包。這個包中需要包含一個目錄,目錄中有編譯軟件包需要的文件。這些文件必須包含一個PKGBUILD,還有一些其它文件是可選的。比如.install文件,補丁文件等。絕對不要包含任何二進制文件。你可以到/var/abs目錄下參看相關的軟件包。
當你准備要提交一個包時,請注意以下規定:
* 檢查 [extra], [current], [unstable], UNSUPPORTED, 和 [community] 中的已有的包。無論這個包以任何形式存在於這些倉庫中,請不要提交此包(如果已有的包無法使用,或者缺少應該具備的功能,請在[http://bugs.archlinux.org/ FlySpray]提交BUG報告。
* 仔細檢查以確保你上傳的東西是正確的。所有貢獻者在編寫PKGBUILD時必須閱讀並遵守[[Arch Packaging Standards]]中的規則。用戶能夠基本順暢而成功的使用AUR是十分重要的。別指望用戶在一個糟糕的PKGBUILD上浪費了他們的時間後,還能給你笑臉。
* 包含二進制文件或者寫得很爛的包將會在沒有任何警告的情況下刪除。
* 如果你還不熟悉如何編譯、打包、提交軟件包,或者還有不其它不明白的地方。在提交到AUR之前,先將你的PKGBUILD提交到AUR郵件列表或者論壇中的AUR板塊中。在那裡,大家會幫你檢查你的軟件包。
* 請確認你的包是有用的。其他用戶會不會想用這個包?它是不是非常冷門的?如果至少有一些用戶發現你的包有用,提交上AUR就是正確的。
* 在提交包之前多多積累經驗。自己編譯一些包以學習整個流程,然後再提交。
===維護在UNSUPPORTED中的包===
* 多看看其他用戶的反饋,吸取他們的改進建議。把這當成是一個學習的過程!
* 請不要提交後就把它們忘了!在它處於UNSUPPORTED狀態時,維護、更新和改進PKGBUILD是上傳者的義務。
* 如果你由於種種原因不願意再維護這個包了,在AUR信息頁面中disown 這個包,然後(或者)在AUR郵件列表中發消息。
==AUR-DMS(下載和管理AUR的腳本)==
=== AUR-DMS 列表 ===
#aur-sync (Perl) - 下載所有的AUR包
#aur-install (bash)
#aurup (bash) - 向AUR上傳包
#aurscripts (bash):
##aurcreate - 為上傳AUR創建一個干淨的包
##aurdownload - 下載然後解壓一個AUR上的包
##aurupdate - 升級一個包的版本(如果指定)然後md5校驗
#autoaur (bash) - 依賴aurscripts,自動升級你從AUR中安裝的包
#yaourt (bash) - srcpac的一個打包器
#[[aurbuild]] (Python) - 投票最多的管理腳本
#[[aurbuild | qpkg]] (Python) - 也能用在不是AUR的軟件,投票第二多的軟件。但是……好像最強大?
所有腳本可以在 UNSUPPORTED 中找到。