Livre-se do código de status 'snapd retornado 400: Erro de solicitação inválida' no Ubuntu

10 de janeiro de 2018

Tutorial rápido para mostrar como obter a correção snapd retornou o código de status 400: Erro de solicitação inválida encontrado ao instalar aplicativos do Centro de software.

Eu estava tentando instalar o Visual Studio Code, um dos melhores editores de código-fonte aberto que surpreendentemente vem da Microsoft. Eu escrevi sobre maneiras de instalar o Visual Studio Code no Ubuntu anteriormente, mas desde então ele está disponível no Software Center. Portanto, tentei instalá-lo a partir daí.

Para minha surpresa, fui recebido com um erro ao clicar no botão de instalação.

snapd retornou o código de status 400: Solicitação incorreta

O erro leu:

Desculpe, isso não funcionou Falha na instalação do Visual Studio Code. E os detalhes do erro foram estes:

Erros detalhados do gerenciador de pacotes a seguir: snapd retornou o código de status 400: Bad Request Não gosto de erros bobos, mas gosto de corrigi-los ou, em casos como esse, contornar os erros. Se você estiver enfrentando um problema semelhante, vou compartilhar com você por que você obteve esse erro e como você pode instalar o aplicativo que gerou esse erro.

Livre-se do 'snapd retornou código de status 400: Solicitação inválida'

Se preferir vídeos, você pode assistir a este vídeo no canal da It’s FOSS no YouTube.

Inscreva-se no canal do YouTube para mais vídeos sobre Linux

Vamos ver como instalar um aplicativo que mostra o erro mencionado acima. A solução alternativa aqui é usar a linha de comando. Não é muito complicado usar esses comandos. Basta seguir as instruções.

Se você leu meu guia para usar comandos snap no Ubuntu, você sabe que podemos usar a opção find para pesquisar pacotes snap disponíveis com um determinado nome. No meu caso, estava tentando instalar o Visual Studio Code para poder pesquisar o código do Visual Studio ou simplesmente o visual.

Observe que, se o nome do programa tiver mais de uma palavra, agrupe-as entre aspas:

Comandos para usar no terminal

snap find "visual studio code"

Encontrar pacote de snap no Ubuntu

Como você pode ver na saída do comando, o sistema possui o Visual Studio Code versão 1.18 disponível no modo Clássico. Vou explicar o que é esse modo clássico na próxima seção. Você também deve anotar o nome exato do pacote. É vscode para Visual Studio Code.

Agora use o comando da seguinte maneira para instalar o pacote snap:

Comandos para usar no terminal

sudo snap install vscode --classic

Digite sua senha e você verá que o aplicativo foi instalado. Agora você pode usar o aplicativo como qualquer software normal em seu sistema.

Agora que você viu como 'consertar' esse erro de snapd, pode pular direto para a seção de comentários para um rápido agradecimento. Porém, recomendo que você fique comigo e leia a próxima seção para saber um pouco sobre os encaixes e seu modo clássico.

Motivo por trás do 'snapd retornou código de status 400: Erro de solicitação'

Não sei o quanto você sabe sobre empacotamento do Linux aqui, então eu tentaria explicar o básico para você.

Você deve saber que várias distribuições Linux têm seu próprio sistema de empacotamento. Você pode baixar pacotes .deb em distribuições Linux baseadas em Debian e Ubuntu, mas o Fedora usará seus próprios pacotes .rpm e assim por diante. Por design, não é possível usar pacotes Debian no Fedora e vice-versa.

Pacotes universais foram introduzidos para evitar a dependência das distribuições. Ubuntu lançou seu próprio sistema de empacotamento universal chamado Snap. Ele permite que você use esses aplicativos empacotados do Snap em qualquer distribuição Linux compatível com o Snap, não apenas no Ubuntu.

O problema aqui é que o aplicativo que você tentou instalar é, na verdade, um pacote Snap. É por isso que o erro mostra snapd que significa snap daemon.

Aplicativos Classic Snap não funcionam no Software Center

História à parte, você poderia e deveria perguntar se o empacotamento do Snap é do Ubuntu, por que não está funcionando no seu Centro de Software?

A resposta é a mudança no design das embalagens Snap. Originalmente, os pacotes instantâneos são instalados e montados em um espaço rigidamente controlado. Eles não têm acesso à grande maioria dos recursos do sistema e agrupam as bibliotecas de que precisam e têm um sistema de arquivos somente leitura. Isso é chamado de política de confinamento 'estrita' e eles garantem um ambiente mais seguro.

No entanto, com o lançamento do snapd 2.20, o Ubuntu introduziu uma nova política de confinamento chamada Classic. Os aplicativos no modo clássico têm acesso ao resto do sistema da mesma forma que a maioria dos aplicativos em pacotes legados, como os pacotes Debian.

Infelizmente, os pacotes Snap que usam a política de confinamento Classic não são suportados pelo Software Center. Você terá que usar a opção de linha de comando para instalar esses aplicativos Snap.

Isso funcionou para você?

Espero que esta dica rápida tenha ajudado a corrigir o problema e que você também tenha aprendido algumas coisas sobre os pacotes snap. Se você tiver dúvidas ou sugestões, use a seção de comentários abaixo.

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Abhishek Prakash e publicado no site itsfoss.com. Tradução sujeita a revisão.

Get Rid of ‘snapd returned status code 400: Bad Request’ Error in Ubuntu

Propaganda
Blog Comments powered by Disqus.
Propaganda