Как сохранить установленные приложения при переносе 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.