Záloha a obnova balíčkov pri reinštalácii CachyOS

Záloha a obnova balíčkov pri reinštalácii CachyOS

Tento návod popisuje, ako zálohovať zoznam nainštalovaných balíčkov na CachyOS a následne ich efektívne obnoviť po reinštalácii systému. Používame paru, keďže ide o AUR helper kompatibilný s Pacmanom.

1. Export zoznamu balíčkov

Pred reinštaláciou je dôležité vytvoriť zoznam všetkých nainštalovaných balíčkov, aby sme ich mohli jednoducho obnoviť.

1.1. Záloha explicitne nainštalovaných balíčkov (odporúčané)

Spustite nasledujúci príkaz, ktorý vytvorí zoznam explicitne nainštalovaných balíčkov (teda tých, ktoré ste nainštalovali manuálne, nie ako závislosti):

paru -Qqe > pkglist.txt
  • -Q – výpis zoznamu nainštalovaných balíčkov
  • -q – zobrazí len názvy balíčkov bez ďalších detailov
  • -e – exportuje len explicitne nainštalované balíčky (nie ich závislosti)
  • Výstup sa uloží do súboru pkglist.txt, ktorý si treba zálohovať.

1.2. Záloha všetkých balíčkov vrátane závislostí

Ak chcete zálohovať všetky balíčky, vrátane závislostí, použite:

paru -Qq > pkglist-full.txt

1.3. Záloha balíčkov s verziami

Ak potrebujete obnoviť presné verzie balíčkov:

paru -Q > pkglist-versioned.txt

2. Obnova balíčkov po reinštalácii

Po úspešnej inštalácii CachyOS môžete obnoviť svoje balíčky zo zálohy.

2.1. Obnova explicitne nainštalovaných balíčkov

Ak chcete obnoviť len tie balíčky, ktoré ste manuálne inštalovali:

paru -S --needed - < pkglist.txt
  • -S – inštaluje balíčky
  • --needed – preskočí už nainštalované balíčky
  • - – číta zoznam balíčkov zo štandardného vstupu
  • < pkglist.txt – presmeruje obsah súboru pkglist.txt ako vstup pre paru -S.

2.2. Obnova všetkých balíčkov (vrátane závislostí)

paru -S --needed - < pkglist-full.txt

2.3. Obnova balíčkov s presnými verziami

Ak chcete obnoviť aj presné verzie balíčkov:

xargs -a pkglist-versioned.txt paru -S --needed

3. Tipy a odporúčania

  • Zálohujte aj konfigurácie – Zoznam balíčkov nestačí, pretože niektoré programy majú dôležité konfiguračné súbory. Použite rsync alebo tar na zálohu ~/.config/.
  • Uložte záložné súbory na externé médium – Napríklad na USB disk alebo cloud.
  • Pred obnovou skontrolujte zoznam balíčkov – Možno obsahuje balíčky, ktoré už nepotrebujete.

Tento návod vám umožní efektívne zálohovať a obnoviť nainštalované balíčky na CachyOS bez zbytočnej manuálnej práce.

1 lajk

Skript - Export a import balíčkov v CachyOS s podporou AUR

1. Úvod

Tento návod popisuje postup exportu a importu balíčkov v CachyOS s podporou AUR balíčkov. Používa sa správca balíčkov paru a exportované balíčky sú rozdelené do dvoch samostatných súborov:

  • pkglist.txt pre oficiálne balíčky.
  • pkglist_aur.txt pre AUR balíčky.

Používateľ zadáva iba základnú cestu k súboru (napr. pkglist), a skript automaticky vytvorí alebo načíta správne súbory.


2. Vytvorenie a príprava skriptu

2.1 Vytvorenie .sh súboru

Pred použitím skriptu je potrebné vytvoriť súbor a vložiť doňho kód. Na to použite príkaz:

touch migrate_packages.sh

Potom súbor otvorte v obľúbenom textovom editore, napríklad vim, nano alebo kate:

nano migrate_packages.sh

Do tohto súboru vložte nasledujúci kód:

2.2 Skript na export a import balíčkov

#!/bin/bash

# Skript na migráciu balíčkov v CachyOS s podporou AUR balíčkov
# Používa výhradne `paru`.

export_packages() {
    local BASE_PATH="$1"
    local TYPE="$2"

    if [ "$TYPE" == "all" ]; then
        OFFICIAL_FILE="${BASE_PATH}.txt"
        AUR_FILE="${BASE_PATH}_aur.txt"
        
        paru -Qqe --repo > "$OFFICIAL_FILE"
        paru -Qqm > "$AUR_FILE"
    elif [ "$TYPE" == "official" ]; then
        paru -Qqe --repo > "${BASE_PATH}.txt"
    elif [ "$TYPE" == "aur" ]; then
        paru -Qqm > "${BASE_PATH}_aur.txt"
    fi
}

import_packages() {
    local FILE="$1"
    if [ -f "$FILE" ]; then
        paru -S --needed - < "$FILE"
    fi
}

while true; do
    echo "----------------------------------------"
    echo " Vyberte možnosť:"
    echo " 1. Export všetkých balíčkov (oficiálne + AUR)"
    echo " 2. Export iba oficiálnych balíčkov"
    echo " 3. Export iba AUR balíčkov"
    echo " 4. Import všetkých balíčkov (oficiálne + AUR)"
    echo " 5. Import iba oficiálnych balíčkov"
    echo " 6. Import iba AUR balíčkov"
    echo " 7. Ukončiť"
    echo "----------------------------------------"
    read -p "Vaša voľba (1-7): " CHOICE

    case $CHOICE in
        1) read -p "Zadajte základnú cestu pre export: " BASE_PATH; export_packages "$BASE_PATH" "all" ;;
        2) read -p "Zadajte základnú cestu pre export: " BASE_PATH; export_packages "$BASE_PATH" "official" ;;
        3) read -p "Zadajte základnú cestu pre export: " BASE_PATH; export_packages "$BASE_PATH" "aur" ;;
        4) read -p "Zadajte základnú cestu pre import: " BASE_PATH; import_packages "${BASE_PATH}.txt"; import_packages "${BASE_PATH}_aur.txt" ;;
        5) read -p "Zadajte cestu k súboru: " FILE; import_packages "$FILE" ;;
        6) read -p "Zadajte cestu k súboru: " FILE; import_packages "$FILE" ;;
        7) exit 0 ;;
        *) echo "Neplatná voľba." ;;
    esac
done

2.3 Nastavenie spustiteľnosti skriptu

Po vložení kódu uložte súbor a nastavte ho ako spustiteľný pomocou príkazu:

chmod +x migrate_packages.sh

Teraz môžete skript spustiť príkazom:

./migrate_packages.sh

3. Použitie skriptu

Export balíčkov

  • Nie je potrebné zadávať príponu .txt

    • Používateľ zadáva iba základnú cestu (napr. pkglist), skript automaticky vytvorí:
      • pkglist.txt pre oficiálne balíčky.
      • pkglist_aur.txt pre AUR balíčky.
  • Príklady správneho zadania cesty:

    • pkglist → vytvorí pkglist.txt a pkglist_aur.txt.
    • /home/user/pkglist → vytvorí /home/user/pkglist.txt a /home/user/pkglist_aur.txt.
    • ~/pkglist → vytvorí ~/pkglist.txt a ~/pkglist_aur.txt.
  • Import všetkých balíčkov

    • Zadajte základnú cestu (napr. pkglist).
    • Skript automaticky načíta pkglist.txt a pkglist_aur.txt, ak existujú.

Import iba oficiálnych alebo AUR balíčkov

  • Pri importe iba jedného typu balíčkov je nutné zadať celú cestu vrátane prípony .txt.
    • Príklad:
      • pkglist.txt pre oficiálne balíčky.
      • pkglist_aur.txt pre AUR balíčky.

4. Dôležité poznámky

  1. Základná cesta bez prípony – pri exporte zadávate iba názov bez .txt a skript automaticky vytvorí potrebné súbory.
  2. Formáty cesty:
    • Relatívna cesta: pkglist (v aktuálnom adresári).
    • Absolútna cesta: /home/user/pkglist.
    • Cesta relatívna k domovskému adresáru: ~/pkglist.
  3. Ak súbor neexistuje, skript zobrazí chybu.
  4. Nepoužívajte špeciálne znaky ani medzery v názvoch súborov.

5. Záver

Tento skript umožňuje jednoduchý export a import balíčkov v CachyOS so správnym rozdelením oficiálnych a AUR balíčkov. Používatelia zadávajú iba základnú cestu k súboru, pričom skript sa postará o vytvorenie alebo načítanie správnych súborov. Ak potrebujete ďalšie úpravy, kontaktujte správcu Wiki.