¿Las instantáneas comparten bibliotecas?

¿Las instantáneas comparten bibliotecas?

Tengo una gran pregunta con respecto a las instantáneas. ¿Está compartiendo bibliotecas? La razón por la que pregunto es porque esa fue una de las cosas que más me impresionó al comenzar con ubuntu, que era compartir librerías, y por ende ahorra espacio en el disco. ¿Los snaps todavía hacen esto? ¿O estoy totalmente equivocado acerca de apt?

Respuesta1

No hay garantía ni con snaps ni con apt/dpkg de que la aplicación que está utilizando dependa de bibliotecas compartidas en todo el sistema, para cada dependencia que tengan.

Dependiendo de cómo se construye un complemento, es posible que utilice algunas bibliotecas compartidas con otros complementos (el complemento principal incluye libc y libstdc++, por ejemplo), pero ninguna dirección es tan simple como podría parecer, cuando se trata de estabilidad, seguridad. y garantizar que los usuarios obtengan las últimas funciones de las aplicaciones.

Respuesta2

Para el estado actual de mi sistema:

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)$ 

Este comando responderá a su pregunta para MI sistema, en este momento:

find /snap -type f -executable | \
  xargs file |\
  grep ELF |\
  cut -d: -f1 |\
  xargs -n 1 ldd |\
  grep /snap
  1. Úselo findpara buscar todos los archivos "ejecutables" en /snap.

  2. Pregunte file: ¿los archivos son scripts o ejecutables o qué?

  3. Sólo nos preocupamos por los archivos "ELF", ya que son los que usan bibliotecas compartidas.

  4. filegenera el nombre del archivo, dos puntos, algunos espacios en blanco y la descripción. Todo lo que quiero es el nombre del archivo.

  5. Luego uso xargspara alimentar los nombres de archivos, uno a la vez ( -n 1) para lddenumerar las bibliotecas dinámicas utilizadas por cada ejecutable ELF.

  6. ¿Hay alguna de las bibliotecas en /snap?

    Nada de lo que veo (aparte de "¿qué pasa si el otro complemento que contiene la biblioteca no está instalado?") lo impide,

información relacionada