Je développe un service de mise à jour/mise à niveau avec un SDK hors ligne pour les périphériques Linux.Flux de travail Linux "apt-get update"
L'idée est de répliquer les services Linux de mise à jour/mise à niveau vers un périphérique hors ligne. Le dispositif "hors ligne" est capable d'atteindre "Internet" mais seulement par l'échange de messages en utilisant le SDK et par d'autres dispositifs (multi-hop). Les périphériques proviennent d'architectures différentes, par conséquent, l'appareil qui dispose de capacités «Internet» (passerelle) doit être capable de demander et de télécharger les packages à mettre à niveau vers/depuis une architecture différente. le périphérique passerelle doit être capable de mettre en cache les paquets téléchargés demandés à partir des mises à jour (pour agir comme un CDN), en évitant les demandes de repo.
Le périphérique hors connexion n'a pas d'adresse IP et la manière dont il communique n'est pas pertinente, car le SDK hors connexion garantit l'accessibilité à Internet sur plusieurs tronçons. Ce dont j'ai besoin - J'ai besoin de quelqu'un pour me fournir de l'aide ou des conseils sur le flux de mise à jour/mise à niveau de Linux.
Ce que je trouve à ce jour:
mise à jour
- commande de mise à jour charge le /etc/apt/sources.list
- ne savent pas comment chaque ligne mise à jour résout Sur /etc/apt/sources.list, il semble qu'il a une fonction où il charge le "deb" un "lien" et "arguments" qui correspondent aux dossiers repo correspondants.
- après cela, il commence à télécharger tous les fichiers "Paquets" correspondants dans chaque lien résolu.
mise à niveau
- fait une comparaison entre les fichiers "Packages" locaux mis à jour et les fichiers "packages" dans la prise en pension.
Y at-il code source de mise à jour/mise à jour disponible? J'ai fait une recherche sur le web sur les repos apt, mais je n'ai pas pu trouver les fonctions de mise à jour/mise à niveau.
Que diriez-vous simplement de configurer votre périphérique compatible Internet en tant que serveur proxy basé sur liste blanche ou miroir de référentiel local? Vous n'avez pas besoin de programmer quoi que ce soit et vous obtenez une solution solide et supportée au lieu d'un hack fait maison fragile. – spectras
Qu'en est-il de [this] (https://github.com/Debian/apt/blob/1d9e29c9e2a5591b42a99a721b901fc003ed9149/apt-pkg/upgrade.cc) et [this] (https://github.com/Debian/apt/blob/ 1d9e29c9e2a5591b42a99a721b901fc003ed9149/apt-pkg/update.cc)? –