Как сохранить установленные приложения при переносе 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. Да, эта одна команда. Проверьте справочную страницу.