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


209

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

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

Kann mir jemand dabei helfen?


5
Dies wird in letzter Zeit häufig vorkommen, da auf dem 18.04-Server Universum, Multiversum und Backports standardmäßig deaktiviert sind.
wjandrea

1
Gibt es ein Launchpad-Problem zur Verbesserung des hilfreichen Hinweises bei der Eingabe eines nicht installierten Befehls? (Nur angedeutet, dass es in einem Repository nicht aktiviert ist, wäre sehr hilfreich)
Thorbjørn Ravn Andersen

Das ist etwas, das ich sehr getroffen habe, wenn ich Container baue, normalerweise sowohl mit Docker als auch mit Singularity. In Singularity-Containern haben Sie verschiedene BootStrap-Optionen, darunter debootstrapund docker. Wenn ich aus irgendeinem Grund debootstrapmit einem Ubuntu-Basis-Image beginne (z. B. xenial), trete dieser Fehler auf, bei dem einige Pakete nicht gefunden werden können apt-get. Die Lösung besteht dockerletztendlich darin, zum BootStrap zu wechseln und dann wieder zu funktionieren.
user5359531

Dies stoppt meine Fortschritte in den letzten Tagen und ist nicht darauf zurückzuführen, dass Universum, Multiversum oder Backports deaktiviert sind, wie wjandrea vorschlägt.
Jackalope

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

Antworten:


155

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

  1. Gehen Sie mit einem Webbrowser zu packages.ubuntu.com .
  2. Scrolle runter zu "Paketverzeichnisse durchsuchen"
  3. Geben Sie das zu installierende Paket in das Feld "Keyword" ein.

    Aktivieren Sie "Nur exakte Übereinstimmungen anzeigen:"

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

    Bildbeschreibung hier eingeben

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

Wenn Ergebnisse gefunden werden , ist das Paket vorhanden und Sie können mit den folgenden Schritten fortfahren:

  1. Öffnen Sie Software-Quellen (oder Software & Updates ab 13.04.), Indem Sie im Dash danach suchen.
  2. Öffnen Sie die Registerkarte "Ubuntu Software".
  3. Stellen Sie sicher, dass die ersten 4 Kontrollkästchen auf dieser Registerkarte aktiviert sind:

    Bildbeschreibung hier eingeben

  4. Aktualisieren Sie die Paketlisten und testen Sie sie mit den folgenden Befehlen:

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

44
Ich fand, dass ein einfacher sudo apt-get updatewar genug, um es für mich zu beheben. Ihr Kilometerstand kann variieren.
Edward Falk

1
sudo apt-get updateFunktionierte auch für Ubuntu unter Windows 10 (dies ist wichtig, da die in der zweiten Hälfte dieser Antwort genannte Benutzeroberfläche auf diesem System nicht vorhanden ist).
James

1
Der Screenshot mit der Software und den Updates hat mich gerettet !!
Kalpesh Soni

Vergessen Sie nicht , suchen launchpad.net , wie gut!
Jonathan

1
Ich führe meinen Server über die Shell aus und kann keine GUIs öffnen. Kann man das nur mit der Kommandozeile lösen?
Ulysses Alves

81

Es gibt viele Fragen zu diesem Thema. Hier gebe ich eine grundlegende / allgemeine Antwort.

Wenn apt-get installein Paket nicht gefunden werden kann, wurde das zu installierende Paket nicht in den von Ihnen hinzugefügten Repositorys gefunden (die in /etc/apt/sources.listund unter /etc/apt/sources.list.d/).

Das folgende (allgemeine) Verfahren hilft dabei, dieses Problem zu lösen:

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

    So aktivieren Sie alle Repositories ( main, universe, restricted, multiverse), verwenden Sie die folgenden Befehle ein :

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

    Weitere Informationen finden Sie in der Hilfe .

  2. So finden Sie PPA für weitere Pakete:

  3. PPA hinzufügen (über die Befehlszeile) :

    Verwenden Sie diesen Befehl:

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

    Weitere Informationen finden Sie in der Hilfe der Ubuntu-Community .

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

    Dieser Befehl muss unbedingt ausgeführt werden, nachdem Repositorys geändert wurden:

    sudo apt-get update
    

    Die Auswahl des besten Download-Servers kann die Aktualisierung beschleunigen.

  5. Zum Schluss installieren Sie das Paket:

    sudo apt-get install <package>
    

    Siehe Paketverwaltung über die Befehlszeile .

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



Hinweis : Wenn das Paket auf keinen Fall im Repository verfügbar ist, müssen Sie warten, bis es verfügbar ist (bei neuen / aktualisierten Versionen) oder andere Installationsprozesse verwenden, als apt-getz. B. das Kompilieren aus dem Quellcode, das Herunterladen von ausführbaren Binärdateien usw.


3
Es könnte auch sein, dass der Benutzer sucht libname, wenn er sich libname2in Debian / Ubuntu befindet.
Saiarcot895

3
Erstens hängt es vom Paket ab und Sie machen eine Reihe von Annahmen. Zunächst nehmen Sie an, dass das OP den korrekten Paketnamen identifiziert hat, wie von saiarcot895 hervorgehoben. Zweitens gehen Sie davon aus, dass die Pakete verfügbar sind. Im Allgemeinen ist es am besten, zuerst das Problem zu identifizieren. Dann, wenn überhaupt möglich, von den Repositories installieren. Sofern kein spezifischer Bedarf besteht, ist ppa eine zweite Wahl. Befindet sich das Paket nicht in den Repositorys oder ppa, muss es möglicherweise aus dem Quellcode kompiliert werden. Sie haben wirklich nicht genug Informationen.
Panther

@ saiarcot895 @ bodhi.zazen: Überarbeitete Antwort mit Angabe des apt-cache searchkorrekten Paketnamens aus den Repositorys.
Pandya

ehrfürchtiger
antwortmann

9

xbmc ist nur im Universums-Repository verfügbar , erst seit Ubuntu 12.04 (präzise). Wenn Sie eine ältere Ubuntu-Version haben, müssen Sie ein Upgrade durchführen oder xbmc von einem anderen Ort herunterladen.

Wenn Sie Ubuntu 12.04 haben, stellen Sie sicher, dass Sie das Universums-Repository aktiviert haben . Sie können sehen, welche Repositorys Sie in der Datei /etc/apt/sources.list(und in Dateien im Verzeichnis /etc/apt/sources.list.d) aktiviert haben . Stellen Sie sicher, dass 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 wie finden

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

und keine Zeile mit universe, füge universeam Ende dieser Zeile hinzu oder eine separate Zeile mit precise universe, wie oben dargestellt.

Wenn Sie Änderungen vornehmen müssen /etc/apt/sources.list, führen Sie sie sudo apt-get updateanschließend aus und versuchen Sie es erneut. Wenn das Paket immer noch nicht gefunden wird, posten Sie den vollständigen Inhalt /etc/apt/sources.listund die Ausgabe von sudo apt-get update.


@EliahKagan Ich hätte nicht gedacht, dass meine Antwort so interpretiert werden kann, versuchte ich zu klären. Warum nicht alund zw? (Ich versuche, einen geeigneten Spiegel für das OP auszuwählen, wenn sie einen Hinweis geben, aber hier habe ich keine Ahnung.)
Gilles

5

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

  1. Wenn Sie Ubuntu nach der Installation nicht aktualisieren und anschließend Upgrades durchführen, kann dies vorkommen.
  2. Stellen Sie sicher, dass alle wichtigen Sicherheitsupdates / empfohlenen Updates deaktiviert sind, wenn es in Zukunft genügend Softwareupdates gibt, indem Sie auf + " Update Manager " eingeben .AltF2
  3. Problem eins und zwei können auch nach dem Aktualisieren oder Löschen aller Aktualisierungen auftreten. Aber die ewige Lösung ist: Versuch Punkt 1 & 2, dann tippe sudo apt-get killmanager, wenn es nicht funktioniert, gehe zu tippen sudo apt-get update, dann tippe sudo apt-get upgrade.

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


Wenn in der Zeile "sudo apt-get update" weiterhin eine Fehlermeldung angezeigt wird, versuchen Sie, "sudo apt-get upgrade" zu verwenden. Das wird funktionieren. Leute !! Da Linux die Groß- und Kleinschreibung beachtet, stellen Sie bitte sicher, dass Sie alle Befehle in kleineren Buchstaben wie "sudo" anstelle von "Sudo"
Shaan Sundar

5

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.6
E: Couldn't find any package by regex 'libstdc++.so.6'

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

Sie können apt-filenach dem Paket suchen, das diese Datei enthält. Geben Sie zum Installieren Folgendes 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. In diesem 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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.