Ketika menginstal perangkat lunak melalui dpkg -i packageA.deb, apakah dependensi yang diperlukan oleh packageAdiunduh dan diinstal secara otomatis? Apa bedanya dengan menggunakan apt-getatau aptitude?
Tidak, dpkghanya menginstal sebuah paket, sehingga melakukan dpkg -i packageName.debhanya akan menginstal paket Deb ini, dan akan memberitahu Anda tentang dependensi yang perlu diinstal, tetapi akan tidak menginstal mereka, dan itu akan tidak mengkonfigurasi packageName.debkarena baik ... dependensi yang tidak ada.
apt-getadalah Sistem Manajemen Paket yang menangani instalasi paket Deb pada distribusi Linux berbasis Debian . Sistem Manajemen Paket adalah seperangkat alat yang akan membantu Anda menginstal, menghapus, dan mengubah paket dengan mudah. Jadi apt-getseperti orang pintar dpkg.
Saya suka memikirkan timeline dengan cara ini (berikut ini hanya saya yang berbicara dari pengalaman. Ini dimaksudkan hanya memberi Anda gambaran tentang semua ini):
Mereka datang dengan cara untuk "menyimpan" file aplikasi dalam "paket" sehingga dapat dengan mudah diinstal. Jadi, paket Deb ( .debfile ekstensi ) lahir.
Sebuah .debfile berisi file yang dibutuhkan oleh sebuah aplikasi untuk menjalankan, serta (saya suka menyebutnya) "meta-data" yang memegang informasi lainnya, seperti nama-nama dependensi kebutuhan aplikasi. Jika Anda ingin melihat konten .debfile, Anda dapat menggunakan perintah dpkg -c packageName.deb, dan jika Anda ingin melihat informasi "meta-data" ini, gunakan perintah dpkg -I pacakgeName.deb(dan jika Anda hanya ingin melihat dependensi, lakukan dpkg -I packageName.deb | grep Depends).
Mereka membutuhkan alat untuk menginstal .debfile - file ini , jadi mereka datang dengan dpkgalat itu. Alat ini, bagaimanapun, hanya akan menginstal .debfile, tetapi tidak akan menginstal dependensi karena tidak memiliki file-file itu dan tidak memiliki akses ke "repositori" untuk menarik dependensi dari.
Kemudian, mereka datang dengan apt-get, yang mengotomatiskan masalah pada poin sebelumnya. Di bawah kap, apt-getpada dasarnya dpkg(saya suka menganggapnya sebagai apt-getfront-end untuk dpkg), tetapi yang pintar yang akan mencari dependensi dan menginstalnya. Ia bahkan melihat dependensi yang saat ini diinstal dan menentukan yang tidak digunakan oleh paket lain, dan akan memberi tahu Anda bahwa Anda dapat menghapusnya.
aptitudelalu datang. Ini menggunakan perpustakaan apt-getmenggunakan dan benar-benar memiliki UI interaktif (antarmuka pengguna). Jika Anda ingin melihat UI ini, cukup ketikkan aptitudeterminal. Ituaptitude . Ini memanfaatkan perpustakaan untuk memberikan lebih banyak opsi dan fasilitas daripada apt-get. Sebagai contoh, aptitudesecara otomatis akan menghapus paket yang memenuhi syarat, sementara apt-getmemerlukan perintah terpisah untuk melakukannya. Tapi, pada akhirnya, melakukan sudo aptitude install packageName.debharus setidaknya sama dengan sudo apt-get install packageName.deb. Mungkin ada perbedaan halus di sana-sini yang tidak saya ketahui, tetapi keduanya akan mencari dependensi dan melakukan semua hal itu. Anda dapat membaca jawabannya di sini untuk informasi lebih lanjut tentang perbedaan antara aptitudedan apt-get.
Juga, aptitudetidak memiliki Kekuatan Sapi Super.
EDIT: Rupanya, itu benar. aptitude -v[v[v[v[v]]]] moo.
aptitudemungkin tidak diinstal secara default. Untuk menginstalnya, lakukan sudo apt-get install aptitudeatau klik ini: aptitude .
Tambahan
Informasi berikut ini tidak benar-benar langsung menjawab " Apa perbedaan antara dpkg dan aptitude / apt-get? " Tetapi itu berkontribusi pada gambaran besar.
gdebiadalah alat lain yang merupakan jenis campuran antara apt-getdan aptitude. Ketika Anda menggunakannya untuk menginstal .debpaket ( gdebi packageName.deb), itu akan mengidentifikasi dependensi yang hilang, menginstalnya menggunakan apt-get, dan akhirnya menginstal dan mengkonfigurasi paket menggunakan dpkg. Bahkan memiliki GUI yang sederhana dan rapi yang memberi Anda informasi tentang .debpaket, file yang disertakan dalam paket, dan dependensi apa yang perlu diinstal. Untuk melihat GUI ini, Anda harus melakukannya gdebi-gtk packageName.deb. Anda dapat gdebimencoba dengan menginstalnya dengan sudo apt-get install gdebiatau klik ini: gdebi .
Saya tidak ingin membingungkan siapa pun, tetapi hanya untuk memberi Anda bagian lain dari gambar, ada format paket Linux populer lainnya yang disebut RPM, dan file-nya memiliki .rpmekstensi. Format paket ini digunakan pada distribusi Linux berbasis RPM (seperti Red Hat, CentOS, dan Fedora). Mereka menggunakan perintah rpmuntuk menginstal paket, dan yummerupakan front-end untuk itu, itu yang pintar. Jadi .rpmfile mereka adalah file kita .deb, rpmalat mereka adalah dpkgalat kita , dan mereka yumadalah milik kita apt-get.
alienadalah alat yang mengkonversi antara .rpmdan .debpaket. Jadi, jika Anda pernah jatuh ke dalam situasi di mana Anda memiliki .rpmpaket, dan Anda ingin menginstal di Ubuntu Anda (atau distro berbasis Debian lainnya), Anda dapat menggunakan perintah alien rpm_packageName.rpmuntuk mengubahnya .deb, dan kemudian menginstalnya menggunakan dpkg. Anda dapat melakukan sebaliknya (konversi .debke .rpm) menggunakan alien -r packageName.deb.
Itu sangat berguna dan persis apa yang saya cari. Tx!
Aniket Thakur
4
Anda juga dapat menggunakan gdebi( apt-get install gdebi-core) yang bercampur apt-get/ aptitudedengan dpkg. Anda memanggilnya gdebi some_package.debdan akan menganalisis dependensinya, menelepon apt-getuntuk menginstal yang hilang dan ketika semua dependensi terpenuhi, kemudian menelepon dpkguntuk akhirnya menginstal paket Anda.
Carlos Campderrós
2
@Alaa Di Bawah Ekstra , Anda juga dapat menyebutkan bahwa alienpaket konversi antara .rpmdan .deb. Ini berguna untuk paket yang tersedia untuk RPM tetapi tidak untuk DEB (atau sebaliknya). Misalnya, alien packagename.rpmuntuk membuatnya dapat digunakan untuk Ubuntu.
@edwardtorvalds AskUbuntu adalah situs tanya jawab. Cari jawaban Anda di sini di situs dari ribuan pertanyaan lama, dan jika Anda tidak menemukannya, ajukan pertanyaan Anda sendiri, orang-orang yang lebih berpengalaman daripada saya semoga juga akan menjawab.
Alaa Ali
5
apt-get
Manajemen paket melalui apt-getmenjalankan bergandengan tangan dengan /etc/apt/sources.listfile.
apt-get install <package_name>
menginstal paket baru ke komputer Anda.
apt-get build-dep <package_name>
Perintah ini mencari repositori dan menginstal dependensi build untuk. Jika paket tidak ada di repositori, paket akan mengembalikan kesalahan.
apt-get install <package1_name> <package2_name> <package3_name>
apt-get memungkinkan instalasi banyak paket. pisahkan paket dengan spasi.
auto-apt run <command_string>
Ketika dipanggil, perintah auto-apt secara otomatis menginstal paket saat akses file hilang. Jika suatu program mencoba mengakses file yang diketahui milik dalam paket yang dihapus, auto-apt akan menginstal paket itu menggunakan apt-get. Fitur ini membutuhkan apt dan sudo agar berfungsi.
aptitudemenyediakan fungsionalitas dselectdan apt-getjuga banyak fitur tambahan yang tidak ditemukan di kedua program.
aptitude memiliki cangkangnya sendiri yang mengaktifkan keyboard atau mouse dan berjalan di jendela terminal
aptitude build-dep <package> - Instal dependensi build dari paket - yang berarti paket yang dibutuhkan untuk mengkompilasi (atau membangun ) paket sumbernya. Misalnya, banyak paket yang perlu debhelperatau autotoolsakan dibangun, tetapi tidak perlu dijalankan.
Saya pikir hal yang paling penting dan juga perbedaan yang perlu diperhatikan adalah Anda harus menggunakan apt-getalat untuk menginstal paket. ( aptatau aptitudebaik-baik saja juga).
Ini karena dpkgdimaksudkan untuk menginstal paket tanpa menginstal paket dependen. Karena itu hanya menginstal paket dengan dpkg, dapat menyebabkan masalah kemudian di mana resolusi dependensi dapat berakhir dengan sistem yang rusak.
Anda harus menggunakan baris perintah apt-getatau apt(sejak 14.04) alat untuk menginstal paket. Alat-alat ini digunakan dpkguntuk Anda dan pada saat yang sama memiliki mekanisme resolusi ketergantungan di dalamnya.
Jawaban:
Tidak,
dpkg
hanya menginstal sebuah paket, sehingga melakukandpkg -i packageName.deb
hanya akan menginstal paket Deb ini, dan akan memberitahu Anda tentang dependensi yang perlu diinstal, tetapi akan tidak menginstal mereka, dan itu akan tidak mengkonfigurasipackageName.deb
karena baik ... dependensi yang tidak ada.apt-get
adalah Sistem Manajemen Paket yang menangani instalasi paket Deb pada distribusi Linux berbasis Debian . Sistem Manajemen Paket adalah seperangkat alat yang akan membantu Anda menginstal, menghapus, dan mengubah paket dengan mudah. Jadiapt-get
seperti orang pintardpkg
.Saya suka memikirkan timeline dengan cara ini (berikut ini hanya saya yang berbicara dari pengalaman. Ini dimaksudkan hanya memberi Anda gambaran tentang semua ini):
Mereka datang dengan cara untuk "menyimpan" file aplikasi dalam "paket" sehingga dapat dengan mudah diinstal. Jadi, paket Deb (
.deb
file ekstensi ) lahir.Mereka membutuhkan alat untuk menginstal
.deb
file - file ini , jadi mereka datang dengandpkg
alat itu. Alat ini, bagaimanapun, hanya akan menginstal.deb
file, tetapi tidak akan menginstal dependensi karena tidak memiliki file-file itu dan tidak memiliki akses ke "repositori" untuk menarik dependensi dari.apt-get
, yang mengotomatiskan masalah pada poin sebelumnya. Di bawah kap,apt-get
pada dasarnyadpkg
(saya suka menganggapnya sebagaiapt-get
front-end untukdpkg
), tetapi yang pintar yang akan mencari dependensi dan menginstalnya. Ia bahkan melihat dependensi yang saat ini diinstal dan menentukan yang tidak digunakan oleh paket lain, dan akan memberi tahu Anda bahwa Anda dapat menghapusnya.aptitude
lalu datang. Ini menggunakan perpustakaanapt-get
menggunakan dan benar-benar memiliki UI interaktif (antarmuka pengguna). Jika Anda ingin melihat UI ini, cukup ketikkanaptitude
terminal. Ituaptitude
. Ini memanfaatkan perpustakaan untuk memberikan lebih banyak opsi dan fasilitas daripadaapt-get
. Sebagai contoh,aptitude
secara otomatis akan menghapus paket yang memenuhi syarat, sementaraapt-get
memerlukan perintah terpisah untuk melakukannya. Tapi, pada akhirnya, melakukansudo aptitude install packageName.deb
harus setidaknya sama dengansudo apt-get install packageName.deb
. Mungkin ada perbedaan halus di sana-sini yang tidak saya ketahui, tetapi keduanya akan mencari dependensi dan melakukan semua hal itu. Anda dapat membaca jawabannya di sini untuk informasi lebih lanjut tentang perbedaan antaraaptitude
danapt-get
.Juga,
aptitude
tidak memiliki Kekuatan Sapi Super.aptitude
mungkin tidak diinstal secara default. Untuk menginstalnya, lakukansudo apt-get install aptitude
atau klik ini: aptitude .Tambahan
Dari Carlos Campderrós ' komentar di bawah ini :
gdebi
adalah alat lain yang merupakan jenis campuran antaraapt-get
danaptitude
. Ketika Anda menggunakannya untuk menginstal.deb
paket (gdebi packageName.deb
), itu akan mengidentifikasi dependensi yang hilang, menginstalnya menggunakanapt-get
, dan akhirnya menginstal dan mengkonfigurasi paket menggunakandpkg
. Bahkan memiliki GUI yang sederhana dan rapi yang memberi Anda informasi tentang.deb
paket, file yang disertakan dalam paket, dan dependensi apa yang perlu diinstal. Untuk melihat GUI ini, Anda harus melakukannyagdebi-gtk packageName.deb
. Anda dapatgdebi
mencoba dengan menginstalnya dengansudo apt-get install gdebi
atau klik ini: gdebi .Saya tidak ingin membingungkan siapa pun, tetapi hanya untuk memberi Anda bagian lain dari gambar, ada format paket Linux populer lainnya yang disebut RPM, dan file-nya memiliki
.rpm
ekstensi. Format paket ini digunakan pada distribusi Linux berbasis RPM (seperti Red Hat, CentOS, dan Fedora). Mereka menggunakan perintahrpm
untuk menginstal paket, danyum
merupakan front-end untuk itu, itu yang pintar. Jadi.rpm
file mereka adalah file kita.deb
,rpm
alat mereka adalahdpkg
alat kita , dan merekayum
adalah milik kitaapt-get
.Dari komentar Paddy Landau di bawah ini :
alien
adalah alat yang mengkonversi antara.rpm
dan.deb
paket. Jadi, jika Anda pernah jatuh ke dalam situasi di mana Anda memiliki.rpm
paket, dan Anda ingin menginstal di Ubuntu Anda (atau distro berbasis Debian lainnya), Anda dapat menggunakan perintahalien rpm_packageName.rpm
untuk mengubahnya.deb
, dan kemudian menginstalnya menggunakandpkg
. Anda dapat melakukan sebaliknya (konversi.deb
ke.rpm
) menggunakanalien -r packageName.deb
.sumber
gdebi
(apt-get install gdebi-core
) yang bercampurapt-get
/aptitude
dengandpkg
. Anda memanggilnyagdebi some_package.deb
dan akan menganalisis dependensinya, meneleponapt-get
untuk menginstal yang hilang dan ketika semua dependensi terpenuhi, kemudian menelepondpkg
untuk akhirnya menginstal paket Anda.alien
paket konversi antara.rpm
dan.deb
. Ini berguna untuk paket yang tersedia untuk RPM tetapi tidak untuk DEB (atau sebaliknya). Misalnya,alien packagename.rpm
untuk membuatnya dapat digunakan untuk Ubuntu.aptitude
bukan frontend untukapt-get
. Kedua program tersebut merupakan antarmuka untuklibapt-pkg
perpustakaan.apt-get
Manajemen paket melalui
apt-get
menjalankan bergandengan tangan dengan/etc/apt/sources.list
file.apt-get install <package_name>
menginstal paket baru ke komputer Anda.apt-get build-dep <package_name>
Perintah ini mencari repositori dan menginstal dependensi build untuk. Jika paket tidak ada di repositori, paket akan mengembalikan kesalahan.apt-get install <package1_name> <package2_name> <package3_name>
apt-get memungkinkan instalasi banyak paket. pisahkan paket dengan spasi.auto-apt run <command_string>
Ketika dipanggil, perintah auto-apt secara otomatis menginstal paket saat akses file hilang. Jika suatu program mencoba mengakses file yang diketahui milik dalam paket yang dihapus, auto-apt akan menginstal paket itu menggunakanapt-get
. Fitur ini membutuhkan apt dan sudo agar berfungsi.Kunjungi halaman instruksi apt-get
bakat
aptitude
menyediakan fungsionalitasdselect
danapt-get
juga banyak fitur tambahan yang tidak ditemukan di kedua program.aptitude
memiliki cangkangnya sendiri yang mengaktifkan keyboard atau mouse dan berjalan di jendela terminalaptitude build-dep <package>
- Instal dependensi build dari paket - yang berarti paket yang dibutuhkan untuk mengkompilasi (atau membangun ) paket sumbernya. Misalnya, banyak paket yang perludebhelper
atauautotools
akan dibangun, tetapi tidak perlu dijalankan.Kunjungi halaman instruksi aptitude
dpkg
adalah alat untuk menginstal, membangun, menghapus, dan mengelola paket Debian. tautan
dpkg -i <package.deb>
menginstal paket Debian ke komputer Anda. Itu tidak menginstal dependensi sejauh yang saya bisa tahu dari file bantuan.Untuk detail, ketikkan
dpkg --help
jendela terminal.Panduan
panduan untuk manajemen file dapat ditemukan di sini
sumber
Saya pikir hal yang paling penting dan juga perbedaan yang perlu diperhatikan adalah Anda harus menggunakan
apt-get
alat untuk menginstal paket. (apt
atauaptitude
baik-baik saja juga).Ini karena
dpkg
dimaksudkan untuk menginstal paket tanpa menginstal paket dependen. Karena itu hanya menginstal paket dengandpkg
, dapat menyebabkan masalah kemudian di mana resolusi dependensi dapat berakhir dengan sistem yang rusak.Anda harus menggunakan baris perintah
apt-get
atauapt
(sejak 14.04) alat untuk menginstal paket. Alat-alat ini digunakandpkg
untuk Anda dan pada saat yang sama memiliki mekanisme resolusi ketergantungan di dalamnya.sumber