在一台新的 FreeBSD 11.2 机器上,我的/usr/ports
文件夹是空的。
跑步:
portsnap fetch extract
……正如手册中所讨论的那样,我充满/usr/ports
了内容。
如果我只想要Ports Collection中的一个东西,比如Postgres数据库服务器,那么这种巨大的下载是对网络流量、磁盘空间和时间的不必要浪费。
➥ 有没有办法只下载一个端口来安装?
如果没有,有没有办法只下载 Ports Collection 的一个子集?例如,只获取databases
子集合,所以我最终只得到一个/usr/ports/databases
?
extract
你不能用
portsnap
. 如果您已经有一个快照(您已经下载了它),您extract
只能部分端口树(portsnap extract databases/postgresql11-server
),请参阅man portsnap
:svn
如果您不想获取这些大文件,您可以
svn
使用portsnap
:参见手册的相关部分。
这
svn
是基本系统的一部分(/usr/bin/svnlite
-您可以使用别名或替换svn
为svnlite
),因此您不必安装devel/subversion。是的,而且很简单。它就在您正在查看的手册的这一章中。
您将需要安装端口树,手册解释了如何执行此操作。它提供了两种方法,
portsnap
并从源代码控制中检查树(甚至它的一部分,尽管跨包依赖关系会影响这一点)。(PC-BSD/TrueOS 用户使用 git 而不是 subversion。)切换到所需端口/包的单个目录,运行
make fetch
以获取源存档,然后运行make extract
以提取内容。您最终得到了端口树骨架,并且只有该端口的文件存在。提取也可以在更高级别执行,例如
/usr/ports/databases
,正如手册在 §4.5.1.1 中解释的那样。