5.2. Anaconda Architecture


Anaconda est un ensemble de modules et de scripts Python. Il utilise également plusieurs paquets et bibliothèques externes. Les principaux composants de cet ensemble d'outils comprennent les paquets suivants :

  • pykickstart - analyse et valide les fichiers Kickstart. Il fournit également une structure de données qui stocke les valeurs qui pilotent l'installation.
  • dnf - le gestionnaire de paquets qui installe les paquets et résout les dépendances
  • blivet - s'occupe de toutes les activités liées à la gestion du stockage
  • pyanaconda - contient l'interface utilisateur et les modules pour Anacondail fournit également divers utilitaires permettant d'exécuter des fonctions orientées système, telles que la sélection du clavier et du fuseau horaire, la configuration du réseau et la création d'utilisateurs. Il fournit également divers utilitaires permettant d'exécuter des fonctions orientées système
  • python-meh - contient un gestionnaire d'exception qui recueille et stocke des informations système supplémentaires en cas de crash et transmet ces informations à la bibliothèque libreport, qui fait elle-même partie du projet ABRT
  • dasbus - permet la communication entre la bibliothèque D-Bus et les modules d'anaconda ainsi qu'avec des composants externes
  • python-simpleline - bibliothèque de l'interface utilisateur texte pour gérer l'interaction de l'utilisateur dans le mode texte Anaconda
  • gtk - la bibliothèque de la boîte à outils Gnome pour la création et la gestion d'interfaces graphiques

Outre la division en paquets mentionnée précédemment, Anaconda est divisé en interne entre l'interface utilisateur et un ensemble de modules qui s'exécutent en tant que processus distincts et communiquent à l'aide de la bibliothèque D-Bus. Ces modules sont les suivants

  • Boss - gère la découverte, le cycle de vie et la coordination des modules internes
  • Localization - gère les locales
  • Network - gère le réseau
  • Payloads - gère les données à installer dans différents formats, tels que rpm, ostree, tar et d'autres formats d'installation. Les charges utiles gèrent les sources de données pour l'installation ; les sources peuvent varier en format comme CD-ROM, disque dur, NFS, URL, et autres sources
  • Security - gère les aspects liés à la sécurité
  • Services - services de manutention
  • Storage - gère le stockage à l'aide de blivet
  • Subscription - gère l'outil subscription-manager et Insights.
  • Timezone - traite de l'heure, de la date, des zones et de la synchronisation de l'heure.
  • Users - crée des utilisateurs et des groupes.

Chaque module déclare les parties de Kickstart qu'il gère et dispose de méthodes pour appliquer la configuration de Kickstart à l'environnement d'installation et au système installé.

La partie du code Python d'Anaconda (pyanaconda) démarre en tant que processus "principal" qui possède l'interface utilisateur. Toutes les données Kickstart que vous fournissez sont analysées à l'aide du module pykickstart et le module Boss est démarré, il découvre tous les autres modules et les démarre. Le processus principal envoie ensuite les données Kickstart aux modules en fonction de leurs capacités déclarées. Les modules traitent les données, appliquent la configuration à l'environnement d'installation et l'interface utilisateur valide si tous les choix requis ont été faits. Si ce n'est pas le cas, vous devez fournir les données dans un mode d'installation interactif. Une fois que tous les choix requis ont été faits, l'installation peut commencer - les modules écrivent des données sur le système installé.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.