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?

Anon790528
źródło
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.
RAOF
źródło
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.

Oli
źródło
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.
Osama ALASSIRY
źródło
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.

James White
źródło
-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.

skorzen
źródło
1
Proszę wyjaśnić ostatnie zdanie.
Oli