Как мне сохранить установленные приложения при переносе Ubuntu на другую платформу?
Вопрос
Я рассматриваю возможность перехода со старого AMD64 на новый 32-разрядный двухъядерный процессор Intel.Установка не является проблемой, но могу ли я перенести все установленные приложения?Я не был смог найти что-нибудь до сих пор на Google исключением тех случаев, когда миграция в аналогичной платформы и файловой системы.Я не буду менять файловую систему, но платформа будет другой.Есть ли что-то в строках файла "World" в Gentoo?
Решение
Вы можете легко сохранить свой список пакетов: см. " man dpkg " и найдите --set-selections и --get-selections.
Основное из этого - сохранить список пакетов:
dpkg --get-selections > package_list код>
Чтобы восстановить этот список в другой системе:
cat package_list | sudo dpkg --set-selection & amp; & amp; sudo apt-get dselect-upgrade
Переход между архитектурами означает, что некоторые пакеты будут недоступны. Они будут игнорироваться; например, ia32-libs
не может быть установлен в 32-битной системе. Этот выбор будет игнорироваться, если вы переходите с x86-64 на x86.
Другие советы
Забавно, здесь я использовал SO в качестве репозитория howto (напишите вопрос, а затем выберите свой ответ), но за то время, что мне потребовалось написать собственный ответ, я был трижды избит до удара! р>
В любом случае, вот мое мнение:
Используйте опции --get-selections и --set-selections в dpkg для захвата и выбора установленных на данный момент пакетов.
Сначала экспортируйте текущий список пакетов в вашу старую систему:
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 $2}'|packages.txt
Это создаст текстовый файл со всеми установленными вами пакетами.Затем, после завершения установки, создайте и запустите скрипт со следующим:
#!/bin/sh
for p in $(cat packages.txt); do apt-get install $p; done
Примечания:
1) Поскольку вы переходите с 64-разрядной версии на 32-разрядную, некоторые пакеты могут быть несовместимы.Я бы использовал grep packages.txt для '64' перед запуском приведенного выше сценария и нашел альтернативы, если они необходимы.
2) Все, что вы установили из исходного кода, вам придется записать и установить из исходного кода снова.
Удачи вам!
Если (как и я) вы не делали этого до того, как испортили свою систему, вы можете загрузить live-cd или другую установку и использовать chroot для получения этой информации.
sudo chroot /path/to/old/system /bin/bash
Затем выполните танец dpkg --get-selections
, и вы можете использовать полученный файл для настройки новой системы.
Это то, что я обычно делаю, чтобы решить подобную проблему (перенес на новый ноутбук несколько раз).
Есть два дополнения к другим ответам на этот вопрос, это также перенесет ваши настройки 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-selection
(упомянутых выше) в удаленном хранилище. Так что в случае поломки / кражи вашего ноутбука, создание подобной системы довольно быстро.
Я не уверен, что это ответ, но я только что обнаружил существование команды aptitude-create-state-bundle. Да, это одна команда. Проверьте справочную страницу. Р>
Лучший способ решить эту проблему - создать резервную копию списка установленных пакетов в вашей текущей системе, а затем использовать этот список, чтобы указать, какие пакеты установить в новой системе. Общие инструкции по резервному копированию и восстановлению выбранных пакетов:
Установить инструменты
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. Тип & # 8216; I & # 8216; и разрешить dselect установите пакеты, перечисленные в вашем документе ubuntu-files. Когда он будет завершен, введите & # 8216; Q & # 8216; и нажмите клавишу ВВОД, чтобы выйти из dselect.