e1234
2024年4月10日 16時03分
Armadillo Base OSでの、SWアップデートに関してです。
①/var/app/volumes配下以外のファイルの場合、
SWアップデート実行によりファイル削除ができませんでした。
(ソフトウェアアップデート自体はエラー無く完了しますが、指定のファイル(test.txt)を削除できていませんでした。)
----------------------------------------------------------------------------
<.descファイルの内容>
swdesc_command_nochroot --version extra_os.test_config 1.0.5 \
"rm /home/atmark/test/test.txt" \
"persist_file -v /home/atmark/test/test.txt"
---------------------------------------------------------------------------
②/var/app/volumes配下のファイルの場合、
SWアップデート実行によりファイル削除をすることができました。
(指定のファイル(test.txt)を削除できていました。)
----------------------------------------------------------------------------
<.descファイルの内容>
swdesc_command_nochroot --version extra_os.file_delete 1.0.0 \
"rm /var/app/volumes/test/test.txt"
---------------------------------------------------------------------------
■質問内容
(1) /var/app/volumes配下以外のファイルを削除したい場合の、
対応方法を教えていただけないでしょうか?
(上記①の.desc内容で出来なかったため、対応方法を知りたいです。)
(2) swuイメージ使用によるソフトウェアアップデート(「swupdate -i (.swuファイル)」コマンド実行)により、
/var/app/volumes配下を更新することに関して、何か問題はありませんでしょうか?
コメント
e1234
太田さん
お世話になっております。
回答ありがとうございます。
アップデートの仕組みについて、
丁寧なご説明ありがとうございました。
/var/app/volumes配下は二面化されていないが、
/home/atmark配下だと二面化されており、
swdesc_command コマンドで実行が必要なのですね。
(1)に関して、
swdesc_command コマンドで、ファイル削除できることを確認いたしました。
ありがとうございます。
>swdesc_command ではなく swdesc_command_nochroot を実行した理由をお聞きしてもよろしいでしょうか?
マニュアル(Armadillo-640 製品マニュアル (Armadillo Base OS対応))の、
「6.4.5. 起動中の Armadillo で任意のコマンドを実行する」を参照し、
swdesc_command_nochrootコマンドを使用していました。
swdesc_command_nochroot と swdesc_command の違いは理解できておりませんでした。
at_satoshi.ohta
お世話になっております。
太田です。
> /var/app/volumes配下は二面化されていないが、
> /home/atmark配下だと二面化されており、
> swdesc_command コマンドで実行が必要なのですね。
おっしゃるとおりです。
> マニュアル(Armadillo-640 製品マニュアル (Armadillo Base OS対応))の、
> 「6.4.5. 起動中の Armadillo で任意のコマンドを実行する」を参照し、
> swdesc_command_nochrootコマンドを使用していました。
> swdesc_command_nochroot と swdesc_command の違いは理解できておりませんでした。
貴重なご意見ありがとうございます。
参考にさせていただきます。
今後ともどうぞよろしくお願いいたします。
at_satoshi.ohta
2024年4月10日 19時01分
お世話になっております。
太田です。
(1) に関しましては swdesc_command_nochroot を実行せずに swdesc_command を実行してください。
(2) に関しましては、swupdateを使用してファイルを削除、追加することは推奨される手順なので特に問題はありません。
前提として、ABOS は OS・ブートローダー・コンテナ部分は安全性を担保するため二面化しています。
それにより、万が一アップデートに失敗した場合、作業前の状態にロールバックすることができます。
ここでは、bootして動作している面をA面として、もう一方の面をB面とします。
swupdate を実行した場合、まずA面をB面にコピーした後にB面をアップデートします。
アップデートが成功した場合、次回起動時にB面に切り替わります。
アップデートが失敗した場合、A面のままになります。
swdesc_command_nochroot はA面に対してコマンドを実行します。
swdesc_command はB面に対してコマンドを実行します。
(1) に関しましては swdesc_command_nochroot を実行せずに
swdesc_command を実行することで再起動後のファイルが削除された状態のB面に切り替わります。
そのため、swdesc_command_nochroot を実行せずに swdesc_command を実行してください。
ちなみにですが、
swdesc_command ではなく swdesc_command_nochroot を実行した理由をお聞きしてもよろしいでしょうか?
よろしくお願いいたします。