Package-Management
列出 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
出現
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
將其保存到文件中,刪除截止日期之後出現的所有包,編輯時間戳,然後您就有了要重新出現的包列表