Come preservare le applicazioni installate durante la migrazione di Ubuntu su un'altra piattaforma?
Domanda
Sto forse guardando il passaggio da un vecchio AMD64 a un nuovo dual-core Intel a 32 bit. L'installazione non è un problema, ma posso trasferire tutte le app installate? Non sono stato in grado di trovare qualcosa finora su Google, tranne dove la migrazione è verso una piattaforma e un file system simili. Non cambierò il filesystem ma la piattaforma sarà diversa. C'è qualcosa sulle linee del "Mondo"? file in Gentoo?
Soluzione
Puoi salvare facilmente la tua lista di pacchetti: vedi " man dpkg " e cerca --set-selections e --get-selections.
La base di questo, però, è quella di salvare l'elenco dei pacchetti:
dpkg --get-selections > package_list
Per ripristinare tale elenco su un altro sistema:
cat package_list | sudo dpkg --set-selections & amp; & amp; sudo apt-get dselect-upgrade
Spostarsi tra le architetture significa che alcuni pacchetti non saranno disponibili. Saranno ignorati; ad esempio, ia32-libs
non sarà installabile su un sistema a 32 bit. Tale selezione verrà ignorata se si passa da x86-64 a x86.
Altri suggerimenti
Divertente, qui stavo usando SO come repository howto (scrivi una domanda e poi seleziona la mia risposta), ma nel tempo che mi ci è voluto per scrivere la mia risposta, sono stato battuto tre volte!
Comunque, ecco la mia opinione per la cronaca:
Utilizza le opzioni --get-selections e --set-selections di dpkg per acquisire e selezionare i pacchetti attualmente installati.
Innanzitutto, esporta l'elenco dei pacchetti corrente sul tuo vecchio sistema:
sudo dpkg --get-selections > mypackages.txt
Quindi seleziona questo elenco come pacchetti da installare sul tuo nuovo sistema:
sudo dpkg --set-selections < mypackages.txt
(Per ulteriore credito, copia la tua directory della cache apt per minimizzare i download: /var/cache/apt)
Infine, dì ad apt di scaricare e installare i pacchetti selezionati:
sudo apt-get dselect-upgrade
Per tutto ciò che hai usato apt-get per l'installazione, se vuoi creare un record di ciò che è installato, esegui quanto segue:
dpkg -l|awk '/^ii\s*(.*)\s*/ {print $2}'|packages.txt
Questo creerà un file di testo con tutti i pacchetti che hai installato. Quindi, dopo aver eseguito l'installazione, crea ed esegui uno script con il seguente:
#!/bin/sh
for p in $(cat packages.txt); do apt-get install $p; done
Note:
1) Dato che stai passando da 64 bit a 32 bit, alcuni pacchetti potrebbero non essere compatibili. Vorrei grep package.txt per "64" prima di eseguire lo script sopra e trovare alternative se sono necessarie.
2) Qualunque cosa tu abbia installato dal sorgente, dovrai prendere nota e installare nuovamente dal sorgente.
Buona fortuna!
Se (come me) non l'hai fatto prima di aver incasinato il tuo sistema, puoi avviare un cd live o un'altra installazione e usare chroot per ottenere queste informazioni.
sudo chroot /path/to/old/system /bin/bash
Quindi fai il dpkg --get-selections
, e puoi usare il file risultante per configurare il tuo nuovo sistema.
Questo è ciò che generalmente faccio per risolvere un problema simile (migrato su un nuovo laptop più volte).
Ci sono due aggiunte alle altre risposte a questa domanda, questo sposterà anche le tue impostazioni update-alternatives
e debconf
, il che richiede sempre molto tempo per realizzarle non sono stati trasferiti.
Backup su vecchio sistema:
sudo apt-get install dselect debconf-utils
mkdir system-selections
update-alternatives --get-selections > system-selections/alternatives-selections
dpkg --get-selections '*' > system-selections/dpkg-selections
sudo debconf-get-selections > system-selections/debconf-selections
Copia la directory di configurazione nel newsystem (" scp -r oldsystem: selezioni di sistema ~
"):
sudo apt-get install dselect debconf-utils
sudo dselect update
sudo dpkg --set-selections < system-selections/dpkg-selections
sudo debconf-set-selections < system-selections/debconf-selections
sudo apt-get -u dselect-upgrade
sudo update-alternatives --set-selections < system-selections/alternatives-selections
Inoltre, puoi usare lo stesso metodo per eseguire regolarmente backup della tua home directory e selezioni di sistema
(menzionate sopra) su un archivio remoto. Quindi, nel caso in cui il tuo laptop si rompa / rubi, costruire un sistema simile è piuttosto veloce.
Non sono sicuro che questa sia una risposta, ma ho appena scoperto l'esistenza del comando aptitude-create-state-bundle. Sì, questo è un comando. Dai un'occhiata alla pagina man.
Il modo migliore a cui riesco a pensare a questo è di eseguire il backup dell'elenco dei pacchetti installati sul tuo sistema attuale e quindi utilizzare tale elenco per impostare quali pacchetti installare sul nuovo sistema. Istruzioni generali su come eseguire il backup e ripristinare le selezioni dei pacchetti:
Installa strumenti
sudo apt-get install dselect
Elenco dei pacchetti di backup
dpkg --get-selections | grep -v deinstall > ubuntu-files
Ripristina selezioni pacchetto
sudo apt-get update
sudo apt-get dist-upgrade
dpkg --set-selections < ubuntu-files
sudo dselect
Questo aprirà una sessione dselect. Digita "I" e consenti a dselect di installazione dei pacchetti elencati nel documento ubuntu-files. Al termine, digita "Q" e premi il tasto INVIO per uscire da dselect.