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

**URL:** <https://forum.linuxdoma.sk/t/zaloha-a-obnova-balickov-pri-reinstalacii-cachyos/287>\
**Category:** Návody\
**Tags:** cachyos, arch\
**Created:** [Február 1, 2025, 8:30pm UTC](https://forum.linuxdoma.sk/t/zaloha-a-obnova-balickov-pri-reinstalacii-cachyos/287 "2025-02-01T20:30:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tony](https://forum.linuxdoma.sk/user_avatar/forum.linuxdoma.sk/tony/32/259_2.png) [@Tony](https://forum.linuxdoma.sk/u/Tony)\
**Post date:** [Február 1, 2025, 8:30pm UTC](https://forum.linuxdoma.sk/t/zaloha-a-obnova-balickov-pri-reinstalacii-cachyos/287/1 "2025-02-01T20:30:59Z")

</div>

# 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):

```sh
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:

```sh
paru -Qq > pkglist-full.txt

```

### 1.3. Záloha balíčkov s verziami

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

```sh
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:

```sh
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í)

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

```

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

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

```sh
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.

---

<div class="post-metadata">

**Author:** ![Tony](https://forum.linuxdoma.sk/user_avatar/forum.linuxdoma.sk/tony/32/259_2.png) [@Tony](https://forum.linuxdoma.sk/u/Tony)\
**Post date:** [Február 2, 2025, 7:47am UTC](https://forum.linuxdoma.sk/t/zaloha-a-obnova-balickov-pri-reinstalacii-cachyos/287/2 "2025-02-02T07:47:24Z")

</div>

# 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:

```bash
touch migrate_packages.sh

```

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

```bash
nano migrate_packages.sh

```

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

### 2.2 Skript na export a import balíčkov

```bash
#!/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:

```bash
chmod +x migrate_packages.sh

```

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

```bash
./migrate_packages.sh

```

* * *

## 3. Použitie skriptu

### Export balíčkov

- **Nie je potrebné zadávať príponu `.txt`**

- **Príklady správneho zadania cesty** :

- **Import všetkých balíčkov**

### 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.
