takeshita_kyouhei
2024年2月28日 14時37分
ABOSDEでtelegrafがインストールされたSWUを作成しようとした際に失敗してしまいます
InfluxData公式サイトに記載されたapt-getを用いたインストール手順を思考していますが失敗します
https://docs.influxdata.com/telegraf/v1/install/
ABOSDEでDocjerFileを開き、以下のように変更を行った上で「開発用SWUを作成する」を実行しました
ARG ARCH
FROM docker.io/${ARCH}/debian:bullseye-slim
LABEL version="2.0.0"
>ARG PRODUCT
>COPY resources [r]esources_${PRODUCT} /
>COPY hosts /etc/hosts
>COPY certificate.pem /etc/ssl/certs/
>COPY key.pem /etc/ssl/certs/
>
>ARG PACKAGES
>RUN apt-get update && apt-get upgrade -y \
> && apt-get install -y ${PACKAGES} \
> && curl -s https://repos.influxdata.com/influxdata-archive_compat.key > influxdata-archive_compat.key \
> && echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null \
> && echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list \
> && apt-get update && sudo apt-get install telegraf \
> && apt-get clean
>
>RUN useradd -m -u 1000 atmark
その際に、以下のようなエラーが出力されます
>/bin/sh: 1: curl: not found
>Error: error building at STEP "RUN apt-get update && apt-get upgrade -y && apt-get install -y ${PACKAGES} && curl -s https://repos.influxdata.com/influxdata-archive_compat.key > influxdata-archive_compat.key && echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null && echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list && apt-get update && sudo apt-get install telegraf && apt-get clean": error while running >runtime: exit status 127
>イメージをビルドできませんでした。
>
> * The terminal process "/usr/bin/bash '-c', './scripts/generate_swu.sh development'" terminated with exit code: 1.
> * Terminal will be reused by tasks, press any key to close it.
原因について何かわかりますでしょうか?
コメント
takeshita_kyouhei
> 太田です。
>
> エラーメッセージに、
>
> >/bin/sh: 1: curl: not found >
>
> と表示がありますので、プロジェクトディレクリの container/packages.txt に curl を追記して再度実行してみてください。
>
> よろしくお願いいたします。
早速の返信、ありがとうございます
python3 python3-requests curl influxdb
packege.txtについて上記のようにして再度SWUを作成しましたが、今度は「sudo」が存在しないというエラーが表示されました
/bin/sh: 1: /bin/sh: 1: sudo: not found
そのため、DockerFileに記載していた当該箇所を変更しました
sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null ↓ su tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
しかし、この状態でもエラーが発生
/bin/sh: 1: gpg: not found
次は「gpg」をpackege.txtに追記してビルドを行いました
このとき、エラーが発生
influxdata-archive_compat.key: OK su: user tee does not exist or the user entry does not contain all the required fields gpg: [stdout]: write error: Broken pipe gpg: filter_flush failed on close: Broken pipe
上記はどのように解決すればよいでしょうか?
at_satoshi.ohta
takeshita_kyouhei
> 太田です。
>
> 最後に提示していただいたエラーメッセージに
>
> su: user tee does not exist or the user entry does not contain all the required fields >
> とあります。su コマンドが tee コマンドを user として認識しているためエラーになっているように見えます。
>
> Dockerfile に追記した RUN で実行するコマンドに含まれる sudo および su を全て消した上で再実行してみていただけますか?
>
> よろしくお願いいたします。
>
>
上記対応で問題なくSWUを作成できるようになりました
SWU作成時に、suコマンドなど特権モードに変更するコマンドは不要と考えてよいでしょうか?
at_satoshi.ohta
takeshita_kyouhei
at_satoshi.ohta
2024年2月28日 14時54分
太田です。
エラーメッセージに、
と表示がありますので、プロジェクトディレクリの container/packages.txt に curl を追記して再度実行してみてください。
よろしくお願いいたします。