GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Sbarazzarsi di "codice di stato restituito snapd 400:errore di richiesta errata" in Ubuntu

Breve:tutorial rapido per mostrare come correggere l'errore "snapd restituito stato codice 400:richiesta errata" riscontrato durante l'installazione di applicazioni da Software Center.

Stavo cercando di installare Visual Studio Code, uno dei migliori editor di codice open source che sorprendentemente proviene da Microsoft. In precedenza ho scritto sui modi per installare Visual Studio Code su Ubuntu, ma da allora era disponibile nel Software Center, quindi ho provato a installarlo da lì.

Con mia sorpresa, sono stato accolto da un errore quando ho premuto il pulsante di installazione.

L'errore ha letto:

Spiacenti, non ha funzionato
Installazione di Visual Studio Code non riuscita.

E i dettagli dell'errore erano questi:

Seguono errori dettagliati dal gestore dei pacchetti:
Snapd ha restituito il codice di stato 400:richiesta non valida

Non mi piacciono gli errori stupidi ma mi piace correggerli o, in casi come questi, aggirare gli errori. Se stai affrontando un problema simile, condividerò con te il motivo hai ricevuto questo errore e come hai potuto installare l'applicazione che ha generato questo errore.

Sbarazzarsi di 'snapd ha restituito il codice di stato 400:richiesta errata'

Se preferisci i video, puoi guardare questo video sul canale YouTube di It's FOSS.

Iscriviti al canale YouTube per altri video Linux

Vediamo come installare un'applicazione che mostra l'errore sopra menzionato. La soluzione alternativa qui è usare la riga di comando. Non è molto complicato usare questi comandi. Basta seguire le istruzioni.

Se hai letto la mia guida all'uso dei comandi snap in Ubuntu, sai che possiamo usare l'opzione trova per cercare i pacchetti snap disponibili con un determinato nome. Nel mio caso, stavo provando per installare Visual Studio Code in modo da poter cercare "codice di Visual Studio" o semplicemente "visual".

Nota che se il nome del programma contiene più di una parola, raggruppale insieme tra virgolette:

snap find "visual studio code"

Come puoi vedere nell'output del comando, il sistema ha Visual Studio Code versione 1.18 disponibile in modalità classica. Spiegherò cos'è questa modalità classica nella prossima sezione. Dovresti anche notare il nome esatto del pacchetto. È vscode per Visual Studio Code.

Ora usa il comando nel modo seguente per installare il pacchetto snap:

sudo snap install vscode --classic

Inserisci la tua password e vedrai che l'applicazione è stata installata. Ora puoi utilizzare l'applicazione come qualsiasi normale software nel tuo sistema.

Ora che hai visto come 'correggere' questo errore, puoi passare direttamente alla sezione commenti per ringraziarti velocemente. Tuttavia, ti consiglio di rimanere con me e leggere il sezione successiva per conoscere un po' gli snap e la sua modalità classica.

Motivo dietro l'errore 'snapd ha restituito il codice di stato 400:richiesta errata'

Non so quanto ne sai di pacchetti di Linux qui, quindi proverei a spiegarti le basi.

Potresti sapere che varie distribuzioni Linux hanno il proprio sistema di pacchettizzazione. Puoi scaricare pacchetti .deb su distribuzioni Linux basate su Debian e Ubuntu, ma Fedora utilizzerà i propri pacchetti .rpm e così via. In base alla progettazione, non è possibile utilizzare i pacchetti Debian su Fedora e viceversa.

Sono stati introdotti pacchetti universali per evitare la dipendenza dalle distribuzioni. Ubuntu ha lanciato il suo sistema di pacchetti universale chiamato Snap. Ti consente di utilizzare queste applicazioni in pacchetti Snap su qualsiasi distribuzione Linux supportata da Snap, non solo Ubuntu.

Il problema qui è che l'applicazione che hai tentato di installare è in realtà un pacchetto Snap. Questo è il motivo per cui l'errore mostra snapd che sta per snap daemon.

Le applicazioni Snap classiche non funzionano in Software Center

Storia a parte, potresti e dovresti chiedere se il packaging di Snap proviene da Ubuntu, come mai non funziona nel suo Software Center?

La risposta è il cambiamento nel design della confezione Snap. Originariamente, i pacchetti snap venivano installati e montati in uno spazio strettamente controllato. Non hanno accesso alla stragrande maggioranza delle risorse di sistema e raggruppano le librerie di cui hanno bisogno e dispongono di un file system di sola lettura. Questo è chiamato criterio di confinamento "rigoroso" e garantiscono un ambiente più sicuro.

Tuttavia, con il rilascio di snapd 2.20, Ubuntu ha introdotto una nuova politica di confinamento chiamata Classic. Le app in modalità classica hanno accesso al resto del sistema come la maggior parte delle app preesistenti come i pacchetti Debian.

Purtroppo, i pacchetti Snap che utilizzano la politica di confinamento Classic non sono supportati dal Software Center. Dovrai utilizzare l'opzione della riga di comando per installare tali app Snap.

Ha funzionato per te?

Spero che questo suggerimento rapido ti abbia aiutato a risolvere il problema e che tu abbia anche imparato una o due cose sui pacchetti snap. Se hai domande o suggerimenti, usa la sezione commenti qui sotto.



Ubuntu
  1. Cattive prestazioni 3d in Ubuntu 12.04?

  2. Come sbarazzarsi di una riga di errore dispari quando si esegue Alt+tab lontano da un Emacs avviato nel terminale?

  3. Dopo l'installazione pulita di Ubuntu 14.04 ottengo un errore firmato da Shim?

  4. Pacchetto Dpkg Preinstallazione Script Sottoprocesso restituito Errore Stato di uscita 2 Il 18.04?

  5. Ubuntu 15.04 Linux 4.0 Errore Python durante l'aggiornamento, il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)?

Come installare Skype su Ubuntu 20.04

Risolto il problema con "Il sottoprocesso /usr/bin/dpkg ha restituito un codice di errore (1)" in Ubuntu

Codice di installazione::Blocchi su Ubuntu 20.04

Sbarazzarsi della finestra di dialogo di conferma dell'arresto in Ubuntu

Come risolvere "il processo secondario usr bin dpkg ha restituito un codice di errore 1″ Errore in Ubuntu

Installazione di FFmpeg su Ubuntu