前日心血來潮遥倦,又給自己的機器安裝了 Gentoo Linux石抡,以下是相關的一些我記下的筆記,希望能有幫助。
解決 rxvt热幔、emacs 亂碼
事情是這樣的……我安裝好了 gentoo再来,英文和中文字體也已安裝畏纲,打開 firefox 和 amule 字體均顯示正常独柑,也可以用 fcitx 輸入中文》炱洌可是當我打開 rxvt 和 emacs 的時候發(fā)現(xiàn)中文全部亂碼挎塌,使用 “l(fā)s” 命令甚至連英文的目錄也是亂碼。
檢查 use 標記内边,已打開 nls榴都、truetype ;檢查 locale漠其,也正常嘴高。網上找了一番,沒有收獲和屎,最后我無聊到翻看 use 列表拴驮,突然發(fā)現(xiàn)有一個叫 xft 的字體標記,加入 make.conf 后 emerge 柴信,問題解決套啤。
解決 emacs 下 fcitx 無法輸入中文
解決了亂碼問題,于是便想在 emacs 下記錄下來颠印,免的以后忘記纲岭,結果又發(fā)現(xiàn)中文無法輸入。網上有人說打 “LC_CTYPE=zh_CN.utf8 emacs” 這個命令就可以使用了线罕,但我本來就已經定義了止潮,在這樣也還是沒有用。
最后的解決辦法是安裝了幾個字體相關包:
font-cursor-misc
bdftopcf
font-alias
font-util
重啟 X 后問題解決钞楼。
emerge 命令整理
這次安裝就這兩個問題喇闸,現(xiàn)在把 gentoo 的包管理命令整理列出。
<pre>
emerge -avt 帶詳細信息询件,樹形依賴關系顯示燃乍,交互確認指示的安裝命令
emerge -avC 刪除當前包,并顯示詳細信息以及刪除前詢問
emerge -s 搜索查找安裝包
emerge -vp 查看帶詳細信息的依賴關系
emerge -f 僅在 USE 標記前提下宛琅,有針對性的下載需要安裝編譯的源碼及依賴包源碼
emerge --sync 從指定的rsync站點更新portage樹刻蟹,先前所作所有portage樹更改均失效
emerge -avtuDN world 帶詳細信息,樹形依賴關系顯示嘿辟,交互確認指示舆瘪,依賴包查找更新及根據 USE 標
記新增,刪除情況红伦,對依賴包進行重新編譯安裝
emerge -avt --depclean 帶詳細信息英古,樹形依賴關系顯示,交互確認指示昙读,系統(tǒng)清理命令
</pre>
在 emerge -avt --depclean 里列出的包中如果有有用的包召调,把它完整的包名放入 /var/lib/portage/world 中,就可以避免被刪除蛮浑。
下面是每個選項的具體含義:
<pre>
world/system world范圍更廣唠叛,包含了system,這是兩個set沮稚,前面不用加--或-
--sync 從指定的rsync站點更新portage樹玻墅,先前所作所有portage樹更改均失效
--depclean 深度清理,移除與系統(tǒng)無關的包
-D/deep 計算整個系統(tǒng)的依賴關系
-p/pretend 預覽
-a/ask 先予詢問
-c/clean 清理系統(tǒng)
-C/unmerge 卸載壮虫,與emerge相反
-h/help 幫助文件
-v/verbose 詳細內容
-s/search 查找
-S/searchdesc 從文件名和描述中查找澳厢,要慢一些
-u/update 升級軟件包
-e/emptytree 清空依賴樹,一般不用囚似,危險命令
-1/oneshot 一次性安裝剩拢,不將其信息加入系統(tǒng)目錄樹
-o/onlydeps 只安裝其依賴關系,而不安裝軟件本身
-t/tree 顯示其目錄樹信息
-k/usepkg 使用二進制包
-K/usepkgonly 只使用二進制包
-f/fetchonly 僅下載安裝包
-N/newuse 使用新的USE FLAG饶唤,如有必要徐伐,需重新編譯
-n/noreplace 更新system,但先前安裝的軟件不予覆蓋
</pre>
Gentoolkit
Gentoolkit包含了一整套有用的工具來幫助你管理你的軟件包和跟蹤你的系統(tǒng)上發(fā)生的事募狂。到現(xiàn)在為止办素,存在著兩種版本 app-portage/gentoolkit 和 app-portage/gentoolkit-dev角雷。前者包含了管理腳本,而后者包含了一些專門幫助 Gentoo 開發(fā)的腳本性穿。如果你是一個開發(fā)者勺三,你可以通過聯(lián)系 Gentoolkit 維護者來讓你的腳本被收錄到 gentoolkit-dev 里。
<pre>
eclean distfiles 刪除過期的包
revdep-rebuild 重新構建動態(tài)鏈接到由可能已經刪除的包提供的公共對象的程序
revdep-rebuild -p 假裝(pretend mode)運行revdep-rebuild
</pre>
equery
equery 只適用于已安裝的軟件包需曾,無法在安裝新軟件包時吗坚,提供幫助。通常 equery 負責查詢呆万,emerge 負責安裝商源,卸載,更新谋减。
<pre>
equery d depends 列出某個已安裝軟件包的所有直接依賴關系
equery g depgraph 樹形顯示某個已安裝的軟件包的依賴關系
equery u use 列出某一個已安裝的包使用到的所有標記及詳細信息
equery h hasuse 列出所有使用了指定 USE 標記的已安裝軟件包
equery l list 查詢某個已安裝的軟件包牡彻,并列出相關信息
equery s size 顯示某個已安裝軟件包的大小
equery k check 檢查某個已安裝軟件包是否正確
equery w which 顯示某個已安裝軟件包的絕對路徑
equery f files 列出某一個已安裝的軟件包的所有文件
equery b belongs 查看某個文件屬于哪個已安裝的軟件包
</pre>
euse
euse是一個用來在多個地方查看、設置和取消USE標記的工具出爹。
<pre>
euse -i 查看標記的詳細信息
euse -D 取消某個標記
euse -E 啟用某個標記
euse -a 列出已激活的所有標記
euse -a -g 只顯示活躍的全局USE標記
euse -a -l 只顯示活躍的局部USE標記
</pre>
格式說明: 中括號共分5列讨便,每列分別表示+/-(激活或取消)、在環(huán)境(Environment)變量里設置的以政、在make.Conf里設置的霸褒、在make.Defaults里設置的和在make.Globals里設置的。如果以上都有盈蛮,則輸出的信息就像這樣[+ECDG]废菱。