Como baixar manualmente arquivos individuais do repositório de pacotes OpenIndiana (ou Solaris)?

3

Para um servidor em um ambiente off-line, como eu baixaria um pacote do link ? (ou o mais conhecido link )

Existe um link de instalação que faz o download de um arquivo p5i , com informações de download legíveis por máquina, mas não há URL http para o (s) arquivo (s) de pacote que pode ser baixado ou a listagem de arquivos.

    
por George Bailey 09.01.2012 / 17:35

6 respostas

2

O manifesto está diretamente disponível link .

A única coisa que resta é descobrir como obter esses arquivos individuais, listados desta maneira

file b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 chash=f3998eb4b0aa99b3c54682f1a765e19215e15622 group=bin mode=0755 owner=root path=usr/bin/sccsdiff pkg.csize=1620 pkg.size=3798
file 9b1eb9d425c9de60eba5759368160e709fb51143 chash=0de4a47b23c1ac5121c9216ec854b197c18bfe24 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/ad pkg.csize=2201 pkg.size=5762
file 0f594094532464eab978e00d4d3e18519538fe7b chash=e6685b5da6534ef06ad4aa51c4655fe72f98a2f1 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/bd pkg.csize=1082 pkg.size=2089
file a0d207452b8fa6dd62661cd8349fe92ae415de10 chash=67fd628d7578b7fd907eb75b973c91aeb7b06fee group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cb pkg.csize=805 pkg.size=1498
file 6267fe29483aaffdd5ca7dadab0866e3c23024f5 chash=d769eee8c86a2aefb0af1abb6d55dd559b26864e group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cm pkg.csize=1581 pkg.size=3341
file 18691bfa26474c1133b6ac55897f15bba8cf669a chash=55a97bca8ce191bae3621ace062f3192bf0def18 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cmds pkg.csize=2279 pkg.size=6573
file 614eef6da7707fa4c77e5a0c958ec42eb1f7c68c chash=36df818d773e392d585fd58cf65d3dab93466528 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/co pkg.csize=2284 pkg.size=5010
file 50e3e4dd1731dd07e7633afab6da1825527a312d chash=8e98dd2c2a45cc35993e3c373ecace197b65e900 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/de pkg.csize=2108 pkg.size=4651

Editar: Arquivos individuais podem ser baixados com um URL como este exemplo: link

Apenas uma coisa permanece. Como instalar esses arquivos.

    
por 09.01.2012 / 19:44
2

Os clientes IPS só podem instalar pacotes de repositórios IPS. Então, se você não está interessado em adicionar o repositório remoto como editor, felizmente há outra opção, que é criar um arquivo IPS (p5p).

Tenha em mente que um arquivo IPS não é como um Linux RPM. Você não pode, por exemplo, instalar software diretamente de um arquivo IPS. Mas você pode copiar o arquivo para outros sistemas, como um sistema sem rede. Pense em um arquivo IPS como um repositório portátil porque é assim que você o usará. É somente depois de criar um repositório local a partir do arquivo do IPS, você pode consumir pacotes dele.

Os arquivos IPS permitem que você:

  • Faça o download de um ou mais pacotes (junto com todas as dependências necessárias) em um arquivo archive p5p.
  • Crie um repositório local com base no conteúdo do arquivo morto p5p.
  • Instalar pacotes do repositório criado localmente.

Por exemplo, você está interessado em testar a versão mais recente de um pacote. Então faça algo assim:

pkgrecv -s http://example.com:10000 -d ~/firefox_test.p5p -a -r pkg://userland/web/browser/[email protected]:20160817T064143Z

Verifique o conteúdo do pacote com: pkgrepo -s ~/firefox_test.p5p list ou você pode usar: pkg list -f -g ~/firefox_test.p5p

Adicione o arquivo IPS como um repositório local com: pkg set-publisher -p ~/firefox_test.p5p

E, finalmente, para instalar uma versão específica do firefox, use: pkg install [email protected]:20160817T064143

    
por 21.08.2016 / 05:56
1

A maneira mais fácil é usar pkgrecv para extrair o pacote de um repositório de origem para um repositório local. O IPS é um sistema de pacotes de rede, portanto, você não pode atualmente instalar pacotes de um único arquivo, como faria com os fluxos de dados SVr4. A última vez que ouvi (antes da aquisição da Oracle) foi que os caras do pkg5 estavam trabalhando em um formato no disco, mas não acho que foi finalizado. Eu posso verificar com um dos desenvolvedores se você quiser. De qualquer forma, é por isso.

O que você precisa fazer

  1. Crie um repositório de pacotes locais:

    pkgrepo create /path/to/localrepo
    
  2. Agarre pacotes do repositório remoto:

    pkgrecv -s http://pkg.openindiana.org/dev -d /path/to/localrepo <FMRI_or_glob_of_packages>
    

Já faz um tempo desde que eu fiz isso (a última vez foi quando o OpenSolaris estava prestes a ser desligado e nós [OpenIndiana] pegamos pacotes do OpenSolaris / dev), mas você pode precisar configurar o editor do seu repositório local para seja o editor openindiana.org:

pkgrepo set -s publisher/prefix=openindiana.org /path/to/localrepo

Inicie uma instância pkg.depotd para que pkg possa usá-la:

pkg.depotd -d /path/to/localrepo -p 10000

(Você provavelmente deseja configurar isso no SMF. Siga o o howto no wiki OpenIndiana.)

Em seguida, adicione seu repositório local como uma origem do openindiana.org:

pkg set-publisher -g http://localhost:10000 openindiana.org

E finalmente ...

Não, realmente não há uma maneira mais fácil de fazer isso. Esta é uma das razões pelas quais não gosto da mudança para o IPS.

    
por 09.01.2012 / 23:11
1

Cada arquivo individual no IPS é compactado usando gzip , portanto, você pode usar manualmente curl e gzip -dc para descompactar e descompactar o arquivo.

Por exemplo: buscando sccsdiff (arquivo sha1 hash b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 ) como mencionado por George Bailey ...

curl http://pkg.openindiana.org/dev/file/0/b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 | gzip -dc > sccsdiff

Você também pode verificar o hash sha1 do arquivo descompactado ...

$ sha1sum sccsdiff
b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7  sccsdiff

Mais informações disponíveis no wiki OmniOS: Buscando arquivos do pacote IPS sem o pkg (1)

    
por 22.01.2013 / 21:35
1

Eu criei um utilitário portátil para fazer essas coisas:

link

    
por 18.06.2015 / 22:44
1

Um pacote em um repositório IPS só faz sentido dentro do contexto de instalar o pacote através do comando pkg (1) na rede. Um pacote não é representado como um único arquivo dentro de um repositório IPS; em vez disso, o arquivo de manifesto de um pacote acompanha os vários bits. Meu entendimento é que isso permite atualizações eficientes, já que apenas arquivos alterados precisam ser transferidos.

Uma opção é espelhar o repositório IPS para o sistema local ou para outro sistema que seja acessível. Há instruções no antigo site do OpenSolaris e em Wiki do OpenIndiana . Já faz um tempo desde que eu espelhei um repo IPS, no entanto, não posso comentar sobre a precisão das instruções nesses links.

Existem outras opções, mas eu não as conheço bem.

    
por 09.01.2012 / 18:04