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

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

Ответы

Ответ 1

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

Основным из них является сохранение списка пакетов:

dpkg --get-selections > package_list

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

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

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

Ответ 2

Смешно, здесь я использовал SO как репозиторий howto (пишу вопрос, а затем выбираю свой собственный ответ), но в то время, когда мне потребовалось написать свой собственный ответ, я был избит до три раза!

В любом случае, здесь я беру для записи:

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

Сначала экспортируйте свой текущий список пакетов в свою прежнюю систему:

sudo dpkg --get-selections > mypackages.txt

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

sudo dpkg --set-selections < mypackages.txt

(Для получения дополнительной информации скопируйте каталог apt cache для минимизации загрузки: /var/cache/apt)

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

sudo apt-get dselect-upgrade

Ответ 3

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

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

Это создаст текстовый файл со всеми установленными вами пакетами. Затем, после установки, создайте и запустите script со следующим:

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

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

Удачи!

Ответ 4

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

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

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

Ответ 5

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

Есть два дополнения к другим ответам на этот вопрос, это также перенесет ваши настройки 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 (упомянутый выше) на удаленном хранилище. Поэтому, если ваш ноутбук сломан/украден, создание подобной системы довольно быстро.

Ответ 6

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

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

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.

Ответ 7

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