apt displays a progression bar across the bottom of the "terminal" (the *system-packages* buffer, in this case) for a few different subcommands. Emacs doesn't seem to play so nicely with this dynamic element, and ends up just showing a bunch of formatting garbledigook.
According to the apt(8) man page, apt's interface is subject to change, and may break backwards-compatibility. All the functionality of apt is available in other tools.
SCRIPT USAGE AND DIFFERENCES FROM OTHER APT TOOLS
The apt(8) commandline is designed as an end-user tool and it may
change behavior between versions. While it tries not to break backward
compatibility this is not guaranteed either if a change seems
beneficial for interactive use.
All features of apt(8) are available in dedicated APT tools like apt-
get(8) and apt-cache(8) as well. apt(8) just changes the default value
of some options (see apt.conf(5) and specifically the Binary scope). So
you should prefer using these commands (potentially with some
additional options enabled) in your scripts as they keep backward
compatibility as much as possible.
There are two primary reasons for this:
apt
displays a progression bar across the bottom of the "terminal" (the*system-packages*
buffer, in this case) for a few different subcommands. Emacs doesn't seem to play so nicely with this dynamic element, and ends up just showing a bunch of formatting garbledigook.According to the apt(8) man page, apt's interface is subject to change, and may break backwards-compatibility. All the functionality of apt is available in other tools.