FreeBSD现在使用pkg来安装、查询、卸载软件了,但是它的具体配置却很少资料提及。现总结一下它的配置。
首先需要知道怎么样查看当前的配置,是去查看配置文件吗?不是,配置文件还不一定马上起效呢:
# pkg -vv
Version : 1.4.1
PKG_DBDIR = "/var/db/pkg";
PKG_CACHEDIR = "/var/cache/pkg";
PORTSDIR = "/usr/ports";
INDEXDIR = "";
INDEXFILE = "INDEX-10";
HANDLE_RC_SCRIPTS = false;
ASSUME_ALWAYS_YES = false;
REPOS_DIR [
"/etc/pkg/",
"/usr/local/etc/pkg/repos/",
]
PLIST_KEYWORDS_DIR = "";
SYSLOG = true;
ABI = "FreeBSD:10:amd64";
ALTABI = "freebsd:10:x86:64";
DEVELOPER_MODE = false;
VULNXML_SITE = "http://vuxml.freebsd.org/freebsd/vuln.xml.bz2";
FETCH_RETRY = 3;
PKG_PLUGINS_DIR = "/usr/local/lib/pkg/";
PKG_ENABLE_PLUGINS = true;
PLUGINS [
]
DEBUG_SCRIPTS = false;
PLUGINS_CONF_DIR = "/usr/local/etc/pkg/";
PERMISSIVE = false;
REPO_AUTOUPDATE = true;
NAMESERVER = "";
EVENT_PIPE = "";
FETCH_TIMEOUT = 30;
UNSET_TIMESTAMP = false;
SSH_RESTRICT_DIR = "";
PKG_ENV {
}
PKG_SSH_ARGS = "";
DEBUG_LEVEL = 0;
ALIAS {
}
CUDF_SOLVER = "";
SAT_SOLVER = "";
RUN_SCRIPTS = true;
CASE_SENSITIVE_MATCH = false;
LOCK_WAIT = 1;
LOCK_RETRIES = 5;
SQLITE_PROFILE = false;
WORKERS_COUNT = 0;
READ_LOCK = false;
PLIST_ACCEPT_DIRECTORIES = false;
IP_VERSION = 0;
AUTOMERGE = true;
VERSION_SOURCE = "";
CONSERVATIVE_UPGRADE = false;
Repositories:
FreeBSD: {
url : "pkg+http://pkg.tw.FreeBSD.org/FreeBSD:10:amd64/latest",
enabled : yes,
mirror_type : "SRV",
signature_type : "FINGERPRINTS",
fingerprints : "/usr/share/keys/pkg"
}
pkg -vv命令显示当前的pkg配置(你没看错,确实是两个v,否则只显示很少的信息),主要分了两段,其实对应两个文件,上半部分是一些变量,下面是仓库的配置。
上面的部分对应的文件是/usr/local/etc/pkg.conf,这里面主要是pkg功能方面的配置,比如pkg本身的位置,cache的位置,当前的版本号,仓库配置文件位置等等,还有连网超时时间等,这些都比较好理解,就不再一一解释了。
pkg.conf最下方还可以定义了很大一部分的别名(alias),以后就不需要那么输入那么多的字了,比如官方的配置示例文件中:
ALIAS : {
all-depends: query %dn-%dv,
annotations: info -A,
build-depends: info -qd,
download: fetch,
iinfo: info -ix,
cinfo: info -Cx,
isearch: search -ix,
csearch: search -Cx,
leaf: query -e "%a == 0" "%n-%v",
比如以后在使用pkg query -e "%a == 0" "%n-%v"的时候,就可以直接用pkg leaf代替了,工作量少了许多。
在pkg -vv信息的下面Repositories部分,对应的是pkg的仓库,这个配置对应/etc/pkg/FreeBSD.conf,当然也可以在上面提到的pkg.conf中改掉这个位置。
这个文件没有什么好说的,内容也就是上面显示的那些,基本上是一字不差地照搬的,我们可以使用的只有第一行:
url : "pkg+http://pkg.tw.FreeBSD.org/FreeBSD:10:amd64/latest",
默认的为pkg.FreeBSD.org,在我们神奇的国度里,最好还是改为日本或台湾的镜像吧,速度不是一个级别的。
另外注意,这个协议部分,是pkg+http的,至少说明三点:
(1)pkg和http两种协议都可以;
(2)pkg是自己写的一种协议,不是通用的协议;
(3)既然是http,那么你就可以用浏览器去浏览和下载,可以把常用的一些软件包下载下来备用,这样能方便不少。
该贴由hui.chen转至本版2015-1-5 10:17:03