Apakah 'apt-get' sudah ditinggalkan?

54

Akhir-akhir ini, saya telah melihat banyak orang menggunakan

sudo apt

dari pada

sudo apt-get

Juga, Ubuntu terus mengatakan kepada saya untuk menginstal sesuatu sudo apt

The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo

(ingat, foo adalah placeholder, bukan aplikasi)

Jadi, setelah popularitas di komunitas ini tentang penggunaan aptalih-alih apt-get, saya mulai berpikir bahwa apt-get sudah usang dan tidak bisa lagi digunakan dalam program bash saya.

Dalam program bash saya,

  • apakah saya harus mengganti semua apt-getperintah apt?
  • adalah apt-getberbahaya?
  • apakah program saya masih berfungsi?
Skybbles
sumber
7
Lihat posting terkait ini: askubuntu.com/q/445384/295286
Sergiy Kolodyazhnyy
Apt lebih cantik daripada apt-get
WinEunuuchs2Unix
2
Alasan mengapa beberapa pengguna (seperti saya) menggunakan aptadalah karena lebih pendek dari apt-get. Lebih sedikit penekanan tombol, lebih sedikit waktu yang dihabiskan. Saya menggunakan apt-getuntuk hal-hal seperti itu check.
Gallifreyan

Jawaban:

36

apt-gettingkat yang lebih rendah dan kompatibel dengan mundur. aptlebih baik untuk pengguna akhir dan tidak memerlukan atau mengandung beberapa fitur tambahan yang ada di apt-get.

Keduanya baik-baik saja. apt-gettidak ditinggalkan, tetapi instalasi 15.10 Anda :)

Sunting: Dari halaman manual apt (8)

Perintah apt dimaksudkan untuk menyenangkan bagi pengguna akhir dan tidak perlu kompatibel dengan mundur seperti apt-get (8).

Sunting2: aptdirancang untuk memperbaiki beberapa cacat ketergantungan mendasar di apt-get. Karena ini adalah pembungkus, aptmaka dari itu levelnya lebih tinggi, dan juga kehilangan beberapa kompatibilitas dan fitur penulisan skrip.

negusp
sumber
19
Fitur apa yang tidak ada dalam apt-get bukan di apt? Dan seberapa tepat yang lebih baik bagi pengguna akhir?
Anwar
4
Sekali lagi, apt-get tidak lebih rendah dari apt. Ini adalah informasi yang menyesatkan. apt berada pada level yang sama dengan apt-get dan apt tidak lain adalah wrapper sekitar apt-get dan apt-cache
Anwar
@Anwar: Ada perbedaan. Satu contoh: apt upgradeapt-get upgrade, karena yang pertama menginstal paket baru, sedangkan yang terakhir tidak.
Gunnar Hjalmarsson
26
@ Anwar If aptadalah arang pembungkus apt-getmaka pasti tingkat lebih tinggi.
Tavian Barnes
2
@ Anwar Itu sebenarnya definisi "tingkat lebih tinggi" atau "tingkat lebih rendah". apt adalah level yang lebih tinggi karena membungkus apt-get. Semacam tes adalah bahwa jika apt Anda rusak, apt-get masih akan bekerja - tetapi tidak sebaliknya.
Sir Robert
47

Tidak, apt-gettidak ditinggalkan. Halaman manual dari aptini mengatakan tentang aptvs. apt-get(dan apt-cache):

PENGGUNAAN DAN PERBEDAAN SCRIPT DARI ALAT APT LAINNYA

Baris perintah apt (8) dirancang sebagai alat pengguna akhir dan dapat mengubah perilaku antar versi. Meskipun mencoba untuk tidak merusak kompatibilitas, ini tidak dijamin jika perubahan tampaknya bermanfaat untuk penggunaan interaktif.

Semua fitur apt (8) tersedia di alat APT khusus seperti apt-get (8) dan apt-cache (8) juga. apt (8) hanya mengubah nilai default dari beberapa opsi (lihat apt.conf (5) dan khususnya lingkup Biner). Jadi, Anda harus memilih menggunakan perintah ini (berpotensi dengan beberapa opsi tambahan diaktifkan) di skrip Anda karena mereka menjaga kompatibilitas sebanyak mungkin.

apt juga memberi peringatan yang mengatakan

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

jika mendeteksi ada pipa. Sebagai contoh:

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Adapun pertanyaan Anda,

apakah saya harus mengganti semua perintah apt-get apt?

Tidak, Anda tidak harus mengganti apt-getdengan apt. Alih-alih jika Anda menggunakannya dalam skrip, Anda harus tetap menggunakannya apt-getkarena memiliki API CLI yang stabil dan menjamin kompatibilitas ke belakang.

adalah apt-getberbahaya?

aptsama berbahayanya dengan apt-get: Anda hanya harus menginstal perangkat lunak dari sumber yang Anda percayai.

bisakah saya menggunakan aptUbuntu 15.10?

Yup, kamu bisa. Masalahnya di sini adalah Anda masih menggunakan Ubuntu 15.10, yang sekarang tidak didukung! Harap tingkatkan ke 16,04, yang merupakan versi LTS.

apakah program saya masih berfungsi?

Menurut program, saya menganggap Anda maksud skrip. Ya, mereka masih akan bekerja karena apt-gettidak usang. Bahkan, Anda harus memilih untuk menggunakan apt-getskrip untuk kompatibilitas mundur seperti yang disarankan oleh apthalaman manual.

edwinksl
sumber
7

aptdan apt-getpada dasarnya manajer paket yang sama, apa yang mereka lakukan adalah sama.

Perbedaannya adalah bahwa itu aptjuga berisi fitur-fitur dari misalnya apt-cachedan memiliki output yang terlihat lebih bagus.

Namun, aptsebaiknya belum digunakan dalam skrip, setidaknya jika Anda ingin mem-parsing outputnya, karena masih dalam pengembangan dan format outputnya mungkin masih berubah. Tab-autocomplete Bash juga belum berfungsi dengan banyak aptperintah.

Anda dapat menggunakan keduanya, mana yang Anda inginkan.

Komandan Byte
sumber
apt menyediakan fitur apt-cache dengan penundaan tambahan! coba gunakan paket pencarian apt dan paket pencarian apt-cache. Kebijakan penggunaan yang sama
Anwar
@ Anwar Saya tidak melihat perbedaan sama sekali menggunakan apt(-cache) policy. Dengan apt(-cache) search, ada perbedaan dalam kecepatan, ya, tetapi output aptdiurutkan dan diformat dengan baik sebagai balasannya.
Byte Commander
-1

Seperti yang Anda lihat dari jawaban lain, Anda bisa menggunakan salah satu aptatau apt-get. Yang ingin saya tambahkan adalah ketika saya mencoba aptbeberapa tahun yang lalu, saya perhatikan bahwa itu menyelesaikan konflik dengan cara yang berbeda dari yang saya apt-getlakukan. Ketika situasinya rumit (sesuatu harus dihapus, beberapa paket disematkan ke versi tertentu, saya menurunkan versi sebuah paket atau saya menggunakan campuran paket dari rilis yang berbeda), aptbiasanya ingin menghapus berton-ton paket atau tidak dapat menyelesaikan konflik.

Karena apt-getjauh lebih baik dalam situasi ini dan tidak memiliki kelemahan, saya menyerah aptdan terus menggunakan apt-get. Ini beberapa tahun yang lalu, jadi ini mungkin telah berubah, tetapi jika Anda mengalami situasi yang sama, Anda mungkin ingin mencoba keduanya dan melihat mana yang dapat menyelesaikan konflik dengan lebih baik.

Zoltan
sumber