Warum kann apt den Quellcode eines Pakets nicht finden?

8

Ich versuche, den Quellcode bestimmter Pakete, z. B. Rhythmbox, zu Lernzwecken herunterzuladen. Ich möchte dies apt-getmit dem apt-get sourceBefehl erledigen .

Aus irgendeinem Grund apt-getscheint kein Paket zu finden . Ich habe mehrere Pakete ausprobiert und erhalte immer wieder diese Ausgabe von apt-get:

$ apt-get source rhythmbox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to find a source package for rhythmbox

Ich habe schon seit einiger Zeit nach Antworten gesucht, aber ich kann niemanden mit dem gleichen Problem finden. apt-getfunktioniert gut mit der Installation und Aktualisierung, apt-getfunktioniert also meiner Meinung nach gut. Während der Suche habe ich auch erfahren, dass ich die 'Quellcode-Repositorys' in Softwarequellen aktivieren musste, damit dies auch aktiviert ist.

Ich bin mir der Tatsache bewusst, dass (möglicherweise nur für bestimmte Pakete, nicht sicher) Quellpakete auch bzrvon Launchpad heruntergeladen werden können , aber ich möchte wissen, warum diese Methode nicht funktioniert.

Muurverf
quelle

Antworten:

7

Öffnen Sie das Software Center und wählen Sie Bearbeiten -> Softwarequellen. Welchen Server benutzt du? Ich benutze "Server and United States" und habe gerade die Quelle für Rhythmbox heruntergeladen. Ich bin auf Präzise.

GaryBishop
quelle
Vielen Dank für Ihre Antwort! Es stellte sich heraus, dass ich den falschen Server verwendete. Ich habe den Server aus den Niederlanden benutzt. In die USA gewechselt und jetzt funktioniert es! :) Vielen Dank!
Muurverf
Ich habe es noch nicht ausprobiert ... Übrigens, wo ist der Quellcode auf dem Computer gespeichert ... oder erscheint er in dem Verzeichnis, in dem Sie den Befehl ausgeführt haben?
juggernauthk108
In dem Verzeichnis, in dem Sie den Befehl ausführen, wie ich mich vage erinnere.
GaryBishop
6

apt-get source rhythmbox Funktioniert nur, wenn Sie die Quell-Repositorys aktiviert, Ihre Paketliste aktualisiert und dieses Repository tatsächlich in Ihren Quellen haben.

Wenn Sie beispielsweise eine normale Ubuntu-Installation installiert und keine passenden Repos hinzugefügt haben. Dann müssen Sie nur noch sicherstellen, dass "Quellcode" überprüft wird. Wenn Sie zusätzliche Repos hinzugefügt haben, müssen Sie für jedes Repo zwei Einträge haben. Eine für "main" (normalerweise) und eine für "source".

Auch nur für den Fall, dass Sie nicht haben. Führen Sie apt-get updateerneut aus, um alle neuen Repos zu erhalten.

Jetzt installiert apt-get source source für genau das Paket, das Sie installiert haben. Dies bedeutet, dass, wenn Sie das Deb von some-odd-ppa (main) installiert haben, die Quelle in some-odd-ppa (source) sein muss. Von some-odd-ppa installierte Pakete ziehen keine Quelle aus anderen Repositorys, da es sich nicht um dieselbe Version handelt.

Ich habe überprüft und Rhythmbox ist über Quell-Repositories verfügbar. Sie haben einfach nicht das richtige Quell-Repository in Ihre apt-Repos aufgenommen oder das apt-get-Update noch nicht ausgeführt.

coteyr
quelle
Vielen Dank für Ihre Antwort! Es stellte sich heraus, dass ich den falschen Server verwendete.
Muurverf