Como um usuário lista o tamanho de cada pacote snap instalado no Ubuntu 20.04? O objetivo é obter uma visão geral do espaço em disco utilizado por cada pacote snap instalado. O comando snap list
não faz isso. Além disso, o aplicativo Disk Usage Analyzer
não pôde mostrar mais do que /var/lib/snapd/snaps
.
Todos os
snap
pacotes são armazenados em/var/lib/snapd/snaps/
. Este diretório contém todas as revisões e nomes dossnap
pacotes. Você pode executarls
no diretório para listar todos os pacotes de snap. Usar o-lh
argumento withls
lhe dará uma saída mais detalhada junto com o tamanho dos pacotes (e cada uma de suas revisões). Assim, você pode executar o seguinte comando para listar todos ossnap
pacotes junto com seu tamanho instalado:Alternativamente, você pode usar o
du
comando com-hcs
argumento para listar o tamanho de todos os pacotes instalados:snap list
limitaçõesNo momento da escrita, julho de 2022,
snap list
o comando realmente não suporta a configuração de colunas que produziria, é um comportamento codificado: https://github.com/snapcore/snapd/blob/293c48dc2b97f141d1bc35d5ea91c2e3484f01fd/cmd/snap/cmd_list.goUsando a API de snap
No entanto, de acordo com a documentação oficial, https://snapcraft.io/docs/using-the-api , o snap daemon (
snapd
) expõe sua API via soquete unix em/run/snapd.socket
.O ponto de
/snaps
extremidade ( https://snapcraft.io/docs/snapd-api#heading--snaps ) retorna informações legíveis por máquina (JSON) sobre todos os snaps instalados.E inclui
"installed-size"
propriedade também.Conforme sugerido na página de ajuda mencionada anteriormente ( https://snapcraft.io/docs/using-the-api#heading--accessing ), você pode obter essas informações emitindo o seguinte comando
Você pode processar e analisar esses dados usando qualquer ferramenta que desejar, seja
jq
,python
ou qualquer outra coisa.Exemplo de listagem do tamanho de cada snap instalado
Exemplo em dados do meu sistema, com
ruby
3.0.1.Comando (shell):
Resultado:
A saída geral corresponde à de
snap list --all
.Podemos ver que todos esses snaps estão localizados em um diretório (padrão).
E correndo
retornaria valores próximos.
Conclusão
Podemos ver então que a abordagem de medir o espaço ocupado por entradas de
/var/lib/snapd/snaps
diretório, sugerida em uma resposta já aceita, não estava errada, como evidenciado pelos dados da API e explicação oficial encontrada em https://snapcraft.io/docs/system -snap-diretório .