mirror of
https://pagure.io/fedora-docs/quick-docs.git
synced 2024-12-01 07:39:48 +00:00
173 lines
9.3 KiB
Text
173 lines
9.3 KiB
Text
= Anaconda
|
||
|
||
[caption="Entering Anaconda, Montana. A city probably named after this installation program. David Cantrell took this picture in 2011. His grey VW Jetta is parked in the background."]
|
||
image::DSC_3217.JPG[Anaconda,400]
|
||
|
||
Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux and link:anaconda_distros.html[some other distributions].
|
||
|
||
During installation, a target computer's hardware is identified and configured, and the appropriate file systems for the system's architecture are created.
|
||
Finally, Anaconda allows the user to install the operating system software on the target computer.
|
||
Anaconda can also upgrade existing installations of earlier versions of the same distribution.
|
||
After the installation is complete, you can reboot into your installed system and continue doing customization using https://fedoraproject.org/wiki/InitialSetup[initial setup].
|
||
|
||
Anaconda is a fairly sophisticated installer.
|
||
It supports installation from local and remote sources such as CDs and DVDs, images stored on a hard drive, NFS, HTTP, and FTP.
|
||
Installation can be scripted with http://pykickstart.readthedocs.io/en/latest/[kickstart] to provide a fully unattended installation that can be duplicated on scores of machines.
|
||
It can also be run over VNC on headless machines.
|
||
A variety of advanced storage devices including LVM, RAID, iSCSI, and multipath are supported from the partitioning program.
|
||
Anaconda provides advanced debugging features such as remote logging, access to the python interactive debugger, and remote saving of exception dumps.
|
||
|
||
[id="users"]
|
||
== Users
|
||
|
||
If you are a user having problems with Anaconda, please use the user support forum for your distribution such as http://forums.fedoraforum.org/forumdisplay.php?f=6[Fedora Forum] or https://lists.fedoraproject.org/admin/lists/users.lists.fedoraproject.org/[the fedora-users mailing list].
|
||
|
||
From time to time, we may distribute updates for Anaconda to fix problems in Fedora releases.
|
||
The link:anaconda_updates.html[updates] page explains how to use these updates images.
|
||
|
||
[id="advanced-users"]
|
||
== Advanced Users
|
||
|
||
If you are an advanced user of Anaconda, you should check out https://anaconda-installer.readthedocs.io/en/latest/boot-options.html[our reference to Anaconda command line options], https://anaconda-installer.readthedocs.io/en/latest/kickstart.html[our kickstart file format documentation] and link:anaconda_logging.html[our reference to logging capabilities of Anaconda].
|
||
|
||
There is a mailing list devoted to the use of kickstart.
|
||
You can find the list signup and archive information at http://www.redhat.com/mailman/listinfo/kickstart-list[kickstart list].
|
||
This is the best place to share tips and tricks about kickstart.
|
||
|
||
[id="distribution-builders"]
|
||
== Distribution Builders
|
||
|
||
For information on how to customize Anaconda and trees created with it, please see link:anaconda_product_image.html[product.img].
|
||
|
||
[id="mailing-lists"]
|
||
== Mailing Lists
|
||
|
||
There are two mailing lists for Anaconda.
|
||
The first is the development mailing list.
|
||
This list is used to discuss development issues, submit patches, and other activities related to extending Anaconda.
|
||
The sign up for the development list is located at https://listman.redhat.com/mailman/listinfo/anaconda-devel-list[anaconda development list site].
|
||
Past discussions can be found in the https://www.redhat.com/archives/anaconda-devel-list[anaconda development archives].
|
||
|
||
The second list is a user oriented list on how to create kickstart files.
|
||
The kickstart list is the place to discuss automated installation issues.
|
||
The sign up for the kickstart list is located at https://www.redhat.com/mailman/listinfo/kickstart-list[anaconda kickstart list site].
|
||
Past discussions can be found in the https://www.redhat.com/archives/kickstart-list[anaconda kickstart archives].
|
||
|
||
Patch review used to take place on a mailing list dedicated to submitting and reviewing patches.
|
||
Patch review now takes place on https://github.com/rhinstaller/anaconda/pulls[GitHub] via pull requests.
|
||
Past discussions of patches can be found in the https://lists.fedorahosted.org/pipermail/anaconda-patches/[anaconda-patches archives], which is the main purpose this mailing list now serves.
|
||
|
||
[id="irc"]
|
||
== IRC
|
||
|
||
There is also an IRC channel on link:http://freenode.net[FreeNode].
|
||
This resource is for discussion of Anaconda development, not for distribution customization questions.
|
||
|
||
[id="how-to-contribute"]
|
||
== How to Contribute
|
||
|
||
For how to contribute to Anaconda and related projects, see the https://anaconda-installer.readthedocs.io/en/latest/contributing.html[Contributing to Anaconda and related projects] documentation.
|
||
|
||
Please note that useful contributions are not limited to submitting patches for source code.
|
||
You can also help with https://anaconda-installer.readthedocs.io/en/latest/testing.html[testing], reporting bugs, improving translations or extending the Anaconda documentation.
|
||
|
||
[id="developers-guide"]
|
||
== Developers' Guide
|
||
|
||
Anaconda is now almost entirely written in Python 3.
|
||
The graphical front end uses GTK+ 3 via gobject-introspection, and as much of the interface as possible is written using the glade interface builder.
|
||
The earliest parts of Anaconda are in shell for integration with dracut, and there's still a little bit of C thrown in for interfacing with certain libraries.
|
||
|
||
Here are some documents if you are planning on working on Anaconda.
|
||
More are in the works:
|
||
|
||
* Anaconda/Devel/Translation
|
||
* If you want to work on Anaconda, you should start with the Anaconda/SourceOverview[Source Overview], which contains a high level discussion of the source files and what they do.
|
||
|
||
Then look at the https://anaconda-installer.readthedocs.io/en/latest/[online documentation] for information on how to test, debug, and develop anaconda.
|
||
|
||
Familiarize yourself with the tools that Anaconda uses.
|
||
Check out the following external reference documents:
|
||
|
||
* https://developer.gnome.org/gtk3/stable/[GTK+ reference]
|
||
* https://docs.python.org/3/tutorial/[Python tutorial]
|
||
* https://docs.python.org/3/py-modindex.html[Python module reference]
|
||
|
||
[id="getting-the-source"]
|
||
== Getting the Source
|
||
|
||
The primary methods of distributing the Anaconda source are source RPMs in the http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/[Fedora development tree] and git.
|
||
To access the current source code in in non-rpm format, you'll need to install git.
|
||
|
||
[source,bash]
|
||
----
|
||
$ dnf install git
|
||
----
|
||
|
||
Note that several related packages will be installed as well.
|
||
After the git source code management tool has been installed, then you use anonymous git access to the Anaconda repository.
|
||
|
||
If you would just like to browse the Anaconda git repository via the web, then please use the following https://github.com/rhinstaller/anaconda.git[Anaconda git URL].
|
||
|
||
[source,bash]
|
||
----
|
||
$ git clone https://github.com/rhinstaller/anaconda.git
|
||
----
|
||
|
||
The output may look similar to the following:
|
||
|
||
----
|
||
Initialized empty Git repository in /home/drkludge/anacondatest/anaconda/.git/
|
||
remote: Generating pack...
|
||
remote: Counting objects: 10861
|
||
remote: Done counting 91222 objects.
|
||
remote: Deltifying 91222 objects...
|
||
remote: 100% (91222/91222) done
|
||
Indexing 91222 objects...
|
||
100% (91222/91222) done
|
||
remote: Total 91222 (delta 68785), reused 90187 (delta 68059)
|
||
Resolving 68785 deltas...
|
||
100% (68785/68785) done
|
||
Checking 543 files out...
|
||
100% (543/543) done
|
||
----
|
||
|
||
If you have committer access to Anaconda, then you will want to use the git+ssh access url.
|
||
(GitHub also supports pushing changes via HTTPS, but may require you to re-authenticate every time you push your changes.)
|
||
|
||
[source,bash]
|
||
----
|
||
$ git clone git+ssh://git@github.com/rhinstaller/anaconda.git
|
||
----
|
||
|
||
Once you've committed changes locally, you can push them with
|
||
|
||
[source,bash]
|
||
----
|
||
$ git push
|
||
----
|
||
|
||
Anaconda has an https://github.com/rhinstaller/kickstart-tests[extensive suite of tests] that is still growing.
|
||
If you contribute new functionality, it's good practice to include some tests along with that.
|
||
We have a https://anaconda-installer.readthedocs.io/en/latest/testing.html[document that outlines the test suite infratructure and describes how to run tests].
|
||
|
||
To contribute you should read our https://anaconda-installer.readthedocs.io/en/latest/contributing.html[guidelines for contributing].
|
||
|
||
[id="reporting-problems"]
|
||
== Reporting Problems
|
||
|
||
If you are having difficulty installing, please file the problem report with your distribution vendor.
|
||
|
||
Before filing a bug, please read up on link:https://fedoraproject.org/wiki/How_to_debug_installation_problems[debugging installation problems], which will tell you how to fill out useful bug reports that will help us quickly solve your problem.
|
||
Also try searching bugzilla for other reports about your problem, as some bugs are often filed by several people.
|
||
|
||
The https://fedoraproject.org/wiki/Anaconda/AnacondaBugWorkflow[Anaconda Bug Workflow] explains how Fedora Anaconda bugs pass through bugzilla, and what all the various statuses really mean.
|
||
This is *only* for Fedora.
|
||
|
||
Additionally, you can use this link:https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=anaconda&list_id=8454223&product=Fedora&query_format=advanced[Bugzilla query] to find all open Anaconda bugs.
|
||
|
||
[id="design"]
|
||
Design
|
||
~~~~~~
|
||
|
||
link:https://fedoraproject.org/wiki/How_to_Create_an_Anaconda_Banner[How to Create an Anaconda Banner]
|