列出 Gentoo 系统上自某个日期以来未重新编译的所有软件包

列出 Gentoo 系统上自某个日期以来未重新编译的所有软件包

系统更改(例如 gcc、perl、python、qt...更新)可能要求必须重建许多包。

这通常会在世界重建时结束

# emerge --ask --emptytree --verbose @system
# emerge --ask --emptytree --verbose @world

在一个包含 2000 个软件包的世界重建中,合并可能会失败数十或数百个,并且必须解决这些问题。

world从技术上讲,解决问题后可以重建,但这需要很长时间。

如何列出从当天起尚未成功重建的所有软件包$DATE

到目前为止我尝试过的:

# create a sorted list with all packages built till $DATE=2017-05-30
qlop -ld 2000-01-01 -d $DATE | cut -d ">" -f 4 | sort

但这个列表包含

  • 所有版本,而不仅仅是最新版本
  • 从系统中删除的软件包
  • 之后已成功重建的软件包$DATE

答案1

出现eix

然后

eix-update
eix '-I*' --format '<installedversions:DATESORT>' | sort -n | cut -f2-3

将为您提供已安装软件包的列表(如有必要,带有插槽),按安装日期排序。例如: ... 15/11/17 12:34:51 net-misc/rsync 15/11/17 12:35:29 dev-libs/libuv 15/11/17 12:35:58 app-editors/vim-core 15/11/17 12:36:32 dev-python/pycairo 15/11/17 12:37:17 app-editors/vim 15/11/17 12:37:49 dev-util/eric

将其保存到文件中,删除截止日期之后出现的所有包,编辑时间戳,然后您就有了要重新出现的包列表

相关内容