Minha recomendação é fazer túneis ssh, eu suponho que você esteja logando no servidor com uma conexão SSH de uma máquina que tenha conexão com a internet, daí você pode tentar usar túneis reversos para ter acesso pelo menos aos seus repos desejados ... Por favor, siga estes passos:
- Faça login no seu servidor com o seguinte comando:
ssh -R 127.0.0.1:9800:yourrepo.address:80 youruser@ServerWithoutInternetConnectionAddress
- Uma vez logado no seu servidor, adicione a seguinte linha ao / etc / hosts:
127.0.0.1 yourrepo.adress
- Em seu arquivo de configuração do repositório em
/etc/apt/sources.list
ou em /etc/apt/sources.list.d/repofile.list
, modifique seu endereço de repositório adicionando a porta usada (usei 9800, embora possa ser qualquer porta maior que 1023):
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-mirror/ xenial main
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-mirror/ xenial-updates main
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-java/ xenial main
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-production/ xenial multiverse
Agora apt-get update
e apt-get install
devem estar funcionando ... Por favor, considere que você pode ter tantos túneis quanto repositórios, você só precisa mudar sua porta de origem.
por exemplo. considere que você tem repositório oficial do ubuntu em /etc/apt/sources.list
e outro em /etc/apt/sources.list.d/repofile.list
eu posso usar porta para 9801 para us.archive.ubuntu.com
e porta 9800 para /etc/apt/sources.list.d/repofile.list
da seguinte forma:
/etc/apt/sources.list
deb http://us.archive.ubuntu.com:9801/ubuntu/ xenial main restricted universe multiverse
deb-src http://us.archive.ubuntu.com:9801/ubuntu/ xenial main restricted multiverse
deb http://us.archive.ubuntu.com:9801/ubuntu/ xenial-security main restricted universe multiverse
deb http://us.archive.ubuntu.com:9801/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://us.archive.ubuntu.com:9801/ubuntu/ xenial-security main restricted multiverse
deb-src http://us.archive.ubuntu.com:9801/ubuntu/ xenial-updates main restricted multiverse
/etc/apt/sources.list
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-mirror/ xenial main
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-mirror/ xenial-updates main
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-java/ xenial main
deb [arch=amd64] http://yourrepo.address:9800/ubuntu-production/ xenial multiverse
Adicionando isso a /etc/hosts
127.0.0.1 yourrepo.adress us.archive.ubuntu.com
E faça o login de uma máquina com conexão à internet da seguinte forma:
ssh -R 127.0.0.1:9800:yourrepo.address:80 -R 127.0.0.1:9801:us.archive.ubuntu.com:80 youruser@ServerWithoutInternetConnectionAddress
PS: Considere que, se o seu repositório precisar de uma chave, você precisará extrair a chave (de uma máquina que tenha a chave apt-key export KEY_ID >> key.asc
e adicione-o usando o seguinte comando:
apt-key add key.asc