Armadilloフォーラム

PodmanコマンドでArmadillo内のコンテナにアクセスして、コンテナ内にインストールしているパッケージのバージョンを調べようとするがエラーとなる

takeshita_kyouhei

2025年2月18日 23時09分

【概要】
コンテナ内にインストールされたPythonパッケージであるpymodbusのバージョンを確認したいがエラーとなってしまいました
原因と解決方法を知りたいです

【経緯】
Armadillo-IoT G4でPythonパッケージであるpymodbusを使用して、Modbusサーバへ接続し収集したデータをIoTHUBへ送信するプログラムを作成しています

先日、開発用SWUを新たに作成したためなのか不明ですが、以前の通りpymodbusでデータをModbusサーバから取得できなくなってしまいました
関数の仕様が変わった?ことから、pymodbusのバージョンが変化した可能性があります

そのため、コンテナ内にインストールされたpymodbusのバージョンを確認したいのですが、添付の画像の通りうまくいきませんでした

次のコマンドをArmadillo内で実行しています
 ArmadilloにはminicomでUSB-シリアルコンソールで接続しています

podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | pymodbus"

本件についてどのように解決すればよいでしょうか?

ファイル ファイルの説明
podman_エラー.png
コメント

佐藤です。

> podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | pymodbus"
podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | grep pymodbus"
としてみるとどうでしょうか。

takeshita_kyouhei

2025年2月19日 10時46分

> 佐藤です。
>
> > podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | pymodbus"
> podman run --rm localhost/modbus_collector /bin/bash -c "apt list --installed | grep pymodbus"
> としてみるとどうでしょうか。
コマンドに誤りがあったため再度実行してみましたが、添付の通り結果は変わりませんでした

ファイル ファイルの説明
podman_エラー.png

佐藤です。

atmark ユーザでログインして実行しているように見えます。
root ユーザでログインして実行してみてもらえますでしょうか。

takeshita_kyouhei

2025年2月19日 14時08分

> 佐藤です。
>
> atmark ユーザでログインして実行しているように見えます。
> root ユーザでログインして実行してみてもらえますでしょうか。
返信ありがとうございます
rootユーザで再度ログインした上で、コマンドを実行したところ結果は表示されました

しかし、2つほど疑問点があります
1.requirements.txtで定義して、インストールしているはずのpymodbusがpodmanコマンドで表示した結果見つかりませんでした

---requirements.txtの定義---
pymodbus
azure-iot-device
azure-storage-blob
requests
---ここまで---

---Dockerfileの定義(関連個所)---
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
---ここまで---

ATDE9上で確認した際に表示されたpymodbus:python3-pymodbus/oldstable.oldstable.oldstable 2.1.0+dfsg-2 all

上記が先のpodmanコマンドでmodbus_collectorに対して実行した際、見つかりませんでした
これは何が原因であると考えられるでしょうか?

2.Armadilloへログインした際、Modbus_Collector(作成したSWU)が2つ入っているように見える?
SSHやシリアルでArmadilloへ接続し、ログインした際に最初に表示されるメッセージで以下のように表示されます
Last update on Tue Feb 18 15:01:58 JST 2025, updated:
 modbus_collector: 10 -> 14
 extra_os.modbus_collector: 10 -> 14

上記は問題ないのでしょうか?

佐藤です。

> 上記が先のpodmanコマンドでmodbus_collectorに対して実行した際、見つかりませんでした
> これは何が原因であると考えられるでしょうか?
pip でインストールしているので apt コマンドでは表示されないです。
podman run --rm localhost/modbus_collector /bin/bash -c "pip list | grep pymodbus"
とするとどうでしょうか。

>
> 2.Armadilloへログインした際、Modbus_Collector(作成したSWU)が2つ入っているように見える?
> SSHやシリアルでArmadilloへ接続し、ログインした際に最初に表示されるメッセージで以下のように表示されます
> Last update on Tue Feb 18 15:01:58 JST 2025, updated:
>  modbus_collector: 10 -> 14
>  extra_os.modbus_collector: 10 -> 14
>
> 上記は問題ないのでしょうか?
こちらは問題ありません。

takeshita_kyouhei

2025年2月19日 16時13分

連絡いただきありがとうございます

> > 上記が先のpodmanコマンドでmodbus_collectorに対して実行した際、見つかりませんでした
> > これは何が原因であると考えられるでしょうか?
> pip でインストールしているので apt コマンドでは表示されないです。
> podman run --rm localhost/modbus_collector /bin/bash -c "pip list | grep pymodbus"
> とするとどうでしょうか。
上記コマンドで、想定された結果を得ることが出来ました

> >
> > 2.Armadilloへログインした際、Modbus_Collector(作成したSWU)が2つ入っているように見える?
> > SSHやシリアルでArmadilloへ接続し、ログインした際に最初に表示されるメッセージで以下のように表示されます
> > Last update on Tue Feb 18 15:01:58 JST 2025, updated:
> >  modbus_collector: 10 -> 14
> >  extra_os.modbus_collector: 10 -> 14
> >
> > 上記は問題ないのでしょうか?
> こちらは問題ありません。
上記承知しました
気にしないようにします

本件、ご対応いただきありがとうございました