From Fedora Project Wiki
Anaconda.png

Entering Anaconda, Montana. A city probably named after this installation program.

Anaconda è il programma di installazione usato da Fedora, Red Hat Enterprise Linux e da alcune altre distribuzioni.

Durante la fase di installazione, anaconda identifica e configura l'hardware del computer e crea i file system appropriati all'architettura del sistema e consente all'utente di installare il sistema operativo. anaconda può anche aggiornare installazioni esistenti di precedenti versioni della stessa distribuzione. Una volta completata l'installazione, al primo riavvio si procede con alcune impostazione usando il servizio di primo avvio, firstboot.

anaconda è uno script di installazione piuttosto sofisticato. Infatti si possono fare installazioni con sorgenti locali o remoti, usando CD, DVD, immagini ISO dei repository (o mirror), NSF, HTTP ed FTP. Inoltre quando si hanno gruppi di macchine su cui occorre effettuare delle identiche installazioni, si può creare uno script di installazione usando kickstart che provvede automaticamente a tutte le sue fasi. Può anche girare su VNC su macchine senza schermo. La fase di analisi ed eventuale partizionamento dischi, supporta una ampia varietà di dispositivi-di-massa/dischi, inclusi LVM, RAID, iSCSI e multipath. anaconda fornisce anche strumenti di debug avanzati come accesso remoto, accesso al debug interattivo e salvataggio in remoto delle eccezioni riscontrate.

Utenti

Se sei un utente che ha riscontrato problemi con anaconda, puoi usare il forum d'aiuto della tua distribuzione come Fedora Forum. Sono presenti anche alcuni documenti utili in UserTips, ma generalmente, questi documenti sono dedicati agli sviluppatori ed agli utenti avanzati di Anaconda.

Di tanto in tanto, si rendono disponibili gli aggiornamenti per anaconda che risolvono i problemi riscontrati nelle versioni Fedora. La pagina wiki updates spiega come usare questi aggiornamenti.

Hai bisogno di sapere cosa è cambiato da una versione all'altra di Fedora? Consulta la nostra guida alla migrazione che elenca in modo sintetico le modifiche per gli utenti, i rebuilder ed i contributori.

Usi avanzati di anaconda

Se sei un utente esperto di anaconda (o vorresti esserlo), dovresti consultare

Esiste anche una mailing-list dedicata all'uso di kickstart. Questo sembra essere il luogo migliore per scambiarsi trucchi e consigli su kickstart.

Realizzatori di distribuzione

Per informazioni su come personalizzare anaconda e gli alberi creati con esso, consultare BuildDocProject e Customization .

Sviluppatori

Anaconda è scritto principalmente in Python . L'interfaccia grafica di anaconda è scritta usando la libreria pyGtk ed i file descrizione interfaccia glade . Usando Python per la maggioranza del codice del programma di installazione consente una distribuzione degli aggiornamenti semplice ed il rapido sviluppo di nuove caratteristiche. Il programma di caricamento, che gestisce il caricamento di grandi porzioni di anaconda, del caricamento dei moduli e di altri compiti di avvio, è scritto in linguaggio C. Alcune altre piccole porzioni specifiche per hardware di anaconda sono anche scritte in C. In aggiunta, gli script bash e Python vengono usati per alcuni compiti amministrativi.

L'intero pacchetto Anaconda viene distribuito sotto la licenza GPLv2.

Mailing List

Ci sono due mailing list per Anaconda. La prima è la mailing list per lo sviluppo. Questa lista viene usata per discutere questioni riguardo lo sviluppo, sottomettere patch ed altre attività collegate all'estensione di Anaconda. La pagina per iscriversi a questa lista si trova sulla pagina della mailing list di sviluppo anaconda . Le vecchie discussioni sono presenti negli archivi di sviluppo anaconda .

La seconda lista è una lista dedicata agli utenti su come creare dei file kickstart. La lista kickstart è il posto dove discutere problemi di installazioni automatizzate. Per iscriversi a questa lista bisogna andare sul sito della lista kickstart di anaconda . Le discussioni precedenti vengono conservate negli archivi kickstart anaconda .

Esiste anche un canale IRC #anaconda su irc.freenode.org. Questa risorsa è dedicata alla discussione dello sviluppo di anaconda, non per problemi di personalizzazione della distribuzione.

Guida agli sviluppatori

Se si desidera lavorare su Anaconda, si potrebbe iniziare da Source Overview , che contiene una discussione ad alto livello dei file sorgenti e su cosa fanno. Quindi si potrebbe dare un occhiata alla stage1 development guide ed alla stage2 development guide per informazioni su come testare, effettuare il debug e sviluppare per queste due parti di Anaconda.

Familiarizzare con gli strumenti usati da anaconda. Controllare i seguenti documenti di riferimento esterni:

Una volta diventato attivo, devi controllare i punti di lavoro futuri per anaconda per vedere cosa ci piacerebbe che venisse fatto.

Sono anche presenti alcuni consigli sulla pagina realizzare anaconda che descrive come compilare e creare una nuova versione del pacchetto anaconda.

Il riferimento API anaconda rappresenta un impegno continuo che documenta il codice sorgente di anaconda. Questo documento è ancora lontano dall'essere completo, ma ogni volta diventa sempre migliore.

Ottenere il codice sorgente

Il metodo principale di distribuzione del codice di anaconda è rappresentato dagli RPM dell'Albero di sviluppo Fedora e git. Per accedere all'attuale codice sorgente in formato non rpm, devi installare git.

yum install git

Puoi notare verranno installati molti pacchetti collegati a git. Dopo che l'installazione dello strumento di gestione del codice sorgente sarà completata, allora potrai effettuare accesso git anonimo al repository Anaconda.

git clone git://git.fedorahosted.org/git/anaconda.git

L'uscita del comando dovrebbe essere qualcosa di simile a:

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


Se hai a disposizione un accesso differente per anaconda, allora potresti usare l'url di accesso git+ssh.

git clone git+ssh://git.fedorahosted.org/git/anaconda.git


Una volta che avrai effettuato le modifiche al codice in maniera locale, allora potrai inviarle

git push

Se invece vuoi solo guardare il repository git di anaconda tramite web, allora usa uno di questi Anaconda git URL .

http://git.fedorahosted.org/git/anaconda.git

http://git.fedorahosted.org/git/?p=anaconda.git;a=summary

Per contribuire, prima dovresti leggere la nostra Branching policy .

Riportare problemi

e stai riscontrando delle difficoltà durante l'installazione, inviaci il tuo problema includendo il tipo di distribuzione che utilizzi.

Prima di sollevare un bug, leggi How to debug installation problems, che spiega come inviare un bug in maniera da spiegare al meglio il problema e da aiutarci a risolverlo nel modo più rapido possibile. Inoltre puoi provare a cercare su bugzilla per altri bug che riportano il tuo stesso problema, che capita visto che molte persone inviano segnalazioni di bug.

CommonBugs è un elenco di bug comuni di anaconda da consultare per evitare di inviare un bug identico ad uno già presente.

AnacondaBugWorkflow rappresenta una linea guida su come i bug di Fedora vengono elaborati in bugzilla, e cosa significhino realmente i vari stati. Questo è valido solo per Fedora.

Il gruppo di Anaconda

Anaconda-team-fudcon-tempe-2011.png

Da sinistra a destra, le seguenti persone fanno parte del gruppo anaconda e sono i responsabili della maggior parte delle caratteristiche. Certamente otteniamo aiuto da altre persone, sia da Red Hat che dalla comunità volontaria.

Gruppo Anaconda Emeritus

Design