Можно ли «обновить» 32-битную 64-битную установку?


105

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

Я знаю , как разделить ( на самом деле один из решений является установка /, /etc, /home, /var/www, и в /optвиде отдельных разделов) , и я знаю , что чистая установка является намного лучше , чем грязный, но я хотел бы знать , если / как это возможно сделай это.


2
Это тот же вопрос, но его не следует помечать как дубликат, потому что здесь также есть альтернативные ответы: как мне перейти с x86 на x64 без потери настроек?
rubo77

Аналогичный вопрос по U & L: unix.stackexchange.com/q/244980/52956
Уилф

Ответы:


68

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

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

С другой стороны, то, что вы просили, возможно, есть небольшое руководство для систем, основанных на Debian, но помните, что «это действительно для системных администраторов профессионального уровня» и «эта процедура, во всех возможных отношениях, плохая идея. Ваш первенец, пожалуйста, не приходи ко мне плакать "... (так что удачи)


3
+1 тебе. Не для слабонервных ... Я собирался порекомендовать сделать резервную копию всех файлов конфигурации и данных, которые вас интересуют (возможно, даже ваших журналов apt), и выполнить поиск и замену в вашем apt sources.list, чтобы указать на 64-битные версии. Затем я прочитал упомянутое руководство и быстро разочаровался в этом понятии ...
gWaldo

2
Что если у меня нет первенца, значит ли это, что процедура для меня безопаснее, чем для других? ..... ребёнок, вопрос в том, что если у вас 32-битная версия работает правильно, почему вы хотите пройти через ад, чтобы сэкономить время резервного копирования / восстановления данных + время переустановки, в конце концов, этот метод не Быстрее. Быстрее = резервное копирование, переустановка. Также меньше проблем в долгосрочной перспективе.
Дмитрий Лихтен

Большое спасибо: в конце концов я скопировал все свои данные, разбил диск и переустановил. Теперь требуется некоторая проблема для восстановления БД, веб-сервера и некоторого сервиса.
dag729

@ dag729: Поверьте мне, это резервная копия / восстановление, но меньше, чем альтернатива. Вы делаете только 32 -> 64 в тяжелых случаях. Даже системные администраторы здесь на работе не будут этого делать, они будут создавать резервные копии, стирать, устанавливать, намного чище / безопаснее.
Дмитрий Лихтен

Я успешно использовал связанное руководство для перехода с 32-разрядной на 64-разрядную версию (в Ubuntu 14.04). Я профессиональный системный администратор с 20-летним опытом работы с Debian / Ubuntu. И да, это было не для слабонервных. Это заняло целый рабочий день, который, по моим оценкам, был значительно меньше усилий, которые потребовалось бы мне, чтобы вернуть на место все настройки, настройки, базы данных и т. Д., Которые я установил на рабочей станции. Я должен подчеркнуть, что это была моя рабочая станция. Я бы посчитал это безрассудным пытаться сделать это на рабочем сервере.
jdhildeb

14

Я приведу рейз мертвым, потому что этот поток является одним из лучших результатов для "обновления Ubuntu до 64 бит", и выбранный ответ, хотя и является разумным выбором, не является полной историей.

Фактически можно обновить Ubuntu с 32 до 64 бит. Вы можете сделать это.

Я только что закончил делать такое обновление.

Тем не менее, слова «могут» и «должны» не похожи друг на друга, и это также относится к обновлению и новой установке. Ты можешь сделать это? Да. Должны ли вы сделать это? Eeeeeh ...

Обновление с 32 до 64 бит без разрушения моей системы заняло у меня большую часть недели. Включая ручное исправление 600+ поврежденных пакетов в aptitude, поскольку автоматический распознаватель начал зацикливаться, по-видимому, из-за несовместимости PERL: i386 (требуется для установленных пакетов) с PERL: amd64 (требуется для пакетов, которые вы пытаетесь установить).

Это было после того, как я вручную установил кучу пакетов, включая правильную версию PERL, чтобы исправить ошибку: вы видите, apt-get -f install(что необходимо для получения в основном работающей 64-битной системы) удалит PERL32 для установки PERL64 Затем продолжайте пытаться удалить 1234 других пакета, прежде чем приступить к переустановке PERL . Излишне говорить, что это не очень хорошая идея, когда значительная часть системы apt (на самом деле, множества других вещей) зависит от работающего PERL.

Переустановка была выполнена полностью с консоли (конечно, aptitude FTW), потому что для консоли в основном требуется только рабочий bash (и рабочие проклятия для aptitude, но если вы попытаетесь это сделать, проклятий будет много, вы можете сделать на них ставку ), в то время как X требует ... Слишком много материала, чтобы доверять ему, чтобы он продолжал работать, пока вы выполняете операцию на открытом сердце в своей системе.

Все вышесказанное в следующей статье о Debian объясняет, как настроить вашу систему:

https://wiki.debian.org/CrossGrading

Это не та статья, которая описана в первоначальном принятом ответе , потому что за это время все изменилось, в основном в лучшую сторону.

Основы:

 dpkg --add-architecture amd64

 apt-get update

 apt-get install linux-image-amd64:amd64

 reboot

 apt-get clean

 apt-get --download-only install dpkg:amd64 tar:amd64 apt:amd64

 dpkg --install /var/cache/apt/archives/*_amd64.deb

В какой момент вы сможете сделать это:

dpkg --print-architecture 

В результате в следующей строке:

amd64

Ура. Ubuntu считает, что это правильная 64-битная система. Какой милый. Вы знаете лучше, конечно.

Теперь вы можете запустить:

apt-get update

Это загрузит список всех 64-битных пакетов, которые вам понадобятся, чтобы завершить перекрестную интеграцию вашей системы.

На этом этапе ваша система работает очень похоже на то, что ничего не произошло, за исключением того, что ваша способность установить что-либо хорошо и по-настоящему нарушена.

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

Статья признает необходимость исправления и предлагает вам сделать это следующим образом:

 apt-get -f install

Это заставит apt попытаться исправить нечестивый беспорядок, который вы только что сделали. И поверь мне, ты только что сделал нечестивый беспорядок.

Один незначительный сбой этой процедуры заключается в том, что она приведет к удалению части системы apt (и других критических подсистем) на полпути , вызывая ошибки в течение оставшейся части процесса (вы не говорите) и оставляя вас в затруднительном положении. ,

К счастью, не без весла. Вы можете установить недостающие пакеты через:

dpkg -i/var/cache/apt/archives/(package)*amd64.deb

Обратите внимание, что, по крайней мере для меня, сеть перестала работать на одном ... Ну, несколько ... Очки. Это было связано с возможностью удаления ряда пакетов, необходимых для поддержания работоспособности вашей сети (например, клиента dhcp).

Затем apt радостно сообщил мне, что для этого нужно скачать несколько дополнительных пакетов. Без работающей сети.

Если это звучит так, будто вы официально обыграны ... Это потому, что вы есть.

Если у вас нет проводного Nework (ваши пакеты WiFi уже были удалены, а WiFI все равно гораздо сложнее, чтобы приступить к работе), вы знаете его конфигурационную информацию и можете использовать ifconfig, маршрутизировать и т. Д.

Просто продолжайте пробовать, apt-get -f installпока не получите больше ошибок.

После aptтого, как вы будете удовлетворены состоянием вашей системы, вы можете запустить aptitudeи вручную исправить 600 поврежденных пакетов, которые вы найдете. Видимо aptи aptitudeесть разные представления о том, как выглядит работающая система. Не спрашивай меня почему.

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

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

Если все это еще не обескуражило вас, обратите внимание, что это была моя вторая попытка обновления в режиме реального времени.

Первый закончился знаком mkfs.

Подсказка, подсказка, большая подсказка fscking. Вернее, большой mkfsing намек.

Но опять же, это действительно сработало в конце.

Система работает, в основном она использует 64-битные пакеты (есть пара исключений, которые мне придется в конечном итоге исправить), и может запускать приложения, требующие 64-битной установки.

Это возможно .

Если это ваш единственный вариант, по любой причине, вы можете сделать это, следуя процедуре, описанной выше - если у вас есть необходимые знания предметной области.

Если вы не знаете разницу между syncи rsync, если вас не устраивает insmod, если вы не знаете, как использовать ifconfig, если вы обычно не предпочитаете aptitude графическому установщику, имя которого ускользает от меня в данный момент. .. Просто сделайте резервную копию ваших данных и установите с нуля.

Это намного менее болезненно, это сэкономит вам много времени и оставит вас с новой установкой, без каких-либо неожиданных остатков, готовых укусить вас в тылу через 11 месяцев.

Если вы уже сделали резервную копию материала, который вы не хотите потерять, и у вас нет другого выбора - или просто хотите учиться, ударяя головой о вещи (особенно о стену) ... Ну, вы можете попробовать.

Это может даже работать.


Мне нравится этот вопрос, ~ 7 лет спустя, и он продолжает улучшаться. Сейчас я чувствую себя хорошо в 2018 году и также хочу перевести мою систему с 32-разрядной на 64-разрядную систему. Debian имеет отличную вики - статью здесь , в основном HOWTO на преобразования архитектуры в живой системе. У меня была одна проблема: несмотря на добавление обеих архитектур и запуск обновления apt-get, некоторые пакеты просто не отображаются для одной архитектуры.
TGP1994

13

Это может быть гораздо более разумным решением после реализации спецификации multiarch. https://wiki.ubuntu.com/MultiarchSpec - в настоящее время отложено до 11.04, но имейте в виду, что оно было отложено примерно на 6 выпусков. Тем не менее, реальный прогресс был достигнут в 10.10, так что, возможно, это произойдет в этот раз.

До тех пор, не беспокойтесь. Сделайте резервную копию ваших данных, переделите, если хотите, и переустановите.


1
Не могу дождаться, когда будет реализован MultiArch!
dag729

Я считаю, что 11.10 использует multiarch сейчас.
Кристофер Кайл Хортон

Предположим, я путешественник во времени, который находится здесь через 5 лет после вашего ответа, теперь это «более разумно»? Или все-таки переустановить?
Камило Мартин

1
Теперь, по крайней мере, возможно принудительно вручную установить пакеты из других арок так, чтобы они не сломались. Но нет, вы должны просто переустановить.
Скотт Ричи

8

Нет, вы не можете обновить с 32-х бит до 64-х бит. Это должна быть чистая (свежая) установка

Прежде чем вы убедитесь, что ваша система поддерживает 64-битную операционную систему, и проверьте минимальные требования для Ubuntu 64. Вы можете сделать это здесь

Термины 32-битный и 64-битный относятся к тому, как процессор компьютера обрабатывает информацию. 64-разрядная версия обрабатывает большие объемы оперативной памяти намного лучше, чем 32-разрядная система. Если вы используете 32-разрядную версию Ubuntu, вы можете выполнить обновление только до другой 32-разрядной версии Ubuntu. Аналогично, если вы используете 64-битную версию Ubuntu, вы можете выполнить обновление только до другой 64-битной версии Ubuntu.

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


7

Теперь вы можете сделать это довольно легко с недавними установщиками (по крайней мере с 13.10, который я только что использовал). Загрузитесь с 64-битного образа DVD (или USB-накопителя или чего-либо еще) и выберите первый вариант переустановки, сохраняя ваши личные файлы. Это работает, даже если у вас нет отдельного /homeраздела.

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


Можете ли вы поделиться источником с инструкциями о том, как это сделать / предостережения?
изоморфизм

Я проверил это с 14.04 LTS и, к сожалению, это не может быть сделано больше. Для подробностей смотрите мой ответ ниже.
filofel

2

Можно обновить 32-битную версию Ubuntu до 64-битной, в ней будет много-много нежелательных файлов, и вам придется чистить ее вручную. Истина - это "ГОЛОВА" .

Я НИКОГДА / НЕ РЕКОМЕНДУЮ ДЛЯ НОВЫХ.

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

Сначала попробуйте live-cd 64bit. Если это работает, перейдите на новую установку, рекомендуется.

Также есть программное обеспечение, которое все еще 32-битное. Таким образом, чтобы установить 32-битное программное обеспечение на 64-битной ОС, нам нужна обратная обработка ... это тоже будет плохо.

Подумайте какое-то время: каковы ваши требования, что вы собираетесь делать, следующий план / работа с 64-битной ОС.


1
Что вы подразумеваете под «для установки 32-битного программного обеспечения на 64-битной ОС, нам нужна обратная обработка»? Предполагается, что x86_64 подобен надмножеству x86_32, поэтому все просто работает, не так ли?
Камило Мартин

1

Ваша ОС все еще 32-битная, так как вы обновили 32-битную версию - см. Ответ в комментарии для получения дополнительной информации.

Кстати, возможно ли сосуществование 32-битной Win и 64-битной Ubuntu?

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

Загрузите и запишите 64-разрядную версию iso и загрузитесь вместе с ней, она предложит вам различные варианты - вы можете выбрать вариант «Установить вместе».

https://help.ubuntu.com/community/GraphicalInstall


1

Я только что попробовал решение, предложенное выше Ником (19.10.13): использование 64-битного Live CD Ubuntu для 64-битной переустановки.
Я использовал Ubuntu 14.04.4 Live CD. Но если первый вариант действительно называется «переустановка», он более точно выглядит как:

Erase Ubuntu 14.04.4 LTS and reinstall  
Warning: This will delete all your Ubuntu 14.04 programs, documents,
photos, music, and all other files.  

Две другие опции, предлагаемые установщиком на Live CD:

  • Установить рядом (опция двойной загрузки)
  • Стереть диск и установить Ubuntu

Чтобы быть уверенным, я попробовал с тестовым диском, и действительно, первое, что делает опция «переустановка», это переформатирует существующий раздел ext4. Не повезло.
Поэтому я боюсь, что решение «перейти на 64-битную версию», предложенное Ником, больше не существует в 14.04.
И между прочим, Canonical, я не вижу смысла для установщика, имеющего так называемую опцию «переустановить» и «Стереть диск и установить». Кажется, оба делают одно и то же.

Очень жаль, что такой вариант обновления до 64-битного на месте мог бы быть очень хорошим!


-1

Вам нужно сделать новую установку с 64-битной версией Ubuntu. Можно иметь 32-битные окна и 64-битную Ubuntu, если по понятным причинам они не используют один и тот же диск или раздел. Обратитесь к документации для получения инструкций по двойной загрузке.

https://help.ubuntu.com/community/WindowsDualBoot

Важно, чтобы процессор на машине, на которую вы устанавливаете, поддерживал 64-битный набор команд (что сейчас должно делать большинство современных процессоров)


2
Вы даже не удосужились прочитать вопрос?
dag729
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.