Lançamento do sistema de pacotes autossuficientes Flatpak 1.8.0

Publicado nova ramificação estável do kit de ferramentas Flatpack 1.8, que fornece um sistema para construir pacotes independentes que não estão vinculados a distribuições específicas do Linux e são executados em um contêiner especial que isola o aplicativo do resto do sistema. O suporte para execução de pacotes Flatpak é fornecido para Arch Linux, CentOS, Debian, Fedora, Gentoo, Mageia, Linux Mint e Ubuntu. Os pacotes Flatpak estão incluídos no repositório Fedora e são suportados pelo gerenciador de aplicativos nativo do GNOME.

Chave inovações na ramificação Flatpak 1.8:

  • A implementação da instalação em modo P2P foi simplificada (permite organizar o carregamento de aplicativos e conjuntos de tempo de execução através de nós intermediários ou drives para sistemas sem conexão de rede). O suporte para instalação através de hosts intermediários na rede local foi descontinuado. Por padrão, o sideload automático de repositórios localizados em unidades USB locais está desabilitado. Para ativar repositórios locais intermediários, você deve configurar o repositório criando um link simbólico em /var/lib/flatpak/sideload-repos ou
    /run/flatpak/sideload-repos.conf A mudança simplificou a implementação interna do modo P2P e aumentou sua eficiência.

  • Adicionada unidade systemd opcional para detectar automaticamente repositórios adicionais em unidades USB externas conectadas.
  • Para aplicativos que possuem acesso ao sistema de arquivos, o diretório /lib do ambiente host é encaminhado para /run/host/lib.
  • Novas permissões de acesso ao FS foram adicionadas - “host-etc” e “host-os”, permitindo acesso aos diretórios do sistema /etc e /usr.
  • Para gerar código de análise de arquivo mais eficiente, GVariant de ostreee é usado compilador de esquema de variante.
  • O configure build crypt fornece a capacidade de construir sem
    libsistemad;

  • Habilitada a montagem de soquetes do Journal no modo somente leitura.
  • Adicionado suporte para exportação de diretórios para exportação de documentos.
  • Permite acesso direto aos dispositivos de áudio ALSA para aplicativos que têm acesso ao Pulseaudio.
  • Na API Transação Flatpak adicionou um sinal "instalar autenticador" que pode ser usado pelos clientes para instalar os autenticadores necessários para concluir uma transação.
  • Habilitou o uso de informações de fuso horário com base em /etc/localtime do sistema host, o que resolveu problemas relacionados ao fuso horário em alguns aplicativos.
  • Parou de instalar o arquivo env.d do gdm porque os geradores systemd são melhores nesta tarefa.
  • O utilitário create-usb tem a exportação de commit parcial habilitada por padrão.
  • O arquivo sysusers.d foi fornecido para criar os usuários necessários via systemd.
  • A opção “-[no-]follow-redirect” foi adicionada aos comandos “flatpak remote-add” e “flatpak modificar” para desabilitar/habilitar o redirecionamento para outro repositório.
  • No sistema
    portais Adicionada API Spawn para obter o ID do processo real (PID) do aplicativo em execução.

  • Todos os repositórios OCI (Open Container Initiative) foram convertidos para usar o autenticador flatpak-oci-authenticator.
  • Adicionada a opção “--commit=” aos comandos “flatpak remote-info” e “flatpak update” para definir uma versão específica dos repositórios OCI.
  • Adicionado suporte inicial para atualizações delta para repositórios OCI.
  • Adicionado o comando "flatpak upgrade", que é um alias para o comando "flatpak update".
  • Implementados scripts de conclusão de entrada para o shell de comando fish.

Lembramos que o Flatpak permite que os desenvolvedores de aplicativos simplifiquem a distribuição de seus programas que não estão incluídos nos repositórios de distribuição padrão, Treinamento um contêiner universal sem criar montagens separadas para cada distribuição. Para usuários preocupados com a segurança, o Flatpak permite executar um aplicativo questionável em um contêiner, fornecendo acesso apenas às funções de rede e aos arquivos do usuário associados ao aplicativo. Para usuários interessados ​​em novos produtos, o Flatpak permite instalar os testes mais recentes e versões estáveis ​​de aplicativos sem a necessidade de fazer alterações no sistema. Por exemplo, atualmente os pacotes Flatpak já estão vai para LibreOffice, Midori, GIMP, Inkscape, Kdenlive, Steam, 0 AD, Visual Studio Code, VLC, Slack, Skype, Telegram Desktop, Android Studio, etc.

Para reduzir o tamanho do pacote, ele inclui apenas dependências específicas do aplicativo, e as bibliotecas básicas de sistema e gráficos (bibliotecas Gtk+, Qt, GNOME e KDE, etc.) são projetadas como ambientes de tempo de execução padrão de plug-in. A principal diferença entre Flatpak e Snap é que o Snap usa os componentes do ambiente principal do sistema e o isolamento baseado na filtragem de chamadas do sistema, enquanto o Flatpak cria um contêiner separado do sistema e opera com grandes conjuntos de tempo de execução, fornecendo não pacotes como dependências, mas padrão alguns ambientes de sistema (por exemplo, todas as bibliotecas necessárias para a operação de programas GNOME ou KDE).

Além do ambiente de sistema padrão (runtime), instalado através de um sistema especial repositório, são fornecidas dependências adicionais (pacote) necessárias para o funcionamento do aplicativo. No total, runtime e bundle formam o preenchimento do container, apesar do runtime ser instalado separadamente e vinculado a vários containers ao mesmo tempo, o que permite evitar a duplicação de arquivos de sistema comuns aos containers. Um sistema pode ter vários tempos de execução diferentes instalados (GNOME, KDE) ou várias versões do mesmo tempo de execução (GNOME 3.26, GNOME 3.28). Um contêiner com um aplicativo como dependência usa uma ligação apenas para um tempo de execução específico, sem levar em consideração os pacotes individuais que compõem o tempo de execução. Todos os elementos ausentes são empacotados diretamente com o aplicativo. Quando um contêiner é formado, o conteúdo do tempo de execução é montado como a partição /usr e o pacote configurável é montado no diretório /app.

O preenchimento dos contêineres de tempo de execução e aplicação é formado por meio de tecnologia OSTree, no qual a imagem é atualizada atomicamente a partir de um repositório semelhante ao Git, permitindo que métodos de controle de versão sejam aplicados aos componentes da distribuição (por exemplo, você pode reverter rapidamente o sistema para um estado anterior). 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 dentro do ambiente de trabalho não são suportadas; o sistema é atualizado não no nível de componentes individuais, mas como um todo, alterando atomicamente seu estado. Fornece ferramentas para aplicar atualizações de forma incremental, eliminando a necessidade de substituir completamente a imagem a cada atualização.

O ambiente isolado gerado é totalmente independente da distribuição utilizada e, com as devidas configurações de pacote, não tem acesso aos arquivos e processos do usuário ou do sistema principal, não pode acessar diretamente o equipamento, com exceção da saída via DRI, e o subsistema de rede. Saída gráfica e organização de entrada implementado usando o protocolo Wayland ou via encaminhamento de soquete X11. A interação com o ambiente externo é baseada no sistema de mensagens DBus e em uma API especial de Portais. Para isolamento usado intercamada bubblewrap e tecnologias tradicionais de virtualização de contêineres Linux baseadas no uso de cgroups, namespaces, Seccomp e SELinux. PulseAudio é usado para emitir som.

Fonte: opennet.ru

Adicionar um comentário