Ich habe das Programm installiert (zum Beispiel aufgerufen progA
), indem ich es aus dem Quellcode erstellt und dann sudo make install
und aufgerufen habe sudo ldconfig
.
Allerdings scheint apt-get
es nicht das Memo bekommen zu haben, denn bei der Installation progB
, was davon abhängt progA
, apt-get
empfehle ich auch zu installieren progA
. Warum ist das so und was könnte ich tun?
apt
package-management
make
Braiam
quelle
quelle
progB
manuell installieren ...Antworten:
TL; DR
checkinstall
ist dein Freund ;)Nach einer Installation mit
sudo make install
Ihrem Paketmanager weiß absolut nichts über diese Installation. Aber es weiß alles über ein Paket mit dem gleichen Namen in den Ubuntu-Repositories oder in einem PPA.Verwenden Sie
sudo checkinstall
anstelle vonsudo make install
und eine höhere Version als die Version im Repository, um sicherzustellen, dass Ihr Paketmanager diese Version als korrekte Abhängigkeit für akzeptiertProgB
.Weitere Informationen:
checkinstall
ist wirklich raffiniert, denn es folgt, was dermake install
Befehl tun würde, um herauszufinden, wie ein Paket erstellt wird.Dies bedeutet, dass Sie, wenn Sie ein Programm mithilfe von installieren
make install
, aber dann Ihre Sünden bereuen möchten, nur noch Folgendes tunsudo checkinstall -D make install
müssen:Folgen Sie,
make install
um herauszufinden, was es tutcopy-cat
make install
, außer in * .deb-PaketformInstallieren Sie vom Paket aus (genau wie
make install
unter Punkt 1 angegeben), lassen Sieapt-get
es sich aber auch darüber in Kenntnis setzen, und überschreiben Sie so alle Dateien genau dort, womake install
sie abgelegt wurden, solange Sie JA wählen, um die vonmake install
in das Ausgangsverzeichnis abgelegten Dateien einzuschließen auch im Paket - einige Optionen während descheckinstall
Vorgangs ermöglichen Ihnen die Auswahl (natürlich ist die Auswahl jedoch vorhanden, sodass Sie sie von Fall zu Fall ausüben können)Bonus: Sie können auch ein Paket entfernen (erneut aufrufen
progA
), das mitmake install
diesen Oden ohnemake uninstall
Support installiert wurde , indem Sie den bisher beschriebenencheckinstall
Vorgang ausführen und dann einfach Folgendes ausführen:quelle
checkinstall
- DIE WELT muss das wissen!Drei Möglichkeiten:
Erstellen Sie ein falsches Paket für
progA
: Wie fälsche ich eine installierte Paketversion? (Es gibt ein umfangreiches Beispiel für TeXlive) .Erstellen Sie ein Paket für
progA
, einfacher, wenn es einecheckinstall
Option hat: Wie man passende Abhängigkeiten austrickst?Bauen Sie auch
progB
aus Quellen.quelle
progA
Sie die kompilierteapt-get
Version und installieren Sie die Version. 5. Installieren Sie dasapt-get
Paket über die kompilierte Version und hoffen Sie auf das Beste.Ich würde empfehlen,
uupdate
from zu verwendendevscripts
und das Paket so zu erstellen, wie das Original zuvor erstellt wurde.Installieren Sie die erforderlichen Pakete
Laden Sie das alte Paket aus dem offiziellen Repository herunter (wird
MediaWiki
als Beispiel verwendet) und den neuen Tar-Ball aus dem Upstream.Führen Sie
uupdate
den Befehl aus, um einen neuen Quellordner aus dem vorgelagerten und dem alten zu erstellendebian/control
Jetzt sollten Sie prüfen, ob Sie Änderungen an
debian/control
etc-Dateien vornehmen müssen . Wenn Sie fertig sind, können Sie das Deb-Paket erstellen und installierenquelle