Cooker
Da Wiki italiano Mandriva.
Terminologia: il termine Cooker è usato per indicare la mailing list, la distribuzione Cooker, il repository Cooker.
La versione stabile corrente di Mandriva Linux è la 2010. La Cooker è in fase di sviluppo per la prossima versione di Mandriva Linux (2010.1).
Indice |
Background
Uno dei problemi più grandi del processo di rilascio di Mandriva Linux è che non c'è abbastanza tempo per gli utenti, durante il beta-testing, per dare un contributo significativo alla nuova versione stabile. Dopo numerose discussioni sull'argomento nella mailing-list Cooker, è emerso che c'è una incomprensione generale di come funzioni il processo di Cooker. In verità il processo di beta-testing di Mandriva è lungo quasi tre mesi, ma la maggior parte degli utenti non è coinvolta fino al rilascio finale e quindi c'è l'impressione che la fase di beta-testing sia troppo breve.
Lo scopo di questa pagina è di dare agli utenti comuni le informazioni necessarie per essere coinvolti nella fase di test della prossima versione di Mandriva. I feedback di questi utenti potranno quindi giungere agli sviluppatori in tempo utile per eventuali correzioni di bug o nuove implementazioni.
Cos'è Cooker
La versione di sviluppo della prossima versione stabile di Mandriva Linux si chiama Cooker. Lo scopo di questa distribuzione è di permettere una migliore interazione fra gli utenti e il team di sviluppo di Mandriva, sia a scopo di debugging, sia per l'aggiunta di nuove funzionalità. Cooker è una distribuzione autonoma, constantemente in sviuppo e che a volte non può essere installata in alcuni sistemi a causa di incompatibilità o bug.
Il termine Cooker è usato sia la Cooker Mailing List (come discusso su Cooker), per la distribuzione Cooker (io uso Cooker), per le fonti RPM (il pacchetto è in Cooker) e per indicare "Modo di vivere Cooker" (io sono un Cooker, il tutto può essere perso a causa di uno stile di vita avventuroso).
Cosa non è Cooker
Cooker non è il posto dove reperire tutte gli ultimi rilasci del software per la versione stabile. E' sconsigliato installare pacchetti della Cooker in una distribuzione stabile. I pacchetti RPM della Cooker sono incompatibili con la versione stabile perché sono stati compilati utilizzando librerie non ancora disponibili. Oltre ad essere incompatibili, alcuni pacchetti sono veramente instabili a causa di errori di pacchettizzazione o di bug del codice sorgente.
Chi può usarla?
Cooker non è raccomandata agli utenti inesperti, ma non devi necessariamente essere uno sviluppatore o un sisteminsta per usare Cooker: un utente mediamente esperto può comunque cimentarsi con essa.
Le seguenti conoscenze sono raccomandate:
E' necessaria anche una connessione veloce ad internet per scaricare ogni giorno gli aggiornamenti della Cooker. Ricorda: gli aggiornamenti sono quotidiani.
Inoltre ricorda che il sistema può bloccarsi. Alcuni errori minori sono risolti nel medio termine prima del rilascio nella versione stabile. Malgrado la distribuzione Cooker risulti utilizzabile la maggior parte del tempo, la corruzione o perdita di dati è, sebben rara, sempre possibile.
Infine, lo scopo della Cooker non è risolvere i tuoi problemi. Ti servirà per suggerire soluzioni (patch, idee di sviluppo, nuovi pacchetti...) e non per dare la tua opinione sulla versione o per chiedere aiuto.
Come partecipare
Ci sono molti modi per partecipare al progetto Cooker. Il più comune è installarla da un'immagine ISO durante la fase di beta test, ma puoi anche aggiungere programmi o traduzioni, o esporre le tue idee alla comunità.
Puoi anche partecipare alle mailing list di discussione di Cooker (iscriviti), alla mailing list dei changelog, o ad una specifica per lo sviluppo come per la piattaforma AMD64 o la localizzazione i18n, piattaforme server, eccetera.
Purtroppo alcuni utenti installano la second release candidate, e poi postano messaggi sulla mailing list di Cooker o su Bugzilla, richiedendo nuove funzionalità per la versione corrente. In questi casi è già troppo tardi per fare modifiche o per aggiungere software alla distribuzione.
Avvertenze
Prima di tutto, devi sempre ricordare che la Cooker è una distribuzione di sviluppo, dove non tutto è ben testato e molte cose possono smettere di funzionare. I software in sviluppo potrebbero causare perdita di dati, configurazioni, ecc. MAI usare la Cooker in sistemi in produzione. Sei avvertito! :)
Un problema tipico al quale va incontro chi passa alla Cooker è la perdita di configurazioni dovuta all'aggiornamento del kernel. Dopo ogni aggiornamento del kernel è necessario ricompilare i driver di terze parti. Il più comune e SBAGLIATO bug riportato è relativo alle schede video (principalmente NVIDIA): spesso non si riesce a ricompilare i driver per il kernel in sviluppo.
Usare la Cooker è divertente perché puoi apprezzare e testare per primo le nuove funzionalità che verranno aggiunte alla distribuzione stabile. Se vuoi dare un feedback del tuo utilizzo della Cooker, segnala prontamente ogni bug che trovi alla mailing list della Cooker: avrai anche tu contribuito allo sviluppo e al rilascio della prossima versione di Mandriva Linux.
Installare Cooker
Il primo passo per partecipare alla Cooker è installarla. Come per ogni altra distribuzione GNU/Linux, ci sono diversi modi di farlo. Puoi anche usare una installazione su macchina virtuale.
Modificando le fonti (veloce)
Per migrare a Cooker in modo semplice, puoi seguire questi passi:
- Primo, rimuovi le fondi della versione stabile: urpmi.removemedia -a
- Aggiungi le fonti di Cooker: urpmi.addmedia --distrib --mirrorlist 'http://api.mandriva.com/mirrors/basic.cooker.$ARCH.list'
- Aggiorna tutti i pacchetti installati: urpmi --auto-update
Probabilmente dovrai riavviare a causa dell'aggiornamento di alcune parti essenziali del sistema (kernel, udev, ...)
Un'altra soluzione è usare Easy URPMI.
Utilizzando una boot.iso (sicuro)
Un altro modo di procedere consiste nello scaricare una versione Avviabile del programma di installazione di Mandriva. Masterizza questa immagine su un CD-ROM e riavvia il tuo computer con il Cd nel drive. Il processo di installazione verrà completato scaricando i pacchetti da Internet, scegliendo un server FTP o HTTP.
Sono disponibili due versioni dell'immagine ISO di Cooker:
- boot.iso (32bit) per l'architettura i586
- boot.iso (64bit) per l'architettura x86_64
Tramite chroot (veloce e sicuro)
Un altro modo di installare Cooker è servirsi di chroot.
- Questa è sicuramente la maniera più veloce di installare una Cooker, grazie ad urpmi.
- È anche il modo più agevole, perché non si lega a nessun supporto in particolare e si può anche scegliere il pacchetto di base, quindi anche versioni diverse dei pacchetti.
- Questo è il metodo più lungo da descrivere, ma il più rapido da realizzare.
- Fai partire la tua distribuzione Mandriva.
- Indica al sistema di utilizzare le solo le fonti Cooker, solo per la durata dell'installazione.
- Con Drakdisk, formatta la partizione che ospiterà Cooker. Successivamente montare la partizione (che sarà la / per Cooker) in una directory (per esempio (/chroot)
- Installa il basesystem all'interno del chroot.
urpmi basesystem --root /chroot
Qui verrà richiesto di scegliere fra alcuni pacchetti base. Dovrete optare fra:
- differenti versioni di kernel (kernel manbo, old kernel mdv, kernel vanilla, kernel rt)
- iputils o arping
- sistemi di logging (syslog-ng, rsyslog o il vecchio sysklogd)
- la versione di Mandriva (free, one, powerpack)
- versione preferita di VI (vim-enhanced, minimal, o x11-vim)
- il bootloader (grub o lilo).
Fatte le scelte il processo inizia. Saranno sicuramente segnalati degli errori riguardo le localizzazioni (lingua del sistema, tastiera, ecc.). Ignorale per il momento e attendi la fine dell'installazione del sistema di base.
- Terminata l'installazione dei pacchetti base nel vostro chroot, monta la partizione /proc all'interno del sistema chroot:
mount -t proc none /chroot/proc
- Copia le impostazione rigurardo i DNS dentro il chroot:
cp -L /etc/resolv.conf /chroot/etc/resolv.conf
- Installa URPMI dentro il chroot:
urpmi --root /chroot urpmi
- Copia vmlinuz e initrd dalla directory /chroot/boot/ dei cooker alla directory /boot.
- Modifica il file menu.lst di grub per aggiungere una voce relativa a Cooker e falla puntare verso la partizione dove è stato installato Cooker.
Completa l'installazione all'interno di chroot per utilizzare l'ambiente.
- Entrare con una shell (ad esempio bash) dentro chroot
chroot /chroot /bin/bash
- Crea un file /chroot/etc/fstab coerente col sistema chroot (sarà /etc/fstab per il vostro sistema chroot).
- Aggiungi le fonti cooker al sistema
urpmi.addmedia main ...
- Ripeti l'operazione precedente per le fonti contrib ed eventualmente la non_free.
- Installa i pacchetti che preferisci, ad esempio:
urpmi locales-it drakxtools task-kde gpm kde-i18n-it drakconf
- Infine scegli la localizzazione tramite draklocale, poi installa i pacchetti specifici per la lingua (per esempio mozilla-firefox-it).
Togli i riferimenti alle fonti Cooker per il sistema attivo. A questo punto puoi eseguire un riavvio e passare alla nuova installazione Cooker. Utilizza drakboot --boot dall'interno della Cooker per editare le voci di grub o renderla predefinita.
Questo metodo è applicabile a tutte le versione e per tutti i tipi di supporti (installazione da DVD, repository locale, internet)
Installazione dall'hard disk o dalla rete (senza CD-ROM)
Alcuni sistemi non hanno il lettore floppy o CD-ROM. Esiste un modo anche in questi casi.
Copia i file necessari dalla directory isolinux all'interno di /boot/
$ cd /path/to/mirror/isolinux/alt0/ $ cp vmlinuz /boot/vmlinuz-all $ cp all.rdz /boot
Esempio di configurazione di GRUB
title all-install
kernel (hd0,0)/boot/vmlinuz-all root=/dev/ram3 ramdisk_size=700000 vga=791
initrd (hd0,0)/boot/all.rdz
Boot via protocollo PXE
Probabilmente è il modo più semplice per i sysadmin. La macchina deve essere dotata di una scheda di rete recente (PXE1.5 or greater). Versioni precedenti di PXE possono essere usate ma in maniera difficoltosa. Installa un server PXE, Mandriva ha alcuni pacchetti. Fai un backup del tuo dhcp.conf. Aggiungi nel file pxelinux.cfg/default la linea:
label 10-1-OE
KERNEL vmlinuz
APPEND initrd=all.rdz ramdisk_size=128000 acpi=ht vga=788
e aggiungi vmlinuz e all.rdz nel tuo server TFTP.
Mantieni la distribuzione aggiornata
E' molto importante mantenere aggiornata la tua Cooker per evitare di segnalare bug che sono già stati corretti.
Per fare ciò, devi regolarmente eseguire il comando:
urpmi --auto-update
oppure puoi attivare in
[[{{{2}}}|{{{3}}}]] la fonte main come "update", per avere notifica immendiata appena un aggiornamento è disponibile.
Puoi anche creare un task cron per aggiornare la distribuzione ogni ora, basta inserire il comando nel file /etc/cron.hourly. Potrebbe essere utile integrare un logging nello script di aggiornamento.
La mailing-list Cooker
La mailing-list è il posto giusto dove discutere su funzionalità, risultati di test o su cosa considerare un bug oppure no. I bug, invece, dovrebbero essere riportati nel Bugzilla.
La mailing-list di Cooker è ad alto volume di traffico (spesso supera i 1000 messaggi al giorno durante il ciclo di sviluppo), per questo è importante valutare bene cosa postare. Per ridurre il livello di rumore nella lista, è bene prima cercare negli archivi se l'argomento che si vuole trattare è già stato discusso. Per avere più possibilità di essere letto, ricordati di evitare chiacchere inutili o di postare messaggi non inerenti (off-topic).
Consulta la pagina wiki Development Mailinglists per maggiori dettagli.
Testzilla Howto
Attraverso Testzilla, puoi seguire le procedure per riportare migliorie o i bug sui componenti di Bugzilla.
Consulta la pagina wiki Testzilla Howto per altri dettagli.
Contribuire con delle Patch
Se scrivi una patch per risolvere un bug in uno degli strumenti sviluppati da Mandriva, invia la tua patch alla mailing list di Cooker e allo sviluppatore del pacchetto.
Se invece scrivi una patch per un'applicazione software che è stata pacchettizzata e inclusa nella distribuzione Mandriva Linux, invia la tua patch allo sviluppatore del pacchetto e invia anche la soluzione al progetto software in questione. I pacchettizzatori Mandriva spesso mettono delle patch ai sorgenti per risolvere i bug principali, ma i sorgenti a loro volta devono essere rivisti dal progetto software generale. Non tutti i progetti software hanno impiegati Mandriva che lavorano sul CVS, così inviare una patch solo a Mandriva non garantisce che il bug corretto venga poi implementato nel progetto in questione.
Glossario dei termini
- Release Alpha - Riferita anche ad un'immagine di cooker. Probabilmente non funzionerà bene e molte parti sono assemblate male ma ci piacerebbe che la testassi a fondo considerando che è un assemblaggio di pezzi distinti (cosa diversa che testare solo le singole componenti). Gli sviluppatori sono ancora disposti a fare cambiamenti significativi (salto di versioni, etc) affinchè tutto funzioni bene, così questo è il momento per farsi sentire se vuoi un particolare pacchetto nella release.
- Release Beta - Una beta è una release ISO release di Cooker che ha l'obiettivo di testare le funzionalità raggiunte o quelle aggiunte ai numerosi componenti della distribuzione. È probabilmente piena di bug più o meno gravi, così non puoi usarla su pc in produzione ma per favore sentiti libero di usarla in altri ambiti più "leggeri". A questo punto, gli sviluppatori dei pacchetti sono restii a variare le versioni dei pacchetti, cosa che faranno solo per risolvere eventuali problemi. I problemi minori che richiedono un grosso sforzo per essere risolti e/o possono alterare l'equilibrio di altri pacchetti corrono il rischio di essere lasciati là.
- Release Candidate - Una release candidate, o RC, è una release ISO della distribuzione che viene rilasciata con lo scopo di trovare eventuali bug nelle funzionalità e nei pacchetti che sono inclusi nella distribuzione. Durante la fase di release candidate, nessun nuovo pacchetto o nuova funzionalità può essere aggiunta, ma alcuni bug possono essere inviati se ce ne sono di molto gravi. Per favore effettua un test molto pesante. Se tutto funziona bene, il tutto sarà "benedetto" e inviato all'editore per la creazione dei supporti e le immagini ISO e l'abero della distribuzione (le fonti) saranno inviate ai mirror disponibili al download immediato. Gli sviluppatori dei pacchetti non possono variare le versioni eccetto nel caso in cui serva a risolvere bug. A questo punto non verrà toccato nulla che non sia un bug minore o un aggiornamento di sicurezza di facile soluzione e che non comporti rischi di rovinare qualche altra componente della distribuzione. È inutile fare una richiesta di nuove funzionalità in questo momento.
- Contrib - Pacchetti che non sono parte della distro principale, ma che sono importanti perchè qualcuno li ha pacchettizzati o ne ha contribuito allo sviluppo.
- Freeze - Nessuna aggiunta di funzionalità può essere fatta su nessun pacchetto Mandriva e nessun aggiornamento ai pacchetti viene fatto se non per risolvere bug importanti.
- Deep Freeze - Solo bug minori e aggiornamenti di sicurezza possono essere aggiornati.
Articolo tradotto inizialmente da Ironmarc75 - Adattato e completato da nick78 14:29, 15 nov 2009 (UTC)

