Jak mogę przełączyć instalację 32-bitową na 64-bitową?

54

Mam 32-bitową instalację Ubuntu działającą na 64-bitowym sprzęcie. Teraz, gdy zaimplementowano multi-arch , chciałbym przejść na wersję 64-bitową bez konieczności ponownej instalacji systemu operacyjnego.

To jedna z historii użytkowników, do których odnosi się specyfikacja :

Shawn zainstalował swój system za pomocą 32-bitowej wersji Ubuntu, ale jego sprzęt jest 64-bitowy i chce się przełączyć. Ręcznie instaluje wersje amd64 programu dpkg i apt, zastępując wersje i386 i zmieniając domyślną architekturę; następnie instaluje pakiet minimalny ubdu amd64; następnie instaluje pakiet ubuntu-desktop amd64. Z czasem pozostałe pakiety i386 są automatycznie zastępowane podczas aktualizacji.

Jednak, gdy próbuję postępować zgodnie z instrukcjami tam zawartymi, nie mogę znaleźć żadnej 64-bitowej wersji dpkg lub apt.

Czy ta historia użytkownika została zaimplementowana w inny sposób w ostatecznej specyfikacji, czy też muszę zrobić coś inaczej?

Krótko mówiąc, w jaki sposób mogę przełączyć moją instalację 32-bitową na 64-bitową?

David Planella
źródło
3
Zdaję sobie sprawę, że pytanie zostało już zadane na askubuntu.com/questions/5018/... , ale było to przed wdrożeniem multi-arch, więc odpowiedź powinna być inna.
David Planella

Odpowiedzi:

36

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.)

  1. 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.

  2. 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.

  3. Uruchom komputer z Oneiric amd64 (tj. 64-bitowego) live CD i wybierz „Wypróbuj Ubuntu” zamiast „Zainstaluj Ubuntu”.

  4. Przejdź do przeglądarki internetowej i upewnij się, że łączność internetowa jest w pełni funkcjonalna. Jeśli nie jest, skonfiguruj go.

  5. 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).

  6. 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).

  7. 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  
    
  8. 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
    
  9. 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  
    
  10. Uruchom następujące polecenia, aby przygotować środowisko chrootowane do użycia:

    export HOME=/root  
    export LC_ALL=C  
    
  11. 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).

  12. 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.

  13. 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 .

  14. 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  
    
  15. 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.

  16. 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.

  17. Jeśli zainstalowany system ma osobną /bootpartycję, odmontuj:sudo umount /mnt/boot

  18. Odmontuj zainstalowaną /partycję systemową :sudo umount /mnt

  19. Opuść okno Terminala (uruchom exit), a następnie uruchom ponownie (lub zamknij) system Live CD i uruchom system.

  20. 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.)

Eliah Kagan
źródło
2
Czy te pliki binarne będą działać pod 32-bitowym jądrem, Eliah?
Cesium
@Cesesium Dobra rozmowa. Oczywiście nie. Zredagowałbym mój post, aby wskazać, jak uruchomić 64-bitowe jądro ... z wyjątkiem tego, że nie mam pojęcia, jak zainstalować 64-bitowy pakiet jądra w 32-bitowym systemie Ubuntu (działającym na 64-bitowym sprzęcie, oczywiście) kiedy apti dpkgnadal są 32-bitowe i (prawdopodobnie) odmówią instalacji 64-bitowego pakietu jądra. (Zbudowanie jądra ze źródła i użycie kompilacji krzyżowej działałoby, ale jest to bardzo skomplikowane i nie chcę go polecać. Jestem pewien, że istnieje lepszy, łatwiejszy sposób. Jeśli go znasz, nie krępuj się edytować mój lub swój post lub komentarz na ten temat.)
Eliah Kagan
@ Caesium Właściwie myślę, że wiem, jak zainstalować 64-bitowe jądro. Wkrótce dokonam edycji mojego postu, aby to odzwierciedlić. Gdy to zrobię, jeśli uważasz, że moja proponowana technika zadziała, możesz skopiować i / lub sparafrazować ją w swojej odpowiedzi ... lub, alternatywnie, pod warunkiem, że zarówno informacje w Twojej odpowiedzi, które nie są moje, jak i informacje w mojej odpowiedzi, która nie jest w tobie zachowana, możesz połączyć nasze odpowiedzi w jedną odpowiedź. (To może być twoja odpowiedź - w porządku dla mnie. Napisałeś trochę wcześniej, zanim to zrobiłem. Potem
usunęłbym
@ Caesium Edycja zakończona; Czekam na wasze komentarze.
Eliah Kagan
Wow, dobra robota :) W tym momencie włożyłeś dużo więcej wysiłku niż ja, więc nie marzę o kopiowaniu do mojej odpowiedzi, twoje powinny pozostać na uznanie. Nie oddala się od pierwotnego celu korzystania z technologii multiarch, ale będę zainteresowany, czy mimo to zadziała :) Chyba będziemy musieli poczekać na oryginalny plakat :)
Cesium
25

Jak podano powyżej, zrobiłem:

echo foreign-architecture amd64 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch
sudo apt-get update
sudo apt-get install linux-image:amd64
sudo apt-get install gcc-multilib
sudo update-grub

Zadziałało. Jestem w stanie uruchomić moją 32-bitową przestrzeń użytkownika z 64-bitowym jądrem w Ubuntu 12.04.

VJ-
źródło
5
Ta odpowiedź kołysze się. Mogę potwierdzić, że nadal działa z pyskaty. Jedną różnicą jest to, że zmieniła się procedura dodawania architektury: sudo dpkg --add-architecture amd64zamiast tego użyj . Będzie krzyczeć na ciebie, jeśli zrobisz to w inny sposób. Musiałem to zrobić, aby móc wykonać chroot do instalacji 64-bitowej z (wcześniej) wersji 32-bitowej i działało dokładnie tak, jak oczekiwano, bez żadnych problemów.
Wug
Próbowałem tego na Mint, ale mam pewne problemy, zrobiłeś coś jeszcze? Szczegóły: superuser.com/q/927830/150718
dr Hannibal Lecter
Oprócz zmiany Wuga, musisz także użyć linux-image-generic:amd64na Ubuntu 16.04. Działa dobrze, nawet bez dwóch ostatnich poleceń.
qznc
6

Chociaż pytanie jest podobne do Czy można „uaktualnić” instalację z wersji 32-bitowej do wersji 64-bitowej? (Jeśli nie przeczytałeś go wcześniej, zachęcam do wypróbowania go. Podana odpowiedź jest dobra.) Polecam również przeczytanie następujących linków:

Czy w celu uzyskania lepszej wydajności należy zainstalować wersję 32-bitową czy 64-bitową?

Jak mogę przełączyć instalację 32-bitową na 64-bitową?

Jakie są różnice między wersją 32-bitową a 64-bitową i którą wybrać?

Czy to możliwe: Tak

Czy to proste: NIE!

Jeśli masz problem z pamięcią, powinieneś wiedzieć, że Ubuntu 32 Bit może odczytać więcej niż 4 GB pamięci RAM (do 64 GB). Zatem używanie najnowszej 32-bitowej wersji Ubuntu z komputerem z architekturą 32-bitową lub 64-bitową i włożenie większej ilości pamięci RAM nie będzie problemem. Po prostu odczytuje dodatkową pamięć RAM i działa.

Luis Alvarado
źródło
5

Te odpowiedzi są nieco nieaktualne. Cross-grading jest teraz udokumentowany dla Debiana na wiki Debiana , ale nadal nie jest zalecany.

Instalowanie jądra z innej architektury jest teraz tak proste, jak tam opisano, ale nowy „apt” nie rozpozna pakietów z poprzedniej architektury, więc wszystkie jego interfejsy mogą zgłaszać wiele uszkodzonych pakietów. Wymaga to albo zmiany wszystkich zależności na inną architekturę, albo przywrócenia apt i dpkg do wersji 32-bitowej.

Najlepszym rozwiązaniem może być najpierw zapisanie wyników dpkg --get-selections, usunięcie: i386 z tego i pobranie pakietu amd64 dla każdej zależności do pamięci podręcznej:

apt-get --download-only install perl:amd64 python3:amd64 python3-gi:amd64 xorg:amd64...

W najlepszym przypadku rozwiązanie zależności może być powolne i czasochłonne.

Cedric Knight
źródło
5

Te instrukcje powodują, że system uruchamia się z 64-bitowym jądrem, ale nie zmienia większości programów użytkownika.

Po uaktualnieniu systemu do 64-bitowego procesora chciałem również zainstalować 64-bitowe jądro na moim 32-bitowym Ubuntu 14.04.2 (nazwa kodowa: Trusty). Aby to zrobić, wprowadziłem następujące polecenia jako użytkownik root :

dpkg --add-architecture amd64   
apt-get update
apt-get install linux-generic-lts-utopic:amd64

Uwagi:

  1. To może usunąć twoje 32-bitowe jądro, ponieważ zaufane - domyślnie - jest dostarczane ze zaktualizowanym jądrem (jądro z utopic), patrz 14.04 Informacje o wersji . W takim przypadku bieżące jądro powoduje konflikt z 64-bitowym jądrem, które ma zostać zainstalowane, i dlatego zostaje usunięte. Jeśli nie podoba ci się ten pomysł, możesz wypróbować starszy 64-bitowy pakiet jądra „linux-generic-lts-trusty: amd64”.

  2. Niezbędne jest polecenie „--add-architecure”. Bez tego system pakietów nie obsługuje pakietów z różnych architektur, patrz Multiarch-HowTo

  3. Aby zobaczyć, co apt-getzrobi z twoim systemem, uruchom go z opcjami, -Vsktóre włączają „pełny tryb symulacji”. Spowoduje to wydrukowanie wszystkich pakietów do zainstalowania i usunięcia.

  4. To, czy system uruchamia się przy użyciu nowego jądra, zależy od grubkonfiguracji. Jako użytkownik root uruchom, update-grubaby zaktualizować GRUB i wydrukować bieżącą konfigurację rozruchową. Pierwszy obraz z listy zostanie uruchomiony domyślnie.

  5. Aby wybrać inny obraz jądra, usunąłem linii GRUB_HIDDEN_TIMEOUT=0od /etc/default/grubi prowadził jako użytkownik root update-grub . W czasie uruchamiania możesz teraz wybrać inne jądro (masz 10 sekund na naciśnięcie dowolnego klawisza, w przeciwnym razie GRUB będzie kontynuowany z domyślnym jądrem).

  6. Odpowiedź z największą liczbą głosów pochodzi z 2011 roku i moim zdaniem jest beznadziejnie przestarzała. Multiarch pozwala instalować pakiety bibliotek z wielu architektur na tym samym komputerze bez zbędnych ceregieli.

Daniel K.
źródło
To miła prosta rada, która prawie dla mnie zadziałała 14.10 (Utopic) (jednak zrobiłem to, apt-get install linux-generic:amd64co nie musi być bardzo ważne dla eksperymentu)! Jeśli przejdę do opcji rozruchowej „ratowanie”, system uruchomi się, ale X nie użyje nouveausterownika wideo i innych rzeczy. Jeśli uruchomię się normalnie, w pewnym momencie uruchamianie przerywa się, a system uruchamia się ponownie. (Ale po raz pierwszy udało mi się pomyślnie uruchomić.) Nie jestem pewien, czy problem dotyczy sterownika wideo podczas „normalnego” rozruchu, czy coś innego.
imz - Ivan Zachharyaschev
Okazało się, że sterownik wideo i X nie są (statystycznie) powiązane z moimi awariami / restartami z jądrem amd64. Na razie to tylko tajemnica - bugs.launchpad.net/ubuntu/+source/upstart/+bug/1495116 .
imz - Ivan Zakharyaschev
2

Być może, ponieważ napotykam ten sam problem, to zadziała, to właśnie zamierzałem zrobić:

Uzyskaj 64-bitową wersję systemu operacyjnego, zainstaluj na partycji, po zakończeniu skopiuj dokumenty i inne rzeczy z instalacji 32-bitowej, gdy wszystko zostanie bezpiecznie skopiowane, możesz sformatować resztę dysku i użyć jej.

ubuntufan
źródło
2

Tak, linia architektury zagranicznej jest zdecydowanie niezbędna do instalowania DOWOLNYCH pakietów cross-arch. Ale potem wykonaj jak wspomniano kilku innych użytkowników:

sudo apt-get update
sudo apt-get install linux-image:amd64
sudo apt-get install linux-modules:amd64
sudo init 6 #reboot into new kernel
sudo apt-get install apt:amd64
sudo apt-get install ubuntu-desktop:amd64

To powinno po prostu to zrobić ...

realkstrawn93
źródło
próbowałeś tego? to naprawdę nie działa, pojawiają się problemy, kiedy zaczyna zastępować dpkg i perl przez ich odpowiedniki amd64
Janus Troelsen
2

Mój przepis na Ubuntu 16.04 Xenial, przetestowany na świeżo zainstalowanej 32-bitowej maszynie Wirtualnej Ubuntu ze standardowym systemem i serwerem SSH, ale bez GUI:

sudo -s
dpkg --get-selections > pkg1
dpkg --add-architecture amd64
apt update
apt install linux-image-generic:amd64 thermald 

(w przeciwnym razie zainstalowałby thermald: amd64 i nie zrestartowałby go pod jądrem 32-bitowym)

reboot

po ponownym uruchomieniu z 64-bitowym jądrem:

sudo -s
unset LANG
apt install apt:amd64 apt-utils:amd64

wpisz „Tak, rób jak mówię!” zapytany, będzie bezpieczny

mkdir /tmp/upgrade 
cd /tmp/upgrade
pkgs() { dpkg -l | awk '$4=="'$1'"{print $2}' | awk -F: '{print $1}' | sort -u
}
apt download $(comm -23 <(pkgs i386) <(pkgs amd64))
while ls *amd64*deb
do dpkg -i *amd64*deb
   dpkg -l | awk '$1=="ii" && $4=="amd64" {print $2}' | awk -F: '{print $1}' |
   while read a
   do [ -f ${a}_*amd64*deb ] && rm ${a}_*amd64*deb
   done
done

w powyższej pętli usuwamy pliki .deb, które zostały pomyślnie zainstalowane i mają status „ii” na liście dpkg.

musimy powtarzać dpkg -iprzebiegi, ponieważ nie udaje się to od pierwszej próby

reboot

teraz, zarówno z 64-bitowym jądrem, jak i przestrzenią użytkownika, pozostałe pakiety i386 można usunąć:

dpkg --purge $(dpkg -l | awk '$4=="i386"{print $2}')

lista zapisana w pkgs1pliku, której możesz użyć do swoich dalszych potrzeb.

Władimir Mutel
źródło
To trochę magia, ale pomogło mi dokonać przejścia z 32 na 64 bit poprzez SSH na zdalnym komputerze.
user271872
1

Dobre pytanie. Miałem polowanie i poza cytowaną przez ciebie historią użytkownika, nie mogę znaleźć żadnych szczegółów, jak to zrobić. Cała dokumentacja wskazuje, że służy tylko do uruchamiania aplikacji 32-bitowych w już 64-bitowym systemie operacyjnym.

Jeśli jednak chcesz eksperymentować, możesz wypróbować następujące (pochodzące z mojego linku w [1])

 echo foreign-architecture amd64 | sudo tee /etc/dpkg/dpkg.cfg.d/multiarch
 sudo apt-get install linux-image:amd64

Myślę, że będziesz musiał zacząć od jądra amd64, ponieważ 32-bitowe nie będzie w stanie uruchomić żadnych 64-bitowych plików binarnych. Jednak w wersji 64-bitowej należy uruchomić 32-bitowe pliki binarne (jeśli jest zainstalowany program ia32-libs?).

Jeśli zainstalujesz i uruchomisz 64-bitowe jądro, możesz przejść stamtąd, aby zainstalować apt: amd64, a następnie postępować zgodnie z historią użytkownika, jak wcześniej cytowano, minimalną liczbą Ubuntu, pulpitem Ubuntu itp.

Po zainstalowaniu apt: amd64, myślę, że możesz usunąć linię architektury obcej, ponieważ zasadniczo przeszedłeś w tym momencie.

Oświadczenie: Nie mam 32-bitowego systemu do przetestowania, więc to tylko zgadywanie. Powodzenia!

[1] https://wiki.ubuntu.com/OneiricOcelot/TechnicalOverview/Beta1#Improved_handling_of_32-bit_compatibility_on_amd64_systems

Cez
źródło
1

Crossgrading (aktualizacja do innej architektury) nie jest jeszcze obsługiwany.

tumbleweed
źródło