---
title: После установки
description: Шаги по настройке после установки CachyOS
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 4
ai_translated: true
---

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

## Рекомендуемые шаги после установки

### Обновление системы

:::tip
Обязательно ознакомьтесь с нашим разделом [Безопасность и лучшие практики](/ru/cachyos_basic/faq#безопасность-и-лучшие-практики), чтобы избежать распространённых ошибок и обеспечить безопасность вашей системы.
:::

<Tabs>

<TabItem label="Shelly (GUI & CLI)">
    <LinkButton icon="external" href="https://www.seafoam-labs.org/shelly-alpm/overview/">Shelly's Wiki</LinkButton>
    <LinkButton icon="external" href="https://www.seafoam-labs.org/shelly-alpm/docs/cli-reference/">Shelly CLI</LinkButton>

    [Shelly](https://github.com/Seafoam-Labs/Shelly-ALPM) — это современное переосмысление менеджера пакетов Arch Linux, разработанное как более интуитивная и удобная альтернатива pacman и octopi.

    Разработано: [Seafoam-Labs](https://github.com/Seafoam-Labs)

    Позволяет пользователям управлять пакетами без использования терминала.

    Возможности Shelly включают:

    Установку/удаление пакетов из AUR, официальных репозиториев, AppImages, Flatpaks и локальных пакетов, просмотр информации о пакетах, управление группами пакетов и многое другое.

    Почему выбрать Shelly вместо Octopi?
    - Более современный и удобный интерфейс.
    - Постоянная разработка и обновления с новыми функциями и улучшениями.
    - Поддержка большего количества форматов пакетов (AUR, AppImages, Flatpaks и т.д.)
    - Функции безопасности, такие как проверка PKGBUILDs, см. [Security Checks](https://www.seafoam-labs.org/shelly-alpm/docs/security/) для получения дополнительной информации.

    <details>
        <summary>Снимок главной страницы Shelly</summary>
        <ImageComponent imgsrc={import('~/assets/images/shelly-homepage.png')} />
    </details>
    <details>
        <summary>Вкладка управления пакетами</summary>
        <ImageComponent imgsrc={import('~/assets/images/shelly-package-management.png')} />
    </details>
    Вот несколько полезных команд для начала работы с CLI Shelly:

    <details>
    <summary>Обновить все пакеты (AUR, официальные репозитории, Flatpak и т.д.):</summary>
    ```sh
    shelly
    ```
    </details>
    <details>
    <summary>Обновить стандартные пакеты (Arch derivates) + установить пакет:</summary>
    ```sh
    shelly install --upgrade {pkg}
    # Пример:
    shelly install --upgrade discord
    ```
    </details>
    <details>
    <summary>Удалить пакет и зависимости:</summary>
    ```sh
    shelly remove {pkg}
    # Пример:
    shelly remove discord
    ```
    </details>
    <details>
    <summary>Поиск пакета в AUR:</summary>
    ```sh
    shelly aur search {pkg}
    ```
    </details>
</TabItem>

<TabItem label="Используя Octopi (GUI)">

Octopi — это графический менеджер пакетов для дистрибутивов на базе Arch, который предоставляет удобный способ управления пакетами и обновлениями.
Чтобы обновить систему с помощью Octopi, выполните следующие шаги:

<Steps>

1. Запустите **Octopi** из меню приложений.
2. В главном окне нажмите на кнопку **Check updates** (вверху слева), а затем рядом с ней — **System upgrade**.
3. Octopi проверит наличие доступных обновлений и предложит установить их либо в самом Octopi, либо в терминале.
4. Чтобы продолжить обновление, нажмите кнопку **Apply**.
5. Octopi загрузит и установит обновления.
6. Рекомендуется перезагрузить компьютер после большого обновления **(особенно если было обновлено ядро)**.

</Steps>

</TabItem>

<TabItem label="Используя Pacman">

<Steps>

1. Откройте эмулятор терминала (или нажмите `ctrl + alt + t` - `mod + return` в WM, например, Qtile).
2. Выполните следующую команду для обновления системы:

   ```sh
   sudo pacman -Syu
   ```
3. Рекомендуется перезагрузить компьютер после большого обновления **(особенно если было обновлено ядро)**.

</Steps>

</TabItem>

<TabItem label="Офлайн-обновление системы">

*CachyOS поддерживает офлайн-обновления системы с помощью скрипта [`pacman-offline`](https://github.com/eworm-de/pacman-offline). Это позволяет вашей системе загружать обновления пакетов и применять их при следующей перезагрузке. (Да, как в Windows)*

:::note
Инструмент `pacman-offline` интегрируется с функцией офлайн-обновлений systemd. Он автоматически обрабатывает обновления ядра и загрузку модулей.

Файл `/etc/pacman.d/offline.conf` имеет решающее значение для управления тем, какие пакеты обновляются во время обычных и офлайн-обновлений. Убедитесь, что он правильно настроен для вашего ядра или добавьте пакеты, которые вы хотите обновлять только во время выполнения pacman-offline и игнорировать при обычном обновлении. Пример: `pacman -Syu`.

**Если вы включите таймер автоматического обновления, вам больше не нужно будет обновлять систему вручную.**
:::

<Steps>

1. **Установите пакет pacman-offline**

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

2. **Указываем Pacman считывать отдельный список игнорируемых пакетов.**

   :::note[Добавьте строку после раздела [options]. Для справки смотрите пример ниже.]
   :::

   ```bash title='Добавьте следующую строку в файл /etc/pacman.conf'
   Include = /etc/pacman.d/offline.conf
   ```
   *Пример*
   ```bash
   # /etc/pacman.conf
   # 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.
   #
   # GENERAL OPTIONS
   [options]
   # other options like 'Color', 'CheckSpace', etc. can be here
   Include = /etc/pacman.d/offline.conf
   ```
3. **Добавление ядер CachyOS, чтобы pacman игнорировал их во время обычных обновлений**

   Инструмент `pacman-offline` использует этот файл, чтобы определить, какие пакеты игнорировать во время традиционных обновлений pacman.

   Пример: когда вы выполняете `sudo pacman -Syu`

   *Замените содержимое файла `/etc/pacman.d/offline.conf` следующим:*

   ```text
   # Arch Linux kernels
   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

   # CachyOS kernels
   IgnorePkg = linux-cachyos linux-cachyos-headers linux-cachyos-nvidia-open linux-cachyos-zfs
   IgnorePkg = linux-cachyos-bmq linux-cachyos-bmq-headers linux-cachyos-bmq-nvidia-open linux-cachyos-bmq-zfs
   IgnorePkg = linux-cachyos-bore linux-cachyos-bore-headers linux-cachyos-bore-nvidia-open linux-cachyos-bore-zfs
   IgnorePkg = linux-cachyos-deckify linux-cachyos-deckify-headers linux-cachyos-deckify-nvidia-open linux-cachyos-deckify-zfs
   IgnorePkg = linux-cachyos-eevdf linux-cachyos-eevdf-headers linux-cachyos-eevdf-nvidia-open linux-cachyos-eevdf-zfs
   IgnorePkg = linux-cachyos-gcc linux-cachyos-gcc-headers linux-cachyos-gcc-nvidia-open linux-cachyos-gcc-zfs
   IgnorePkg = linux-cachyos-hardened linux-cachyos-hardened-headers linux-cachyos-hardened-nvidia-open linux-cachyos-nvidia-hardened-zfs
   IgnorePkg = linux-cachyos-lts linux-cachyos-lts-headers linux-cachyos-lts-nvidia-open linux-cachyos-lts-zfs
   IgnorePkg = linux-cachyos-rc linux-cachyos-rc-headers linux-cachyos-rc-nvidia-open linux-cachyos-rc-nvidia-open linux-cachyos-rc-zfs
   IgnorePkg = linux-cachyos-rt-bore linux-cachyos-rt-bore-headers linux-cachyos-rt-bore-nvidia-open
   IgnorePkg = linux-cachyos-server linux-cachyos-server-headers linux-cachyos-server-nvidia-open linux-cachyos-server-zfs
   ```

   *Теперь все эти пакеты будут игнорироваться при обычных обновлениях, но проверяться во время подготовки к офлайн-обновлению.*

3. **Запустите подготовку к офлайн-обновлению только один раз**

   ```bash title='Выполните следующую команду'
   sudo systemctl start pacman-offline-prepare.service
   ```
   Эта команда заставит pacman-offline выполниться один раз, синхронизировать базы данных пакетов и приступить к загрузке обновлений, но не устанавливать их.

</Steps>

*Если вы хотите автоматизировать этот скрипт, выполните следующие шаги:*

<Steps>

1. **Включите таймер подготовки**

   Включение `pacman-offline-prepare.timer` позволит systemd запускать этот скрипт для загрузки обновлений ежедневно через несколько минут после каждого запуска системы.

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

2. **Перезагрузите систему:**

   Обновления будут установлены при следующей перезагрузке системы.

3. **(Необязательно) Автоматическая перезагрузка системы:**

    Включите `pacman-offline-reboot.timer` для автоматической перезагрузки системы по умолчанию в **3 часа ночи** (по вашему часовому поясу), если есть ожидающие обновления. Имейте в виду, что это не всегда происходит в одно и то же время из-за включения `RandomizedDelaySec`, который по умолчанию установлен на 2 часа.

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

    :::tip
    Вы можете отредактировать файл `pacman-offline-reboot.timer`, чтобы изменить время перезагрузки системы при наличии ожидающих обновлений или отключить случайную задержку.
    :::

</Steps>

</TabItem>

<TabItem label="Cachy-Update">

Форк [Arch-Update](https://github.com/Antiz96/arch-update)

Уведомитель и установщик обновлений для Arch Linux, который помогает с важными задачами до и после обновления.
Включает в себя динамический и кликабельный апплет в системном трее для легкой интеграции с любой средой рабочего стола / оконным менеджером.

<details>
    <summary>Как включить Cachy-Update</summary>
    Включите Cachy-Update в `CachyOS Hello > Apps/Tweaks > Cachy Update enabled`
</details>
<details>
    <summary>Как отключить Cachy-Update</summary>
        Отключите Cachy-Update в `CachyOS Hello > Apps/Tweaks > Cachy Update disabled`
            :::tip
            Если вы хотите оставить Cachy-Update и просто отключить апплет в системном трее, откройте терминал и выполните следующие команды:
            ```bash
            mkdir -p ~/.config/autostart
            echo -e "[Desktop Entry]\nHidden=true" > ~/.config/autostart/arch-update-tray.desktop"
            ```
            Если вы хотите оставить апплет в системном трее включённым и просто отключить автоматическую проверку обновлений, выполните следующую команду:
            ```bash
            sudo systemctl --global disable --now arch-update.timer
            ```
            :::
</details>

- Возможности:
  - Автоматическая проверка и отображение списка доступных обновлений.
  - Проверка последних новостей Arch Linux (и предложение показать их, если они есть).
  - Проверка на наличие осиротевших пакетов (и предложение удалить их, если они есть).
  - Проверка на наличие старых и неустановленных пакетов в кэше (и предложение удалить их, если они есть).
  - Проверка на наличие ожидающего обновления ядра, требующего перезагрузки (и предложение сделать это, если оно есть).
  - Проверка служб, требующих перезапуска после обновления (и предложение сделать это, если они есть).
  - Поддержка `sudo`, `sudo-rs`, `doas` и `run0`.

**Интервал проверки обновлений:** `Один раз через две минуты после загрузки, а затем один раз в день со случайной задержкой в один час.`

- Как изменить интервал проверки обновлений:

```sh title='Выполните следующую команду'
systemctl --user edit --full arch-update.timer
# Совет: Вы также можете использовать любой текстовый редактор по вашему выбору вместо `nano`
# например, EDITOR=micro systemctl --user edit --full arch-update.timer
```

<details>
<summary>Содержимое файла по умолчанию:</summary>
    ```systemd
    [Timer]
    OnStartupSec=2min # Проверка обновлений через две минуты после загрузки
    RandomizedDelaySec=1h # Случайная задержка в один час
    OnUnitActiveSec=1d # Проверка обновлений один раз в день
    ```
</details>
В основном вы можете изменить значение `OnUnitActiveSec` на любое другое. Например, если вы хотите проверять обновления каждые 30 минут, измените его на `30m`. или каждые 6 часов — на `6h`. Ознакомьтесь с этим [документом](https://www.freedesktop.org/software/systemd/man/latest/systemd.time.html#Parsing%20Time%20Spans) для получения более подробной информации о том, как установить временной интервал.

Если вы хотите, чтобы Cachy-Update проверял наличие новых обновлений только один раз при загрузке, вы можете просто полностью удалить строку `OnUnitActiveSec`.

Спасибо [Antiz](https://github.com/Antiz96) за поддержку основного проекта Arch-Update и за реализацию Cachy-Update

</TabItem>

</Tabs>

### Настройка брандмауэра (ufw)
:::note
UFW включен по умолчанию после установки.
:::
Чтобы настроить ufw, выполните следующие шаги:

<Tabs>

<TabItem label="Включить">

```bash
sudo ufw enable
```

</TabItem>

<TabItem label="Отключить">

```bash
sudo ufw disable
```

</TabItem>

<TabItem label="Разрешить">

По умолчанию ufw игнорирует входящий и разрешает исходящий трафик; вы можете добавлять в брандмауэр определённые правила, чтобы блокировать или разрешать конкретные соединения.

```bash
# Пример 1, разрешить ssh-трафик:
sudo ufw allow ssh
# Пример 2, открыть порт 12345 для TCP & UDP трафика:
sudo ufw allow 12345

# Текст или номер порта можно изменить по необходимости, например 12345/udp, чтобы разрешить только UDP-трафик, или заменив ssh на название программы
```

</TabItem>

<TabItem label="Запретить">

По умолчанию ufw игнорирует входящий и разрешает исходящий трафик; вы можете добавлять в брандмауэр определённые правила, чтобы блокировать или разрешать конкретные соединения.

```bash
# Пример 1, запретить ssh-трафик:
sudo ufw deny ssh
# Пример 2, закрыть порт 12345 для TCP & UDP трафика:
sudo ufw deny 12345

# Текст или номер порта можно изменить по необходимости, например 12345/udp, чтобы запретить только UDP-трафик, или заменив ssh на название программы
```

</TabItem>

<TabItem label="Статус">

```bash
sudo ufw status verbose
```
:::tip
Если вы не хотите забывать, почему вы открыли/закрыли порт, добавьте комментарий к правилу.
```bash
# Пример 1, открыть порт 12345 для TCP & UDP трафика с комментарием:
sudo ufw allow 12345 comment 'Example'
# Пример 2, закрыть порт 6789 для TCP с комментарием:
sudo ufw deny 6789/tcp comment 'Comments can have spaces'
```
:::
</TabItem>

</Tabs>

:::note
Будьте осторожны при настройке правил брандмауэра, так как неправильно настроенные правила могут заблокировать вам доступ к вашей собственной системе.
:::

:::note
Вы также можете настроить его графически, используя раздел "Firewall" в настройках KDE Plasma.
:::

:::note
Изменения разрешений/запретов вступают в силу после перезапуска ufw. Отключите, а затем снова включите ufw для немедленного результата.
:::

### Включение глобального меню
Для некоторых приложений, таких как Visual Studio Code, глобальное меню может не работать или быть прикреплено к родительскому приложению вместо панели.

```sh
# Чтобы включить поддержку глобального меню, выполните команду и перезапустите приложение.
sudo pacman -S appmenu-gtk-module libdbusmenu-glib
```

## Дополнительные конфигурации

### Изменение оболочки по умолчанию

В настоящее время CachyOS использует [fish](https://fishshell.com/) в качестве оболочки входа в систему по умолчанию для пользователя. Однако вы можете изменить
оболочку по умолчанию на любую другую.

<Tabs>
   <TabItem label='bash'>

      Это оболочка по умолчанию почти во всех дистрибутивах Linux. Она также до сих пор используется как оболочка входа для пользователя root. bash
      обладает базовой функциональностью автодополнения и простым управлением историей. Он отличается от zsh и fish тем, что не имеет
      такой же богатой экосистемы кастомизации и плагинов, как у fish и zsh.


      ```sh title='Изменение вашей оболочки по умолчанию на bash'
      chsh -s /usr/bin/bash
      ```

   </TabItem>

   <TabItem label='zsh'>

      Мы предоставляем [конфигурацию zsh](https://github.com/CachyOS/cachyos-zsh-config) с часто используемыми плагинами и настройками.
      Она нацелена на 1:1 функциональность с нашей [конфигурацией fish](https://github.com/CachyOS/cachyos-fish-config).
      Это также оболочка по умолчанию, используемая в MacOS.

      ```sh title='Изменение оболочки по умолчанию на zsh'
      chsh -s /usr/bin/zsh
      ```

   </TabItem>
</Tabs>

### Обновление/использование [tldr](https://github.com/tldr-pages/tldr)

:::note
CachyOS использует [tealdeer](https://github.com/tealdeer-rs/tealdeer), которая является более быстрой реализацией оригинального tldr, написанной на Rust.
:::

Этот инструмент чрезвычайно полезен для тех, кто не хочет много читать или тратить время на чтение страницы help/man.

<Steps>

1. ```sh title="Откройте терминал и выполните следующую команду"
   tldr --update
   ```
2. Пример использования tldr:
   ```sh
   tldr java
     Execute a `.jar` program:

      java -jar filename.jar

   # Как видите, это очень полезно, и со временем добавляются новые инструменты/страницы.
   ```

</Steps>

### Управление AppImages

Appimages — это портативные приложения, которые работают на большинстве дистрибутивов Linux без необходимости установки или прав суперпользователя.

:::note[Все AppImages требуют прав на исполнение для запуска.]
Вы можете установить права на исполнение с помощью следующей команды:
```sh
chmod +x /path/to/your/appimage
```
Или щелкните правой кнопкой мыши по файлу AppImage, перейдите в `Properties` > `Permissions`, и установите флажок `Allow executing file as program.`
:::

:::note[Перед запуском AppImages убедитесь, что на вашей системе установлена FUSE (Filesystem in Userspace).]
```sh
sudo pacman -S fuse2
```
:::

Для управления AppImages вы можете использовать [gearlever](https://github.com/mijorus/gearlever), который предоставляет простой способ интеграции AppImages в вашу систему.

`gearlever` — это графический инструмент, который упрощает управление AppImages в вашей системе. Он интегрируется с вашей средой рабочего стола, что облегчает запуск и управление AppImages.

Чтобы установить gearlever, выполните следующие шаги:

<Steps>
    1. Установите flatpak, если он ещё не установлен:
        ```sh
        sudo pacman -S flatpak
        ```
    2. Перезагрузите систему.
    3. Установите gearlever через flatpak:
        ```sh
        flatpak install flathub it.mijorus.gearlever
        ```
    4. После установки выйдите из системы и войдите снова, чтобы увидеть gearlever в меню приложений.
</Steps>

### Настройка доступа к общим ресурсам Samba

Samba — это свободная программная реализация сетевого протокола SMB. Чтобы подключиться к вашему samba-серверу, пользователям CachyOS доступна полезная конфигурация, но она требует изменения конфигурации вашего samba-сервера.

#### Установка и использование файла smb.conf от CachyOS

Чтобы использовать удобный файл smb.conf, сначала установите специальный пакет, который предоставляет необходимый файл smb.conf. Затем замените существующий smb.conf вашего сервера этим файлом и перенастройте ваши общие тома.

:::note[Это руководство предполагает, что у вас уже есть работающий Samba-сервер]
:::

<Steps>
    1. Создайте резервную копию вашего оригинального файла `smb.conf`, который обычно находится по пути `/etc/samba/smb.conf` в системах Linux.
    2. Установите пакет настроек Samba от CachyOS на вашей клиентской машине:
        ```sh
        sudo pacman -S cachyos-samba-settings
        ```
    3. Скопируйте `smb.conf` с вашей клиентской машины на Samba-сервер.
    4. Откройте и отредактируйте файл, чтобы добавить ваши общие каталоги, принтеры и т.д.
    5. Перезапустите службу Samba на вашем сервере:
        ```sh
        sudo systemctl restart --now samba
        ```
    6. На клиентской машине получите доступ к вашим общим ресурсам через файловый менеджер (например, `smb://<ip_вашего_сервера>/<имя_ресурса>`).

        Если все настроено правильно, вам будет предложено ввести учетные данные. Не забудьте выбрать опцию сохранения вашей информации для входа, если это необходимо.
</Steps>

### Поддержка AppArmor с использованием профилей AppArmor.d

Цитата из Wikipedia:

*AppArmor («Application Armor») — это модуль безопасности ядра Linux, который позволяет системному администратору ограничивать возможности программ с помощью профилей для каждой программы. Профили могут разрешать такие возможности, как доступ к сети, доступ к необработанным сокетам и разрешение на чтение, запись или выполнение файлов по соответствующим путям.*

Это лишь краткое руководство по установке базовой конфигурации AppArmor. Если вы не знакомы с AppArmor, не продолжайте, не разобравшись в последствиях.

Для получения более подробной информации об AppArmor.d и о том, как создавать собственные профили, ознакомьтесь с [документацией AppArmor.d](https://github.com/roddhjav/apparmor.d?tab=readme-ov-file#configuration).

:::caution[Будьте осторожны. Неправильно настроенная конфигурация AppArmor может вызвать проблемы.]
:::

<Steps>

1. Добавьте следующие параметры ядра в ваш загрузчик, см. [Настройка загрузчика](/ru/configuration/boot_manager_configuration) для справки

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

2. Установите пакеты apparmor и apparmord **(набор из более чем 1500 профилей)**
   ```bash
   sudo pacman -S apparmor apparmor.d
   ```

3. Включите/запустите службу AppArmor

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

4. Включите кэширование для профилей AppArmor

   ```shell
   # /etc/apparmor/parser.conf
   ## Добавьте следующие строки:
   write-cache
   Optimize=compress-fast
   cache-loc /etc/apparmor/earlypolicy/
   ```
   Сохраните файл и перезагрузитесь.
</Steps>
