注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

phperwuhan的博客

记载一个phper的历程!phperwuhan.blog.163.com

 
 
 

日志

 
 

Freebsd port和packages环境下载变量设置  

2010-05-20 09:25:21|  分类: Freebsd |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://hi.baidu.com/configuration/blog/item/fff8fcf2c201d811b07ec5aa.html

make readmes
make pretty-print-build-depends-list 列出依赖性包
make search前需要make index或者make fetch-index来得到INDEX
make search
1. 在INDEX文件中搜索port名、注释、dependencies、path、bdeps(build-time dependcy),rdeps(run-time dependcy)
2.排除某部分xname、xkey
* cd /usr/ports && make search name=pear- xbdeps=apache
查找所有的名字含有pear-并且build-time中不含apache的port,
* cd /usr/ports && make search name=pear- xname='ht(tp|ml)'
查找所有的名字含有pear-但是不含有http或者html的port
* make search key=apache display=name,path,info keylim=1
搜索在name,path,info,中含有apache的项,忽略其他项(仅显示这三项)

====== Ports 相关环境变量 ========
PORTSDIR    ports路径(默认/usr/ports)
WRKDIRPREFIX   work目录
DISTDIR   distfiles目录(默认/usr/ports/distfiles)
PACKAGES   make packages后生成的packages的目录(默认/usr/ports/packages)
PREFIX    port的安装路径,一般为/usr/local或者/usr/X11R6
MASTER_SITES  
PATCH_SITES
MASTER_SITE_FREEBSD 如果设置了,会到FreeBSD主站去下载所有的文件
MASTER_SITE_OVERRIDE 首先到这些站去下载(不是只)first
MASTER_SITE_BACKUP 最后到这些站去下载(不是只)last
MASTER_SITE_INDEX 到哪下载INDEX文件(默认http://www.FreeBSD.org/ports)
FETCHINDEX   下载INDEX的命令(默认fetch -am)
NOCLEANDEPENDS 不clean依赖包
FETCH_CMD   下载文件命令(默认为/usr/bin/fetch -ARr)
FORCE_PKG_REGISTER 覆盖已经注册的包
MOTIFLIB   libXm.{a,so}路径
OPTIONS   显示某port的所有WITH_*项
DISABLE_VULNERABILITIES 禁止安全弱点检查

===== pkg_* ====
pkg_add -rv
pkg_add -f
pkg_add相关环境变量
1)PKG_TMPDIR pkg_add包的临时文件存放目录,默认为/tmp-->/var/tmp-->/usr/tmp
2)PACKAGEROOT pkg_add -r下载文件的地址
setenv PACKAGEROOT 注意最后的/
访问网址超出本站范围,不能确定是否安全
继续访问 取消访问注意最后的/
3)PACKAGESITE 安装包的具体地址,一般用在你想要安装某个特定的版本的包时:
setenv PACKAGESITE ?
访问网址超出本站范围,不能确定是否安全
继续访问 取消访问?
Release/packages/All

pkg_delete -f
pkg_info -aR 列出所有已经安装的package、ports已经版本(-R显示Required包)
pkg_info -xc apache这里仅仅输入包名而不需要指定版本了。-c仅显示注释
pkg_info -xD apache显示安装信息,比如:在rc.conf中加入apache2_enable="yes"
pkg_info -xL apache显示所有已经安装的文件
pkg_info -W /usr/local/sbin/httpd 某个包来之哪个packages
pkg_info -as 显示每个包所使用的空间大小
pkg_version -v 列出已经安装的非基本包(基于index文件进行版本比较/usr/ports/INDEX-5)
= current
< 已经安装的比current的老
> 已经安装的比current的新
? 已经安装的在index文件中找不到
* index文件中有多个这样的文件
! 安装的包在index可以找到,但不知道什么原因不能进行版本比较
pkg_version -vl "<"
pkg_version -L "=" 反向匹配,得到所有!=的包

====== make.conf =====
此文件可以控制在 /usr/src, /usr/ports and /usr/doc进行make的很多行为。
详细的信息:man make.conf和 /usr/share/examples/etc/make.conf.此文件定义了一些宏,在make时会自动生效,而不需要你去修改每一个Makefile。

常用设置:
1、CPUTYPE=i686或者比如pentium4[m]
NOTE:这里可以设置成CPUTYPE?=i686,?=允许为不同的CPU类型进行buildworld(否则你可能失败)
2、CFLAGS= -O -pipe 设置编译器编译C代码时的参数.优化参数-O -O2不建议(或者不支持)在编译内核和world时使用。
3、CXXFLAGS+= -fconserve-space 设置编译器编译C++代码时的参数.因为这个选项默认参数值为CFLAGS的值,所以这里应该使用+=而不是=
4、COPTFLAGS= -O -pipe编译内核时使用的优化选项,应该使用这个而不是CFLAGS:


5.CVSup升级相关设置:
SUP_UPDATE=      yes
SUP=             /usr/local/bin/cvsup
SUPFLAGS=        -g -L 2
SUPHOST=         cvsup.uk.FreeBSD.org
SUPFILE=         /usr/share/examples/cvsup/standard-supfile
PORTSSUPFILE=    /usr/share/examples/cvsup/ports-supfile
DOCSUPFILE=      /usr/share/examples/cvsup/doc-supfile
设置好这些后就可以进入/usr/src或者/usr/ports,/usr/doc进行make update了

#### ports仓库管理 #####
如果你的网络有多台FreeBSD的服务器,那么解决方案有:
1、仅在一台服务器上安装ports,其他所有的服务器可以使用该服务器生成的package来进行安装:
Package Server(NFS Server)端
% mkdir /usr/ports/packages
% cd /usr/ports/www/lynx
% make package
% cd /usr/ports/mail/getmail
% make package
% /stand/sysinstall -->启用NFS Server,写入:
/usr/ports/packages -network 192.168.2.0 -mask 255.255.255.0
% shutdown -r now
% sockstat | grep nfs

Packages Client(NFS Client)端:
% stand/sysinstall选择NFS client
% nfsiod -n 4
% mount 192.168.2.12:/usr/ports/packages /mnt
% ls /mnt
注:这样Client需要装一个软件时,需要先在Server端make出package,但是这个过程要求Server也把此软件装上,可能你并不需要它,只有装完再pkg_delete之。

2.可以使用CVSupd搭建FreeBSD mirror,Client都装上ports,使用自己搭建的Mirror进行升级,安装,速度很快。

3.不可以使用一台服务器的ports来供所有的Client进行安装,会导致失败!

  评论这张
 
阅读(496)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017