Как мне перейти с x86 на x64 без потери настроек?

26

Есть ли простой способ обновить систему до x64 с x86 без потери настроек и необходимости перераспределения и т. Д.?

Anon790528
источник
Это тот же вопрос, но его не следует помечать как дубликат, потому что здесь также есть альтернативные ответы: возможно ли «обновить» 32-битную до 64-битной установки?
rubo77
Это руководство на самом деле сработало для меня, хотя оно требует много усилий, и вам действительно нужно быть экспертом по Ubuntu / Debian. Многие пакеты разбиваются, и вам нужно вручную выяснить, как их исправить. Не для слабонервных, и для большинства людей (как и здесь рекомендовано другими) вы должны просто выполнить чистую установку и восстановить конфигурацию
David Fraser

Ответы:

19

Вы можете просто выполнить установку x86-64 поверх существующей установки i386. Нет необходимости переформатировать или перераспределять - установщик Ubuntu теперь поддерживает хранение содержимого /homeи (большей части) /etc(и других каталогов данных) для нескольких выпусков.

Это даст вам большую часть пути туда; Вы сохраните все свои настройки, но у вас не будет установлено то же программное обеспечение.

Для этого руководство из этого ответа должно работать:

  1. Перед установкой версии x86-64 выведите список установленных на данный момент пакетов, запустив их dpkg --get-selections > ~/installed-softwareв терминале.
  2. После установки восстановите список установленных пакетов, запустив, sudo dpkg --set-selections < ~/installed-softwareа затем sudo apt-get -f install. Вероятно, будут некоторые пакеты, которые не могут быть установлены, так как есть некоторые пакеты i386 без аналогов x86-64 - libc6-686распространенным примером является 686-оптимизированный libc.
RAOF
источник
Вы сами попробовали?
Extender
Я не пробовал устанавливать выпуск amd64 поверх выпуска i386, нет. Я установил поверх существующей установки без переформатирования; это работает.
RAOF
Теоретически также могут существовать программы, которые по-разному хранят данные / кэши / конфигурации, когда они работают на 32-битной и 64-битной
системах
Да. Программы Windows имеют тенденцию просто сбрасывать содержимое памяти на диск, что вызывает эту проблему. Программы для Linux обычно пишутся с большей переносимостью.
РАОФ
1
Вы можете использовать aptitude, чтобы сделать то же самое, а также исключить пакеты, которые были установлены автоматически, как зависимости. (возможно, вы захотите снова выбрать их автоматически ;-) aptitude search «? и (? selected,? not (? automatic))» -F% p> ~ / instal-software Затем на новой системе установить их с помощью sudo aptitude install $ (cat ~ / instal-software)
Джесси Ветер Странник,
7

Нет. Ну ... Не так, как это того стоит.

Есть несколько руководств, которые предлагают неясный путь от 32 до 64 бит, но, поверьте мне, когда я говорю, что много лет возился с Linux, я просто не хотел бы его брать. Это гигантский хак, который намеренно ломает вещи, чтобы обмануть 32-битную систему, взяв на себя 64-битные пакеты. Поймите одну вещь неправильно, и вы сломаете установку ... И, похоже, это займет много времени.

Истина заключается в том, что это просто так гораздо проще создавать резервные копии вещей , которые вы не можете заменить ( /etc/, /home/, части /var) на другой диск, поп в 64 - битном Live CD / USB и переустановке. Установка на мой SSD с USB заняла 12 минут, когда я делал это в прошлый раз.

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

Оли
источник
Ну, вы хотите сделать резервную копию больше , чем /etcи , /homeесли вы используете Apache.
Натан Осман
6

Должно быть просто.

  1. Сделайте резервную копию ваших папок /etcи /homeпапок (у меня есть /homeотдельный раздел, вам может понадобиться больше папок, если у вас есть какие-то пользовательские папки ... или /var/wwwесли у вас есть apache, может быть, резервные копии баз данных, если у вас есть)
  2. Запустите dpkg --get-selections > installed-softwareдля сохранения списка установленного программного обеспечения, сделайте резервную копию файла installed-software.
  3. Установите версию x64, создайте тех же пользователей.
  4. Восстановите файл /etc and/ home folders and theinstal-software`.
  5. Запустите, dpkg --set-selections < installed-softwareзатем запустите, dselectчтобы установить ранее установленное программное обеспечение.
Усама ALASSIRY
источник
Я недавно перешел на 64b вручную. dpkg --get-selections > installed-softwareне работал для меня из-за :i386архитектуры на некоторых именах пакетов. Вместо этого я запустил этот сценарий:cat installed-software | cut -f1 | sed 's/:i386//g' | while read P; do sudo apt-get install $P; done
Philcolbourn
3

Я не верю, что вы можете просто перейти на 64-битную версию Ubuntu, вам придется переформатировать раздел и установить 64-битную версию с x64 Live CD.

Джеймс Уайт
источник
-1

Джеймс прав.

Поскольку x86 и x64 - это разные архитектуры, вы не можете просто выполнить обновление напрямую с одного на другое без очистки корневого раздела и переустановки системы.

Одна вещь, которую вы можете (и ДОЛЖНА) делать, - это иметь каталоги, в которых вы храните настройки и файлы (обычно / home / yourusername), настроенные в отдельном разделе, поскольку это позволяет вам форматировать вашу систему без потери важных настроек, таких как ваша электронная почта учетные записи Evolution / Thunderbird или любые другие типы файлов.

Если вы делаете то же самое для / usr / bin (например), то он также создает резервные копии всех файлов в этом каталоге в системном формате.

skorzen
источник
1
Уточните последнее предложение, пожалуйста.
Оли