O que é o AppStream? Por que está instalado? O que isso está fazendo?

22

outra pergunta sobre o AppStream que - para melhor ou para pior - focou no que parece ser um bug específico no AppStream, mas que me fez perceber que não tenho idéia do que realmente é essa coisa .

man appstreamcli (o aplicativo retira a CPU do fundo do poço) lança algum jargão técnico na confusão:

O appstreamcli é uma pequena ferramenta auxiliar para trabalhar com os metadados do AppStream e acessar o índice do componente AppStream na linha de comando. O índice de componentes do AppStream contém uma lista de todos os componentes de software disponíveis para sua distribuição, correspondentes aos nomes dos pacotes. É gerado usando dados AppStream XML ou Debian DEP-11, fornecidos pelo seu distribuidor.

Então ... Para que serve realmente? Todos os desktops (e seus gerenciadores de pacotes relacionados) o usam?

Com tudo o que eu realmente quero dizer: o que vai quebrar quando eu arrancar isso com os dentes?

Oli
fonte
1
Eu corro um servidor Ubuntu 16.04 perfeitamente bem sem ele.
21416 Jos
3
A menos que você queira um gosto amargo na boca, considere usar suas garras.
muru 20/05
E não é em Lubuntu e, penso eu, em Ubuntu Companheiro
Justiça para Monica

Respostas:

18

A página do projeto AppStream adiciona um pouco mais de jargão, mas diz:

Ele fornece a base para a criação de aplicativos do centro de software, fornecendo os metadados necessários para uma visão centrada no aplicativo nos repositórios de pacotes. O AppStream também fornece especificações para coisas como um banco de dados de metadados de software unificado, serviços de captura de tela e várias outras coisas necessárias para criar centros de aplicativos fáceis de usar para distribuições (Linux).

Portanto, é basicamente isso que os novos centros de software estão usando para obter seus dados, em vez de diretamente do Apt. appstreamcli refresh(o que as pessoas estão pirando em usar toda a CPU) é o processo executado após um apt updatepara regenerar seus próprios dados. Como mencionado na pergunta, parece haver um erro aqui.

Você pode ver o que precisa com base nas dependências reversas:

$ apt rdepends appstream
appstream
Reverse Depends:
  Breaks: libapt-pkg5.0 (<< 0.9.0-3~)
  Depends: plasma-discover
  Depends: plasma-discover
  Depends: gnome-software
  Depends: plasma-discover
  Depends: isenkram-cli
  Recommends: check-all-the-things
  Depends: appstream-index (>= 0.9.4-1)
  Recommends: libappstreamqt1 (>= 0.9.4-1)
  Suggests: appstream-doc
  Depends: gnome-software

Então, no nível básico, para responder "O que quebrará [...]?", ^^ essas coisas.

As ferramentas de software do Gnome e do KDE dependem disso hoje. Mais pode no futuro. A maioria desses gerenciadores de pacotes indiretos é apenas " recommends" portanto, se você usar apenas aptferramentas que usem apenas a biblioteca de pacotes do Apt diretamente (demais para listar), você poderá se livrar dele sem remover todo o ambiente da área de trabalho .

Você pode simular uma remoção com apt -s remove appstream:

$ apt -s remove appstream
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.5-2.dmz.4-liquorix-amd64 linux-headers-4.5-3.dmz.1-liquorix-amd64 linux-image-4.5-2.dmz.4-liquorix-amd64
  linux-image-4.5-3.dmz.1-liquorix-amd64
Use 'apt autoremove' to remove them.
The following packages will be REMOVED
  appstream muon-discover plasma-discover
0 to upgrade, 0 to newly install, 3 to remove and 80 not to upgrade.
Remv muon-discover [4:5.6.4+p16.04+git20160517.1518-0]
Remv plasma-discover [5.6.4+p16.04+git20160517.1518-0]
Remv appstream [0.9.4-1]

Isso está no KDE, então não assuma nada disso. Parece bastante seguro.


Atualizar:

A execução apt -s remove appstreamno Kubuntu 18.04 é um pouco diferente:

Remv plasma-discover [5.12.6-0ubuntu0.1]
Remv apt-config-icons-large-hidpi [0.12.0-3ubuntu1]
Remv apt-config-icons-large [0.12.0-3ubuntu1]
Remv apt-config-icons [0.12.0-3ubuntu1] [apt-config-icons-hidpi:amd64 ]
Remv appstream [0.12.0-3ubuntu1] [apt-config-icons-hidpi:amd64 ]
Remv apt-config-icons-hidpi [0.12.0-3ubuntu1]
Oli
fonte