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.