Migrate installation to new hardware (Polski)
W tym artykule omówiono kroki wymagane do przeniesienia systemu Arch Linux na nowy sprzęt. Celem jest osiągnięcie takiej samej instalacji ArchLinux, jeśli chodzi o zainstalowane oprogramowanie i konfigurację, która jest niezależna od sprzętu.
Istnieją dwa różne podejścia do migracji instalacji:
- Bottom to top: Zainstaluj świeży system Arch Linux na nowym sprzęcie, a następnie przywróć zainstalowane pakiety i pliki konfiguracyjne, m.in. jak opisano w dotfiles.
- Top to bottom: Sklonuj stary dysk twardy na nowy dysk twardy lub umieść stary dysk twardy w nowym systemie; w razie potrzeby zmodyfikuj pliki konfiguracyjne.
Podejście od góry do dołu zapewnia dokładniejsze odtworzenie oryginalnego systemu niż podejście od dołu do góry.
Dostosuj się do nowego sprzętu
Zanim zaczniesz, zbadaj aspekty nowego sprzętu i sporządź listę różnic. Wspólne różnice to
Hard drive vs. SSD
Zobacz artykuł SSD.
Dostawca procesora
Jeśli zmienisz procesor na procesor innego dostawcy (np. Intel na AMD), zmień konfigurację mikrokod.
GPU
Jeśli zmieniłeś GPU na GPU innego dostawcy (np. z firmy AMD na NVIDIA), zmień sterownik graficzny.
UEFI vs. MBR boot code booting
Jeśli przełączysz się na nowszą płytę główną z UEFI, może być preferowane lub wymagane przełączenie rozruchu z „MBR boot code” na rozruch UEFI. W takim przypadku potrzebny jest EFI system partition.
Od dołu do gór
W starym systemie
We define here a minimal configuration that carries over from the old to the new system which differentiates this approach from the Installation guide. Think about the configuration files from /etc
and dotfiles in /home
that you want to copy to the new system, as well as user data files. If you will not have access to the old system from the new system then backup up all the files that you want to copy over.
Lista zainstalowanych pakietów
$ pacman -Qqen > pkglist.txt $ pacman -Qqem > pkglist_aur.txt
daje ładną listę jawnie zainstalowanych pakietów z repozytoriów i AUR. Dołącz go do kopii zapasowej, jeśli ją wykonasz.
Możesz również użyć następującego skryptu, aby uzyskać lepszy przegląd plików binarnych i bibliotek zainstalowanych bez wiedzy pacmana (np. instalowanych przez Steam, Desura lub przy użyciu ich własnych metod instalacji):
find / -regextype posix-extended -regex "/(sys|srv|proc)|.*/\.ccache/.*" -prune -o -type f \ -exec bash -c 'file "{}" | grep -E "(32|64)-bit"' \; | \ awk -F: '{print $1}' | \ while read -r bin; \ do pacman -Qo "$bin" &>/dev/null || echo "$bin"; \ done
pacman cache
Rozważ utworzenie kopii zapasowej /var/cache/pacman/pkg/
jeśli nie zmieniasz architektur (na przykład z x86 na x86_64).
W nowym systemie
Instrukcja instalacji pierwsza połowa
Podstawowe informacje na temat instalacji nowego systemu można znaleźć w Installation guide. Postępuj zgodnie z pierwszą połową instrukcji instalacji, ale z wyłączeniem polecenia pacstrap.
Skopiuj pamięć podręczną pacmana
Skopiuj pamięć podręczną pacman znalezioną w /var/cache/pacman/pkg/
ze starego do nowego systemu lub z kopii zapasowej do nowego systemu.
Instrukcja instalacji druga połowa
Kontynuuj korzystanie z przewodnika instalacji od, włącznie z poleceniem pacstrap, aż do końca, ale nie uruchamiaj ponownie. Nie pomijaj polecenia pacstrap, ponieważ wykonuje ono dodatkową pracę poza instalacją pakietów.
Zainstaluj wcześniej zainstalowane oprogramowanie
Edytuj pkglist.txt (i pkglist_aur.txt) i usuń sterowniki, które nie są potrzebne w nowym systemie. Następnie zainstaluj inne wcześniej zainstalowane oprogramowanie za pomocą
# pacman -S --needed - < pkglist.txt
Od góry do dołu
Istnieją dwie opcje podejścia od góry do dołu: możesz zachować dysk, na którym system jest już zainstalowany, i zmodyfikować jego zawartość lub skopiować system na nowy dysk. Jeśli zachowasz dysk i zmodyfikujesz go, a następnie umieścisz go z powrotem w starym systemie, modyfikacje prawdopodobnie uniemożliwią uruchomienie starego systemu.
Oczyść stary system
Warto również wyczyścić system przed sklonowaniem, jak opisano w System maintenance#Clean the filesystem Upewnij się, że stary system nadal działa zgodnie z oczekiwaniami po oczyszczeniu, zanim przejdziesz dalej.
Skopiuj system na nowy dysk
Istnieją dwie podstawowe metody kopiowania systemu na nowy dysk, disk cloning i kopiowanie plików.
Klonowanie dysku
Wymagane jest używanie działającego systemu Linux zamiast starego systemu Arch Linux; na przykład możesz użyć nośnika instalacyjnego Arch Linux USB flash installation media. Zostaną odtworzone układ partycji i systemy plików starego systemu.
Kopiowanie plików
- Utwórz nowe partycje i systemy plików na nowym dysku. Możesz skorzystać z okazji, aby wybrać inny układ partycji i/lub systemy plików niż wcześniej.
- Dla każdego systemu plików skopiuj pliki ze starego na nowy dysk, używając rsync lub innych narzędzi, które zachowują uprawnienia, atrybuty itp., zobacz rsync#Full system backup rsync#File system cloning aby uzyskać więcej informacji.
Transport options
Istnieje wiele różnych metod przenoszenia danych między dwoma dyskami:
- Podłącz oryginalny i docelowy dysk twardy do tego samego komputera, starego lub nowego. Łącze danych: stary HDD -> komputer -> nowy HDD.
- Korzystaj z tymczasowych urządzeń pamięci masowej, takich jak zewnętrzne dyski twarde lub kopie zapasowe w chmurze. Łącze danych: stary dysk twardy -> stary komputer -> pamięć -> nowy komputer -> nowy dysk twardy. Zobacz artykuł System backup.
- Przesyłaj dane przez sieć, na przykład za pomocą rsync. Łącze danych: stary dysk twardy -> stary komputer -> sieć -> nowy komputer -> nowy dysk twardy.
W przypadku dwóch pierwszych opcji należy wziąć pod uwagę, że do podłączenia dysków twardych mogą być potrzebne adaptery (PATA->SATA, USB-HDD-Cases, itp.) i wybrać wystarczająco szybkie połączenie.
Dwie ostatnie opcje wymagają użycia działającego systemu Linux na nowym komputerze, ponieważ w tym momencie nie można uruchomić systemu z nowego dysku twardego.
Zaktualizuj fstab
Jeśli używasz obrazu instalacyjnego Arch Linux, zamontuj nową partycję główną do /mnt
i inne wymagane partycje, tak jak podczas normalnej instalacji (zobacz Installation guide#Mount the file systems).
Wstaw dowolny komentarz, taki jak #end of old fstab
na końcu /mnt/etc/fstab
. Wygeneruj nowy plik fstab, jak wskazano w Przewodniku Installation guide#Fstab, dołączając go do bieżącego pliku fstab. Ogólnie zawsze przeglądaj plik fstab utworzony przez genfstab. W takim przypadku sprawdź starsze wpisy fstab przed komentarzem, jeśli są nieaktualne lub zduplikowane, usuń je, a jeśli stare wpisy nadal będą przydatne, zachowaj je. Na przykład można zachować wpisy montowania dla dysków sieciowych. Ogólnie zaleca się używanie Persistent block device naming.
Zainstaluj ponownie program ładujący
Może zajść potrzeba ponownej instalacji i/lub ponownej konfiguracji boot loadera z następujących powodów:
- Różne dyski, układ partycji lub system plików
- Dodawanie wpisów rozruchowych UEFI do nowej pamięci NVRAM na płycie głównej
- Migracja z rozruchu „MBR boot code” do rozruchu UEFI
- Migracja z USB do SATA/NVMe
- Aktualizacja wiersza poleceń jądra
- W przypadku innego GPU zaktualizuj tryb bufora ramki
- Zaktualizuj obraz Microcode initramfs
Jeśli używasz środowiska Live Arch Linux, przed ponowną instalacją programu ładującego, wykonaj chroot w nowym systemie:
# arch-chroot /mnt
Zapoznaj się z artykułem dotyczącym boot loader, aby dowiedzieć się, jak go (ponownie) zainstalować.
Regeneracja obrazu jądra
Zaleca się zregenerowanie obrazu initramfs za pomocą mkinitcpio, chociaż początkowo awaryjny obraz initramfs może działać.
Skonfiguruj ponownie dźwięk
- alsamixer volume
- save settings
Zmień konfigurację sieci
Jeśli stara instalacja i migrowana instalacja będą współistnieć w tej samej sieci, ustaw nową nazwę hosta z hostnamectl.
Rozważ również zmiany konfiguracji, które są wymagane po zmianie nazwy hosta:
- /etc/hosts
- other apps using hostname: synergy, nut (network ups tools)
-
grep -Ri 'hostname' /etc
(jako użytkownik root) powinien dać kilka wskazówek na temat plików do aktualizacji
Nazwy interfejsów sieciowych mogą ulec zmianie podczas używania dhcpcd z nazwanymi interfejsami sieciowymi.
- Uruchomienie
dmesg | grep 'renamed from eth'
jako root może pomóc znaleźć nową nazwę interfejsu - usuwać stary: disable
dhcpcd@enpXs0.service
- aktywuj nowy: enable
dhcpcd@enpXs0.service