it-swarm-id.com

Apa perbedaan nyata antara "apt-get" dan "aptitude"? (Bagaimana dengan "wajig"?)

Saya tahu bahwa keduanya apt-get dan aptitude adalah antarmuka manajemen paket perintah pada Linux yang diturunkan dari Debian, dengan opsi yang berbeda, tapi saya masih agak bingung. Di bawah tenda, bukankah mereka menggunakan sistem yang sama APT?

Mengapa Debian mempertahankan alat paralel ini? (Pertanyaan bonus: apa-apaan wajig ?)

259
Kevin Cantu

Perbedaan yang paling jelas adalah bahwa aptitude menyediakan antarmuka menu terminal (seperti Synaptic di terminal), sedangkan apt-get tidak.

Mempertimbangkan hanya antarmuka baris perintah dari masing-masing, mereka sangat mirip, dan sebagian besar, itu benar-benar tidak masalah yang mana yang Anda gunakan. Versi terbaru dari keduanya akan melacak paket mana yang diinstal secara manual, dan yang diinstal sebagai dependensi (dan karenanya memenuhi syarat untuk dihapus secara otomatis). Bahkan, saya percaya bahwa baru-baru ini, kedua alat telah diperbarui untuk benar-benar berbagi database yang sama dari paket yang diinstal secara manual vs otomatis, sehingga kasus di mana Anda menginstal sesuatu dengan apt-get dan kemudian aptitude ingin menghapusnya sebagian besar merupakan masa lalu.

Ada beberapa perbedaan kecil:

  • aptitude akan secara otomatis menghapus paket yang memenuhi syarat, sedangkan apt-get memerlukan perintah terpisah untuk melakukannya
  • Perintah untuk pgrade vs. dist-upgrade telah diubah namanya sesuai dengan nama yang mungkin lebih akurat pgrade aman dan lengkap -upgrade, masing-masing.
  • aptitude sebenarnya menjalankan fungsi tidak hanya apt-get, tetapi juga beberapa alat pendampingnya, seperti apt-cache dan apt-mark.
  • aptitude memiliki sintaks kueri yang sedikit berbeda untuk pencarian (dibandingkan dengan apt-cache)
  • aptitude memiliki perintah why dan why-not untuk memberi tahu Anda yang mana diinstal secara manual paket mencegah tindakan yang mungkin ingin Anda ambil.
  • Jika tindakan (menginstal, menghapus, memperbarui paket) yang ingin Anda ambil menyebabkan konflik, aptitude dapat menyarankan beberapa resolusi potensial. apt-get hanya akan mengatakan "Maafkan aku Dave, aku tidak bisa membiarkanmu melakukan itu."

Ada perbedaan kecil lainnya, tetapi itu adalah yang paling penting yang dapat saya pikirkan.

Singkatnya, aptitude lebih baik masuk dalam kategori dengan Synaptic dan paket manajer tingkat tinggi lainnya. Itu kebetulan juga memiliki antarmuka baris perintah yang menyerupai apt-get.

Putaran Bonus: Apa itu wajig?

Ingat bagaimana saya menyebutkan alat "pendamping" seperti apt-cache dan apt-mark? Nah, ada banyak dari mereka, dan jika Anda sering menggunakannya, Anda mungkin tidak ingat yang mana yang memberikan perintah. wajig adalah salah satu solusi untuk masalah itu. Ini pada dasarnya adalah pengirim, pembungkus di sekitar semua alat itu. Ini juga berlaku untuk Sudo bila perlu. Kapan Anda mengatakan wajig install foo, wajig mengatakan "Oke, install disediakan oleh apt-get dan memerlukan hak admin, "dan itu berjalan Sudo apt-get install foo. Kapan Anda mengatakan wajig search foo, wajig mengatakan "Oke, search disediakan oleh apt-cache dan tidak memerlukan hak admin, "dan itu berjalan apt-cache search foo. Jika Anda menggunakan wajig alih-alih apt-get, apt-mark, apt-cache, dan lainnya, maka Anda tidak akan pernah memiliki masalah ini:

$ apt-get search foo
E: Invalid operation search

Jika Anda ingin tahu apa yang dilakukan wajig di belakang layar, alat apa yang digunakannya untuk mengimplementasikan perintah tertentu, ia memiliki --simulate dan --teaching mode.

Dua perintah wajig yang sering saya gunakan adalah wajig listfiles foo dan wajig whichpkg /usr/bin/foo.

225
Ryan C. Thompson

Saya sendiri sering bertanya-tanya. Wikipedia menyoroti bahwa fitur pembeda utama adalah bahwa aptitude memiliki antarmuka mode teks layar penuh (kutukan). Fakta bahwa Anda dapat menggunakan paling banyak apt-get perintah argumen dengan aptitude itu sendiri hanyalah keputusan desain untuk membuatnya lebih mudah untuk apt-get pengguna untuk pindah ke aptitude dan sebaliknya.

Saya tidak pernah menggunakan wajig, tetapi dokumentasi menunjukkan bahwa itu hanya sebuah skrip yang tahu apakah Anda meneruskannya file deb (saat dijalankan dpkg) atau apt nama paket (saat dijalankan apt-get sebagai gantinya). Bisakah Anda mencobanya dan melihat apakah itu yang dilakukannya?

Tentu saja, perbedaan nyata adalah:

[email protected]:~$ apt-get moo
         (__) 
         (oo) 
   /------\/ 
  / |    ||   
 *  /\---/\ 
    ~~   ~~   
...."Have you mooed today?"...
[email protected]:~$ aptitude moo
There are no Easter Eggs in this program.
71
Gaurav

aptitude adalah program yang disukai untuk manajemen paket dari konsol baik untuk instalasi paket dan peningkatan paket atau sistem di Debian.

Berikut ini adalah ikhtisar dari alat ini dan fitur-fiturnya yang memiliki lebih dari apt-get: http://www.debian.org/doc/FAQ/ch-pkgtools.en.html#s-aptitude

Jadi, saran saya adalah hanya apt-get install aptitude :)

26
dsp

aptitude mengingat paket mana yang diminta secara eksplisit dan yang hanya diinstal karena dependensi. Itu akan secara otomatis menghapus paket yang tidak diminta secara eksplisit ketika mereka tidak lagi diperlukan.

apt-get memperlakukan paket yang diminta secara eksplisit dan dependensinya sama.

Jadi lebih baik gunakan aptitude, ini membantu menjaga sistem Anda tetap bersih.

20
starblue

apt-get, dan juga berbagai alat pendamping, menggunakan memori yang jauh lebih sedikit daripada doa baris perintah masing-masing aptitude, dan sedikit lebih cepat. Saya benar-benar tidak menyadari hal ini sampai saya mencoba memutakhirkan instalasi debian pada thinkpad pentium tua yang keriput dengan ram sebesar 32MB. Dibutuhkan satu atau dua jam swap-thrashing untuk menjalankan apt-get, yang selesai dengan sukses; aptitude akan gagal setelah saya pikir periode waktu yang lebih lama.

Perbedaan ini kurang lebih relevan pada apa pun yang menyerupai sistem desktop modern.

12
intuited

Membangun pada jawaban @ Gaurav, telur paskah di dua manajer paket cukup lucu !:

[email protected]:~$ apt-get  moo
             (__) 
             (oo) 
       /------\/ 
      / |    ||   
     *  /\---/\ 
        ~~   ~~   
..."Have you mooed today?"...

[email protected]:~$ aptitude  moo
There are no Easter Eggs in this program.
[email protected]:~$ aptitude -v moo
There really are no Easter Eggs in this program.
[email protected]:~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
[email protected]:~$ aptitude -vvv moo
Stop it!
[email protected]:~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
[email protected]:~$ aptitude -vvvvv moo
All right, you win.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
[email protected]:~$ aptitude -vvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course.
[email protected]:~$ aptitude -vvvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course.
[email protected]:~$ aptitude -vvvvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course.

dan seterusnya.

9
Siddhartha

Mereka menawarkan fungsionalitas dasar yang sama: menginstal dan menghapus paket dari baris perintah.

Inilah perbandingan yang lebih rinci, diposting di situs web Ubuntu Stack Exchange : https://askubuntu.com/questions/1743/is-aptitude-really- better-than-apt-get/1749 # 1749

8
Riccardo Murri

Seperti disebutkan menjadi http://pthree.org/2007/08/12/aptitude-vs-apt-get/ , aptitude memiliki antarmuka baris perintah yang jauh lebih mudah digunakan.

Di bawah tenda, bukankah mereka menggunakan sistem yang sama APT? Ya.

Sistem yang mendasarinya bukan hanya apt, tetapi dpkg. Sistem ini sama bodohnya dengan RPM, hanya dapat menangani instalasi dan administrasi paket tunggal. Ini melacak file yang diinstal milik paket mana.

apt menangani unduhan repositori, pelacakan dependensi, dan sebagainya untuk semua paket individual - yang kemudian diinstal menggunakan dpkg. aptitude melakukan hal yang sama, dengan antarmuka yang berbeda.

7
vdboor

Saya tidak yakin apakah ini masih berlaku tetapi pengembang Edge Debian yang berdarah Joey Hess selalu digunakan untuk mengadvokasi bakat daripada apt-get. Tentu saja hal-hal berubah ketika perangkat lunak berkembang. Apt-get sekarang menangani dependensi yang lebih baik daripada biasanya. Dari http://lists.debian.org/debian-user/2004/04/msg03138.html

Tanggal: Sel, 20 Apr 2004 22:27:12 -0400 Dari: Joey Hess

Sembilan alasan mengapa Anda harus menggunakan aptitude daripada apt-get atau dselect.

  1. aptitude dapat terlihat seperti apt-get

    Jika Anda menjalankan 'pembaruan aptitude' atau 'upgrade aptitude' atau 'aptitude install', itu terlihat dan berfungsi seperti apt-get, dengan beberapa peningkatan. Jadi tidak ada kurva belajar.

    (Jika Anda pengguna pilih, kurva belajar jelas bukan salah satu masalah Anda.)

  2. paket aptitude secara otomatis menginstal paket

    Berhentilah khawatir tentang pemangkasan perpustakaan yang tidak digunakan dan paket dukungan dari sistem Anda. Jika Anda menggunakan aptitude untuk menginstal semuanya, itu akan melacak paket apa yang ditarik oleh dependensi saja, dan menghapus paket-paket itu ketika mereka tidak lagi diperlukan.

  3. aptitude sanely menangani merekomendasikan

    Kegagalan apt-get yang telah berlangsung lama adalah kurangnya dukungan untuk hubungan Recommends. Yang merupakan masalah karena banyak paket di Debian mengandalkan Rekomendasi untuk menarik perangkat lunak yang rata-rata pengguna gunakan dengan paket. Ini bukan penyebab masalah yang tidak biasa, meskipun apt-get baru-baru ini menjadi setidaknya menyebutkan paket yang disarankan, mudah untuk melewatkan peringatannya.

    Aptitude mendukung Rekomendasi secara default, dan dapat dikonfigurasi untuk mendukung Saran juga. Itu bahkan mendukung menginstal paket yang direkomendasikan ketika digunakan dalam mode baris perintah.

  4. gunakan aptitude sebagai pengguna normal dan hindari menyemprot sistem Anda

    Mungkin Anda tidak tahu bahwa Anda dapat menjalankan aptitude dalam mode gui sebagai pengguna biasa. Buat perubahan apa pun yang ingin Anda coba. Jika Anda benar-benar berantakan, Anda dapat menekan 'q' dan keluar, perubahan Anda tidak akan disimpan. (Aptitude juga memungkinkan Anda menggunakan ctrl-u untuk membatalkan perubahan.) Karena itu berjalan sebagai pengguna biasa, Anda tidak dapat menyemprot sistem Anda sampai Anda memberi tahu aptitude untuk melakukan sesuatu, pada titik itu ia akan meminta Anda untuk kata sandi root Anda.

  5. aptitude memiliki UI yang kuat dan kemampuan pencarian

    Antara peramban kategoris aptitude dan dukungannya yang luar biasa untuk pemfilteran gaya-mutt dan pencarian paket berdasarkan nama, deskripsi, pengelola, dependensi, dll., Anda harus dapat menemukan paket lebih cepat dari sebelumnya menggunakan aptitude.

  6. aptitude memudahkan untuk melacak perangkat lunak yang usang

    Jika Debian berhenti mendistribusikan paket, apt akan membiarkannya di sistem Anda tanpa batas, tanpa peringatan, dan tanpa peningkatan. Aptitude mendaftar paket-paket seperti itu di bagian "Paket Usang dan Dibuat Lokal", sehingga Anda dapat diberi tahu tentang masalah tersebut dan melakukan sesuatu tentangnya.

  7. aptitude memiliki antarmuka ke sistem tugas Debian

    Aptitude memungkinkan Anda menggunakan sistem tugas Debian seperti yang dirancang untuk digunakan. Anda dapat menelusuri tugas yang tersedia, memilih tugas untuk diinstal, dan kemudian Menggali tugas itu dan menghapus bagian tugas yang tidak Anda inginkan. apt-get tidak memiliki dukungan untuk tugas, dan aptitude lebih baik bahkan daripada alat tujuan khusus seperti tasksel.

  8. aptitude mendukung banyak sumber

    Jika sources.list Anda dikonfigurasi untuk membuat beberapa versi paket tersedia, aptitude memungkinkan Anda menelusuri untuk melihat versi yang tersedia dan memilih versi non-standar untuk diinstal. Jika paket rusak tidak stabil, cukup gulung kembali ke versi dalam pengujian.

  9. aptitude mencatat tindakannya

    Aptitude log memaketkannya menginstal, meningkatkan, dan menghapus ke/varlog/aptitude, yang dapat berguna untuk mencari tahu mengapa segala sesuatunya mulai rusak setelah peningkatan kemarin, atau ketika Anda menghapus paket partiticlar.

- Lihat jo pemalu

=================== Ada juga diskusi yang lebih baru dari 2010 di sini https://superuser.com/questions/93437/aptitude-vs-apt- get-which-is-the-recommended-alias-the-right-tool-to-use di StackExchange.

6
manselton

Baik apt-get dan aptitude mengandalkan pustaka APT, ya.

Lihat jawaban saya di serverfault.com .

Debian bukan entitas monolitik, ada orang-orang dengan pendapat yang berbeda dan pengelola bakat memutuskan bahwa apt-get memiliki beberapa kekurangan dan ingin membangun sesuatu yang lebih baik dengan bakat. Dia meningkatkan logika untuk menemukan solusi untuk skenario peningkatan kompleks, menambahkan GUI untuk konsol, dll. Dan ada lebih dari sekadar apt-get dan aptitude, lihat artikel saya apt-get, aptitude, ... pilih manajer paket yang tepat untuk Anda .

6
Raphaël Hertzog