Armadilloフォーラム

プロジェクトのコピー時のディレクトリ設定エラーについて

a20004

2025年9月29日 11時56分

==========
製品型番:Armadillo-X2
Debian/ABOSバージョン:3.20.5-at.8
カーネルバージョン:5.10.233-0-at
その他:ATDE9
==========

背景とやりたいこと:
すでに作成済み(別アカウントにて)のプロジェクト内の、一部ファイル(pythonファイル内)を変更してdevelopment.swuを作成したいと考えています。
すでに作成済みのpythonプロジェクトをATDE9のvscodeにて開き、Generate development swuを実行すると、public key が有効ではないというエラーによりイメージがビルドできませんでした。

本題:
上述背景から、新たに別プロジェクトを作成し、作成済みのプロジェクトから以下の3つの部分をコピーすることにしました。
srcフォルダ内一式
config/app.conf
container/Dockerfine
その結果、development.swuは作成でき、abos-webにてインストールも成功しました。
コンテナも起動中になっているものの、コンテナログを確認すると、以下のエラーが継続的に出ており、アプリケーションが起動しない状態です(正しく起動すれば、webアプリが起動するようなプロジェクトです)。

----------------------------------
File "/vol_app/src/main.py", line 59, in
spec.loader.exec_module(ai)
File "", line 786, in exec_module
File "", line 922, in get_code
File "", line 979, in get_data
FileNotFoundError: [Errno 2] No such file or directory: '/vol_data/ai_model/ai.py'
----------------------------------

Armadilloの階層を見に行くと、フォルダ構成はできているものの、肝心のai.pyなどのファイルが格納されていない空の状態でした。そのため、ファイルが見つからないというエラーになっているようです。

既存プロジェクトから新規プロジェクトにコピーする内容の過不足やプロジェクト名の違いなどにより、うまく必要なpyファイルがコピーされていないのではないかと推測しているのですが、間違っている箇所がわからない状態です。
こちらの原因および対策につきましてご教授いただけますと幸いです。
以上、よろしくお願いいたします。

コメント

at_satoshi.ohta

2025年9月29日 12時56分

太田です。

> すでに作成済み(別アカウントにて)のプロジェクト内の、
とのことですが、別アカウントというのは ATDE9 の atmark アカウント以外の linux アカウントを作成して ATDE9 をご使用していたということでしょうか?

また、

FileNotFoundError: [Errno 2] No such file or directory: '/vol_data/ai_model/ai.py'

のエラーが発生するということですが、デフォルトでは app.conf の以下の記述により、コンテナ内の /vol_data は Armadillo のホストOS上の「/var/app/volumes/<プロジェクト名>」ディレクトリをマウントします。

ATDE9上の config/app.conf(Armadillo 上では /etc/atmark/containers/プロジェクト名.conf):

...
add_volumes /var/app/volumes/{{PROJECT}}:/vol_data
...

Armadillo のホストOS上に /var/app/volumes/<プロジェクト名>/ai_model/ai.py は存在しますでしょうか?

存在するとしたら、Armadillo のホストOS上の 「/etc/atmark/containers/プロジェクト名.conf」に上記の
add_volumes /var/app/volumes/{{PROJECT}}:/vol_data
の記述はありますでしょうか?

ご確認お願いいたします。

太田様

お世話になります。
下記、インラインにて回答いたします。

> > すでに作成済み(別アカウントにて)のプロジェクト内の、
> とのことですが、別アカウントというのは ATDE9 の atmark アカウント以外の linux アカウントを作成して ATDE9 をご使用していたということでしょうか?

はい、その通りです。

>

> FileNotFoundError: [Errno 2] No such file or directory: '/vol_data/ai_model/ai.py'
> 

> のエラーが発生するということですが、デフォルトでは app.conf の以下の記述により、コンテナ内の /vol_data は Armadillo のホストOS上の「/var/app/volumes/<プロジェクト名>」ディレクトリをマウントします。
>
> ATDE9上の config/app.conf(Armadillo 上では /etc/atmark/containers/プロジェクト名.conf):
>

> ...
> add_volumes /var/app/volumes/{{PROJECT}}:/vol_data
> ...
> 

> Armadillo のホストOS上に /var/app/volumes/<プロジェクト名>/ai_model/ai.py は存在しますでしょうか?
>
> 存在するとしたら、Armadillo のホストOS上の 「/etc/atmark/containers/プロジェクト名.conf」に上記の
> add_volumes /var/app/volumes/{{PROJECT}}:/vol_data
> の記述はありますでしょうか?

Armadillo のホストOS上に /var/app/volumes/<プロジェクト名>/ai_model/ai.py は存在しません。
(/var/app/volumes/<プロジェクト名>/ai_modelのフォルダは存在しますが、ai.pyが入っていません。)

一方、/etc/atmark/containers/プロジェクト名.confに以下の記述はあります。
add_volumes /var/app/volumes/{{PROJECT}}:/vol_data

以上、よろしくお願いいたします。

at_satoshi.ohta

2025年9月29日 13時47分

太田です。

> はい、その通りです。
ご回答ありがとうございます。
状況把握のため、お聞きしました。

> Armadillo のホストOS上に /var/app/volumes/<プロジェクト名>/ai_model/ai.py は存在しません。

/var/app/volumes/<プロジェクト名>/ai_model/ai.py が SWU イメージに含まれていないのが原因ではないかと思います。
いくつかご確認をお願いしたいのですが、
1. ATDE9 のプロジェクトディレクトリでは ai.py はどのディレクトリに存在していますか?

2. ATDE9の元のアカウントのプロジェクトディレクトリの config/app.desc に swdesc_files コマンドなどで ai.py (または ai.py が存在するディレクトリ)を SWU イメージに含めるような記述はありますか?

3. ATDE9の元のアカウントのプロジェクトディレクトリの swu/app.desc と現在ご使用のアカウントのプロジェクトディレクトリの swu/app.desc を比較してみると何か違いが分かるかもしれません。

よろしくお願いいたします。

太田様

お世話になります。

> 1. ATDE9 のプロジェクトディレクトリでは ai.py はどのディレクトリに存在していますか?
以下のディレクトリに存在しています。
"プロジェクト名"/app/src/ai.py

> 2. ATDE9の元のアカウントのプロジェクトディレクトリの config/app.desc に swdesc_files コマンドなどで ai.py (または ai.py が存在するディレクトリ)を SWU イメージに含めるような記述はありますか?
こちらの中身は、すべてコメントアウトされており、ai.pyに関する記載はありません。
関係があるかどうかわかりませんが、一応共有しますと、
新しく作ったプロジェクトのconfig/app.descの中身もすべてコメントアウトされていますが、元のプロジェクトの方と記載内容が異なるようです。

> 3. ATDE9の元のアカウントのプロジェクトディレクトリの swu/app.desc と現在ご使用のアカウントのプロジェクトディレクトリの swu/app.desc を比較してみると何か違いが分かるかもしれません。
両者の比較を行いましたが、違いは"swdesc_option version=" の数値が異なる点のみでした。

以上、よろしくお願いいたします。

at_satoshi.ohta

2025年9月29日 14時35分

太田です。

調査して頂きありがとうございます。

> 関係があるかどうかわかりませんが、一応共有しますと、
> 新しく作ったプロジェクトのconfig/app.descの中身もすべてコメントアウトされていますが、元のプロジェクトの方と記載内容が異なるようです。

これは作成したプロジェクトのバージョンの違いですのでコメントアウトされているのでは動作には関係ありません。

> 以下のディレクトリに存在しています。
> "プロジェクト名"/app/src/ai.py

ATDE9 上で "プロジェクト名"/app/src/ai.py に ai.py が存在するのであれば、
デフォルトの挙動ですと、 Armadillo 上の
ホストOSでは、/var/app/rollback/volumes/"プロジェクト名"/src/ai.py に、
コンテナ内では、/vol_app/src/ai.py
に存在するはずです。
ai.pyがそのパスにあるかご確認頂けますでしょうか?

ソースコードは /var/app/rollback/volumes に配置するのが適切かと思いますので、もし /var/app/rollback/volumes 内に ai.py があるのであれば、
main.py 側で ai.py を実行するパスを /vol_data/ai_model/ai.py ではなく /vol_app/src/ai.py に修正するのが良いかと思います。

どうぞよろしくお願いいたします。

太田様

お世話になります。

> ATDE9 上で "プロジェクト名"/app/src/ai.py に ai.py が存在するのであれば、
> デフォルトの挙動ですと、 Armadillo 上の
> ホストOSでは、/var/app/rollback/volumes/"プロジェクト名"/src/ai.py に、
> コンテナ内では、/vol_app/src/ai.py
> に存在するはずです。
> ai.pyがそのパスにあるかご確認頂けますでしょうか?

ホストOSでは、/var/app/rollback/volumes/"プロジェクト名"/src/ai.py にありますが、
コンテナ内の/vol_app/src/ai.pyの確認方法がわかりません。val_appというのは、プロジェクトフォルダを指すということであっていますでしょうか。

> ソースコードは /var/app/rollback/volumes に配置するのが適切かと思いますので、もし /var/app/rollback/volumes 内に ai.py があるのであれば、
> main.py 側で ai.py を実行するパスを /vol_data/ai_model/ai.py ではなく /vol_app/src/ai.py に修正するのが良いかと思います。
main.py内の記載パスを/vol_app/src/ai.pyに修正してdevelopment.swuを作成した結果、コンテナログが以下のように変わりました。
FileNotFoundError: [Errno 2] No such file or directory: '/vol_data/src/ai.py'

以上、よろしくお願いいたします。

at_satoshi.ohta

2025年9月29日 15時55分

太田です。

Armadillo の /etc/atmark/containers/"プロジェクト名".conf を cat してみると、

...
add_volumes /var/app/rollback/volumes/"プロジェクト名":/vol_app:ro             
add_volumes /var/app/volumes/"プロジェクト名":/vol_data  
...

という記述はありますでしょうか?
/etc/atmark/containers/"プロジェクト名".conf はpodman_start コマンドで "プロジェクト名"コンテナの起動時にそのコンテナに渡す引数などが記載されています。
add_volumes はホストOSの指定したディレクトリをコンテナ内の指定したディレクトリにマウントします。

add_volumes ホストOSのディレクトリ:コンテナ内のマウント先ディレクトリ(:ro は読み込み専用)

つまり、

add_volumes /var/app/rollback/volumes/"プロジェクト名":/vol_app:ro             

は /var/app/rollback/volumes/"プロジェクト名"を読み取り専用でコンテナ内の /vol_app にマウントするという意味になります。
(/var/app/volumes/"プロジェクト名" はコンテナ内の /vol_data にマウントされます。)

本当にそうなっているか確認するには Armadillo 内で以下の作業をすると分かります。
ここでは、"プロジェクト名" は my_project とします。

1. /etc/atmark/containers/my_project.conf を編集

armadillo:~# vi /etc/atmark/containers/my_project.conf
sec_command xxx をコメントアウトして
set_command sleep infinity を記述

2. 以下のコマンドを実行してコンテナを起動

armadillo:~# podman_start my_project

3. コンテナが起動していることを確認

armadillo:~# podman ps                                                          
CONTAINER ID  IMAGE                               COMMAND         CREATED       
STATUS       PORTS       NAMES                                                  
7707a257b66b  localhost/my_project:latest  sleep infinity  1 second ago  
Up 1 second              my_project

4. コンテナの中に入る

armadillo:~# podman exec -it my_project /bin/sh                          

5. コンテナ内で /vol_app 内に src/ai.py があることを確認

# ls /vol_app/src

現状把握のために、
上記の手順を実施していただいてもよろしいでしょうか?

どうぞよろしくお願いいたします。

太田様

お世話になっております。

> Armadillo の /etc/atmark/containers/"プロジェクト名".conf を cat してみると、
>

> ...
> add_volumes /var/app/rollback/volumes/"プロジェクト名":/vol_app:ro             
> add_volumes /var/app/volumes/"プロジェクト名":/vol_data  
> ...
> 

> という記述はありますでしょうか?
こちらは確認したところ、以下の記載があります。
add_volumes /var/app/rollback/volumes/"プロジェクト名":/vol_app
add_volumes /var/app/volumes/"プロジェクト名":/vol_data
:roの記載がありませんが、それ以外は同じかと思います。

ご提示いただいた1~5の手順を実行し、
コンテナ内 /vol_app内にai.pyがあることを確認しました。
なお、1の手順ですが、sec_command xxx の記載はなく、
set_image localhost/"プロジェクト名":latest の記載があるのみでしたため、こちらはコメントアウトはしていませんが問題なかったでしょうか。

最後に、先ほど修正したmain.pyの記載ですが、vol_dataの部分がvol_appに修正できておりませんでした。すみません。
正しく、/vol_app/src/ai.pyに修正したところ、ディレクトリエラーのログはなくなりました。しかしながら、ArmadilloのホストOSの
/var/app/volumes/"プロジェクト名"/ai_model 内にはai.pyはありませんでした。こちらのai_modelフォルダ内にai.pyが配置されるようにしたいです。

以上、よろしくお願いいたします。

at_satoshi.ohta

2025年9月29日 17時10分

太田です。

> :roの記載がありませんが、それ以外は同じかと思います。

古いバージョンのプロジェクトではデフォルトではついてないのでその違いかと思います。
ro をつければ読み取り専用になってセキュリティ的には良い方向に向かいます。

> なお、1の手順ですが、sec_command xxx の記載はなく、
申し訳ありません。sec_command ではなく set_command です。
コンテナ起動時にコマンドを自動実行するために set_command xxx (xxx は任意のコマンドです)を設定します。

> しかしながら、ArmadilloのホストOSの
> /var/app/volumes/"プロジェクト名"/ai_model 内にはai.pyはありませんでした。こちらのai_modelフォルダ内にai.pyが配置されるようにしたいです。

ATDE9 のプロジェクトディレクトリの app/ai_model を作成して app/ai_model/ai.py を配置します。
[Generate development swu] を実行して development.swu を Armadillo にインストールするとどうでしょうか?

どうぞよろしくお願いいたします。

太田様

お世話になります。
> ATDE9 のプロジェクトディレクトリの app/ai_model を作成して app/ai_model/ai.py を配置します。
> [Generate development swu] を実行して development.swu を Armadillo にインストールするとどうでしょうか?

ATDE9 のプロジェクトディレクトリの app/ai_model を作成して app/ai_model/ai.py を配置してから作成したswuをインストールしたところ、rollbackの方のディレクトリ構成にこの変更が反映されているようです。具体的には、/var/app/rollback/volumes/"プロジェクト名"のフォルダに、srcに加えてai_modelの2つのフォルダが生成されるようになりました。つまり、ATDEのプロジェクトの/app/~以下の構成がrollbackの方にのみ反映されているようです。

/var/app/rollback/"プロジェクト名"/~の構成を、/var/app/volumes/"プロジェクト名"~ にも反映させたいのですが、それができていないということになります。
こちらの問題を解決するにはどうしたらよいのでしょうか。

また、こちらは関係あるかどうかわかりませんが、ATDE上の元のプロジェクトを見返していたところ、"旧プロジェクト名"/swu/app/etc/atmark/containers/のフォルダに、旧プロジェクト名.confのファイルがありました。現在新しく作っているプロジェクトの方では、同じ場所にconfファイルはありませんでした。
ただし、新規プロジェクトのインストール後のArmadilloの/etc/atmark/containers/にはconfファイルが存在していました。

以上、何かご知見いただけますと幸いです。よろしくお願いいたします。

at_satoshi.ohta

2025年9月30日 11時18分

太田です。

>また、こちらは関係あるかどうかわかりませんが、ATDE上の元のプロジェクトを見返していたところ、"旧プロジェクト名"/swu/app/etc/atmark/containers/のフォルダに、旧プロジェクト名.confのファイルがありました。現在新しく作っているプロジェクトの方では、同じ場所にconfファイルはありませんでした。
>ただし、新規プロジェクトのインストール後のArmadilloの/etc/atmark/containers/にはconfファイルが存在していました。

はい。こちらは SWU イメージの中には conf ファイルが含まれていますので問題ありません。

> /var/app/rollback/"プロジェクト名"/~の構成を、/var/app/volumes/"プロジェクト名"~ にも反映させたいのですが、それができていないということになります。
> こちらの問題を解決するにはどうしたらよいのでしょうか。

すみません。上記では、/var/app/rollback/volumes に配置する方法を案内していました。

/var/app/volumes ですと、電源断などでアップデートが途中で切断された時に、次回起動時に ai.py のファイルの書き込みが途中だったために起動できないなどの恐れがあります。
そのため ai_model/ai.py も /var/app/rollback/volumes に配置するのが適切かと考えています。

その危険をご了承頂いた上で /var/app/volumes に ai_model/ai.py を配置するのであれば、以下の方法があります。
my_project はプロジェクト名に置き換えてください。

1. ATDE9 の プロジェクトディレクトリに data ディレクトリを作成します。

atmark@atde9:~/my_project$ mkdir data

2. 上記で案内した ATDE9 の "プロジェクト名"/app/ai_model ディレクトリ(ai.pyを含む)を "プロジェクト名"/data に移動します。
これで "プロジェクト名"/data/ai_model/ai.py がある形になります。

3. config/app.desc に以下を追記

swdesc_files --dest "/var/app/volumes/my_project" data

これで ATDE9 の "プロジェクト名"/data/ai_model が Armadillo の /var/app/volumes/"プロジェクト名"/ai_model に配置されるはずです。
お試し頂けますでしょうか?

どうぞよろしくお願いいたします。

太田様

お世話になっております。
ご回答ありがとうございます。
ご提示いただいた手法で、ai_model/ai.pyを/var/app/volumes にコピーすることができました。
(おっしゃる通り、swuファイル生成時にアップデート中の書き込みは故障の原因になるとの警告が表示されました。)
ディレクトリ構成につきましては、解決しました。ありがとうございます。

一方で、当初の問題に戻って恐縮なのですが、別のアカウントで作成したプロジェクトをそのまま開いて編集・ビルドを行う場合、
public keyの不一致によるエラーが出ておりました。
こちらのエラーを解消する場合には、key(sshパスワード?)の再設定が必要なのでしょうか。
仕組みを理解できておらず恐縮ですが、具体的な方法をご教授いただけますでしょうか。

以上、よろしくお願いいたします。

at_satoshi.ohta

2025年9月30日 16時01分

太田です。

> ご提示いただいた手法で、ai_model/ai.pyを/var/app/volumes にコピーすることができました。

コピーできたとのことで何よりです。

> こちらのエラーを解消する場合には、key(sshパスワード?)の再設定が必要なのでしょうか。

操作手順と発生したエラーメッセージを改めて添付頂けないでしょうか?

どうぞよろしくお願いいたします。

太田様

お世話になります。
手順は以下の通りです。
1.別アカウントで作成したプロジェクトフォルダをATDE9上のホームディレクトリ直下に配置
2.mkswuフォルダも同じ場所に配置
3.vscodeでプロジェクトフォルダを開く
4.vscodeのArmadilloの拡張機能のタブにて、OPENED PROJECT->プロジェクト名->Setup enviromentをクリック
5.初期設定が完了しました。というメッセージ表示される
6.vscodeのArmadilloの拡張機能のタブにて、OPENED PROJECT->プロジェクト名->Generate development swuをクリック
7.エラーが出てビルドに失敗する

また、エラー文は以下の通りです。一部伏せ字■にしております。

Err:1 http://deb.debian.org/debian bullseye InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■
Err:2 http://deb.debian.org/debian-security bullseye-security InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■
Err:3 http://deb.debian.org/debian bullseye-updates InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■
Ign:6 http://download.atmark-techno.com/debian bullseye Release.gpg
Reading package lists...
W: GPG error: http://deb.debian.org/debian bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■
E: The repository 'http://deb.debian.org/debian bullseye InRelease' is not signed.
W: GPG error: http://deb.debian.org/debian-security bullseye-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■
E: The repository 'http://deb.debian.org/debian-security bullseye-security InRelease' is not signed.
W: GPG error: http://deb.debian.org/debian bullseye-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ■■■■■■■■■■■■■■ NO_PUBKEY ■■■■■■■■■■■■■■
E: The repository 'http://deb.debian.org/debian bullseye-updates InRelease' is not signed.
W: GPG error: http://download.atmark-techno.com/debian bullseye Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ■■■■■■■■■■■■■■
E: The repository 'http://download.atmark-techno.com/debian bullseye Release' is not signed.
Error: error building at STEP "RUN apt-get update && apt-get upgrade -y     && apt-get install -y ${PACKAGES}     && apt-get clean": error while running runtime: exit status 100
イメージをビルドできませんでした。

以上、ご確認のほどよろしくお願いいたします。

at_satoshi.ohta

2025年9月30日 18時03分

太田です。

丁寧な説明ありがとうございます。
手元で再現できるか試してみるために改めて確認させていただきたいのですが、

> 1.別アカウントで作成したプロジェクトフォルダをATDE9上のホームディレクトリ直下に配置

ここでいう別アカウントというのはどのように作成したものでしょうか?

パターン1(異なる ATDE9 の atmark アカウントを別アカウントと表現している場合):
1. virtualbox で ATDE9 を2つ立ち上げる
2. 1つ目の ATDE9 の atmark アカウントにログインして ABOSDE を使用してプロジェクトを作成
3. 2つ目の ATDE9 の atmark アカウントでログインして 1つ目の ATDE9 で作成したプロジェクトをコピー

それとも、

パターン2(ATDE9 に atamrk アカウント以外の新たに作成したアカウントを別アカウントと表現している場合):
1. ATDE9 は 1 つ起動
2. atmark アカウントでログイン後、useradd コマンドなどで新しくアカウントを作成(ここでは hoge アカウント)
3. hoge アカウントにログインして、ABOSDE を使用してプロジェクトを作成
4. hoge アカウントで作成したプロジェクトを atmark アカウントにコピー

パターン2の場合はアカウントを作成したときのコマンドを教えて頂ければ幸いです。
どうぞよろしくお願いいたします。

太田様

お世話になります。

> > 1.別アカウントで作成したプロジェクトフォルダをATDE9上のホームディレクトリ直下に配置
>
> ここでいう別アカウントというのはどのように作成したものでしょうか?
>
> パターン1(異なる ATDE9 の atmark アカウントを別アカウントと表現している場合):
> 1. virtualbox で ATDE9 を2つ立ち上げる
> 2. 1つ目の ATDE9 の atmark アカウントにログインして ABOSDE を使用してプロジェクトを作成
> 3. 2つ目の ATDE9 の atmark アカウントでログインして 1つ目の ATDE9 で作成したプロジェクトをコピー
>
> それとも、
>
> パターン2(ATDE9 に atamrk アカウント以外の新たに作成したアカウントを別アカウントと表現している場合):
> 1. ATDE9 は 1 つ起動
> 2. atmark アカウントでログイン後、useradd コマンドなどで新しくアカウントを作成(ここでは hoge アカウント)
> 3. hoge アカウントにログインして、ABOSDE を使用してプロジェクトを作成
> 4. hoge アカウントで作成したプロジェクトを atmark アカウントにコピー

パターン1になります。PCも(もちろんATDE9も)異なる、別環境で作成したプロジェクトです。
ただし、Armadilloのrootログインのパスワードはわかっている状態です。
先の作成されたプロジェクトに関しましては当方作成ではないため、作成状況の詳細につきましては把握できておりません。

以上、よろしくお願いいたします。

太田様

お世話になります。
ご質問の回答ですが、パターン1です。PC(ATDE9)が異なる、別環境で作成したプロジェクトです。
ただし、Armadilloのrootログインのパスワードはわかっている状態です。
先の作成されたプロジェクトに関しましては当方作成ではないため、作成状況の詳細につきましては把握できておりません。

以上、よろしくお願いいたします。

at_satoshi.ohta

2025年10月1日 11時28分

太田です。

パターン1とのことでこちらでも異なるATDE9から mkswu と python プロジェクトディレクトリをコピーして [Setup environment] と [Generate development swu] を実行しましたが、同様のエラーは確認できませんでした。

以下のコマンドの出力結果を教えて頂けませんでしょうか?
ここでは プロジェクト名は my_project としています。

atmark@atde9:~$ ls /etc/apt/trusted.gpg.d/
出力結果
atmark@atde9:~$ cd my_project/
atmark@atde9:~/my_project$ ls container/resources/etc/apt/trusted.gpg.d.bk/
出力結果

どうぞよろしくお願いいたします。

太田様
お世話になります。
1つ目の出力結果は以下の通りです。

atmark@atde9:~$ ls /etc/apt/trusted.gpg.d/
atmark-debian.gpg
debian-archive-bookworm-automatic.gpg
debian-archive-bookworm-security-automatic.gpg
debian-archive-bookworm-stable.gpg
debian-archive-bullseye-automatic.gpg
debian-archive-bullseye-security-automatic.gpg
debian-archive-bullseye-stable.gpg
debian-archive-buster-automatic.gpg
debian-archive-buster-security-automatic.gpg
debian-archive-buster-stable.gpg
microsoft.gpg

また、2つ目の出力結果は以下のようになっておりまして、

tmark@atde9:~/my_project$ ls container/resources/etc/apt/trusted.gpg.d.bk/
ls: 'container/resources/etc/apt/trusted.gpg.d.bk/' にアクセスできません: そのようなファイルやディレクトリはありません

ディレクトリは、以下のようになっているようです。

atmark@atde9:~/my_project$ ls container/resources/etc/apt
preferences.d  sources.list.d  trusted.gpg.d
atmark@atde9:~/my_project$ ls container/resources/etc/apt/trusted.gpg.d/
atmark-key.gpg

以上、よろしくお願いいたします。

at_satoshi.ohta

2025年10月1日 12時42分

太田です。

申し訳ありません。
trusted.gpg.d.bk は私の環境で色々試している時に作成したものです。
仰るとおり、trusted.gpg.d が正しいです。

microsoft.gpg が私の環境にはありませんが、それ以外は同じですね...
ちなみに新しく作成したプロジェクトでは問題なく SWU イメージを作成できているということだったと思いますが、そのプロジェクトを使用して開発を進めることは難しいのでしょうか?

どうぞよろしくお願いいたします。

太田様

お世話になっております。
おっしゃる通り、新しく作成したプロジェクトに必要ファイルをコピーしてマウントすればswuイメージの作成は可能です。
ただ、プロジェクトフォルダをそのまま使用してswuイメージ作成することができればより都合がよいと思い、質問した次第です。
こちらのエラーの原因解明が難しいようであれば新規プロジェクトの方法で進めようと思います。

at_satoshi.ohta

2025年10月1日 13時45分

太田です。

承知致しました。
望み薄ですが、エラーが発生するプロジェクトの方の container/Dockerfile の中身を教えて頂けませんでしょうか?
なにか分かるかも知れません。
それでも分からない場合はこちらで再現ができない以上、原因の解明は難しいです。

どうぞよろしくお願いいたします。

太田様

お手数おかけいたします。
container/Dockerfileの中身は以下の通りです。
ちなみに、こちらのDockerfileは元のプロジェクトからコピーして使用しておりますので、いずれのプロジェクトでも共通の内容です。

# ARCH will be set appropriately by scripts/build_container_image.sh
ARG ARCH
FROM docker.io/${ARCH}/debian:bullseye-slim
LABEL version="2.0.0"
 
# Add apt download source information
COPY resources/etc/apt /etc/apt/
 
# Add extra packages to containers/packages.txt
ARG PACKAGES
RUN apt-get update && apt-get upgrade -y \
    && apt-get install -y ${PACKAGES} \
    && apt-get clean
 
# Add extra files you want to copy to 'resources' directory
# Note 'app' itself will not be part of the container, but
# used as a volume
# copying 'resources_${PRODUCT}' is optional and will not error if missing
# thanks to the [r] path glob. It is only intended for product quirks.
ARG PRODUCT
COPY resources [r]esources_${PRODUCT} resources_python /
 
# Add extra python modules to app/src/requirements.txt
RUN python3 -m pip --no-cache-dir install -r requirements.txt
 
# ポートを公開
EXPOSE 5000
 
# Modify as necessary
RUN useradd -m -u 1000 atmark

両プロジェクトのcontainerフォルダを見ていて気づいたのですが、新たに作成したプロジェクトの方にのみ、Dockerfile_alpineファイルやresources_alpineフォルダが存在します。こちらは何か関係ありますでしょうか。

以上、どうぞよろしくお願いいたします。

at_satoshi.ohta

2025年10月1日 14時30分

太田です。

> 両プロジェクトのcontainerフォルダを見ていて気づいたのですが、新たに作成したプロジェクトの方にのみ、Dockerfile_alpineファイルやresources_alpineフォルダが存在します。こちらは何か関係ありますでしょうか。

こちらは alpine でコンテナを作成した場合に使用するものなので関係ないです。

Dockerfile の中身を見た限りでも特に怪しいところはないですね...
申し訳ありませんが、新しいプロジェクトで開発を進めていただいてもよろしいでしょうか?

どうぞよろしくお願いいたします。