Linux Italiano

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Blog Trucchi e consigli Remasterizzare una distribuzione (debian)

Remasterizzare una distribuzione (debian)

E-mail Stampa PDF

Salve a tutti,
in questo articolo volevo spiegare, come sono riuscito a modificare e remasterizzare una distribuzione (LMDE) e renderla quindi live, installabile.... insomma personalizzata.

 Il tutto è partito dal fatto che sostanzialmente a me piace personalizzare le distribuzioni e renderle tutte in italiano possibilmente con una serie di programmi utili installati, per dare l'opportunità a chi non ha la banda larga, di avere una distribuzione Gnu/Linux pronta all'uso e operativa già da subito. Ciò non toglie che anche chi ha una connessione ad internet veloce, può trarre vantaggio scaricando le mie distribuzioni, si trova senz'altro una grossa parte di lavoro già fatto.
Quindi, nello spirito della condivisione, descrivo passo passo come sono riuscito nell'intento.
Per quanto riguarda Ubuntu e LinuxMint mi sono da sempre affidato a "Remastersys" che è un ottimo programmino scritto in python che permette, da una distribuzione installata sul proprio PC, di ricrearne una live installabile o creare una live installabile con tutte le proprie impostazioni.
Volendo applicare questo sistema anche alla distibuzione LMDE (linux mint debian edition), mi sono trovato in braghe di tela.
Difatti, nonstante il programma Remastersys dovrebbe essere compatibile con le distribuzioni basate sulla famiglia Debian, NON ha funzionato.
Che fare?
Dopo svariate ricerche e guidato dall'amico Ezio Da Rin, ho deciso di ricostruire il tutto da zero. Certo è un pò macchinoso, ma alla fine ci si riesce e quel che conta è che si può applicare a qualsiasi distribuzione e in più si fa pratica.
Per comodità ho realizzato tutto su una macchina virtuale avendo a disposizione un pò di RAM (2Gb) e non sporcando il proprio PC, ma si può fare tranquillamente su un PC reale.
..... cominciamo .....

Fase 1:
Ho scaricato l'immagine della distribuzione lmde dal sito di linuxmint
Ho creato con Virtualbox una macchina virtuale dando come RAM diciamo 512 Mb e come disco rigido un 20 Gb (di tipo dinamico).
Ho caricato nella macchina virtuale l'immagine iso scaricata, e ho assegnato il disco fisso.
Chiaramente la macchina reale deve essere collegata ad internet per permettere tramite la scheda di rete della macchina virtuale (tipo di scheda con bridge), di essere collegata anche lei alla rete e scaricare gli aggionamenti ed eventuali programmi aggiuntivi.

Fase 2:
Avvio la macchina virtuale dalla iso ed eseguire un' installazione tipica usando come utente "linuxmint"
(ma potete mettere il nome che volete) e ricordandosi, sempre nella macchina virtuale, di usare un'unica partizione ti tipo EXT3 senza swap attivata.
Ad installazione terminata, ho fatto tutti gli aggiornamenti (circa un'oretta) ho installato i programmi che ritenevo utili, ho aggionato i preferiti di firefox, ho cambiato il tema , lo sfondo, eventuali applicazioni all'avvio e ho impostato l'avvio automatico dell'utente.
Ho controllato le localizzazioni nella nostra lingua accorgendomi che, sebbene in fase di installazione le scaricava, non tutto risultava essere in italiano.
Ho installato, per comodità, il programmino BleachBit (dai repository) che fa una bella pulizia del sistema soprattutto delle localizzazioni.
Installo il pacchetto "live-installer" e creo un'cona sul desktop
Ho provato a riavviare verificando che tutte le impostazioni siano corrette.

Fase 3:
Faccio adesso in modo che per l'utente linuxmint non venga richiesta la password ed imposto inoltre una password vuota sia per linuxmint che per l'utente root. Questo va benissimo nella live, ma chiaramente poi in fase di installazione, il nuovo utente che verrà creato, avrà tutte le credenziali di accesso corretttamente definite. Per fare questo apro il file /etc/sudoers con i privilegi di root.
-> sudo gedit /etc/sudoers
e sostituisco il contenuto con questo:
-----------------------------------------------------------------------------------------------------------------------------
# User privilege specification
root    ALL=(ALL) NOPASSWD: ALL

# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

linuxmint ALL=(ALL) NOPASSWD: ALL
-----------------------------------------------------------------------------------------------------------------------------------
poi apro il file /etc/shadow con i privilegi di root.
-> sudo gedit /etc/shadow e sostituisco la password di root e quella di linuxmint  con questo codice:
U6aMy0wojraho che corrisponde a "invio" ........ mi spiego con un esempio:

root:$6$KqcD06KJ$ZdQRvpxnUG/r19gzruMmUVNXgtLcMXm.lPfk4aiJ4cXupzrjbmgxqjGeJkNoAgK5CIKiUeEzVxuHmKQgr03EA0:14931::::::

con questa  stringa

root:U6aMy0wojraho:14931::::::

Quindi tra  root:   e   :14931::::::  ho inserito  U6aMy0wojraho

Lo stesso  faccio per la stringa dell'utente linuxmint
Salvo ed esco
Faccio una prova riavviando. Esempio, se apro il gestore pacchetti mi chiede la password e se digito invio, apre il programma e funzona... Lo stesso se digito "sudo nautilus" ,  apre il nautilus a livello amministrativo senza richiesta di password.

Fase 4:
modifico il file /etc/live-installer/install.conf     così:
-> sudo gedit /etc/live-installer/install.conf
-------------------------------------------------------------------------------------------------
DISTRIBUTION_NAME=Linux Mint Debian Edition
DISTRIBUTION_VERSION=1.0
# Installation specific paths etc.
[install]
LIVE_MEDIA_SOURCE = /live/image/live/filesystem.squashfs
LIVE_MEDIA_TYPE = squashfs
LIVE_USER_NAME = linuxmint
--------------------------------------------------------------------------------------------------
Da notare la modifica della parola live e dell'utente linuxmint (al posto di casper e mint)
Salvare e uscire
Scaricare dal mio sito la cartella live installer compressa
Estrarla e copiarla in una chiavetta USB.
Ora dobbiamo fare in modo che la macchina virtuale VEDA la chiavetta USB, quindi andiamo nelle impostazioni della nostra macchina virtuale e alla voce usb, inseriamo la nostra chiavetta (che deve essere collegata) In questo modo, al riavvio della macchina virtuale, la chiavetta verrà smontata dalla macchina reale e vista in quella virtuale.
Troppo complicato ?......
Ora, con la macchina virtuale avviata e con i privilegi di amministrazione, sostituiamo la cartella "live installer" che si trova in:
/usr/lib  con la cartella modificata che avete scompattato nella chiavetta.
Fate una prova lanciando il live installer dalla macchina virtuale e vedete se viene scritto in italiano.

Fase 5:
Ora inizia la fase di costruzione del filesystem squashfs che altro non è che un unico file contenente l'immagine della nostra distribuzione linux modificata.
Allora, su un hd esterno preparate una partizione di almeno 10 Gb nel formato EXT3
(Attenzione al formato EXT3, dato che mi ci sono scornato tre giorni  perchè ingenuamente trentavo di copiare su una partizione NTFS i files linux della macchina virtuale ... grazie Ezio)
Ora, come per la procedura sopra descritta per la chiavetta, aggiungiamo un filtro alla macchina virtuale che prenda ora in consideazione il nostro disco USB esterno.
Sempre nella macchina virtuale, a livello CDROM inserire l'immagine iniziale di LMDE (quella scaricata dal sito di linuxmint)
Avviare la macchina virtuale.
Sembrerà di effettuare una nuova installazione ma in realtà noi copieremo tutto il contenuto (tranne alcune cartelle) della distribuzione da noi modificata, nella nuova partizione EXT3 del disco USB esterno visto dalla macchina virtuale.

Bene....

Per comodità mettiamo nella disto live la tastiera italiana.... -> preferences- > keyboard ecc ecc
Adesso clicchiamo sull'icona "Computer" e montiamo il nostro disco rigido virtuale (quello che contiene la nostra LMDE in italiano già installata)
Ora apriamo un terminale e digitiamo:
-> cd /media
poi -> ls

Dovremmo vedere sia il disco rigido virtuale, che quello usb attaccato alla macchina virtuale

Bene... ora diamo da terminale

-> sudo rsync -av /media/discovirtuale/ /media/discousb/ --exclude dev --exclude /proc --exclude /sys

Dove appunto discovirtuale e discousb sono i due dispositivi di trasferimento.
Suggerimento: Se quando digitate il comando dopo l'istruzione /media/  aggiungete le prime lettere che avete ricevuto dal comado ls e premete TAB, vi risparmierete di dover scrivere l'identificativo che linux ha dato per il vostro disco virtuale (a meno che non lo montate a mano prima in una cartella da voi scelta)
Attenzione al comando sudo perchè se non lo mettete alcuni files non verranno copiati nel disco
Dopo una ventina di minuti, tutto il contenuto del disco virtuale, sarà copiato nella partizione del disco esterno usb.
Ora provvediamo a creare le cartelle mancanti (ma essenziali) nella partizione del disco esterno usb.
Spostarsi nella cartella del disco USB con -> cd /media/discousb/
Digitate quindi:
-> sudo mkdir /dev /proc /sys
(che sono cartelle essenziali al funzionamento del sistema)

Ottimo.... smontate tutti i dischi e uscite dalla macchina virtuale.

Fase 6: 
Ora lavoreremo sulla macchina reale.
Accedere alla partizione USB appena creata e come amministratore modificare il file:
/etc/udev/rules.d/70-persistent-net.rules
e cancellare tutte le righe non commentate (si riferiscono al nostro sistema installato virtualmente e non interessano il PC dove verrà avviata la live)
Quindi....
Assicuriamoci di aver installato il pacchetto initramfs-tools che ci permetterà di ricreare l'immagine iso
Apriamo un terminale digitiamo:

-> sudo mksquashfs /media/discousb/ /home/utente/Scrivania/filesystem.squashfs

dove discousb è il nome della partizione del disco usb montato sulla macchina reale
e utente ...... siete voi

Dopo alcuni minuti verrà creato il file filesystem.squashfs nella vostra scrivania.
Ora scaricatevi dal mio sito il pacchetto compresso contenente le cartelle idonee a ricreare il sistema live e decomprimete, ad esempio nella Scrivania.
Modificate i permessi del file filesystem.squashfs e rendetelo leggibile e scrivibile a voi, quindi spostatelo nella cartella /live del file appena scaricato (e decompresso)

Ottimo....

Eventualmente potete modificarvi l'immagine splash della distribuzione o il file isolinux.conf per adattarlo alle vostre esigenze.
Ora creiamo finalmente l'immagine
iso della nostra nuova distribuzione.
Apriamo un terminale e posizionamoci nella Scrivania e digitiamo:

->  mkisofs -pad -l -r -J -v -V lmde-ita -boot-load-size 4 -no-emul-boot -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -o lmde-ita.iso /home/utente/Scrivania/lmde_ezio/

E' sottointeso che lmde-ita.iso è il nome della nostra iso - utente è il vostro utente e lmde_ezio è il nome della cartella scompattata. (se volete potete cambiargli nome)
-----------------------------------------------------------------------------------------------------------
Bene, finisce qui questa breve guida che spero possa essere d'aiuto a qualcuno.
Mi raccomando però... non toglietemi tutto il divertimento.

ciao alla prossima.
Alberto














 

Ultimo aggiornamento Martedì 30 Novembre 2010 08:18  

Aggiungi un commento

Il tuo nome:
Indirizzo email:
Titolo:
Commento:

alt stampa

Descrizione Alternativa

Istituto Majorana di Gela
un sito molto interessante

Perchè passare a Linux

27 Validi motivi
per innamorarsene

alt stampa

Il Bloggatore
Le notizie sull'informatica direttamente
dal mondo dei Blog

alt stampa

FREE PC
Un computer per tutti !

yvComment


Notizie flash

Girando per il web, ho trovato questo sito che presenta una ennesima distribuzione basata su Ubuntu.
Si tratta di UbuBox SalentOS tutta fatta made in Italy e precisamente nel Salento.
L'ho scaricata e...... molto bella e leggera e ho pensato che potesse tornare utile a qualcuno.

Link pagina principale del sito
Link delle caratteristiche
Link diretto per il download

Alberto