Обновите Ubuntu с 32-битной версии


14

Есть ли способ обновить мою 32-разрядную версию Ubuntu до 64-разрядной версии? Я использую Ubuntu 9.10.

Если простого способа нет, что если я просто скопирую свой домашний /etcкаталог и каталоги в новую установку, это сработает?


2
Подсказка: используйте etckeeperв старой системе и новой системе и после установки всех дополнительных пакетов ( dselectи dpkg -l), установленных в старой системе, объедините ваши изменения по сравнению с файлами конфигурации dist в новую систему;) ...
0xC0000022L

Ответы:


4

К сожалению, как и в других ОС, для этого нет «пути обновления». Вы почти наверняка должны будете сделать переустановку.

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

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


6

Я не просто скопировал бы /etcв случае небольших различий между требованиями к конфигурации для 64-битных компиляций пакетов, но взял бы копию и затем diffскопировал копию против недавно установленной 64- битной системы, но это сработало бы. Скорее всего, количество изменений невелико, поэтому выполнение этого и внесение необходимых изменений вручную, будем надеяться, не вызовет особых трудностей.

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

Если вы просто хотите перейти на 64-разрядную версию, чтобы использовать больше оперативной памяти, а не потому, что вам конкретно нужно использовать 64-разрядные приложения, вы можете просто использовать 64-разрядное ядро ​​с 32-разрядным пользовательским пространством. Debian фактически предоставляет пакеты ядра a64 в своих репозиториях i386, так что это можно сделать так же просто, как aptitude install linux-image-2.6-amd64, к сожалению, в Ubuntu, поэтому вам не придется собирать собственное ядро, которое может не стоить времени + хлопот, если вы не что технически опытный (т.е. это является простым, но толькоесли вы уже скомпилировали свое собственное ядро, вам будет удобно с процессом). Если вы запускаете 64-битное ядро ​​с 32-битным пользовательским пространством, то отдельное приложение может по-прежнему иметь доступ не более ~ 3 ГБ (в некоторых случаях только ~ 2 ГБ), но к системе в целом (все процессы вместе плюс такие вещи ядра, как IO кеш и буферы) можно использовать столько, сколько вам нужно. Для этих целей каждая VMWare VM считается одним приложением - таким образом я запускаю один из моих старых хостов VM (виртуальные машины используют ~ 7 ГБ в общей сложности с 64-разрядным ядром, 32-разрядным пользовательским интерфейсом и 32-разрядным VMWare), поскольку это было быстрее чем полное обновление 64-битной операционной системы хоста, когда я обновил ЦП компьютера до 64-битной и добавил дополнительную оперативную память - я бы предположил, что аналогичные решения для виртуальных машин будут действовать так же.


Разве это не то же самое, что использование ядра 'linux-image-server' с включенным PAE?
Кирилл Васильевич Лядвинский

Насколько я понимаю, процессорам, совместимым с AMD64, не нужно переключаться между режимами для одновременного запуска 32-битного и 64-битного кода, так что здесь нет дополнительной неэффективности и нет проблем с отображением памяти, которые использует PAE либо (кажется, что 32-битные приложения используют только 4 ГБ или меньше своего виртуального адресного пространства). Я могу ошибаться, но я считаю, что смешивание 32- и 64-битного кода таким образом, чтобы получить дополнительную адресуемую память, менее неэффективно, чем PAE.
Дэвид Спиллетт

6

В прошлом месяце я переустанавливал свою машину с 32-битной 10.10 до 64-битной 10.10, не теряя никаких данных. Единственный прием - выбрать инструменты для изменения размера диска, а не форматировать весь диск при переустановке 64-битной Ubuntu 10.10.


+1. На самом деле, я видел, что это тоже сделано (Debian и Ubuntu), и, похоже, оно работало безупречно.
0xC0000022L

0

Запуск 32-битного пользовательского пространства на 64-битном ядре может вызвать проблемы, как только задействуются системные средства. Например, использование 32-битной libalsa в 64-битном ядре будет почти работать, но будет довольно ненадежным и нестабильным, потому что структуры данных ioctl, определенные в asound.h, имеют разные размеры и расположения при компиляции с 64-битной и 32-битной архитектурами.

Таким образом, использование jackd -d alsa -X alsaraw (или его эквивалента jackd2) приведет к прерыванию с ошибочным утверждением при вызове 32-битной утилиты на 64-битном ядре. Стандартная звуковая операция будет намного менее надежной, так как количество буферов интерпретируется неправильно.

В общем, любые структуры данных ядра должны быть объявлены таким образом, чтобы их размеры не отличались между 32- и 64-битными ядрами, или же 32-битный код должен уметь использовать различные определения структуры в соответствии с архитектурой ядра.

В общем, вам, вероятно, лучше переустановить с нуля и перенести свой домашний раздел / каталог.


Об этом спросили (и ответили) более 7 лет назад. Не могли бы вы немного прояснить, какую новую информацию вы несете? Пожалуйста, посмотрите, как ответить и принять наш тур .
Бурги
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.