Ich habe versucht, ein Paket für das Robotic Operational System (ROS) zu installieren. Und ich gehe einfach weiter und tippe sudo apt-get install <package>
ein
Nach der Installation sehe ich eine Liste von Dateien in /opt/share
Ordner, das sind die Pakete, die ich will.
Aber wenn ich in src
gehe , der Quellcode (.cpp-Dateien) ist nicht vorhanden.
Ich kann den Quellcode sehen, wenn ich auf die Github-Seiten des Entwicklers gehe, aber wie kommt es, dass das Paket installiert wird, ohne den Quellcode zu verwenden? Wie kann ich den Quellcode herunterladen und das Paket mit apt-get install
installieren? Befehl?
Akzeptierte Antwort:
Standardmäßig apt-get install
lädt die Quellcodes von Paketen nicht herunter. Es gibt ein spezielles apt-get
Option, um das zu tun, was source
ist .
Von man apt-get
:
source
source veranlasst apt-get, Quellpakete abzurufen. APT untersucht die verfügbaren Pakete, um zu entscheiden, welches Quellpaket
abgerufen werden soll. Es wird dann die neueste verfügbare Version dieses Quellpakets finden und in das aktuelle Verzeichnis herunterladen
und dabei die Standardversion respektieren, die mit der Option APT::Default-Release, der Option -t oder pro Paket mit der
pkg/release-Syntax, wenn möglich.
Quellpakete werden getrennt von Binärpaketen über deb-src-Zeilen in der Datei sources.list(5) verfolgt. Das bedeutet,
dass Sie eine solche Zeile für jedes Repository hinzufügen müssen, aus dem Sie Quellen abrufen möchten; andernfalls erhalten Sie wahrscheinlich
entweder die falschen (zu alten/zu neuen) Quellversionen oder gar keine.
Die Syntax zum Herunterladen des Quellpakets von etwas in das aktuelle Verzeichnis wäre also (es muss nicht root
sein ):
apt-get source <package_name>
Beachte das auch als man
Seiten sagt, dass Sie den deb-src
haben müssen Repositorys aktiviert für alle regulären deb
Repositorys, in denen Sie Quellpakete verfolgen möchten. Der einfachste Weg, dies zu tun, wäre, einfach -src
hinzuzufügen zum anfänglichen deb
des ursprünglichen Repos Zeichenkette:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
Auf einer anderen Anmerkung haben Sie möglicherweise /usr/src
überprüft Verzeichnis, das der vorgesehene Ort für alle Kernelquellen ist.