Menggunakan dpkg untuk menginstal paket upgrade dan upgrade

9

Jadi saya bermain-main dengan instalasi paket offline pada Server 12.04, setelah mengunduh paket dengan mengambil dan membuat URI menggunakan instruksi di sini: http://www.webupd8.org/2009/11/get-list-of-packages- dan-dependencies.html

Saya melakukan ini dengan apt-get upgradedan apt-get dist-upgrade, kemudian menginstal paket yang diunduh menggunakan dpkg -i. Jadi prosesnya terlihat seperti ini:

  1. Dapatkan URI
  2. wgetpaket-paket ke folder ( upgradepaket-paket ke / upgrade dan dist-upgradepaket - paket ke / dist-upgrade)
  3. jalankan dpkg -i /upgrade/*.deblaludpkg -i /dist-upgrade/*.deb

Pertanyaan saya adalah: apakah metode ini menginstal secara manual paket yang diperbarui dengan benar mendapatkan semuanya diperbarui, memberikan hasil yang sama seolah-olah saya baru saja menjalankan apt-get upgradedan apt-get dist-upgradenormal? Atau adakah sesuatu yang apt-getdilakukan perintah normal yang tidak akan selesai dengan cara ini?

R4mzy
sumber

Jawaban:

15

Daripada menggunakan dpkg, yang merupakan manajer paket tingkat rendah, Anda akan lebih baik menggunakan apt. Untuk menginstal file .deb menggunakan apt, salin ke cache apt

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

dan kemudian lakukan saja upgrade reguler:

apt-get upgrade

The aptperintah akan menggunakan file dalam cache daripada download dari internet, sehingga cukup banyak melayani tujuan Anda.

sayantankhan
sumber
Terima kasih, itu sangat bagus. Meskipun saya masih penasaran tentang apa sebenarnya yang aptberbeda dpkgdalam hal ini, mengingat saya awalnya terbiasa aptmendapatkan URI dari semua paket, termasuk dependensinya? Ketika datang ke tindakan instalasi yang sebenarnya sepertinya aptcukup banyak hanya menggunakan dpkguntuk melakukan pembongkaran dan instalasi paket, satu-satunya perbedaan adalah bahwa aptmemeriksa dependensi sebelumnya (tapi itu sudah dibahas karena saya dulu aptmengunduh paket, termasuk dependensi, di tempat pertama). Kecuali saya kehilangan sesuatu?
R4mzy
Juga, bagian dari alasan saya bertanya adalah bahwa saya khawatir tentang apt'sperilaku apa yang mungkin terjadi jika, katakanlah, paket yang diunduh disalin ke sistem yang memiliki akses Internet dan kemudian aptmelihat bahwa beberapa atau semua paket yang diunduh bukan yang terbaru (tetapi lebih baru daripada yang saat ini diinstal) dan kemudian mencoba untuk mendapatkan versi terbaru dari paket-paket tertentu (saya ingin menginstal hanya paket / versi spesifik yang telah saya unduh). Pada dasarnya, apakah aptmemberikan preferensi ke versi online terbaru atau akankah itu memberikan preferensi ke versi lokal, yang lebih baru-tetapi-bukan-terbaru?
R4mzy
1
@ R4mzy Anda punya poin valid di sana. aptakan mencoba untuk mendapatkan paket terbaru dari internet, bahkan jika ada paket lama yang tersedia secara lokal. Anda mungkin perlu mengubah /etc/apt/sources.listt memastikan menginstal paket lokal.
sayantankhan
@santantankhan dapatkah Anda menunjukkan seperti apa jawaban Anda? Saya bertanya karena saya sudah menyalin file deb saya. /var/cache/apt/archives/Tetapi sudo apt-get update && sudo apt-get upgradetidak melihatnya atau memperbarui / memutakhirkan paket yang saya butuhkan. Saya merasa perlu memperbarui daftar tetapi tidak yakin bagaimana caranya.
Todd
1
@Todd saya belum melakukannya sendiri, tapi di sini ada cara seseorang mengesampingkan prioritas paket apt.
sayantankhan