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