Такий підхід є дуже складним і навряд чи коли-небудь приведе до того, що всі ваші пакети будуть amd64
замість i386
версії. Тільки пакети, які насправді отримують оновлення, можливо, будуть змінені в архітектурі, і, ймовірно, тільки якщо жоден інший пакет, який не оновлюється, покладається на те, що вони є i386
архітектурою. Оскільки деякі пакети не будуть отримувати якісь - або поновлення на протязі всього циклу підтримки вашого релізу Ubuntu, ви, ймовірно , ніколи не маєте повністю amd64
системи , використовуючи таку техніку. Крім того, офіційного забезпечення такого підходу, безумовно, немає.
Вам рекомендується замінити існуючу систему Ubuntu на нову, 64-бітну установку.
Однак якщо ви хочете спробувати цю техніку, вам доведеться завантажувати файли для та та вручну . Ви можете їх знайти на сторінках Ubuntu та на Ubuntu на Launchpad - розгорніть останню версію в розділі "Онерічний Оцелот", який позначений як випуск, безпека та / або оновлення (але ви, ймовірно, не хочете, щоб версія позначена лише запропоновані та / або зворотні сторони, якщо такі є). Потім завантажте файли з позначкою . Зокрема, потрібні вам файли: цей для (і інші, перелічені також, якщо у вас встановлені ці пакети), і це, і це, і це, і це.deb
dpkg
apt
dpkg
apt
.deb
amd64
dpkg
і це для apt
.
Перш ніж робити що-небудь з цими файлами, слід переконатися, що потрібно створити резервну копію всіх важливих документів у встановленій системі Ubuntu та будь-яких інших важливих файлів (наприклад, музики, електронних книг, відео), тому що досить ймовірно, що спроба цієї техніки призведе до поганої реакції. і залиште вашу систему Ubuntu повністю непридатною.
Ви можете встановити всі ці пакети, помістивши їх у папку, яка не містить нічого іншого (припустимо, папка викликається debs
та знаходиться у вашому Downloads
каталозі), а потім виконайте цю команду:
sudo dpkg -Ri ~/Downloads/debs
Звичайно, щойно ви встановите їх, вони фактично не будуть працювати, оскільки їх виконувані файли 64-бітні, а ваша 32-розрядна система Ubuntu має 32-бітове ядро (яке запускатиме лише 32-бітні виконувані файли). Насправді вони навіть не можуть закінчити встановлення, оскільки у них можуть бути сценарії після встановлення, які викликають 64-бітові виконувані файли, які не можна виконати.
Існують різні способи спроби встановлення 64-розрядного ядра в 32-бітну систему, але всі вони надзвичайно складні, тому замість цього я рекомендую завантажуватись із 64-розрядного живого компакт-диска Oneiric (який сам запускає 64-розрядний ядро), chroot в установлену систему Ubuntu, і використовувати недавно встановлений 64-бітний apt
і dpkg
встановити 64-бітове ядро.
Ось конкретні вказівки щодо цього ... але, будь ласка, не сприймайте це так, що я кажу, що це спрацює. Я цього не робив. (Я ввійшов до встановлених систем Ubuntu з живих компакт-дисків і виконував управління пакунками та інші операції, але я не робив спроб крос-архітектури, запропонованих тут.)
У встановленій системі Ubuntu відкрийте вікно терміналу ( Ctrl+ Alt+ T) і запустіть mount | grep ' on / '
(вставивши його в термінал і натиснувши клавішу Enter). Ви повинні побачити щось подібне /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0)
. Те, що вас цікавить, - це назва пристрою раніше on
(у цьому прикладі - це /dev/sda2
). Пам’ятайте про це або записуйте це.
Крок 1 дав вам назву пристрою /
розділу. Якщо у вас є окремий /boot
розділ, тоді вам також потрібно знати назву пристрою. Тож у такому випадку біжіть mount | grep ' on /boot '
. Ви побачите щось подібне /dev/sda1 on /boot type ext2 (rw)
. Запам'ятайте або запишіть це також.
Завантажте з живого компакт-диска Oneiric amd64 (тобто 64-розрядного) та виберіть "Спробуйте Ubuntu", а не "Встановити Ubuntu".
Зайдіть у веб-браузер і переконайтесь, що підключення до Інтернету є повністю функціональним. Якщо це не так, налаштуйте його.
Відкрийте вікно терміналу та запустіть sudo mount /dev/sda2 /mnt
(замініть /dev/sda2
ім'я пристрою, яке ви отримали на кроці 1, якщо воно інше).
Якщо у встановленій системі є окремий /boot
розділ, запустіть sudo mount /dev/sda1 /mnt/boot
(замініть /dev/sda1
ім'я пристрою, яке ви отримали на кроці 2, якщо воно інше).
Тепер запустіть ці команди, щоб перейти до встановленої системи:
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
Запустіть, ping -c 4 launchpad.net
щоб переконатися, що підключення до Інтернету повноцінно працює зсередини chroot. Ви сподіваєтесь на щось подібне:
PING launchpad.net (91.189.89.223) 56(84) bytes of data.
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=1 ttl=41 time=141 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=2 ttl=41 time=143 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=3 ttl=41 time=142 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=4 ttl=41 time=140 ms
--- launchpad.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
Якщо замість цього ви не змогли передати або отримати пакети, вам доведеться встановити підключення до Інтернету в chroot. Для цього запустіть ці команди (щоб залишити chroot, скопіюйте у chroot відповідні файли конфігурації з живої системи CD та повторно введіть chroot):
sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
sudo cp /etc/hosts /mnt/etc/hosts
Хоча, як правило, ви повинні зупинити цей процес, якщо є помилка, не переживайте, якщо перша та / або друга з цих чотирьох команд не вдаються, за умови, що конкретний спосіб, коли вона не працює, повідомляє вам, що /mnt/etc/resolv.conf
(або /mnt/etc/hosts
) не існує .
Chroot знову і спробуйте ще раз:
sudo chroot /mnt
ping -c 4 launchpad.net
Виконайте ці команди, щоб зробити ваше хроноване середовище повністю готовим до використання:
export HOME=/root
export LC_ALL=C
Якщо ви не встановили .deb
файли для 64-розрядних версій dpkg
і apt
, зробіть це зараз. Якщо ви їх встановили, але були помилки конфігурації, запустіть dpkg --configure -a
їх виправити. (Сподіваємось, що це спрацює ... можливо, буде краще почекати спробувати встановити їх до тих пір, поки ви не опинитесь в середовищі живого компакт-диска, на випадок, якщо встановлення 64-розрядного dpkg
під час завантаження в встановлену систему не залишиться dpkg
у непридатному стані.)
З 64-бітовими версіями dpkg
та apt
встановленими, припускаючи, що вони автоматично встановлюватимуть 64-розрядні пакети, тепер можна видалити всі 32-бітні ядра та встановити 64-бітове ядро. Щоб видалити 32-бітні ядра, запустіть dpkg -l | grep linux-
. Тут перелічені встановлені пакети, які починаються з linux-
. Ви більш конкретно зацікавлені в пакети , які починаються , як linux-generic
, linux-image
, linux-server
і / або linux-headers
. Видаліть ці файли, apt-get purge ...
де ...
замінено перелік розділених пробілом пакетів, які ви видаляєте.
Тепер перевстановіть видалені пакети. (Насправді, для пакетів, що містять номери версій у назві пакета, як, наприклад linux-image-3.0.0-13-generic
, вам потрібно встановити лише останні перейменовані назви пакунків.) Зробіть це, запустивши apt-get install ...
там, де ...
замінено список розділених пробілом пакетів, які ви встановлюєте. .
Оновіть конфігурацію завантажувача, відключіть деякі пристрої та залиште chroot:
update-grub
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
sudo umount mnt/dev
Якщо ви бігли, sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
і це не провалилося, то тепер біжіть sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf
.
Якщо ви бігли, sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
і це не провалилося, то тепер біжіть sudo cp /mnt/etc/hosts.old /mnt/etc/hosts
.
Якщо у встановленій системі є окремий /boot
розділ, відключіть це:sudo umount /mnt/boot
Демонтуйте /
розділ встановленої системи :sudo umount /mnt
Залиште вікно терміналу (запустіть exit
), потім перезавантажте (або вимкніть) живу систему CD та завантажтесь у встановлену систему.
Подивіться, чи система придатна для використання і працює 64-бітове ядро ( uname -m
слід сказати, що архітектура є x86_64
).
Можливо, можуть бути додаткові пакети, які вам потрібно встановити, такі як ia32_libs
та / або 64-розрядна версія libc6
для цього, щоб це працювало. Для деяких з них, можливо, ви поінформуєте, що вам потрібні під час спроби встановити 64-бітну версію dpkg
та / або apt
. Для інших вас можуть не повідомити.
(Наведені вище вказівки щодо хротування та роботи в середовищі, що знаходяться в хронізованому середовищі, значною мірою базуються на цій пов'язаній, але різній процедурі, а також на деяких моїх повідомленнях Launchpad Answers , особливо №6 тут і №6 тут . І особлива подяка Cesium за вказівку що 64-розрядні dpkg
та apt
виконувані файли не працюватимуть у системі, де працює 32-бітове ядро.)