Оновіть Ubuntu з 32 до 64 бітового видання


14

Чи є спосіб модернізувати 32-бітну версію Ubuntu до 64-бітної версії? Я використовую Ubuntu 9.10.

Якщо немає простого способу, що, якщо я просто скопіюю свій будинок і /etcкаталоги на нову інсталяцію, це буде працювати?


2
Підказка: використовуйте etckeeperстару та нову систему, а після встановлення всіх додаткових пакетів ( dselectі dpkg -l), встановлених на старій системі, об'єднайте свої зміни порівняно з файлами dist config у нову систему;) ...
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-розрядною користувальницькою програмою, то окремий додаток все ще може отримати доступ до ~ 3Gb максимум (в деяких випадках просто ~ 2Gb), але до системи в цілому (всі процеси разом, а також речі ядра, як Кеш IO та буфери) можуть використовувати стільки, скільки у вас є. Кожен VMWare VM вважається єдиним додатком для цих цілей - я запускаю один із моїх старших VM-хостів таким чином (VM використовують ~ 7Gb разом із 64-бітним ядром, 32-розрядною користувальницькою та 32-розрядною VMWare), оскільки це було швидше ніж повне 64-бітове оновлення ОС на хості, коли я модернізував процесор машин до 64-розрядного та додав додаткову оперативну пам’ять - я б здогадався, що подібні рішення VM будуть діяти так само.


Хіба це не те саме, що використання ядра 'linux-image-server' з включеним PAE?
Лядвінський Кирило Васильович

Наскільки я розумію, що на базі процесорів AMD64 / сумісних процесорів не потрібно перемикатися між режимами, щоб разом працювати 32-бітний та 64-бітний код, щоб там не було додаткової неефективності, і не існує карти пам’яті, зібраного в джіггері-покер, який використовує PAE або (32-розрядні програми лише коли-небудь використовують нижні 4Gb або менше свого віртуального адресного простору). Я можу помилитися, але я вважаю, що змішування 32-ти та 64-бітового коду таким чином, щоб отримати додаткову адресовану оперативну пам’ять, менш ефективно, ніж PAE.
Девід Спіллетт

6

Я перевстановив свою машину з 32 біт 10.10 на 64 біт 10.10 минулого місяця, не втрачаючи жодних даних. Єдина хитрість - це вибір інструментів зміни розміру диска, а не форматування всього диска при перевстановленні 64-бітного ubuntu 10.10.


+1. Насправді я теж бачив, що це робилося (Debian і Ubuntu) і, здавалося, працює бездоганно.
0xC0000022L

0

Запуск 32-розрядної користувальницької області на 64-бітному ядрі, ймовірно, спричинить проблеми, як тільки системні засоби ввімкнуться. Наприклад, використання 32-бітової лібальси на 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.