1. emerge
同步 portage tree (第一步)
emerge –sync
安装 XXX包 需要做什么,同时列出了使用的 USE 和 LINGUAS
emerge -pv XXX
安装 XXX包 需要做什么(树状列出)
emerge -pvt XXX
系统升级
emerge -uDN world
模拟系统升级
emerge -uDNpv world
模拟系统升级 (树状列出)
emerge -uDNpvt world
删除 XXX包
emerge -C XXX
清理系统用不到的包
emerge -uDN world (推荐)
emerge –depclean
revdep-rebuild
2. 其他相关软件使用
搜索相应缺失的库,并且重新emerge相应的包。
revdep-rebuild (请先 emerge gentoolkit)
比如如果发现 /bin/ls 需要的 /lib/libacl.so.1 缺失,就会重新编译相关文件所在的包,以及所用到该文件的所在文件的包。
重新编译外部内核模块
module-rebuild (请先 emerge module-rebuild)
module-rebuild rebuild 就可以重新编译所有内核的 外部 模块。比如 nvidia/vbox 这类软件用到的模块。当然,你要先装过 nvidia包和 vbox模块包,这样 portage 才有记录。
配置文件更新工具
etc-update
另一个更好的配置文件更新工具
dispatch-conf
3. 查询
快速查询名字包含了 XXX 字符的包
eix XXX (先 emerge eix)
注意,需要每次 emerge –sync 後运行 update-eix 才会更新索引。
查询哪个包用了YYY这个USE
euse -i YYY
查询XXX包用了什么USE
equery uses XXX (请先 emerge gentoolkit)
找到 /bin/ls 所属包
qfile /bin/ls
列出 glibc 包所包含文件
qlist glibc
查询之前编译过 glibc 所费时间。
genlop -t glibc (请先 emerge genlop)
所有USE都可以在这里修改,不用手动修改 make.conf 了,很方便。
ufed (先 emerge ufed)
4. /etc/portage/package.* (内容里边都是例子,自己按照自己的需求改变)
package.use
sys-apps/man-pages -nls
sys-apps/pciutils -zlib
media-libs/freetype bindist
app-text/acroread linguas_zh_TW linguas_zh_CN linguas_en
作用:
不改变全局USE的同时,微调包的USE。
开始2个是说这2个包不使用相应的 USE,第三个说明要单独在这个包使用这个USE,最後一个是调整 LINGUAS 的,很容易明白。
package.keywords
sys-apps/hdparm ~x86
作用:
指定相应的包的 KEYWORDS。比如你想 hdparm 包用 ~x86 的版本,而不用 x86 的版本,就用这个来指定。
注意,因为 emerge 的设计,如果你的 make.conf 里边指定了 ~x86的话,你不能反过来通过指定 x86 而
不要 ~x86,只能用 -~x86 来达到目的。
引用 gentoo@freenode 上的话: ”ACCEPT_KEYWORDS is incremental“
package.mask
>sys-devel/libtool-1.5.23
作用:
屏蔽某个包某个版本,或者某些版本,甚至整个包。
比如 libtool-1.5.23b 在我的系统有问题,那么就屏蔽一下,只用 比 1.5.23 小的。
package.unmask
=net-www/apache-2.2.4
games-arcade/stepmania
和 mask 一样,不过效果正好相反。我要用 2.2.4 的 apache,但是 portage 把他 mask 了,所以手动 unmask 一下。
5. 启动相关
default 是 gentoo 启动用的 runlevel,类似一般系统的 runlevel 3。
往 default runlevel 里边加入 XXX 服务 (add)
rc-update -a XXX default
从 default runlevel 里边删除 XXX 服务 (delete)
rc-update -d XXX default
列出 default runlevel 所有的服务 (show)
rc-update -s default