---
title: Po instalaci
description: Kroky pro konfiguraci po instalaci CachyOS
---

import { Tabs, TabItem, Steps } from '@astrojs/starlight/components';

## Aktualizace systému

<Tabs>

<TabItem label="Použití Octopi (GUI)">

Octopi je grafický správce balíčků pro distribuce založené na Archu, který poskytuje pohodlný způsob správy balíčků a aktualizací.
Pro aktualizaci systému pomocí Octopi postupujte následovně:

<Steps>

1. Spusťte **Octopi** z nabídky aplikací.
2. V hlavním okně klikněte na tlačítko **Zkontrolovat aktualizace** (vlevo nahoře), nyní vedle něj **Aktualizace systému.**
3. Octopi nyní zkontroluje dostupné aktualizace a vyzve vás, abyste je nainstalovali buď přímo v Octopi, nebo v terminálu.
4. Pro pokračování v aktualizaci klikněte na tlačítko **Použít**.
5. Octopi stáhne a nainstaluje aktualizace.
6. Doporučuje se restartovat počítač po velké aktualizaci **(zejména pokud byl aktualizován kernel)**.

</Steps>

</TabItem>

<TabItem label="Použití Pacmanu">

<Steps>

1. Otevřete emulátor terminálu (nebo stiskněte **`ctrl + alt + t`** - **`mod + return`** ve WM, např. Qtile).
2. Spusťte následující příkaz pro aktualizaci systému:

   ```sh
   sudo pacman -Syu
   ```
3. Doporučuje se restartovat počítač po velké aktualizaci **(zejména pokud byl aktualizován kernel)**.

</Steps>

</TabItem>

<TabItem label="Offline aktualizace systému">

*CachyOS podporuje offline aktualizace systému pomocí skriptu [`pacman-offline`](https://github.com/eworm-de/pacman-offline). To umožňuje vašemu systému stahovat aktualizace balíčků a aplikovat je při příštím restartu. (Ano, jako ve Windows)*

:::note
Nástroj `pacman-offline` se integruje s funkcí offline aktualizací systemd. Automaticky se stará o aktualizace kernelu a načítání modulů.

Soubor `/etc/pacman.d/offline.conf` je klíčový pro správu toho, které balíčky jsou aktualizovány během běžných a offline aktualizací. Ujistěte se, že je správně nakonfigurován pro váš požadovaný kernel nebo přidejte balíčky, které chcete aktualizovat pouze během provádění pacman-offline a které mají být ignorovány při běžné aktualizaci. Příklad: `pacman -Syu`.

**Pokud povolíte časovač automatických aktualizací, již nebudete muset systém aktualizovat ručně.**
:::

<Steps>

1. **Nainstalujte balíček pacman-offline**

   ```bash
   sudo pacman -S pacman-offline
   ```

2. **Řekněte Pacmanu, aby četl ze samostatného seznamu ignorovaných balíčků.**

   ```bash title='Přidejte následující řádek do souboru /etc/pacman.conf'
   Include = /etc/pacman.d/offline.conf
   ```
   *Příklad*
   ```bash
   # REPOSITORIES
   #   - can be defined here or included from another file
   #   - pacman will search repositories in the order defined here
   #   - local/custom mirrors can be added here or in separate files
   #   - repositories listed first will take precedence when packages
   #     have identical names, regardless of version number
   #   - URLs will have $repo replaced by the name of the current repo
   #   - URLs will have $arch replaced by the name of the architecture
   #
   # Repository entries are of the format:
   #       [repo-name]
   #       Server = ServerName
   #       Include = IncludePath
   #
   # The header [repo-name] is crucial - it must be present and
   # uncommented to enable the repo.
   #

   Include = /etc/pacman.d/offline.conf
   ```
3. **Přidání kernelů CachyOS, aby je pacman ignoroval během běžných aktualizací**

   Nástroj `pacman-offline` používá tento soubor k určení, které balíčky ignorovat během tradičních aktualizací pacmanem.

   **Příklad: když spustíte `sudo pacman -Syu`**

   *Nahraďte obsah souboru `/etc/pacman.d/offline.conf` následujícím:*

   ```text
   # Kernely Arch Linuxu
   IgnorePkg = linux linux-headers linux-docs
   IgnorePkg = linux-lts linux-lts-headers linux-lts-docs
   IgnorePkg = linux-zen linux-zen-headers linux-zen-docs
   IgnorePkg = linux-hardened linux-hardened-headers linux-hardened-docs

   # Kernely CachyOS
   IgnorePkg = linux-cachyos linux-cachyos-headers
   IgnorePkg = linux-cachyos-bmq linux-cachyos-bmq-headers
   IgnorePkg = linux-cachyos-bore linux-cachyos-bore-headers
   IgnorePkg = linux-cachyos-deckify linux-cachyos-deckify-headers
   IgnorePkg = linux-cachyos-eevdf linux-cachyos-eevdf-headers
   IgnorePkg = linux-cachyos-gcc linux-cachyos-gcc-headers
   IgnorePkg = linux-cachyos-hardened linux-cachyos-hardened-headers
   IgnorePkg = linux-cachyos-lts linux-cachyos-lts-headers
   IgnorePkg = linux-cachyos-rc linux-cachyos-rc-headers
   IgnorePkg = linux-cachyos-rt-bore linux-cachyos-rt-bore-headers
   IgnorePkg = linux-cachyos-sched-ext linux-cachyos-sched-ext-headers
   IgnorePkg = linux-cachyos-server linux-cachyos-server-headers
   IgnorePkg = linux-cachyos-lto linux-cachyos-lto-headers
   IgnorePkg = linux-cachyos-bmq-lto linux-cachyos-bmq-lto-headers
   IgnorePkg = linux-cachyos-bore-lto linux-cachyos-bore-lto-headers
   IgnorePkg = linux-cachyos-deckify-lto linux-cachyos-deckify-lto-headers
   IgnorePkg = linux-cachyos-eevdf-lto linux-cachyos-eevdf-lto-headers
   IgnorePkg = linux-cachyos-gcc-lto linux-cachyos-gcc-lto-headers
   IgnorePkg = linux-cachyos-hardened-lto linux-cachyos-hardened-lto-headers
   IgnorePkg = linux-cachyos-lts-lto linux-cachyos-lts-lto-headers
   IgnorePkg = linux-cachyos-rc-lto linux-cachyos-rc-lto-headers
   IgnorePkg = linux-cachyos-rt-bore-lto linux-cachyos-rt-bore-lto-headers
   IgnorePkg = linux-cachyos-sched-ext-lto linux-cachyos-sched-ext-lto-headers
   IgnorePkg = linux-cachyos-server-lto linux-cachyos-server-lto-headers
   ```

   *Nyní budou všechny tyto balíčky ignorovány při běžných aktualizacích, ale kontrolovány během přípravy na offline aktualizaci.*

3. **Spusťte přípravu na offline aktualizaci pouze jednou**

   ```bash title='Spusťte následující příkaz'
   sudo systemctl start pacman-offline-prepare.service
   ```
   Tento příkaz poté spustí pacman-offline jednou a synchronizuje databáze balíčků a pokračuje ve stahování aktualizací, ale nenainstaluje je.

</Steps>

*Pokud chcete, aby byl tento skript automatizovaný, postupujte podle následujících kroků:*

<Steps>

1. **Povolte časovač přípravy**

   Povolení `pacman-offline-prepare.timer` umožní systemd spouštět tento skript pro stahování aktualizací na denní bázi po několika minutách od každého spuštění systému.

   ```bash
   sudo systemctl enable pacman-offline-prepare.timer
   ```

2. **Restartujte systém:**

   Aktualizace budou nainstalovány během příštího restartu systému.

3. **(Volitelné) Automatické restarty systému:**

    Povolte `pacman-offline-reboot.timer` pro automatický restart systému, ve výchozím nastavení ve **3 hodiny ráno** (vašeho časového pásma), pokud jsou k dispozici čekající aktualizace. Mějte na paměti, že to není vždy ve stejnou dobu kvůli zahrnutí `RandomizedDelaySec`, které je ve výchozím nastavení nastaveno na 2 hodiny.

    ```bash
    sudo systemctl enable pacman-offline-reboot.timer
    ```

    :::tip
    Můžete upravit soubor `pacman-offline-reboot.timer` a buď změnit čas, kdy chcete, aby se váš systém restartoval, pokud jsou k dispozici nějaké čekající aktualizace, nebo zakázat náhodný časový plán.
    :::

</Steps>

</TabItem>

</Tabs>

## Konfigurace Firewallu (ufw)
:::note
UFW je ve výchozím nastavení po instalaci povolen.
:::
Pro konfiguraci ufw postupujte následovně:

<Tabs>

<TabItem label="Povolit">

```bash
sudo ufw enable
```

</TabItem>

<TabItem label="Zakázat">

```bash
sudo ufw disable
```

</TabItem>

<TabItem label="Povolit">

Ve výchozím nastavení ufw povoluje veškerý příchozí a odchozí provoz, můžete do firewallu přidat specifická pravidla pro blokování nebo povolení specifických připojení.

```bash
# Například:
sudo ufw allow ssh
```

</TabItem>

<TabItem label="Odmítnout">

```bash
# Pro zamítnutí specifického portu se podívejte na následující příklad:
sudo ufw deny 80
```

</TabItem>

<TabItem label="Stav">

```bash
sudo ufw status verbose
```

</TabItem>

</Tabs>

:::note
Buďte opatrní při konfiguraci pravidel firewallu, protože nesprávně nakonfigurovaná pravidla vás mohou odříznout od vlastního systému.
:::

:::note
Můžete ho také konfigurovat graficky pomocí sekce "Firewall" v nastavení KDE Plasma.
:::

## Povolení globálního menu
U některých aplikací, jako je Visual Studio Code, nemusí globální menu fungovat nebo může být připojeno k rodičovské aplikaci místo k panelu.

```sh
# Pro povolení podpory globálního menu spusťte příkaz a restartujte aplikaci.
sudo pacman -S appmenu-gtk-module libdbusmenu-glib
```

## Povolení podpory AppArmor pomocí profilů AppArmor.d (volitelné)

<Steps>

1. Přidejte následující parametry kernelu do vašeho zavaděče, viz [Konfigurace zavaděče](/configuration/boot_manager_configuration) pro referenci.

   ```text
   lsm=landlock,lockdown,yama,integrity,apparmor,bpf
   ```

2. Nainstalujte balíčky apparmor a apparmord **(sada více než 1500 profilů)**
   ```bash
   sudo pacman -S apparmor apparmor.d
   ```

3. Povolte/spusťte službu AppArmor

   ```bash
   systemctl enable --now apparmor.service
   ```

4. Povolte cachování pro profily AppArmor

   ```shell
   # /etc/apparmor/parser.conf
   ## Přidejte následující řádky:
   write-cache
   Optimize=compress-fast
   ```
   Uložte soubor a restartujte.
</Steps>

## Změna výchozího shellu

V současné době CachyOS používá [fish](https://fishshell.com/) jako výchozí přihlašovací shell uživatele. Můžete si však změnit
výchozí shell na jakýkoli, který se vám líbí.

<Tabs>
   <TabItem label='bash'>

      Toto je výchozí shell na téměř každé distribuci Linuxu. Stále se také používá jako přihlašovací shell uživatele root. bash
      má základní funkci automatického doplňování a snadnou správu historie. Liší se od zsh a fish tím, že nemá
      bohaté možnosti přizpůsobení a ekosystém pluginů, které mají fish i zsh.


      ```sh title='Změna výchozího shellu na bash'
      ❯ chsh -s /usr/bin/bash
      ```

   </TabItem>

   <TabItem label='zsh'>

      Poskytujeme [konfiguraci zsh](https://github.com/CachyOS/cachyos-zsh-config) s běžně používanými pluginy a konfiguracemi.
      Cílem je mít funkčnost 1:1 s naší [konfigurací fish](https://github.com/CachyOS/cachyos-fish-config).
      Toto je také výchozí shell používaný v MacOS.

      ```sh title='Změna výchozího shellu na zsh'
      ❯ chsh -s /usr/bin/zsh
      ```

   </TabItem>
</Tabs>

## Aktualizace/používání [tldr](https://github.com/tldr-pages/tldr)

:::note
CachyOS používá [tealdeer](https://github.com/tealdeer-rs/tealdeer), což je rychlejší implementace původního tldr napsaná v Rustu.
:::

Tento nástroj je mimořádně užitečný pro ty, kteří nechtějí mnoho číst nebo ztrácet čas čtením nápovědy/man stránky.

<Steps>

1. ```sh title="Otevřete terminál a spusťte následující příkaz"
   tldr --update
   ```
2. Příklad použití tldr:
   ```sh
   tldr java
     Spuštění programu `.jar`:

      java -jar nazev_souboru.jar

   # Jak vidíte, je to opravdu užitečné a postupem času se přidávají nové nástroje/stránky
   ```

</Steps>
