Utilizzo di dpkg per installare i pacchetti di aggiornamento e dist-upgrade


9

Quindi sto giocando con l'installazione di pacchetti offline sul server 12.04, dopo aver scaricato i pacchetti recuperando e wgetting i loro URI usando le istruzioni qui: http://www.webupd8.org/2009/11/get-list-of-packages- e-dependencies.html

L'ho fatto con apt-get upgradee apt-get dist-upgrade, quindi, ho installato i pacchetti scaricati usando dpkg -i. Quindi il processo sembrava così:

  1. Ottieni URI
  2. wgeti pacchetti in una cartella ( upgradepacchetti da / aggiornare e dist-upgradepacchetti da / dist-upgrade)
  3. corri dpkg -i /upgrade/*.debe poidpkg -i /dist-upgrade/*.deb

La mia domanda è: questo metodo di installazione manuale dei pacchetti aggiornati otterrebbe correttamente tutto aggiornato, dando lo stesso risultato che se avessi appena eseguito apt-get upgradee apt-get dist-upgradenormalmente? O c'è qualcosa che fanno i normali apt-getcomandi che non si farebbe in questo modo?

Risposte:


15

Invece di usare dpkg, che è un gestore di pacchetti di basso livello, sarebbe meglio usare apt. Per installare i file .deb usando apt, copiarli nella cache apt

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

e poi fai semplicemente l'aggiornamento regolare:

apt-get upgrade

Il aptcomando utilizzerà i file nella sua cache piuttosto che scaricarli dalla rete, in modo che serva praticamente al tuo scopo.


Grazie, funziona benissimo. Anche se sono ancora curioso di sapere cosa aptfa esattamente diversamente dpkgin questo caso, dato che originariamente aptusavo ottenere gli URI di tutti i pacchetti, comprese le loro dipendenze? Quando si tratta dell'atto effettivo di installazione, sembra che aptsia praticamente solo dpkgper eseguire il disimballaggio e l'installazione dei pacchetti, l'unica differenza è che aptverifica preventivamente le dipendenze (ma è già coperto perché ero solito aptscaricare i pacchetti, tra cui dipendenze, in primo luogo). A meno che non mi manchi qualcosa?
R4mzy,

Inoltre, parte del motivo per cui mi chiedo è che sono preoccupato per quale apt'scomportamento potrebbe essere se, diciamo, i pacchetti scaricati fossero copiati su un sistema che aveva accesso a Internet e poi aptvedesse che alcuni o tutti i pacchetti scaricati non sono gli ultimi (ma più recente di quello attualmente installato) e quindi cerca piuttosto di ottenere le versioni aggiornate di quei pacchetti particolari (voglio che installi solo i pacchetti / versioni specifici che ho scaricato). Fondamentalmente, aptpreferisce l'ultima versione online o preferirà una versione locale, più recente ma non più recente?
R4mzy,

1
@ R4mzy Hai un punto valido lì. aptproverà a ottenere l'ultimo pacchetto da Internet, anche se ci sono pacchetti più vecchi disponibili localmente. Potrebbe essere necessario modificare /etc/apt/sources.listt per assicurarsi che installi i pacchetti locali.
sayantankhan,

@sayantankhan puoi mostrare come sarebbe nella tua risposta? Lo sto chiedendo perché ho copiato il mio file .deb /var/cache/apt/archives/ma sudo apt-get update && sudo apt-get upgradenon lo vedo o non aggiorno / aggiorno il pacchetto di cui ho bisogno. Mi sento come se dovessi aggiornare l'elenco ma non sono sicuro di come.
Todd,

1
@Todd Non l'ho fatto da solo, ma ecco un modo in cui qualcuno ha annullato la priorità del pacchetto apt.
Sayantankhan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.