[HOW-TO] Guida passo passo per creare copie di sistema avviabili su file.

Installazione, configurazione e uso di programmi e strumenti.
einstein1969
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 931
Iscrizione: mercoledì 7 dicembre 2005, 11:52

[HOW-TO] Guida passo passo per creare copie di sistema avviabili su file.

Messaggio da einstein1969 »

GUIDA IN COSTRUZIONE. (Work in progress...)

Preambolo
Se volete commentare o aiutarmi nella stesura fatelo! Ho bisogno di voi! Volevo completare la guida insieme a voi e realizzare delle piccole procedure automatizzate per rendere i passi piu' facili da eseguire per chi e' meno esperto. Un'altro scopo di questa guida e' quello di raccogliere informazioni sparse sul web e renderle fruibili per aumentare la conoscenza dei meno esperti. Sono convinto che non basta dare supporto ma bisogna rendere le persone indipendenti. A volte manca la volonta' di migliorarsi ma a volte manca anche la volonta' di rendere le persone che abbiamo di fronte totalmente libere e indipendenti. A volte ci teniamo per noi quell'informazione/conoscenza proprio per renderci indispensabili e creiamo senza saperlo dipendenza.
E la dipendenza e' sempre una malattia.

Per i moderatori: Non sapevo dove crearla... O qui o nei 3rd Party Projects o ... se volete spostatela dove dovrebbe andare... Grazie.



Introduzione
Spero che questa guida possa servire come base per altre piu' semplici o per una futura applicazione di backup o procedure di backup/recovery.


Prerequisiti:
La seguente guida si applica ad una installazione ubuntu 8.04 su una partizione, quindi non e' possibile applicarla ad un sistema installato tramite wubi.
La copia puo' essere fatta su un filesystem che risiede su altra partizione o altro disco, quindi non si puo' effettuare la copia sullo stesso filesystem di root (/)
Al momento si presuppone che il sistema da copiare sia su una sola partizione.
Questi vincoli potranno essere superati nel tempo man a mano che si faranno altri test e amplieremo la guida.

NOTA: La seguente guida fa un backup a caldo, cioe' con il sistema da cui fare la copia in esecuzione. Questo comporta una probabilita' che il backup del sistema sia inconsistente. Sebben molti prodotti fanno backup a caldo credo che tutti siano affetti da questa cosa. Molti sistemi professionali fanno backup a freddo proprio per ovviare a questa cosa. Riadattero' la guida anche per fare un backup a freddo.


Passi:
Supponiamo che si voglia copiare su un filesystem NTFS. Questi sono i passi:
  • 1) Creare una directory dove mettere la copia del sistema. Per esempio se il filesystem NTFS e' montato su /media/NTFS: (((Si utilizza la struttura usata anche dal wubi per poter utilizzare poi il supporto lupin )))
    cd /media/DatiNTFS
    mkdir ubuntu
    mkdir ubuntu/disks
    mkdir ubuntu/disks/boot
    mkdir ubuntu/disks/boot/grub
    Nota tecnica: Nella fase di boot il grub dovra' accedere al menu.lst per sapere quale kernel avviare. Inoltre il kernel dovra' essere disponibile e initramfs dovra' essere generato con il supporto lupin. Quindi la directory di boot dovra' risultare accessibile dal grub. Si riesce ad avere la directory sia esterna che interna al file utilizzando il mount con l'opzione --bind.
  • 2) Creare il file che conterra' l'intero sistema (che chiameremo root.disk) e lo formattiamo in ext3. Per esempio 15Gb.
    dd if=/dev/zero of=/media/DatiNTFS/ubuntu/disks/root.disk count=0 bs=1M seek=15360
    mkfs -V -t ext3 /media/DatiNTFS/ubuntu/disks/root.disk
    Nota tecnica: Il file e' creato come sparse usando l'opzione seek del comando dd rendendo la creazione del file di 15Gb pressocche' istantanea.
  • 3) Montare il file per poterci copiare dentro.
    mkdir /tmp/imagetmp
    sudo mount -o loop,sync /media/DatiNTFS/ubuntu/disks/root.disk /tmp/imagetmp
    Nota tecnica: Uso parametro sync cosi' non usa la cache. (lento ma sicuro)
  • 4) Copiare tutto con rsync.
    sudo rsync --human-readable --verbose  --progress --stats --times --owner --perms --group  --checksum --recursive --links --hard-links --specials --devices --whole-file --log-file=/tmp/rsync.log --exclude=/sys/* --exclude=/proc/* --exclude=/host/* --exclude=/mnt/* --exclude=/media/*/* --exclude=/tmp/* --exclude=/home/*/.gvfs --exclude=/root/.gvfs / /tmp/imagetmp/
    Nota tecnica: Qui si e' usato rsync  version 2.6.9  protocol version 29. Notare che la directory /tmp non e' copiata ed e' la stessa directory su cui montiamo il file system virtuale che stiamo creando. Le directory /proc e /sys non e' necessario copiarle. La directory /host in genere e' usata dal supporto lupin e monta il filesystem ospitante quindi non va copiata. Le directory /mnt e /media sono directory che in genere montano altri filesystem e quindi qui vengono escluse. Sono escluse anche le directory .gvfs che appartengono al virtual filesystem di Gnome. Per gli altri paramentri potete vedere man rsync. Inoltre viene creato un file di log. Ho tolto l'opzione --delete in quanto pericolosa. Per ogni file copiato l'rsync calcola un checksum e controlla se la copia e' stata creata identica! E' stata tolta l'opzione -S (gestione file sparse efficiente) perche' rallentava notevolmente la copia. Nel caso di backup a caldo il tempo di copia di rsync puo' risultare lungo e rallentare notevolmente il sistema. Si puo' ovviare a questo limitando l'uso del sistema con il parametro --bwlimit=KBPS. Sostituendo a KBPS un valore adatto allo scopo.
  • 5) Bisogna poi installare nella nostra copia il support lupin. Utilizziamo per fare questo il comando chroot
    sudo mount -o bind /proc /tmp/imagetmp/proc
    sudo mount -o bind /dev /tmp/imagetmp/dev
    sudo mount -o bind /sys /tmp/imagetmp/sys

    sudo chroot /tmp/imagetmp/
    ed eseguiamo l'installazione del pacchetto nell'ambiente chroot:
    apt-get install lupin-support
    exit
    sudo umount /tmp/imagetmp/proc
    sudo umount /tmp/imagetmp/dev
    sudo umount /tmp/imagetmp/sys
  • 6) E' necessario poi modificare l'fstab del sistema che e' stato copiato. (qui si puo' fare una procedura automatica)
    # /etc/fstab: static file system information.
    #
    #                        
    #
    # Righe in comune
    proc                                       /proc          proc         defaults               0  0  
    /dev/scd0                                  /media/cdrom0  udf,iso9660  user,noauto,exec,utf8  0  0  
    #
    #
    # Partizione reale
    ##UUID=69333b09-4dba-4110-a22e-a8b1f5ba6576  /              ext3         errors=remount-ro      0  1  
    ##UUID=d00830fa-528b-4fbf-a1ba-9610648a6b41  none           swap         sw                     0  0  
    #  
    #
    #
    # Filesystem virtuale montato in loop (es.wubi lubi)
    /host/ubuntu/disks/root.disk /       ext3    loop,errors=remount-ro 0  1
    /host/ubuntu/disks/swap.disk none swap loop,sw 0  0
    #
    # e si aggiunge in modalita' bind sempre per il virtuale:
    #
    /host/ubuntu/disks/boot /boot none    bind             0  0
  • 7) Infine modificare il file di configurazione del Grub necessario per poter avviare il backup semplicemente scegliendolo tra i sistemi operativi installati sul pc.
    Working...

Strumenti:
  • [li]Come calcolo lo spazio necessario per la mia copia di backup? Da un terminale digitare:
    df / |tail -n 1|awk '{sum = ($3 + ($3*15/100))/1000} {print sum}'
    Il risultato e' in MByte. Viene aggiunto un 15% di spazio in piu'. Se volete piu' spazio basta che modificate il 15 nell'espressione.
  • Un utile strumento per diagnosticare problematiche di boot che segnalo e' il Boot Info Script - SourceForge.net (veramente potente)
    Boot Info Script: How to
Riferimenti:
Generale: RigaDiComando - BackupDelSistema
Mount: Mount - Mounting Windows Partitions in Ubuntu
Fstab: Fstab
Grub: Grub - Grub Legacy - Ripristino Grub - Grub 2 Title Tweaks - The Grub 2 Guide (formerly Grub 2 Basics) - GRUB 2 - 5 Common Tasks
Rsync: Rsync
Lupin: Lupin, the loop installer (vedi anche pacchetto lupin-support)
Specifici: Creating, booting, and restoring bootable full-system backup images using Bubakup - WubiGuide
Wubi, the easiest way to Linux!

Ultima modifica di einstein1969 il venerdì 29 gennaio 2010, 21:27, modificato 1 volta in totale.
einstein1969
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 931
Iscrizione: mercoledì 7 dicembre 2005, 11:52

Re: [HOW-TO] Guida passo passo per creare copie di sistema avviabili su file.

Messaggio da einstein1969 »

GUIDA IN COSTRUZIONE. (Work in progress...)

questa guida prende ispirazione da questa discussione.

Avvio di ISO per installazione o recupero dati da windows/ubuntu

Qui di seguito esplicito i passi necessari per avviare una immagine ISO in quei casi particolari in cui o non funziona il boot da USB/CDROM o non c'e' la possibilita'.

Se invece non avete USB ne CDROM ecco una situazione per installare o avviare una live per recupero dati o manutenzione.

Si presuppone che ci sia un sistema operativo funzionante e internet connesso.

CASO 1 : Ho windows XP

Useremo GRUB4DOS (lo stesso strumento che usa WUBI)

Questo e' utile per avviare la live per un recupero dati.

CASO 2 : Ho Linux/Ubuntu
Sottocaso A: Avviare una installazione frugale.
  • 1) Scaricare la ISO in versione "desktop". (Per la alternate non funziona) . Supponiamo di averla scaricata in /temp e il nome ubuntu-10.04.1-desktop-i386.iso
  • 2) Lanciate gparted e create una partizione di 900MB ext3 che conterra' la ISO estratta. Supponiamo che questa partizione appena creata sia /dev/sda7.
  • 3) Se dovete installare vi conviene creare anche una partizione dove andra' a finire il nuovo sistema linux/ubuntu.
  • 4) Ora dovrete copiare il contenuto dell'ISO nella partizione /dev/sda7 da 900MB
    mkdir /tmp/install_cd
    mkdir /tmp/installer

    sudo mount /temp/ubuntu-10.04.1-desktop-i386.iso -o loop /tmp/install_cd
    sudo mount /dev/sda7 /tmp/installer

    sudo rsync -a /tmp/install_cd/ /tmp/installer

    sudo umount /tmp/install_cd
    sudo umount /tmp/installer
    sostituite i nomi giusti e i percorsi della partizione , della directory contenente l'iso e il nome dell'iso.
  • 5) Modificate il menù del grub , il file di configurazione (in /etc/grub.conf o /boot/grub/menu.lst) aggiungendo le seguenti linee
    title           installer
    root            (hd0,6)
    kernel          /casper/vmlinuz boot=casper root=/dev/ram ramdisk_size=1048576 rw
    initrd          /casper/initrd.lz
    (hd0,6) si riferisce a sda7 . Grub versione 1 decrementa di una unita'.

    Per grub 2 modificate /etc/grub.d/40_custom e aggiungete le seguenti righe
    menuentry "installer" {
           insmod ext2
           set root=(hd0,7)
           linux /casper/vmlinuz boot=casper root=/dev/ram1 ramdisk_size=1048576 rw
           initrd /casper/initrd.lz
    }
    poi date "update-grub" . Notate che la numerazione per grub 2 non toglie una unita'
  • 6) Riavviate e segliete "Installer"

    Durante l'installazione puo' succedere che l'installer non vede il disco in cui installare (sda per esempio). Percio' editate /etc/mtab e cancellate la linea che specifica la partizione dove e' montato il crdom. Poi riavviare l'installazione.

    RIF : InstallFromLinux

Unetbootin:

scaricare unetbootin (e' sia per linux che per windows)

Strumenti per il partizionamento:

Gparted 0.6.4 e' basata su libparted (parted 2.3)  piu' altri tools (e2fsprogs, ntfsprogs, etc.), supporta il raid. E' possibile scaricare una ISO "live" da qui. E' possibile seguire una guida manuale per installare la live su una partizione dell'HD. E' sempre necessario fare un backup prima di usarlo e leggere le FAQ e la documentazione

PartedMagic 5.5 , contiene Gparted 0.6.2 (la 5.6 conterrà la 0.6.4) e tanti altri programmi di recupero dati (Testdisk). Puo' fare backup (usa clonezilla-1.2.6-20 , partimage 0.6.9, etc.) ed altro, gira anche con 128MB di ram. C'e' una miniguida per l'installazione "frugale" su hd e per avviare l'ISO con Grub4Dos

Clonezilla , la versione stabile e' la 1.2.6-24. (ma anche la -20 e' ok!)



Strumenti:
Gui per Grub4Dos : Grub4DOS Toolbox for Windows
Grub4Dos, Links e WHERETO : Grub4Dos, Basic links and WHERETO
Altro sito ufficiale con features/esempi : grubdos
Boot ISO : Boot "any" ISO image or boot "all" ISO images
Guida Grub4dos : Grub4dos Guide/Tutorial - Grub4dos Guide
Mapping ISO: grub4dos, .iso images and (hd32) or (0xFF) mapping
ISO booting : grub4dos-iso-booting
Tutorial Ufficiale : Grub4dos tutorial - Wiki : Main Page
Conversione in grub2.cfg : Converting GRUB4DOS menu.lst to GRUB2 grub.cfg
Using Grub4DOS to Create a Bootable Drive : acronis_grub4dos
...
Da vedere:
Rif: unetbootin - Grub: Boot Immagine ISO con GRUB2 - grub2 - avviare iso da usb - install-ubuntukubuntuedubuntuxubuntu-without-cdrom-drive - Illustrated Dual Boot  Site - Grub4dos_tutorial
Ultima modifica di einstein1969 il mercoledì 6 ottobre 2010, 22:41, modificato 1 volta in totale.
patel
Accecante Asceta
Accecante Asceta
Messaggi: 23782
Iscrizione: martedì 15 aprile 2008, 20:27
Località: Livorno

Re: [HOW-TO] Guida passo passo per creare copie di sistema avviabili su file.

Messaggio da patel »

Avvalendosi del grub2 si può fare molto più semplicemente così:
1) salvare la iso (nell'esempio ubu.iso) in una partizione, possibilmente in / (nell'esempio è in sda13)
2) aggiungere al grub.cfg le seguenti righe

Codice: Seleziona tutto

menuentry "Ubuntu live" {
    set isofile="/ubu.iso"
    loopback loop (hd0,13)$isofile 
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash --
    initrd (loop)/casper/initrd.lz
}
3) riavviare e scegliere Ubuntu live
4) prima di avviare l'installazione editare il file /etc/mtab (sudo gedit /etc/mtab) e cancellare le righe
relative al cdrom ed alla partizione dove è la iso
5) avviare l'installazione
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 27 ospiti