Why was `apt` made when we already have `apt-get`?
apt
is mostly intended as a new binary with some of the commonly used features of both apt-get
and apt-cache
(with more to be added later, probably), and with a "simplified" interface. Most of APT
's available command line functionality is exposed via apt-cache
and apt-get
, but these commands aren't ideal from a user experience point of view. Since those two binaries were intended as test/example commands (originally by Jason Gunthorpe, I believe), and not for serious end-user usage.
The apt
command is meant to be easier to use, and more "user-friendly". People often find it confusing that functionality is split between apt-get
and apt-cache
for instance.
See comments by Michael Vogt in his blog post: apt 1.0.
I don't think it is particularly meant to be about overcoming design mistakes.
So, it's not intended as an apt-get
replacement.
For more information, try asking the APT developers themselves. They are super-cool, but they don't hang out on Stack Exchange. Try #debian-apt
on OFTC instead.
Comments from Michael Vogt on the said #debian-apt
channel; I posted
the question link on the IRC channel.
<mvo> faheem: "design mistakes" is a bit of a strong word - we are just scared of changing anything in apt-get because it's used in a gazillion scripts by now. "apt" lets us do that plus it's easier to type and we can combine apt-get/apt-cache. so I think the answers are all fine, the key part is really that apt is more convenient to use/type.
<mvo> faheem: [snip] the gist is that apt/apt-get/apt-cache all share the same library and code, just some tweaks to the default.
From the man page:
DIFFERENCES TO APT-GET(8)
The apt command is meant to be pleasant for end users and does not need to be
backward compatible like apt-get(8). Therefore some options are
different:
· The option DPkg::Progress-Fancy is enabled.
· The option APT::Color is enabled.
· A new list command is available similar to dpkg --list.
· The option upgrade has --with-new-pkgs enabled by default.