Jak zaktualizować system z wersji x86 do wersji x64 bez utraty ustawień?


26

Czy istnieje prosty sposób na uaktualnienie systemu do wersji x64 z wersji x86 bez utraty ustawień i konieczności ponownego partycjonowania itp?


To jest to samo pytanie, ale nie powinno być oznaczane jako duplikat, ponieważ istnieją również alternatywne odpowiedzi: Czy można „uaktualnić” instalację z wersji 32-bitowej do wersji 64-bitowej?
— rubo77

Ten przewodnik faktycznie dla mnie zadziałał, choć po drodze zajmuje dużo zabawy i naprawdę musisz być ekspertem od Ubuntu / Debian. Wiele pakietów się psuje i musisz ręcznie wymyślić, jak je naprawić. Nie dla osób o słabym sercu, a dla większości ludzi (jak zalecają inni tutaj), powinieneś po prostu dokonać czystej instalacji i przywrócić konfigurację
— David Fraser

Odpowiedzi:


19

Możesz po prostu przeprowadzić instalację x86-64 nad istniejącą instalacją i386. Nie ma potrzeby formatowania ani ponownego partycjonowania - instalator Ubuntu obsługuje teraz przechowywanie zawartości /homei (większości) /etc(i innych katalogów danych) kilku wydań.

To zapewni ci większość drogi; zachowasz całą konfigurację, ale nie będziesz mieć zainstalowanego tego samego oprogramowania.

Aby to zrobić, przewodnik z tej odpowiedzi powinien działać:

  1. Przed zainstalowaniem wersji x86-64 zrzuć listę aktualnie zainstalowanych pakietów, uruchamiając je dpkg --get-selections > ~/installed-softwarew terminalu.
  2. Po instalacji przywróć listę zainstalowanych pakietów, uruchamiając, sudo dpkg --set-selections < ~/installed-softwarea następnie sudo apt-get -f install. Prawdopodobnie będą pewne pakiety, których nie można zainstalować, ponieważ istnieją pewne pakiety i386 bez odpowiedników x86-64 - libc6-686typowym przykładem jest zoptymalizowany 686 libc.

Próbowałeś tego sam?
— Extender

Nie próbowałem instalować wersji amd64 w wersji i386, nie. Zainstalowałem już istniejącą instalację bez formatowania; to działa.
— RAOF,

Teoretycznie mogą też istnieć programy, które przechowują dane / pamięci podręczne / config inaczej, gdy są w wersji 32-bitowej w porównaniu do 64-bitowej, ale myślę, że większość programów powinna być bezpieczna ...
— JanC

Tak. Programy Windows mają tendencję do zrzucania zawartości pamięci na dysk, co powoduje ten problem. Programy systemu Linux są zwykle pisane z myślą o większej przenośności.
— RAOF

1
Możesz użyć aptitude, aby zrobić to samo, a także wykluczyć pakiety, które zostały zainstalowane automatycznie jako zależności. (możesz chcieć pozwolić, aby zostały ponownie wybrane automatycznie ;-) aptitude search "? i (? zainstalowane,? nie (? automatyczne))" -F% p> ~ / Zainstalowane-oprogramowanie Następnie zainstaluj je w sudo aptitude install $ (cat ~ / Zainstalowane oprogramowanie)
— Jesse the Wind Wanderer

7

Nie. Cóż ... Nie w sposób, który jest tego wart.

Istnieje kilka przewodników, które oferują mroczną ścieżkę z 32-bitową na 64-bitową, ale wierzcie mi, kiedy mówię, że majstruję przy Linuksie od lat, po prostu nie chciałbym tego robić. To gigantyczny hack, który celowo psuje rzeczy, aby oszukać system 32-bitowy do przyjmowania pakietów 64-bitowych. Pomyliłeś się i zepsułeś instalację ... Wygląda na to, że zajęłoby to dużo czasu.

Prawda jest taka, że to tylko tyle łatwiejsze do tworzenia kopii zapasowych rzeczy, które nie mogą zastąpić ( /etc/, /home/, części /var) na inny dysk, pop w 64-bitowym Live CD / USB i ponownie zainstalować. Instalacja na moim dysku SSD z USB zajęła mi 12 minut ostatnim razem, gdy to zrobiłem.

Po ponownej instalacji utwórz nowego użytkownika i skopiuj dowolne fragmenty swojego profilu. Możesz albo zrzucić to wszystko z powrotem, albo spędzić trochę czasu i uzyskać porządny porządek.


Cóż, będziesz chciał wykonać kopię zapasową więcej niż /etci /homejeśli używasz Apache.
— Nathan Osman,

6

Powinno być proste.

  1. Utwórz kopię zapasową folderów /etci /home(mam /homeosobną partycję, możesz potrzebować więcej folderów, jeśli masz jakieś niestandardowe foldery ... lub /var/wwwjeśli masz apache, może wykonaj kopię zapasową baz danych, jeśli takowe masz)
  2. Uruchom, dpkg --get-selections > installed-softwareaby zapisać listę zainstalowanego oprogramowania, wykonaj kopię zapasową pliku installed-software.
  3. Zainstaluj wersję x64, utwórz tych samych użytkowników.
  4. Przywróć plik /etc and/ home folders and theinstall-software`.
  5. Uruchom, dpkg --set-selections < installed-softwarea następnie uruchom, dselectaby zainstalować wcześniej zainstalowane oprogramowanie.

Ostatnio ręcznie zmieniłem na 64b. dpkg --get-selections > installed-softwarenie działało dla mnie z powodu :i386architektury niektórych nazw pakietów. Zamiast tego uruchomiłem ten skrypt:cat installed-software | cut -f1 | sed 's/:i386//g' | while read P; do sudo apt-get install $P; done
— philcolbourn

3

Nie sądzę, że możesz po prostu uaktualnić do 64-bitowej wersji Ubuntu, musiałbyś sformatować partycję i zainstalować 64-bitową wersję z Live CD x64.


-1

James ma rację.

Ponieważ x86 i x64 są różnymi architekturami, nie można po prostu aktualizować bezpośrednio od jednego do drugiego bez czyszczenia partycji głównej i ponownej instalacji systemu.

Jedną rzeczą, którą możesz (i MUSISZ) zrobić, jest posiadanie katalogów, w których przechowujesz ustawienia i pliki (zwykle / home / twoja nazwa użytkownika) skonfigurowane na osobnej partycji, ponieważ pozwala to sformatować system bez utraty ważnych ustawień, takich jak e-mail konfiguracja kont Evolution / Thunderbird lub dowolny inny typ plików.

Jeśli zrobisz to samo dla / usr / bin (na przykład), spowoduje to również wykonanie kopii zapasowej wszystkich plików w tym katalogu w formacie systemowym.


1
Proszę wyjaśnić ostatnie zdanie.
— Oli
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.