Как сохранить установленные приложения при переносе Ubuntu на другую платформу?

Я смотрю, возможно, переход от старого AMD64 к новому двухъядерному процессору Intel, который является 32-битным. Установка не является проблемой, но я могу перенести все установленные приложения? Я не был возможность найти что-либо до сих пор на Google, за исключением того, где миграция на аналогичную платформу и файловую систему. Я не буду менять файловую систему, но платформа будет другой. Есть ли что-то на строках файла "мир" в Gentoo?

7 ответов


вы можете легко сохранить список пакетов: см. "man dpkg" и поиск --set-selections и --get-selections.

основное из этого, хотя это, чтобы сохранить список пакетов:

dpkg --get-selections > package_list

чтобы восстановить этот список в другой системе:

cat package_list | sudo dpkg --set-selections && sudo apt-get dselect-upgrade

перемещение по архитектурам означает, что некоторые пакеты будут недоступны. Они будут проигнорированы, например, ia32-libs не будет устанавливаться на 32-разрядной системе. Этот выбор будет проигнорирован, если вы переходите с x86-64 на x86.


забавно, здесь я использовал так как репозиторий howto (написать вопрос, а затем выбрать свой собственный ответ), но за то время, что мне потребовалось, чтобы написать свой собственный ответ, я был избит до удара трижды!

в любом случае, вот мой взгляд на запись:

используйте параметры dpkg --get-selections и --set-selections для захвата и выбора установленных пакетов.

во-первых, экспортировать текущий список пакетов на старую систему:

sudo dpkg --get-selections > mypackages.txt

затем выберите этот список в качестве пакетов для установки в новой системе:

sudo dpkg --set-selections < mypackages.txt

(для дополнительного кредита скопируйте каталог кэша apt, чтобы минимизировать загрузку:/var/cache/apt)

наконец, сообщите apt для загрузки и установки выбранных пакетов:

sudo apt-get dselect-upgrade

для всего, что вы использовали apt-get для установки, если вы хотите создать запись о том, что установлено, выполните следующее:

dpkg -l|awk '/^ii\s*(.*)\s*/ {print }'|packages.txt

это создаст текстовый файл со всеми установленными пакетами. Затем после установки создайте и запустите сценарий со следующими параметрами:

#!/bin/sh
for p in $(cat packages.txt); do apt-get install $p; done

Примечания:
1) Поскольку вы перемещаетесь с 64 бит на 32 бит, некоторые из пакетов могут быть несовместимы. Я бы греп пакеты.txt для '64' перед запуском скрипта выше и найти альтернативы, если они необходимы.
2) Все, что вы установили из источника, вам придется сделать заметку и установить из источника снова.

удачи!


Если (как я) вы не сделали этого, прежде чем испортили свою систему, вы можете загрузиться в live-cd или другую установку и использовать chroot, чтобы получить эту информацию.

sudo chroot /path/to/old/system /bin/bash

затем сделать dpkg --get-selections dance, и вы можете использовать полученный файл для настройки новой системы.


это то, что я обычно делаю, чтобы решить аналогичную проблему (несколько раз мигрировал на новый ноутбук).

есть два дополнения к другим ответам на этот вопрос, это также переместит ваш update-alternatives и debconf настройки, которые всегда занимает много времени, чтобы понять, что они не были переданы.

резервное копирование на старой системе:

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

скопируйте каталог конфигурации в систему новостей ("scp -r oldsystem:system-selections ~"):

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

также, вы можете использовать такой же метод регулярно возьмите резервные копии вашего домашнего каталога и system-selections (упомянутый выше) на удаленное хранилище. Так что в случае вашего ноутбука сломан / украден, создание подобной системы довольно быстро.


Я не уверен, что это ответ, но я только что обнаружил существование команды aptitude-create-state-bundle. Да, это одна команда. Проверьте man-страницу.


лучший способ, который я могу придумать, это создать резервную копию списка установленных пакетов в вашей текущей системе, а затем использовать этот список для установки пакетов в новой системе. Общие инструкции по резервному копированию и восстановлению выбранных пакетов:

установить инструменты

sudo apt-get install dselect

Список Пакетов Резервного Копирования

dpkg --get-selections | grep -v deinstall > ubuntu-files

Восстановить Выбор Пакетов

sudo apt-get update
sudo apt-get dist-upgrade
dpkg --set-selections < ubuntu-files
sudo dselect

Это откроет сеанс dselect. Введите " I‘ и разрешите dselect установите пакеты, перечисленные в документе ubuntu-files. Когда он будет завершен, введите " Q " и нажмите клавишу ENTER, чтобы выйти из dselect.