系统更改(例如 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
将其保存到文件中,删除截止日期之后出现的所有包,编辑时间戳,然后您就有了要重新出现的包列表