How rhinstaller/anaconda works
Anaconda is a Linux operating-system installer. Its user-facing workflow configures installation options, discovers and prepares storage, selects an installation source and payload, then applies system configuration. The repository also provides Kickstart automation and separate modules for networking, localization, security, users, services, and time zone. The sampled evidence shows storage UI interactions with storage DBus proxies; several other module relationships are inferred from the product structure and are marked unverified rather than asserted as calls.
Main entry points: boss.py Workflow coordinator · storage/storage.py Storage coordinator · payloads.py Payload coordinator · lib/storage.py Storage UI helpers
Components 23
Installer control
- Installer startup
anaconda.py - Workflow coordinator
pyanaconda/modules/boss/boss.py - Kickstart automation
pyanaconda/modules/boss/kickstart_manager/kickstart_manager.py - Install tasks
pyanaconda/installation_tasks.py
Installation interface
- Graphical storage UI
pyanaconda/ui/gui/spokes/storage.py - Custom partitioning UI
pyanaconda/ui/gui/spokes/custom_storage.py - Advanced storage UI
pyanaconda/ui/gui/spokes/advanced_storage.py - Storage UI helpers
pyanaconda/ui/lib/storage.py
Storage planning
- Storage coordinator
pyanaconda/modules/storage/storage.py - Partitioning methods
pyanaconda/modules/storage/partitioning - Device discovery
pyanaconda/modules/storage/devicetree - Storage data model
pyanaconda/modules/common/structures/storage.py
Installation content
- Payload coordinator
pyanaconda/modules/payloads/payloads.py - Package installation
pyanaconda/modules/payloads/payload/dnf/dnf_manager.py - Flatpak installation
pyanaconda/modules/payloads/payload/flatpak/flatpak_manager.py - Installation sources
pyanaconda/modules/payloads/source
System configuration
- Network setup
pyanaconda/modules/network/network.py - Language setup
pyanaconda/modules/localization/localization.py - User accounts
pyanaconda/modules/users/users.py - Time and services
pyanaconda/modules/timezone/timezone.py - Security settings
pyanaconda/modules/security/security.py
Other components
- Installer user
- Host system services
Connections 23
- Installer user → Graphical storage UI: configures
- Installer startup → Workflow coordinator: starts
- Workflow coordinator → Kickstart automation: manages
pyanaconda/modules/boss/kickstart_manager/kickstart_manager.py - Installer user → Kickstart automation: provides instructions
- Graphical storage UI → Storage UI helpers: uses helpers
pyanaconda/ui/gui/spokes/storage.py - Custom partitioning UI → Storage UI helpers: uses helpers
pyanaconda/ui/gui/spokes/custom_storage.py - Advanced storage UI → Storage UI helpers: uses helpers
pyanaconda/ui/gui/spokes/advanced_storage.py - Storage UI helpers → Storage coordinator: calls DBus
pyanaconda/ui/lib/storage.py - Storage coordinator → Partitioning methods: manages
pyanaconda/modules/storage/storage.py - Storage coordinator → Device discovery: manages
pyanaconda/modules/storage/storage.py - Storage coordinator → Storage data model: exposes data
- Workflow coordinator → Install tasks: coordinates
- Workflow coordinator → Payload coordinator: coordinates
- Payload coordinator → Package installation: selects payload
- Payload coordinator → Flatpak installation: selects payload
- Payload coordinator → Installation sources: uses sources
- Workflow coordinator → Network setup: coordinates setup
- Workflow coordinator → Language setup: coordinates setup
- Workflow coordinator → User accounts: coordinates setup
- Workflow coordinator → Time and services: coordinates setup
- Workflow coordinator → Security settings: coordinates setup
- Network setup → Host system services: uses services
- Language setup → Host system services: uses services