J'essaie de configurer apt-mirror, cela fonctionne très bien pour ubuntu en amont, mais lorsque je l'utilise pour quelque chose comme GitLab, toutes les versions de paquet sont téléchargées.
Par exemple, gitlab-ce fait 72 Go, chaque version fait moins de 300 Mo. Comment puis-je conserver uniquement le dernier ou même les derniers 1 ou 2 derniers paquets, et non 459?
APT Mirror est conçu pour mettre en miroir tout le référentiel à partir de mirror.list
entrées uniquement.
En quelques phrases, apt-mirror
fonctionne comme suit:
Obtient les fichiers d'index du référentiel et les traite (le même processus que apt update
).
Télécharge les fichiers à partir des fichiers d'index collectés, s'ils n'existent pas localement. La structure de dossiers est conservée dans ce processus (comme pour wget -c -x <url_file_array>
).
Pour plus d'informations sur le fonctionnement de apt-mirror
et pour confirmer que , il est impossible de mettre partiellement en miroir le référentiel pour obtenir les dernières versions uniquement , vous pouvez: se référer à Le code source d'apt-mirror (écrit en Perl).
Alors, que faire pour obtenir les dernières versions à partir de grands référentiels?
Ma solution temporaire à votre situation (en prenant, par exemple, gitlab-ce
référentiel pour Ubuntu 18.04 - Bionic):
Entrez le chemin pour la mise en miroir:
cd /path/to/mirroring
Sauvegarde sources.list
:
Sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
Ouvrez et commentez chaque ligne de sources.list
:
Sudo nano /etc/apt/sources.list
Ajoutez votre ou vos référentiel (s) souhaité (s) pour la mise en miroir:
4.1. Ajoutez ceci à sources.list
et quittez le fichier: deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main
4.2. Ajoutez le GPG:
curl -L https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | Sudo apt-key add -
Mettre à jour les fichiers d'index:
Sudo apt update
Récupérez les derniers paquets depuis le référentiel ajouté et écrivez-les dans le fichier:
Sudo apt-get install '*' --allow-unauthenticated -y --print-uris | grep -o '\'http.*\' | tr "\'" " " > download-list
Téléchargez les urls avec la structure de dossiers, à cause de l'option -c
, les fichiers existants ne seront pas téléchargés:
wget -i download-list -c -x
Prendre plaisir!!!
Pour tout revenir en arrière, remplacez simplement le fichier sources.list
par l'ancien sources.list.bak
et faites:
Sudo apt update