FreeBsd 更新ports 的简单方法
以下就是portsnap的几种简单用法:
* 第一次使用可以:portsnap fetch extract
* 以后使用只要:portsnap fetch update
* 放在cron里运行:portsnap cron
另外:
更新ports后,如果运行make search name=xxx不成功,请在/usr/ports下运行make fetchindex。
更新ports后,如果运行make search name=xxx不成功,请在/usr/ports下运行make fetchindex。
感觉FreeBSD 6.0最方便的改进就是增加了portsnap这个很方便的升级port tree软件,
以前用恼人的portupgrade做port tree升级的时候总是感觉有点缺陷,方便性不够,
而且做成crontab总是担心。
现在FreeBSD 6.0下有了portsnap这个方便的工具,升级port tree就十分方便。
以下就是portsnap的几种简单用法:
第一次使用可以:portsnap fetch extract
以后使用只要:portsnap fetch update
放在cron里运行:portsnap cron
以下对比是portgrade的麻烦几步:
/usr/ports/sysutils/portgrade/make install clean
/usr/ports/net/cvsup/cvsup-without-gui/make install clean
vi ports-supfile
cvsup -g -L 2 ports-supfile
portsdb -Uu
pkgdb -F
portupgrade -acCv
portsnap的服务器列表配置文件在/etc/portsnap.conf只要修改SERVERNAME=这个选项可以用离你最近的portsnap服务器。
portsnap真的十分方便,用FreeBSD 6.0的朋友们都用portsnap来升级port tree吧,一起丢弃麻烦的portupgrade。
地址: portsnap.hshh.org
使用方法:
/etc/portsnap.conf 里面更改
SERVERNAME=portsnap.hshh.org
portsnap简介:
portsnap从6.0开始引进系统,给与用户方便的更新系统ports
portsnap的命令比较少
fetch 获取数据
extract 释放全部ports
update 更新ports
第一次使用可以 portsnap fetch extract
以后使用可以 portsnap fetch update
如果写在cron可以用 portsnap cron update
Freebsd 下如何最有效率的安装软件
FreeBSD的默认下载工具是fetch,既慢又不好用。在FreeBSD下安装软件有一些很有效率的方式,下面就给大家介绍一下。
Ports机制
首先,FreeBSD下最有特色的软件安装和升级机制就是ports,既方便又高效。下面我们从ports套件的安装开始讲起,让你细致的了解有关ports的每一个细节
一、ports套件的安装
①我的FreeBSD 8.0-release是最小化安装,所以既没有ports,也没有/usr/ports目录。选择启用ports的话,需要在root下输入"sysinstall"来安装它:
输入sysinstall --> 选择Configure --> Distributions --> ports,然后安装即可。
②ports的默认路径是/usr/ports。这个ports的根目录下面有很多的文件夹及子文件夹,组成一个树状目录,包含大量ports下的软件。比如mail是邮件服务软件,games是游戏,www代表web服务软件,databases则是数据库软件。
[[email protected] /usr/ports]# cd www
[[email protected] /usr/ports/www]# ls -d apache*
apache-contrib apache13 apache13-modssl+ipv6
apache-forrest apache13+ipv6 apache13-ssl
apache-jserv apache13-modperl apache20
apache-mode.el apache13-modssl apache22
如果你需要安装什么软件,只要进入当前目录,然后“make install clean”即可。
[[email protected] ~]# cd /usr/ports/www/apache22
[[email protected] /usr/ports/www/apache22] make install clean
/usr/ports/distfiles是存放软件包的文件夹。ports会先检查/usr/ports/distfiles目录内有没有这个软件包,如果没有它就会自动从网上下载安装。
二、加速ports的升级速度
ports从网上下载软件包自动安装,那么从那里下载呢?首先,我们需要安装axel来取代默认的下载工具fetch,这样可以提高ports的安装速度:
cd /usr/ports/ftp/axel
make install
然后,我们需要一个源地址管理。跟ubuntu上的/etc/source.list文件一样,freebsd用的文件是/etc/make.conf,我们可以修改其文件,达到加速下载的目的。
#修改 /et/make.conf
vi /etc/make.conf
#加入以下内容
FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=\
http://ports.hshh.org/${DIST_SUBDIR}/\
http://ports.cn.freebsd.org/${DIST_SUBDIR}/\
ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
这样处理后,在公司的网络环境下,FreeBSD的下载速度明显提高了,有时居然能达到1M/s,这样升级及安装软件方便极了;呵呵,终于可以摆脱fetch的龟速了。
三、更新ports目录树
既然ports的树目录全部下载到本地,那么即使FreeBSD有新的软件包或者添置了新的软件,本地目录树也不会更新。所以,我们每隔一段时间需要更新本地目录树。我来介绍一种在FreeBSD中方便、快捷的更新ports的方法:使用portsnap来更新ports目录树。
①配置portsnap:
我们使用portsnap,首先要设置一下它的配置文件,位于/etc/portsnap.conf:
[[email protected] /usr/ports]# vi /etc/portsnap.conf
把
SERVERNAME=portsnap.freebsd.org
修改成:
SERVERNAME=portsnap.hshh.org
这个是他的更新服务器。另外还有几个国内比较快的portsnap服务器:
portsnap.hshh.org
portsnap2.hshh.org
portsnap3.hshh.org (网通)
portsnap4.hshh.org
②首次使用portsnap:
在你的FreeBSD首次使用portsnap必须执行下面2步:
[[email protected] ~]# portsnap fetch
[[email protected] ~]# portsnap extract
portsnap fecth是从网上获取portsnap快照的最新压缩包,听闻这个压缩包官方没小时更新一次。
portsnap extract 则是把这个压缩包创立到/usr/ports。哪怕你以前已经手工安装了ports,他也会重新创立一次。
(注:这2步可以合成使用,指令为 [[email protected] ~]# portsnap fetch extract)
③以后使用portsnap更新,只需要执行下面2步:
[[email protected] ~]# portsnap fetch
[[email protected] ~]# portsnap update
同样,这2步可以合成使用:[[email protected] ~]# portsnap fetch update
portsnap第一次运行extract命令时,可能需要一段时间,以后更新使用update的时候,速度就快很多了。