找回密码
 注册
查看: 2032|回复: 17

正确使用 Gentoo Portage.

[复制链接]
发表于 2004-6-24 01:14:34 | 显示全部楼层 |阅读模式
 楼主| 发表于 2004-6-24 02:49:53 | 显示全部楼层
如何正确使用portage
5/29/04 修订 作者: GaMMa 译者:Gen2

简述:
Gentoo的portage系统如果使用得当可说是无往而不利。而不当的使用则会导致无法追踪的包、破损的world文件以及臃肿的系统。遵照本指南,您将拥有更加完美的系统。

Emerge包:
建议以如下方式emerge不稳定的包:

[code:1]emerge foo[/code:1]


  不要使用ACCEPT_KEYWORDS="~x86" 因为它会emerge你可能不想要的标记为~x86的依赖包。

  建议你首先尝试emerge该ebuild, 如果提示ebuild为非稳定版,采取如下的适当行动。解决了这个问题后试着再次emerge该包,这时可能会提示另外某个依赖包有问题。重复上面的步骤直到emerge完该包。是的,看起来确实难受,不过起码你知道都有哪些不稳定的包塞进了你的系统。

  警告: 直接emerge一个ebuild文件 (emerge foo.ebuild) 给某些用户产生国麻烦,不可采用。一些情况些包没有写入world文件。另外使用本方法,如果有下新的该包的不稳定的发行版,你不会被提示,哪怕其中包含有重要的安全问题的修订。

  维护包:
  有时运行 emerge -u world ,portage会降级某些包。如果想避免这些包被降级, 创建/etc/portage 目录[如果还没有的话]。

[code:1]mkdir /etc/portage[/code:1]

  在/etc/portage/package.keywords文件中增加该包的完整名称,后面跟~x86. 例如如果想在系统中保有Gaim的不稳定版本,输入这行命令:

[code:1]echo net-im/gaim ~x86 >> /etc/portage/package.keywords[/code:1]


  对所有你不想降级的包如法炮制。

  还可许可某个包的特定非稳定版本,这样该包新的不稳定版本冒出来时系统不会自动升级。 语法如下:

[code:1]echo =app-misc/foo-version ~x86>> /etc/portage/package.keywords[/code:1]


  这行只允许emerge app-misc包的foo-version版。然而,revision bumps[修订升级]仍将被标记为~arch。若想在特定版本外还允许revision bumps[修订升级] 标记为稳定,使用如下代码:

[code:1]echo ~app-misc/foo-version ~x86>> /etc/portage/package.keywords[/code:1]

  这里version是不带-rX的版本。

  注: 如果保持该清单按字母排序,找起包来比较容易。
  警告: emerge -U world 可能给系统造成麻烦,不可使用。Earthwings在本帖中有详细讨论 http://forums.gentoo.org/viewtopic.php?t=1673233

  Portage有时还是会降级某些包。通常而言这样做有其道理。然而有时也会有例外,比如我有2.6.x的内核,可是linux-headers总想退回到2.4.x。Linux-headers 是唯一应该使用本方法的包,对其他包还是应该采用前面的办法,换句话说放任他们降级。在/etc/portage/package.keywords增加一行,或者运行:

[code:1]echo sys-kernel/linux-headers -* >> /etc/portage/package.keywords [/code:1]


  有时不需要的包会试图溜进我们的系统。xorg-x11的用户可能已经注意到xfree总想挤进来。要搞定这个问题,可在/etc/portage/package.mask中加一行或者键入:

[code:1]echo x11-base/xfree >> /etc/portage/package.mask[/code:1]


  有时包会被硬屏蔽,比如我知道的有realone。该包有一个会导致系统不安全的漏洞,所以被屏蔽。如果你还是想安装realone, package.unmask文件可助你一臂之力。输入该命令:

[code:1]echo media-video/realone >> /etc/portage/package.unmask[/code:1]


  另外如果你不想某个包包含某个USE标志,可利用
package.use文件。创建/etc/portage/package.use文件,在终端中输入类似如下的命令:

[code:1]echo net-p2p/bittorrent -X >> /etc/portage/package.use[/code:1]


  这会通知portage在emerge bittorrent时不要包含对X的支持。

  维护world文件:
  有时因为种种原因包没有加入world文件。要修理world文件加入这些包,敲入:

[code:1]regenworld[/code:1]


  如果regenworld还搞不定,这还有一帖讨论world文件修复问题:http://forums.gentoo.org/viewtopic.php?t=1366277

  结论:
  使用本法,可让emerge -u world 成为现实。你将拥有一个顶尖的稳定系统。

[code:1]emerge -uDav world[/code:1]


  这是升级系统的不二良方。u表示升级, D表示深度审查依赖树, a代表emerge前征求你的意见 而 v 表示详细的提示信息,它会告诉你每个包将采用的USE标志。

  推荐采用ecatmur的cruft脚本,它将让你的安装干净整洁! http://forums.gentoo.org/viewtopic.php?t=1526181
回复

使用道具 举报

发表于 2004-6-24 08:41:47 | 显示全部楼层
nice, 学到了几手! :-)
回复

使用道具 举报

 楼主| 发表于 2004-6-24 20:01:34 | 显示全部楼层
保持系统新而安全的方法:

预备工作: 在portage之外, 还需要gentoolkit

[code:1]emerge gentoolkit[/code:1]

1. 更新portage树

[code:1]emerge sync [/code:1]

2. 升级包

[code:1]emerge -uDav world[/code:1]

3. 清除[可能]不需要的包

[code:1]emerge -v depclean[/code:1]

会提示这是危险动作,但是我的经验,一般没问题

4. 重建依赖关系树,挽救上一步可能误杀的好人

[code:1]revdep-rebuild -v [/code:1]

5. 修补安全漏洞

[code:1]glsa-check -f all[/code:1]

注: glsa是Gentoo Linux Security Advisor的缩写。 glsa-check的功能在通过测试考验后最终会被加入portage中,以后你将可以使用类似 emerge security的语法来完成同样的工作。

如果你在意系统安全,这一步也是必不可少的。

使用这样的步骤来保养你的系统,可保江山永固。
回复

使用道具 举报

发表于 2004-6-25 11:37:29 | 显示全部楼层
好贴!

可惜我的GENTOO无法上网 ……
emerge 真是我的噩梦。
回复

使用道具 举报

发表于 2004-6-25 23:35:47 | 显示全部楼层
我很好奇。。。我想知道它是什么干的。。源代码呢??

谁来分析。。分析呢??
回复

使用道具 举报

 楼主| 发表于 2004-6-26 01:01:54 | 显示全部楼层
>>winme

好奇。 是你的机器没有上网,还是你安装的Gentoo 网络搞不定? 不能上网, Gentoo就没多大意义了。同情!
回复

使用道具 举报

发表于 2004-6-26 10:03:02 | 显示全部楼层
>>gen2

我是很郁闷啊,上网的问题是因为我们学校要用一个客户端程序认证才可以上网,而这个客户端没有LINUX版本,它的名字叫DR.COM

你能搞定么?
是啊,我都是在WIN下载,然后换过来安装…… 痛苦 !
回复

使用道具 举报

 楼主| 发表于 2004-6-27 12:29:24 | 显示全部楼层
搞不定。

如果方便的话,可以搞一台廉价的二手机,不装显示器,装两个网卡,在这台机上装Win+Dr.COM上网,共享其连接。或者你们宿舍搞个小局域网?

GOOGLE了一下,还真有不少帖子问这个问题的。
回复

使用道具 举报

发表于 2004-6-27 21:37:41 | 显示全部楼层
唉,你是不了解DR.COM,只要它运行,就不允许你有两个IP地址同时使用!也不允许代理!就是为了防止你一个帐号带一堆机器上网 ……

虽然我不是要带谁上网,但是……
回复

使用道具 举报

发表于 2004-6-28 04:13:41 | 显示全部楼层
变态,这种破宽带不要用算了,换一家好了……
果然没有竞争就没有进步啊。
回复

使用道具 举报

发表于 2004-6-28 05:05:17 | 显示全部楼层
[quote:a7684ed800="winme"]唉,你是不了解DR.COM,只要它运行,就不允许你有两个IP地址同时使用!也不允许代理!就是为了防止你一个帐号带一堆机器上网 ……

虽然我不是要带谁上网,但是……[/quote]
没关系,再过两天就脱离苦害了!

一定要坚持到最后一刻啊!  
回复

使用道具 举报

发表于 2004-6-28 08:05:05 | 显示全部楼层
啊,是啊,买到票的话,29号就走人 ……
学校的宽带,不是我想换就换的 :(
回复

使用道具 举报

发表于 2004-8-6 23:54:19 | 显示全部楼层
好贴!顶一下! :-)
回复

使用道具 举报

发表于 2004-8-12 14:26:16 | 显示全部楼层
我根本不动我的什么 USE FLAG,所以我的COMPILE现在完全没有问题.如果安装不了软件,直接COMPILE from source 更好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-13 04:10 , Processed in 0.029741 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表