Czy można „uaktualnić” instalację z wersji 32-bitowej do wersji 64-bitowej?

105

Zgodnie z tytułem chcę wiedzieć, czy po udanej instalacji 32-bitowej i kolejnych instalacjach oprogramowania mogę zaktualizować do wersji 64-bitowej.

Wiem, jak podzielić (w rzeczywistości jednym z rozwiązań jest ustalenie /, /etc, /home, /var/www, i /optjako oddzielnych partycjach) i wiem, że czystej instalacji jest o wiele lepiej niż brudnym jednego, ale chciałbym wiedzieć, czy / jak to możliwe Zrób to.

dag729
źródło
2
To jest to samo pytanie, ale nie powinno być oznaczane jako duplikat, ponieważ istnieją również alternatywne odpowiedzi: Jak zaktualizować wersję x86 do x64 bez utraty ustawień?
rubo77
Podobne pytanie na temat U&L: unix.stackexchange.com/q/244980/52956
Wilf

Odpowiedzi:

68

Znajdziesz czystą instalację o wiele mniej kłopotów niż jakakolwiek inna niezwykła, niejasna, nieobsługiwana metoda.

Twoja sugestia partycjonowania plików konfiguracyjnych, katalogów domowych itp. Jest prawdopodobnie najlepszym pomysłem i możliwe jest zainstalowanie tych samych pakietów przy czystej instalacji, jak przy innej instalacji .

Z drugiej strony, to, o co prosiłeś, jest możliwe, istnieje mały przewodnik dla systemów opartych na Debianie, ale pamiętaj, że „to naprawdę jest dla sysadminów na poziomie profesjonalnym” i „ta procedura jest pod każdym możliwym względem złym pomysłem. wasz pierworodny, proszę nie przychodź do mnie płacząc "... (powodzenia)

8128
źródło
3
+1 dla ciebie. Nie dla osób o słabych nerwach ... Chciałem zalecić utworzenie kopii zapasowej wszystkich plików konfiguracyjnych i danych, na których Ci zależy (może nawet dzienników apt), i wykonanie operacji znajdź i zamień na apt sources.list, aby wskaż wersje 64-bitowe. Potem przeczytałem wspomniany samouczek i szybko
przestałem rozumieć
2
Co jeśli nie mam pierworodnego, czy to oznacza, że ​​procedura jest dla mnie bezpieczniejsza niż u innych? ..... dzieciaku, pytanie brzmi: jeśli masz 32-bitowy działający poprawnie, dlaczego chcesz przejść przez piekło, aby zaoszczędzić sobie czasu na tworzeniu kopii zapasowych / przywracaniu danych + czasie ponownej instalacji, w końcu ta metoda nie jest szybciej. Szybciej = kopia zapasowa, zainstaluj ponownie. Również mniej problemów na dłuższą metę.
Dmitriy Likhten
Wielkie dzięki: w końcu utworzyłem kopię zapasową wszystkich danych, podzieliłem dysk na partycje i ponownie zainstalowałem. Teraz jednak konieczne są pewne problemy z przywracaniem baz danych, serwera WWW i niektórych usług.
dag729
@ dag729: Zaufaj mi, to kłopot z tworzeniem kopii zapasowych / przywracaniem, ale mniej niż alternatywa. Robisz tylko 32 -> 64 w tragicznych przypadkach. Nawet administratorzy tutaj w pracy tego nie zrobią, wykonują kopie zapasowe, czyszczą, instalują, są znacznie czystsze / bezpieczniejsze.
Dmitriy Likhten
Z powodzeniem skorzystałem z połączonego przewodnika, aby przejść z wersji 32-bitowej na 64-bitową (na Ubuntu 14.04). Jestem profesjonalnym administratorem z 20-letnim doświadczeniem w Debian / Ubuntu. I tak, to nie było dla osób o słabym sercu. Zajęło mi to cały dzień wysiłku, który, moim zdaniem, jest znacznie mniejszy niż wysiłek, jaki zajęłoby mi przywrócenie wszystkich konfiguracji, dostosowań, baz danych itp., Które zainstalowałem na stacji roboczej. Powinienem podkreślić, że to była moja stacja robocza dla programistów. Uważałbym za nierozsądne próbowanie tego na serwerze produkcyjnym.
jdhildeb,
14

Rzucę przebicie martwe, ponieważ ten wątek jest jednym z najlepszych wyników dla „aktualizacji Ubuntu do 64 bitów”, a wybrana odpowiedź, choć wprawdzie mądry wybór, nie jest pełną historią.

W rzeczywistości możliwe jest uaktualnienie Ubuntu z 32 do 64 bitów. Możesz to zrobić

Właśnie skończyłem robić taką aktualizację.

To powiedziawszy, słowa „może” i „nie powinny” wyglądać podobnie, i dotyczy to również aktualizacji i nowej instalacji. Możesz to zrobić? Tak. Powinieneś to zrobić Eeeeeh ...

Aktualizacja z 32 do 64 bitów bez eksplozji mojego systemu zajęła mi większą część tygodnia. W tym ręczne naprawianie ponad 600 uszkodzonych pakietów w aptitude, ponieważ automatyczny resolver zaczął zapętlać, najwyraźniej dlatego, że PERL: i386 (wymagany przez zainstalowane pakiety) jest niezgodny z PERL: amd64 (wymagany przez pakiety, które próbujesz zainstalować).

Było to po tym, jak ręcznie zainstalowałem kilka pakietów, w tym poprawną wersję PERL, aby naprawić trafny błąd: widzisz, apt-get -f install(który jest wymagany, aby uzyskać głównie działający system 64-bitowy) odinstaluje PERL32, aby zainstalować PERL64 ... Następnie wesoło przystąp do próby usunięcia 1234 innych pakietów, zanim zaczniesz ponownie instalować PERL . Nie trzeba dodawać, że nie jest to dobry pomysł, gdy spora część systemu apt (wiele innych rzeczy, naprawdę) zależy od działającego PERL-a.

Ponowna instalacja została wykonana w całości z konsoli (oczywiście aptitude FTW), ponieważ konsola wymaga tylko działającego bashu (i działających przekleństw dla aptitude, ale jeśli spróbujesz to zrobić, przekleństwa będą obfite, możesz postawić na to) ), podczas gdy X wymaga ... Zbyt wiele rzeczy, aby zaufać, aby mógł działać podczas wykonywania operacji na otwartym sercu w systemie.

Mimo to poniższy artykuł Debiana wyjaśnia, w jaki sposób można dokonać oceny systemu:

https://wiki.debian.org/CrossGrading

To nie jest ten sam artykuł, który opisano w pierwotnie przyjętej odpowiedzi , ponieważ w międzyczasie wszystko się zmieniło, głównie na lepsze.

Podstawy to:

 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

W którym momencie będziesz mógł to zrobić:

dpkg --print-architecture 

Wynikające z następującego wiersza:

amd64

Tak Ubuntu uważa, że ​​jest to odpowiedni system 64-bitowy. Jak słodko. Oczywiście wiesz lepiej.

Teraz możesz uruchomić:

apt-get update

Spowoduje to pobranie listy wszystkich pakietów 64-bitowych, które będą potrzebne do ukończenia krzyżowania systemu.

W tym momencie twój system działa tak, jakby nic się nie wydarzyło, z wyjątkiem tego, że Twoja zdolność do instalowania czegokolwiek jest dobrze i naprawdę zepsuta.

Widzisz, masz teraz wiele pakietów i386, które nie mają rzeczywistego ekwiwalentu wielu ścieżek, więc utkniesz z różnymi technicznie „niedostępnymi” zależnościami. Już masz je zainstalowane, więc twój system będzie działał, ale na tym etapie ... nie ufałbym apt dalej, niż mogę go wyrzucić.

Artykuł uznaje potrzebę poprawki i sugeruje zrobienie tego w ten sposób:

 apt-get -f install

Spowoduje to, że apt będzie próbował naprawić bezbożny bałagan, który właśnie stworzyłeś. I uwierz mi, właśnie zrobiłeś bezbożny bałagan.

Jednym drobnym czkawką tej procedury jest to, że spowoduje częściowe odinstalowanie części systemu apt (i innych krytycznych podsystemów) , powodując błędy podczas pozostałej części procesu (nie mówisz) i pozostawiając cię w potoku .

Na szczęście nie bez wiosła. Możesz zainstalować brakujące pakiety za pomocą:

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

Zauważ, że przynajmniej dla mnie sieć przestała działać w jednym ... Cóż, w kilku ... Punktach. Było to spowodowane tym, że apt usunął wiele pakietów niezbędnych do utrzymania sieci (np. Klienta dhcp).

Następnie apt wesoło poinformował mnie, że musi pobrać dodatkowe pakiety. Bez działającej sieci.

Jeśli to brzmi jak jesteś oficjalnie bez kości ... Cóż, to dlatego, że jesteś.

O ile nie masz przewodowego nowego urządzenia (Twoje pakiety Wi-Fi zostały już odinstalowane, a WiFI i tak jest bardziej skomplikowane, aby dostać się do pracy), poznaj jego informacje konfiguracyjne i jesteś w stanie używać ifconfig, trasować itp.

Po prostu próbuj, apt-get -f installaż nie otrzymasz więcej błędów.

Po sprawdzeniu aptstanu systemu możesz uruchomić aptitudei ręcznie naprawić 600 uszkodzonych pakietów, które znajdziesz. Najwyraźniej apti aptitudemają różne wyobrażenia o tym, jak wygląda działający system. Nie pytaj mnie dlaczego.

Jak już wspomniałem, aptituderesolver wchodzi w nieskończoną pętlę, jeśli spróbujesz pozwolić mu zrobić to automatycznie. Nie mogę tego winić, naprawdę, został zaprojektowany, aby uruchomić na działającym systemie i pomóc użytkownikowi dodać lub usunąć niektóre pakiety, a nie naprawić tego rodzaju obrzydliwości.

Jest to część, która zajęła mi kilka dni, po trochu naraz, za pomocą innego systemu, aby od czasu do czasu przejść do trybu online i upewnić się, że nie przypadkowo sformatowałem psa rodzinnego.

Jeśli to wszystko jeszcze cię nie zniechęciło, zauważ, że była to moja druga próba aktualizacji na żywo.

Pierwszy zakończył się na mkfs.

Podpowiedź, podpowiedź, duża wskazówka. A raczej duża wskazówka mkfsing.

Ale znowu to naprawdę działało .

System działa, używa głównie pakietów 64-bitowych (jest kilka wyjątków, które będę musiał w końcu naprawić) i może uruchamiać aplikacje wymagające instalacji 64-bitowej.

Jest to możliwe .

Jeśli z jakiejkolwiek przyczyny jest to Twoja jedyna opcja, możesz to zrobić, postępując zgodnie z procedurą opisaną powyżej - jeśli posiadasz wymaganą wiedzę na temat domeny.

Jeśli nie znasz różnicy między synci rsync, jeśli nie czujesz się komfortowo z insmod, jeśli nie wiesz, jak używać ifconfig, jeśli nie rutynowo wolisz umiejętności od instalatora graficznego, którego nazwa w tej chwili mi ucieka. .. Wystarczy wykonać kopię zapasową danych i zainstalować od zera.

Jest o wiele mniej bolesny, pozwoli Ci zaoszczędzić dużo czasu i pozostawi Ci świeżą instalację, bez żadnych niespodziewanych resztek gotowych cię ugryźć za 11 miesięcy.

Jeśli masz już kopię zapasową rzeczy, których nie chcesz stracić, i nie masz innego wyjścia - lub po prostu lubisz uczyć się, uderzając głową o rzeczy (szczególnie ścianę) ... Cóż, możesz spróbować.

To może nawet zadziałać.

Asterix
źródło
Uwielbiam to pytanie, ~ 7 lat później i staje się coraz lepsze. Czuję się dobrze w 2018 roku i również chcę przekonwertować swój system z 32-bitowego na 64-bitowy. Debian ma tutaj doskonały artykuł wiki , w zasadzie HOWTO na temat konwertowania architektur w systemie na żywo. Jednym z moich problemów jest to, że pomimo dodania obu architektur i uruchomienia aktualizacji apt-get, niektóre pakiety po prostu nie wyświetlają się dla jednej architektury.
TGP1994
13

To może być o wiele rozsądniejsze posunięcie po wdrożeniu specyfikacji wielościeżkowej. https://wiki.ubuntu.com/MultiarchSpec - obecnie przełożony na 11.04, ale pamiętaj, że został przełożony na około 6 wydań teraz. To powiedziawszy, faktyczny postęp został osiągnięty w 10.10, więc może tym razem się to stanie.

Do tego czasu nie przejmuj się. Wykonaj kopię zapasową danych, podziel ją na partycje, jeśli chcesz, i zainstaluj ponownie.

Scott Ritchie
źródło
1
Nie mogę się doczekać, aż MultiArch zostanie wdrożony!
dag729
Wierzę, że 11.10 używa teraz multiarch.
Christopher Kyle Horton,
Załóżmy, że jestem podróżnikiem w czasie, który jest tutaj ~ 5 lat po twojej odpowiedzi, czy jest to teraz „bardziej rozsądne”? Lub nadal zainstalować ponownie?
Camilo Martin
1
Teraz jest co najmniej możliwe wymuszone ręczne instalowanie pakietów z innych łuków w sposób, który nie psuje apt. Ale nie, powinieneś po prostu zainstalować ponownie.
Scott Ritchie
8

Nie, nie możesz zaktualizować wersji z 32-bitowej na 64-bitową. To musi być czysta (świeża) instalacja

Zanim to zrobisz, upewnij się, że Twój system obsługuje 64-bitowy system operacyjny i sprawdź minimalne wymagania dla Ubuntu 64. Możesz to zrobić tutaj

Terminy 32-bitowe i 64-bitowe odnoszą się do sposobu, w jaki procesor komputera obsługuje informacje. Wersja 64-bitowa obsługuje dużo pamięci RAM znacznie lepiej niż system 32-bitowy. Jeśli korzystasz z 32-bitowej wersji Ubuntu, możesz wykonać jedynie aktualizację do innej 32-bitowej wersji Ubuntu. Podobnie, jeśli używasz 64-bitowej wersji Ubuntu, możesz przeprowadzić aktualizację do innej 64-bitowej wersji Ubuntu.

Jeśli chcesz przejść z 32-bitowego systemu Ubuntu na 64-bitowy system Ubuntu, musisz wykonać kopię zapasową plików, wykonać czystą instalację 64-bitowego systemu Ubuntu.

Mitch
źródło
7

Możesz teraz zrobić to dość łatwo z najnowszymi instalatorami (przynajmniej z 13.10, którego właśnie użyłem). Uruchom komputer z 64-bitowym obrazem DVD (lub napędem USB lub czymkolwiek innym) i wybierz pierwszą opcję ponownej instalacji, zachowując swoje pliki osobiste. Działa to nawet, jeśli nie masz osobnej /homepartycji.

Spowoduje to ponowną instalację większości systemu, w tym aplikacji, ale wymaga to wcześniejszej listy zainstalowanych pakietów, aby ponownie zainstalować je z repo, więc dopóki pakiet ma dostępną wersję 64-bitową, powinieneś skończyć z większość aplikacji po ponownym uruchomieniu. Z mojego doświadczenia wynika, że ​​kilka nie zostało zainstalowanych - głównie te, które zostały zainstalowane za pośrednictwem repozytoriów stron trzecich, takich jak Google Chrome - ale później nie trzeba długo instalować ręcznie.

Nacięcie
źródło
Czy możesz udostępnić źródło z instrukcjami, jak to zrobić / zastrzeżenia?
izomorfizmy
Sprawdziłem to z 14.04 LTS i niestety, nie można tego już zrobić. Aby poznać szczegóły, zobacz moją odpowiedź poniżej.
filofel 24.04.16
2

Możliwe jest uaktualnienie Ubuntu 32-bitowego do 64-bitowego, będzie mieć wiele niechcianych plików i musisz je wyczyścić ręcznie. Prawdą jest „HEADACHE” .

NIGDY NIE POLECĘ / NIE POLECAM DLA NOWYCH.

Cokolwiek robisz, najpierw wykonaj kopię zapasową ważnych danych. Następnie przejdź do badań z os.

Najpierw wypróbuj CD na żywo w wersji 64-bitowej. Jeśli to działa, przejdź do nowej instalacji, zalecane.

Istnieje również oprogramowanie, które wciąż jest 32-bitowe. Aby zainstalować oprogramowanie 32-bitowe na 64-bitowym systemie operacyjnym, potrzebujemy trochę wstecznego przetwarzania. Te również będą złe.

Pomyśl przez chwilę: jakie są twoje wymagania, co zamierzasz zrobić, następny plan / praca z 64-bitowym systemem operacyjnym.

Sudhakar Krishnan
źródło
1
Co rozumiesz przez „aby zainstalować oprogramowanie 32-bitowe na 64-bitowym systemie operacyjnym, potrzebujemy przetwarzania wstecznego”? x86_64 ma być nadzbiorem x86_32, więc rzeczy po prostu działają, prawda?
Camilo Martin
1

Twój system operacyjny jest nadal 32-bitowy po uaktualnieniu z 32-bitowej - więcej informacji znajdziesz w odpowiedzi w komentarzu.

nawiasem mówiąc, czy możliwe jest współistnienie 32-bitowej wersji Win i 64-bitowej wersji Ubuntu?

Oczywiście - nazywa się to dualboot - przy logowaniu miałbyś opcję użycia jednego z nich.

Pobierz i wypal 64-bitową wersję ISO i uruchom z nią, wyświetli się monit z różnymi opcjami - wybierz opcję Zainstaluj obok.

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

23 93 26 35 19 57 3 89
źródło
1

Właśnie wypróbowałem rozwiązanie zaproponowane powyżej przez Nicka (19 października 13): Użycie 64-bitowej płyty CD Live Ubuntu do przeprowadzenia 64-bitowej ponownej instalacji.
Użyłem Live CD Ubuntu 14.04.4. Ale jeśli pierwsza opcja rzeczywiście nazywa się „reinstalacją”, bardziej precyzyjnie wygląda następująco:

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.  

Dwie inne opcje oferowane przez instalatora na Live CD to:

  • Zainstaluj obok (opcja podwójnego rozruchu)
  • Wymaż dysk i zainstaluj Ubuntu

Aby być naprawdę pewnym, próbowałem z dyskiem testowym i rzeczywiście pierwszą rzeczą, którą robi opcja „zainstaluj ponownie”, jest sformatowanie istniejącej partycji ext4. Brak szczęścia.
Obawiam się więc, że rozwiązanie sugerowane przez Nicka w wersji 14.04 nie istnieje już w 14.04.
I BTW, Canonical, nie widzę sensu, aby instalator posiadał zarówno tak zwaną opcję „zainstaluj ponownie”, jak i opcję „Wymaż dysk i zainstaluj”. Oba wydają się robić to samo.

Szkoda, ponieważ taka opcja uaktualnienia do wersji 64-bitowej na miejscu mogłaby być naprawdę fajna!

filofel
źródło
-1

Musisz dokonać nowej instalacji 64-bitowej wersji Ubuntu. Możliwe jest posiadanie 32-bitowych okien i 64-bitowego systemu Ubuntu, o ile z oczywistych powodów nie współużytkują tego samego dysku lub partycji. Zapoznaj się z dokumentacją Howto na temat podwójnego uruchamiania.

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

Ważne jest, aby procesor na komputerze, na którym instalujesz, obsługiwał 64-bitowy zestaw instrukcji (który powinien być obecnie obsługiwany przez większość współczesnych procesorów)

papashou
źródło
2
Czy w ogóle próbowałeś przeczytać pytanie?
dag729