Snap (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи 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.

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