Fedora 41 mengusulkan pengalihan distribusi ke pengelola paket DNF5 secara default. Awalnya, peralihan ke DNF5 direncanakan untuk Fedora 39, tetapi migrasi tertunda karena ketidaklengkapan toolchain. Meskipun paritas fitur penuh dengan toolchain lama belum tercapai, para pengembang yakin distribusi ini siap untuk migrasi, dan fitur-fitur yang kurang dapat diimplementasikan nanti. Proposal ini belum ditinjau oleh FESCo (Komite Pengarah Rekayasa Fedora), yang bertanggung jawab atas pengembangan teknis distribusi Fedora. Jika diterima, paket dnf, libdnf, dan dnf-cutomatic akan digantikan dengan toolchain DNF5 dan pustaka libdnf5 yang baru, dan tautan simbolis /usr/bin/dnf akan mengarah ke berkas eksekusi dnf5.
DNF menggantikan pengelola paket Yum, yang sepenuhnya ditulis dalam Python, dalam distribusi ini. Dalam DNF, fungsi-fungsi tingkat rendah yang menuntut kinerja tinggi ditulis ulang dan dipindahkan ke pustaka C terpisah (hawkey, librepo, libsolv, dan libcomps), tetapi kerangka kerja dan komponen tingkat tinggi tetap menggunakan Python. Proyek DNF5 bertujuan untuk menyatukan pustaka tingkat rendah yang ada, menulis ulang komponen manajemen paket Python yang tersisa dalam C++, dan memindahkan fungsionalitas inti ke pustaka terpisah, libdnf5, dengan pembungkus di sekitar pustaka ini untuk mempertahankan API Python.
Menggunakan C++ dibandingkan Python memungkinkan kami menghilangkan sejumlah besar dependensi, mengurangi ukuran toolkit, dan meningkatkan produktivitas. Kinerja yang lebih tinggi dicapai tidak hanya melalui penggunaan kompilasi ke dalam kode mesin, tetapi juga melalui peningkatan implementasi tabel transaksi, optimalisasi pemuatan dari repositori dan restrukturisasi database (database dengan status sistem dan riwayat operasi dipisahkan). Toolkit DNF5 dipisahkan dari PackageKit dan mendukung proses latar belakang baru yang disebut DNF Daemon, yang menggantikan fungsionalitas PackageKit dan menyediakan antarmuka untuk mengelola paket dan pembaruan dalam lingkungan grafis.
Pengerjaan ulang juga memungkinkan penerapan beberapa perbaikan yang meningkatkan kegunaan manajer paket. Misalnya, DNF baru memberikan indikasi yang lebih visual mengenai kemajuan operasi; menambahkan dukungan untuk menggunakan paket RPM lokal untuk transaksi; menambahkan kemampuan untuk menampilkan informasi transaksi yang diselesaikan dalam laporan yang dihasilkan oleh skrip yang dibangun ke dalam paket; Sistem penyelesaian input yang lebih canggih untuk bash telah diusulkan.
Sumber: opennet.ru
