如何強制emerge安裝更新版本的軟體包?

如何強制emerge安裝更新版本的軟體包?

我正在使用 Gentoo 並需要安裝更新版本的gcc,可在官方 Gentoo 軟體包儲存庫

我想做相當於apt-get install gcc=8.0.3-r1但不知道如何做。它甚至不需要是版本 8 - 任何 4.8 或更高版本都可以。

我嘗試過的:

emerge =sys-devel/gcc-8.0.3回報there are no ebuilds to satisfy "=sys-devel/gcc-8.0.3".

emerge-webrsync返回command not foundeix-sync似乎成功完成,但隨後eix sys-devel/gcc僅返回 4.7 以下的版本。我希望其中之一相當於apt-get update但事實並非如此。

我究竟做錯了什麼?

答案1

問題

正如hoefling所說,我也相信你的portage被破壞了,emerge-webrsync後備指令也是如此。 gcc:6 以下的所有版本都被屏蔽或硬屏蔽,並且 multilib 現已更改。

解決方案

  1. 修復Portage。讀項目:Portage/修復損壞的 portage < 項目:Portage。目前版本是2.3.66-r1,但是不要如註釋所述,高於 2.2.13
  2. 屏蔽sys-kernel/gentoo-sources>= 您的核心版本的每個版本。作為個人觀點,我們需要一個健全的編譯器鏈來建立穩定的核心。
  3. 測試emerge --sync
  4. 如果步驟 3 完成,則執行emerge -1 portage。這將用樹中的官方 portage 取代您在步驟 1 中建立的 portage。

選修的

  1. 重建整個系統:
    • emerge -e @system
    • emerge -e @world
  2. 揭開你的核心的面具。並更新它。

相關內容