Lokales Installieren eines .deb-Pakets

Lokales Installieren eines .deb-Pakets

Wie kann ich auf einem Debian-System mit apt, dpkg und Synaptic ein .deb-Paket, das sich in einem Ordner befindet, und seine Abhängigkeiten, die sich in einem „Pool“ anderer Ordner befinden, extrahieren und installieren?

Bearbeiten:

Ich möchte den Quellordner angeben können, in dem sich das .deb-Paket befindet, sowie die Ordner, die die Abhängigkeiten enthalten. Alle davon, sagen wir, im Home-Ordner. Ich weiß nicht, ob das durch Bearbeiten der Datei sources.list oder auf andere Weise möglich ist.

Antwort1

Wenn ich mich nicht irre, installiert *.deb alles, was in den Pools ist. Das betreffende .deb-Paket benötigt nur einen Bruchteil davon als Abhängigkeiten.

Antwort2

Sie sollten sowohl das gewünschte Paket als auch seine Abhängigkeiten in einem einzigen Poolverzeichnis platzieren.

Sie müssen den Ordner „Pool“ vorbereiten, der die Abhängigkeitspakete enthält dpkg-scanpackages, die sich im dpkg-devPaket befinden.

cd /some/where/package_pool_directory
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Dadurch wird das Pool-Verzeichnis zu einem Repository im Stil eines „trivialen Archivs“.

Jetzt sollten Sie das Repository in der Datei wie folgt angeben können /etc/apt/sources.list:

deb file:/some/where/package_pool_directory ./

Listen Sie es am Anfang der Datei auf, damit es gegenüber jedem anderen Repository bevorzugt wird. Führen Sie es dann aus, apt updateum aptauf das neue Repository aufmerksam zu machen, und verwenden Sie dann wie gewohnt die Paketverwaltungstools.

Beachten Sie, dass der Repository-Stil „Triviales Archiv“ veraltet ist und in zukünftigen Versionen möglicherweise nicht mehr funktioniert. Zu diesem Zeitpunkt wird hoffentlich eine neue Lösung verfügbar sein.

verwandte Informationen