我刚刚花了一个小时尝试解决依赖关系,以便freeCAD
从略微过时的版本开始构建维基百科。
有没有办法用或获取我在过去一小时或一天内安装的软件包apt-get
?aptitude
我第一次尝试,ls -t /var/apt/cache/archive
但列出的软件包日期很奇怪。例如,我确定刚刚安装的一个软件包python2.7-dev
被列为“2014 年 3 月 17 日”。今天列出的只有我今天早上做的几个安全更新。那里有标记为 2006 年的目录。我甚至没有那么久之前安装过它。
我也不能使用命令行历史记录,因为我混合使用了 apt-get install 和 aptitude。而且我有几个终端,一段时间后历史记录就变得混乱了。
编辑:
@jmonrio 指出了一个很好的答案,但是当我只安装了少数几个包时,它却给了我大量的包。它没有区分我要求安装的内容和作为依赖链的一部分安装的内容。
我是否有希望获得该历史记录的最小安装行?即没有自动包含的那些。
答案1
看一眼这个答案:
列出通过任何方法(apt-get、Software Center 等)安装的最近安装的软件包的命令:
grep " install " /var/log/dpkg.log
您可以运行此命令来仅列出最近安装的软件包名称,
awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log
答案2
如果您使用 sudo 启动 apt 或 aptitude,则所有命令都会写入/var/log/auth.log
。因此 agrep apt /var/log/auth.log
应该会为您提供命令。就我的情况 (Debian) 而言,它会grep '/usr/bin/apt' auth.log* | awk '{print $15}'
整齐地返回所有 apt/aptitude 命令。请进行相应调整。祝您好运!