在管理你的 USE 標記前,我們先來了解一下,在哪些地方可以定義 USE 標記。
所有可以配置 USE 標記的地方:
/usr/portage/profile/base/make.defaults
/usr/portage/profile/default-linux/make.defaults
/usr/portage/profile/default-linux/x86/make.defaults
/usr/portage/profile/default-linux/x86/2007.0/make.defaults
/etc/make.conf
/etc/portage/package.use
作為環境變量設定的USE
了解了標記所在的位置,那麼看一下這些 標記 的讀取順序把?
USE 標記的順序是從低到高讀取的,且讀取中只使用第一次碰到的。比如 package.use 裡定義了 -ssl,那麼 make.conf 裡再定義 ssl 就會被忽略。
make.defaults裡面的USE默認設定,用戶在/etc/make.conf裡面的USE設定,用戶在/etc/portage/package.use裡面的USE設定,作為環境變量的USE設定。
以上所有配置文件,除了 make.defaults 不建議修改(emerge ——sync 後,你的修改會被覆蓋), 其他均可以自由添加,修改。
管理:
管理之前,確保你安裝了 Gentoolkit 工具,它能為你節約很多時間。
在管理 USE 標記之前,我們首先要區分 全局 與 本地 的概念。全局標記,顧名思義,就是系統軟件包或絕大部分軟件包都會依賴的標記。本地標記,是針對安裝的軟件包不同,可自由定制的標記。
但當一個本地標記放置在默認中,也會起到全局的作用。因為每一次安裝軟件包,都有可能激活這個本地標記。
在 Gentoo portage 中, 官方提供了很多的默認標記,他們分布在多個 make.defaults 中(看前提的文件列表)。這些標記就包括全局和本地的,從這點可以看出,官方雖然遵循了 COC 原則 (convention over configuration)。但對於一個,喜歡自己定制的用戶來說,本地標記設為默認就顯得有點強求了。
在這裡,建議,直接屏蔽掉所有默認的本地標記,只保留全局。然後,在安裝軟件包時,再添加需要的功能。(通過往 package.use 裡添加 包名 和 這個包要依賴的標記)
以上方式,有些人會問,為什麼要先屏蔽,然後安裝時,再添加。而不是先默認添加,然後安裝時發現沒必要,再刪除。原因是,需要刪除比需要添加的多(比如 ipv6 這種,就是所有包都應該刪除的,其實就遵循一個理念:本地與全局分離,情願本地很多包要用,多定義幾次)。
屏蔽本地默認標記步驟:
1, euse -a 可以看到所有已激活的標記。
2, 用 euse -i xx 來查看哪些是本地的。
3, 將這些標記全部 取消掉 euse -D xx .
當清理完標記後,需要進行一次系統更新 emerge -avtuDN world.通過系統更新,你可以看到剛才對標記修改所帶來的影響。(大部分使用到剛才刪除標記的軟件包都需要重新編譯,你想要的添加到本地,不想要的編譯後就沒了)
現在以及將來,你就可以為每個軟件包,手動激活自己喜歡的功能了