IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    apt-log: 找回误删的软件包

    aifreedom发表于 2010-11-10 03:35:58
    love 0

    本文在署名-非商业性使用-相同方式共享 3.0版权协议下发布, 转载请注明出自aifreedom.com

    今天想在 Linux 里装上 PPLive 看 WDC 的比赛, 装了几个依赖的 lib 还是不能用. 嫌麻烦不折腾了, 就顺手把刚装的几个 lib 包删掉. 正删着发现不对劲了, 怎么把 gnome-do, workrave, emacs, AUCTeX 都删了?! 想也没想, 就把终端关了. 这时候才想起来关了终端也没用, apt-get 是 root 的进程. 找到 pid, 果断 kill.

    但删除已经进行到一半被退出, 也不知道到底删了多少去了. 用 sudo dpkg --configure -a 恢复更新的进程. 果然满目疮痍, 连 nautilus 都没了.. 只有找 apt 的日志来恢复了.

    在我的系统里, apt 的日志存在 /var/log/apt/ 目录里. 因为是刚刚删完的, cat /var/log/apt/history.log 里最后一条就是刚删掉的包, 把它们重新装一遍就好了.

    顺便, 我还找到了一个给 apt 的 log 提供按日期, 安装包名字等查找的脚本 "apt-log", 可以在它的 Download 页面下载.

    使用方法很简单, 看一下它给出的例子就很清楚了. 比如, 按照时间来查找:

    1. apt-log 2010 就会显示出你2010年有更新日志的月份.
    2. apt-log 2010-11 会显示有更新的天. 依次查找, 可以找到每次更新的时间, 也就可以看到每次更新的日志.

    apt-log还有一些参数, 比如:

    • apt-log --changes 2010-11-10 显示2010-11-10这一天做的所有修改.
    • apt-log --history kde.* 显示所有kde包的修改历史.
    • apt-log --status gnome.* 显示所有gnome包的状态.

    更多的example, 见apt-log作者给出的example/doc.

    链接 | 评论(6) | 关于我

    Creative Commons License 本站原创作品在署名-非商业性使用-相同方式共享 3.0版权协议下发布,转载请注明出处。

    © 2007-2014 作者及版权归属: Ai.Freedom



沪ICP备19023445号-2号
友情链接