LaoBlog

Migrare i pacchetti perl da un pc ad un altro con CPAN


Migrando un server Linux può capitare di dover migrare anche i pacchetti perl installati sul vecchio pc. Non sono molto pratico di perl, solitamente uso CPAN per installare ciò che mi serve, e così avevo fatto anche su di un vecchio server Debian. Tra necessità e dipendenze, ne avevo parecchi. Dovendo spostare il tutto, ho scoperto un utile strumento, che permette di creare un elenco dei pacchetti perl installati su di una macchina. Questo va poi copiato sull'altro computer e viene utilizzato per ricreare lo stesso ambiente.Allo scopo di effettuare la migrazione, diamo per assodato che perl e CPAN siano già installati sui due pc, e di essere in possesso delle credenziali di root, non perché non si possa usare CPAN da utente non privilegiato, ma perché per installare i pacchetti sull'intero sistema, devo avere i necessari privilegi.Apriamo un terminale da root e digitiamo:#perl -MCPAN -eautobundleQuesto creerà un pacchetto con estensione .pm, all'interno di .cpan/Bundle. Tipicamente si chiamerà Snapshot_xxxx_xx_xx_xx.pm, dove al posto delle x avremo data ed ora della creazione dello stesso. Per esempio:/root/.cpan/Bundle/Snapshot_2012_03_09_00.pmIl processo di creazione può durare anche parecchio, a seconda di quanti sono i moduli perl installati, da me ci ha messo circa 30-45 minuti. Alla fine, se tutto è andato bene, si otterrà un messaggio nel terminale simile a questo:Wrote bundle file /root/.cpan/Bundle/Snapshot_2012_03_09_00.pmOra copiate Snapshot_xxxx_xx_xx_xx.pm sull altro pc, SEMPRE nella cartella OMONIMA sul PC bersaglio, in questo caso in/root/.cpan/Bundle/.altrimenti non trova il pacchetto, e poi date il comando:#perl -MCPAN -e 'install Bundle::Snapshot_xxxx_xx_xx_xx'Notate che in tale comando non c'è l'estensione .pm del file Snapshot.Anche in questo caso armatevi di pazienza, perché i vari moduli dovranno essere scaricati da internet ed installati, da me ci ha impiegato un pomeriggio. Attenzione che il processo di installazione richiederà la vostra presenza per rispondere ad alcune domande: all'inizio del processo, quando dovrete confermare il permesso ad accedere ad internet ed altro (la risposta di default va bene se non avete particolari esigenze), ed anche più avanti quando vi verrà richiesto se volete installare delle dipendenze per i moduli che avete schedulato (io ho sempre risposto di sì). Quindi se avete meditato di fare altro nel frattempo, ricordatevi ogni tanto di buttare un occhio e premere INVIO quando richiesto, altrimenti l'installazione si ferma.Con questo sistema ho migrato con successo i moduli perl anche fra computer con architettura diversa (sparc->x86)