Takie podejście jest bardzo skomplikowane i jest mało prawdopodobne, aby wszystkie pakiety były amd64wersjami zamiast i386wersji. Tylko pakiety, które faktycznie otrzymują uaktualnienia, prawdopodobnie zostaną zmienione w architekturze i prawdopodobnie tylko wtedy, gdy żadne inne pakiety, które nie zostaną uaktualnione, będą polegać na swojej i386architekturze. Ponieważ niektóre pakiety nie otrzymają żadnych aktualizacji przez cały cykl wsparcia twojej wersji Ubuntu, prawdopodobnie nigdy nie będziesz mieć w pełni amd64systemu używającego takiej techniki. Co więcej, z pewnością nie ma oficjalnego poparcia dla takiego podejścia.
Zaleca się zastąpienie istniejącego systemu Ubuntu nową, 64-bitową instalacją.
Jeśli jednak chcesz wypróbować tę technikę, musisz ręcznie pobrać .debpliki dla dpkgi apt. Można je znaleźć na stronach dpkgUbuntu i aptUbuntu na Launchpad - rozwiń najnowszą wersję w „Oneiric Ocelot” oznaczonym jako wydanie, bezpieczeństwo i / lub aktualizacje (ale prawdopodobnie nie chcesz wersji oznaczonej tylko proponowane i / lub backporty, jeśli takie istnieją). Następnie pobierz .debpliki oznaczone amd64. W szczególności pliki, które chcesz, to: ten dladpkg (i inne też wymienione, jeśli masz zainstalowane te pakiety) oraz ten i ten i ten i teni to dla apt.
Zanim cokolwiek zrobisz z tymi plikami, powinieneś wykonać kopię zapasową wszystkich ważnych dokumentów w zainstalowanym systemie Ubuntu i wszelkich innych ważnych plikach (np. Muzyka, ebooki, filmy), ponieważ jest prawdopodobne, że próba zastosowania tej techniki źle się przydarzy i pozostaw swój system Ubuntu całkowicie bezużyteczny.
Możesz zainstalować wszystkie te pakiety, umieszczając je w folderze, który nie zawiera nic innego (załóżmy, że folder jest wywoływany debsi znajduje się w Downloadskatalogu), a następnie uruchom następujące polecenie:
sudo dpkg -Ri ~/Downloads/debs
Oczywiście, po ich zainstalowaniu, tak naprawdę nie będą działać, ponieważ ich pliki wykonywalne są 64-bitowe, a na twoim 32-bitowym systemie Ubuntu działa jądro 32-bitowe (które będzie uruchamiać tylko 32-bitowe pliki wykonywalne). W rzeczywistości mogą nawet nie kończyć instalacji, ponieważ mogą mieć skrypty poinstalacyjne, które wywołują ich niemożliwe do uruchomienia 64-bitowe pliki wykonywalne.
Istnieją różne sposoby próby zainstalowania 64-bitowego jądra w systemie 32-bitowym, ale wszystkie są bardzo skomplikowane, dlatego zamiast tego zalecam uruchomienie z 64-bitowego dysku CD Live Oneiric (który sam uruchamia 64-bitowy kernel), chroot do zainstalowanym systemem Ubuntu i użyć niedawno zainstalowany 64-bitowy apti dpkgzainstalowanie jądra 64-bitowego.
Oto szczegółowe instrukcje, jak to zrobić ... ale proszę nie brać tego pod uwagę, że mówię, że zadziała. Nie próbowałem tego. (Zrobiłem chrootowanie do zainstalowanych systemów Ubuntu z Live CD i wykonałem zarządzanie pakietami i inne operacje, ale nie próbowałem sugerowanych tutaj operacji między architekturami.)
W zainstalowanym systemie Ubuntu otwórz okno Terminal ( Ctrl+ Alt+ T) i uruchom mount | grep ' on / '(wklejając je do Terminalu i naciskając Enter). Powinieneś zobaczyć coś takiego /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0). Interesuje Cię wcześniej nazwa urządzenia on(w tym przykładzie to /dev/sda2). Pamiętaj o tym lub zapisz to.
Krok 1 dał nazwę urządzenia /partycji. Jeśli masz oddzielną /bootpartycję, musisz również znać nazwę tego urządzenia. W takim razie uruchom mount | grep ' on /boot '. Zobaczysz coś takiego /dev/sda1 on /boot type ext2 (rw). Pamiętaj też lub zapisz to.
Uruchom komputer z Oneiric amd64 (tj. 64-bitowego) live CD i wybierz „Wypróbuj Ubuntu” zamiast „Zainstaluj Ubuntu”.
Przejdź do przeglądarki internetowej i upewnij się, że łączność internetowa jest w pełni funkcjonalna. Jeśli nie jest, skonfiguruj go.
Otwórz okno terminala i uruchom sudo mount /dev/sda2 /mnt(zamień /dev/sda2na nazwę urządzenia otrzymaną w kroku 1, jeśli jest inna).
Jeśli zainstalowany system ma osobną /bootpartycję, uruchom sudo mount /dev/sda1 /mnt/boot(zamień /dev/sda1na nazwę urządzenia otrzymaną w kroku 2, jeśli jest inna).
Teraz uruchom następujące polecenia, aby wykonać chroot w zainstalowanym systemie:
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
Uruchom, ping -c 4 launchpad.netaby sprawdzić, czy połączenie internetowe działa w pełni z chroot. Masz nadzieję na coś takiego:
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
Jeśli zamiast tego nie możesz przesyłać ani odbierać pakietów, musisz skonfigurować połączenie internetowe w chroot. Aby to zrobić, uruchom następujące polecenia (aby wyjść z chroot, skopiuj odpowiednie pliki konfiguracyjne z systemu Live CD do chroot i ponownie wprowadź 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
Chociaż ogólnie powinieneś zatrzymać ten proces, jeśli wystąpi błąd, nie martw się, jeśli pierwsze i / lub drugie z tych czterech poleceń zawiodą, pod warunkiem, że konkretny sposób, w jaki zawodzi, to informowanie, że /mnt/etc/resolv.conf(lub /mnt/etc/hosts) nie istnieje .
Chroot z powrotem i spróbuj ponownie:
sudo chroot /mnt
ping -c 4 launchpad.net
Uruchom następujące polecenia, aby przygotować środowisko chrootowane do użycia:
export HOME=/root
export LC_ALL=C
Jeśli nie zainstalowałeś .debplików dla 64-bitowych wersji dpkgi apt, zrób to teraz. Jeśli je zainstalowałeś, ale wystąpiły błędy konfiguracji, uruchom dpkg --configure -aje , aby je naprawić. (Mam nadzieję, że to zadziała ... może być lepiej poczekać, aby spróbować je zainstalować, dopóki nie znajdziesz się w środowisku Live CD, na wypadek gdyby instalacja 64-bitowego dpkgsystemu podczas rozruchu w zainstalowanym systemie dpkgpozostała bezużyteczna).
Po zainstalowaniu 64-bitowych wersji dpkgi aptprzy założeniu, że będą one automatycznie instalować pakiety 64-bitowe, możesz teraz usunąć wszystkie swoje 32-bitowe jądra i zainstalować 64-bitowe jądro. Aby usunąć 32-bitowe jądra, uruchom dpkg -l | grep linux-. Zawiera listę zainstalowanych pakietów zaczynających się od linux-. Jesteś zainteresowany dokładniej w pakietach, które rozpoczynają się jak linux-generic, linux-image, linux-serveri / lub linux-headers. Usuń te pliki, apt-get purge ...gdzie gdzie ...jest zastąpione rozdzieloną spacjami listą usuwanych pakietów.
Teraz ponownie zainstaluj usunięte pakiety. (W rzeczywistości, w przypadku pakietów zawierających numery wersji w nazwie pakietu, na przykład linux-image-3.0.0-13-genericwystarczy zainstalować tylko najnowsze wersje wersji pakietu.) Zrób to, uruchamiając program, apt-get install ...gdzie ...jest zastąpiony rozdzielaną spacjami listą instalowanych pakietów .
Zaktualizuj konfigurację modułu ładującego, odmontuj niektóre urządzenia i opuść chroot:
update-grub
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
sudo umount mnt/dev
Jeśli uciekłeś, sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.olda to nie zawiodło, to teraz uruchom sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf.
Jeśli uciekłeś, sudo cp /mnt/etc/hosts /mnt/etc/hosts.olda to nie zawiodło, to teraz uruchom sudo cp /mnt/etc/hosts.old /mnt/etc/hosts.
Jeśli zainstalowany system ma osobną /bootpartycję, odmontuj:sudo umount /mnt/boot
Odmontuj zainstalowaną /partycję systemową :sudo umount /mnt
Opuść okno Terminala (uruchom exit), a następnie uruchom ponownie (lub zamknij) system Live CD i uruchom system.
Sprawdź, czy system jest użyteczny i działa na 64-bitowym jądrze ( uname -mnależy powiedzieć, że architektura jest x86_64).
Mogą się przydać dodatkowe pakiety, takie jak ia32_libswersja 64-bitowa libc6, aby to działało. W przypadku niektórych z nich możesz zostać poinformowany, że potrzebujesz ich podczas próby zainstalowania 64-bitowej wersji dpkgi / lub apt. W przypadku innych możesz nie zostać poinformowany.
(Powyższe instrukcje dotyczące chrootowania i działania w środowisku chroot oparte są w znacznej części na tej pokrewnej, ale odmiennej procedurze, a także na niektórych moich postach Launchpad Answers , szczególnie tutaj # 6 i tutaj 6. Specjalne podziękowania dla Cesium za wskazanie że 64-bitowe dpkgi aptpliki wykonywalne nie będą działać w systemie z 32-bitowym jądrem.)