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 provides secure package management by enabling GPG (Gnu Privacy Guard; also known as GnuPG) signature verification on GPG-signed packages to be turned on for all package repositories (package sources), or for individual repositories. When signature verification is enabled, DNF will refuse to install any packages not GPG-signed with the correct key for that repository. This means that you can trust that the RPM packages you download and install on your system are from a trusted source, such as The Fedora Project, and were not modified during transfer. See Configuring DNF and DNF Repositories for details on enabling signature-checking with DNF, or Checking Package Signatures for information on working with and verifying GPG-signed RPM packages in general. |
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.
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:
-
python.x86_64
— Anda dapat mengunduh dan memasang paket python baru. -
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. -
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. When using RPM, on the other hand, it is important to use the rpm -i kernel command (which installs a new kernel) instead of rpm -u kernel (which replaces the current kernel). See Installing and Upgrading Packages for more information on installing and updating kernels with RPM. |
Untuk memperbarui semua paket dan dependensinya, masukkan dnf upgrade tanpa argumen apa pun:
dnf upgrade
Mempertahankan Perubahan Berkas Konfigurasi
You will inevitably make changes to the configuration files installed by packages as you use your Fedora system. RPM, which DNF uses to perform changes to the system, provides a mechanism for ensuring their integrity. See Installing and Upgrading Packages for details on how to manage changes to configuration files across package upgrades.
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:
DNF hanya mencari nama paket saat menggunakan ekspresi glob. Untuk mencari versi paket, sertakan tanda hubung dan bagian dari nomor versi sebagai berikut: ~]# dnf search 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] Lihat Mencantumkan semua add-on dan plug-in ABRT menggunakan ekspresi glob dan Mencantumkan paket yang tersedia menggunakan ekspresi glob tunggal dengan karakter wildcard yang di-escape untuk contoh penggunaan kedua metode ini. |
- 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 globPackages 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 gandaTo 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-escapeTo 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
atauinstalled
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.
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 ~]# 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. |
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.
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 is not able to remove a package without also removing packages which depend on it. This type of operation can only be performed by RPM, is not advised, and can potentially leave your system in a non-functioning state or cause applications to misbehave and terminate unexpectedly. For further information, refer to Uninstalling Packages in the RPM chapter. |
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.
Untuk menampilkan daftar semua transaksi, sebagai root
, jalankan dnf history tanpa argumen tambahan, atau masukkan perintah berikut:
dnfhistory
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 bentukFull 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.
[options="header"] |
Aksi |
Singkatan |
Deskripsi |
|
|
Setidaknya satu paket telah diturunkan ke versi yang lebih lama. |
|
|
Setidaknya satu paket telah dihapus. |
|
|
Setidaknya satu paket baru telah dipasang. |
|
|
Setidaknya satu paket telah ditandai sebagai usang. |
|
|
Setidaknya satu paket telah dipasang ulang. |
|
|
Setidaknya satu paket telah dimutakhirkan ke versi yang lebih baru. |
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
:
dnfhistory
undo
id
Untuk mengulangi transaksi tertentu, sebagai root
, jalankan perintah berikut:
dnfhistory
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
dan10
. Mengatur nilaidebuglevel
yang lebih tinggi menyebabkan dnf menampilkan keluara debugging yang lebih rinci.debuglevel=0
menonaktifkan keluaran debugging, dandebuglevel=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 mengaturgpgcheck=value
untuk repositori individu sebagai gantinya; Anda dapat mengaktifkan pemeriksaan GPG pada satu repositori sambil menonaktifkannya di repositori lain. Pengaturangpgcheck=value
untuk repositori individual dalam berkas.repo
yang sesuai akan menimpa baku jika ada di/etc/dnf/dnf.conf
.For more information on GPG signature-checking, refer to Checking Package Signatures.
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 bagianinstallonlypkgs
dari dnf.conf(5). Secara khusus, paket kernel harus selalu terdaftar diinstallonlypkgs
(sebagaimana adanya secara baku), daninstallonly_limit
harus selalu diatur ke nilai yang lebih besar dari2
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 nilaiinstallonly_limit
juga akan memengaruhi jumlah maksimum versi yang dipasang dari setiap paket kernel tunggal. Nilai baku yang tercantum dalam/etc/dnf/dnf.conf
adalahinstallonly_limit=3
, dan tidak disarankan untuk mengurangi nilai ini, terutama di bawah2
. 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
, ataumirrorlist
;…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 thebaseurl
link could be specified ashttp://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 jendelaTambah/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
, danx86_64
. $basearch
-
Mengacu pada arsitektur dasar sistem. Misalnya, mesin i686 dan i586 keduanya memiliki arsitektur dasar
i386
, dan mesin AMD64 dan Intel64 memiliki arsitektur dasarx86_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.
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
.
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
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
.
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.
- http://dnf.readthedocs.org/en/latest/index.html
-
Wiki DNF berisi lebih banyak dokumentasi.
Want to help? Learn how to contribute to Fedora Docs ›