Вот ситуация: скажите, в 17:00, я установил много пакетов, я вижу их в истории центра программного обеспечения человечности. Также я вижу их в dpkg файле журнала с помощью метода, предоставленного этим потоком. Мой вопрос: как я могу удалить их легко. Существуют так многие, я не могу удалить их один за другим в синаптическом.
Поток я, которого может иметь linded, объясняю метод. Однако я не вижу время, указанное в команде, поскольку я не хочу, удаляют любые другие пакеты, установленные в другое время.
Попробуйте эту команду,
awk '$1~/yyyy-mm-dd/ && $2~/hh:mm:ss/ && $3~/install/ { print $4}' /var/log/dpkg.log | xargs -I{} sudo apt-get -y remove {}
Пример:
awk '$1~/2014-04-17/ && $2~/15:55:03/ && $3~/install/ { print $4}' /var/log/dpkg.log | xargs -I{} sudo apt-get -y remove {}
вышеупомянутая команда удалит все пакеты, которые установлены на 2014-04-17
в то время 15:55:03
.
/var/log/dpkg.log
списки все команды установки с метками времени, просто сделайте grep
. Кроме того, /var/log/apt/history.log
списки все склонные - получают действие, включая пакеты, установленные или удаленные сразу.
При установке этого до apt
можно использовать /var/log/apt/history.log
. Это - структура, как таково:
Start Date: YYYY-MM-DD HH:MM:SS
Commandline: apt-get install package1 package2 package3 . . .
Install: library1 libary2 package1 package2
End-Date: YYYY-MM-DD HH:MM:SS
Знание, что мы можем использовать awk для поиска конкретной даты и времени, убывание один рев строки, что, избавьтесь от способных - получают строку установки, оставляя только список пакетов. Например, вот демонстрационная команда:
awk -F':' '/2015-06-05 16:02:43/ {getline; gsub("apt-get install",""); print $2}' /var/log/apt/history.log
можно добавить канал к xargs apt-get remove
для удаления тех пакетов.
awk -F':' '/2015-06-05 16:02:43/ {getline; gsub("apt-get install",""); print $2}' /var/log/apt/history.log | xargs apt-get remove