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
Úselo
find
para buscar todos los archivos "ejecutables" en/snap
.Pregunte
file
: ¿los archivos son scripts o ejecutables o qué?Sólo nos preocupamos por los archivos "ELF", ya que son los que usan bibliotecas compartidas.
file
genera el nombre del archivo, dos puntos, algunos espacios en blanco y la descripción. Todo lo que quiero es el nombre del archivo.Luego uso
xargs
para alimentar los nombres de archivos, uno a la vez (-n 1
) paraldd
enumerar las bibliotecas dinámicas utilizadas por cada ejecutable ELF.¿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,