openSUSE’s Zypper package manager has introduced experimental support for parallel downloads (functionality available in other package managers such as Arch’s Pacman or Debian’s APT) and a reimagined media backend.
These new features were announced alongside the release of libzypp v17.36.4 and zypper v1.14.87. Initial benchmarking shows very promising results – total execution times can be cut by more than half.
According to information shared on the factory mailing list, there are two main improvements. First, an experimental package preloading capability allows Zypper to open multiple concurrent download connections.
Second, the newly refactored media backend reduces overhead by skipping metalink fetching and optimizing connections for metadata retrieval. Although both features are still experimental, they can be activated right now by simply setting the “ZYPP_PCK_PRELOAD=1” environment variable before running a command.
At the same time, the maximum number of concurrent connections can then be tweaked in the “zypp.conf” file with:
download.max_concurrent_connections = 5
Code language: Bash (bash)
The value is 5 by default; however, depending on available bandwidth and hardware resources, some systems might see better performance with a higher limit.
Moreover, enabling the new media backend further improves performance. This feature reduces unnecessary work by avoiding metalink splitting across multiple servers and focusing on more efficient connection reuse, especially during metadata fetches. To enable it, use the “ZYPP_CURL2=1” environment variable.
Although the two features can be used independently, running them together typically provides the best results. The new backend will also support mirror performance improvements when using “metalink=” in repository files, though “baseurl=” remains the preferred choice for production environments because of its trusted key behavior.
Finally, to take advantage of these enhancements, users need libzypp 17.36.4 or newer, plus zypper 1.14.87 or newer. These are already available in openSUSE Tumbleweed and Slowroll, while Leap users (versions 15 and 16) can access them through development repositories.
For more information, see the announcement.