Como instalo o Python no Linux sem acesso à Internet?

0

Parte 1

Eu tenho o CentOS sem acesso à Internet. Eu tenho um contêiner docker baseado no Ubuntu. Eu quero instalar o Python dentro do contêiner do Docker. Eu baixei alguns arquivos .deb para instalar o Python 2.7. Eu tentei instalá-los com o apt-get. Mas esses comandos exigiam acesso à Internet. Eu usei o dpkg -i para instalar os pacotes. Eu uso dpkg -i libpython2.7-stdlib_2.7.6_8_amd64.deb . Eu então segui com o apt-get install -f. Eu sou solicitado com uma pergunta sim / não sobre pacotes extras. Eu escolhi Y. Então recebi um erro sobre não conseguir acessar alguns URLs. Isso não é surpreendente porque o servidor subjacente não pode acessar a Internet. Os URLs referem-se a python2.7-minimal_2.7.5-5ubuntu3_amd64.deb entre outros. Eu especificamente tenho esse arquivo .deb. Mas quando tento instalá-lo, recebo um erro sobre uma dependência não atendida do python2.7-minimal. Estou ciente de que isso não foi instalado. Eu quero isso instalado.

Como instalo o python2.7-minimal_2.7.6-amd64.deb no Docker?

Parte 2

Eu tentei solucionar o problema que não sei como resolver. Eu obtive o Python-2.7.11.tar.xz. São 12 MB. No contêiner Docker, tentei isso:

tar xvf Python-2.7.11.tar.xz

Mas recebo tar (child): xz: connect exec: No such file or directory

Verifiquei se o arquivo existe. De fato, quando eu digito o comando "tar xvf Python2.7" eu posso pressionar tab para completar o nome completo do arquivo. Existe um arquivo autônomo ou outro método off-line para instalar o Python?

Pedido final:

Idealmente, posso obter assistência para ambas as partes, mesmo que apenas uma precise funcionar.

    
por Kiran 02.04.2016 / 01:23

2 respostas

1

A solução de cache na resposta de Mark Smith é uma ótima ideia; Eu fiz isso com sucesso.

Outra solução, tendo em minha máquina conexão à Internet e conexão SSH para a VM é: Instale um proxy (squid) em minha máquina que tenha conexão SSH com as VMs com firewall. Declarar na VM com firewall um proxy local 127.0.0.1:3128 e fazer um túnel SSH dessa porta para a porta da minha máquina.

Dessa forma, você pode instalar, atualizar e corrigir dinamicamente.

    
por 02.04.2016 / 18:52
0

Eu tive que fazer isso (embora com pacotes diferentes, não Python) algumas vezes em máquinas de compilação que não têm permissão para ver a Internet e estão em uma parte diferente do prédio para minha máquina conectada à Internet. É um pouco doloroso.

Existem maneiras de listar recursivamente as dependências de um determinado pacote (algumas determinadas aqui ), para que você possa baixá-los todos de uma só vez, e minimizar os to-ing e fringing, mas na realidade eu acho o seguinte mais fácil:

  • Instale o mesmo sistema operacional em uma máquina virtual que pode ver a internet.
  • Instale o que você precisa nele.
  • Copie /var/cache/apt/archives/* para um CD (ou como você move as coisas para essa máquina) e, depois, você terá tudo o que precisa. Copie tudo em /var/cache/apt/archives em sua máquina de destino ou, se estiver tentando mantê-lo mínimo, faça-os um de cada vez conforme necessário.
por 02.04.2016 / 09:52