6

Я просто потратил час, пытаясь решить зависимости, чтобы собрать freeCAD из их слегка устаревшей Wiki.

Есть ли способ получить пакеты, которые я установил за последний час или день, с помощью apt-get или aptitude?

Моей первой попыткой был ls -t /var/apt/cache/archive но в нем были перечислены пакеты со странными датами. например, я уверен, что установленный сейчас python2.7-dev указан как "17 марта 2014 года". Единственное, что было указано сегодня, - это несколько обновлений безопасности, которые я сделал сегодня утром. И есть марки, отмеченные с 2006 года. У меня даже не было этой установки давно.

Я также не могу использовать историю командной строки, потому что я использовал сочетание apt-get install и aptitude. Кроме того, у меня было несколько терминалов, и через некоторое время история стала чокнутой.

редактировать:

@jmonrio указал на отличный ответ, но это дает мне массу пакетов, когда я установил только несколько. он не отличается от того, что я просил установить, от того, что было установлено как часть цепочки зависимостей.

Есть ли у меня надежда получить минимальную строку установки для этой истории? т.е. без автоматически включенных.

2 ответа2

6

Посмотрите на этот ответ:

Команда для просмотра списка недавно установленных пакетов, которые были установлены любым способом (apt-get, Software Center и др.):

grep " install " /var/log/dpkg.log

Вы можете запустить эту команду, чтобы получить список только недавно установленных имен пакетов,

awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log
1

Если вы используете sudo для запуска apt или aptitude, все команды записываются в /var/log/auth.log . Поэтому команда grep apt /var/log/auth.log должна предоставить вам команды. В моем случае (Debian), grep '/usr/bin/apt' auth.log* | awk '{print $15}' аккуратно вернул все команды apt /aptitude. Отрегулируйте соответственно. Удачи!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .