更新Pacman 4:解決方案時出錯

的開發者 Arch Linux 正式宣布將 吃豆人4 完全在發行版及其基礎存儲庫中,即所謂的核心,這對於 簽名包支持 為用戶提供更多關於其來源和真實有效性的保證(除了安全方面)。

但是,我們許多人 問題更新 進行此更改後我們的系統。 以下是解決方案...


運行命令以更新系統時:

pacman -Syu

它具有以下內容:

::必須首先更新以下軟件包:
吃豆子
::是否要取消當前操作
:: 並立即更新這些軟件包嗎? [是/否]

接受後,出現類似以下內容:

解決依賴性...
檢查衝突...
錯誤:準備事務時出錯(無法滿足依賴關係)
::包裹查詢:需要pacman <3.6

該錯誤是由於包依賴性問題(在本例中為包查詢)而發生的。 解決方案是從系統中刪除衝突的包及其所有依賴項。

pacman -Rsc軟件包查詢

取決於以下軟件包:

檢查依賴項...
將被刪除 (3): yaourt-0.10.2-1 [0,22 MB] package-query-0.9-1 [0,07 MB] yajl-2.0.4-1 [0,22 MB]刪除的總大小: 0,52 .XNUMXMB
您想刪除這些軟件包嗎? [是/否]

然後更新pacman:

吃豆子 -S 吃豆子

嘿! 雅t到底去了哪裡?

更改吃豆子配置文件

安裝 Pacman 4 時,它會警告我們在 pacman.conf.pacnew 中創建新的配置文件。

您所要做的就是用這個新配置文件替換當前使用的配置文件。 為此,請首先使用以下命令備份舊版本:

mv /etc/pacman.conf /etc/pacman.conf.old

然後重命名新文件:

mv /etc/pacman.conf.pac 新 /etc/pacman.conf

最後,我打開了文件:

納米/etc/pacman.conf

…和 添加非官方存儲庫 舊的 pacman.conf 中的文件(例如 yaourt 中的文件)。 最簡單的方法是將以下內容粘貼到文件末尾:

[archlinuxfr]服務器 = http://repo.archlinux.fr/$arch

現在是重新安裝我們在上一節中刪除的軟件包(yaourt、package-query 等)的時候了。

pacman -S yaourt包裹查詢

啟用PGP密鑰

Pacman 4 的新穎之處在於能夠請求籤名文件 (PGP)。 安裝後,它會通過以下提示提醒您:">>> 運行 `pacman-key –init` 來設置您的 pacman 密鑰環。”

我打開新的配置文件/etc/pacman.conf:

納米/etc/pacman.conf

找到“SigLevel =Optional TrustedOnly”行並取消註釋。 然後,註釋掉“SigLevel = Never”行。

它看起來應該像這樣:

#PGP簽名檢查
# 注意:如果不先運行 `pacman-key --init`,這一切都不會起作用。
# 默認編譯的相當於下面這行。 這需要
#您使用`pacman-key`在本地簽名和信任打包程序密鑰
#個有效。
SigLevel =可選TrustedOnly
# 如果您希望檢查簽名但避免本地簽名和信任問題,請使用
# 以下行。 這會將導入 pacman 密鑰環的任何密鑰視為
#受信任。
#SigLevel =可選TrustAll
# 目前,默認關閉,除非您閱讀上面的內容。
#SigLevel =永不

不要忘記取消註釋存儲庫中的 SigLevel 行。 它應該看起來像這樣:

[core] SigLevel = PackageRequired
包含= /etc/pacman.d/mirrorlist
[extra] SigLevel = PackageOptional
包含= /etc/pacman.d/mirrorlist
[社區] SigLevel = PackageOptional
包含= /etc/pacman.d/mirrorlist

保存更改並關閉文件。

現在,使用以下命令啟動 PGP 密鑰:

pacman鍵--init

根據 Arch wiki 的建議,建議的步驟是修改 PGP 密鑰的配置文件,以避免導入時出現問題:

納米/etc/pacman.d/gnupg/gpg.conf

將“keyserver hkp://keys.gnupg.net”行替換為“keyserver hkp://pgp.mit.edu”(不帶引號)。

最後,剩下的就是下載密鑰了。 為了避免在 wiki 上一一下載它們,他們建議使用以下腳本來下載主密鑰:

用於 FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8 中的密鑰; 做
pacman-key --recv-keys $鍵
pacman鍵--lsign鍵$鍵
printf 'trustn3nquitn' | printf 'trustnXNUMXnquitn' | gpg --homedir /etc/pacman.d/gnupg/
--無權限警告 --command-fd 0 --edit-key $key
完成

將其保存為 bash 腳本(我將其放在 master-keys.sh 中)授予其權限(sudo chmod +x master-keys.sh)並從終端運行它(./master-keys.sh)。

最後,更新系統:

sudo pacman -Syu

如果升級時收到以下錯誤:“文件系統:文件系統中存在 /etc/mtab”,則只需強制安裝新版本的軟件包,當前為 filesystem-2011.12-2:

pacman -S文件系統--force
當然,請預先警告:安裝更新後,您很可能會收到一堆橫幅,上面寫著“X 軟件包密鑰未知,是否要導入它?” 只需按幾次“S”,直到這些消息用完為止。

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   基克1n 他說:

    嗯,我做到了。
    只是現在它問我如何再次安裝所有內容(僅下載)

    或:gmtk:密鑰“ A91764759326B440”未知
    ::導入PGP密鑰9326B440,«Lukas Fleischer«,創建於2011-10-12? [Y / n]是
    錯誤:inetutils:密鑰“ FCF2CB179205AC90”未知

    沒關係???

  2.   基克1n 他說:

    ESO
    或:gmtk:密鑰“ A91764759326B440”未知
    ::導入PGP密鑰9326B440,«Lukas Fleischer«,創建於2011-10-12? [Y / n]是
    錯誤:inetutils:密鑰“ FCF2CB179205AC90”未知

    很好??? 或做錯了什麼?

  3.   讓我們使用Linux 他說:

    那麼好! 我很高興。 🙂

  4.   驚呆了 他說:

    好吧,我這樣做了,整個pacman.conf損壞了,它不允許我進行更新或安裝,它向我拋出此消息...

    root @ dmaziado-3m3r dmaziado3m3r]#pacman -Syy
    錯誤:配置文件/etc/pacman.conf,第1行:所有指令必須屬於一個部分。

    我認為錯誤是通過安裝yaourt,我將木柴返回了pacman.conf。

  5.   查理 他說:

    開發人員用完了利他林怎麼辦?
    他們到處都是狗屎!