Совместно ли Snaps использует библиотеки?

Совместно ли Snaps использует библиотеки?

У меня есть один большой вопрос по поводу snaps. Он делится библиотеками? Причина, по которой я спрашиваю, в том, что это было одной из вещей, которая меня так впечатлила, когда я начал работать с ubuntu, что он делится библиотеками, и, следовательно, экономит место на диске. Snaps все еще делает это? Или я полностью ошибаюсь насчет apt?

решение1

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

В зависимости от того, как построен snap, он может использовать некоторые библиотеки, общие с другими snap (например, core snap включает libc и libstdc++), но ни одно из направлений не так просто, как может показаться, когда речь идет о стабильности, безопасности и обеспечении пользователей новейшими функциями в приложениях.

решение2

Текущее состояние моей системы:

walt@bat:~(0)$ lsb_release -a;snap list
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:    16.04
Codename:   xenial
Name                 Version    Rev   Tracking  Publisher           Notes
bw                   1.8.0      13    stable    bitwarden✓          -
core                 16-2.42.1  8039  stable    canonical✓          core
large-pcap-analyzer  3.6.0      97    stable    francesco-montorsi  -
mpv                  0.26.0     1     beta      casept              -
mpv-casept           0.24.0     2     stable    casept              disabled
walt@bat:~(0)$ 

Эта команда ответит на ваш вопрос относительно МОЕЙ системы на данный момент:

find /snap -type f -executable | \
  xargs file |\
  grep ELF |\
  cut -d: -f1 |\
  xargs -n 1 ldd |\
  grep /snap
  1. Используйте findдля поиска всех «исполняемых» файлов в формате /snap.

  2. Спросите file- это файлы скриптов или исполняемых файлов или что?

  3. Нас интересуют только файлы «ELF», поскольку именно они используют общие библиотеки.

  4. fileвыводит имя файла, двоеточие, несколько пробелов и описание. Все, что мне нужно, это имя файла.

  5. Затем я использую xargsфункцию для ввода имен файлов по одному за раз ( -n 1), чтобы lddсоставить список динамических библиотек, используемых каждым исполняемым файлом ELF.

  6. Есть ли какие-нибудь библиотеки в /snap?

    Ничто, что я вижу (кроме «а что, если другой snap, содержащий библиотеку, не установлен?»), этому не препятствует,

Связанный контент