extract

extract

在新的 FreeBSD 11.2 机器上,我的/usr/ports文件夹是空的。

跑步:

portsnap fetch extract

…作为手册中讨论结果让我充满/usr/ports了内容。

如果我只想从中得到一件事宝姿系列, 如那个Postgres数据库服务器,这种巨大的下载是对网络流量、磁盘空间和时间的不必要的浪费。

➥ 有没有办法只下载一个端口来安装?

如果没有,有没有办法只下载 Ports Collection 的一个子集?例如,只获取databases子集合,所以我最终只得到一个/usr/ports/databases?

答案1

extract

你不能用 来做到这一点portsnap。如果您已经有快照(您已经下载了它),您只能访问extract端口树的一部分 ( portsnap extract databases/postgresql11-server),请参阅man portsnap

 path         For extract command only, operate only on parts of the ports                                                             

              tree starting with path.  (e.g. portsnap extract                                                                                  
              sysutils/port would extract sysutils/portsman,                                                                                    
              sysutils/portsnap, sysutils/portupgrade, etc.)

svn

如果您不想获取这些大文件,您可以使用以下命令svn代替portsnap

svn checkout https://svn.freebsd.org/ports/head/databases/postgresql11-server

请参阅手册的相关部分

svn是基本系统的一部分(/usr/bin/svnlite-您可以使用别名或替换svnsvnlite),因此您不必安装开发/颠覆

答案2

是的,而且很简单。它就在本书的章节中手册你正在看的。

您将需要安装 ports 树,其中手册解释了如何做。它提供了两种方法,portsnap从源代码控制中检查树(甚至是树的一部分,尽管跨包依赖关系对此产生不利影响)。 (PC-BSD/TrueOS 用户使用 git 而不是 subversion。)

更改为所需端口/包的单独目录,运行make fetch以获取源存档,然后运行make extract以提取内容。您最终会得到端口树骨架,并且仅存在该端口的文件。

也可以在更高级别执行获取,/usr/ports/databases例如手册§4.5.1.1 中进行了解释。

相关内容