Итак ты установил пакет, который по зависимостям притянул 100500 пакетов.
По каким-либо причинам функционал этого установленного пакета тебе не понравился и ты удалил его.
Но вместе с ним удалилось не 100500 пакетов, а всего лишь 100.
Почему так происходит:
Инструментарий apt отмечает пакеты как установленные вручную, те и только те, которые были установлены вручную.
При удалении пакета apt просматривает список автоматически установленных пакетов, и если пакет не является зависимым, рекомендуемым или предлагаемым для установленного, но не предложенного к удалению пакета, то этот пакет предлагается для автоматического удаления.
И что тогда делать:
Естественно заглянуть лог apt`a, здесь вся информация об осуществленных транзакциях. Ну и отсюда как говорится пляшем.
Итак если после установки большой группы пакетов ее необходимо удалить, то можно попробовать использовать такой скрипт:
[ВАЖНО] С учетом, что после нужной транзакции ничего не удалялось, не устанавливалось и не обновлялось.
[ВАЖНО] Воможно здесь ошибка.
tail -n 5 /var/log/apt/history.log | sed -e '1,3d' -e '5d' -e 's/Install://' -e 's/ ([^)]*),*//g' | xargs apt-get -sy purge
Если часть пакетов уже удалена, то наверное нужно копать где-то в сторону diff.
И да, я не являюсь специалистом по «сумашедшему» sed и регулярным выражениям, поэтому не претендую на оптимальность данного варианта.