Snap (Русский) - ArchWiki

Jump to content

# Snap (Русский)

From ArchWiki

Ссылки по теме

- Flatpak

Состояние перевода: На этой странице представлен перевод статьи Snap. Дата последней синхронизации: 17 апреля 2018. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

snapd это REST API демон для управления snap-пакетами ("snaps"). Пользователи могут взаимодействовать с ним с помощью snap клиента, входящего в тот же пакет.

## Установка

Установите snapdAUR или его git версию, snapd-gitAUR.

В пакет входит `snapd` демон, а также snap-confine, который обеспечивает монтирование, изоляцию и запуск snap-пакетов.

Совет: `snapd` устанавливает скрипт в `/etc/profile.d/` для экспорта путей в исполняемым файлам, входящим в snap-пакеты. Для того чтобы эти изменения вступили в силу потребуется перезагрузка.

## Настройка

В пакет также входят несколько systemd unit файлов, которые обеспечивают возможность обновления всех установленных snap-пакетов, при выходе новой версии.

Для того чтобы `snapd` демон запускался, когда snap обращается к нему, запустите `snapd.socket`.

    # systemctl start snapd.socket

Вы также можете активировать его при старте системы.

    # systemctl enable snapd.socket

Для того чтобы автоматически обновлять пакеты активируйте `snapd.refresh.timer`:

    # systemctl start snapd.refresh.timer

## Управление snap-пакетами

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

### Поиск

Для поиска пакетов, доступных для установки используйте команду find:

    $ snap find

Это выведет список всех доступных пакетов. Для поиска конкретного пакета используйте:

    $ snap find критерий_поиска

### Установка пакетов

Установить snap-пакет можно с помощью команды:

    # snap install имя_пакета

Установка требует root привилегий. Установка с правами пользователя на данный момент невозможна. При установке snap загружается в `/var/lib/snapd/snaps` и монтируется в `/snap/имя_пакета`.

Кроме того, создаются также юнит-файлы для каждого snap-пакета и добавляются в `/etc/systemd/system/multi-user.target.wants/`, для того чтобы snap-пакеты монтировались при каждом запуске системы. Вы можете просмотреть список установленных пакетов командой:

    $ snap list

Вы также можете устанавливать snap-пакеты локально, с жесткого диска:

    # snap install --devmode /path/to/snap

### Обновление пакетов

Для того чтобы обновить snap-пакеты выполните:

    # snap refresh

### Удаление пакетов

Для того чтобы удалить пакет выполните:

    # snap remove snapname

## Удаление

Удаление пакета snapdAUR не приводит к удалению всех каталогов и файлов, которые создаются при его использовании. Лучше всего удалить все snap-пакеты с помощью snap remove, перед тем как удалять сам пакет. Однако, на данный момент невозможно удалить snap-пакет ubuntu-core. Для того чтобы полностью удалить все файлы следуйте инструкции ниже.

1. Отмонтируйте все активные snap-пакеты из `/snap`.

    # umount $(mount | grep snap | awk '{print $3}')

2. Удалите следующие каталоги:

    # rm -rf /var/lib/snapd
    # rm -rf /snap

3. Удалите все файлы, отвечающие за монтирование snap-пакетов из `/var/lib/snapd/snaps` в `/snap` при загрузке.

    # find /etc/systemd/system -name "snap-*.mount" -delete
    # find /etc/systemd/system -name "snap.*.service" -delete
    # find /etc/systemd/system/multi-user.target.wants -name "snap-*.mount" -delete
    # find /etc/systemd/system/multi-user.target.wants -name "snap.*.service" -delete

## Советы и рекомендации

### Classic snaps

Some snaps (e.g. Skype and Pycharm) use classic confinement. However, classic confinement requires the `/snap` directory, which is not FHS-compliant. Therefore, the snapd package does not ship this directory. However, if the user wants to, he can manually create a symlink from `/snap` to `/var/lib/snapd/snap`, to allow the installation of classic snaps:

    # ln -s /var/lib/snapd/snap /snap

## Помощь

Почтовая рассылка Arch Linux и другие официальные каналы поддержки Arch Linux не являются подходящим местом для запроса помощи по snap-пакетам на Arch Linux. Подходящим местом для запроса поддержки является Snapcraft forum.

## Смотрите также

- Official site
- GitHub repository
- arstechnica article (06/16) about Ubuntu snaps becoming available for Arch and other distros

Category:

- Development (Русский)