sudo robotctl update apply
最終更新
sudo robotctl update apply daemon
sudo robotctl update apply --ref main daemon
sudo robotctl update apply --staging daemon
更新をインストールします。署名、成果物のハッシュ、ヘルスゲート、自動ロールバックがすべて動きます。起動しないビルドは取り消され、ボードは以前動いていたものに戻ります。
開発ボードでの罠
--refを付けないapply daemonは最新の安定リリースを入れます。開発ボードではこれは通常ダウングレードです。
意味は「最新のものを入れる」ではなく「安定チャネルが提供するものを入れる」です。ブランチがマージされた直後でも、その安定リリースはテストしてきたすべてより古いままです。
さらに、いまボード上に unit ファイルを持つデーモンより古い場合、その ExecStart は旧リリースに存在しないバイナリを指し、再起動が失敗して更新がロールバックします。ゲートは正常に働いているのに、それを引き起こしたコマンドが一番自然に見えるものでした。
already_current は惰性ではない
ボードが既に持つバージョンを要求すると already_current と報告して何もインストールしません——しかし惰性ではありません。そのリリースで動いているデーモンを確認し、動いていないものを再起動して stale に名指しします。
だから修正が効いていないように見えるときはこれを使います。直るか、stale が空でその修正がそのリリースに最初から入っていなかったと分かるかのどちらかです。