Creare dei DVD dei repository Debian (o Ubuntu)
Transcript
Creare dei DVD dei repository Debian (o Ubuntu)
Creare dei DVD dei repository Debian (o Ubuntu) Oggi, dopo un bel po’ di tempo di inattività, vi spiego come fare a creare dei CD/DVD partendo dai repository online di Debian, Ubuntu o di qualunque altro repository per APT: sistema di pacchettizzazione Debian. Se avete amici senza ADSL o voi stessi a casa non l’avete questa guida fa per voi! In particolare vedremo come creare e utilizzare i DVD del repository di Debian Lenny, Ubuntu Feisty; e i CD dei repository di debian-multimedia e Medibuntu. Cambiando poche cose si può adattare la procedura per qualunque versione di Debian (testing, unstable, stable, sid, etch, ecc..) e qualunque versione di Ubuntu (gutsy, dapper, ecc…). Così come di qualunque altro repository non ufficiale. Chi ha intenzione di usare un sistema Debian avrà bisogno dei repository Debian e di debian-multimedia; chi vorrà usare Ubuntu avrà bisogno dei repository Ubuntu e di Medibuntu. Cosa serve • • • • • Una connessione ad internet: possibilmente veloce circa 40 GB di spazio libero su Disco: formattato con filesystem che supporta file da più di 2 GB; possibilmente evitate NTFS! (ext2, ext3, RaiserFS) Un sistema basato su Debian (anche un Live CD può andare bene se avete il disco con i 40 GB accessibile dal Live CD) circa 4 DVD: dipende dai repository che volete scaricare in locale. Un masterizzatore di DVD Produrre CD e DVD del repository Installiamo l’occorrente da root installiamo questi pacchetti debmirror debpartial ruby mkisofs possiamo farlo da root con il comando apt-get install debmirror debpartial ruby mkisofs oppure con il sistema che preferite ora vi serve uno script che è contenuto nel pacchetto debpartial: debcopy nel mio sistema l’ho trovato in questa posizione: /usr/share/doc/debpartial/examples/debcopy.gz scompattiamo l’archivio Gzip e teniamoci lo script debcopy da parte, potete decomprimerlo con questo comando gunzip /usr/share/doc/debpartial/examples/debcopy.gz Decidere quale repository scaricare Questa decisione spetta a voi, in questa guida userò i seguenti repository: • • • ftp://it.archive.ubuntu.com/ubuntu/ — repository FTP italiano di Ubuntu ftp://ftp.it.debian.org/debian/ — repository FTP italiano di Debian http://www.debian-multimedia.org — repository HTTP di debian-multimedia ufficiale • http://packages.medibuntu.org/ — repository HTTP di Medibuntu ufficiale Queste informazioni potete ricavarle dalla vostra source.list (/etc/apt/source.list) se volete scaricare i repository che state utilizzando sul vostro sistema, oppure cercando sul web. Qui ho utilizzato quelli ufficiali. Lista mirror Debian Lista mirror Ubuntu Lista mirror debian-multimedia Lista mirror Medibuntu Un altra cosa da scegliere è l’architettura di cui volete il repository: la guida utilizza l’architettura i386 di tutti i normali PC. Come vedremo per alcuni repository non è possibile fare questo tipo di selezione. Scarichiamo il repository ***IMPORTANTE*** Create una cartella sul disco con almeno 40 GB di spazio! PRIMA di iniziare a dare i comandi spostatevi in quella cartella perché TUTTO il contenuto della cartella potrebbe venir cancellato! Se per esempio date il comando mentre vi trovate nella vostra “Home directory” eliminerete tutti i vostri file e le vostre impostazioni personali… il comando debmirror scarica tutto il contenuto di un repository debian, quindi elimina qualunque altro file presente nella cartella dove avete scaricato il contenuto. Io vi ho avvertito! Attenti a quel che fate… per spostarvi nella cartella: cd /percorso/della/cartella/che/avete/creato verificate di trovarvi in quella cartella con il comando pwd********************* Iniziamo spostandoci nella cartella vuota (!) appena creata, quindi diamo questo comando x il repository di Debian: debmirror --nosource -m --passive --host=ftp.it.debian.org --root=debian/ --method=ftp --progress -dist=lenny --section=main,contrib,non-free --arch=i386 mirror-debian/ --ignore-release-gpg x il repository di Ubuntu debmirror --nosource -m --passive --host=it.archive.ubuntu.com --root=ubuntu/ --method=ftp --progress -dist=feisty --section=main,multiverse,universe,restricted --arch=i386 mirror-ubuntu/ --ignore-release-gpg ora vediamo il significato delle singole opzioni • • • • • • • • • --nosource » non scaricare i sorgenti, se volete anche i sorgenti nei vostri DVD (o nel vostro repository locale) rimuovete questa opzione, considerate che la dimensione del repository sarà più del doppio. I sorgenti servono solo se avete intenzione di visionare il codice dei programmi che installate o volete compilarli manualmente -m » verifica che tutti i file siano stati scaricati correttamente: il tutto è più lento ma vi assicura di non avere dei file corrotti --passive » scarica in modalità passiva: lasciatelo se non sapete cosa sia --host=<indirizzo> » indica l’indirizzo del repository da voi scelto: senza “http://” o “ftp://” davanti e senza una directory successiva (es. ftp://ftp.it.debian.org/debian/ -> ftp.it.debian.org) --root=<directory-remota> » indica la directory remota del server: se non presente potete rimuovere l’opzione o dare come directory “/” (es. ftp://ftp.it.debian.org/debian/ -> debian/) --method=<protocollo-da-usare> » ftp o http. Dipende dal repository che avete scelto: in genere è preferibile il protocollo ftp per grossi trasferimenti di file; cercate di scegliere dei repository che supportino ftp se possibile (es. ftp://ftp.it.debian.org/debian/ -> ftp) --progress » mostra una barra di avanzamento durante lo scaricamento di ogni file --dist=<distro-scelta> » qui ci dovete mettere il nome della distribuzione scelta: per debian sarge, etch, lenny, sid, testing, stable, unstable; per ubuntu dapper, feisty, gutsy, ecc… È lo stesso nome che si mette nel file source.list (es. deb ftp://ftp.it.debian.org/debian/ lenny main contrib non-free -> lenny) --section=<lista-sezioni> » spesso i repository sono suddivisi in sezioni: qui dovete scrivere la lista delle sezioni che volete scaricare separate da virgola (es. deb • • • ftp://ftp.it.debian.org/debian/ lenny main contrib non-free -> main,contrib,nonfree) --arch=<architettura> » dipende dall’installazione che volete fare e su quale macchina vi trovate: se avete installato Ubuntu versione “normale” allora i repository saranno i386; se avete la versione a 64bit allora sarà amd64; se avete la versione per MAC sarà powerpc e così via… Se volete scaricare più architetture separatele da virgole mirror-<qualcosa>/ » è il nome che diamo alla cartella dove verrà scaricato tutto il repository: potete decidere il nome che preferite o lasciare quello che vi ho consigliato. ATTENZIONE il contenuto della cartella qui indicata estraneo ai file che debmirror scarica verrà completamente eliminato! --ignore-release-gpg » se il file release.gpg non viene trovato il procedimento non fallisce ma continua Come abbiamo visto sia per il repository Debian che per il repository Ubuntu abbiamo scelto particolari sezioni e architetture senza sorgenti dei pacchetti. Per come sono fatti alcuni repository talvolta non è possibile scaricare solo parte di essi. Veniamo ora ai (molto più piccoli ma più problematici) repository debian-multimedia e Medibuntu: necessari per vedere DVD originali e leggere tutti i formati proprietari di microsoft; essi contengono anche diversi software multimediali, come mplayer e mencoder, in genere più aggiornati del repository ufficiale. Se vi interessano solo DVD originali e formati di file proprietario potete scaricare manualmente i due pacchetti libdvdcss2 e w32codecs saltando questo passaggio (non è il caso di sprecare un CD per solo 2 pacchetti) per debian-multimedia (Debian) debmirror --nosource -m --passive --host=www.debian-multimedia.org --root=/ --method=http --progress -dist=lenny --section=main --getcontents --arch=i386,alpha,amd64,hppa,ia64,powerpc,sparc mirror-debianmultimedia/ --ignore-release-gpg NOTA: ho il dubbio sono sicuro che con tutte le architetture debian-multimedia potrebbe non entrare non entra in un CD… Infatti il tutto occupa (ad oggi: 12/09/2007) 743.3 MB. Si può suddividere questo repositori in 2 CD volendo: uno da 700 MB e l’altro da 43.3 MB; sarebbe però un enorme spreco! Spero di scoprire perché il repository non è accettato se manca qualche architettura così da poter eliminare le architetture non necessarie e far stare tutto in uno solo CD. Se qualcuno ne sa qualcosa è gradito un commento. per Medibuntu (Ubuntu) debmirror -m --passive --host=packages.medibuntu.org --root=/ --method=http --progress --dist=feisty -section=free,non-free medibuntu/ --ignore-release-gpg --getcontents --arch=i386,amd64,powerpc --ignorerelease-gpg NON È FINITA CON QUESTI DUE! Continuate a leggere o butterete via un CD Innanzi tutto notate che ho: • rimosso “--nosource“ • • • • cambiato “--method” da ftp a http aggiunto “--getcontents“ sistemato le “--section” a seconda del repository elencato TUTTE le architetture presenti nel repository Ora, perché una volta masterizzati questi CD funzionino dovete ancora • • estrarre a mano i file “Contents-<arch>.gz” che trovate nella cartella “mirror<cd>/dists/<dist>/” ovviamente adattate le scritte tra “<,>” al vostro CD (esempio: “mirror-debian-multimedia/dists/lenny/”). Alla fine dovreste avere sia i “Contents-<arch>.gz” che i “Contents-<arch>” in quella cartella scaricate manualmente il file “release” sempre nella cartella “mirror<cd>/dists/<dist>/”. Tale file può essere trovato nel repository da voi scelto nella cartella “dists/<dist>”. (es. www.debian-multimedia.org/dists/lenny/release) Sinceramente non ho idea del perché questi repository necessitino di questi ulteriori passi o del perché è necessario scaricare tutte le architetture e tutti i sorgenti: se qualcuno sapesse spiegarmelo qui nei commenti gliene sarei grato. Per concludere questi ultimi 2 CD necessitano delle “chiavi” per funzionare. Questo passo vi servirebbe anche se decideste di utilizzare i repository online! Visto che il CD dovrà servirvi online reperite la chiave e copiate il file che la contiene nella cartella del suo mirror. Cercate quali sono le chiavi che vi servono e prelevatele. Ecco come fare con i due repository descritti: x debian-multimedia: gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 1F41B907 gpg -a –export 1F41B907 > debian-multimedia.key x medibuntu: wget http://packages.medibuntu.org/medibuntu-key.gpg entrambe le informazioni qui sopra si possono trovare con pochi secondi di ricerca su Google o altro motore di ricerca. Per concludere mettete la chiave scaricata nella directory contenente tutto il repository corrispondente in modo che una volta masterizzato sarà possibile anche senza essere connessi autenticare il CD. Com’è fatto il repository Questo può esservi utile per capire come agire sui repository di debian-multimedia e medibuntu. All’interno di ogni repository, o mirror (copia esatta del repository), sono presenti 2 ( o 3) cartelle: • dists » contiene tutte le informazioni sul contenuto • • pool » contiene tutti i pacchetti project » potrebbe esserci: non so cosa sia ma voi lasciatela! dentro a “dists” c’è una cartella per ogni distribuzione es.: lenny o feisty dentro al nome della distribuzione (che chiamerà <dist> genericamente) ci sono diversi file e una cartella per ogni sezione: (es. per ubuntu avremo le cartelle: main, multiverse, universe e restricted). Alcuni file Contents-<arch>.gz e i corrispettivi Contents-<arch>: dove al posto di <arch> troverete le varie architetture supportate dalla distribuzione. Infine ci saranno i due file “release” e “release.gpg” Potete consultare il contenuto dei repository online seguendo i link qui sotto: la struttura è la stessa, c’è solo un po’ di roba in più! • • • • Debian Ubuntu debian-multimedia medibuntu Dividere il repository in DVD Quest’operazione è necessaria solo per grossi repository: che non possono essere completamente contenuti in un solo DVD o in un solo CD. Pertanto l’operazione è necessaria solo per il repository Debian e quello Ubuntu: non serve per debian-multimedia e Medibuntu che entrano tranquillamente in un CD. Recuperate il file debcopy che ci eravamo tenuti da parte prima e mettetelo nella cartella di lavoro x Debian questo crea la directory debian-dvd mkdir debian-dvd questo costruisce l’indice dei file che verranno inseriti in ogni dvd debpartial --nosource --dirprefix=debian --section=main,contrib,non-free --dist=lenny --size=DVD mirrordebian/ debian-dvd/ adesso dobbiamo preparare i singoli DVD: il numero di DVD dipende dalla dimensione del repository. Qui suppongo che servano 4 DVD, ma non ho idea di quale sia il numero esatto necessario. Ogni DVD conterrà circa 4.5 GB di dati: potete farvi il calcolo una volta scaricato l’intero repository. ruby debcopy -l debian-dvd/ debian-dvd/debian0 ruby debcopy -l debian-dvd/ debian-dvd/debian1 ruby debcopy -l debian-dvd/ debian-dvd/debian2 ruby debcopy -l debian-dvd/ debian-dvd/debian3 x Ubuntu questo crea la directory ubuntu-dvd mkdir ubuntu-dvd questo costruisce l’indice dei file che verranno inseriti in ogni dvd debpartial --nosource --dirprefix=ubuntu --section=main,multiverse,universe,restricted --dist=feisty -size=DVD mirror-ubuntu/ ubuntu-dvd/ adesso dobbiamo preparare i singoli DVD: il numero di DVD dipende dalla dimensione del repository. Qui suppongo che servano 4 DVD, ma non ho idea di quale sia il numero esatto necessario. Ogni DVD conterrà circa 4.5 GB di dati: potete farvi il calcolo una volta scaricato l’intero repository. ( per feisty il numero di DVD è effettivamente 4: provato) ruby debcopy -l ubuntu-dvd/ ubuntu-dvd/ubuntu0 ruby debcopy -l ubuntu-dvd/ ubuntu-dvd/ubuntu1 ruby debcopy -l ubuntu-dvd/ ubuntu-dvd/ubuntu2 ruby debcopy -l ubuntu-dvd/ ubuntu-dvd/ubuntu3 le sottodirectory così create (debian0, debian1, …, ubuntu0, ubuntu1, …) contengono i link a tutti i file di ogni singolo DVD Creiamo le immagini dei DVD/CD da masterizzare x Debian diamo questo comando per ogni DVD mkisofs -f -J -r -o debian-dvd-0.iso debian-dvd/debian0 mkisofs -f -J -r -o debian-dvd-1.iso debian-dvd/debian1 mkisofs -f -J -r -o debian-dvd-2.iso debian-dvd/debian2 mkisofs -f -J -r -o debian-dvd-3.iso debian-dvd/debian3 e per il CD di debian-multimedia mkisofs -f -J -r -o debian-multimedia-cd.iso mirror-debian-multimedia/ x Ubuntu diamo questo comando per ogni DVD mkisofs -f -J -r -o ubuntu-dvd-0.iso ubuntu-dvd/ubuntu0 mkisofs -f -J -r -o ubuntu-dvd-1.iso ubuntu-dvd/ubuntu1 mkisofs -f -J -r -o ubuntu-dvd-2.iso ubuntu-dvd/ubuntu2 mkisofs -f -J -r -o ubuntu-dvd-3.iso ubuntu-dvd/ubuntu3 e per il CD di Medibuntu mkisofs -f -J -r -o medibuntu-cd.iso mirror-medibuntu/ Masterizzare i CD/DVD A questo punto abbiamo tutte le immagini dei DVD e dei CD pronte da masterizzare con il programma che preferite! Cercate l’opzione “masterizza immagine CD/DVD” o simile. Utilizzare i CD/DVD del repository Se già non lo è: installate Debian o Ubuntu. Se, per debian, usate il netinstall dovrete farlo da un amico munito di connessione veloce. Una volta dentro al sistema Debian/Ubuntu aprite Synaptic (se siete su Gnome) Desktop->Amministrazione->Gestore di pacchetti Synaptic e preparatevi ad aggiungere i vostri repository Modifica->Aggiungi CD-Rom.. vi verrà chiesto di inserire un disco nell’unità: inserite uno dei dischi e date OK vi viene quindi chiesto di dare un nome al disco: potete scegliere ciò che più preferite ma io consiglio qualcosa come Debian Lenny DVD 1 - <data> Ubuntu Feisty DVD 3 - <data> Debian-multimedia - <data> Medibuntu - <data> ovviamente sopra il disco dovete scrivere le stesse cose perché, quando vi verrà richiesto il CD/DVD, il nome che mettete qui adesso è quello che vi verrà sarà domandato dal sistema! alla fine della procedura, che potrebbe durare un po’, vi chiederà se avete altri CD/DVD da aggiungere. Dite Sì finché non li avrete aggiunti tutti. per finire sempre da Synaptic Impostazione->Archivi pacchetti togliete la spunta da tutti i repository via Internet e lasciate SOLO i CD/DVD appena immessi. Il motivo è che se vi collegate occasionalmente a internet potreste effettuare degli aggiornamenti che vi impediranno di installare il software che avete nei DVD. Ovviamente questo non è il massimo per la sicurezza: un sistema che necessita di DVD e non può utilizzare i più comodi repository online è un sistema che non può accedere a internet; pertanto quel sistema ha molte meno minacce esterne. Cliccate “ricarica” per ottenere la nuova lista pacchetti… avete finito quando installerete qualcosa vi verrà richiesto il relativo DVD. Per aggiornare i DVD Può servire a qualcuno.. Semplicemente rilanciate il comando debmirror come visto in precedenza per effettuare l’aggiornamento del repository, la procedura per produrre i DVD procede poi nello stesso modo. NOTA: sarà di nuovo necessario svolgere i passaggi manuali per i CD di debian-multimedia e medibuntu. Considerazioni Finali Pro e Contro Utilizzando dei DVD al posto dei repository si hanno alcuni vantaggi e alcuni svantaggi… Pro • • Non è necessaria una connessione ad internet per utilizzare tutto il software dei repository L’installazione di grossi pacchetti è molto veloce perché il tempo di scaricamento si riduce drasticamente. Contro • • Quando si installano diversi pacchetti è molto probabile che vi vengano richiesti più DVD, talvolta tutti… È abbastanza fastidioso dover continuare a cambiare DVD nel drive tutte le volte che viene richiesto. Non si possono fare aggiornamenti di sicurezza (ma se vi servono questi DVD si presuppone che non abbiate una grande disponibilità di connessione. Se ci sono suggerimenti, correzioni, consigli sono ben accetti