Wie bestimme ich, welche Dateien eine Anwendung umfasst (erstellt aus der Quelle, nicht aus einem Repo), damit ich sie kopieren kann?
Ich habe eine Anwendung aus dem Quellcode erstellt, aber da die zu erstellenden Bibliotheken nicht mit dem System kompatibel waren, auf dem sie ausgeführt wird, musste ich sie in einer VM erstellen. (Ich bin mir sicher, dass es eine Möglichkeit gibt, zwei verschiedene Bibliothekssätze zu verwalten, aber ich weiß nicht wie).
Es benötigt diese aktualisierten Bibliotheken nicht, um ausgeführt zu werden, also muss ich herausfinden, was ich kopieren muss.
Ich dachte daran, die Ausgabe von sudo make install
zu erfassen , aber das scheint nicht zu funktionieren. Ich könnte einen Diff von Dateien auf dem gesamten System machen, aber es muss einen einfacheren Weg geben? Vielleicht, wenn ich es in eine .deb-Datei packe oder so?
Akzeptierte Antwort:
Wie bestimme ich, welche Dateien eine Anwendung umfasst (erstellt aus der Quelle, nicht aus einem Repo), damit ich sie kopieren kann?
Die einfache Lösung für die meisten Fälle besteht darin, einfach checkinstall
zu verwenden , wodurch eine .deb-Datei erstellt wird, die Sie nicht nur auf anderen (kompatiblen) Systemen installieren können, sondern auch das Deinstallieren des Pakets ermöglicht.
sudo apt-get install checkinstall -y
- Wenn Sie mit
make
fertig sind , führen Siecheckinstall
aus stattmake install
- Installation prüfen installiert Ihre Anwendung UND gibt Ihnen eine .deb-Datei im aktuellen (Quell-)Ordner, die Sie einfach kopieren und auf anderen Systemen mit
dpkg -i
installieren können - Verwenden Sie
dpkg -r application-name
um die Anwendung jederzeit zu entfernen (sollte auch von Synaptic funktionieren)
Weitere Informationen finden Sie auf dieser Community-Hilfeseite und auf der Homepage des Autors.