分类: BSD
2014-09-28 16:05:01
原文地址:pkg ports使用及配置 作者:GOD_Father
国内有快点的packagesite
setenv PACKAGEROOT "" OR
setenv PACKAGESITE ""
在/etc/profile 里设
export PACKAGESITE OR
export PACKAGEROOT
找某个程序的ports源路径:
#whereis ****
产生所有port信息的索引文件:
# cd /usr/ports
# make print-index > index.txt
也可以产生所有Ports的描述文件,在/usr/ports目录下产生一系列HTML超文本文件:
# cd /usr/ports
# make readmes
package安装方式
->安装 pkg_add package name
->移除 pkg_delete package name
#注意:只有.tgz的才是package ,.tar.gz的是source
如何只抓取 tarball
cd /usr/ports/editors/joe/
make fetch #仅会将 joe 的 tarball下载下来
make fetch-recursive #会将此 ports 的 tarball 与所有须要的其他 ports 的 tarball,下载至 /usr/ports/distfiles/ 目录下
全部所有 ports 的 tarball
cd /usr/ports/
make fetch
仅仅下载包,解包,而不安装:
# cd /usr/ports/directory
# make extract
预先知道需要那些包,才能安装这个软件:
# cd /usr/ports/directory
# make fetch-list
如何移除已安装的 ports
cd /usr/ports/editors/joe/
make deinstall
或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete joe-{version}
#如果有相依性无法删除的话, pkg_delete -f joe-{version} 强制删除
如何以关键字搜寻 ports
cd /usr/ports/
make search key=ldap
make search name=ldap
#知道软件名用这个
如何升级已安装的 ports
cd /var/db/pkg/
pkg_delete joe-{version}
cd /usr/ports/editors/joe/
make install
或是
cd /usr/ports/editors/joe/
make clean
make reinstall
查询目前系统安装了哪些套件
pkg_info
查询某个档案是属於哪些套件
pkg_info -W /usr/local/bin/joe
查询某个套件安装了哪些档案
pkg_info -xL /var/db/pkg/joe-{version}
列出所有可以升级的 ports
pkg_version -c
如何手动加入编译 ports 的叁数
cd /usr/ports/ftp/pure-ftpd/
make CONFIGURE_ARGS+="-without-inetd" install
如何指定 ports 的安装路径
cd /usr/ports/editors/joe/
make PREFIX=/usr install
初始化一个port
# cd /usr/ports/directory
# make rmconfig
# make config
用PORTS制作一个定制二进制包:
# cd /usr/ports/somewhere/frobble
# make extract
# cd work/frobble-2.8
[Apply your patches]
# cd ../..
# make package
其它
pkg_add joe-{version}.tgz #安装 packages
pkg_add -f joe-{version}.tgz #强制安装 packages
cd /usr/ports/ && make index #更新 INDEX 对照表
cd /usr/ports
make fetchindex
修改prots默认fetch下载路径:
echo 'MASTER_SITE_BACKUP?=ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/' >> /etc/make.conf
echo 'MASTER_SITE_OVERRIDE?= $(MASTER_SITE_BACKUP)' >> /etc/make.conf