"Paket konnte nicht gefunden werden" beim Versuch, Pakete mit APT zu installieren

Wenn ich versuche, ein Paket über die Befehlszeile zu installieren, wird eine Fehlermeldung angezeigt.

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

Kann mir jemand dabei helfen?

Überprüfen Sie zunächst, ob das Paket tatsächlich existiert:

  1. Gehe zu packages.ubuntu.com mit einem Webbrowser.
  2. Scrollen Sie nach unten zu "Paketverzeichnisse durchsuchen"
  3. Geben Sie das Paket, das Sie installieren möchten, in das Feld "Schlüsselwort" ein.

    Aktivieren Sie "Nur genaue Übereinstimmungen anzeigen:"

    Ändern Sie die "Distribution" in die von Ihnen verwendete Ubuntu-Version.

    enter image description here

Wenn es keine Ergebnisse, das gesuchte Paket existiert nicht und die nächsten Schritte funktionieren nicht. Möglicherweise ist eine PPA eines Drittanbieters oder eine alternative Installationsmethode erforderlich.

Wenn Suchergebnisse gefunden werden, das Paket existiert und Sie können mit diesen Schritten fortfahren:

  1. Öffnen Software-Quellen (oder Software und Aktualisierungen in 13.04+), indem Sie im Bindestrich danach suchen.
  2. Öffnen Sie die Registerkarte "Ubuntu-Software".
  3. Stellen Sie sicher, dass die ersten 4 Kontrollkästchen auf dieser Registerkarte aktiviert sind:

    enter image description here

  4. Aktualisieren Sie die Paketlisten und testen Sie dann mit diesen Befehlen:

    sudo apt-get updatesudo apt-get installieren <TESTPAKET>

Es gibt viele Fragestellungen über dieses Thema. Hier gebe ich eine grundlegende / allgemeine Antwort.

Wenn apt-get install kann ein Paket nicht finden, das Paket, das Sie installieren möchten, konnte nicht in Repositorys gefunden werden, die Sie hinzugefügt haben (die in /etc/apt/sources.list und unter /etc/apt/sources.list.d/).

Das folgende (allgemeine) Verfahren hilft, dies zu lösen:

  1. Stellen Sie sicher, dass Sie Ubuntu-Repositorys aktiviert haben:

    Um alle Repositorys zu aktivieren (main, universe, restricted, multiverse), verwenden Sie die folgenden Befehle:

    sudo add-apt-repository mainsudo add-apt-repository universesudo add-apt-repository restrictedsudo add-apt-repository multiverse  

    Besuchen Helfen für weitere Informationen.

  2. Um PPA für weitere Pakete zu finden:

    • Gehe zu Ubuntu-Paketsuche. (Bereits erläutert in dieser Antwort)
    • Wenn das Paket, das Sie nicht finden können, von einem PPA stammt, gehen Sie zum PPA und prüfen Sie, ob es dort für Ihre Veröffentlichung verfügbar ist.
    • Für externe Repositorys besuchen Sie Ubuntu-Aktualisierungen und Suche nachscreen Schaltfläche. oder besuchenPPAs.
    • Oder suchen Sie in Launchpad ppa
    • Passende ppa finden entsprechend Ihrer Ubuntu-Release-Version.
  3. PPA hinzufügen (über die Befehlszeile):

    Verwenden Sie diesen Befehl:

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

    Besuchen Hilfe zur Ubuntu-Community für weitere Informationen.

  4. Vergiss nicht zu aktualisieren (machen Sie apt auf Ihre Änderungen aufmerksam):

    Es ist wichtig, diesen Befehl nach dem Ändern von Repositorys auszuführen:

    sudo apt-get update

    Wählen bester Downloadserver kann helfen, das Update zu beschleunigen.

  5. Installieren Sie schließlich das Paket:

    sudo apt-get install <package>

    Siehe Paketverwaltung über Kommandozeile.

Zusatz /Tipp: Sie können den richtigen Paketnamen (dh den Namen im Repository) mit finden apt-cache search <package-name>.


  • Verwandte häufig gestellte Fragen und Antworten:
  1. Wie löse ich unerfüllte Abhängigkeiten nach dem Hinzufügen einer PPA?
  2. Was bedeutet "Paket <Paket> hat keinen Installationskandidaten"?

Beachten: Wenn das Paket im Repository nicht verfügbar ist, müssen Sie warten, bis es verfügbar ist (bei neuen / aktualisierten Versionen) oder andere Installationsprozesse als verwenden apt-get zB Kompilieren aus dem Quellcode, Herunterladen ausführbarer Binärdateien usw.

xbmcs ist nur in der universe repository, erst seit Ubuntu 12.04 (precise). Wenn Sie eine ältere Version von Ubuntu haben, müssen Sie ein Upgrade durchführen oder xbmc von einem anderen Ort beziehen.

Wenn Sie Ubuntu 12.04 haben, stellen Sie sicher, dass Sie das Universum eingeschaltet.. Sie können sehen, welche Repositorys Sie in der Datei aktiviert haben /etc/apt/sources.list (und in Dateien im Verzeichnis /etc/apt/sources.list.d). Überprüfen Sie, ob diese Datei eine Zeile wie enthält

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

oder

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

Wenn Sie nur eine Zeile finden wie

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

und keine Linie mit universe, hinzufügen universe am Ende dieser Zeile oder einer separaten Zeile mit precise universe, wie oben dargestellt.

Wenn sie ändern müssen /etc/apt/sources.list, laufen sudo apt-get update versuchen Sie anschließend erneut, die Installation durchzuführen. Wenn das Paket immer noch nicht gefunden wird, posten Sie den vollständigen Inhalt von /etc/apt/sources.list und die Ausgabe von sudo apt-get update.

In dem Fall, in dem versucht wurde, eine Datei zu installieren:

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

anstelle eines Pakets. Sie erhalten die Fehlermeldung:

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

weil Sie versucht haben, eine Datei zu installieren libstdc++.so.6 das können Sie nicht installieren, da es sich in einem Debian-Paket befindet.

Sie können verwenden apt-file um nach dem Paket zu suchen, das diese Datei enthält. Um es zu installieren, geben Sie ein:

sudo apt-get install apt-file

Dann müssen Sie den Index aktualisieren.

sudo apt-file update

Danach können Sie nach dem Paket suchen, das die Datei enthält libstdc++.so.6:

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

Dann finden Sie viele Pakete, die die gesuchte Datei enthalten. Für dieses Beispiel füge ich nur ein Suchergebnis ein:

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

Dann können Sie das benötigte Paket installieren libstdc++6:

sudo apt-get install libstdc++6

Ich bin neu in Ubuntu, aber ich schreibe dies, da ich einige Lösungen gefunden habe, um diese Fehler "Paket kann nicht gefunden werden" zu vermeiden. Es gibt drei Umstände, unter denen dies zu einem Schock führen kann.

  1. Nach der Installation von Ubuntu kann dies auftreten, wenn Sie es nicht aktualisieren, gefolgt von Upgrades.
  2. Wenn in Zukunft viele Softwareupdates auftreten, stellen Sie sicher, dass alle wichtigen Sicherheitsupdates / empfohlenen Updates deaktiviert sind, indem Sie "eingebenAktualisierungs-Manager" beim Pressen Alt+F2.
  3. Problem eins und zwei können auch nach dem Aktualisieren oder Löschen aller Updates auftreten. Aber die ewige Lösung ist: Versuchen Sie Punkt 1 & 2, dann geben Sie ein sudo apt-get killmanager, wenn es nicht funktioniert, kein Problem, fahren Sie mit der Eingabe fort sudo apt-get update, dann tippen Sie sudo apt-get upgrade.

Jetzt sollten Sie in der Lage sein, jede Software über das Terminal zu installieren.

Frische Ubuntu-Installation?

Oft reicht es aus, nur die Paketlisten aus allen Repositorys und PPAs zu aktualisieren:

sudo apt-get update

Dies sollte der sein erst was zu tun ist.

Wenn dies nicht funktioniert, müssen Sie nach dem Repository oder PPA suchen, das das gesuchte Paket enthält, es hinzufügen und ausführen sudo apt-get update wieder. Die Schritte für den Prozess werden in den anderen Antworten auf dieser Seite gut erklärt.

Dies kommt in letzter Zeit häufig vor, da auf dem 18.04-Server Universe, Multiverse und Backports standardmäßig deaktiviert sind.

Gibt es ein Launchpad-Problem, um den hilfreichen Hinweis bei der Eingabe eines nicht installierten Befehls zu verbessern? (Es wäre sehr hilfreich, nur anzudeuten, dass es sich in einem nicht aktivierten Repository befindet.)

@Jackalope Dann ist vielleicht der Paketname falsch oder Sie müssen `sudo apt update’ ausführen. Verwenden Sie ‘apt-cache search’ gefolgt von einem Suchbegriff, um nach dem richtigen Paketnamen zu suchen.

Dies ist etwas, das ich beim Erstellen von Containern häufig treffe, normalerweise sowohl mit Docker als auch mit Singularity. In Singularity-Containern haben Sie verschiedene BootStrap-Optionen, darunter ‘debootstrapunddocker’. Wenn ich debootstrap verwende, um mit einem Ubuntu-Basisimage (z. B. xenial) zu beginnen, tritt aus irgendeinem Grund dieser Fehler auf, bei dem einige Pakete mit apt-get nicht gefunden werden können. Die Lösung besteht darin, zum Docker-BootStrap zu wechseln, dann funktioniert es wieder.

Dies stoppt meinen Fortschritt in den letzten Tagen und liegt nicht daran, dass Universum, Multiversum oder Backports deaktiviert sind, wie wjandrea vorschlägt.

Ich habe diese Dinge getan. Ich habe den Namen des Pakets (libsdl2-2.0-0) dreifach überprüft und die Verfügbarkeit mit der apt-Cache-Suche überprüft. Ich konnte dieses Paket schließlich installieren, indem ich die Dokumente installierte, die das Paket anscheinend als Abhängigkeit installiert haben.