---
title: CachyOS - Często zadawane pytania i przewodnik rozwiązywania problemów
description: Często zadawane pytania i porady
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 5
---

import ImageComponent from '~/components/image-component.astro';
import { Steps, Tabs, TabItem } from '@astrojs/starlight/components';

:::note
Poniższe pytania i odpowiedzi dotyczą CachyOS oraz dystrybucji opartych na Archu.

**Ten przewodnik nie ma na celu zastąpienia informacji zawartych na Arch Linux Wiki.**
:::

:::tip
Bądź na bieżąco z oficjalnymi ogłoszeniami CachyOS na naszym [Forum](https://discuss.cachyos.org/c/announcements/8), we wpisach na naszym [oficjalnym subreddicie](https://www.reddit.com/r/cachyos/) lub na [Discordzie na kanale #announcements](https://discord.com/channels/862292009423470592/873309651364610118) i [#updates-repo](https://discord.com/channels/862292009423470592/871739561364033566) w sprawie znanych problemów z pakietami lub aktualizacji wymagających ręcznej interwencji.
:::

## Jak zgłosić problem lub błąd w CachyOS

:::danger
Zachowaj ostrożność, polegając na pomocy i poleceniach dostarczanych przez modele AI (takie jak ChatGPT) bez weryfikacji informacji w oficjalnych źródłach. Modele AI mogą czasami podawać nieprawidłowe lub wprowadzające w błąd informacje, zwłaszcza w kontekstach technicznych. Zawsze sprawdzaj informacje w zaufanej dokumentacji lub zasobach społeczności.

W przeciwnym razie możesz skończyć z całkowicie zepsutym systemem lub jeszcze bardziej pogorszyć problem.
:::

:::tip
Pamiętaj. W świecie Linuksa istnieje wspaniały cytat: „Najprawdopodobniej ktoś inny miał ten sam problem przed tobą”. Dlatego prosimy, użyj funkcji wyszukiwania w Google, Arch Wiki lub na Forum/Discordzie CachyOS przed zgłoszeniem problemu, ponieważ mógł on już zostać rozwiązany.
:::

:::tip
Nie zapomnij użyć polecenia `tldr`, aby zobaczyć uproszczoną wersję stron man dla poleceń, których nie znasz. Przykład:

Niektóre z najczęstszych poleceń i opisów dla git:
```bash
tldr git
```

Możesz również połączyć `tldr` z konkretnym poleceniem git, aby uzyskać bardziej szczegółowe informacje o parametrze, na przykład:
```bash
tldr git add
```
:::

### Miejsca, w których można zgłaszać problemy

- [Github](https://github.com/CachyOS/distribution)
- [Forum](https://discuss.cachyos.org/c/feedback/bugreports/10)
- **Discord:** [Forum wsparcia](https://discord.com/channels/862292009423470592/1400865136373403708)
  - Przed utworzeniem nowego posta, przeczytaj [Zasady i informacje dotyczące wsparcia](https://discord.com/channels/862292009423470592/1402210965700739082) przypięte na kanale.
    - Lub, jeśli uważasz, że twój problem można szybko rozwiązać, użyj kanału [#support](https://discord.com/channels/862292009423470592/862294383470051348)
- [Reddit](https://www.reddit.com/r/cachyos/)

### Bądź cierpliwy i szanuj innych

Zespół i społeczność CachyOS to wolontariusze, którzy pracują nad tym w swoim wolnym czasie. Prosimy o cierpliwość i szacunek podczas interakcji z nimi. Dostarczenie wysokiej jakości raportu o błędzie to najlepszy sposób na szybkie rozwiązanie problemu.

Jeśli zadasz niejasne pytanie lub podasz niewystarczające informacje, możesz otrzymać równie niejasną odpowiedź lub nie otrzymać jej wcale.

Oto przykład:

- **Dobre pytanie:**
  Po ostatniej aktualizacji (ostatnia aktualizacja była DATA), mój system nie uruchamia się i widzę czarny ekran. Mam kartę graficzną NVIDIA (model). Próbowałem cofnąć wersję pakietu `linux-cachyos` do poprzedniej, ale problem nadal występuje. Oto wynik poleceń `journalctl -b -1` i `dmesg` z działającego środowiska live.
- **Złe lub niejasne pytanie:**
  Mój system jest zepsuty, pomóżcie mi.
  <details>
  <summary>W przeciwnym razie możesz skończyć wyglądając jak Abraham z tego mema:</summary>
   <ImageComponent imgsrc={import('~/assets/images/abraham-meme.jpg')} />
  </details>

### Opisz swój problem

Oto kilka pytań, które powinieneś sobie zadać:

- Co nie działa?
- Czy cofnięcie wersji pakietu X naprawia problem?
- Czy inni ludzie doświadczają tego problemu / czy został on już rozwiązany? (użyj funkcji wyszukiwania)
- Czy problem pojawił się po aktualizacji?
- Czy wprowadziłeś jakieś modyfikacje na własną rękę?
  - Przykład: dodanie dodatkowej flagi w pliku modprobe
- Czy jest to związane ze sprzętem? (np. karta graficzna, Wi-Fi)
- Czy jest to związane z oprogramowaniem? (np. konkretna aplikacja, środowisko graficzne)
- Czy jest to świeża instalacja, czy problem pojawił się po pewnym czasie użytkowania?

## Jak zbierać logi

Istnieje wiele sposobów na zbieranie logów z systemu. Oto kilka przykładów i narzędzi, których możesz użyć:

### Tworzenie ogólnego raportu o błędzie
CachyOS dostarcza świetne narzędzie do zbierania logów systemowych o nazwie `cachyos-bugreport.sh`.
To narzędzie zbierze logi z:
  - `dmesg`
  - `journalctl`
  - `inxi` (Do zbierania informacji o sprzęcie)

Po zebraniu logów użytkownik zostanie poproszony o decyzję, czy chce je przesłać na naszą stronę do wklejania (paste).

Aby uruchomić ten skrypt, wpisz następujące polecenie w terminalu i udostępnij wygenerowany link w swoim raporcie:
  ```sh
  sudo cachyos-bugreport.sh
  ```

### Zbieranie logów z programu, który się nie uruchamia
Istnieje wiele powodów, dla których program graficzny może się nie uruchamiać. Najlepszym sposobem na zebranie logów dla tego rodzaju problemu jest uruchomienie programu z terminala. W ten sposób możesz zobaczyć wszelkie komunikaty o błędach lub dane wyjściowe, które mogą pomóc w diagnozowaniu problemu.

Na przykład, jeśli Firefox nie uruchamia się w pełni, spróbuj uruchomić go z terminala i poszukaj komunikatów o błędach:
  ```sh
  firefox
  ```

:::tip
  Jeśli chcesz zapisać dane wyjściowe do pliku tekstowego w celu łatwiejszego udostępniania, możesz przekierować wyjście w ten sposób:
    ```sh
    firefox &> firefox-log.txt
    ```
  Pamiętaj, aby nacisnąć `CTRL + C`, aby zakończyć proces po jego niepowodzeniu, aby terminal zapisał dane wyjściowe do pliku.
:::

### Sprawdź ostatnio zaktualizowane pakiety w pacmanie.

Aby uzyskać listę ostatnio zaktualizowanych pakietów w systemie, możesz użyć następującego polecenia:

```bash
grep "\[ALPM\] upgraded" /var/log/pacman.log | tail -n 50
```

:::tip
Dostosuj parametr `-n` polecenia `tail`, aby uzyskać więcej lub mniej linii.
:::

### Skróty klawiszowe do nawigacji w journalctl i dmesg

Najczęstsze skróty klawiszowe do poruszania się po logach, gdy używany jest `less` lub tryb czytelny dla człowieka:

`Strzałka w górę i Strzałka w dół lub J i K` do przewijania w górę lub w dół linia po linii.

`PageUp i PageDown lub Ctrl + B/D` do przewijania w górę lub w dół o jedną stronę na raz.

`G lub Home` do przeskoczenia na początek logu.

`Shift + G lub End` do przeskoczenia na koniec logu.

### Używanie journalctl do zbierania logów systemowych

Polecenie `journalctl` jest niezwykle użytecznym narzędziem do przeglądania logów systemowych. Oto niektóre z najczęstszych i najbardziej przydatnych kombinacji poleceń.

#### Podstawowe użycie i typowe przykłady

:::tip
Łącz wiele opcji, aby uzyskać bardziej szczegółowe filtrowanie.
:::

<details>
<summary>Wyświetl cały log (od najstarszego do najnowszego):</summary>
```bash
journalctl
```
</details>

<details>
<summary>Wyświetl logi tylko z bieżącego uruchomienia:</summary>
```bash
journalctl -b
```
</details>

<details>
<summary>Problemy z bezpieczeństwem i uwierzytelnianiem:</summary>
```bash
journalctl -u sshd -u polkit -b -0 | grep -i "fail\|error\|denied"
```
Szukaj nieudanych prób uwierzytelnienia i odmów dostępu związanych z polityką bezpieczeństwa.
</details>

<details>
<summary>Śledź logi w czasie rzeczywistym:</summary>
```bash
journalctl -f
```
:::tip
Połącz to z innymi filtrami. Na przykład:
```bash
# Śledzenie logów z usługi Adguard Home:
journalctl -u adguardhome -f
```
:::
</details>

<details>
<summary>Problemy z dźwiękiem z bieżącego uruchomienia:</summary>
```bash
journalctl --user -u pipewire -u pipewire-pulse -u wireplumber -b 0
```
Przeglądaj logi z usług audio, aby rozwiązać problemy z dźwiękiem.
</details>

<details>
<summary>Błędy pamięci (RAM):</summary>
```bash
journalctl -k | grep -i "memory\|ram"
```
Szukaj uszkodzeń pamięci lub problemów z jej wykrywaniem.
</details>

<details>
<summary>Problemy z Bluetooth:</summary>
```bash
# Z bieżącego uruchomienia:
journalctl -u bluetooth -b 0
# Z poprzedniego uruchomienia:
journalctl -u bluetooth -b -1
```
</details>

##### Filtrowanie na podstawie czasu
<details>

<summary>Wyświetl logi z ostatnich kilku minut/godzin:</summary>
```bash
journalctl --since "10 minutes ago"
journalctl --since "1 hour ago"
journalctl --since "2024-01-15 14:30:00"
```
</details>

<details>
<summary>Wyświetl logi z określonego przedziału czasowego:</summary>
```bash
journalctl --since "09:00" --until "10:00"
```
</details>

##### Filtrowanie według priorytetu oraz usługi lub programu

Możliwe poziomy priorytetów to: `debug`, `info`, `notice`, `warning`, `err`, `crit`, `alert`, `emerg`.

Lub używając liczb:

`0` odpowiada `emerg`

`1` odpowiada `alert`

`2` odpowiada `crit`

`3` odpowiada `err`

`4` odpowiada `warning`

`5` odpowiada `notice`

`6` odpowiada `info`

a `7` odpowiada `debug`.

<details>
<summary>Pokaż tylko komunikaty o błędach, krytyczne i awaryjne:</summary>
```bash
journalctl -p err..emerg
```
:::tip
Możesz połączyć to z poprzednimi przykładami:

Przykład:
```bash
journalctl -p err..emerg --since "9:00" --until "10:00"
```
:::
</details>

<details>
<summary>Pokaż logi z określonej usługi systemowej:</summary>
```bash title='Przykłady'
# Wyświetl logi z usługi NetworkManager:
journalctl -u NetworkManager
# Wyświetl logi z usługi GDM (GNOME Display Manager):
journalctl -u gdm
# Wyświetl logi z usługi SDDM (Simple Desktop Display Manager):
journalctl -u sddm
```
</details>

<details>
<summary>Pokaż logi z określonego ID procesu (PID):</summary>
```bash
journalctl _PID=pid
# Przykład:
journalctl _PID=3344
```
</details>

<details>
<summary>Pokaż logi z określonego pliku wykonywalnego:</summary>
```bash
journalctl /sciezka/do/pliku_wykonywalnego
# Przykład:
journalctl /usr/bin/firefox
```
</details>

### Używanie journalctl do sprawdzania komunikatów jądra

:::note
Kiedy używać `journalctl -k` vs `dmesg`:

- `journalctl -k` uzyskuje dostęp do komunikatów jądra przechowywanych w dzienniku systemd (trwałych między restartami, jeśli skonfigurowano) i oferuje lepszą integrację z filtrowaniem czasowym i funkcjami dziennika.
- `dmesg` odczytuje bieżący bufor pierścieniowy jądra (ulotny, tracony po restarcie).
:::

<details>
<summary>Podstawowe przeglądanie komunikatów jądra:</summary>
```bash
journalctl -k
```
Pokazuje wszystkie komunikaty jądra z dziennika, co odpowiada `dmesg`, ale z perspektywy dziennika.
</details>

<details>
<summary>Tylko komunikaty jądra z bieżącego uruchomienia:</summary>
```bash
journalctl -k -b 0
```
Wyświetla komunikaty jądra tylko z bieżącej sesji rozruchowej.
</details>

<details>
<summary>Komunikaty jądra z poprzedniego uruchomienia:</summary>
```bash
journalctl -k -b -1
```
Wyświetl komunikaty jądra z poprzedniego uruchomienia. Przydatne do diagnozowania niepowodzeń rozruchu lub awarii.
</details>

<details>
<summary>Śledź nowe komunikaty jądra w czasie rzeczywistym:</summary>
```bash
journalctl -k -f
```
Obserwuj komunikaty jądra w miarę ich pojawiania się, idealne do monitorowania zdarzeń sprzętowych lub ładowania sterowników.
</details>

<details>
<summary>Wyszukaj komunikaty konkretnych sterowników:</summary>
```bash
# Przykłady:
# Komunikaty związane z GPU:
journalctl -k | grep -i "nvidia\|amd\|intel"
# Komunikaty urządzeń USB:
journalctl -k | grep -i "usb\|pci"
```
</details>

<details>
<summary>Filtrowanie komunikatów jądra na podstawie czasu:</summary>
```bash
journalctl -k --since "1 hour ago"
journalctl -k --since "09:00" --until "10:00"
```
Wyświetl komunikaty jądra z określonych okresów czasu.
</details>

### Używanie dmesg do komunikatów jądra

Polecenie `dmesg` wyświetla bufor pierścieniowy jądra, który zawiera komunikaty z jądra dotyczące wykrywania sprzętu, inicjalizacji sterowników i zdarzeń systemowych.

#### Podstawowe użycie i formatowanie

<details>
<summary>Wyświetl cały bufor komunikatów jądra:</summary>
```bash
dmesg
```
</details>

<details>
<summary>Wyświetl z czytelnymi dla człowieka znacznikami czasu:</summary>
```bash
dmesg -T
```
</details>

<details>
<summary>Wyświetl w pagerze dla łatwiejszego czytania:</summary>
```bash
dmesg | less
```
</details>

#### Filtrowanie według poziomu priorytetu

Podobnie jak `journalctl`, `dmesg` pozwala na filtrowanie komunikatów według poziomu priorytetu.

<details>
<summary>Pokaż tylko błędy i komunikaty krytyczne:</summary>
```bash
dmesg -l err,crit,alert,emerg
```
Możliwe poziomy priorytetów to: `debug`, `info`, `notice`, `warning`, `err`, `crit`, `alert`, `emerg`.

Lub używając liczb:

`0` odpowiada `emerg`

`1` odpowiada `alert`

`2` odpowiada `crit`

`3` odpowiada `err`

`4` odpowiada `warning`

`5` odpowiada `notice`

`6` odpowiada `info`

a `7` odpowiada `debug`.
</details>

<details>
<summary>Wyświetl najnowsze komunikaty jądra:</summary>
```bash
dmesg -w
```
</details>

<details>
<summary>Wyszukaj komunikaty dotyczące konkretnego sprzętu lub sterowników:</summary>
```bash
# Przykłady:
# Aby wyszukać komunikaty związane z USB:
dmesg | grep -i usb | less
# Urządzenia Bluetooth:
dmesg | grep -i bluetooth
# Związane z NVIDIA:
dmesg | grep -i nvidia | less
# Urządzenia, które nie udało się zainicjować:
dmesg | grep -i "error\|failed" | less
```
</details>

##### Typowe przykłady dla konkretnych problemów z użyciem dmesg

<details>
<summary>Gdy urządzenie USB nie jest rozpoznawane:</summary>
```bash
dmesg -w | grep -i usb
```
Podłącz urządzenie i obserwuj nowe komunikaty.
</details>

<details>
<summary>Problemy z inicjalizacją GPU:</summary>
```bash
dmesg | grep -i "nvidia\|amd\|intel\|radeon\|drm\|gpu" | less
```
</details>

<details>
<summary>Problemy z Wi-Fi lub kartą sieciową:</summary>
```bash
dmesg | grep -i "wlan\|wifi\|network\|firmware" | tail -20
```
Sprawdź brakujące oprogramowanie firmowe lub błędy sterowników, które uniemożliwiają działanie karty bezprzewodowej.
</details>

<details>
<summary>Problemy z wykrywaniem HDD/SSD:</summary>
```bash
dmesg | grep -i "sda\|sdb\|nvme\|scsi\|disk" | head -30
```
Użyj tego, gdy urządzenie pamięci masowej nie jest wykrywane lub pokazuje błędy podczas rozruchu.
</details>

<details>
<summary>Zawieszenia systemu lub paniki jądra:</summary>
```bash
dmesg -T -l emerg,alert,crit,err | tail -30
```
Sprawdź najpoważniejsze komunikaty jądra, które wystąpiły przed awarią lub zawieszeniem systemu.
</details>

<details>
<summary>Błędy pamięci (RAM):</summary>
```bash
dmesg | grep -i "memory\|ram"
```
Szukaj uszkodzeń pamięci, problemów z wykrywaniem lub raportów o błędach ECC.
</details>

<details>
<summary>Zdarzenia urządzeń audio:</summary>
```bash
dmesg | grep -i "audio\|snd\|hda" | grep -i "error\|fail\|card"
```
Sprawdź, czy karta dźwiękowa jest prawidłowo wykrywana i czy sterowniki ładują się poprawnie.
</details>

<details>
<summary>Niepowodzenia ładowania modułów jądra:</summary>
```bash
dmesg | grep -i "module\|init" | grep -i "error\|fail"
```
Gdy określone sterowniki sprzętowe nie ładują się lub nie udaje się ich zainicjować.
</details>

<details>
<summary>Monitorowanie w czasie rzeczywistym zdarzeń sprzętowych:</summary>
```bash
dmesg -w -l warn,err,crit,alert,emerg -T
```
Ciągle obserwuj nowe, ważne komunikaty jądra, podczas gdy odtwarzasz problem.
</details>

<details>
<summary>Problemy z BIOS/UEFI i oprogramowaniem sprzętowym:</summary>
```bash
dmesg | grep -i "bios\|uefi\|firmware\|efi"
```
Sprawdź problemy ze zgodnością między oprogramowaniem sprzętowym a jądrem Linuksa.
</details>

## Instalacja i środowisko Live

### Dlaczego obraz ISO live CachyOS zawiera tylko KDE Plasma?

Zdecydowaliśmy się skoncentrować nasze wysiłki rozwojowe i konserwacyjne wyłącznie na środowisku graficznym KDE Plasma. Pozwala nam to dostarczyć bardziej dopracowane, stabilne i spójne doświadczenie użytkownika na naszym obrazie ISO live.

Środowisko live jest przeznaczone głównie do instalacji CachyOS lub używania cachy-chroot do odzyskiwania systemu. Aby w bezpieczny sposób **przetestować** inne środowiska graficzne lub menedżery okien, zdecydowanie zalecamy wypróbowanie ich w maszynie wirtualnej (VM).

### Dlaczego instalator uruchamia się tak długo po kliknięciu "Uruchom instalator"?

:::caution
Upewnij się, że masz aktywne/działające połączenie z internetem, w przeciwnym razie nic się nie stanie po naciśnięciu tego przycisku.
:::

Instalator nie jest zawieszony. Uruchamia w tle niezbędny skrypt przygotowujący system do instalacji. Ten proces zapewnia, że pęki kluczy i zegar systemowy są aktualne, co pomaga zapobiegać częstym problemom z instalacją.

[Zobacz skrypt na GitHubie](https://github.com/CachyOS/CachyOS-Live-ISO/blob/master/archiso/airootfs/usr/local/bin/calamares-online.sh), aby lepiej zrozumieć, co robi.
<Steps>
  1. Usuwa stare pliki pęków kluczy.
  2. Aktualizuje pakiety pęków kluczy Arch Linux i CachyOS do najnowszej wersji.
  3. Inicjalizuje i wypełnia pęk kluczy pacmana.
  4. Włącza synchronizację czasu przez sieć.
  5. Sprawdza typ rozruchu systemu (UEFI lub BIOS/MBR), aby poprosić użytkownika o wybór programu rozruchowego w zależności od typu.
</Steps>

### Dlaczego moja instalacja zacina się na 33%

Dzieje się tak, gdy instalator ma problemy z pobieraniem pakietów. Zwykle jest to oznaka bardzo wolnego lub niestabilnego połączenia internetowego. Sprawdź swoje połączenie sieciowe i spróbuj ponownie.

## Odzyskiwanie programu rozruchowego i migawki Btrfs

:::note
W przypadku usunięcia partycji `/boot`, utwórz nową, postępując zgodnie z odpowiednim [schematem partycjonowania](/pl/installation/installation_on_root#uefigpt) od kroku 5.
:::

### Kroki odzyskiwania programu rozruchowego

:::tip
Jeśli nie masz pewności, jak używać `cachy-chroot`, zapoznaj się najpierw z dokumentacją [pomocnika chroot CachyOS](/pl/features/cachy_chroot).
:::

<Steps>
    1. Uruchom system z CachyOS Live ISO.
    2. Otwórz terminal i wejdź do zainstalowanego systemu za pomocą polecenia `cachy-chroot`.

        ```bash
        sudo cachy-chroot
        ```
        Jeśli system korzysta z BTRFS z naszymi ustawieniami, wpisz `y` w monicie:
         ```bash title='Przykład'
         Do you want to use CachyOS BTRFS preset to auto mount root subvolume? y
         Do you want to mount additional partitions? · yes
         Enter the mount point for additional partition (e.g. /boot) type 'skip' to cancel:
         # Wpisz /boot dla systemd-boot, Limine lub rEFInd
         # Wpisz /boot/efi dla GRUB
         ```
    3. Postępuj zgodnie z poniższymi instrukcjami dla zainstalowanego programu rozruchowego i typu systemu (UEFI lub MBR/BIOS).
        <Tabs>
            <TabItem label='GRUB'>
                Zainstaluj ponownie GRUB za pomocą następującego polecenia:
                <Tabs>
                    <TabItem label='UEFI'>
                        ```bash
                        sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos
                        ```
                    </TabItem>
                    <TabItem label='MBR/BIOS'>
                        ```bash
                        sudo grub-install --target=i386-pc /dev/sdX # Zastąp sdX swoim dyskiem, np. sda
                        ```
                    </TabItem>
                </Tabs>
            </TabItem>
            <TabItem label='systemd-boot (tylko UEFI)'>
                Zainstaluj ponownie systemd-boot za pomocą następującego polecenia:
                ```bash
                sudo bootctl install
                ```
            </TabItem>
            <TabItem label='Limine'>
                Zainstaluj ponownie Limine za pomocą następującego polecenia:
                <Tabs>
                    <TabItem label='UEFI'>
                        ```bash
                        sudo limine-install
                        ```
                    </TabItem>
                    <TabItem label='MBR/BIOS'>
                        ```bash
                        sudo limine bios-install /dev/sdX # Zastąp sdX swoim dyskiem, np. sda
                        ```
                    </TabItem>
                </Tabs>
            </TabItem>
            <TabItem label='rEFInd (tylko UEFI)'>
                Zainstaluj ponownie rEFInd za pomocą następującego polecenia:
                ```bash
                sudo refind-install
                ```
            </TabItem>
        </Tabs>
    4. Zainstaluj ponownie jądro CachyOS:
        ```bash
        sudo pacman -Syu linux-cachyos linux-cachyos-headers
        ```
    5. Wyjdź z cachy-chroot:
        ```bash
        exit
        ```
    6. Uruchom ponownie system.
</Steps>

### Używanie migawki Btrfs jako punktu przywracania

:::note
Mimo że CachyOS automatycznie tworzy migawki Btrfs przed każdą aktualizacją systemu za pomocą haków pacmana, zawsze dobrym pomysłem jest tworzenie własnych migawek przed wprowadzeniem poważnych zmian w systemie.
:::

Aby uzyskać więcej informacji o migawkach Btrfs, zapoznaj się z [dokumentacją Btrfs.](https://btrfs.readthedocs.io/en/latest/)

Migawka BTRFS pojawia się jako dodatkowy wpis w menu programu rozruchowego i zwykle ma nazwę podobną do:
- `10 | 10-30-2025 14:37:10`
<details>
<summary>Przykład na zrzucie ekranu:</summary>
<ImageComponent imgsrc={import('~/assets/images/btrfs-snapshot-boot-entry.jpg')} />
</details>

Możesz również użyć aplikacji Btrfs Assistant do zarządzania migawkami. Zapewnia ona graficzny interfejs do tworzenia, usuwania i przywracania migawek.

<details>
    <summary>Zrzut ekranu Btrfs Assistant:</summary>
    <ImageComponent imgsrc={import('~/assets/images/btrfs-assistant-example.png')} />
</details>

## Zarządzanie pakietami i aktualizacje

### Rozwiązywanie problemów z Pacmanem

#### error: signature is invalid

Ten błąd wskazuje na problem z podpisem kryptograficznym pakietu. Zazwyczaj jest spowodowany nieaktualnym serwerem lustrzanym lub uszkodzonym pękiem kluczy w systemie.

Chociaż serwery lustrzane często same się naprawiają po krótkim czasie, jeśli problem będzie się powtarzał, powinieneś spróbować jednego z dwóch poniższych rozwiązań.

<Tabs>

<TabItem label='Pierwsze rozwiązanie: Ponownie zsynchronizuj serwery lustrzane Pacmana'>

```sh
sudo pacman -Syu
```

</TabItem>

<TabItem label='Drugie rozwiązanie: Oceń swoje serwery lustrzane'>

```sh title='Oceń swoje serwery lustrzane'
sudo cachyos-rate-mirrors
```

</TabItem>

<TabItem label='Trzecie rozwiązanie: Zresetuj pęki kluczy'>

Jeśli ocena serwerów lustrzanych nie działa, prawdopodobnie pęki kluczy w Twoim systemie są uszkodzone.

- Otwórz CachyOS Hello i przejdź do **Aplikacje/Ustawienia**.
- Kliknij przycisk Zresetuj pęki kluczy.

</TabItem>

</Tabs>

#### error: 404 Not Found

Ten błąd oznacza, że pakiet, który próbujesz zainstalować, nie jest dostępny na Twoim obecnym serwerze lustrzanym. Zwykle dzieje się tak, gdy lokalna baza danych pakietów nie jest zsynchronizowana ze zdalnymi repozytoriami.

**Rozwiązanie:**

Uruchom następujące polecenie, aby odświeżyć bazę danych pakietów i przeprowadzić pełną aktualizację systemu. Zapewni to, że Twój system będzie wiedział o najnowszych dostępnych pakietach.

```sh
sudo pacman -Syu
# Następnie spróbuj ponownie zainstalować wybrany pakiet.
```

#### error: could not remove

Ten błąd występuje, gdy pamięć podręczna pacmana zawiera pliki, których system nie może automatycznie zarządzać. Jest to częsty problem, który można łatwo naprawić.

- Rozwiązanie 1: Użyj CachyOS Hello.
  - Najprostszym sposobem naprawy jest użycie CachyOS Hello. Otwórz je i przejdź do **Aplikacje/Ustawienia**, a następnie kliknij przycisk **Wyczyść pamięć podręczną pakietów**.

- Rozwiązanie 2: Ręcznie usuń pamięć podręczną.
  - Uruchom następujące polecenie, aby usunąć wszystkie osierocone pakiety z pamięci podręcznej.
  ```sh
  sudo rm -r /var/cache/pacman/pkg/*
  ```

#### error: File is corrupted (invalid or corrupted package (PGP signature))

```sh
# Przykład:
:: File /var/cache/pacman/pkg/python-charset-normalizer-3.4.0-1-any.pkg.tar.zst
is corrupted (invalid or corrupted package (PGP signature)).
```

Ten błąd zwykle wskazuje na problem z pękami kluczy pacmana w Twoim systemie, które weryfikują autentyczność pakietów. Poniższe polecenia zresetują i ponownie wypełnią pęki kluczy, aby rozwiązać problem.

```sh
sudo rm -rf /etc/pacman.d/gnupg/
sudo pacman-key --init
sudo pacman-key --populate

sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key F3B607488DB35A47

sudo rm -R /var/lib/pacman/sync
```

Jeśli powyższe kroki nie powiodą się, problem nie leży w pęku kluczy. Może być problem z serwerami lustrzanymi, więc możesz wybrać działające serwery lustrzane, a następnie wyczyścić pamięć podręczną, uruchamiając następujące polecenia:

```sh
sudo cachyos-rate-mirrors
sudo pacman -Scc
```

#### error: unable to lock database

Ten błąd występuje, gdy inny proces pacmana już działa, co blokuje bazę danych, aby zapobiec jej uszkodzeniu. Jeśli poprzedni proces uległ awarii lub został przerwany, plik blokady `db.lck` mógł nie zostać usunięty.

- Rozwiązanie 1: Użyj CachyOS Hello
  - Najprostszym sposobem na naprawienie tego jest funkcja **Usuń blokadę bazy danych** w zakładce **Aplikacje/Ustawienia** w CachyOS Hello

- Rozwiązanie 2: Usuń plik blokady ręcznie
  - Jeśli wolisz nie używać CachyOS Hello, możesz usunąć plik blokady ręcznie:

```sh
sudo rm /var/lib/pacman/db.lck
```

#### error: failed retrieving file ... Connection timed out

Możesz zobaczyć błędy takie jak te:

```text
# Przykładowe błędy:
error: failed retrieving file '...' from ... : Connection timed out
error: failed retrieving file '...' from ... : Couldn't resolve host name
error: failed retrieving file '...' from ... : The requested URL returned error: 526
```

Te błędy prawie zawsze wskazują na problem z Twoimi obecnymi serwerami lustrzanymi. Mogą być wolne, tymczasowo niedostępne lub nieosiągalne z Twojej lokalizacji.

- Rozwiązanie: Najlepszym sposobem na naprawienie tego jest zaktualizowanie listy serwerów lustrzanych o szybsze i bardziej niezawodne serwery.

```sh
sudo cachyos-rate-mirrors
# Następnie możesz zaktualizować system za pomocą:
sudo pacman -Syu
```

:::tip
Polecenie `cachyos-rate-mirrors` testuje dostępne serwery lustrzane CachyOS pod kątem prędkości i statusu synchronizacji, a następnie aktualizuje plik listy serwerów lustrzanych (`/etc/pacman.d/cachyos-mirrorlist`) o te o najlepszej wydajności.

Rozważ okresowe uruchamianie tego polecenia, zwłaszcza jeśli zauważysz spowolnienia podczas aktualizacji systemu.
:::

#### warning: local is newer than...

To ostrzeżenie pojawia się, gdy wersja pakietu w Twoim systemie jest nowsza niż wersja dostępna w oficjalnych repozytoriach. Może się to zdarzyć, jeśli serwer lustrzany jest nieaktualny, pakiet został zdegradowany w repozytoriach lub pakiet został zainstalowany z innego źródła.

- Rozwiązanie: polecenie `pacman -Syuu` przeprowadza pełną aktualizację systemu i pozwala na degradacje, co naprawi ostrzeżenie poprzez synchronizację lokalnych pakietów z wersjami w repozytorium.

```sh title='Aby usunąć te ostrzeżenia, wykonaj następujące polecenie:'
sudo pacman -Syuu
```

#### error: failed to commit transaction (conflicting files)

Ten błąd wskazuje, że pacman próbuje zainstalować lub zaktualizować pakiet, który zawiera pliki już obecne w systemie z innego źródła. Jest to wbudowana funkcja bezpieczeństwa, która ma na celu zapobieganie uszkodzeniu systemu.

- Rozwiązanie: Możesz rozwiązać ten problem, usuwając ręcznie pliki powodujące konflikt. Więcej informacji i rozwiązań znajdziesz w [Arch Wiki](https://wiki.archlinux.org/title/Pacman#%22Failed_to_commit_transaction_(conflicting_files)%22_error).

```sh title='Przykład'
error: failed to commit transaction (conflicting files)
nvidia-utils: /usr/lib/environment.d/10-gsk.conf exists in filesystem
Errors occurred, no packages were upgraded.
 -> error installing repo packages
```

Aby naprawić ten konkretny przykład, należy usunąć plik powodujący konflikt, a następnie ponownie uruchomić polecenie aktualizacji.

```sh
sudo rm /usr/lib/environment.d/10-gsk.conf
```

#### ERROR: module not found: 'nvidia', 'nvidia_modeset', ...

```sh title='Przykład'
==> ERROR: module not found: 'nvidia'
==> ERROR: module not found: 'nvidia_modeset'
==> ERROR: module not found: 'nvidia_uvm'
==> ERROR: module not found: 'nvidia_drm'
```

**Dwa powody tego błędu:**

1) Ponieważ wczesne ładowanie modułów jest zawsze włączone w chwd, mkinitcpio konsekwentnie oczekuje obecności modułów NVIDIA; ten błąd pojawia się, gdy tych modułów brakuje.

2) Możesz nie mieć modułów NVIDIA z innych zainstalowanych jąder w systemie.

```sh title='Zainstaluj następujący pakiet, aby naprawić ten błąd'
sudo pacman -S nvidia
```

### Problemy z konkretnym oprogramowaniem

#### Discord prosi o aktualizację, która nie jest dostępna w repozytoriach.

<br />

Dzieje się tak, ponieważ Discord używa własnego systemu aktualizacji, który wyprzedza oficjalne repozytoria. Nowa wersja aplikacji została wydana, ale nie została jeszcze spakowana dla naszych serwerów lustrzanych.

Aby ominąć ten problem, postępuj zgodnie z [przewodnikiem naprawczym z Arch Wiki](<https://wiki.archlinux.org/title/Discord#Discord_asks_for_an_update_not_yet_available_in_the_repository>).

### Pytania ogólne

#### Jakie jest pochodzenie CachyOS i dlaczego nosi nazwę "CachyOS"?

CachyOS zawdzięcza swoją nazwę harmonogramowi "Cachy", który był pierwotną nazwą [harmonogramu cacULE](https://github.com/hamadmarri/cacule-cpu-scheduler), czyli harmonogramu procesora dla jądra Linux.

Projekt narodził się w latach 2020-2021, kiedy to ptr1337 (jeden z założycieli CachyOS) testował i współpracował z programistą o imieniu Hamad nad harmonogramem cacULE. Kiedy postanowili stworzyć zoptymalizowaną dystrybucję Linuksa opartą na Arch Linux z pakietami zoptymalizowanymi pod x86-64-v3,
nazwali ją "CachyOS" na cześć harmonogramu, który ich połączył.

#### W jakich odstępach czasu aktualizowane są pakiety -git?

Zazwyczaj raz w poniedziałek, chociaż mogą wystąpić wyjątki.

#### Czy pakiety -bin w repozytoriach CachyOS korzystają z tych samych optymalizacji wydajności?

Nie. Pakiety `-bin` to prekompilowane pliki binarne i nie zawierają tych samych optymalizacji wydajności co pakiety oparte na źródłach w repozytoriach CachyOS.

#### Jak wyłączyć animację ładowania systemu (Plymouth)

:::note[Może to rozwiązać problem czarnego ekranu na niektórych systemach, zwłaszcza tych ze starymi kartami graficznymi NVIDIA.]
:::

Aby wyłączyć animację ładowania systemu, musisz edytować swoją [konfigurację programu rozruchowego](/pl/configuration/boot_manager_configuration) i dodać następujące parametry jądra:

```sh
plymouth.enable=0 disablehooks=plymouth
```

:::note[systemd-boot, GRUB i Limine wymagają ponownego wygenerowania obrazów initramfs]
systemd-boot: `sudo sdboot-manage gen`

GRUB: `sudo grub-mkconfig -o /boot/grub/grub.cfg`

Limine: `sudo limine-mkinitcpio`
:::

#### Zgłaszanie próśb o pakiety do CachyOS

CachyOS oferuje obszerną listę prekompilowanych pakietów AUR, które są powszechnie używane.
Użytkownicy mogą tworzyć prośby o pakiety AUR, które, jeśli zostaną zatwierdzone, są automatycznie aktualizowane przez nasz serwer budujący.

Jeśli chcesz, abyśmy dodali pakiet, możesz zgłosić prośbę na GitHubie lub na forum.

- [GitHub](https://github.com/CachyOS/distribution/issues)
- [Forum](https://discuss.cachyos.org/c/feedback/repository/11)
- [Kanał opinii na Discordzie](https://discord.com/channels/862292009423470592/1150723027986813018)

## Bezpieczeństwo i najlepsze praktyki

### Praktyki bezpieczeństwa AUR

AUR oferuje ogromny wybór, ale bezpieczeństwo jest najważniejsze. Oto zwięzły przewodnik po bezpiecznym korzystaniu z AUR w systemie CachyOS.

* **Zrozum PKGBUILD:** To skrypt budujący. Poznaj jego strukturę, zmienne (`source`, `pkgname`) i funkcje (`build()`, `package()`).
* **Weryfikuj linki do źródeł:** Zawsze sprawdzaj, czy adresy URL `source` prowadzą do oficjalnych stron projektu lub zaufanych repozytoriów. Unikaj podejrzanych lub osobistych linków.
* **Przejrzyj kroki instalacji:** Sprawdź, gdzie instalowane są pliki (funkcja `package()`) i czy jakieś polecenia są nietypowe lub dotykają wrażliwych obszarów systemu. Sprawdź również skrypty `.install`.
* **Zbadaj opiekuna:** Sprawdź historię opiekuna w AUR pod kątem wcześniejszych problemów z bezpieczeństwem lub podejrzanej aktywności.
* **Sprawdzaj sumy kontrolne i PGP:** Absolutnie kluczowe! Upewnij się, że wszystkie sumy kontrolne (SHA256, BLAKE2b itp.) pasują do tych z oryginalnego źródła. Używaj podpisów PGP (`validpgpkeys`) w celu weryfikacji autentyczności, gdy są dostępne.
* **Bądź ostrożny z pakietami `-bin`:** Używają one prekompilowanych plików binarnych, co oznacza, że nie możesz sprawdzić źródła. Stosuj maksymalną kontrolę ich pochodzenia i integralności.
* **Czytaj komentarze społeczności:** Sprawdź komentarze na stronie AUR pod kątem ostrzeżeń, problemów lub spostrzeżeń od innych użytkowników.
* **Nigdy nie pomijaj sprawdzania integralności:** Użycie `--skipinteg` lub podobnych flag omija wszystkie kontrole bezpieczeństwa. Nie rób tego.
* **Kontroluj swojego pomocnika AUR:** Zrozum, jak działa twój pomocnik (yay, paru). Upewnij się, że pokazuje ci PKGBUILD i jego różnice, lub buduj ręcznie za pomocą `makepkg`.
* **Oceń konieczność:** Przed instalacją zapytaj, czy naprawdę potrzebujesz tego pakietu z AUR, czy istnieje alternatywa w oficjalnym repozytorium.
* **Utrzymuj system zaktualizowany:** Regularnie uruchamiaj `sudo pacman -Syu`, aby upewnić się, że wszystkie komponenty systemu, w tym `pacman` i `makepkg`, mają najnowsze łatki bezpieczeństwa.

Bądź czujny, aby Twój system oparty na Archu był bezpieczny!

### Wybór graficznego menedżera pakietów

Chociaż graficzne menedżery pakietów oferują wygodę, wiadomo, że niektóre z nich powodują poważne problemy w systemach typu rolling-release, takich jak CachyOS, i należy ich unikać do zarządzania pakietami systemowymi.

- **Pamac:** jest znany z niewłaściwego obsługiwania niektórych zadań zarządzania pakietami, takich jak uszkadzanie pęków kluczy pakietów systemowych. Może to prowadzić do błędów podpisów PGP, które uniemożliwiają aktualizację systemu.
- **Discover (KDE) i GNOME Software Center:** Te sklepy z aplikacjami używają backendu PackageKit. Chociaż są ogólnie bezpieczne do zarządzania Flatpakami, używanie ich do instalowania lub aktualizowania **pakietów systemowych** jest ryzykowne. Menedżery oparte na PackageKit mogą być również niestabilne lub podatne na awarie, co może pozostawić system w uszkodzonym stanie po nieudanej transakcji.

Dla maksymalnej stabilności i niezawodności **zdecydowanie zalecamy** zarządzanie pakietami systemowymi za pomocą wiersza poleceń z `pacman`

Jeśli wolisz interfejs graficzny, nakładki graficzne, takie jak **[Octopi](</pl/configuration/post_install_setup/#aktualizacja-systemu>)** lub **Instalator Pakietów CachyOS**, są uważane za bezpieczne alternatywy, ponieważ są bardziej bezpośrednimi nakładkami na funkcjonalność pacmana.
