GNU/Linux >> Znalost Linux >  >> Ubuntu

Zbavte se chyby „snapd vrátil stavový kód 400:Bad Request“ v Ubuntu

Stručný:Rychlý tutoriál, který vám ukáže, jak opravit chybu „snapd vrátil stavový kód 400:Bad Request“, ke které došlo při instalaci aplikací z Centra softwaru.

Zkoušel jsem nainstalovat Visual Studio Code, jeden z nejlepších editorů open source kódu, který překvapivě pochází od Microsoftu. O způsobech instalace Visual Studio Code na Ubuntu jsem psal dříve, ale od té doby je k dispozici v Centru softwaru. Proto jsem se jej pokusil nainstalovat odtud.

K mému překvapení mě po stisknutí tlačítka instalace přivítala chyba.

Chyba zní:

Je nám líto, toto nefungovalo
Instalace kódu Visual Studio se nezdařila.

A podrobnosti o chybě byly následující:

Následují podrobné chyby ze správce balíčků:
Snapd vrátil stavový kód 400:Chybný požadavek

Nemám rád hloupé chyby, ale rád je opravuji nebo v takových případech chyby obcházím. Pokud se potýkáte s podobným problémem, pak se s vámi podělím o důvod máte tuto chybu a jak byste mohli nainstalovat aplikaci, která tuto chybu vyvolala.

Zbavte se „snapd vrátil stavový kód 400:Bad Request“

Pokud dáváte přednost videím, můžete se na toto video podívat na YouTube kanálu It's FOSS.

Přihlaste se k odběru kanálu YouTube pro další videa o Linuxu

Pojďme se podívat, jak nainstalovat aplikaci, která zobrazuje výše zmíněnou chybu. Řešením je použít příkazový řádek. Použití těchto příkazů není příliš složité. Postupujte podle pokynů.

Pokud jste četli mého průvodce používáním příkazů snap v Ubuntu, víte, že můžeme použít možnost find k vyhledání dostupných balíčků snap s daným názvem. V mém případě jsem se snažil nainstalovat Visual Studio Code, abych mohl hledat buď „kód vizuálního studia“ nebo jednoduše „vizuální“.

Uvědomte si, že pokud název programu obsahuje více než jedno slovo, seskupte je do uvozovek:

snap find "visual studio code"

Jak můžete vidět na výstupu příkazu, systém má Visual Studio Code verze 1.18 k dispozici v klasickém režimu. Co je tento klasický režim, vysvětlím v další části. Měli byste si také povšimnout přesný název balíčku. Je to vscode for Visual Studio Code.

Nyní použijte příkaz následujícím způsobem k instalaci balíčku snap:

sudo snap install vscode --classic

Zadejte své heslo a uvidíte, že aplikace byla nainstalována. Nyní můžete aplikaci používat jako jakýkoli běžný software ve vašem systému.

Nyní, když jste viděli, jak „opravit“ tuto chybu, můžete přejít přímo do sekce komentářů a rychle poděkovat. Doporučuji však zůstat se mnou a přečíst si v další části se dozvíte něco málo o snapech a jejich klasickém režimu.

Důvod chyby „snapd vrátil stavový kód 400:Chybný požadavek“

Nevím, kolik toho víte o linuxových obalech, takže bych se vám pokusil vysvětlit základy.

Možná víte, že různé distribuce Linuxu mají svůj vlastní systém balíčků. Balíčky .deb si můžete stáhnout v distribucích Linuxu založených na Debianu a Ubuntu, ale Fedora bude používat své vlastní balíčky .rpm a tak dále. Podle návrhu není možné používat balíčky Debianu na Fedoře a naopak.

Univerzální balíčky byly zavedeny, aby se vyhnuly závislosti na distribucích. Ubuntu spustilo svůj vlastní univerzální balíčkovací systém nazvaný Snap. Umožňuje vám používat tyto aplikace zabalené Snap na jakékoli distribuci Linuxu s podporou Snapu, nikoli pouze Ubuntu.

Problém je v tom, že aplikace, kterou jste se pokusili nainstalovat, je ve skutečnosti balíček Snap. Proto chyba zobrazuje snapd což je zkratka pro snap daemon.

Klasické aplikace Snap v Centru softwaru nefungují

Pomineme-li historii, mohli byste a měli byste se zeptat, zda balení Snap pochází z Ubuntu, jak to, že nefunguje v jeho Centru softwaru?

Odpovědí je změna v designu balení Snap. Původně se balíčky snap instalují a montují v přísně kontrolovaném prostoru. Nemají přístup k velké většině systémových prostředků a sdružují knihovny, které potřebují, a mají souborový systém pouze pro čtení. Tomu se říká „přísná“ politika omezení a zajišťují bezpečnější prostředí.

S vydáním snapd 2.20 však Ubuntu zavedlo novou politiku omezení nazvanou Classic. Aplikace v klasickém režimu mají přístup ke zbytku systému stejně jako většina starších balených aplikací, jako jsou balíčky Debianu.

Balíčky Snap, které používají klasickou zásadu omezení, nejsou bohužel centrem softwaru podporovány. Chcete-li takové aplikace Snap nainstalovat, budete muset přejít přes možnost příkazového řádku.

Fungovalo to pro vás?

Doufám, že vám tento rychlý tip pomohl problém vyřešit a také jste se něco dozvěděli o balíčcích snap. Máte-li dotazy nebo návrhy, použijte prosím sekci komentářů níže.

P>

Ubuntu
  1. Recenze Ubuntu Unity 21.10

  2. Špatný 3D výkon v Ubuntu 12.04?

  3. Jak se zbavit liché chybové čáry, když se Alt+tab oddaluje od Emacsu spuštěného v terminálu?

  1. Jak vyřešit „Podproces /usr/bin/dpkg vrátil kód chyby (1)“ v Ubuntu

  2. Balíček Dpkg Předinstalační skript Dílčí proces vrácen Chyba Stav ukončení 2 Dne 18.04?

  3. Balíček oprav Poinstalační skript Podproces se vrátil Chyba Stav ukončení 10 Pro Libpaper1:amd64?

  1. Jak se zbavit zpoždění myši v Ubuntu?

  2. Po čisté instalaci Ubuntu 14.04 se mi zobrazuje chyba podepsaná Shim?

  3. Získat software Ubuntu na Kubuntu 16.04?