initial: migrace.sh + struktura repa

This commit is contained in:
2026-04-24 14:28:22 +02:00
commit 23b6e58e57
2 changed files with 483 additions and 0 deletions
+137
View File
@@ -0,0 +1,137 @@
# Migrace Arch Linuxu z nvme1n1 na nvme0n1
Skript migruje tvůj běžící Arch (na `nvme1n1`) na druhý NVMe disk (`nvme0n1`) s většími oddíly:
- `/boot` = 1 GB (EFI, FAT32)
- `/` = 150 GB (ext4)
- `/home` = zbytek ~780 GB (ext4)
Systémový obsah se kopíruje 1:1 (balíčky, služby, configy, Docker, GPG, atd.), jen na větší disk.
---
## Před migrací (z běžícího systému)
```bash
# 1. Záloha klíčů ze starého opuštěného disku
sudo mount /dev/nvme0n1p3 /mnt
mkdir -p ~/zaloha_stary_disk_2026
sudo cp -a /mnt/archos/gpg ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo cp -a /mnt/archos/luks_keyfile ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo cp -a /mnt/archos/kody_yubikey ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo cp -a /mnt/archos/zalohy_cloudron_kliče ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo chown -R $USER:$USER ~/zaloha_stary_disk_2026
sudo umount /mnt
# 2. Nech borgmatic doběhnout (pro jistotu čerstvá záloha)
borgmatic --stats
borgmatic list --last 3
# 3. Push skriptu na git.arch-linux.cz
# (udělej repo migrace/ a pushni migrace.sh + README.md)
# 4. Arch ISO na USB flash
# stáhni z https://archlinux.org/download/
sudo dd if=archlinux-*-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=sync
sync
```
---
## Postup v live USB
```bash
# 1. Boot z USB flash (v BIOSu, nebo F8/F11/F12 boot menu)
# 2. V live prostředí:
# - připoj internet (ethernet automaticky; wifi přes iwctl)
iwctl
# device list
# station wlan0 scan
# station wlan0 get-networks
# station wlan0 connect <SSID>
# exit
ping -c 2 archlinux.org
# 3. Stáhni skript
curl -O https://git.arch-linux.cz/Archos/migrace/raw/branch/main/migrace.sh
# nebo kompletní repo:
# pacman -Sy git
# git clone https://git.arch-linux.cz/Archos/migrace.git
# cd migrace
# 4. Spusť
chmod +x migrace.sh
sudo bash ./migrace.sh
# 5. Skript se tě postupně ptá před každým destruktivním krokem.
# Odpovídej "ano" (vše jiné = zrušit).
# 6. Po dokončení:
reboot
# 7. V BIOSu nastav boot priority: nvme0n1 PŘED nvme1n1
```
---
## Po rebootu (nový systém)
```bash
# Ověř, že běžíš z nového disku
df -hT /
# /dev/nvme0n1p2 ext4 147G XG YG X% /
lsblk
# nvme0n1 → mountnutý (/, /boot, /home)
# nvme1n1 → volný (starý systém jen leží)
bootctl status
# YubiKey test
gpg --card-status
# Docker
systemctl status docker
# Síť
nmcli
```
---
## Kdyby cokoliv padlo
**Nenabootuje nový systém:**
1. V BIOSu přepni zpět na `nvme1n1` → starý systém stále funguje (nic jsme na něm neměnili)
2. Boot z live USB, mount `/dev/nvme0n1p2` na `/mnt`, arch-chroot a zkontroluj:
```bash
mount /dev/nvme0n1p2 /mnt
mount /dev/nvme0n1p1 /mnt/boot
arch-chroot /mnt
cat /etc/fstab
cat /boot/loader/entries/*.conf
blkid | grep nvme0n1
bootctl --path=/boot install
mkinitcpio -P
exit
reboot
```
**Starý systém je pořád celý na nvme1n1** dokud ho ručně nepřerozdělíš, je to tvoje záchranná síť.
---
## Až vše funguje (týden+)
```bash
# Smaž staré oddíly a použij nvme1n1 na co chceš
sudo cfdisk /dev/nvme1n1
# Návrhy využití:
# - Docker volumes na oddělený disk (rychlejší than sdílet NVMe)
# - Lokální borg mirror (druhá záloha vedle Hetzner Storage Box)
# - /home/archos/scratch pro build cache a VM disky
# - RAID1 mirror nvme0n1 (paranoia mode)
```