設定套件自己使用的 USE 設定
有時候你想對一個(或一組)套件使用一個 USE 設定,但是不希望影響到整個系統。為了達成這個,需要先建立 /etc/portage 目錄(如果還沒建立的話),然後編輯 /etc/portage/package.use。
例如說,你不想要整個系統都有 berkdb 支援,但是你想要 mysql 支援,你可以加入:
原始碼 4: /etc/portage/package.use 範例 |
dev-db/mysql berkdb |
你當然可以明確關閉某個程式的 USE 設定。例如說,你不想要 PHP 支援 java:
原始碼 5: /etc/portage/package.use 第二個範例 |
dev-php/php -java |
定義暫時性的變數
有時候您會想要定義暫時性的變數。或許只使用那麼一次。這樣一來您就可以不用編輯 /etc/make.conf 兩次(先設定,編譯完再復原)您可以直接將 USE 定義成環境變數。記得,當你重新安裝或升級這個程式(不管是只升級他或是升級全系統),你的改變會遺失!
以下的範例,我們將暫時從 USE 設定移除 java 來安裝 mozilla。
原始碼 6: 使用 USE 為環境變數 |
# USE="-java" emerge mozilla
|
自動 USE 參數
某些套件安裝完成後,額外的 USE 參數如果你沒有明確關閉的話,會被自動啟動。要查看完整的提供 USE 參數的清單,查看 /etc/make.profile/use.defaults及他上層 profile 的 use.defaults:
原始碼 7: 簡短版本的 /etc/make.profile/use.defaults |
gnome gnome-base/gnome gtk x11-libs/gtk+ qt x11-libs/qt kde kde-base/kdebase motif x11-libs/openmotif |
優先度
當然我們有著各個設定的優先度。您不會因為 java 因為較高的優先序而再使用而輸入 USE="-java"。USE 設定的優先度將按照以下的排列(從低到高):
- 放在 make.defaults 預設的 USE 設定
- use.defaults 承接的 USE 設定
- 使用者在 /etc/make.conf 定義的 USE 設定
- 使用者在 /etc/portage/package.use 定義的 USE 設定
- 以環境變數的方式定義的 USE 設定變數
要查看最後的 USE 設定,執行 emerge --info。這將會看到所有相關的變數(包括 USE 變數)和 Portage 需要使用到的內容。
原始碼 8: 執行 emerge --info |
# emerge --info
|
讓您的系統適應新的 USE 旗標
如果您有更改您的 USE 旗標,並且想將整個系統都套用新的設定,使用 emerge 的 --newuse 參數。
原始碼 9: 重新編譯您的系統 |
# emerge --update --deep --newuse world
|
接下來,執行 Portage 的 depclean 移除就系統上不需要的舊相依性套件。
警告: 執行 emerge --depclean 是一件非常危險的動作,請小心執行。請仔細確認列出來的套件沒有包含著您鎖需要的套件。以下的範例我們將加入 -p 的參數來顯示出將要被移除的列表清單。 |
原始碼 10: 移除不需要的套件 |
# emerge -p --depclean
|