Tools/Apt

From FedoraProject

Jump to: navigation, search

APT and Fedora

apt-get is the automatic dependency resolver originally used by Debian . It works over dpkg in a similar way to how yum, smart or up2date use RPM. It is used to install packages and their dependencies automatically. It has been ported to use RPM and rpmlib by Conectiva and has been made available for Fedora. It is currently maintained at apt-rpm.org by Panu Matilainen from Red Hat who is also the primary developer and maintainer of RPM.


Is APT-RPM available?

The Fedora repository includes APT-RPM. APT-RPM supports both the native APT metadata format, as well as the repomd metadata format yum uses.

APT-RPM can be used "out of the box" after the apt package is installed from the repository.

Why isn't APT-RPM being used in Fedora by default?

When Fedora had to decide on a default package manager for FC1 the following reasons existed:

  • APT-RPM lacked multilib support, that were required for the upcoming x86_64 architecture to be officially supported in FC2. In early 2006 APT-RPM officially added multilib support, but at the time the decision had to be made there was no such support.
  • APT-RPM is a large and complex C++ project, while yum was written using Python in much less lines of code making it easier for the Fedora Project to review, maintain and enhance. This is still a valid issue.

Later on some more reasons added to APT-RPM not being suitable as a default package manager.

  • By the beginning of 2005 APT-RPM wasn't being actively maintained (although that wasn't evident at the time the decision on the default package manager had to be made) - the primary developer started working on a new package manager called smart . In early 2006 APT-RPM development was picked up again, adding critical features like multilib and repomd.
  • Yum was an easier replacement to up2date as they both are written in Python and use the same RPM bindings. (Yum 3.0 uses C for the metadata parser). Yum also has the ability use python-based plugins for easier prototyping and optional support for things like RHN; APT-RPM plugins are written in the Lua programming language .
  • Yum also supports installation or removal of entire package groups via yum groupinstall command.
  • Later yum was used as a backend for other critical Fedora parts like anaconda and cannot be replaced now easily. APT-RPM is available in the Fedora repository and can be used side by side with other dependency resolvers like yum and smart.