← pag

Commit 3868f78

0
plików
+0
dodanych
-0
usuniętych
@@ -1,66 +1,130 @@
1 -# pag - PaganOS Package Manager
1 +# pag – PaganOS Package Manager
2 2
3 -Prosty, szybki menedżer pakietów dla [PaganOS](https://paganlinux.eu). Instaluje, aktualizuje i usuwa pakiety z podpisem GPG, atomową instalacją i wsparciem rollbacku.
4 -
5 -## Instalacja
3 +Menedżer pakietów dla [PaganOS](https://paganlinux.eu). Instalacja atomowa ze
4 +staging, weryfikacja podpisów GPG (z pinningiem fingerprintu), SHA256 per-plik,
5 +rollback transakcji, hooki pre/post-install i wsparcie systemów immutable.
6 6
7 7 ```bash
8 -pag install pag
9 -pag sync
8 +pag --version # wersja klienta
9 +pag # pełna pomoc (lista komend)
10 10 ```
11 11
12 -## Użycie
12 +---
13 +
14 +## PODSTAWY
15 +
16 +| Komenda | Opis |
17 +|---|---|
18 +| `pag install <pkg>...` | Instaluje pakiety (razem z zależnościami) |
19 +| `pag install -f <pkg>...` | **Wymusza reinstalację** (nawet tej samej wersji) – odtwarza pliki, puste katalogi i hooki |
20 +| `pag remove <pkg>...` | Usuwa pakiety |
21 +| `pag update` | Aktualizuje **pakiety** do nowszych wersji |
22 +| `pag sync` | Odświeża indeksy repozytoriów + pokazuje ile pakietów czeka na aktualizację |
23 +| `pag upgrade` | Aktualizacja **systemu**: pakiety + kernel / initramfs / GRUB |
24 +| `pag list` | Lista pakietów dostępnych w repozytorium |
25 +| `pag list --installed` | Lista zainstalowanych pakietów |
26 +| `pag search <query>` | Szukaj pakietów w repo (+ Flathub) |
27 +| `pag info <pkg>` | Szczegóły pakietu (wersja, zależności, rozmiar, podpis) |
28 +| `pag files <pkg>` | Lista plików należących do pakietu |
29 +| `pag verify` | Weryfikacja integralności zainstalowanych plików |
30 +| `pag verify --deep` | Pełna weryfikacja SHA256 per-plik |
31 +| `pag clean` | Czyści cache pobierania |
32 +| `pag stats` | Statystyki systemu (liczba pakietów, rozmiar, cache…) |
33 +| `pag download <pkg>...` | Pobiera pakiety do cache (tryb offline) |
34 +
35 +**Smart search:** `pag <nazwa>` (dowolna nieznana komenda) przeszukuje repo
36 +i Flathub oraz podpowiada nazwy – np. `pag firefox` znajdzie pakiet.
37 +
38 +---
39 +
40 +## BEZPIECZEŃSTWO / KLUCZE GPG
41 +
42 +| Komenda | Opis |
43 +|---|---|
44 +| `pag key-add <url\|plik>` | Importuje klucz GPG repozytorium |
45 +| `pag key-list` | Lista zaufanych kluczy |
46 +| `pag key-remove <id>` | Usuwa klucz |
47 +| `pag key-trust <repo>` | Przypina fingerprint klucza repo (TOFU wyłączone) |
48 +| `pag key-untrust <repo>` | Zapomina fingerprint (powrót do TOFU) |
49 +| `pag key-trusted` | Lista przypiętych fingerprintów repo |
50 +
51 +---
52 +
53 +## ZAAWANSOWANE
54 +
55 +| Komenda | Opis |
56 +|---|---|
57 +| `pag why <pkg>` | Dlaczego pakiet jest zainstalowany (kto go zależy) |
58 +| `pag autoremove` | Usuwa osierocone zależności |
59 +| `pag remove-orphans` | Usuwa osierocone zależności (alias) |
60 +| `pag pin <pkg> [wersja]` | Przypina pakiet do wersji (blokada aktualizacji) |
61 +| `pag unpin <pkg>` | Zdejmuje przypięcie |
62 +| `pag pinned` | Lista przypiętych pakietów |
63 +| `pag history` | Historia transakcji |
64 +| `pag rollback` | Cofa **ostatnią** transakcję (przywraca pliki z backupu) |
65 +| `pag repo-add <url> [nazwa]` | Dodaje repozytorium (drop-in w `/etc/pag/repos/`) |
66 +| `pag repo-list` | Lista skonfigurowanych repozytoriów |
67 +| `pag sbom export [spdx\|cyclonedx]` | Eksportuje manifest SBOM wszystkich zainstalowanych komponentów |
68 +| `pag self-update` | Aktualizuje samego klienta `pag` (podpis GPG + SHA256 + składnia, atomowo) |
69 +
70 +---
71 +
72 +## FLATPAK
13 73
14 74 | Komenda | Opis |
15 -|---------|------|
16 -| `pag sync` | Synchronizuj indeks repozytorium |
17 -| `pag install <pakiet>` | Zainstaluj pakiet |
18 -| `pag remove <pakiet>` | Usuń pakiet |
19 -| `pag upgrade` | Aktualizuj wszystkie pakiety |
20 -| `pag search <fraza>` | Szukaj pakietu |
21 -| `pag info <pakiet>` | Pokaż szczegóły pakietu |
22 -| `pag list` | Lista zainstalowanych pakietów |
23 -| `pag rollback <pakiet>` | Przywróć poprzednią wersję |
24 -| `pag key add <plik>` | Zaimportuj klucz GPG |
25 -| `pag key list` | Lista zaufanych kluczy |
26 -| `pag self-update` | Aktualizuj samego siebie |
27 -| `pag clean` | Wyczyść cache |
75 +|---|---|
76 +| `pag flatpak [<query>]` | Szukaj i instaluj z Flathub |
77 +| `pag flatpak search <query>` | Szukaj na Flathub |
78 +| `pag flatpak install <id>` | Instaluje flatpak |
79 +| `pag flatpak remove <id>` | Usuwa flatpak |
80 +| `pag flatpak list` | Lista zainstalowanych flatpaków |
81 +| `pag flatpak update` | Aktualizuje wszystkie flatpaki |
82 +| `pag flatpak info <id>` | Szczegóły flatpaka |
83 +
84 +---
85 +
86 +## SYSTEM IMMUTABLE (PAG_IMMUTABLE=1)
87 +
88 +| Komenda | Opis |
89 +|---|---|
90 +| `pag deploy-list` | Lista wdrożeń (deployments) |
91 +| `pag deploy-rollback` | Przełącza na poprzednie wdrożenie |
92 +| `pag deploy-cleanup [N]` | Usuwa stare wdrożenia (zachowuje N, domyślnie 3) |
93 +| `pag initramfs-update` | Przebudowuje initramfs |
94 +| `pag grub-update` | Regeneruje wpisy GRUB |
95 +
96 +---
28 97
29 98 ## Przykłady
30 99
31 100 ```bash
32 -pag install neovim ripgrep fd bat
33 -pag sync && pag upgrade
34 -pag search python
35 -pag rollback neovim
36 -```
101 +# Instalacja i aktualizacje
102 +sudo pag install firefox gimp
103 +sudo pag update # same pakiety
104 +sudo pag upgrade # pakiety + kernel/initramfs/GRUB
105 +sudo pag sync # odśwież indeksy + info o aktualizacjach
37 106
38 -## Architektura
107 +# Naprawa pakietu (brakujące pliki/katalogi, np. /etc/pulse/default.pa.d)
108 +sudo pag install -f pulseaudio
39 109
40 -```
41 -/etc/pag/repos/ # pliki .conf z URL-ami repozytoriów
42 -/etc/pag/trusted-keys.gpg # klucze GPG
43 -/var/cache/pag/repos/ # zsynchronizowane indeksy
44 -/var/cache/pag/pkgs/ # pobrane pakiety
45 -/var/lib/pag/installed.db # baza SQLite
46 -```
110 +# Ikony aplikacji po instalacji motywu (cache budowany automatycznie)
111 +sudo pag install papirus-icon-theme
47 112
48 -## Format .pkg.tar.xz
113 +# Bezpieczeństwo
114 +sudo pag key-add https://repo.paganlinux.eu/paganos.asc
115 +sudo pag verify --deep
49 116
50 -```
51 -pakiet-1.0-1.pkg.tar.xz
52 -├── metadata.json # nazwa, wersja, zależności, SHA256, GPG
53 -└── data.tar.xz # właściwe pliki
117 +# Cofnij ostatnią transakcję
118 +sudo pag rollback
54 119 ```
55 120
56 -## Bezpieczeństwo
121 +## Instalacja w systemie
57 122
58 -- Podpisy GPG (klucz: `A14CBE52BE0D63F5`)
59 -- Atomowa instalacja (tmpdir → rename)
60 -- Rollback
61 -- Weryfikacja SHA256
62 -- Izolowane buildy w chroot
123 +```bash
124 +# Z poziomu działającego PaganOS (pag jest w repo bazowym):
125 +sudo pag self-update
126 +```
63 127
64 128 ## Licencja
65 129
66 -GPL-3.0-or-later
130 +PaganOS / pag – projekt open source. Szczegóły w repozytorium dystrybucji.