Few days ago the launch of the new version of the package management toolkit APT 2.2.0 (Advanced Package Tool) which it is developed by the Debian project. This new version of APT gets to mark the freezing and incorporation of the changes accumulated in the experimental branch 2.1, with which the stable branch 2.2.0 is started
Of the most important changes in this new version, we can highlight the update in phases, as well as the performance improvements and especially the correction of errors.
Advanced Packaging Tool (abbreviated APT), is a package management program created by the Debian project. APT greatly simplifies the installation and removal of programs on GNU / Linux systems.
There is no apt program in itself, but APT is a C ++ function library used by various command line programs to distribute packages. Especially apt-get and apt-cache.
There are also programs that provide a frontispiece for APT, generally based on apt-get, such as aptitude with an ncurses text interface, Synaptic with a GTK + graphical interface, or Adept with a Qt graphical interface. There is a central repository with more than ~ 25,000 apt packages used by apt-get and derived programs to download and install applications directly from the Internet, known as one of the best qualities of Debian.
APT was quickly used to work with .deb packages, on Debian systems and derived distributions, but has since been modified to work with RPM packages, with the apt-rpm tool, and to work on other operating systems, such as Mac OS X (Fink) and OpenSolaris (Nexenta OS distribution)
Main new features of APT 2.2.0
Of the most important changes that stand out from this new version of APT 2.2.0 is that it was added andl support for phased upgrades (which are already in use in Ubuntu to restrict distribution and manage the deployment of updates). For example, phased updates allow to distribute updates for the transition to a new stable version first among a small percentage of users and after some time, if there are no regressions, distribute the updates to all other users.
Another major change from APT 2.2.0 is el support for the “Protected” field, what happened to be a replaced the “Important” field and this defines the packages that are not valid for removal, which are necessary for the system to start correctly.
On the other hand, it is highlighted that the code for the removal driver for old kernel versions (autoremoval) has been rewritten from shell to C ++ and it now runs while apt is running, rather than when installing packages with a kernel.
This change allows you to ensure that the kernel is currently loaded and not during the installation of a package with the latest kernel. To avoid an overflow of the / boot partition, three cores are kept instead of four.
For the part performance improvements, it is mentioned that now the hash algorithm XXH3 is used which is used to index cache items instead of Adler32 or RC32c, plus hash table size increased.
Of the other changes that stand out:
- Additional templates have been implemented for dependency-based package selection, such as “? You depend”.
- Option “–error-on = any” has been added to the “update” command, if set it will show an error on any failure.
- The method for applying and extracting rred patches is now available as a separate program for handling pdiff files
- apt-key is scheduled for removal in Q2 2022.
- The lower level I / O bits of the HTTP method have been rewritten to improve stability.
- The HTTP method no longer infinitely retries downloads on some connection errors.
- The pkgnames command no longer includes source packages by accident
- Various fixes to David’s fuzzing efforts
If you want to know more about it, you can check the announcement of the new version in the following link.