Versão estável publicada de pacotes independentes Flatpak 1.10.0



Boas notícias segunda-feira,% username%. Recentemente, o ramo estável do kit de ferramentas Flatpak 1.10 foi publicado . Ele é projetado para construir pacotes autocontidos que não estão vinculados a distribuições Linux específicas e são executados em um contêiner especial que isola o aplicativo do sistema.



Os flatpacks têm garantia de funcionamento para Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint, Alt Linux e Ubuntu. Eles também fazem parte do repositório Fedora e são suportados pelo software de gerenciamento de aplicativos GNOME. Sob o corte - mais sobre o novo produto e seus recursos.



O que é Flatpak?



Este kit de ferramentas permite que os desenvolvedores simplifiquem a distribuição de seus próprios programas que não estão incluídos nos repositórios de distribuição padrão. Como isso é implementado? Um recipiente universal está sendo preparado sem formar conjuntos separados para cada kit de distribuição.



O kit de ferramentas também fornece um alto nível de segurança da informação, permitindo que um aplicativo questionável seja executado em um contêiner isolado. Nesse caso, o acesso é concedido apenas às funções da rede e aos arquivos do usuário associados ao aplicativo. Além disso, com o Flatpak, você pode instalar os últimos lançamentos de aplicativos sem a necessidade de alterações no sistema. Assim, os pacotes Flatpak estão sendo preparados para LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio e dezenas de outros aplicativos.



Para reduzir o tamanho do pacote, os desenvolvedores incluíram apenas dependências específicas do aplicativo. Mas todas as bibliotecas principais são projetadas como aplicativos de tempo de execução de plug-in. O Flatpack tem uma diferença fundamental do Snap - o último usa componentes do ambiente do sistema e isolamento com base na filtragem syscall. Mas o Flatpack cria um contêiner separado do sistema, operando com grandes conjuntos de tempo de execução, para que não sejam fornecidos pacotes como dependências, mas ambientes de sistema típicos. Podem ser quaisquer bibliotecas que os programas GNOME / KDE precisem para rodar.



Quanto ao ambiente de sistema típico, além do tempo de execução, são instaladas dependências adicionais necessárias para que o aplicativo funcione corretamente. O ambiente do sistema principal e essas dependências formam o núcleo do contêiner. Assim, o tempo de execução é instalado separadamente e se liga a vários contêineres de uma vez. Isso torna possível fazer sem a duplicação de arquivos de sistema comuns aos contêineres.



Vários tempos de execução diferentes ou várias versões do mesmo tempo de execução podem ser instalados no mesmo sistema. O contêiner com o aplicativo como dependência usa a vinculação a um tempo de execução específico sem levar em consideração os pacotes individuais que compõem o tempo de execução. Os itens ausentes são empacotados com o aplicativo. Quando o contêiner é formado, o conteúdo do tempo de execução é montado como a seção / usr e o pacote é montado no diretório / app.



O enchimento de contêineres de tempo de execução e aplicativos é formado usando a tecnologia OSTree. Nesse caso, a imagem é atualizada a partir de um repositório semelhante ao Git. Isso é feito para que os métodos de controle de versão possam ser aplicados aos componentes da distribuição. Por exemplo, um usuário pode reverter o sistema para um estado anterior. Vale ressaltar que os pacotes RPM são traduzidos para o repositório OSTree usando uma camada especial rpm-ostree.



A instalação e atualização separadas de pacotes no ambiente de trabalho não são suportadas, portanto, o sistema é atualizado como um todo e não no nível de componentes individuais. Também existem ferramentas para aplicação incremental de atualizações, o que elimina a necessidade de substituir completamente a imagem a cada atualização.



O ambiente em área restrita é independente da distribuição que você está usando. Portanto, com as configurações de pacote apropriadas, o ambiente não tem acesso aos arquivos e processos do usuário ou do sistema host. Além disso, o ambiente não pode acessar diretamente o equipamento e o subsistema de rede. O protocolo Wayland e o encaminhamento de soquete X11 são usados ​​para saída e entrada de gráficos. A interação com o ambiente externo é construída com base no sistema de mensagens DBus e na API especial de Portals.



Para isolamento, a camada Bubblewrap e as tecnologias de virtualização de contêiner padrão são usadas. Eles são baseados em cgroups, namespaces, Seccomp e SELinux. O som é emitido usando o PulseAudio. O isolamento pode ser desligado, se necessário.



O que há de novo?



  • , , . OSTree. , . , . , , , 100 . , Flatpack . , 6.6 (1.8 ), x86-64 — 2.7 (554 ). 20 .
  • «flatpak pin» runtime. runtime, , .
  • runtime ( ).
  • , , "/org/gnome/sound-juicer", «org.gnome.SoundJuicer».
  • os-release .
  • tcsh.
  • , .
  • .
  • API, flatpak_installation_list_pinned_refs, flatpak_transaction_set_disable_auto_pin, flatpak_transaction_set_include_unused_uninstall_ops, flatpak_transaction_operation_get_subpaths, flatpak_transaction_operation_get_requires_authentication.
  • GCC 11.
  • PulseAudio .
  • , . , - , .
  • root .





All Articles