用户工具

站点工具


software:p:portmaster

用 portmaster 自动安装预选的 ports

在一台机器上初次最简安装 FreeBSD(十几分钟搞定)之后就是编译安装各种各样的 ports,如果一个一个地来,将是枯燥的长时间等待。其实,编译安装 ports 是一个简单的过程 ———— 经过几个简单的步骤,就可以让机器“忙活”去,我们腾出时间干点别的有意义的事情。

我的做法通常是这样的……

更新源码和 ports tree

目的:更新源码和 ports tree 后,在文件 /home/IOU/temp/updatepkg 中列出需要升级的 ports。具体做法如下:

以 root 运行

# ./csup-all

其中,可执行文件 csup-all 的内容如下:

csup -L 2 stable-supfile && pkg_version -v | grep "<" > /home/IOU/temp/updatepkg

其中,文件 stable-supfile 如下:

*default host=cvsup.cn.freebsd.org                                                                               
#*default host=ftp2.tw.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_9
*default delete use-rel-suffix
*default compress
src-all
ports-all tag=.
doc-all tag=.

设置 /etc/make.conf

####################################                                                                             
## Purpose : system configuration ##
## File    : /etc/make.conf       ##
## Date    : Sep-01-2006          ##
## Author  : IOU                  ##
####################################

FETCH_CMD=lftpget -c
DISABLE_SIZE=yes

MASTER_SITE_BACKUP?= \
http://ports.hshh.org/${DIST_SUBDIR}\
ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}\
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}\
ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}\

MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
########## End ##########
# added by use.perl 2011-11-10 08:51:41
PERL_VERSION=5.12.4

利用 portmaster 自动安装 ports

首先,要先安装好 portmaster。去 /usr/ports/ports-mgmt/portmaster 里 make install clean 就好啦。

然后,以 root 运行

# portmaster --update-if-newer `cat ~/installed-port-list`

其中,文件 installed-port-list 是预装 ports 的列表。例如,我的预装列表是这个样子的。

textproc/bibtool                                                                                                 
math/fbm
audio/flite
games/gnuchess
archivers/p7zip
security/pgp
net/rsync
archivers/unrar
archivers/unzip
chinese/stardict-dict-zh_CN
misc/freebsd-doc-zh_cn
textproc/wordnet
print/auctex
multimedia/beep-media-player
sysutils/conky
graphics/djvulibre
math/ess
textproc/flex
x11-wm/fvwm2
graphics/gimp
print/gv
math/igraph
print/latex-beamer
print/latex-cjk
print/texpower
print/latex2slides
ftp/lftp
math/maxima
math/jags
multimedia/mplayer
textproc/nltk
www/opera
ports-mgmt/pkg_cutleaves
textproc/prosper
math/py-gnuplot
math/py-igraph
math/py-matplotlib
math/py-networkx
math/py-numeric
science/py-scipy
deskutils/remind
math/rpy
x11/rxvt-unicode
textproc/sdcv
audio/sphinx3
deskutils/tpbeditors/vim
x11-fonts/wqy
games/xboard
x11/xlockmore
x11-fonts/xlsfonts
x11/xmag
x11/xorg
chinese/fcitx
chinese/xpdf

需要花几分钟完成 make config 的选项,我几乎用缺省的。然后,portmaster 建立起这些 prots 的依存关系,问你是否继续安装。选 yes 后,可以去睡觉或者干别的事情了。几个小时后(安装时间要看你预装 ports 的多少,我的列表全部安装至少需要十个小时),回来再看,ports 编译安装完毕。

需注意的事项

  • /etc/make.conf 必须设置好,有时由于不能 fetch 安装源码文件,portmaster 会“卡”在某个 port 上。
  • 预装 ports 的文件 installed-port-list 毋须手写,以 root 运行下面的命令即可得到。
portmaster --list-origins > ~/installed-port-list
  • 有的 ports 的安装过程中,需要用户回答 yes or no。如果不想被这个打扰,可以用
# portmaster -y `cat ~/installed-port-list`
/data/vhosts/wiki-data/pages/software/p/portmaster.txt · 最后更改: 2012/01/05 08:22 由 IOU