Package-Management

如何在 Gentoo 中列印所有可升級包的列表

  • August 19, 2019

正在做

 emerge -avuDN --with-bdeps y --keep-going @world

花費大量時間並且經常失敗。

有沒有辦法列印 Gentoo 系統中所有可升級包的列表?

eix是您最好的選擇。

eix --installed --upgrade將列印所有已安裝的包,其中最佳版本不是目前版本(對於每個插槽)。

這樣做的代價是您需要在每次同步後使 eix 數據庫保持最新。

歷史

現在我有一個瀏覽器(下面有更多內容),我覺得我應該在@robbat2 的回答中擴展我的評論。在使用 Gentoo 作為我的主要作業系統 5 年多之後,在使用portagePaludis進行了 5 年的實驗之後,我意識到所有主要的發行版都是圍繞包管理系統/工具建構的。

  1. Debian 及其變體使用apt.
  2. Redhat/Fedora 及其變體使用rpm.
  3. SuSE 及其變體使用yum.
  4. 許多其他人

有關完整列表,請參閱:Linux 發行版列表。請注意,Wiki 條目按包管理劃分分發。另請注意,根據時間線照片,Gentoo 是父發行版。 以諾是最初的名字

BSD 的

從歷史上看,大多數BSD 作業系統直到最近才具有包管理的概念,它可以使用一些工作。我把 FreeBSD 放在一個額外的硬碟上,我必須看看它和 Gentoo 的關係有多密切,並且剛剛完成了我的 DE 埠和瀏覽器的編譯。

  1. Gentoo 有 Portage Tree,FreeBSD 使用 Ports Tree。
  2. Gentoo 有sys-apps/portage. 該emerge命令在安裝軟體時遵循與 FreeBSD 相同的順序:配置、製作、安裝 - 當直接從埠樹安裝原始碼時。

這裡的主要區別在於 FreeBSD 中的過程要求使用者安裝他們選擇的包管理器,而不是 FreeBSD 選擇的包管理器,然後該包管理器跟踪所有已安裝的軟體及其依賴項。


我說這一切是為了表明,如果包管理器在維護系統時出現故障,問題要麼在於正在編譯的包,要麼在於底層系統。為了說明,請參閱:FreeBSD 錯誤 218620 - x11-wm/muffin 版本。2.4.4 不再建構。注意評論 1 阻止了我選擇的包管理器完成 Cinnamon Desktop 的安裝,不是因為我使用的包管理器壞了,或者花費了太長時間,或者很慢,而是因為正在編譯的包壞了,就此而言,不再支持。同樣,由於正在編譯的包中的損壞,OP 的emerge命令沒有完成。而不是執行命令:

emerge -avuDN --with-bdeps y --keep-going @world

盲目地因為它是在某個網站上找到的,所以 OP 應該添加t樹視圖,然後刪除--keep-going. 此時,研究並修復有問題的包中的損壞,然後重新執行命令。直到損壞的所有包都將不再出現在輸出中,因為它們已經在新設置下重新編譯。無論您使用何種工具來顯示輸出,都應使用此過程。當損壞是由於編譯錯誤引起的時,Eix 與 Emerge 是沒有實際意義的。

暗示

OP 需要研究的違規包資訊將位於/var/tmp/portage/package-cat/offending-package/temp/build.log

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