Armadilloフォーラム

コンテナアプリケーション内でpingが使用できない

ryo_sakura

2025年3月25日 19時25分

シェルスクリプトプロジェクトにて、main.sh内でpingコマンドを使用するためにiputils-pingをインストールし実行したのですが、「ping: command not found」と出力されてしまいます。
何か対処法はございますでしょうか?

==========
製品型番:
Debian/ABOSバージョン:
カーネルバージョン:
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

コメント

at_dominique.m…

2025年3月26日 10時00分

ryo_sakuraさん

お世話になっています、
マルティネです。

> シェルスクリプトプロジェクトにて、main.sh内でpingコマンドを使用するためにiputils-pingをインストールし実行したのですが、「ping: command not found」と出力されてしまいます。

iputils-ping をインストールした方法を教えていただけますでしょうか?
packages.txt にパッケージを追加した後に、「Generate xx swu」でコンテナをビルドしないで「run app on armadillo」だけを実行するとインストールされません。
また、コンテナでaptなどでパッケージをインストールしても次の実行では消えますのでご注意ください。

念の為、main.sh に「dpkg -l iputils-ping」を実行してみてパッケージの有無を確認してみてください。

よろしくおねがいします。

ご返答いただきありがとうございます。
先にインストールした方法を共有いたします。
iputils-pingはpackages.txtとDockerfileでのインストールの2通りを試しました。
パッケージ追加後にコンテナをビルドしたうえでRUNをしたため、そちらに関しては問題ないかと思われます。

at_dominique.m…

2025年3月26日 10時33分

お返事ありがとうございます。

> パッケージ追加後にコンテナをビルドしたうえでRUNをしたため、そちらに関しては問題ないかと思われます。

RUNというのは「App run on Armadillo」でしょうか。
DockerfileのRUN命令でしょうか。(そちらでしたらコマンドは見えると思いますが、main.shとの関係がわかりませんので確認させてください)

App run on armadilloでしたら、お手数ですがビルドだけではなく swu をインストールしましたか?
run コマンドですと main.sh がコピーされますが、ビルドしたコンテナは自動的にインストールされません。
dpkg -l で確認していただければ確実です。

また、alpine の iputils-ping では問題ありませんが debian パッケージの場合は ping プログラムが cap_net_raw=ep のキャパビリティを持ってるため、標準ですと「bash: /usr/bin/ping: Operation not permitted」としてエラーします(No such file or directory ではないので別の問題になります)

そのキャパパビリティは実際に不要なので、Dockerfileにパッケージをインストールした後に「setcap -r /usr/bin/ping」コマンドを実行すればその設定を外せば実行かのうとなります。(コンテナにキャパビリティを設定しても動きますが、不要なのでファイルを直した方がいいと思います。こちらの問題は Debian Trixie で修正されました)

よろしくおねがいします

> RUNというのは「App run on Armadillo」でしょうか。
→RUNは「App run on Armadillo」の実行を指しておりました、わかりにくく申し訳ございません。

> App run on armadilloでしたら、お手数ですがビルドだけではなく swu をインストールしましたか?
→はい、ビルドとswuファイルのインストールを行いました。

> また、alpine の iputils-ping では問題ありませんが debian パッケージの場合は ping プログラムが cap_net_raw=ep のキャパビリティを持ってるため、標準ですと「bash: /usr/bin/ping: Operation not permitted」としてエラーします(No such file or directory ではないので別の問題になります)
→ケイパビリティについてはまだ試していないので、試してみます。

Dockerファイルについてスクリーンショットを添付いたします、ご確認をお願いいたします。

ファイル ファイルの説明
スクリーンショット 2025-03-26 140649.png