Como baixar pacotes de macports separadamente?


1

Gostaria de baixar uma extensa lista de macportspacotes por meio de um acelerador e instalá-los offline.

Usando o comando a seguir, foi obtida a lista de pacotes necessários,

 port echo rpedof:<pkg_name> and not installed

Mas não tenho certeza de como proceder além disso. Eu poderia encontrar meticulosamente o porto de cada um, mas havia muitos.

Tudo o que eu preciso é ter uma saída na forma de listas de URLs para cada pacote dependente. Eu poderei fazer o resto com scripts de download.

Há alguma maneira de fazer isso?


O que o acelerador aceleraria?
Mark

@ Mark, os aceleradores de terminal geralmente baixam pacotes mais rapidamente do que a velocidade média de download do MacPorts. Eu uso <code> axel </code> para uso geral e <code> aria2c </code> quando há muitos redirecionamentos e quando senhas ftp devem ser fornecidas.
EBE Isaac

O que aceleraria em um download de macports?
Mark

@ Mark: Bem, o MacPorts baixa src. arquivos para cada porta (geralmente em tar.gz ou tar.bz2) de vários repositórios disponíveis. O mais usado seria distfiles.macports.org . Você só saberia os locais exatos possíveis do URL quando tentar buscar o pacote (isso também pode ser feito offline). Mas isso lista apenas os URLs disponíveis para o pacote no argumento - não suas dependências. Você pode tentar buscar o caminho completo para cada pacote de dependência 1 por 1, mas isso não é eficiente quando você tem muitas dependências. Você prefere permitir que o MacPorts faça o que é habitual, em vez de fazer isso.
EBE Isaac

Respostas:


1

Você pode usar port fetch rdepof:$pkgname and not installedpara acionar apenas o download do código-fonte. Como você deseja usar aceleradores de download, isso provavelmente não faz o que você deseja.

Se você deseja apenas obter os URLs para download, veja port distfiles rdepof:$pkgname and not installede analise sua saída. Note que você pode ter que lidar com portas buscando código fonte no Git / Subversion / etc.

Você pode usar um script que escrevi há pouco tempo como ponto de partida; ele já analisa a saída corretamente e inicia o download (usando curl); no entanto, baixa todos os URLs da lista de espelhos, não apenas um deles. O script está em https://trac.macports.org/browser/contrib/port-checkmirrors/port-checkmirrors .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.