Anaconda (installer)

Anaconda is a free and open-source system installer for Linux distributions.

Anaconda
Developer(s)Anaconda Team
Initial release1999 (1999)
Stable release
40.9-1[1] Edit this on Wikidata / 17 October 2023 (17 October 2023)
Repository
Written inPython and C
Operating systemLinux
Available inMultilingual
TypeSystem installer
LicenseGPLv2 (Free software)
Websitefedoraproject.org/wiki/Anaconda

Anaconda is used by Red Hat Enterprise Linux, Oracle Linux, Scientific Linux, AlmaLinux, CentOS, MIRACLE LINUX, Qubes OS, Fedora, Sabayon Linux and BLAG Linux and GNU, also in some less known and discontinued distros like Progeny Componentized Linux, Asianux, Foresight Linux, Rpath Linux and VidaLinux.[2]

Functionality

Anaconda text mode
Anaconda installing CentOS 7 in text mode

Anaconda offers a text-mode and GUI mode, so users can install on a wide range of systems. It is designed to be easily portable and supports a wide range of hardware platforms (IA-32, Itanium, DEC Alpha, IBM ESA/390, PowerPC, ARMv8). It supports installing from local storage devices like CD-ROM drives and harddisks as well as from network resources via FTP, HTTP, or NFS. Installations can be automated with the use of a kickstart file, that automatically configures the installation, allowing users to run it with minimal supervision. Before starting the OS installation process, the installer checks the system hardware and resource requirements. Only if the requirements are satisfied does it start the installation process.

Technology

It is mainly written in Python with some modules written in C. It has a graphical frontend that is based on GTK+ 3/PyGObject and designed with the Glade Interface Designer. Anaconda also has a custom text frontend with support for computers with line printer like terminals, such as the IBM ESA/390 mainframes.

Under the hood

The Anaconda installer provides various useful tools and commands for both users with specific installation needs as well as for debugging issues with the installer itself or OS installation in general.

Anaconda supports a rich set of options [3] that can be passed to the boot command line to influence installation behaviour. There is also a root shell running on TTY2 available for the user to inspect the installation environment during the installation run.

There are also various useful files in the installation environment:

  • /tmp/anaconda.log - contains Anaconda related log messages (Anaconda also logs to journal)
  • /root/lorax-packages.log - contains a list of names and versions of all packages that have been used to create the installation image
  • /mnt/install/ks.cfg contains the kickstart used for the installation run (if any)

After a successful installation, Anaconda stores various important files from the installation run on the system itself. This makes it possible to check how the system was installed even at a later time.

  • installation logs are stored in /var/log/anaconda
  • a kickstart file describing option selected during the installation run is stored in /root/anaconda-ks.cfg

The anaconda-ks.cfg file found on a system can be used (possibly with small changes) to install a very similar system again.

See also

References

  1. "Release 40.9-1". 17 October 2023. Retrieved 19 October 2023.
  2. "Anaconda/Distros - Fedora Project Wiki". fedoraproject.org. Retrieved 2020-05-02.
  3. "Anaconda Boot Options"
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.