The new version of DNF and DNF-PLUGINS-CORE has been released. It’s a stability release with a bug fixes and user experience, translations and documentation improvements. At this time DNF-PLUGINS-CORE > 0.1.18 is needed to properly connect to COPR repositories, so please upgrade to the newest plugins to avoid potential COPR network problems. More information about the release can be found in DNF and plugins release notes.
Another release of DNF stack is there. In the new version of plugins there is support for debuginfo packages to be automatically upgraded along with the package they belong to and dnf repository-packages command was optimalized drastically. In addition over ten bugs were fixed in this release. Read more in DNF and plugins release notes.
As you already know, so far DNF has been using a bunch of C libraries (hawkey, librepo, libsolv, libcomps) while yum was written entirely in Python. From now some of the DNF code will be slowly rewritten into C, more precisely, moved into libhif project. The next milestone was reached by merging hawkey into libhif and further we plan to expand libhif to support general functionality of package managers.
Why have we merged hawkey into libhif
Nowadays there are three major consumers of hawkey – DNF, PackageKit and rpm-ostree. The hawkey API was not in final form yet and was changed constantly based on demands from these package managers. We have merged hawkey project inside libhif and hidden some of not yet stable API.
Merging hawkey into libhif was another step to move more code base of DNF into C. DNF will reuse some of the existing code of libhif. Having this shared library can eliminate inconsistencies about installed packages when DNF and PackageKit is used alternately. Moreover we would like to reuse the same metadata for all package managers to save your bandwidth.
Libhif should contain the common functionality for all package managers. So far libhif is providing high level API by taking care of fetching metadata from mirrors, doing dependency solving and executing RPM transaction. In the future it will support repository configuration parsing, GPG checking and so on. At this time, this is handled by all package managers separately.
Facts for Hawkey consumers:
- libhif-0.7.0 will obsolete hawkey package
- some of the C hawkey API from libhif will not be exposed anymore, please use libhif functions instead
- python bindings will not change and the libhif package will still provide
- API in libhif is still not considered as fully stable yet
- first release of libhif with hawkey inside is targeted for Fedora 25
Please watch libhif project on github and participate in pull request discussions so you can influence the development.
Thanks to Michal Sherer, a big computer security enthusiast, the DNF users are now able to enhance the privacy and the security of their systems using Tor network for metadata and packages downloading. For those of you who are not familiar with the basic concepts of Tor networking there is a short introduction available on the project pages. Hiding your identity during the communication with mirrors reduces the ability of potential sniffing attacker to determine the exact applications and their versions used on your system and most likely secures your downloading from the attacks like quantum insert.
Since this feature has been introduced in
DNF-1.1.6-1, it should be already available in your supported up to date Fedora installations and it can be enabled in the following four easy steps:
First of all, you have to install tor package from your distribution repository. You can do so via your favorite package manager by executing ‘
dnf install tor', that will install
torsocks packages into your system.
2, Configuration of Tor
By default, the Tor SOCKS proxy is configured to run in a client mode listening on your
9050. This default configuration might be altered by editing the
torsocks.conf file located inside
3, Activation of Tor service
Start the Tor proxy by
systemct start tor and enable it permanently by
systemctl enable tor. Check whether Tor service is up and properly running by
systemct status tor .
4, Configuration of DNF
On the DNF side of configuration, the only required step is to simply add
proxy=socks5h://127.0.0.1:9050 line into your
/etc/dnf/dnf.conf. From this point, any upcoming DNF communication with remote servers will be routed through the Tor network.
P.S.: I guess that even more of Tor awesomeness is coming soon in DNF plugins extras.
New year is there and so new release of DNF and DNF-PLUGINS-CORE. A lot of bugs have been fixed, improved speed of bash completion and documentation has been reviewed. Download plugin has been extended with two additional options. Read complete list of fetures and bug fixes for DNF and DNF plugins.
DNF team wish you all the best in year 2016.
I am pleased to announce you that DNF team updated main wiki pages on fedoraproject.org to be relevant and up-to-date for DNF (Yum procedures are still described there but could be outdated). Moreover in System Administrators Guide for F22 and up on docs.fedoraproject.org, yum commands were replaced with DNF command alternatives.
If you find wiki page, which you consider as crucial and targets yum only, report it or rewrite it by yourself. Thanks.
New release of DNF stack (dnf, dnf-plugins-core, dnf-plugins-extras, hawkey and libsolv) is going to Fedora 21, 22, 23 and rawhide. Most of the fixes happened under the hood in DNF libraries. The emphasis was on stability and making smooth system upgrades. For more information take a look at release notes.
Dear DNF users,
it is an honor for me to introduce to you our newly implemented mark command. If you are now wondering what was the motivation behind implementing this feature and also expecting some tidbits from DNF development, you are in the right spot. So prepare your favorite hot beverage and stay tuned. The story now begins:
In the early days of DNF development, the original members of the team decided that the cool feature called clean_requirements_on_remove should have been enabled by default . This is exactly that feature of DNF which prevents your system from overblooting by installed, but no longer needed dependencies of packages.
Unfortunately, the world of rpm distribution is not always as bright and shiny as it might seen for the first look. There are situations where a manual user intervention is necessary, so lets take a look at a few of them:
PROBLEM: I used package manager incompatible with DNF for installation of packages A and B. Consequently DNF wants to autoremove these packages.
SOLUTION: Packages that user wants to preserve in his system can be marked as installed by user via following command dnf mark install A B.
PROBLEM: I installed package A alongside with his dependencies B and C. Now I want to remove package A but keep the package C.
SOLUTION: Mark package C as user installed by dnf mark install C.
PROBLEM: I installed package A and consequently installed package B which depends on package A. Now I decided to remove package A but it is not possible without removal of package B.
SOLUTION: Mark package A for removal by dnf mark remove A and package A will be autoremoved once there are no packages dependent on package A.
Thank you for your attention.