at_shinya.matsumoto
2024年5月30日 17時19分
Armadillo Base OS搭載製品はロールバック(※)出来る様に前バージョンのデータを残しています。
※アップデートの失敗時やファイル破損による起動失敗などLinuxが立ち上がらなかった場合に前の正常なバージョンに戻す機能
脆弱性対応やバグ対応の為にアップデートした場合はロールバックする事が安心材料にならない為、アプリケーションが
問題無く動作している事が確認出来れば、過去のデータを上書きする事をお勧めします。
《参考》
コマンド実行でロールバック先を最新にする方法
実施概要
Armadillo Base OSではA面/B面という概念を持っており、アップデート毎にA面⇒B面⇒A面⇒B面と交互に切り替わります。
また、ブートローダー、OS、アプリケーションコンテナをそれぞれA面/B面として管理しており、下記特徴があります。
※ブートローダー、OSは物理的に2面化(パーティション区切り)、コンテナはソフト的に2面化しております。
現在A面に書き込まれたソフトウェアを起動中、ブートローダーだけアップデートした場合、下記の様になります。
対象 | アップデート有無 | 結果 |
---|---|---|
ブートローダー | 有り | B面にアップデートファイルを書き込み |
OS | 無し | B面にA面をコピー |
コンテナ | 無し | B面にA面をコピー |
次に、下記いずれもアップデートしない(空の)アップデートをした場合はすべてA面がB面にコピーされます。
対象 | アップデート有無 | 結果 |
---|---|---|
ブートローダー | 無し | B面にA面をコピー |
OS | 無し | B面にA面をコピー |
コンテナ | 無し | B面にA面をコピー |
実施手順
ATDEで下記アップデートファイルを作成します。
descファイルの作成(アップデート内容無し、versionのみ追記) [ATDE]$ cat copy.desc #version swdesc_option component=extra_os.copy version=1 swdesc_command true swuファイル作成 [ATDE]$ mkswu copy.desc Enter pass phrase for /home/atmark/mkswu/swupdate.key: //←署名用パスワード入力 copy.swu を作成しました。 swuファイルサイズ(約32Kbyte) [ATDE]$ ls -lh copy.swu -rw-r--r-- 1 atmark atmark 32K 5月 30 18:31 copy.swu
上記で作成したcopy.swuをインストールするとバージョンが下記の様に書き変わります。
アップデート前 [Armadillo]# cat /etc/sw-versions base_os 3.19.1-at.2 boot 2020.4-at21 extra_os.a6e-gw-container 2.5.1 extra_os.initial_setup 4 extra_os.twin_exec_command enable アップデート後 [Armadillo]# cat /etc/sw-versions base_os 3.19.1-at.2 boot 2020.4-at21 extra_os.a6e-gw-container 2.5.1 extra_os.initial_setup 4 extra_os.twin_exec_command enable extra_os.copy 1 // ←このバージョン名だけ追記(その他バージョン変更なし)
以上でA面/B面の内容を同じにすることが出来ます。(copyのバージョン名だけ追記されます)