Da hd a ssd clonare home e reinstallare il sistema operativo

3 risposte [Ultimo contenuto]
Ritratto di pippuccio76
pippuccio76
(Junior)
Offline
Junior
Iscritto: 29/05/2013
Messaggi: 44

Salve , come da titolo vorrei sostituire l'hd del portatile con l'ssd , a me interessano i dati della home e un qualche comando per reinstallare tutti i software una volta reinstallato il sistema operativo.
E' possibile copiare solamente la home o al limite sostituire l'hd , reinstallare debian e copiare la home ?

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2913

Il metodo più pulito, secondo me, è fare un backup dello stato dei pacchetti in un file facile da traslocare da un sistema all'altro, ad esempio:

dpkg --get-selections > stato-dei-pacchetti
Salva il file stato-dei-pacchetti dove è facile traslocarlo dal vecchio sistema al nuovo, ad esempio su una chiavetta USB. Poi sostituisci l'HD con l'SSD e ci installi sopra una Debian minimale con l'installer netinst. Una volta che la nuova Debian è funzionante, puoi ripristinare lo stato dei pacchetti com'erano:
dpkg --set-selections < stato-dei-pacchetti
apt-get dselect-upgrade

Per i dati della home, se non occupano molto spazio li puoi salvare sulla solita chiavetta USB e quindi traslocarli sul nuovo sistema. Non copiarli file per file, perché rischi di perdere informazioni come proprietario, permessi, ecc. Piuttosto usa tar che preserva questi metadati, così:

cd ~
tar --create --file /percorso/la-mia-home.tar --verbose .

Una volta installato il nuovo disco, basta fare l'operazione inversa:
cd ~
tar --extract --file /percorso/la-mia-home.tar --verbose

Ovviamente passare attraverso una chiavetta USB è piuttosto lento. Se hai la possibilità di collegare l'HD insieme all'SSD sul nuovo sistema, puoi fare il passaggio diretto usando un "tar pipe" (attento a parentesi e spazi):

( cd ORIGINE && tar cf - . ) | ( cd DESTINAZIONE && tar xf - ) 

Nel tuo caso sarà qualcosa del genere:
mount /dev/hdc1 /mnt
cd /mnt/home/pippuccio
tar cf . - | ( cd ~ && tar xf - )

Nota che qui ho usato una sintassi abbreviata per tar, dove una semplice c è equivalente a --create, ecc.

Ritratto di pippuccio76
pippuccio76
(Junior)
Offline
Junior
Iscritto: 29/05/2013
Messaggi: 44

Citazione:

tar --create --file /percorso/la-mia-home.tar --verbose .

Scusa ma non manca cosa bisogna copiare ?

tar --create --file /percorso/la-mia-home.tar  /home --verbose

e poi per rimetterla ?

Inoltre o provato per 3 volte e il processo si ferma in punti diversi con questo errore :

tar: /media/stefano/D633-1A2C/home.tar: scritti solo 4095 byte su 10240
tar: Error is not recoverable: exiting now

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2913

pippuccio76 ha scritto:

Citazione:

tar --create --file /percorso/la-mia-home.tar --verbose .

Scusa ma non manca cosa bisogna copiare ?

E quel . cosa pensi che sia? Wink

pippuccio76 ha scritto:

tar --create --file /percorso/la-mia-home.tar  /home --verbose

Funziona anche così, ma ogni file che aggiunge all'archivio sarà registrato con il percorso completo /home/xxx/yyy/zzz, quindi al momento di estrarlo dovrai avere la stessa identica struttura di directory. Invece dando tar su . tutti i file saranno registrati con un percorso relativo alla directory corrente, cioè quella dell'ultimo cd.

pippuccio76 ha scritto:

e poi per rimetterla ?

Semplice:
cd DESTINAZIONE
tar --extract --file /percorso/la-mia-home.tar

pippuccio76 ha scritto:

Inoltre o provato per 3 volte e il processo si ferma in punti diversi con questo errore :

tar: /media/stefano/D633-1A2C/home.tar: scritti solo 4095 byte su 10240
tar: Error is not recoverable: exiting now

Sembrerebbe un problema del supporto di destinazione, che credo sia una chiavetta. Prova a creare il .tar sul disco fisso (ad es. in /tmp) e solo dopo a copiarlo sulla chiavetta. Per assicurarti che la copia sia fedele, usa md5sum.