serposcope3.4からserposcope3.5へアップデートしたときのエラーと改善策
serposcope3.4からserposcope3.5へアップデートしたときのエラーと改善策
2025年5月時点、Googleの検索仕様変更などに追従するため、serposcope3.4から3.5へのアップデートを行いました。本記事では、Docker環境でのアップデート時に発生したエラーの内容と、その具体的な解決策を解説します。
はじめに
serposcopeはGoogleなどの検索順位を自動で計測できるオープンソースツールです。 Googleの仕様変更等への対応には定期的なバージョンアップが欠かせません。 しかし、アップデート時にdebパッケージのインストール時エラーやユーザー/グループの競合が発生することがあります。
アップデート時に発生したエラー
1. adduser / addgroup のコマンドが見つからない
swift/var/lib/dpkg/info/serposcope.postinst: 23: addgroup: not found
/var/lib/dpkg/info/serposcope.postinst: 24: adduser: not found
原因
Dockerベースイメージにはadduser/addgroupがインストールされていません。
debパッケージのpostinstスクリプトでユーザー・グループ作成に失敗します。
2. systemctl: not found
swift/var/lib/dpkg/tmp.ci/preinst: 19: systemctl: not found
...
/var/lib/dpkg/info/serposcope.postinst: 26: systemctl: not found
原因
serposcopeのdebパッケージはサービスとしてsystemd経由で自動起動させるためにsystemctlを呼び出します。
しかしDockerではsystemdは通常動作していないため、これらのエラーが出ます。
対応
Docker環境では無視してOK。サービス起動はENTRYPOINTで行えば問題ありません。
3. chown: invalid user: 'serposcope '
bashchown: invalid user: 'serposcope\:serposcope'
原因
adduser/addgroupの実行に失敗し、ユーザー・グループが作成されなかったため、
所有権の設定でエラーになります。
4. groupadd: group 'serposcope' already exists など
vbnetgroupadd: group 'serposcope' already exists
The command '/bin/sh -c groupadd -r ${APP_USER} && useradd -r -g ${APP_USER} ${APP_GROUP}' returned a non-zero code: 9
原因 serposcopeのdebパッケージインストール時にすでにユーザー・グループが自動生成されているため、 Dockerfile側で再度作成しようとすると競合し、ビルドが失敗します。
改善策とベストプラクティス
1. 必要なパッケージを最初にインストール
adduserパッケージをDockerfileで必ずインストールしてください。
swiftRUN apt-get update && \
apt-get install -y wget openjdk-17-jre-headless adduser && \
rm -rf /var/lib/apt/lists/*
2. ユーザー・グループの作成は自作しない
serposcopeのdebパッケージが自動でserposcopeユーザー・グループを作成します。
Dockerfile内でuseraddやgroupaddを記述するとエラーになるので、記述は不要です。
3. systemd関係のエラーは無視してOK
systemctl: not foundなどはDocker上では不要な処理なので、エラーとして無視して問題ありません。
4. ENTRYPOINTでjarを直接起動
Docker環境では、ENTRYPOINTまたはCMDでjarを直接起動すればOKです。
例(entrypoint.shがない場合):
cssENTRYPOINT \["java", "-jar", "/usr/share/serposcope/serposcope.jar"]
5. 修正版Dockerfile例
bashFROM ubuntu:22.04
ARG SERPOSCOPE_VERSION=3.5
ARG CPU_MODEL=amd64
ENV SERPOSCOPE_HOME=/var/lib/serposcope
RUN apt-get update && \
apt-get install -y wget openjdk-17-jre-headless adduser && \
rm -rf /var/lib/apt/lists/*
RUN wget [https://www.serposcope.com/downloads/${SERPOSCOPE_VERSION}/serposcope_${SERPOSCOPE_VERSION}_${CPU_MODEL}.deb](https://www.serposcope.com/downloads/${SERPOSCOPE_VERSION}/serposcope_${SERPOSCOPE_VERSION}_${CPU_MODEL}.deb) -O serposcope.deb && \
dpkg -i serposcope.deb && \
rm serposcope.deb
WORKDIR ${SERPOSCOPE_HOME}
EXPOSE 7134
ENTRYPOINT \["java", "-jar", "/usr/share/serposcope/serposcope.jar"]
まとめ
- serposcopeのdebパッケージはユーザー・グループを自動作成するため、手動作成は不要(エラー原因)
adduserは事前にインストール必須- systemctl関連エラーはDocker環境なら無視してOK
- ENTRYPOINTで直接Java起動が推奨
これらを守ることで、serposcope3.4→3.5アップデート時のトラブルを回避し、スムーズに最新版へ移行できます。
参考
articleserposcope3.4からserposcope3.5へアップデートしたときのエラーと改善策
article【設定方法】Docker環境で立ち上げたserposcopeのデータをMariaDBへ保存し永続化する
articleNuxt × Vercel/Netlify/Cloudflare:デプロイ先で変わる性能とコストを実測
articleRemix で「Hydration failed」を解決:サーバ/クライアント不整合の診断手順
articlePreact 本番最適化運用:Lighthouse 95 点超えのビルド設定と監視 KPI
articleNginx microcaching vs 上流キャッシュ(Varnish/Redis)比較:TTFB と整合性の最適解
articleNestJS × TypeORM vs Prisma vs Drizzle:DX・性能・移行性の総合ベンチ
articlePlaywright × Allure レポート運用:履歴・トレンド・失敗分析を見える化する
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来