Tutorial ini menjelaskan semua perintah dasar bagi mereka yang ingin mengetahui cara menggunakan manajer paket DNF. Seperti yang mungkin sudah Anda ketahui, DNF adalah versi generasi berikutnya dari YUM dan telah menjadi manajer paket default sejak Fedora 22. DNF dimaksudkan untuk menjadi pengganti YUM dalam sistem berbasis RPM seperti RHEL, CentOS. Dibandingkan dengan YUM, DNF memiliki beberapa keunggulan signifikan, seperti dukungan untuk beberapa repositori, dukungan grup paket, kecepatan penyelesaian ketergantungan yang lebih cepat dan menggunakan lebih sedikit memori, berjalan di Python 2 dan Python 3, dokumentasi API yang solid, kompatibilitas dengan YUM dan banyak lagi.
Bacaan yang disarankan:
- Memulai Pacman
Contoh Perintah DNF Untuk Pemula
Pada Fedora 22, yum telah diganti dengan DNF, jadi Anda tidak perlu menginstalnya jika Anda menggunakan Fedora. Pada CentOS 7 dan RHEL 7, Anda dapat menginstalnya seperti yang dijelaskan dalam tutorial yang diberikan di bawah ini.
- Cara Memasang DNF Pada CentOS 7
Penggunaan DNF sangat mirip dengan YUM. Semua perintah yang disediakan di sini diuji pada edisi server minimal CentOS 7 dengan root pengguna.
1. Mendapatkan bantuan
Untuk membuat daftar semua perintah utama, perintah plugin, dan opsi, jalankan:
# dnf help
Untuk mendapatkan bantuan tentang perintah tertentu, misalnya 'install', jalankan:
# dnf help install
Untuk mengetahui tentang versi DNF yang terinstal saat ini, jalankan:
# dnf --version
2. Mengelola Paket
Bagian ini menjelaskan penginstalan, pembaruan, daftar, pencarian, pengunduhan, penginstalan ulang, dan penghapusan paket.
Mendapatkan Informasi Paket
Untuk mendapatkan detail paket yang diinstal atau tidak diinstal, jalankan:
# dnf info vim
Memasang Paket
Untuk menginstal paket baru, misalnya vim , jalankan:
# dnf install vim
Kami juga dapat menginstal beberapa paket seperti di bawah ini.
# dnf install vim nano emacs
Anda perlu mengetik "y" untuk melanjutkan instalasi. Jika Anda tidak ingin melakukannya setiap kali, Anda dapat menyertakan opsi "y" dalam perintah untuk konfirmasi otomatis.
# dnf install vim nano emacs -y
Ini tidak akan menunggu konfirmasi pengguna. Sebaliknya, itu hanya akan menginstal semua paket secara otomatis.
Paket Cantuman
Untuk membuat daftar semua paket yang tersedia dan terinstal:
# dnf list
Untuk mendaftar semua paket yang diinstal saja, kami menggunakan:
# dnf list installed
Untuk daftar paket yang tersedia saja:
# dnf list available
Memperbarui Paket
Untuk memeriksa semua pembaruan yang tersedia, lakukan:
# dnf check-update
Atau,
# dnf list updates
Untuk memperbarui satu paket (Misalnya bash), jalankan:
# dnf update bash
Untuk melihat apakah ada pembaruan untuk paket yang diinstal, jalankan:
# dnf list yum.noarch Using metadata from Sat Feb 10 14:47:22 2018 Installed Packages yum.noarch 3.4.3-150.el7.centos @System Available Packages yum.noarch 3.4.3-154.el7.centos.1 update
Perintah ini akan menampilkan versi yang saat ini diinstal dan pembaruan yang tersedia dari repositori. Pada keluaran di atas, @sistem menentukan versi yang diinstal dan memperbarui menentukan pembaruan yang tersedia dari repositori.
Untuk memperbarui beberapa paket:
# dnf update package1 package2
Lewati opsi "y" untuk konfirmasi otomatis.
# dnf update package1 package2 -y
Untuk memperbarui/meningkatkan semua paket, jalankan:
# dnf update
# dnf upgrade
Untuk menyinkronkan paket yang diinstal ke versi terbaru yang tersedia:
# dnf distro-sync
Menelusuri Paket
Untuk mencari paket dari repositori, jalankan:
# dnf search vim
Perintah ini akan menampilkan semua paket yang cocok dengan kata "vim".
Mengunduh Paket
Terkadang Anda mungkin ingin mengunduh sebuah paket, tetapi tidak ingin menginstalnya sekarang. Jika demikian, jalankan:
# dnf download vim
Perintah ini akan mendownload paket vim-enhanced-xx.xx.x.rpm, tetapi tidak akan menginstalnya.
Untuk menginstal paket yang diunduh, jalankan:
# dnf install vim-enhanced-7.4.160-2.el7.x86_64.rpm
Semua dependensi lain yang diperlukan akan diunduh dan diinstal dari repositori.
Menurunkan Paket
Untuk menurunkan versi paket yang sebelumnya Anda perbarui, jalankan:
# dnf downgrade bash
Menginstal Ulang Paket
Mengalami masalah dengan paket yang sudah diinstal? Jangan khawatir! Anda dapat menginstalnya kembali kapan saja.
Untuk menginstal ulang sebuah paket, gunakan:
# dnf reinstall vim
Menghapus Paket
Untuk menghapus paket (Misalnya vim) dari sistem, jalankan:
# dnf remove vim
Anda juga dapat menggunakan opsi "hapus" seperti di bawah ini.
# dnf erase vim
3. Grup Paket
Grup paket adalah kumpulan paket yang melayani tujuan yang sama, misalnya "Alat Pengembangan" atau "Server Web". Saat Anda menginstal grup paket, semua paket dependen akan diunduh dan diinstal. Memasang grup akan menghemat banyak waktu Anda.
Memasang Grup Paket
Untuk membuat daftar semua grup paket yang tersedia, jalankan:
# dnf grouplist
Untuk menginstal grup paket, misalnya "Alat Pengembangan", jalankan:
# dnf groupinstall 'Development Tools'
Perintah ini akan menginstal semua paket yang diperlukan untuk menyiapkan lingkungan pengembangan.
Memperbarui Grup Paket
Untuk Memperbarui grup paket, jalankan:
# dnf groupupdate 'Development Tools'
Menghapus Grup Paket
Untuk menghapus grup paket, jalankan:
# dnf groupremove 'Development Tools'
4. Bekerja dengan Repositori
Mencantumkan Repositori yang terpasang
Secara default, semua repositori akan ditambahkan di bawah direktori /etc/yum.repos.d/ di CentOS/RHEL. Anda dapat membuat daftar repositori yang diinstal menggunakan perintah:
# dnf repolist
Perintah di atas hanya akan menampilkan repositori yang diaktifkan. Untuk menampilkan semua repositori ( baik yang diaktifkan maupun dinonaktifkan), jalankan:
# dnf repolist all
Menambahkan Repositori
Anda dapat menambahkan repositori dengan membuat file package.repo secara manual di bawah direktori /etc/yum.repos.d/. Namun, DNF membuatnya lebih mudah.
Untuk menambahkan repositori baru, jalankan:
# dnf config-manager --add-repo repository_url
Contoh:
# dnf config-manager --add-repo http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
Untuk melihat repositori yang baru ditambahkan, kita lakukan:
# dnf repolist created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 115 kB/s | 3.5 MB 00:31 Using metadata from Sat Feb 10 14:47:22 2018 repo id repo name status base CentOS-7 - Base 9,591 epel Extra Packages for Enterprise Linux 7 - x86_64 12,278 extras CentOS-7 - Extras 388 springdale.math.ias.edu_data_puias_unsupported_7_x86_64_ created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupporte 2,760 updates CentOS-7 - Updates
Untuk melihat file .repo saja:
# cat /etc/yum.repos.d/springdale.math.ias.edu_data_puias_unsupported_7_x86_64_.repo [springdale.math.ias.edu_data_puias_unsupported_7_x86_64_] name=created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ baseurl=http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ enabled=1
Mengaktifkan Repositori
Untuk mengaktifkan repositori, gunakan:
# dnf config-manager --set-enabled <repo-id>
Contoh:
# dnf config-manager --set-enabled epel
Kami dapat memverifikasi dengan menjalankan perintah berikut untuk melihat repositori yang diaktifkan saja.
# dnf repolist
Selain itu, kita dapat menggabungkan opsi aktifkan dan instal bersama seperti di bawah ini.
# dnf config-manager --set-enabled epel install zsh
Perintah di atas mengaktifkan repositori EPEL dan menginstal paket zsh.
Menonaktifkan Repositori
Untuk menonaktifkan repositori, misalnya EPEL, kami menggunakan:
# dnf config-manager --set-disabled epel
Kami juga dapat menggabungkan opsi aktifkan dan nonaktifkan bersama-sama seperti di bawah ini.
# dnf --enablerepo=epel --disablerepo=updates
Perintah di atas akan mengaktifkan repositori EPEL dan menonaktifkan repositori pembaruan.
5. Menemukan Yang Memberikan Sesuatu
DNF memungkinkan Anda untuk menemukan paket mana yang menyediakan perintah atau file tertentu. Jika Anda tidak ingat persis paket mana yang menyediakan perintah tertentu yang ingin Anda gunakan, DNF dapat membantu Anda.
Temukan Paket Yang Memberikan Perintah Tertentu
Saya melewatkan perintah "ifconfig" lama yang bagus. Perintah ini tidak digunakan lagi dan tidak tersedia di versi terbaru. Untuk menemukan paket mana yang menyediakan permata ini, jalankan:
# dnf provides */ifconfig
Contoh keluaran:
Using metadata from Thu Feb 8 15:52:17 2018 net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools Repo : base
Ah, ya! alat-bersih paket menyediakan perintah ini. Jadi Anda dapat menginstal paket ini untuk menggunakan perintah ifconfig.
Temukan Paket Yang Menyediakan File
Biarkan kami Anda ingin menemukan paket apa yang menyediakan /bin/ls mengajukan. Untuk melakukannya, jalankan:
# dnf provides */bin/ls Using metadata from Thu Jun 30 12:51:16 2016 coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts Repo : @System coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts Repo : base
Seperti yang Anda lihat pada output di atas, coreutils package menyediakan file /bin/ls.
Baca juga:
- Cara Menemukan Paket Yang Menyediakan File Tertentu Di Linux
6. Bekerja dengan riwayat DNF
Menggunakan perintah "dnf history", kita dapat melihat semua tindakan yang kita lakukan dengan perintah DNF.
# dnf history Using metadata from Sat Feb 10 14:47:22 2018 ID | Command line | Date a | Action | Altere ------------------------------------------------------------------------------- 2 | update bash | 2018-02-10 14:55 | Update | 1 1 | install vim | 2018-02-10 14:51 | E, I | 33 EE
Seperti yang Anda lihat pada output di atas, ada dua transaksi. Saya menginstal paket bernama "vim" dan memperbarui paket "bash". Transaksi terbaru akan muncul di bagian atas.
Untuk melihat detail transaksi tertentu, gunakan ID-nya seperti di bawah ini.
# dnf history list 2
Kami juga dapat melihat detail lengkap dari transaksi tertentu seperti di bawah ini.
# dnf history info 2 Using metadata from Sat Feb 10 14:47:22 2018 Transaction ID : 2 Begin time : Sat Feb 10 14:55:38 2018 Begin rpmdb : 360:fa7bea798a10e850b2bf800182b377443b481652 End time : 14:55:39 2018 (1 seconds) End rpmdb : 360:dc9f6bb33b00fe1d74dd205586c0ff8c4674f8f7 User : root <root> Return-Code : Success Command Line : update bash Transaction performed with: Installed dnf-0.6.4-2.sdl7.noarch (unknown) Installed rpm-4.11.3-21.el7.x86_64 (unknown) Packages Altered: Upgraded bash-4.2.46-21.el7_3.x86_64 (unknown) Upgrade 4.2.46-29.el7_4.x86_64 @updates
Seperti yang Anda lihat, transaksi dengan ID 2 digunakan untuk memperbarui paket bernama "bash". Kami dapat membatalkan transaksi ini kapan saja menggunakan perintah:
# dnf history undo 2
Untuk mengulang transaksi 'undo' sebelumnya, jalankan saja:
# dnf history redo 2
7. Membangun Cache metadata DNF
Cache metadata DNF akan dibuat secara otomatis saat kami menginstal, memperbarui paket. Jadi kita tidak perlu membangunnya secara manual. Namun, DNF memiliki perintah bawaan untuk membangun cache agar transaksi di masa mendatang lebih cepat.
Untuk membuat cache metadata, jalankan:
# dnf makecache Extra Packages for Enterprise Linux 7 - x86_64 155 kB/s | 15 MB 01:35 created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 136 kB/s | 3.5 MB 00:26 CentOS-7 - Base 195 kB/s | 9.5 MB 00:49 CentOS-7 - Updates 240 kB/s | 7.9 MB 00:33 CentOS-7 - Extras 84 kB/s | 820 kB 00:09 Metadata cache created.
8. Membersihkan
Untuk menghapus paket yang tidak diinginkan / yatim piatu, jalankan:
# dnf autoremove
Untuk menghapus semua paket yang di-cache, jalankan:
# dnf clean all
Alih-alih membersihkan cache sepenuhnya, Anda mungkin ingin melakukan pembersihan metadata, dbcache, paket, plugin, dll.
Untuk menghapus file cache yang dihasilkan dari metadata repositori:
# dnf clean dbcache
Ini memaksa DNF untuk membuat ulang file cache saat dijalankan lagi.
Untuk menghapus file cookie lokal yang mengatakan kapan metadata dan daftar cermin diunduh untuk setiap repo, jalankan:
# dnf clean expire-cache
DNF akan memvalidasi ulang cache untuk setiap repo saat digunakan lagi.
Untuk menghapus metadata repositori:
# dnf clean metadata
Menggunakan opsi ini akan membuat DNF mengunduh semua metadata saat dijalankan lagi.
Untuk menghapus semua paket yang di-cache dari sistem:
# dnf clean packages
Perintah berikut memberitahu semua plugin yang diaktifkan untuk menghapus data cache mereka.
# dnf clean plugins
Ini cukup untuk mendapatkan penggunaan dasar DNF di Fedora, RHEL dan CentOS. Untuk detail lebih lanjut, lihat halaman manual.
$ man dnf