Есть ли способ обновить мою 32-разрядную версию Ubuntu до 64-разрядной версии? Я использую Ubuntu 9.10.
Если простого способа нет, что если я просто скопирую свой домашний /etc
каталог и каталоги в новую установку, это сработает?
Есть ли способ обновить мою 32-разрядную версию Ubuntu до 64-разрядной версии? Я использую Ubuntu 9.10.
Если простого способа нет, что если я просто скопирую свой домашний /etc
каталог и каталоги в новую установку, это сработает?
Ответы:
К сожалению, как и в других ОС, для этого нет «пути обновления». Вы почти наверняка должны будете сделать переустановку.
Что касается сохранения ваших данных, резервное копирование вашего домашнего каталога было бы хорошей идеей наряду с любыми другими данными и должно быть легко импортировано в вашу новую установку.
Всегда делайте резервную копию своих данных, прежде чем пытаться что-либо!
Я не просто скопировал бы /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-битной и добавил дополнительную оперативную память - я бы предположил, что аналогичные решения для виртуальных машин будут действовать так же.
В прошлом месяце я переустанавливал свою машину с 32-битной 10.10 до 64-битной 10.10, не теряя никаких данных. Единственный прием - выбрать инструменты для изменения размера диска, а не форматировать весь диск при переустановке 64-битной Ubuntu 10.10.
Запуск 32-битного пользовательского пространства на 64-битном ядре может вызвать проблемы, как только задействуются системные средства. Например, использование 32-битной libalsa в 64-битном ядре будет почти работать, но будет довольно ненадежным и нестабильным, потому что структуры данных ioctl, определенные в asound.h, имеют разные размеры и расположения при компиляции с 64-битной и 32-битной архитектурами.
Таким образом, использование jackd -d alsa -X alsaraw (или его эквивалента jackd2) приведет к прерыванию с ошибочным утверждением при вызове 32-битной утилиты на 64-битном ядре. Стандартная звуковая операция будет намного менее надежной, так как количество буферов интерпретируется неправильно.
В общем, любые структуры данных ядра должны быть объявлены таким образом, чтобы их размеры не отличались между 32- и 64-битными ядрами, или же 32-битный код должен уметь использовать различные определения структуры в соответствии с архитектурой ядра.
В общем, вам, вероятно, лучше переустановить с нуля и перенести свой домашний раздел / каталог.
etckeeper
в старой системе и новой системе и после установки всех дополнительных пакетов (dselect
иdpkg -l
), установленных в старой системе, объедините ваши изменения по сравнению с файлами конфигурации dist в новую систему;) ...