Verwenden von dpkg zum Installieren von Upgrade- und Dist-Upgrade-Paketen

9

Ich spiele also mit der Offline-Paketinstallation auf dem 12.04 Server herum, nachdem ich Pakete heruntergeladen habe, indem ich ihre URIs mithilfe der folgenden Anweisungen abgerufen und abgerufen habe: http://www.webupd8.org/2009/11/get-list-of-packages- and-dependencies.html

Ich habe dies mit apt-get upgradeund gemacht apt-get dist-upgradeund dann die heruntergeladenen Pakete mit installiert dpkg -i. Der Prozess sah also so aus:

  1. URIs abrufen
  2. wgetdie Pakete in einen Ordner ( upgradePakete nach / upgrade und dist-upgradePakete nach / dist-upgrade)
  3. laufen dpkg -i /upgrade/*.debund danndpkg -i /dist-upgrade/*.deb

Meine Frage ist: würde diese Methode der manuell die aktualisierten Pakete zu installieren alles korrekt aktualisiert werden, so dass das gleiche Ergebnis wie wenn ich nur laufen würde apt-get upgradeund apt-get dist-upgradenormal? Oder gibt es etwas, das die normalen apt-getBefehle tun und das auf diese Weise nicht erledigt werden kann?

R4mzy
quelle

Antworten:

15

Anstatt dpkgeinen Low-Level-Paketmanager zu verwenden, sollten Sie ihn besser verwenden apt. Um die .deb-Dateien mit zu installieren apt, kopieren Sie sie in den apt-Cache

sudo cp *.deb /var/cache/apt/archives/

und dann einfach das reguläre Upgrade durchführen:

apt-get upgrade

Der aptBefehl verwendet die Dateien in seinem Cache, anstatt sie aus dem Internet herunterzuladen, sodass sie so ziemlich Ihrem Zweck dienen.

sayantankhan
quelle
Danke, das funktioniert super. Obwohl ich immer noch neugierig bin, was genau aptanders ist als dpkgin diesem Fall, da ich ursprünglich aptdie URIs aller Pakete einschließlich ihrer Abhängigkeiten abgerufen habe? Wenn es um die eigentliche Installation geht, sieht es so aus, als würde aptes nur dpkgzum Entpacken und Installieren der Pakete verwendet. Der einzige Unterschied besteht darin, dass aptzuvor nach Abhängigkeiten gesucht wird (dies wird jedoch bereits behandelt, da ich aptdie Pakete heruntergeladen habe, einschließlich Abhängigkeiten an erster Stelle). Es sei denn, ich vermisse etwas?
R4mzy
Ein Grund, den ich frage, ist, dass ich mir Sorgen darüber mache, wie sich das apt'sVerhalten verhalten könnte, wenn beispielsweise die heruntergeladenen Pakete auf ein System mit Internetzugang kopiert wurden und dann aptfestgestellt wird, dass einige oder alle heruntergeladenen Pakete nicht die neuesten sind (aber neuer als das, was derzeit installiert ist) und dann wird eher versucht, die aktualisierten Versionen dieser bestimmten Pakete zu erhalten (ich möchte, dass nur die spezifischen Pakete / Versionen installiert werden, die ich heruntergeladen habe). aptBevorzugen Sie grundsätzlich die neueste Online-Version oder wird eine lokale, neuere, aber nicht neueste Version bevorzugt?
R4mzy
1
@ R4mzy Du hast dort einen gültigen Punkt. aptIch werde versuchen, das neueste Paket aus dem Internet zu erhalten, auch wenn ältere Pakete lokal verfügbar sind. Möglicherweise müssen Sie Änderungen /etc/apt/sources.listvornehmen, um sicherzustellen, dass die lokalen Pakete installiert werden.
Sayantankhan
@sayantankhan kannst du zeigen, wie das in deiner Antwort aussehen würde? Ich frage , weil ich meine .deb-Datei in kopiert habe, sie /var/cache/apt/archives/aber sudo apt-get update && sudo apt-get upgradenicht sehe oder das benötigte Paket aktualisiere / aktualisiere. Ich habe das Gefühl, dass ich die Liste aktualisieren muss, bin mir aber nicht sicher, wie.
Todd
1
@Todd Ich habe es nicht selbst gemacht, aber hier ist eine Möglichkeit, wie jemand die Priorität des passenden Pakets überschreibt.
Sayantankhan