It's a passionately contested issue. Which is better, YUM or APT?
You'll be surprised at the answers and it's really interesting to see what people think of each.
Yellowdog Updater Modified
Yellowdog Updater Modified, or YUM, is a complete rewrite of YUP, Yellowdog Updater.
Yum has evolved to support the Red Hat Package Manager, RPM and is used by Red Hat, Fedora, Fuduntu, CentOS, and other RPM Repo-based Distros.
Here are some of the noteworthy features of Yum:
- XML Repository format
- Automatic Metadata syncing
- A Plug-in Module system to make Yum extensible
- GUI Front-Ends, including PackageKit and Yum-Extender
Subtle differences between Apt and Yum include that Yum automatically updates a local metadata database stored in sqlite on your machine. This happens silently in the background at interval, so there isn't any need to perform an update before upgrade such as is the case with Apt-Get. With APT, a local cache stores metadata text file information but on each use, one must run sudo apt-get update before running sudo apt-get upgrade to receive needed updates.
Also, Yum checks all dependencies before starting the download process. This may seem inefficient at first, but, on a large package download, it will be a big time saver as apt-get will sometimes fail on a dependancy requiring a restart with 'sudo apt-get install -f' to continue retrieving the missing dependant packages.
Yum-presto, one of many plugins written in Python, extends yum to add new features, in this case the ability to utilize deltarpms which contain only the diffs between one version of an rpm and its newer version. This can speed downloading and installation significantly.
Yum-plugin-fastestmirror, as the name implies, is a plugin which will determine the best mirror (closest to your location) for obtaining your package(s).
Also, Yum will, when one mirror times out, switch over to another mirror to continue your download. Apt-get will fail and require a restart of your upgrade. There are many tutorials that can help with using Yum, here's one on Red Hat.
In a recent G+ Linux Advocates community discussion, +Norbert Varzariu wrote:
You need to install some plugins for yum to make it really kick ass:
aliases, changelog, fastestmirror, keys, langpacks, list-data, presto, protectbase, rpm-warm-cache, security, verifyto name a few. If you use btrfs, the fs-snapshot plugin is another great one.
fs-snapshot will allow a 'roll back' to a restore point before an update was performed.
Also, for users of yum-presto, deltarpms download first and then compile locally. This is a compute-intensive task and multi-core cpu support was added so users should notice a significant speed increase in that process.
Advanced Packaging Tool
Advanced Packaging Tool, APT is a tool used to support Debian-based Distros, including Ubuntu. Probably one of the biggest pluses going for APT is not the tool itself, but the vast repository of software applications. It is often referred to as the 'de facto' package manager standard because the majority of websites offering software will automatically package in Deb format.
Popular as APT may be it has many good things going for it that make justifying its use persuasive.
The term APT doesn't refer to a singular program but a series of apt-* tools used in conjunction with downloading updates and new programs.
Update, Upgrade and Dist-Upgrade
Update is used to synchronize packages from their index source. Upgrade is used to upgrade packages to their newest version, when made available. Dist-Upgrade does upgrade and some intelligent upgrading decisions such as when a kernel update needs to be performed. It will autonomously choose to perform higher priority upgrades first that have higher dependencies before doing others that depend on them. Dist-Upgrade is often taken when performing a system point upgrade such as when a new Distro release comes out, e.g., Ubuntu 12.04 to 12.10, will perform an in-place upgrade of your system.Several popular APT front-end GUIs are available, including the Ubuntu Software Center, Synaptics Package Manager, aptitude, KPackage, Adept Package Manager, GDebi and PackageKit.
Conclusion
I'm going to get a lot of flack for saying so, but I feel in having spent sufficient time with Fuduntu, a rolling release, that YUM is the better of the two package managers. Truthfully, I have spent many years living with rpm, apt, yum and will say as popular as deb package management is, it really has nothing else going for it over YUM.When I first began using Fuduntu, I thought I would miss Debian apt-get, but I didn't. Not one bit.
I will also point out that Yum by default, using rpm, is Linux Standard Base compliant.
So, how do you feel about it? Which package manager do you prefer? Give us your feedback.
-- Dietrich