Faça o download de apenas uma porta da coleção Ports do FreeBSD

1

Em uma máquina nova do FreeBSD 11.2, minha pasta /usr/ports está vazia.

Em exibição:

portsnap fetch extract

… como discutido no Manual resulta no preenchimento do meu /usr/ports com um show de conteúdo.

Se eu quiser apenas uma coisa da Coleção de Portas , como a Postgres , esse download enorme é um desperdício desnecessário de tráfego de rede, espaço em disco e tempo.

➥ Existe uma maneira de baixar apenas uma porta para instalar?

Se não, existe uma maneira de baixar apenas um subconjunto da Coleção de Portas? Por exemplo, obtenha apenas a subcolheção databases , por isso acabo com apenas /usr/ports/databases ?

    
por Basil Bourque 25.11.2018 / 06:20

2 respostas

1

extract

Você não pode fazer isso com portsnap . Se você já tiver um instantâneo (você já o fez o download), você poderá extract apenas partes da árvore de portes ( portsnap extract databases/postgresql11-server ), consulte 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

Se você não quiser buscar esses arquivos grandes, use svn em vez de portsnap :

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

Veja a parte relevante do manual .

O svn faz parte do sistema básico ( /usr/bin/svnlite - você pode usar um alias ou substituir svn to svnlite ) para não precisar instalar devel/subversion .

    
por 25.11.2018 / 11:31
0

Sim e é simples. Está no mesmo capítulo do Manual que você está vendo.

Você precisará da árvore de ports instalada, que o Handbook explica como fazer. Ele fornece duas maneiras, portsnap e a verificação da árvore (ou até mesmo parte dela, embora as dependências entre pacotes sejam contra isso) do controle de origem. (Os usuários do PC-BSD / TrueOS usam o git em vez do subversion.)

Mude para o diretório individual da porta / pacote desejado, execute make fetch para buscar o (s) arquivo (s) de origem e execute make extract para extrair o conteúdo. Você acaba com o esqueleto da árvore de ports e apenas os arquivos para aquela porta presente.

Uma busca também pode ser realizada em um nível mais alto, como /usr/ports/databases , como explica o Manual em §4.5.1.1.

    
por 25.11.2018 / 09:27