GNU/Linux >> Belajar Linux >  >> Linux

Manajer paket Linux:dnf vs apt

Ada banyak cara untuk memasukkan aplikasi ke sistem Linux. Beberapa, seperti Flatpak dan container, masih baru. Lainnya, seperti DEB dan RPM, adalah format klasik yang telah bertahan dalam ujian waktu.

Tidak ada penginstal universal untuk sistem operasi apa pun. Saat ini, semua OS utama menggunakan campuran toko aplikasi (pihak pertama dan ketiga), instalasi drag-and-drop, dan wizard instalasi karena ada banyak pengembang yang memberikan perangkat lunak. Pengembang yang berbeda memiliki persyaratan berbeda untuk kode yang mereka berikan, dan ini menginformasikan metode penginstalan yang mereka pilih.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Linux memelopori konsep pengelola paket , perintah untuk menginstal, mengelola, dan mencopot pemasangan aplikasi. Dua perintah manajer paket yang umum adalah apt dan dnf . apt perintah mengelola paket DEB, sementara dnf mengelola paket RPM. Keduanya tidak sepenuhnya eksklusif satu sama lain dalam teori, meskipun dalam praktiknya, distribusi Linux umumnya menggunakan satu atau yang lain. Secara teoritis mungkin untuk menjalankan keduanya pada satu sistem, tetapi instalasi paket akan tumpang tindih, pembuatan versi akan sulit, dan perintah akan berlebihan satu sama lain. Namun, jika Anda bekerja di lingkungan Linux campuran, berinteraksi dengan workstation yang menjalankan satu distribusi dan server yang menjalankan yang lain, Anda mungkin perlu mengetahui keduanya.

Mencari aplikasi

Sebelum Anda dapat menginstal aplikasi dengan manajer paket, Anda perlu mengetahui nama paket. Biasanya nama aplikasi dan nama paketnya sama. Proses untuk memverifikasi nama paket yang ingin Anda instal sama persis di dnf dan apt :

$ sudo dnf search zsh
======Nama yang Sangat Cocok:zsh ======
zsh.x86_64 :Shell interaktif yang kuat
[...]

Dengan apt :

$ sudo apt search zsh
Mengurutkan... Selesai
Pencarian Teks Lengkap... Selesai
csh/stable 20110502-4+deb10u1 amd64
  Shell dengan mirip-C sintaks

ddgr/stable 1.6-1 semua
  DuckDuckGo dari terminal

direnv/stable 2.18.2-2 amd64
  Utilitas untuk mengatur direktori tertentu variabel lingkungan

draai/stable 20180521-1 semua
  Pemutar musik baris perintah untuk MPD
[...]

Untuk mendapatkan hasil yang relevan dari apt sebelumnya dalam pencarian, Anda dapat menggunakan regex:

pencarian apt ^zsh
Penyortiran... Selesai
Pencarian Teks Lengkap... Selesai
zsh/stable 5.7.1-1 amd64
  shell dengan banyak fitur
[...]

Menemukan paket aplikasi

Beberapa perintah dibundel dengan perintah lain, semuanya dalam satu paket. Ketika itu terjadi, Anda dapat menggunakan manajer paket Anda untuk mempelajari paket mana yang menyediakan apa yang Anda butuhkan. dnf dan apt perintah berbeda tentang cara mereka mencari metadata semacam ini.

Di dnf :

$ sudo dnf menyediakan pgrep
procps-ng-3.3.15-6.el8.x86_64 :Utilitas pemantauan sistem dan proses
Repo        :baseos
Cocok dari:
Nama file :/usr/bin/pgrep

apt perintah menggunakan subperintah, apt-file . Untuk menggunakan apt-file , Anda harus menginstalnya terlebih dahulu dan kemudian memintanya untuk memperbarui cache-nya:

$ sudo apt install apt-file
Membaca daftar paket... Selesai
Membangun pohon ketergantungan      
Membaca informasi status... Selesai
Paket tambahan berikut akan diinstal :
  libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
Paket BARU berikut akan diinstal:
  apt-file libapt-pkg-perl libexporter -tiny-perl liblist-moreutils-perl libregexp-assemble-perl
0 ditingkatkan, 5 baru diinstal, 0 untuk dihapus dan 14 tidak ditingkatkan.
Perlu mendapatkan 297 kB arsip.
Setelah operasi ini, 825 kB ruang disk tambahan akan digunakan.
Apakah Anda ingin melanjutkan? [Y/n] y

$ sudo apt-file update
[...]

Anda dapat menggunakan apt-file untuk mencari perintah. Anda dapat membuat jaring yang sangat luas hanya dengan mencari perintah, tetapi jika Anda mengetahui jalur yang diharapkan dari perintah, itu lebih akurat:

$ sudo apt-file search /usr/bin/pgrep
pgreplay:/usr/bin/pgreplay              
procps:/usr/bin/pgrep

Menginstal aplikasi

Menginstal aplikasi pada dasarnya identik dengan apt dan dnf :

$ sudo apt install zsh 

Dengan dnf , Anda dapat menginstal satu paket menggunakan opsi yang sama:

$ sudo dnf install zsh 

Banyak distribusi berbasis RPM menampilkan grup instalasi , yang terkadang mengumpulkan aplikasi yang terkait secara dangkal menjadi satu target yang mudah diinstal. Misalnya, grup Design Suite di Fedora berisi aplikasi kreatif populer. Banyak seniman yang menginginkan satu aplikasi kreatif cenderung menginginkan aplikasi serupa, dan menginstal seluruh grup adalah cara mudah dan cepat untuk memulai membangun studio digital. Anda dapat melihat grup yang tersedia dengan group list (gunakan -v untuk melihat nama grup tanpa spasi):

$ sudo dnf group list -v
[...]
Grup yang Tersedia:
   Container Management (container-management)
   RPM Development Tools (rpm-development-tools )
   Desain Suite (desain-suite)
   Alat Pengembangan (pengembangan)
[...]

Instal grup RPM menggunakan group install sub-perintah:

$ sudo dnf group install design-suite 

Anda dapat menggunakan @ notasi untuk mengurangi pengetikan:

$ sudo dnf install @design-suite 

Meningkatkan versi aplikasi

Salah satu keuntungan menggunakan manajer paket adalah mengetahui semua aplikasi yang pernah diinstal. Itu berarti Anda tidak perlu mencari versi aplikasi yang diperbarui. Sebagai gantinya, Anda dapat memberi tahu manajer paket Anda untuk memindai pembaruan.

Sub-perintah yang digunakan oleh dnf dan apt sedikit berbeda. Karena apt menyimpan cache informasi yang memerlukan pembaruan rutin, ia menggunakan upgrade subperintah untuk pembaruan aplikasi:

$ sudo apt upgrade 

Sebaliknya, dnf memperbarui metadata setiap kali Anda menggunakan perintah, jadi update dan upgrade subperintah dapat dipertukarkan:

$ sudo dnf upgrade 

Ini sama dengan:

$ sudo dnf update 

Menghapus aplikasi

Jika Anda pernah mencoba menghapus aplikasi secara manual di platform apa pun, maka Anda tahu pasti ada file sisa, seperti file preferensi atau aset atau ikon, tersebar di seluruh hard drive Anda setelah Anda menghapus aplikasi. Keuntungan lain menggunakan manajer paket adalah manajer paket Anda mengetahui setiap file diinstal dengan sebuah paket:

$ sudo dnf remove zsh 

remove subcommand juga digunakan untuk apt :

$ sudo apt remove zsh 

Menghapus paket dengan apt tidak menghapus file konfigurasi pengguna yang dimodifikasi, jika Anda menghapus paket secara tidak sengaja. Jika Anda ingin apt untuk menghapus aplikasi dan file konfigurasinya, gunakan purge pada aplikasi yang sebelumnya telah Anda hapus:

$ sudo apt purge zsh 

Keduanya apt dan dnf (bahkan dengan purge ) jangan hapus data atau file konfigurasi di direktori home Anda. Untuk menghapus data dari direktori home Anda, Anda harus melakukannya secara manual (biasanya ditemukan di ~/.config dan ~/.local ).

Manajemen paket pembelajaran

Apakah distribusi Linux pilihan Anda mendukung apt atau dnf , tujuan perintah secara umum identik. Mereka membantu Anda menginstal, memperbarui, dan menghapus paket. Keduanya, sebagai pengelola paket yang paling umum, sebagian besar mencerminkan elemen sintaksis terpenting satu sama lain, jadi beralih di antara keduanya cukup mudah.

Masing-masing memiliki beberapa fitur lanjutan, seperti manajemen repositori, yang berbeda secara substansial, tetapi fitur tersebut cenderung tidak dijalankan sesering urutan klasik search dan install .

Terlepas dari manajer paket mana yang lebih sering Anda gunakan, Anda dapat mengunduh lembar contekan apt dan lembar contekan dnf kami sehingga Anda memiliki sintaks terpenting yang siap digunakan saat Anda paling membutuhkannya.


Linux
  1. Pengelola Paket Linux Dibandingkan – AppImage vs Snap vs Flatpak

  2. Cara membuat paket RPM Linux

  3. Manajer Paket APT di Linux Dijelaskan

  1. Manajemen paket Linux dengan apt

  2. Linux – Instal Header Di Kali?

  3. apt:perintah tidak ditemukan

  1. 5 alasan untuk menggunakan manajer paket Linux

  2. Evolusi manajer paket

  3. DNF untuk pengguna APT