免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2183 | 回复: 0
打印 上一主题 下一主题

portupgrade注意事项 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-02 13:06 |只看该作者 |倒序浏览

原文:
http://www.onlamp.com/pub/a/bsd/200...ics.html?page=1
作者:Dru Lavigne
翻译:rainren
本人能力有限, 很多地方自我感觉都翻译的不对, 请大家指出, 我慢慢修改。

在上一篇文章中我们介绍了用一些工具去管理FreeBSD ports collections.在这一篇中, 我们还将继续上面的主题,让我们来看看portupgrade, 一个非常有用的工具。

Installing portupgrade

使用ports安装:

# cd /usr/ports/sysutils/portupgrade
# make install clean

它将安装超过十个有用的工具, 你可以使用我们上一篇中介绍的一个小技巧来查看安装了些什么东西:pkg_info –xL portupgrade

现在我们不去管那些man pages, 在下面的文章中我们将告诉你如何有效的使用它们。

First, 我们来看看安装在你系统上的ports的结构, 及如何去升级它。


你安装FreeBSD时,选择了安装ports后,
/usr/ports和它下面的子目录将会安装。在/usr/ports下,你将会看到很多分类的子目录。如:www, mail,
databases. 在这些子目录下包含了可在FreeBSD下使用的程序子目录。如:www下有mozilla, lynx,
在这些应用程序子目录下包含了详细的安装说明。

Ports 要经常升级, 通常每天都有新ports加入, 你将会发现这是一个非常有用的资源。

Syncing Your Ports Tree (同步你的ports tree)

我时常使用cvsup来升级我的ports tree. 如果你没用过它, 你应该去查看一下如何使用cvsup , 在 FreeBSD Handbook里有一个非常详细使用说明。

# cd /usr/ports/net/cvsup-without-gui
# make install clean

cvsup时常用来升级你的系统和系统上的ports tree. 如果你只对升级ports tree感兴趣,下面文件可以做这项工作:

# cat cvsup-supfile
*default host=cvsup.freebsdchina.org
*default base=/usr
*default prefix=/usr
*default release=cvs delete use-rel-suffix compress
ports-all tag=.

这个命令升级ports tree

# cvsup –g –L 2 cvsup-supfile

这个命令将下载服务器上的文件并将它们加入到你的ports tree中,这是一个非常有用的工作,你应该将它加入你的cron job, 让系统每天执行它。

cvsup 同样会升级你的/usr/ports/INDEX, 这个文件是你的ports tree的一个列表。你可以查看它了解你是在什么时间升级过它。

# ls –l /usr/ports/INDEX

Upgrading the Ports Database

现在, 我们使用cvsup 升级了 ports tree后需要使用这个命令来建立一个ports数据库:

# portsdb –uU



你第一次使用这个命令时, 有一个数据库INDEX.db将在/usr/ports下建立,每次使用完cvsup ports
tree后,你都需要使用portsdb来升级你的INDEX.db 。你不能使用file unility来访问INDEX.db,
因为这不是一个ASCII类型的文件。

当然, 有几个portupgrade工具将使用这个数据库, Btree涉及一个数据库算法,它用来在大型数据库进行快速查找。我们将看到一些portupgrade工具将很快速的找出信息,因为它使用的就是Btree.

你将需要一点耐心去等待portsdb运行, 当它运行完成, 你就可以使用portversion来查看你已安装的软件是否需要升级,记住这个命令:

# portversion –l “ Session started at: Sun, 17 Aug 2003 22:06:00 -0400
---> Reporting the results (+:done / -:ignored / *:skipped / !:failed)
- lang/ruby16 (ruby-1.6.8.2003.04.19)
- net/cvsup-without-gui (cvsup-without-gui-16.1h)
+ lang/ruby16-shim-ruby18 (ruby-shim-ruby18-1.8.0.p2.2003.04.19)
+ databases/ruby-bdb1 (ruby-bdb1-0.1.9)
- sysutils/portupgrade (portupgrade-20030723)
- www/lynx (lynx-2.8.4.1d)
---> Session ended at: Sun, 17 Aug 2003 22:06:02 -0400 (consumed 00:00:02)


我们来看看上面的输出。Portupgrade 进入已安装软件的ports目录中, 并将结果写入一个报告(report).
每一行报告显示了ports的目录, 安装的软件版本, 和一个是否需要升级的符号提示。这里有两个软件需要升级。它们的开头是以 +
开始。如果我与使用portversion查看相比较,我看到的是同样的结果, 但以不同的方式表示出来!

# portversion -l " Upgrading 'ruby-bdb1-0.1.9' to 'ruby-bdb1-0.2.1'
(databases/ruby/bdb1)
OK? [yes]

这将使用yes作为默认的回答, 也就是说你按Enter时, 你的回答是yes. 如果你觉得不升级这个ports,输入no.

最后一个参数是l, 或 log。 当某个ports不能安装软件而你想把错误信息发送给某人时使用它。如下面所示:

# portupgrade -rR ruby-shim-ruby18 -l logfile

你可能不想使用l , a 选项, 特别是当你有什么软件需要升级的时候。没有谁愿意要那么大的log file.
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91935/showart_2043792.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP