cli/command.go
commonInit( )
其中的 store 好像是放在 link 到 /usr/lib/mender (external) 的 mender-store
store (database) 相關,寫在 store/dbstore.go
裡面可以看到用 github.com/bmatsuo/lmdb-go/lmdb
所以更新紀錄會倍放到這個 db file。
因為這個folder (/usr/lib/mender) 要放到 persistant storage,然後 link 回來。
所以 system update 後,這個 folder 內容不會被變更。
這個 mender-store 用來存很多 data。例如 update 的 artifact version.
一旦有這個資訊,mender -show-artifact 就會用database 存的值,部會用 /etc/mender/artifact_info
更新 mender-store 中,artifact-info 的時機:
download, update 完,reboot 後,mender 會跟mender.io 回報,mender.io 顯示 100% 之後,mender 才會把 artifact-info (new version) 更新到 mender-store
所以update 完 reboot 的話,剛看 artifact 還會是舊的,一直到 mender report 完,才會顯示新的版本。
沒有留言:
張貼留言