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.
Réponses
Trop de publicités?Vous voudrez peut-être jeter un coup d'œil à apt-mirror
y apt-cacher
.
Voici un guide sur comment installer et l'utiliser.
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
1 Source : Créer un dépôt Ubuntu
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
-
copier tous les fichiers deb dans ce répertoire.
-
parcourir le répertoire
sudo dpkg-scanpackages /var/my-local-repo /dev/null > /var/mon-repo local/Packages
- 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
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
- Réponses précédentes
- Plus de réponses