cre*_*ive 13 software-center updates update-manager package-management apt
我已经允许更新管理器安装 200 Mib 的更新,我认为这些更新使我的图形驱动程序出现问题。因此,我需要一种方法来删除自 5 月 12 日 30 日(或任何其他日期)以来已安装的更新。如果我必须手动删除它们(在一个一个卸载它们的情况下),请您告诉我如何操作。
小智 9
有一种替代的命令行方法来获取安装历史记录。
包管理器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
Run Code Online (Sandbox Code Playgroud)
该Commandline:字段指示触发运行的原因,如果是更新管理器进行的安装,它应该类似于:
Commandline: aptdaemon role='role-commit-packages' sender=':1.131'
Run Code Online (Sandbox Code Playgroud)
...还有您的软件包列表,按日期、方法和操作(安装/升级/删除)排序。请注意,如果您想将这些包传递回apt-get remove ...:
您需要通过首选的文本操作方法(例如sed,vim等)从列表中删除括号、它们的内容和逗号分隔符。因此,如果我想删除上面代码段中的包,我可以相对直接地使用该行:
sudo apt-get remove nautilus-dropbox:amd64 python-gpgme:amd64
Run Code Online (Sandbox Code Playgroud)通常/var/log/apt/term.log结构不太方便,但为了完整起见,您可以获得相同的信息。终端输出再次由时间戳分隔,可以从以下形式的行中获取包安装:
Selecting previously unselected package nautilus-dropbox.
Run Code Online (Sandbox Code Playgroud)
以下是将整个日志的已安装软件包列表打印到终端的一种方法:
$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log
Run Code Online (Sandbox Code Playgroud)
这可以进行调整或扩展以在日期范围内进行安装。
| 归档时间: |
|
| 查看次数: |
53809 次 |
| 最近记录: |