Untuk apa dpkg?

21

Pertanyaan saya sederhana - saya ingin tahu lebih banyak tentang dpkg - apa fungsinya?

rɑːdʒɑ
sumber
Ini telah diedit setidaknya dua kali untuk meningkatkan kejernihan - karena tetap layak untuk tetap terbuka (asalkan itu bukan duplikat) karena telah menghasilkan setidaknya satu jawaban yang baik.
belacqua
1
Anda harus mengunjungi terlebih dahulu: en.wikipedia.org/wiki/Dpkg
Pandya

Jawaban:

17

Seperti yang telah dikatakan, dpkgadalah alat sistem tingkat rendah untuk mengekstrak, menganalisis, membongkar dan menginstal atau menghapus file deb. Namun, lebih baik menggunakan Software Centreatau Gdebimenginstal atau menghapus file deb. Yang telah diperoleh dari sumber lain karena kedua program ini memiliki resolusi ketergantungan.

Namun, yang belum dijelaskan adalah anatomi pembaruan menggunakan dpkgdan apt-get. Jika, misalnya kita panggil apt-getuntuk menginstal cheese, pohon dependensi dianalisis dan file yang diperlukan diambil oleh apt-get, yang kemudian meneruskannya dpkguntuk mengekstrak, menganalisis, dan menginstal ke lokasi yang benar dan mengkonfigurasinya sesuai dengan skrip di dalamnya.

Script yang dibaca oleh dpkgdi dalam setiap file deb penting karena memberikan informasi kepada program mengenai instalasi, penghapusan dan konfigurasi paket. Oleh karena itu ketika Anda melihat /var/log/dpkg.logada banyak detail verbose tentang 'pemicu' dan paket yang melalui berbagai tahap pembongkaran dan konfigurasi. Dalam blognya, Raphael Hertzog (yang merupakan pengembang dan pengelola utama dpkgpaket Debian ) menjelaskan lebih lanjut tentang pemicu dpkg dan cara dpkgmemeriksa dan mengonfigurasi paket.

Kita sekarang mendapatkan inti dari apa yang dpkgdilakukannya; itu ahli menangani paket-paket Debian, bukan dependensi mereka. Dengan dpkg-deb, misalnya, Anda dapat melakukan berbagai tindakan dalam menganalisis dan mengekstraksi file secara manual dari arsip .deb; lihat man dpkg-debuntuk informasi lebih lanjut.

Status setiap paket terdaftar /var/lib/dpkg/status, yang dapat digunakan grepuntuk memeriksa paket tertentu. Dpkgjuga dapat dipanggil untuk mengkonfigurasi ulang paket-paket tertentu yang telah dikonfigurasi (lihat man dpkg-reconfigure):

sudo dpkg-reconfigure <package>

Atau untuk melakukan konfigurasi semua paket yang belum dikonfigurasi jika ada masalah dengan pembaruan dan konfigurasi beberapa paket masih tertunda:

sudo dpkg --configure -a

Untuk tutorial hebat yang berfokus pada dpkgdan apt-get, lihat bab 5 dan 6 dari Buku Pegangan Debian , yang merupakan diskusi terbaik yang tersedia. Masukkan man dpkgdi terminal Anda atau lihat manual Ubuntu online untuk melihat semua banyak opsi yang tersedia, seperti menggunakan dpkg -ldaftar paket yang saat ini diinstal.


sumber
4

dpkg adalah cara baris perintah untuk menginstal dari .deb atau menghapus paket yang sudah diinstal. Sebagai contoh jika Anda memiliki file deb di direktori home Anda, menjalankan dpkg -i yourpackage.debakan menginstal paket itu untuk Anda. Saya menemukan ini berguna setidaknya bagi saya karena kadang-kadang ketika mengklik file deb. Itu memuat Pusat Perangkat Lunak Ubuntu tetapi tidak pernah benar-benar menginstalnya atau memiliki masalah.

tidak diketahui siapa pun
sumber
4

Seperti biasa, manperintah adalah tempat yang bagus untuk memulai.
man dpkgdapat memberikan Anda semua opsi, namun:

dpkg adalah manajer paket untuk sistem berbasis Debian. Ia dapat menginstal, menghapus, dan membangun paket, tetapi tidak seperti sistem manajemen paket lainnya, ia tidak dapat mengunduh dan menginstal paket secara otomatis dan dependensinya.

Jadi pada dasarnya itu apt-get tanpa penyelesaian ketergantungan, dan digunakan untuk menginstal file deb.

Saya memperingatkan Anda: Menghapus instalasi paket menggunakan dpkg, dalam kebanyakan kasus, TIDAK dianjurkan. Lebih baik menggunakan manajer paket yang menangani dependensi, untuk memastikan bahwa sistem dalam keadaan konsisten.

Misalnya menggunakan dpkg -r zipAnda dapat menghapus paket zip, tetapi paket apa pun yang bergantung padanya masih akan diinstal dan mungkin tidak lagi berfungsi dengan benar.

Anda dapat membaca lebih banyak tentang itu di panduan server , dan di tempat lain .

LnxSlck
sumber