來求教壹個pacman更新的問題,求高手指導
Arch有壹個易用的二進制包管理系統----Pacman),它可以讓妳僅憑壹條命令就升級整個系統。Pacman用C語言編寫,具有輕量、簡便和快速的特點。Arch還提供壹個類似ports的包構建系統(Arch Build System),通過它可以輕松從源碼構建和安裝軟件包,並用壹個命令完成同步。妳甚至可以用壹個命令重新構建整個系統。Arch的官方源提供了數千種高質量的i686/x86-64二進制包來滿足妳的軟件需求。另外,為鼓勵社區開發和貢獻代碼,Arch還提供Arch User Repository,它包含了數千個由用戶維護的PKGBUILD腳本,配合makepkg工具,從編譯到打包壹氣呵成。用戶還能輕松構建和維護屬於自己的自定義軟件源。壹 升級軟件包壹個 pacman 命令就可以升級整個系統。花費的時間取決於系統有多老。這個命令會同步非本地(local)軟件倉庫並升級系統的軟件包:# pacman -Syu警告: 由於 Arch 的滾動升級特性,升級系統有著不可預見的結果。因此,除非有著空閑時間並準備好處理突發問題,請謹慎升級。二 pacman 包管理器是 Arch Linux 的壹大亮點。它將壹個簡單的二進制包格式和易用的構建系統結合了起來(參見makepkg和ABS)。不管軟件包是來自官方的 Arch 庫還是用戶自己創建,pacman 都能方便得管理。pacman 通過和主服務器同步軟件包列表來進行系統更新,這使得註重安全的系統管理員的維護工作成為輕而易舉的事情。這種服務器/客戶端模式可以使用壹條命令就下載/安裝軟件包,同時安裝必需的依賴包。pacman 用 C 語言編寫,使用 .pkg.tar.xz 打包格式。三 配置pacman 的配置文件位於/etc/pacman.conf。 man pacman.conf 可以查看配置文件的進壹步信息。通用選項通用選項都在[options]段。閱讀 man 手冊或者查看默認的 pacman.conf 可以獲得有關信息和用法。1 不升級軟件包如果由於某種原因,用戶不希望升級某個軟件包,可以加入內容如下:IgnorePkg = 軟件包名多軟件包可以用空格隔開,也可是用 glob 模式。如果只打算忽略壹次升級,可以使用 --ignore 選項。忽略了的軟件包可通過 pacman -S 升級。2 不升級軟件包組和軟件包壹樣,也可以不升級某個軟件包組:IgnoreGroup = gnome3 跳過要跳過某些文件夾的安裝,可以將它們放到 NoExtract 中,例如不想安裝 systemd unit 文件:NoExtract=usr/lib/systemd/system/*4 軟件倉庫這部分定義使用的軟件倉庫,在 /etc/pacman.conf 中引用,可以直接設置或者從其它文件包含。所有官方軟件倉庫都使用同壹個包含了'$repo' 的 /etc/pacman.d/mirrorlist文件,因此只需要維護壹個列表。 下面例子中使用官方軟件倉庫,用 mirrorlist 設定鏡像的壹個範例。#[testing]#SigLevel = PackageRequired#Include = /etc/pacman.d/mirrorlist[core]SigLevel = PackageRequiredInclude = /etc/pacman.d/mirrorlist[extra]SigLevel = PackageRequiredInclude = /etc/pacman.d/mirrorlist#[community-testing]#SigLevel = PackageRequired#Include = /etc/pacman.d/mirrorlist[community]SigLevel = PackageRequiredInclude = /etc/pacman.d/mirrorlist# 如果打算在 x86_64 系統上運行32位軟件,啟用 multilib 軟件倉庫。#[multilib-testing]#SigLevel = PackageRequired#Include = /etc/pacman.d/mirrorlist#[multilib]#SigLevel = PackageRequired#Include = /etc/pacman.d/mirrorlist# 自定義軟件倉庫實例,如何創建軟件倉庫參見 pacman man手冊頁。#[custom]#SigLevel = Optional TrustAll#Server = file:///home/custompkgs警告: 使用 [testing] 倉庫的時候要謹慎,這個倉庫裏面開發比較活躍,可能導致某些軟件包不能工作。推薦使用 [testing] 的用戶訂閱 arch-dev-public 郵件列表以獲得最新信息。軟件包的安全性pacman 4 支持軟件包簽名。語句 SigLevel = Required DatabaseOptional 將啟用全局簽名驗證,但會被每個軟件倉庫的 SigLevel 行所覆蓋。詳情參見 pacman-key.用法pacman 的其他示例請閱讀man pacman。下面只是壹個可執行操作的小部分示範。安裝軟件包安裝指定的包安裝或者升級單個軟件包,或者壹列軟件包(包含依賴包),使用如下命令:# pacman -S package_name1 package_name2 ...用正則表達式安裝多個軟件包(參見 pacman 小貼士和這個帖子):# pacman -S $(pacman -Ssq package_regex)有時候在不同的軟件倉庫中,壹個軟件包有多個版本(比如[extra]和[testing])。可以選擇壹個來安裝:# pacman -S extra/package_name安裝包組壹些包屬於壹個可以同時安裝的包組。例如,運行下面的命令# pacman -S gnome會提醒用戶選擇 gnome 內需要安裝的包。有的包組包含大量的軟件包,有時用戶只需其中幾個。除了逐壹鍵入序號外,pacman 還支持選擇或排除某個區間內的的軟件包:Enter a selection (default=all): 1-10 15這將選中序號 1 至 10 和 15 的軟件包。而Enter a selection (default=all): ^5-8 ^2將會選中除了序號 5 至 8 和 2 之外的所有軟件包。想要查看哪些包屬於 gnome 組,運行:# pacman -Sg gnome也可以訪問 /repo/example.pkg.tar.xz不支持部分升級Arch Linux 是滾動發行版,新庫 版本將不斷被推送到源。開發者和信任用戶會按照需要重新構建源中的所有軟件包。如果有本地安裝的版本(例如 AUR 軟件包),需要在它們的依賴關系升級了soname時重新編譯。也就是說,部分升級是不被支持的。不要使用 pacman -Sy package 或等價命令如 pacman -Sy 之後再 pacman -S package。在安裝軟件包前請更新源並升級。同理請特別註意 IgnorePkg/IgnoreGroup 的使用。如果進行了部分升級,二進制包因為找不到鏈接庫而損壞,不要通過簡單的符號鏈接進行修正。庫升級 soname 是因為它們不再向前兼容。只要 pacman 可以運行,使用更新的源進行 pacman -Syu 就能修復這些問題。壹般註意事項警告: 小心使用 --force 開關。使用不當會造成大問題。 請只在 Arch 新聞裏要求這麽做的時候才用。pacman 附帶了許多實用工具能讓系統使用更加便捷。所有工具功能都能通過 --help 開關查看。運行:$ pacman -Ql pacman | awk -F"[/ ]" '/\/usr\/bin/ {print $5}'參見:https://wiki.archlinux.org/index.php/Pacman_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)