TL; DR O nome real do pacote é libatk-bridge2.0-0 portanto libatk-bridge2.0 corresponde: libatk-bridge2.0-0 (que é praticamente sempre lá) e libatk-bridge2.0-dev .
Você não instalou libatk-bridge2.0 que instalou outras coisas:
Note, selecting 'libatk-bridge2.0-0' for regex 'libatk-bridge2.0'
Note, selecting 'libatk-bridge2.0-dev' for regex 'libatk-bridge2.0'
libatk-bridge2.0-0 is already the newest version (2.18.1-2ubuntu1).
The following additional packages will be installed:
libatspi2.0-dev libdbus-1-dev libxtst-dev x11proto-record-dev
The following NEW packages will be installed:
libatk-bridge2.0-dev libatspi2.0-dev libdbus-1-dev libxtst-dev
x11proto-record-dev
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
E libatk-bridge2.0 combinaram com eles porque o nome real do pacote é libatk-bridge2.0-0 .
Em seguida, seu purge usou libatk-bridge2.0 novamente e correspondeu a libatk-bridge2.0-0 a ser removido. Provocar:
The following packages will be REMOVED:
***A LOT OF STUFF**
Isso remove muitas coisas porque o ATK (e sua ponte DBUS) está perto da parte inferior da árvore de dependências do GNOME. Portanto, praticamente tudo que dependia do ambiente GNOME e do GTK foi marcado para eliminação.
apt-get realiza correspondências de regex quando não consegue encontrar um nome de pacote exato. De man apt-get ( install seção de comando):
If no package matches the given expression and the expression
contains one of '.', '?' or '*' then it is assumed to be a POSIX
regular expression, and it is applied to all package names in the
database. Any matches are then installed (or removed). Note that
matching is done by substring so 'lo.*' matches 'how-lo' and
'lowest'. If this is undesired, anchor the regular expression with
a '^' or '$' character, or create a more specific regular
expression.
Então, sim, libatk-bridge2.0 tem um ponto ( . ), portanto, é bom o suficiente como uma regex em apt-get .