Как я могу удалить последнее установленное (недавно установленное) приложение с помощью dpkg? - PullRequest
2 голосов
/ 25 октября 2011

Мне нужно использовать команду и / или скрипт, который удаляет последний недавно установленный deb приложения.Я не могу использовать apt-get в этом случае, а dpkg --purge или аналогичный, что-то вроде dpkg --remove (последнее установленное приложение), но без указания названия приложения.

спасибо

Ответы [ 2 ]

1 голос
/ 25 октября 2011
ls -tl /var/lib/dpkg/info/*.list | head -n 1 | awk '{print $8}' | xargs -n1 basename | sed -e "s/.list//"

ls -tl /var/lib/dpkg/info/*.list: выдает список пакетов, отсортированных по дате

голова -n 1: дает вам первый предмет

awk '{print $ 8}': дает вам полное имя файла

xargs -n1 basename: дает имя файла, например, curl.list

sed -e "s / .list //" | дает вам имя пакета

0 голосов
/ 25 октября 2011

Найти последний установленный пакет относительно просто.Это самая новая запись в /var/lib/pkg/info.

Однако удаление, которое не обязательно восстановит прежнее состояние системы.

Установка пакета также установит все егозависимостей.Итак, чтобы действительно отменить установку, вам также нужно отменить эти зависимости.Вы можете видеть, что libfoo был обновлен примерно в то же время, что и appbar.Однако в информационных файлах не будет указано, было ли предыдущее состояние «libfoo» или просто более старая версия «libfoo».

...