Ich kann nicht herausfinden, was mit Roslaunch nicht stimmt

Ich kann nicht herausfinden, was mit Roslaunch nicht stimmt

Ich weiß mit Sicherheit, dass ich ROS (mit der Distribution Melodic) ordnungsgemäß auf meinem WSL installiert habe und dass ich JEDEN Schritt befolgt habe, um das vollständige Paket ordnungsgemäß herunterzuladen, aber die Verwendung der Befehlszeile Roslaunch oder irgendetwas im Zusammenhang mit Roslaunch würde mich nur zurück zu dieser Meldung führen

Command 'roslaunch' not found, but can be installed with:

sudo apt install python-roslaunch

wenn ich die Befehlszeile eingebe

sudo apt install python-roslaunch

es würde mich dann führen zu

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-roslaunch : Depends: python-roslib but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

und die Installation von python-roslib würde zu einem weiteren Fehler führen, der dem oben genannten ähnelt. Ich habe alles versucht. Von der Neuinstallation bis zum Anfassen der gefundenen Dateien im Rootf-Verzeichnis, aber bisher hat nichts funktioniert. Alles, was mir zumindest helfen könnte, herauszufinden, was falsch ist, wäre willkommen.

Antwort1

$ sudo apt-get update 
$ sudo apt-get upgrade

$ sudo apt-get update --fix-missing

$ sudo apt-get autoclean

$ apt-get clear cache

Antwort2

Dies sind einige schnelle und einfache Möglichkeiten, den you have held broken packagesFehler zu beheben.

  • Öffnen Sie Ihre Datei „sources.list“ in /etc/apt/sources.listund prüfen Sie, ob es keine Softwarequellen für eine andere Ubuntu-Version als die von Ihnen aktuell verwendete Ubuntu-Version gibt. Wenn Sie in „sources.list“ falsche Release-Zeilen finden, öffnen Sie die Datei „sources.list“ mit sudoedit /etc/apt/sources.list, kommentieren Sie die falschen Zeilen in „sources.list“ aus, indem Sie ihnen ein #Zeichen voranstellen, speichern Sie die Datei „sources.list“ und führen Sie „aus“, sudo apt updateum die Liste der verfügbaren Softwarepakete zu aktualisieren.

  • Wähle ausBeschädigte Pakete reparierenOption im Synaptic-Paketmanager. Führen Sie die folgenden Befehle aus, um Synaptic zu installieren.

      sudo apt update  
      sudo apt upgrade   
      sudo apt install synaptic  
    

    Öffnen Sie Synaptic und wählen Sie in SynapticBearbeiten->Beschädigte Pakete reparierenund dann wiederholenBearbeiten->Beschädigte Pakete reparierenein zweites Mal.

    Klicken Sie in Synaptic im linken Bereich auf dasBenutzerdefinierte FilterSchaltfläche, die im folgenden Screenshot durch den Mauszeiger markiert ist. Wählen Sie aus der Liste in der oberen linken EckeGebrochenIm mittleren Bereich werden alle defekten Pakete aufgelistet, die noch repariert werden müssen.

defekte Pakete in Synaptic anzeigen

Select the broken packages one at a time. Select a broken package, and then open the terminal and run <code>apt policy <b>&lt;package-name&gt;</b></code>. The results of this command will tell you if that broken package was installed from the default Ubuntu repositories or from some other source. If the broken package was installed from some other source, maybe that package can be removed along with its software source and replaced by a different version of the same package from the default Ubuntu repositories. Usually this means fixing a broken package by downgrading that package to an older version.
  • Wenn Sie diese Fehlermeldung erhalten:

      Try 'apt-get -f install' with no packages (or specify a solution)  
    

    Führen Sie die folgenden Befehle aus:

      sudo apt update  
      sudo apt upgrade   
      sudo apt-get -f install   
    
  • Entfernen Sie ein beschädigtes Paket manuell.

  1. Finden Sie Ihr Paket in/var/lib/dpkg/info

         ls -l /var/lib/dpkg/info | grep <package>
    
  2. Verschieben Sie den Paketordner an einen anderen Speicherort.

         cd /tmp && sudo mkdir new-package-location  
         sudo mv /var/lib/dpkg/info/<package>.* /tmp/new-package-location/    
    
  3. Führen Sie den folgenden Befehl aus:

         sudo dpkg --remove --force-remove-reinstreq <package>  
    

Wenn alle diese Methoden nicht funktionieren, ist es möglich, dass die beschädigten Pakete durch etwas verursacht werden, das so tief im Betriebssystem eingebettet ist, dass keine dieser Methoden darauf Auswirkungen hat. Der erste offensichtliche Ort, an dem man nach diesem tief eingebetteten „Etwas“ suchen kann, sind die Softwarequellen in /etc/apt/sources.list. Überprüfen Sie die Datei „sources.list“, um zu sehen, ob sie nicht standardmäßige Zeilen enthält, die einen Fehler bei beschädigten Paketen verursachen könnten. Eine standardmäßige Ubuntu-Datei „sources.list“ sieht aus wie die „sources.list“-Dateien indiese Antwort.

Die korrekte Methode zum Entfernen einer verdächtigen Zeile aus der Datei „sources.list“ besteht darin, sie durch Voranstellen eines Zeichens auskommentieren #. Führen Sie dann „Aus“, sudo apt updateum die Liste der verfügbaren Software zu aktualisieren.

verwandte Informationen