Come preservare le applicazioni installate durante la migrazione di Ubuntu su un'altra piattaforma?

StackOverflow https://stackoverflow.com/questions/187629

  •  06-07-2019
  •  | 
  •  

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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top