Как я могу удалить все обновления, установленные после определенной даты?

Я позволил менеджеру обновлений установить 200 Mib обновлений, и я думаю, что это обновление запускает мой графический драйвер в проблему. Итак, мне нужен способ удалить обновления, которые были установлены с 30 мая по 12 мая, например (или любой другой даты). Если мне придется удалить их вручную (в случае их удаления по одному), просим вас дать мне инструкции, как это сделать.

12
задан 19 June 2012 в 00:45

2 ответа

Существует альтернативный подход командной строки для получения истории установки.

Менеджер пакетов apt, кажется, регистрирует все в /var/log/apt/history.log и /var/log/apt/term.log, включая разделение всего на метки даты. Оба содержат похожую, полезную информацию, но term.log оба более многословны и не указывают явно, что инициировало операцию.

Журнал истории

/var/log/apt/history.log содержит краткую сводку по каждому прогону apt. Вот мой фрагмент для ручной установки:

Start-Date: 2014-08-22  17:17:52
Commandline: apt-get install nautilus-dropbox
Install: nautilus-dropbox:amd64 (1.6.1-1), python-gpgme:amd64 (0.3-0ubuntu3, automatic)
End-Date: 2014-08-22  17:19:13

Поле Commandline: указывает, что вызвало запуск, и в случае установок, выполненных менеджером обновлений, оно должно выглядеть примерно так:

Commandline: aptdaemon role='role-commit-packages' sender=':1.131'

... и вот ваш список пакетов, отсортированный по дате, методу и действию (установка / обновление / удаление). Обратите внимание, что если вы хотите передать эти пакеты обратно в apt-get remove ...:

  • Как упомянул , этот полностью удаляет пакеты , а не возвращает их. Информация в журналах, безусловно, может использоваться для просмотра обновленных пакетов, хотя откат их - это другой вопрос.
  • Вам нужно будет убрать скобки, их содержимое и разделитель запятых из списка с помощью предпочтительного метода обработки текста (например, sed, vim и т. Д.). Поэтому, если я хочу удалить пакеты из приведенного выше фрагмента, я могу использовать строку относительно напрямую:

    sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
    

Журнал терминала

Обычно /var/log/apt/term.log менее удобно структурированный, но для полноты вы можете получить ту же информацию. Вывод терминала снова ограничен временными метками, и установки пакетов можно получить из строк следующего вида:

Selecting previously unselected package nautilus-dropbox.

Ниже приведен один из способов печати списка установленных пакетов в терминал для всего журнала:

$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log

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

0
ответ дан 19 June 2012 в 00:45

Примечание: В отличие от Windows, удаление обновления в Ubuntu обычно удаляет этот пакет / программу и не просто возвращает (или понижает версию) это к предыдущей версии.

Вы можете открыть Ubuntu Software Center и нажать на историю

enter image description here

Как только вы это сделаете, нажмите на обновления, и это покажет вам все обновления, которые установлены в вашей системе. Как только вы найдете обновления, которые вам нужно удалить, вам нужно сделать это вручную.

enter image description here

Для удаления вы можете использовать Synaptic Package Manager. Если он не установлен, вы можете установить его из

0
ответ дан 19 June 2012 в 00:45

Другие вопросы по тегам:

Похожие вопросы: