123 votes

Comment créer un référentiel APT local ?

J'aimerais créer mon propre référentiel local sur mon réseau local, afin que les machines du réseau puissent effectuer des mises à jour et des mises à niveau à partir de celui-ci. Je veux télécharger les paquets et les stocker sur mon serveur local afin de pouvoir effectuer des mises à jour, des mises à niveau, des installations, etc. à partir de celui-ci, sans utiliser Internet.

7voto

con-f-use Points 17925

Vous voudrez peut-être jeter un coup d'œil à apt-mirror y apt-cacher .

Voici un guide sur comment installer et l'utiliser.

4voto

Mitch Points 102545

Il y a plusieurs raisons pour lesquelles vous pouvez vouloir créer un référentiel local. La première est que vous voulez économiser de la bande passante si vous avez plusieurs machines Ubuntu à mettre à jour. machines Ubuntu à mettre à jour. Par exemple, si vous avez 25 machines Ubuntu Ubuntu qui doivent toutes être mises à jour au moins une fois par semaine, vous pourriez vous économiserez de la bande passante car vous pourrez tout faire sauf le dépôt localement.

La plupart des organisations disposent d'une bande passante décente pour leurs passerelles réseau. mais cette bande passante est un bien précieux qui doit être utilisé à bon escient. judicieusement.

De nombreuses organisations ont encore des routeurs avec des limites de 10MB ou 100MB à l'entrée. passerelle, mais des connexions réseau de 1 Go en interne, de sorte que la bande passante peut être être mieux utilisée en interne. La deuxième raison de créer votre propre dépôt est que vous pouvez contrôler quelles applications sont chargées sur sur vos machines Ubuntu internes.

Vous pouvez supprimer toutes les applications que votre organisation ne veut pas utiliser sur le réseau local à partir du référentiel qui met à jour les machines. Mieux encore, vous pouvez créer une boîte de test et tester les applications et les versions avant d'autoriser leur déploiement. les applications et les versions avant de les autoriser à être déployées sur votre réseau, ce qui garantit la sécurité et la stabilité. la sécurité et la stabilité.

Vous devez d'abord configurer un miroir, pour ce faire, vous devez juste appuyer sur Ctrl + Alt + T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez la commande ci-dessous.

apt-get install apt-mirror 

Une fois que vous avez configuré apt-mirror, vous pouvez commencer le téléchargement de le dépôt avec cette commande.

apt-mirror /etc/apt/mirror.list 1

Lire la suite

1 Source : Créer un dépôt Ubuntu

3voto

Pour créer un référentiel local hors ligne
1. rendre un répertoire accessible (au moins par root)

sudo mkdir /var/my-local-repo

  1. copier tous les fichiers deb dans ce répertoire.

  2. parcourir le répertoire

sudo dpkg-scanpackages /var/my-local-repo /dev/null > /var/mon-repo local/Packages

  1. ajouter le référentiel local aux sources

echo "deb file:/var/my-local-repo ./" > /tmp/my-local.list

sudo mv /tmp/my-local.list /etc/apt/sources.list.d/my-local.list

sudo apt-get update

3voto

Simon Points 31

J'ai essayé d'utiliser apt-rdepends comme dans la réponse choisie, mais lorsque j'ai essayé d'installer le paquet à partir de mon dépôt local, il s'est plaint de l'absence de dépendances.

apt-rdepends ne listait pas certaines des dépendances de mon paquet. Je soupçonne que cela a quelque chose à voir avec le fait que apt-cache show montre de nombreux enregistrements pour ce produit.

A la place, j'ai utilisé apt-cache depends et cela a fait l'affaire :

Obtenir une liste récursive de dépendances

apt-cache depends <packagename> -i --recurse

-i : dépendances importantes uniquement --recurse : récursif

Transformez-la en une liste digeste

  • Suppression des symboles et des espaces : | tr -d "|,<,>, "
  • Suppression des Depends : & PreDepends : | sed -e 's/^Depends://g' | sed -e 's/^PreDepends://g'
  • Trier la liste : | sort
  • Uniquement des valeurs uniques : | uniq > list.txt

Commandement complet :

apt-cache depends <packagename> -i --recurse | tr -d "|,<,>, " | sed -e \
's/^Depends://g' | sed -e 's/^PreDepends://g' | sort | uniq > list.txt

Télécharger les paquets

for i in $( cat list.txt ); do apt-get download $i; done;

Rechercher les paquets et les transformer en Packages.gz

dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

-1voto

Akeem Points 1954

Je l'ai fait en utilisant apt-mirror.

C'est bien mais vous devez avoir plus d'espace sur le disque dur car il sera synchronisé avec le serveur de repos.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X