Gentoo管理软件指南

 

http://linuxgnu.org/Gentoo.Quick.Guide





#=======================================================

PS:今天又把晨想以前在sir的精华贴找出来了,仔细一看,euses这么经典的工具竟然没用过,

试用一下,实在是非常棒的工具, eix -C app-portage -c -I gentoo用户居家必备工具



< portage-utils eix genlop gentoolkit euses elogv glogviewer

layman mirrorselect e-file demerge autounmask>

###############################################







1. emerge



同步 portage tree (第一步)



emerge --sync





安装 XXX包 需要做什么,同时列出了使用的 USE 和 LINGUAS



emerge -pv XXX



安装 XXX包 需要做什么(树状列出)



emerge -pvt XXX



系统升级



emerge -uDN world



模拟系统升级



emerge -uDN -pv world



模拟系统升级 (树状列出)



emerge -uDN -pvt world



删除XXX包



emerge -C XXX



清理系统用不到的包 (慎用! 有可能会删除有用的包)



emerge -uDN world (推荐)

emerge --depclean (最好加一个 -pv,然后看输出,自己决定要删除什么)

revdep-rebuild



在world中增加记录,如果软件已经编译的了的就不会再编译的。



emerge -n curl



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 才会更新索引。推荐使用 eix-sync 命令取代上面的2个命令





查询哪个包用了YYY这个USE



euse -i YYY







euses YYY (请先 emerge euses)



查询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 上<kojiro>的话: ”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





6. eLog 相关.



emerge 大量软件的时候,很多提示的消息都一闪而过,现在给你一个查看他们的方法。



首先 emerge log查看软件



emerge elogv



或者图形界面:



emerge elogviewer # GTK

emerge kelogviewer # KDE



其次,修改 /etc/make.conf 文件,加入



PORTAGE_ELOG_SYSTEM="save"

PORTAGE_ELOG_CLASSES="warn error info log qa"



你可以根据需求去掉一些信息,比如 qa(质量保证) 你不需要,就可以去掉。



这样设置后,每次 emerge 都会记录下相应的信息,可以方便的通过 elogv 查看了。



PS.感谢 r0bertz@gentoo.org 告诉我这个方法。





7. 源代码相关



清除已经下载的软件包



rm -rf /usr/portage/distfiles/*



只删除过期的包



eclean distfiles (请先 emerge gentoolkit)



清除emerge过程中产生的临时文件



rm -rf /var/tmp/portage/*





参考资料:



http://en.gentoo-wiki.com/Noobie_cheat_sheet

http://gentoo-wiki.com/HOWTO_Maintain_Gentoo_-_%22Best_Practices%22

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值