"Impossibile trovare il pacchetto" durante il tentativo di installare pacchetti con APT


209

Quando provo a installare qualsiasi pacchetto tramite la riga di comando, viene visualizzato un errore.

$ sudo apt-get install <package>
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package <package>

Qualcuno può aiutarmi in questo?


5
Questo sta arrivando molto di recente perché il server 18.04 ha universo, multiverso e backport disabilitati per impostazione predefinita.
wjandrea,

1
Esiste un problema di launchpad per migliorare il suggerimento utile fornito quando si immette un comando non installato? (Solo suggerire che si trova in un repository non abilitato sarebbe molto utile)
Thorbjørn Ravn Andersen

Questo è qualcosa che colpisco molto quando costruisco container, di solito sia con Docker che con Singularity. Nei contenitori Singularity hai diverse opzioni BootStrap, tra cui essere debootstrape docker. Per qualche motivo, se uso debootstrapper iniziare con un'immagine di base di Ubuntu (ad es. xenial), Visualizzo questo errore in cui non è possibile trovare alcuni pacchetti apt-get. La soluzione finisce per passare a dockerBootStrap, quindi funziona di nuovo.
user5359531

Questo sta bloccando i miei progressi negli ultimi due giorni, e non è dovuto alla disabilitazione di universi, multiverso o backport, come suggerisce wjandrea.
Jackalope,

@Jackalope Quindi forse il nome del pacchetto non è corretto o è necessario eseguirlo sudo apt update. Utilizzare apt-cache searchseguito da un termine di ricerca per cercare il nome del pacchetto corretto.
mchid

Risposte:


156

Innanzitutto, controlla se il pacchetto esiste effettivamente:

  1. Vai a pacchetti.ubuntu.com con un browser web.
  2. Scorri verso il basso fino a "Cerca nelle directory dei pacchetti"
  3. Inserisci il pacchetto che stai tentando di installare nel campo "Parola chiave".

    Abilita "Mostra solo corrispondenze esatte:"

    Cambia la "Distribuzione" con la versione di Ubuntu che stai utilizzando.

    inserisci qui la descrizione dell'immagine

Se non ci sono risultati , il pacchetto che stai cercando non esiste e i passaggi successivi non funzioneranno. Potrebbe essere necessario un PPA di terze parti o un metodo di installazione alternativo.

Se vengono trovati risultati , il pacchetto esiste e puoi continuare con questi passaggi:

  1. Apri Sorgenti software (o software e aggiornamenti in 13.04+) cercandolo nella Dash.
  2. Apri la scheda "Software Ubuntu".
  3. Assicurarsi che le prime 4 caselle di controllo in questa scheda siano abilitate:

    inserisci qui la descrizione dell'immagine

  4. Aggiorna gli elenchi dei pacchetti, quindi prova con questi comandi:

    sudo apt-get update
    sudo apt-get install <TEST_PACKAGE>
    

44
Ho scoperto che un semplice sudo apt-get updateera abbastanza per risolverlo per me. Il tuo chilometraggio può variare.
Edward Falk,

1
sudo apt-get updateha funzionato anche per me su Ubuntu su Windows 10 (questo è importante perché l'interfaccia utente a cui fa riferimento la seconda metà di questa risposta non esiste su quel sistema).
James

1
lo screenshot del software e degli aggiornamenti mi ha salvato !!
Kalpesh Soni,

Non dimenticare di cercare anche launchpad.net !
Jonathan,

1
Sto eseguendo il mio server dalla shell e non riesco ad aprire le GUI. È possibile risolverlo solo con la riga di comando?
Ulisse Alves

82

Ci sono molte domande su questo argomento. Qui fornisco una risposta di base / generale.

Quando apt-get installnon è possibile individuare un pacchetto, il pacchetto che si desidera installare non è stato trovato nei repository aggiunti (quelli dentro /etc/apt/sources.liste sotto /etc/apt/sources.list.d/).

La seguente procedura (generale) aiuta a risolvere questo problema:

  1. Assicurati di aver abilitato i repository Ubuntu:

    Per abilitare tutti i repository ( main, universe, restricted, multiverse), utilizzare i seguenti comandi:

    sudo add-apt-repository main
    sudo add-apt-repository universe
    sudo add-apt-repository restricted
    sudo add-apt-repository multiverse
    

    Visita la Guida per ulteriori informazioni.

  2. Per trovare PPA per più pacchetti:

  3. Aggiungi PPA (dalla riga di comando) :

    Usa questo comando:

    sudo add-apt-repository ppa:<repository-name>
    

    Visita la guida della community di Ubuntu per ulteriori informazioni.

  4. Non dimenticare di aggiornare (rendi apt consapevole delle tue modifiche):

    È essenziale eseguire questo comando dopo aver modificato i repository:

    sudo apt-get update
    

    La selezione del miglior server di download può aiutare ad accelerare l'aggiornamento.

  5. Finalmente installa il pacchetto:

    sudo apt-get install <package>
    

    Consultare Gestione dei pacchetti dalla riga di comando .

    Ulteriori / Suggerimento : è possibile trovare il nome del pacchetto corretto (ovvero il nome nel repository) utilizzando apt-cache search <package-name>.



Nota : se il pacchetto non è disponibile sul repository in alcun modo, è necessario attendere fino a quando non è disponibile (nel caso di versioni nuove / aggiornate) o utilizzare altri processi di installazione diversi apt-getdalla compilazione dal sorgente, dal download di file binari eseguibili, ecc.


3
Potrebbe anche essere che l'utente stia cercando libname, quando è libname2in Debian / Ubuntu.
saiarcot895,

3
Innanzitutto, dipende dal pacchetto e si stanno formando una serie di ipotesi. Innanzitutto, si presuppone che l'OP abbia identificato il nome del pacchetto corretto, come sottolineato da saiarcot895. Secondo, si presuppone che i pacchetti siano disponibili. In generale, è meglio prima identificare il problema. Quindi, se possibile, installare dai repository. A meno che non vi sia un'esigenza specifica, ppa è una seconda scelta. Se il pacchetto non si trova nei repository o in ppa, potrebbe essere necessario compilarlo dall'origine. Davvero non hai abbastanza informazioni.
Pantera,

@ saiarcot895 @ bodhi.zazen: risposta rivista con la fornitura apt-cache searchdi trovare il nome pacchetto corretto dai repository.
Pandya,

risposta fantastica amico, uno che dovrebbe essere il vincitore
sdream

9

xbmc è disponibile solo nel repository universe , solo da Ubuntu 12.04 (preciso). Se hai una versione precedente di Ubuntu, dovrai aggiornare o ottenere xbmc da un'altra posizione.

Se hai Ubuntu 12.04, assicurati di aver attivato il repository universe . Puoi vedere quali repository hai abilitato nel file /etc/apt/sources.list(e nei file nella directory /etc/apt/sources.list.d). Controlla che questo file contenga una linea simile

deb http://al.archive.ubuntu.com/ubuntu/ precise universe

o

deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

Se trovi solo una linea come

deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted

e nessuna linea con universe, aggiungi universealla fine di quella linea, o una linea separata con precise universe, come illustrato sopra.

Se è necessario modificare /etc/apt/sources.list, eseguire in sudo apt-get updateseguito, quindi riprovare a installare. Se il pacchetto non viene ancora trovato, pubblica il contenuto completo /etc/apt/sources.liste l'output di sudo apt-get update.


@EliahKagan Non pensavo che la mia risposta potesse essere interpretata in quel modo, ho cercato di chiarire. Perché no ale zw? (Cerco di selezionare un mirror appropriato per l'OP quando danno un indizio, ma qui non ne ho idea.)
Gilles

5

Sono nuovo di Ubuntu ma sto scrivendo questo come ho scoperto alcune soluzioni per evitare questo errore "Impossibile trovare il pacchetto". Esistono tre circostanze in cui ciò potrebbe verificarsi a uno shock.

  1. Dopo aver installato Ubuntu se non lo aggiorni seguito da Aggiornamenti, questo potrebbe accadere.
  2. Se in futuro si verificano numerosi aggiornamenti software, assicurarsi che tutti gli aggiornamenti di sicurezza / aggiornamenti consigliati siano disattivati ​​digitando " Gestione aggiornamenti " premendo Alt+ F2.
  3. I problemi Uno e Due possono verificarsi anche dopo aver aggiornato o cancellato tutti gli aggiornamenti. Ma la soluzione eterna è: prova i punti 1 e 2, quindi digita sudo apt-get killmanager, se non funziona nessun problema procedi con la digitazione sudo apt-get update, quindi digita sudo apt-get upgrade.

Ora dovresti essere in grado di installare qualsiasi software tramite Terminal.


Se ricevi ancora errori sulla riga "sudo apt-get update", prova a utilizzare "sudo apt-get upgrade". Funzionerà .. Ragazzi !! Poiché Linux è estremamente sensibile al maiuscolo / minuscolo, assicurati di utilizzare tutti i comandi in lettere più piccole come "sudo" anziché "Sudo"
Shaan Sundar,

5

Nel caso in cui abbia tentato di installare un file:

sudo apt-get install libstdc++.so.6

invece di un pacchetto. Viene visualizzato il messaggio di errore:

E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

perché hai provato a installare un file libstdc++.so.6che non puoi installare, perché si trova in un pacchetto debian.

È possibile utilizzare apt-fileper cercare il pacchetto che contiene quel file. Per installarlo, digitare:

sudo apt-get install apt-file

Quindi devi aggiornare l'indice.

sudo apt-file update

Successivamente, è possibile cercare il pacchetto che contiene il file libstdc++.so.6:

sudo apt-file find libstdc++.so.6

Quindi trovi molti pacchetti che contengono il file cercato. Per questo esempio ho incollato solo un risultato di ricerca:

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

Quindi è possibile installare il pacchetto necessario libstdc++6:

sudo apt-get install libstdc++6
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.