Является ли snap переносимым в другой UNIX (пример macOS)?

В соответствии с комментариями в вопросе: это объяснение:

Когда много приложений открыто, для них потребуется больше памяти, чем физическое ОЗУ системы. Это побудило бы систему использовать раздел подкачки и записать «необработанные» данные в swap (на диске). Теперь, если много или большинство приложений активны, тогда необработанная память очень низкая, и на самом деле система продолжает писать вещи, чтобы обменять, вынимает и пишет что-то еще, и вынимает их снова, и пишет что-то еще об обмене. Это будет продолжаться, и никакой реальной обработки не произойдет. Эта ситуация была отмечена большим количеством активности диска (наблюдаемая через iotop или постоянно светодиодом для диска на ноутбуке).

Средством для этого является получение большей ОЗУ, если вы действительно хотите чтобы использовать так много приложений в целом. В противном случае просто имейте в виду, что у оборудования есть некоторые ограничения и открываются только меньшее количество приложений в системе одновременно.

Если вы должны использовать сразу столько приложений, попробуйте облегченную версию ubuntu, такую ​​как Lubuntu или Xubuntu. [ ! d3]

Этот ответ открыт, с возможностью поиска в Google «методов сокращения потребления памяти ubuntu».

1
задан 22 January 2017 в 17:14

1 ответ

Хотя я не могу найти никакой информации о macOS, это OMG! В статье Ubuntu есть интересная цитата от Марка Шаттлворта:

Что касается запуска Snaps в Windows 10? «Это абсолютно правдоподобно», - сказал Шаттлворт. «Snaps использует современные функции в ядре Linux для обеспечения безопасности, настройки доступа к файловой системе и т. Д., И все это связано с использованием современных механизмов в ядре. И Каноническое руководство много [этой работы]. [Microsoft]

Если это «правдоподобно», чтобы запустить его в Windows, я бы сказал то же самое для macOS, за исключением того, что Microsoft похоже, сотрудничает с Canonical, что я не слышал об Apple.

Документация на OMG! Ubuntu и запись в Arch Wiki на snapd являются информативными:

Из Arch Wiki:

Что касается запуска Snaps в Windows 10? «Это абсолютно правдоподобно», - сказал Шаттлворт.

Обратите внимание, что snap-confine построен с опцией --disable-confinement; полное ограничение связано с ядром, поддерживающим AppArmor, и связанным с ним профилем для привязки.

Под капотом запускает: Устанавливает различные переменные среды: [...] Когда аппаратное обеспечение назначается оснастке, настраивает устройство cgroup с устройствами по умолчанию (например, / dev / null, / dev / urandom и т. д.) и любыми устройствами, которые назначены этой привязке. Устанавливает частный / tmp, используя личное пространство имен для каждой команды для каждой команды и установку каталога для каждой команды на / tmp Устанавливает новый экземпляр devpts для каждого экземпляра. Устанавливает фильтр seccomp для команды. Выполняет команду в профиле приложения AppArmor по специальному значению по умолчанию.

«Snaps используют современные функции ядра Linux для обеспечения безопасности ограничение доступа к файловой системе и т. д., и все это связано с использованием современных механизмов в ядре. И Каноническое руководство много [этой работы]. [Microsoft]

Из политики:

Эта комбинация ограничительных профилей AppArmor (которые опосредуют доступ к файлам, выполнение приложений, возможности Linux (7), mount, ptrace, IPC, сигналы, крупнозернистая сеть), четко определенные области файловой системы, зависящие от конкретных приложений, фильтрация syscall whitelist через seccomp, private / tmp, новые экземпляры и группы устройств обеспечивает надежное удержание и изоляцию приложения.

Хотя AppArmor и seccomp являются только Linux, похоже, что ограничение может быть опциональным, поэтому мы можем игнорировать это. Затем используется использование devpts, cgroups и mount namespaces. Если есть какие-то блокировки, я думаю, что это будет для них. Я недостаточно знаком с BSD, чтобы сказать, что такое эквиваленты.

// -*- Mode: Go; indent-tabs-mode: t -*-
// +build !linux,!darwin,!freebsd

Приложение snapd само записывается в Go, что должно сделать его достаточно кросс-платформенным. Действительно, некоторые файлы имеют запись в Arch Wiki на snapd :

// -*- Mode: Go; indent-tabs-mode: t -*-
// +build darwin freebsd linux
// +build cgo

osutil/group_other.go:

9
ответ дан 23 May 2018 в 08:54

Другие вопросы по тегам:

Похожие вопросы: