TL; DR Фактическое имя пакета - libatk-bridge2.0-0
, следовательно, libatk-bridge2.0
соответствует: libatk-bridge2.0-0
(который почти всегда там) и libatk-bridge2.0-dev
.
Вы не установили libatk-bridge2.0
, вы установили другие вещи:
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.
И libatk-bridge2.0
соответствовали им, потому что фактическое имя пакета - libatk-bridge2.0-0
.
Затем ваша чистка
снова использовала libatk-bridge2.0
и действительно соответствовала libatk-bridge2.0-0
, которую нужно было удалить. Провоцирование:
The following packages will be REMOVED:
***A LOT OF STUFF**
Это удаляет много вещей, потому что ATK (и его мост DBUS) находится близко к нижней части дерева зависимостей GNOME. Поэтому почти все, что зависело от среды GNOME и GTK, было помечено для очистки.
apt-get
выполняет сопоставление регулярных выражений, когда не может найти точное имя пакета. Из man apt-get
( install
command section):
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.
Так что да, libatk-bridge2.0
имеет точку (.
]), поэтому его можно использовать в качестве регулярного выражения в глазах apt-get
.
Сегодня я наткнулся на вполне разумное объяснение. Jargon File (ссылка) объясняет snarf так:
snarf: /snarf/, vt.
- [в сообществе Unix] Получить файл или набор файлов по сети. См. также blast. Этот термин вошел в обиход в конце 1960-х годов и означал 'есть по-свински'. В контексте он все еще может иметь такой оттенок. "Он находится на стадии хакерства - пересылает по FTP мегабайты материала в день. "
Похоже, что разработчики Плана 9 воспринимали копирование не как атомарное действие. Копирование - это фактически:
(Cutting, с другой стороны, это snarfing и deleting оригинального контента одновременно. )
Я задал этот вопрос в списке рассылки 9fans. Вы можете посмотреть тему здесь (ссылка)1.
Вот ответ1 который я получил от Роба Пайка:
Операция заключается не в копировании, а в snarf. Она называется snarf, потому что потому что "snarf" - это то, что он делает. Проектного документа не существует.
1: Как Stéphane Chazelas указал в комментарии, вы можете использовать http://marc.info/?t=147367568900005&r=1&w=2, чтобы избежать необходимости создавать учетную запись для просмотра архивов списка.