Verwenden von dpkg zum Installieren von Paketen aus einem lokalen Verzeichnis

2752
Matt Green

Ich verfeinere unseren Installer. Die Funktionsweise besteht darin, dass alle unsere Komponenten in .deb-Dateien erstellt werden. Das Installationsprogramm ruft lediglich dpkg mit allen Abhängigkeiten gleichzeitig auf. Das funktioniert super ... solange Sie auf Ubuntu Linux 8.04.1 installieren. Bei der Installation in Ubuntu 8.04.3 ist beispielsweise die möglicherweise installierte Version von libc6-dev größer. Aber dpkg scheint immer noch unsere Version von libc6-dev zu installieren, obwohl bereits eine höhere Version installiert ist. Wie zu erwarten, verursacht dies Probleme.

Was ist der richtige Weg, dies zu tun? Überprüfen Sie jedes Paket, das wir gerade installieren, mit dem auf dem System? Ich dachte, dpkg oder apt haben das für uns getan. Zweitens, warum muss das so schmerzhaft sein wie es ist? Die Zielcomputer haben keinen Internetzugang und keinen Zugriff auf einen Spiegel. Wir müssen in der Lage sein, die Anwendung vollständig zu versenden. Pakete sollten uns von der Hölle der Abhängigkeit befreien, und es scheint, als ob sie es nicht sind.

4

2 Antworten auf die Frage

2
Teddy

Die sauberste Lösung scheint zu sein, alle Ihre Pakete in einem lokalen Repository wie einer Paket-CD abzulegen und eine Datei hinzuzufügen /etc/apt/sources.list.d, um das Repository einzuschließen. Dann sollte es einfach sein aptitude update; aptitude install <packages>, automatisch die richtigen Pakete zu installieren.

Die Datei befindet sich unter `/ etc / apt / sources.list` Telemachus vor 14 Jahren 0
@ Telemachus: Vielen Dank. korrigiert. Teddy vor 14 Jahren 0
Ich mache das für unser Produkt. Ich füge einfach eine Datei zu /etc/apt/sources.list.d hinzu. Auf diese Weise muss ich die installierte Systemdatei nicht ändern. Es funktioniert super Michael Kohne vor 14 Jahren 2
@Michael Kohne: Du hast absolut recht, das ist ein viel besserer Weg. Ich habe meine Antwort entsprechend geändert. Teddy vor 14 Jahren 0
1
Andrew Scagnelli

Ich glaube nicht, dass dpkgdie Versionsnummer bereits installierter Pakete überprüft wird. aptsollte dies tun, aber ich glaube nicht, dass es von der Festplatte installiert wird, es sei denn, Sie ändern sources.list(normalerweise in /etc/apt/). Wenn Sie Ihr Quellverzeichnis zu dem hinzufügen sources.list, sollten Sie nur den Standardinstallationsbefehl apt-getund alle für Sie durchzuführenden Überprüfungen ausführen können .

Bitte `/ etc / apt` anstelle von` \ etc \ apt` Telemachus vor 14 Jahren 0
In der Tat sind Sie richtig. Das ist es, was ich bekomme, wenn ich den ganzen Tag mit Windows arbeite. Fest. Andrew Scagnelli vor 14 Jahren 0