Snap store arch linux

bundles

This is my-snap’s description. You have a paragraph or two to tell the most important story about your snap. Keep it under 100 words though, we live in tweetspace and your description wants to look good in the snap store.

Details for bundles

License
Last updated
Links

Enable snaps on Arch Linux and install bundles

Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.

Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.

Enable snapd

On Arch Linux, snap can be installed from the Arch User Repository (AUR). The manual build process is the Arch-supported install method for AUR packages, and you’ll need the prerequisites installed before you can install any AUR package. You can then install snap with the following:

git clone https://aur.archlinux.org/snapd.git cd snapd makepkg -si 

Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:

sudo systemctl enable --now snapd.socket 

To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap and /snap :

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

Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.

Install bundles

To install bundles, simply use the following command:

sudo snap install bundles --edge

Источник

Snap (Русский)

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

Snap — это система развёртывания программного обеспечения и управления пакетами. Пакеты называются «snaps», а инструмент для их использования — «snapd», который работает в различных дистрибутивах Linux и, следовательно, позволяет развёртывать программное обеспечение, не зависящее от дистрибутива. Изначально система Snap была разработана и создана компанией Canonical.

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

Читайте также:  Что такое linux daemon

Snap-пакеты могут быть ограничены с помощью AppArmor, который по умолчанию доступен в официальных ядрах. Шаги по включению AppArmor в системе описаны в соответствующих вики-статьях.

Установка

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

Если вы используете AppArmor, запустите и включите службы apparmor.service и snapd.apparmor.service .

Примечание: Если AppArmor не включен в вашей системе, то все snap-пакеты будут работать в режиме devel, то есть они будут иметь такой же неограниченный доступ к вашей системе, как и приложения, установленные из репозиториев Arch Linux.

Настройка

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

Использование

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

Поиск

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

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

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

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

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

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

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

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

# snap install --dangerous /путь/к/пакету/snap 

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

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

Пакеты обновляются автоматически в соответствии с настройкой refresh.timer .

Посмотреть время последнего/следующего обновления можно с помощью команды:

Изменение времени обновления, например, дважды в день:

# snap set core refresh.timer=0:00~24:00/2

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

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

# snap remove snapname 

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

Классические snap-пакеты

Некоторые пакеты (например, Skype и Pycharm) используют классический уровень ограничения (classic confinement). Однако он требует наличия каталога /snap , который не соответствует FHS. Пакет snapd не поставляет этот каталог, но на его месте можно создать символическую ссылку на /var/lib/snapd/snap , чтобы установка классических snap-пакетов стала возможна:

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

Ограничение доступа

При использовании AppArmor snapd сгенерирует такие же профили для snap-пакетов, что и на Ubuntu. Парсер AppArmor достаточно умён, чтобы отбросить правила, которые ещё не поддерживаются основным ядром.

Чтобы проверить, что базовое ограничение доступа работает, установите snap-пакет hello-world. Затем выполните следующее:

Hello Evil World! This example demonstrates the app confinement You should see a permission denied error next /snap/hello-world/27/bin/evil: 9: /snap/hello-world/27/bin/evil: cannot create /var/tmp/myevil.txt: Permission denied

AppArmor должен отказать в доступе и записать событие в журнал:

. [ +0.000003] audit: type=1327 audit(1540469583.966:257): proctitle=2F62696E2F7368002F736E61702F68656C6C6F2D776F726C642F32372F62696E2F6576696C [ +12.268939] audit: type=1400 audit(1540469596.236:258): apparmor="DENIED" operation="open" profile="snap.hello-world.evil" name="/var/tmp/myevil.txt" pid=10835 comm="evil" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000 [ +0.000006] audit: type=1300 audit(1540469596.236:258): arch=c000003e syscall=2 success=no exit=-13 a0=55d991ba6bc8 a1=241 a2=1b6 a3=55d991ba6be0 items=0 ppid=31349 pid=10835 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts2 ses=3 comm="evil" exe="/bin/dash" subj==snap.hello-world.evil (enforce) .

Если отказа не видно, проверьте, что профили загружены:

# aa-status | grep snap.hello-world
snap.hello-world.env snap.hello-world.evil snap.hello-world.hello-world snap.hello-world.sh

Также можно проверить, какие функции песочницы доступны в системе согласно snapd:

$ snap debug sandbox-features
apparmor: kernel:caps kernel:domain kernel:file kernel:mount kernel:namespaces kernel:network_v8 kernel:policy kernel:ptrace kernel:query kernel:rlimit kernel:signal parser:unsafe policy:default support-level:partial confinement-options: devmode dbus: mediated-bus-access kmod: mediated-modprobe mount: freezer-cgroup-v1 layouts mount-namespace per-snap-persistency per-snap-profiles per-snap-updates per-snap-user-profiles stale-base-invalidation seccomp: bpf-argument-filtering kernel:allow kernel:errno kernel:kill_process kernel:kill_thread kernel:log kernel:trace kernel:trap

Решение проблем

Нечитабельный текст

Если вместо нормальных символов отображаются квадратики, попробуйте очистить кэш шрифтов:

# rm -f /var/cache/fontconfig/* $ rm -f ~/.cache/fontconfig/* # fc-cache -r -v

Snapctl также хранит внутренние кэши для каждого snap-пакета отдельно, которые тоже нужно очищать. Сначала найдите их с помощью команды:

$ find ~/snap/ -wholename '*/.cache/fontconfig'
. /home/darth_vader/snap/mailspring/common/.cache/fontconfig . /home/darth_vader/snap/authy/common/.cache/fontconfig . /home/darth_vader/snap/icedrive/common/.cache/fontconfig . /home/darth_vader/snap/discord/common/.cache/fontconfig . /home/darth_vader/snap/bitwarden/common/.cache/fontconfig

Затем либо удалите их по отдельности, либо используйте этот простой цикл.

Читайте также:  But does it run linux

Наконец, перезапустите сеанс.

Error: cannot mount squashfs

Snap-пакеты используют файловую систему SquashFS. Если случается подобная ошибка:

error: system does not fully support snapd: cannot mount squashfs image using "squashfs"

проверьте, загружен ли модуль ядра SquashFS:

Module Size Used by squashfs xxxxx x .

Совет: Если snapd был установлен только что — возможно, нужно перезагрузиться перед установкой snap-пакетов.

Помощь

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

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

  • Официальный сайт
  • Репозиторий на GitHub
  • Статья на Ars Technica (2016-06) о том, что «Ubuntu snaps» становятся доступными для Arch и других дистрибутивов

Источник

Как установить приложения Snap в Arch Linux

Если вы долгое время пользовались Linux, вы, вероятно, помните, как сложно устанавливать новые приложения. Если он не включен в установщик, вам обычно нужно выполнить настройку, установку и, как правило, искать недостающие зависимости по пути. Менеджеры пакетов, такие как apt и yum, сделали это более управляемым, но зависимости по-прежнему вас раздражают.

Возможно, вы слышали о Snap, который утверждает, что решает многие из этих проблем. Возможно, вы также слышали, что это только Ubuntu, но, к счастью, это неправда.

Как установить приложения Snap в Arch Linux

Что такое приложения Snap?

Приложения Snap, известные как «снимки», не должны иметь ничего общего с дистрибутивами, поэтому лучше, если они будут работать одинаково независимо от того, в какой системе вы находитесь. Для этого собирается большая часть зависимостей и сред выполнения, которые приложение должно запускать в Snap. Это означает, что после того, как вы настроили и запустили систему, добавление приложений, для которых может потребоваться множество зависимостей, стало проще.

Читайте также:  Linux редактирование файлов nano

Как установить приложения Snap в Arch Linux

Snap поддерживается Canonical, поэтому его часто упоминают об Ubuntu, но он должен работать с любым основным дистрибутивом Linux. Arch — официально сертифицированный дистрибутив, поэтому snap — отличный способ запускать неупакованные приложения для Arch.

установить демон snapd

Чтобы установить снимки в вашей системе, вам необходимо установить Daemon. Пока инструмент поддерживает оснастки Официально Arch, вам нужно будет установить его из репозитория пользователей Arch (AUR). К счастью, это легко сделать с помощью инструмента yaourt.

Как установить приложения Snap в Arch Linux

Сначала установите snapd, выполнив следующую команду:

Теперь вам нужно включить службу. Для этого просто введите следующую команду:

systemctl enable --now snapd.socket

Установить Snap Apps

Теперь, когда подключаемый модуль установлен, вы можете использовать его для установки пакетов, как и любой другой менеджер пакетов. Например, чтобы установить конкретное приложение с помощью оснастки, просто выполните следующее:

snap install application-name

Чтобы вывести список доступных снимков в вашей системе, выполните следующее:

Чтобы найти пакет, вы можете запросить, доступен ли он, набрав следующее:

Как установить приложения Snap в Arch Linux

Наконец, чтобы удалить пакет, просто выполните эту команду:

snap remove application-name

Другие советы и хитрости Snap

Дополнительные приложения обновляются автоматически по умолчанию, но чтобы обновить все приложения вручную, выполните следующие действия:

В некоторых снимках не используется традиционный путь, который называется «/ var / lib / snapd / оснастка. Вместо этого они устанавливаются в «/ snap». Для поддержки установки этих «классических снимков» вы можете просто создать символическую ссылку, используя следующую команду:

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

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

Заключение

Snap — не единственная в своем роде технология. Flatpak и AppImage — две похожие системы пакетов, которые призваны решить многие из одних и тех же проблем. Однако, поскольку Snap поддерживает Ubuntu, он, по-видимому, является самым популярным из этих форматов, по крайней мере, на данный момент.

Значит ли это, что он лучший? Некоторое время назад мы взглянули на AppImage и Flatpak, чтобы увидеть, как они противостоят друг другу, и посмотреть, какой из них лучше.

Источник

Оцените статью
Adblock
detector