LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 6219|回复: 12

Gentoo Linux官方文档中译本系列-Portage用户使用指南

[复制链接]
发表于 2002-12-16 15:57:55 | 显示全部楼层 |阅读模式
Portage用户使用指南

Debentoo Gao译 2002.12.16

1 初步认识
取得最新的Portage软件包列表

在你安装了Gentoo Linux,使用了一段时间以后,发现一些软件有着这样那样的bugs,觉得不满意,或是想升级到最新的Gentoo Linux所带的软件包时,你需要下载我们的Portage树。我提供了一些匿名的rsync服务器以供您升级到最新的Portage树。下面我将告诉您如何使用它。

使用以下命令同步更新你的Portage树
#emerge rsync

请注意emerge rsync;命令会自动附带—clean参数,清除你在/usr/portage里做的个人设置。如果你想保存你的主Portage树个人设置不变的话,请使用PORTDIR_OVERLAY选项:

把下面一行加入/etc/make.conf
PORTDIR_OVERLAY="/dir/where/your/ebuilds/are"

如果你已经动手修改ebuilds,修正bugs。你可以考虑加入Gentoo Linux开发团队,成为我们的一员。具体事项可以和Daniel Robbins或Seemant Kulleen联系。

升级Portage
在使用我们的Portage树前,升级它是一件很重要的工作。你可以这么做:
#emerge -up system  *它会告诉你要升级哪些包
#emerge -u system  *开始升级你的所需要的包
现在你的Portage升级到了最新版本,接下去你就可以随心所欲用我们的ebuild系统升级你所需的软件了。

2 emerge命令的介绍

emerge ?pretend
在安装一个软件包前,看看它和其他包的倚赖关系或哪些包会被升级是个不错的主意。你可以使用emerge ?pretend或emerge -p命令来察看。

比如说:# emerge -p  xchat
These are the packages that I would merge, in order.

Calculating dependencies......... done!
[ebuild   U] sys-libs/zlib-1.1.3-r2 to /
[ebuild   U] dev-libs/glib-1.2.10 to /
[ebuild N  ] media-libs/jpeg-6b-r2 to /
[ebuild N  ] x11-base/xfree-4.0.3-r3 to /
[ebuild N  ] x11-libs/gtk+-1.2.10-r1 to /
[ebuild N  ] media-libs/giflib-4.1.0-r3 to /
[ebuild N  ] media-libs/tiff-3.5.6_beta to /
[ebuild N  ] media-libs/imlib-1.9.10 to /
[ebuild N  ] net-irc/xchat-1.4.3 to /

如上所示,我们试着在一台没有安装X的机器上emerge xchat.emerge ?pretend正确的列出了所必需满足的倚赖关系。并明确的指出了sys-libs/zlib和dev-libs/glib需要升级,emerge xchat时,这些所倚赖的包(当然包括x11-base/xfree会被一同安装。

USE和emerge
以上,我在一个/etc/make.conf文件USE环境变量没有定义gnome的系统上执行了emerge ?pretend命令。就是说GNOME支持是可选项,一般是不打开的。那既然有这个选项,那我们就试着打开它,在执行emerge ?pretend命令看看输出有什么不同。
# emerge -p xchat

These are the packages that I would merge, in order.

Calculating dependencies............................ done!
[ebuild N  ] media-libs/jpeg-6b-r2 to /
[ebuild N  ] gnome-base/libghttp-1.0.9 to /
[ebuild N  ] media-libs/audiofile-0.2.1 to /
[ebuild N  ] media-sound/esound-0.2.22-r2 to /
[ebuild N  ] gnome-base/gnome-env-1.0 to /
[ebuild N  ] gnome-base/libxml-1.8.11 to /
[ebuild N  ] gnome-base/ORBit-0.5.8 to /
[ebuild N  ] gnome-base/oaf-0.6.5 to /
[ebuild   U] dev-libs/glib-1.2.10 to /
[ebuild N  ] net-libs/libwww-5.3.2-r1 to /
[ebuild N  ] media-libs/giflib-4.1.0-r3 to /
[ebuild N  ] dev-util/guile-1.4-r3 to /
[ebuild   U] sys-libs/zlib-1.1.3-r2 to /
[ebuild N  ] x11-base/xfree-4.0.3-r3 to /
[ebuild N  ] x11-libs/gtk+-1.2.10-r1 to /
[ebuild N  ] media-libs/tiff-3.5.6_beta to /
[ebuild N  ] media-libs/imlib-1.9.10 to /
[ebuild N  ] gnome-base/gnome-libs-1.2.13 to /
[ebuild N  ] gnome-base/glibwww-0.2-r1 to /
[ebuild N  ] gnome-base/gdk-pixbuf-0.11.0 to /
[ebuild N  ] gnome-base/gconf-1.0.0 to /
[ebuild N  ] gnome-base/gnome-vfs-1.0.1 to /
[ebuild N  ] gnome-base/control-center-1.4.0.1 to /
[ebuild N  ] gnome-base/scrollkeeper-0.2 to /
[ebuild N  ] dev-util/xml-i18n-tools-0.8.1 to /
[ebuild N  ] gnome-base/libglade-0.16-r1 to /
[ebuild N  ] gnome-base/gnome-core-1.4.0.4 to /
[ebuild N  ] net-irc/xchat-1.4.3 to /

很清楚地,在USE变量中加入gnome,emerge很快的知道安装xchat要加入对gnome的支持。当然为了GNOME选项的正确编译和运行,GNOME必需被首先安装,emerge会计算GNOME 安装所倚赖的包,并从它的ebuild列表中加入。当USE变量设置错误的时候,emerge命令很可能无法正确执行。那也是我们为什么建议在实际emerge软件包,特别是比较新的,自己不熟悉的ebuild前先用emerge ?pretend命令察看一下的原因。接下去,你该知道怎么做了吧 :)。        一切顺利的话,你可以撇开--pretend选项emerge了。
#emerge xchat

等满足了所有的倚赖关系(如果这种关系存在,不是所有的包都有这种倚赖关系。),接着xchat源码包会被下载(存储到/usr/portage/distfiles目录),并在一个叫sandbox的零时目录下校验MD5,解压,编译和安装。接着他们被合并到本地文件系统,在/var/db/pkg/net-irc/xchat-1.4.3/CONTENTS目录下建立该包的数据库,包括所有安装的包和它们的md5sum。

3 升级软件包
一般的我们升级一个软件包所用到的命令包括 emerge --update or emerge -u。

# emerge -u xchat
Portage使用一个被称为“Safe”的umerge命令负责拆卸原来的文件。如果一个文件已经被手动复盖或改写,它会先被从系统中移出,(也许,你已经安装了新版本的软件。)。如此一来,当你merge了新版本的xchat后umerge一个旧的版本,xhchat可执行文件不会被你的系统删除,因为它已有了新的时间信息和不同的md5sum。Safe unmerges 真得很棒,它可以在任何时候确认可用的软件版本。如果你先执行了unmerge命令,那么直到你下载安装了新版本的xchat,它才可被继续使用。

重点:
现在Portage加入了被称为“配置文件保护”的新特性。设计这个新特性的目的是为了防止新装的软件破坏原有的配置文件。一般的,配置文件保护特性默认在/etc和KDE配置目录下打开,将来会加入到更多其他的配置目录中。详情请执行emerge --help config命令察看。
发表于 2002-12-16 17:02:30 | 显示全部楼层
辛苦了!!!

置顶啊!!

这是我们的基石啊!!!!


---------安装Gentoo的朋友有福了!!!!----------
发表于 2002-12-17 09:18:01 | 显示全部楼层
恩!基石!
(来踩一脚。。。。:D)

高兄译了好多东西阿。真实不简单。
发表于 2002-12-20 13:07:44 | 显示全部楼层
好,顶!
发表于 2003-4-27 19:44:23 | 显示全部楼层

对于这个问题我不理解

把下面一行加入/etc/make.conf
PORTDIR_OVERLAY="/dir/where/your/ebuilds/are"
那么这个路径本来应该是什么还是说我随便指定一个位子就可以了?
发表于 2003-4-27 20:26:28 | 显示全部楼层

好像没有翻译完吧,期待ing

好像没有翻译完吧,不知道是何故,真希望能看到老兄完整的大作啊!
发表于 2003-4-27 22:50:17 | 显示全部楼层
这个是user guide,差不多了,就只有一小段了。
还有一个portage manual,也翻译好了,在gentoo的文章索引里。
下面是缺的一点点:
4.What are masked packages?

Many people are curious as to why a newly released package isn't included when they run emerge -u world. A good example of this is xfree-4.3.0 (the version at the time of this writing). If you've run emerge sync followed by emerge -u world, you won't see xfree as an update candidate. Why is this?

The reason is that certain packages are marked as "masked"--that is, the package will not be automatically upgraded or installed unless you take specific actions to do so. For an explanation of how to enable installation of masked packages, we encourage you to visit the Masked Packages FAQ in our Gentoo Forums.
发表于 2003-11-20 01:10:19 | 显示全部楼层
[ ebuild R ] net-irc/xchat-1.4.3 to /


其中的ebuild R是什么意思?R是不是表示repair?!还是其他意思?
麻烦告知。呵呵。
发表于 2003-11-20 09:32:13 | 显示全部楼层
R表示已安装
发表于 2003-11-20 11:42:34 | 显示全部楼层
OKay.thanks.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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