O APT Mirror destina-se a espelhar todo o repositório a partir de apenas mirror.list entradas.
Em poucas frases apt-mirror funciona assim:
-
Obtém arquivos de índice do repositório e os processa (o mesmo processo que
apt update). -
Baixa arquivos de arquivos de índice coletados, se eles não existirem localmente. A estrutura da pasta é preservada nesse processo (semelhante a
wget -c -x <url_file_array>).
Para informações mais detalhadas sobre como apt-mirror funciona e para confirmar que é impossível espelhar parcialmente o repositório para obter apenas versões mais recentes , você pode consultar O código-fonte do apt-mirror (escrito em Perl).
Então, o que fazer para obter versões mais recentes de grandes repositórios?
Minha solução temporária para sua situação (por exemplo, gitlab-ce repository para o Ubuntu 18.04 - Bionic):
-
Digite o caminho para o espelhamento:
cd /path/to/mirroring -
Backup
sources.list:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak -
Abra e comente todas as linhas em
sources.list:sudo nano /etc/apt/sources.list -
Adicione seu (s) repositório (s) desejado (s) para espelhamento:
4.1. Adicione isto a
sources.liste saia do arquivo:deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main4.2. Adicione o GPG:
curl -L https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | sudo apt-key add - -
Atualizar arquivos de índice:
sudo apt update -
Obtenha o url dos últimos pacotes do repositório adicionado e grave-os no arquivo:
sudo apt-get install '*' --allow-unauthenticated -y --print-uris | grep -o '\'http.*\' | tr "\'" " " > download-list -
Faça o download dos urls com a estrutura de pastas, porque a opção
-cnão fará o download dos arquivos existentes:wget -i download-list -c -xAproveite !!!
Para reverter tudo de volta, basta substituir o arquivo
sources.listpelo antigosources.list.bake fazer:sudo apt update