Documentation for a newer release is available. View Latest

DNF

DNF adalah manajer paket The Fedora Project yang dapat meminta informasi tentang paket, mengambil paket dari repositori, memasang dan menghapus instalasi paket menggunakan resolusi dependensi otomatis, dan memperbarui seluruh sistem ke paket terbaru yang tersedia. DNF melakukan resolusi dependensi otomatis pada paket yang Anda perbarui, pasang, atau hapus, dan dengan demikian dapat secara otomatis menentukan, mengambil, dan memasang semua paket kebergantungan yang tersedia. DNF dapat dikonfigurasi dengan repositori baru, tambahan, atau sumber paket, dan juga menyediakan banyak plug-in yang meningkatkan dan memperluas kemampuannya. DNF dapat melakukan banyak tugas yang sama dengan yang RPM bisa kerjakan; selain itu, banyak opsi baris perintah serupa. DNF memungkinkan manajemen paket yang mudah dan sederhana pada satu mesin atau kelompok mereka.

Manajemen paket yang aman dengan paket yang ditandatangani GPG

DNF menyediakan manajemen paket yang aman dengan mengaktifkan verifikasi tanda tangan GPG (Gnu Privacy Guard; juga dikenal sebagai GnuPG) pada paket bertanda tangan GPG untuk diaktifkan bagi semua repositori paket (sumber paket), atau untuk repositori individu. Ketika verifikasi tanda tangan diaktifkan, DNF akan menolak untuk memasang paket apa pun yang tidak ditandatangani GPG dengan kunci yang benar untuk repositori tersebut. Ini berarti Anda dapat mempercayai bahwa paket RPM yang Anda unduh dan pasang di sistem Anda berasal dari sumber terpercaya, seperti The Fedora Project, dan tidak dimodifikasi selama transfer. Lihat Mengonfigurasi DNF dan Repositori DNF untuk detail tentang mengaktifkan pemeriksaan tanda tangan dengan DNF, atau Memeriksa Tanda Tangan Paket untuk informasi tentang bekerja dengan dan memverifikasi paket [application] RPM yang ditandatangani GPG secara umum.

DNF juga memungkinkan Anda untuk dengan mudah mengatur repositori Anda sendiri dari paket RPM untuk diunduh dan dipasang pada mesin lain.

Mempelajari DNF adalah investasi yang berharga karena sering kali merupakan cara tercepat untuk melakukan tugas administrasi sistem, dan memberikan kemampuan di luar yang disediakan oleh alat manajemen paket grafis PackageKit.

DNF dan hak istimewa pengguna super

Anda harus memiliki hak pengguna super untuk menggunakan perintah dnf untuk memasang, memperbarui, atau menghapus paket di sistem Anda. Semua contoh dalam bab ini mengasumsikan bahwa Anda telah memperoleh hak istimewa pengguna super dengan menggunakan perintah su atau sudo.

Memeriksa dan Memperbarui Paket

Memeriksa Pembaruan

Cara tercepat untuk memeriksa pembaruan adalah dengan mencoba memasang pembaruan yang tersedia dengan menggunakan perintah dnf upgrade sebagai berikut:

~]# dnf upgrade
Last metadata expiration check performed 1:24:32 ago on Thu May 14 23:23:51 2015.
Dependencies resolved.
Nothing to do.
Complete!

Perhatikan bahwa dnf upgrade hanya memasang pembaruan yang dapat dipasang. Jika sebuah paket tidak dapat diperbarui, karena masalah ketergantungan misalnya, itu dilewati.

Perintah dnf check-update dapat digunakan untuk melihat paket mana yang terpasang pada sistem Anda yang versi barunya tersedia, namun itu tidak berarti bahwa mereka dapat berhasil dipasang. Oleh karena itu, perintah ini sebagian besar berguna dalam skrip dan untuk memeriksa paket yang diperbarui yang tidak dipasang setelah menjalankan dnf upgrade.

Sebagai contoh:

~]# dnf check-update
Using metadata from Mon Apr 20 16:34:10 2015 (2:42:10 hours old)

python.x86_64                     2.7.9-6.fc22          updates
python-cryptography.x86_64        0.8.2-1.fc22          updates
python-libs.x86_64                2.7.9-6.fc22          updates

Paket dalam keluaran di atas terdaftar sebagai memiliki versi yang diperbarui. Baris dalam keluaran contoh memberi tahu kita:

  • python — nama paket,

  • x86_64 — arsitektur CPU tempat tujuan pembuatan paket,

  • 2.7.9 — versi paket yang diperbarui,

  • 6.fc22 — rilis paket yang diperbarui,

  • updates-testing — repositori tempat paket yang diperbarui berada.

Memperbarui Paket

Anda dapat memilih untuk memperbarui satu paket, beberapa paket, atau semua paket sekaligus. Jika ada dependensi paket, atau paket, yang Anda perbarui memiliki pembaruan yang tersedia sendiri, maka mereka juga diperbarui.

Memperbarui Satu Paket

Untuk memperbarui satu paket, jalankan perintah berikut sebagai root:

dnf upgrade package_name

Misalnya, untuk memperbarui paket python, ketik:

~]# dnf upgrade python
Using metadata from Mon Apr 20 16:38:16 2015 (2:42:14 hours old)
Dependencies resolved.
==================================================================
 Package       Arch       Version       Repository       Size
==================================================================
Upgrading:
 python        x86_64     2.7.9-6.fc22  updates           92 k
 python-libs   x86_64     2.7.9-6.fc22  updates          5.8 M

Transaction Summary
==================================================================
Upgrade  2 Packages

Total download size: 5.9 M
Is this ok [y/N]:

Keluaran ini berisi:

  1. python.x86_64 — Anda dapat mengunduh dan memasang paket python baru.

  2. python-libs.x86_64 — DNF telah memutuskan bahwa paket python-libs-2.7.9-6.fc22.x86_64 adalah dependensi yang diperlukan dari paket python.

  3. DNF menyajikan informasi pembaruan dan kemudian meminta Anda apakah Anda ingin melakukan pembaruan; DNF berjalan secara interaktif secara baku. Jika Anda sudah tahu transaksi mana yang DNF rencanakan untuk dilakukan, Anda dapat menggunakan opsi -y untuk secara otomatis menjawab yes untuk setiap pertanyaan yang mungkin diajukan DNF (dalam hal ini berjalan secara non-interaktif). Namun, Anda harus selalu memeriksa perubahan mana yang DNF rencanakan untuk dilakukan pada sistem sehingga Anda dapat dengan mudah memecahkan masalah yang mungkin timbul.

    Jika transaksi tidak berjalan lancar, Anda dapat melihat riwayat transaksi DNF dengan menggunakan perintah dnf history seperti yang dijelaskan dalam Bekerja dengan Riwayat Transaksi.

Memperbarui dan memasang kernel dengan DNF

DNF selalu memasang kernel baru dalam arti yang sama seperti RPM memasang kernel baru saat Anda menggunakan perintah rpm -i kernel. Oleh karena itu, Anda tidak perlu khawatir tentang perbedaan antara memasang dan meningkatkan paket kernel ketika Anda menggunakan perintah dnf: itu akan melakukan hal yang benar, terlepas dari apakah Anda menggunakan perintah dnf upgrade atau dnf install.

Saat menggunakan RPM, di sisi lain, penting untuk menggunakan perintah rpm -i kernel (yang memasang kernel baru) alih-alih rpm -u kernel (yang menggantikan kernel saat ini). Lihat Memasang dan Meningkatkan Paket untuk informasi lebih lanjut tentang memasang dan memperbarui kernel dengan RPM.

Memperbarui Semua Paket dan Dependensinya

Untuk memperbarui semua paket dan dependensinya, masukkan dnf upgrade tanpa argumen apa pun:

dnf upgrade

Mempertahankan Perubahan Berkas Konfigurasi

Anda pasti akan membuat perubahan pada berkas konfigurasi yang dipasang oleh paket saat Anda menggunakan sistem Fedora Anda. RPM, yang digunakan DNF untuk melakukan perubahan pada sistem, menyediakan mekanisme untuk memastikan integritasnya. Lihat Memasang dan Meningkatkan Paket untuk detail tentang cara mengelola perubahan pada berkas konfigurasi di seluruh peningkatan paket.

Paket dan Grup Paket

Mencari Paket

Anda dapat mencari semua nama dan ringkasan paket RPM dengan menggunakan perintah berikut:

dnf search term

Tambahkan all agar sesuai dengan deskripsi dan URL.

dnf search all term

This command displays the list of matches for each term. For example, to list all packages that match "meld" or "kompare", type:

~]# dnf search meld kompare
Loaded plugins: langpacks, presto, refresh-packagekit
============================ N/S Matched: meld ===============================
meld.noarch : Visual diff and merge tool
python-meld3.x86_64 : HTML/XML templating system for Python

=========================== N/S Matched: kompare =============================
komparator.x86_64 : Kompare and merge two folders

  Hanya cocok nama dan ringkasan, gunakan "cari semua" untuk semuanya.

Menampilkan Daftar Paket

dnf list dan perintah terkait memberikan informasi tentang paket, grup paket, dan repositori.

Semua perintah daftar DNF memungkinkan Anda memfilter hasil dengan menambahkan satu atau beberapa ekspresi glob sebagai argumen. Ekspresi glob adalah string karakter normal yang berisi satu atau lebih karakter wildcard * (yang diperluas untuk mencocokkan karakter apa pun beberapa kali) dan ? (yang diperluas agar cocok dengan satu karakter).

Memfilter hasil dengan ekspresi glob

Berhati-hatilah untuk menghindari ekspresi glob saat meneruskannya sebagai argumen ke perintah dnf, jika tidak, shell Bash akan menafsirkan ekspresi ini sebagai ekspansi nama path, dan berpotensi meneruskan semua berkas di direktori saat ini yang cocok dengan glob ke DNF. Untuk memastikan ekspresi glob diteruskan ke DNF sebagaimana dimaksud:

  • escape-kan karakter wildcard dengan mendahului mereka dengan backslash; atau,

  • kutip ganda atau kutip tunggal seluruh ekspresi glob.

DNF hanya mencari nama paket saat menggunakan ekspresi glob. Untuk mencari versi paket, sertakan tanda hubung dan bagian dari nomor versi sebagai berikut:

~]# dnf list kernel*-4*
Last metadata expiration check performed 2:46:09 ago on Thu May 14 23:23:51 2015.
Installed Packages
kernel.x86_64                        4.0.0-1.fc22                     @System
kernel.x86_64                        4.0.2-300.fc22                   @System
kernel-core.x86_64                   4.0.0-1.fc22                     @System
kernel-core.x86_64                   4.0.2-300.fc22                   @System
[output truncated]
dnf list glob_expression

Mencantumkan informasi tentang paket yang terpasang dan tersedia yang cocok dengan semua ekspresi glob.

Contoh 1. Mencantumkan semua add-on dan plug-in ABRT menggunakan ekspresi glob

Packages with various ABRT addons and plug-ins either begin with "abrt-addon-", or "abrt-plugin-". To list these packages, type the following at a shell prompt:

~]# dnf list abrt-addon\* abrt-plugin\*
Last metadata expiration check performed 0:14:36 ago on Mon May 25 23:38:13 2015.
Installed Packages
abrt-addon-ccpp.x86_64                  2.5.1-2.fc22               @System
abrt-addon-coredump-helper.x86_64       2.5.1-2.fc22               @System
abrt-addon-kerneloops.x86_64            2.5.1-2.fc22               @System
abrt-addon-pstoreoops.x86_64            2.5.1-2.fc22               @System
abrt-addon-python.x86_64                2.5.1-2.fc22               @System
abrt-addon-python3.x86_64               2.5.1-2.fc22               @System
abrt-addon-vmcore.x86_64                2.5.1-2.fc22               @System
abrt-addon-xorg.x86_64                  2.5.1-2.fc22               @System
abrt-plugin-bodhi.x86_64                2.5.1-2.fc22               @System
Available Packages
abrt-addon-upload-watch.x86_64          2.5.1-2.fc22               fedora
dnf list all

Mencantumkan semua paket yang terpasang dan yang tersedia.

Contoh 2. Mencantumkan semua paket yang terpasang dan yang tersedia
~]# dnf list all
Last metadata expiration check performed 0:21:11 ago on Mon May 25 23:38:13 2015.
Installed Packages
NetworkManager.x86_64                   1:1.0.2-1.fc22             @System
NetworkManager-libnm.x86_64             1:1.0.2-1.fc22             @System
PackageKit.x86_64                       1.0.6-4.fc22               @System
PackageKit-glib.x86_64                  1.0.6-4.fc22               @System
aajohan-comfortaa-fonts.noarch          2.004-4.fc22               @System
abrt.x86_64                             2.5.1-2.fc22               @System
[output truncated]
dnf list installed

Menampilkan daftar semua paket yang terpasang pada sistem Anda. Kolom paling kanan dalam keluaran mencantumkan repositori dari mana paket diambil.

Contoh 3. Menampilkan daftar paket yang terpasang menggunakan ekspresi glob yang dikutip ganda

To list all installed packages that begin with "krb" followed by exactly one character and a hyphen, type:

~]# dnf list installed "krb?-*"
Last metadata expiration check performed 0:34:45 ago on Mon May 25 23:38:13 2015.
Installed Packages
krb5-libs.x86_64                        1.13.1-3.fc22              @System
krb5-workstation.x86_64                 1.13.1-3.fc22              @System
dnf list available

Mencantumkan daftar semua paket yang tersedia di semua repositori yang diaktifkan.

Contoh 4. Mencantumkan daftar paket yang tersedia menggunakan ekspresi glob tunggal dengan karakter wildcard yang di-escape

To list all available packages with names that contain "gstreamer" and then "plugin", run the following command:

~]# dnf list available gstreamer\*plugin\*
Last metadata expiration check performed 0:42:15 ago on Mon May 25 23:38:13 2015.
Available Packages
gstreamer-plugin-crystalhd.i686              3.10.0-8.fc22          fedora
gstreamer-plugin-crystalhd.x86_64            3.10.0-8.fc22          fedora
gstreamer-plugins-bad-free.i686              0.10.23-24.fc22        fedora
gstreamer-plugins-bad-free.x86_64            0.10.23-24.fc22        fedora
gstreamer-plugins-bad-free-devel.i686        0.10.23-24.fc22        fedora
gstreamer-plugins-bad-free-devel.x86_64      0.10.23-24.fc22        fedora
 [output truncated]
dnf group list

Mencantumkan semua grup paket.

Contoh 5. Daftar semua grup paket
~]# dnf group list
Loaded plugins: langpacks, presto, refresh-packagekit
Setting up Group Process
Installed Groups:
   Administration Tools
   Design Suite
   Dial-up Networking Support
   Fonts
   GNOME Desktop Environment
[output truncated]
dnf repolist

Mencantumkan ID repositori, nama, dan jumlah paket yang disediakannya untuk setiap repositori yang diaktifkan.

Contoh 6. Mencantumkan repositori yang diaktifkan
~]# dnf repolist
Last metadata expiration check performed 0:48:29 ago on Mon May 25 23:38:13 2015.
repo id                             repo name                           status
*fedora                             Fedora 22 - x86_64                  44,762
*updates                            Fedora 22 - x86_64 - Updates             0
dnf repository-packages repo_id list

Mencantumkan paket dari repositori yang ditentukan.

Contoh 7. Menampilkan daftar paket dari satu repositori
~]# dnf repository-packages fedora list [option]
Last metadata expiration check performed 1:38:25 ago on Wed May 20 22:16:16 2015.
Installed Packages
PackageKit.x86_64                        1.0.6-3.fc22                    @System
PackageKit-glib.x86_64                   1.0.6-3.fc22                    @System
aajohan-comfortaa-fonts.noarch           2.004-4.fc22                    @System
[output truncated]

Tindakan baku adalah membuat daftar semua paket yang tersedia dan terpasang dari repositori yang ditentukan. Tambahkan opsi available atau installed untuk mencantumkan hanya paket-paket yang tersedia atau terpasang dari repositori yang ditentukan.

Menampilkan Informasi Paket

Untuk menampilkan informasi tentang satu atau beberapa paket, gunakan perintah sebagai berikut:

dnf info package_name

Misalnya, untuk menampilkan informasi tentang paket abrt, ketik:

~]# dnf info abrt
Last metadata expiration check: 1:09:44 ago on Tue May 31 06:51:51 2016.
Installed Packages
Name        : abrt
Arch        : x86_64
Epoch       : 0
Version     : 2.8.1
Release     : 1.fc24
Size        : 2.2 M
Repo        : @System
From repo   : updates-testing
Summary     : Automatic bug detection and reporting tool
URL         : https://abrt.readthedocs.org/
License     : GPLv2+
Description : abrt is a tool to help users to detect defects in applications and
            : to create a bug report with all information needed by maintainer to fix it.
            : It uses plugin system to extend its functionality.

Perintah dnf info package_name mirip dengan perintah rpm -q --info package_name, tetapi memberikan sebagai informasi tambahan nama repositori DNF tempat paket RPM dipasang (cari keluaran From repo: dalam keluaran). Perintah dnf info hanya menampilkan paket terbaru yang tersedia jika ada versi yang lebih baru yang tersedia daripada yang dipasang. Perintah dnf repoquery dapat menampilkan semua paket yang dipasang dan tersedia.

Untuk menampilkan informasi tentang semua paket yang tersedia, baik yang dipasang maupun yang tersedia dari repositori, gunakan perintah sebagai berikut:

dnf repoquery package_name --info

Misalnya, untuk menampilkan informasi tentang paket abrt, ketik:

~]# dnf repoquery abrt  --info
Last metadata expiration check: 1:01:44 ago on Tue May 31 06:51:51 2016.
Name        : abrt
Version     : 2.8.1
Release     : 1.fc24
Architecture: x86_64
Size        : 2318452
License     : GPLv2+
Source RPM  : abrt-2.8.1-1.fc24.src.rpm
Build Date  : 2016-05-25 08:54
Packager    : Fedora Project
URL         : https://abrt.readthedocs.org/
Summary     : Automatic bug detection and reporting tool
Description :
abrt is a tool to help users to detect defects in applications and
to create a bug report with all information needed by maintainer to fix it.
It uses plugin system to extend its functionality.

Lihat pernyataan penggunaan dnf repoquery untuk opsi lainnya:

~]$ dnf repoquery -h
usage: dnf [options] COMMAND
output truncated

Memasang Paket

DNF memungkinkan Anda untuk memasang satu paket dan beberapa paket, serta grup paket pilihan Anda.

Memasang Paket Individual

Untuk memasang satu paket dan semua dependensinya yang tidak terpasang, masukkan perintah dalam bentuk berikut:

dnf install package_name

Anda juga dapat memasang beberapa paket secara bersamaan dengan menambahkan namanya sebagai argumen:

dnf install package_name package_name

Jika Anda memasang paket pada sistem multilib, seperti mesin AMD64 atau Intel64, Anda dapat menentukan arsitektur paket, selama tersedia di repositori yang diaktifkan, dengan menambahkan .arch ke nama paket. Misalnya, untuk memasang paket sqlite2 untuk i586, ketik:

~]# dnf install sqlite2.i586

Anda dapat menggunakan ekspresi glob untuk secara cepat memasang beberapa paket dengan nama mirip:

~]# dnf install audacious-plugins-\*

Selain nama paket dan ekspresi glob, Anda juga dapat memberikan nama berkas ke dnf install. Jika Anda tahu nama biner yang ingin Anda pasang, tetapi bukan nama paketnya, Anda dapat memberikan dnf install nama path:

~]# dnf install /usr/sbin/named

dnf kemudian mencari melalui daftar paketnya, menemukan paket yang menyediakan /usr/sbin/named, jika ada, dan menanyakan apakah Anda ingin memasangnya.

Menemukan paket mana yang memiliki suatu berkas

Jika Anda tahu Anda ingin memasang paket yang berisi biner named, tetapi Anda tidak tahu di direktori mana /usr/bin atau /usr/sbin berkas dipasang, gunakan perintah [command]#dnf provides # dengan ekspresi glob:

~]# dnf provides "*bin/named"
Using metadata from Thu Apr 16 13:41:45 2015 (4:23:50 hours old)
bind-32:9.10.2-1.fc22.x86_64 : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
Repo        : @System

dnf provides "*/file_name" will find all the packages that contain file_name.

Memasang sebuah Grup Paket

Grup paket mirip dengan paket: itu tidak berguna dengan sendirinya, tetapi memasang satu menarik sekelompok paket kebergantungan yang melayani tujuan bersama. Grup paket memiliki nama dan groupid (GID). Perintah dnf group list -v mencantumkan nama semua grup paket, dan, di samping masing-masing grup, groupid mereka dalam tanda kurung. Groupid selalu merupakan istilah dalam pasangan tanda kurung terakhir, seperti kde-desktop-environment dalam contoh berikut:

~]# dnf -v group list kde\*
cachedir: /var/cache/dnf/x86_64/22
Loaded plugins: builddep, config-manager, copr, playground, debuginfo-install, download, generate_completion_cache, kickstart, needs-restarting, noroot, protected_packages, Query, reposync, langpacks
initialized Langpacks plugin
DNF version: 0.6.5
repo: using cache for: fedora
not found deltainfo for: Fedora 22 - x86_64
not found updateinfo for: Fedora 22 - x86_64
repo: using cache for: updates-testing
repo: using cache for: updates
not found updateinfo for: Fedora 22 - x86_64 - Updates
Using metadata from Thu Apr 16 13:41:45 2015 (4:37:51 hours old)
Available environment groups:
   KDE Plasma Workspaces (kde-desktop-environment)

Anda dapat memasang grup paket dengan meneruskan nama grup lengkapnya (tanpa bagian groupid) ke group install:

dnf group install group_name

Nama multi-kata harus dikutip.

Anda juga dapat memasang dengan groupid:

dnf group install groupid

Anda bahkan dapat meneruskan groupid, atau nama yang dikutip, ke perintah install jika Anda menambahkannya dengan simbol @-(yang memberi tahu dnf bahwa Anda ingin melakukan group install):

dnf install @group

Misalnya, berikut ini adalah cara alternatif tetapi setara untuk memasang grup KDE Plasma Workspaces:

~]# dnf group install "KDE Plasma Workspaces"
~]# dnf group install kde-desktop-environment
~]# dnf install @kde-desktop-environment

Menghapus Paket

Sama halnya dengan instalasi paket, DNF memungkinkan Anda untuk menghapus (remove dalam terminologi RPM dan DNF) baik paket individual maupun grup paket.

Menghapus Paket Individual

Untuk menghapus instalasi paket tertentu, serta paket apa pun yang bergantung padanya, jalankan perintah berikut sebagai root:

dnf remove nama_paket

Seperti ketika Anda memasang beberapa paket, Anda dapat menghapus beberapa sekaligus dengan menambahkan lebih banyak nama paket ke perintah. Misalnya, untuk menghapus totem, rhythmbox, dan sound-juicer, ketik berikut ini pada prompt shell:

~]# dnf remove totem rhythmbox sound-juicer

Mirip dengan install, remove dapat mengambil argumen berikut:

  • nama paket

  • ekspresi glob

  • daftar berkas

  • provides paket

Menghapus paket saat paket lain bergantung padanya

DNF tidak dapat menghapus paket tanpa juga menghapus paket yang bergantung padanya. Jenis operasi ini hanya dapat dilakukan oleh RPM, tidak disarankan, dan berpotensi meninggalkan sistem Anda dalam keadaan tidak berfungsi atau menyebabkan aplikasi berperilaku buruk dan berhenti secara tidak terduga. Untuk informasi lebih lanjut, lihat Membongkar Instalasi Paket di bab RPM.

Menghapus Grup Paket

Anda dapat menghapus grup paket menggunakan sintaks yang sesuai dengan sintaks install:

dnf group remove grup
dnf remove @grup

Berikut ini adalah cara alternatif tetapi setara untuk menghapus grup KDE Plasma Workspaces:

~]# dnf group remove "KDE Plasma Workspaces"
~]# dnf group remove kde-desktop-environment
~]# dnf remove @kde-desktop-environment

Bekerja dengan Riwayat Transaksi

Perintah dnf history memungkinkan pengguna untuk meninjau informasi tentang garis waktu transaksi DNF, tanggal dan waktu kapan terjadinya, jumlah paket yang terpengaruh, apakah transaksi berhasil atau dibatalkan, dan apakah basis data RPM berubah di antara transaksi. Selain itu, perintah ini dapat digunakan untuk membatalkan atau mengulang transaksi tertentu.

Mencantumkan Daftar Transaksi

Untuk menampilkan daftar semua transaksi, sebagai root, jalankan dnf history tanpa argumen tambahan, atau masukkan perintah berikut:

dnf history list

Untuk menampilkan hanya transaksi dalam rentang tertentu, gunakan perintah dalam bentuk berikut:

dnf history list start_id..end_id

Anda juga dapat mencantumkan hanya transaksi mengenai paket tertentu. Untuk melakukannya, gunakan perintah dengan nama paket atau ekspresi glob:

dnf history list glob_expression

Misalnya, daftar lima transaksi pertama mungkin terlihat sebagai berikut:

~]# dnf history list 1..4
Using metadata from Thu Apr 16 13:41:45 2015 (5:47:31 hours old)
ID     | Login user               | Date a | Action | Altere
-------------------------------------------------------------------------------
     4 | root <root>              | 2015-04-16 18:35 | Erase          |    1
     3 | root <root>              | 2015-04-16 18:34 | Install        |    1
     2 | root <root>              | 2015-04-16 17:53 | Install        |    1
     1 | System <unset>           | 2015-04-16 14:14 | Install        |  668 E

Perintah dnf history list menghasilkan keluaran tabular dengan setiap baris terdiri dari kolom berikut:

  • ID — nilai bilangan bulat yang mengidentifikasi transaksi tertentu.

  • Pengguna login — nama pengguna yang sesi loginnya digunakan untuk memulai transaksi. Informasi ini biasanya disajikan dalam bentuk Full Name<username>, namun terkadang perintah yang digunakan untuk melakukan transaksi ditampilkan. Untuk transaksi yang tidak dikeluarkan oleh pengguna (seperti pembaruan sistem otomatis), System <unset> digunakan sebagai gantinya.

  • Tanggal dan waktu — tanggal dan waktu ketika transaksi dijalankan.

  • Aksi — daftar tindakan yang dilakukan selama transaksi seperti yang dijelaskan dalam Kemungkinan nilai bidang Aksi.

  • Diubah — jumlah paket yang terpengaruh oleh transaksi, mungkin diikuti oleh informasi tambahan.

Tabel 1. Nilai yang mungkin dari bidang Aksi

[options="header"]

Aksi

Singkatan

Deskripsi

Downgrade

D

Setidaknya satu paket telah diturunkan ke versi yang lebih lama.

Erase

E

Setidaknya satu paket telah dihapus.

Install

I

Setidaknya satu paket baru telah dipasang.

Obsoleting

O

Setidaknya satu paket telah ditandai sebagai usang.

Reinstall

R

Setidaknya satu paket telah dipasang ulang.

Update

U

Setidaknya satu paket telah dimutakhirkan ke versi yang lebih baru.

Mengembalikan dan Mengulangi Transaksi

Selain meninjau riwayat transaksi, perintah dnf history menyediakan sarana untuk mengembalikan atau mengulangi transaksi yang dipilih. Untuk mengembalikan transaksi, ketik yang berikut ini pada prompt shell sebagai root:

dnf history undo id

Untuk mengulangi transaksi tertentu, sebagai root, jalankan perintah berikut:

dnf history redo id

Kedua perintah juga menerima kata kunci last untuk membatalkan atau mengulangi transaksi terbaru.

Perhatikan bahwa perintah dnf history undo dan dnf history redo hanya mengembalikan atau mengulangi langkah-langkah yang dilakukan selama transaksi, dan akan gagal jika paket yang diperlukan tidak tersedia. Misalnya, jika transaksi memasang paket baru, perintah dnf history undo akan menghapusnya dan juga mencoba untuk menurunkan versi semua paket yang diperbarui ke versi sebelumnya, tetapi perintah akan gagal jika paket yang diperlukan tidak tersedia.

Mengonfigurasi DNF dan Repositori DNF

Berkas konfigurasi untuk DNF dan utilitas terkait terletak di /etc/dnf/dnf.conf. Berkas ini berisi satu bagian [main] wajib, yang memungkinkan Anda untuk mengatur opsi DNF yang memiliki efek global, dan mungkin juga berisi satu atau lebih bagian [repository], yang memungkinkan Anda untuk mengatur opsi khusus repositori. Namun, disarankan untuk mendefinisikan repositori individual dalam berkas .repo baru atau yang sudah ada di direktori /etc/yum.repos.d/. Nilai yang Anda tentukan di bagian individual [repository] dari berkas /etc/dnf/dnf.conf menimpa nilai yang ditetapkan di bagian [main].

Bagian ini menunjukkan kepada Anda cara:

  • atur opsi DNF global dengan mengedit bagian [main] dari berkas konfigurasi /etc/dnf/dnf.conf;

  • atur opsi untuk repositori individual dengan mengedit bagian [repository] di berkas /etc/dnf/dnf.conf dan .repo di direktori /etc/yum.repos.d/;

  • gunakan variabel DNF di direktori /etc/dnf/dnf.conf dan berkas-berkas di direktori /etc/yum.repos.d/ sehingga versi dinamis dan nilai arsitektur ditangani dengan benar;

  • menambah, memfungsikan, dan menonaktifkan repositori DNF pada baris perintah; dan,

  • menyiapkan repositori DNF ubahan Anda sendiri.

Menata Opsi [main]

] Berkas konfigurasi /etc/dnf/dnf.conf berisi tepat satu bagian [main], dan sementara beberapa pasangan kunci-nilai di bagian ini memengaruhi cara dnf beroperasi, yang lain memengaruhi cara DNF memperlakukan repositori.

Anda dapat menambahkan banyak opsi tambahan di bawah judul bagian [main] di /etc/dnf/dnf.conf.

Contoh berkas konfigurasi /etc/dnf/dnf.conf dapat terlihat seperti ini:

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=true

Berikut ini adalah opsi yang paling umum digunakan di bagian [main]:

debuglevel=value

…dimana value adalah bilangan bulat antara 0 dan 10. Mengatur nilai debuglevel yang lebih tinggi menyebabkan dnf menampilkan keluara debugging yang lebih rinci. debuglevel=0 menonaktifkan keluaran debugging, dan debuglevel=2 adalah bakunya.

exclude=package_name more_package_names

Opsi ini memungkinkan Anda untuk mengecualikan paket dengan kata kunci selama instalasi dan pembaruan. Mencantumkan beberapa paket untuk pengecualian dapat dilakukan dengan mengutip daftar paket yang dibatasi spasi. Shell glob menggunakan wildcard (misalnya, * dan ?) diperbolehkan.

gpgcheck=value

…dimana value adalah salah satu dari:

0 — Nonaktifkan pemeriksaan tanda tangan GPG pada paket di semua repositori, termasuk instalasi paket lokal.

1 — Aktifkan pemeriksaan tanda tangan GPG pada semua paket di semua repositori, termasuk instalasi paket lokal. gpgcheck=1 adalah baku, dan dengan demikian semua tanda tangan paket diperiksa.

Jika opsi ini diatur di bagian [main] dari berkas /etc/dnf/dnf.conf, opsi ini menetapkan aturan pemeriksaan GPG untuk semua repositori. Namun, Anda juga dapat mengatur gpgcheck=value untuk repositori individu sebagai gantinya; Anda dapat mengaktifkan pemeriksaan GPG pada satu repositori sambil menonaktifkannya di repositori lain. Pengaturan gpgcheck=value untuk repositori individual dalam berkas .repo yang sesuai akan menimpa baku jika ada di /etc/dnf/dnf.conf.

Untuk informasi lebih lanjut tentang pemeriksaan tanda tangan GPG, lihat Memeriksa Tanda Tangan Paket.

installonlypkgs=space separated list of packages

Di sini Anda dapat memberikan daftar paket yang dipisahkan spasi yang dnf bisa pasang, tetapi tidak akan pernah memperbarui. Lihat halaman manual dnf.conf(5) untuk daftar paket yang hanya dipasang secara baku.

Jika Anda menambahkan direktif installonlypkgs ke /etc/dnf/dnf.conf, Anda harus memastikan bahwa Anda mencantumkan semua paket yang seharusnya hanya-pasang, termasuk salah satu yang tercantum di bawah bagian installonlypkgs dari dnf.conf(5). Secara khusus, paket kernel harus selalu terdaftar di installonlypkgs (sebagaimana adanya secara baku), dan installonly_limit harus selalu diatur ke nilai yang lebih besar dari 2 sehingga kernel cadangan selalu tersedia jika yang baku gagal boot.

installonly_limit=value

…dimana value adalah bilangan bulat yang mewakili jumlah maksimum versi yang dapat dipasang secara bersamaan untuk setiap paket tunggal yang tercantum dalam direktif installonlypkgs.

Baku untuk direktif installonlypkgs mencakup beberapa paket kernel yang berbeda, jadi ketahuilah bahwa mengubah nilai installonly_limit juga akan memengaruhi jumlah maksimum versi yang dipasang dari setiap paket kernel tunggal. Nilai baku yang tercantum dalam /etc/dnf/dnf.conf adalah installonly_limit=3, dan tidak disarankan untuk mengurangi nilai ini, terutama di bawah 2.

keepcache=value

…dimana value adalah salah satu dari:

0 - Jangan menyimpan cache header dan paket setelah instalasi berhasil. Ini adalah baku.

1 — Pertahankan cache setelah instalasi berhasil.

Untuk daftar lengkap opsi [main] yang tersedia, lihat bagian [MAIN] OPTIONS di halaman manual dnf.conf(5).

Menata Opsi [repository]

] Bagian [repository], dimana repository adalah ID repositori unik seperti my_personal_repo (spasi tidak diizinkan), memungkinkan Anda untuk menentukan repositori DNF individual.

Berikut ini adalah contoh minimal dari bentuk yang diambil bagian [repository]:

[repository]
name=repository_name
baseurl=repository_url

Setiap bagian [repository] harus berisi direktif berikut:

name=repository_name

…dimana repository_name adalah string yang dapat dibaca manusia yang menggambarkan repositori.

parameter=repository_url

…dimana parameter adalah salah satu dari yang berikut: baseurl, metalink, atau mirrorlist;

…dimana repository_url adalah URL ke direktori yang berisi direktori repodata dari repositori, berkas metalink, atau berkas daftar cermin.

  • Jika repositori tersedia melalui HTTP, gunakan: http://path/ke/repo

  • Jika repositori tersedia melalui FTP, gunakan: ftp://path/ke/repo

  • Jika repositori lokal ke mesin, gunakan: file:///path/ke/repo/lokal

  • If a specific online repository requires basic HTTP authentication, you can specify your user name and password by prepending it to the URL as username:password@link. For example, if a repository on http://www.example.com/repo/ requires a username of "user" and a password of "password", then the baseurl link could be specified as http://user:password@www.example.com/repo/.

    Biasanya URL ini adalah tautan HTTP, seperti:

    baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/

    Perhatikan bahwa DNF selalu memperluas variabel $releasever, $arch, dan $basearch di URL. Untuk informasi lebih lanjut tentang variabel DNF, lihat Menggunakan Variabel DNF.

Untuk mengonfigurasi kumpulan repositori baku, gunakan opsi enabled sebagai berikut:

enabled=value

…dimana value adalah salah satu dari:

0 — Jangan sertakan repositori ini sebagai sumber paket saat melakukan pembaruan dan instalasi.

1 — Sertakan repositori ini sebagai sumber paket.

Mengaktifkan dan menonaktifkan repositori juga dapat dilakukan dengan meneruskan opsi --set-enabled repo_name atau --set-disabled repo_name ke perintah dnf, atau melalui jendela Tambah/Hapus Perangkat Lunak dari utilitas PackageKit.

Masih banyak lagi opsi [repository]. Untuk daftar lengkap, lihat bagian [repository] OPTIONS di halaman manual dnf.conf(5).

Menggunakan Variabel DNF

Variabel hanya dapat digunakan di bagian yang sesuai dari berkas konfigurasi DNF, yaitu berkas /etc/dnf/dnf.conf dan semua berkas .repo di direktori /etc/yum.repos.d/. Variabel repositori meliputi:

$releasever

Mengacu pada versi rilis sistem operasi yang DNF turunkan dari informasi yang tersedia di RPMDB.

$arch

Mengacu pada arsitektur CPU sistem. Nilai yang valid untuk $arch meliputi: i586, i686, dan x86_64.

$basearch

Mengacu pada arsitektur dasar sistem. Misalnya, mesin i686 dan i586 keduanya memiliki arsitektur dasar i386, dan mesin AMD64 dan Intel64 memiliki arsitektur dasar x86_64.

Melihat Konfigurasi Saat Ini

Untuk mencantumkan semua opsi konfigurasi dan nilai yang sesuai, dan repositori, jalankan perintah dnf config-manager dengan opsi --dump:

~]$ dnf config-manager --dump
============================= main ======================================
[main]
alwaysprompt = True
assumeno = False
assumeyes = False
bandwidth = 0
best = False
bugtracker_url = https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=dnf
cachedir = /var/cache/dnf/x86_64/22
[output truncated]

Menambahkan, Mengaktifkan, dan Menonaktifkan suatu Repositori DNF

Menata Opsi [repository] menjelaskan berbagai opsi yang dapat Anda gunakan untuk menentukan repositori DNF. Bagian ini menjelaskan cara menambahkan, mengaktifkan, dan menonaktifkan repositori dengan menggunakan perintah dnf config-manager.

Menambahkan Sebuah Repositori DNF

Untuk menentukan repositori baru, Anda dapat menambahkan bagian [repository] ke berkas /etc/dnf/dnf.conf, atau ke berkas .repo di direktori /etc/yum.repos.d/. Semua berkas dengan ekstensi berkas .repo di direktori ini dibaca oleh DNF, dan disarankan untuk menentukan repositori Anda di sini alih-alih di /etc/dnf/dnf.conf.

Repositori DNF biasanya menyediakan berkas .repo mereka sendiri. Untuk menambahkan repositori seperti itu ke sistem Anda dan mengaktifkannya, jalankan perintah berikut sebagai root:

dnf config-manager --add-repo repository_url

…dimana repository_url adalah tautan ke berkas .repo.

Contoh 8. Menambahkan example.repo

Untuk menambahkan repositori yang terletak di http://www.example.com/example.repo, ketik yang berikut ini pada prompt shell:

~]# dnf config-manager --add-repo http://www.example.com/example.repo
adding repo from: http://www.example.com/example.repo
Mengaktifkan suatu Repositori DNF

Untuk mengaktifkan repositori tertentu, ketik yang berikut ini pada prompt shell sebagai root:

dnf config-manager --set-enabled repository

…dimana repository adalah ID repositori unik. Untuk menampilkan konfigurasi saat ini, tambahkan opsi --dump.

Menonaktifkan suatu Repositori DNF

Untuk menonaktifkan suatu repositori DNF, jalankan perintah berikut sebagai root:

dnf config-manager --set-disabled repository

…dimana repository adalah ID repositori unik. Untuk menampilkan konfigurasi saat ini, tambahkan opsi --dump.

Sumber Daya Tambahan

.Dokumentasi Terpasang

  • dnf(8) — Halaman manual referensi perintah DNF.

  • dnf.conf(8) — Halaman manual Referensi Konfigurasi DNF.

Dokumentasi Daring
https://dnf.readthedocs.org/en/latest/index.html

Wiki DNF berisi lebih banyak dokumentasi.