Como adicionar uma biblioteca existente ao núcleo de snap do Ubuntu?

1

Sou totalmente novato no snap . Desculpas se esta questão é trivial.

Estou experimentando efeitos colaterais indesejados ao tentar usar snap em um sistema Ubuntu ligeiramente customizado.

Minha pequena personalização é:

Para substituir o malloc padrão por libjemalloc (melhor desempenho, funciona bem, nunca encontrei um problema), eu tenho isso em /etc/ld.so.preload

#--override the system malloc--#
/usr/lib/x86_64-linux-gnu/libjemalloc.so

Compreensivelmente, libjemalloc.so não está incluído no pacote do snap core do ubuntu.

O que leva aos seguintes efeitos colaterais ao tentar usar snap :

$ snap list
Name         Version  Rev  Developer  Notes
core         16.04.1  888  canonical  -
hello        2.10     20   canonical  -

$ /snap/bin/hello
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libjemalloc.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libjemalloc.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libjemalloc.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Hello, world!

Perguntas:

  • Por que o ERRO é repetido 3 vezes? Isso é um bug?
  • Por que o sistema snap tenta herdar esse pré-carregamento. Os contêineres não devem ser autônomos e isolados do ambiente de usuário-terra do chamador? Isso é um bug?
  • Qual é a maneira mais fácil de adicionar libjemalloc.so ao snap principal, preferencialmente como uma sobreposição que não inclua todo o núcleo?
por arielf 31.01.2017 / 00:54

0 respostas