# pag – PaganOS Package Manager Menedżer pakietów dla [PaganOS](https://paganlinux.eu). Instalacja atomowa ze staging, weryfikacja podpisów GPG (z pinningiem fingerprintu), SHA256 per-plik, rollback transakcji, hooki pre/post-install i wsparcie systemów immutable. ```bash pag --version # wersja klienta pag # pełna pomoc (lista komend) ``` --- ## PODSTAWY | Komenda | Opis | |---|---| | `pag install ...` | Instaluje pakiety (razem z zależnościami) | | `pag install -f ...` | **Wymusza reinstalację** (nawet tej samej wersji) – odtwarza pliki, puste katalogi i hooki | | `pag remove ...` | Usuwa pakiety | | `pag update` | Aktualizuje **pakiety** do nowszych wersji | | `pag sync` | Odświeża indeksy repozytoriów + pokazuje ile pakietów czeka na aktualizację | | `pag upgrade` | Aktualizacja **systemu**: pakiety + kernel / initramfs / GRUB | | `pag list` | Lista pakietów dostępnych w repozytorium | | `pag list --installed` | Lista zainstalowanych pakietów | | `pag search ` | Szukaj pakietów w repo (+ Flathub) | | `pag info ` | Szczegóły pakietu (wersja, zależności, rozmiar, podpis) | | `pag files ` | Lista plików należących do pakietu | | `pag verify` | Weryfikacja integralności zainstalowanych plików | | `pag verify --deep` | Pełna weryfikacja SHA256 per-plik | | `pag clean` | Czyści cache pobierania | | `pag stats` | Statystyki systemu (liczba pakietów, rozmiar, cache…) | | `pag download ...` | Pobiera pakiety do cache (tryb offline) | **Smart search:** `pag ` (dowolna nieznana komenda) przeszukuje repo i Flathub oraz podpowiada nazwy – np. `pag firefox` znajdzie pakiet. --- ## BEZPIECZEŃSTWO / KLUCZE GPG | Komenda | Opis | |---|---| | `pag key-add ` | Importuje klucz GPG repozytorium | | `pag key-list` | Lista zaufanych kluczy | | `pag key-remove ` | Usuwa klucz | | `pag key-trust ` | Przypina fingerprint klucza repo (TOFU wyłączone) | | `pag key-untrust ` | Zapomina fingerprint (powrót do TOFU) | | `pag key-trusted` | Lista przypiętych fingerprintów repo | --- ## ZAAWANSOWANE | Komenda | Opis | |---|---| | `pag why ` | Dlaczego pakiet jest zainstalowany (kto go zależy) | | `pag autoremove` | Usuwa osierocone zależności | | `pag remove-orphans` | Usuwa osierocone zależności (alias) | | `pag pin [wersja]` | Przypina pakiet do wersji (blokada aktualizacji) | | `pag unpin ` | Zdejmuje przypięcie | | `pag pinned` | Lista przypiętych pakietów | | `pag history` | Historia transakcji | | `pag rollback` | Cofa **ostatnią** transakcję (przywraca pliki z backupu) | | `pag repo-add [nazwa]` | Dodaje repozytorium (drop-in w `/etc/pag/repos/`) | | `pag repo-list` | Lista skonfigurowanych repozytoriów | | `pag sbom export [spdx\|cyclonedx]` | Eksportuje manifest SBOM wszystkich zainstalowanych komponentów | | `pag self-update` | Aktualizuje samego klienta `pag` (podpis GPG + SHA256 + składnia, atomowo) | --- ## FLATPAK | Komenda | Opis | |---|---| | `pag flatpak []` | Szukaj i instaluj z Flathub | | `pag flatpak search ` | Szukaj na Flathub | | `pag flatpak install ` | Instaluje flatpak | | `pag flatpak remove ` | Usuwa flatpak | | `pag flatpak list` | Lista zainstalowanych flatpaków | | `pag flatpak update` | Aktualizuje wszystkie flatpaki | | `pag flatpak info ` | Szczegóły flatpaka | --- ## SYSTEM IMMUTABLE (PAG_IMMUTABLE=1) | Komenda | Opis | |---|---| | `pag deploy-list` | Lista wdrożeń (deployments) | | `pag deploy-rollback` | Przełącza na poprzednie wdrożenie | | `pag deploy-cleanup [N]` | Usuwa stare wdrożenia (zachowuje N, domyślnie 3) | | `pag initramfs-update` | Przebudowuje initramfs | | `pag grub-update` | Regeneruje wpisy GRUB | --- ## Przykłady ```bash # Instalacja i aktualizacje sudo pag install firefox gimp sudo pag update # same pakiety sudo pag upgrade # pakiety + kernel/initramfs/GRUB sudo pag sync # odśwież indeksy + info o aktualizacjach # Naprawa pakietu (brakujące pliki/katalogi, np. /etc/pulse/default.pa.d) sudo pag install -f pulseaudio # Ikony aplikacji po instalacji motywu (cache budowany automatycznie) sudo pag install papirus-icon-theme # Bezpieczeństwo sudo pag key-add https://repo.paganlinux.eu/paganos.asc sudo pag verify --deep # Cofnij ostatnią transakcję sudo pag rollback ``` ## Instalacja w systemie ```bash # Z poziomu działającego PaganOS (pag jest w repo bazowym): sudo pag self-update ``` ## Licencja PaganOS / pag – projekt open source. Szczegóły w repozytorium dystrybucji.