それで、gccを含むDockerイメージを作成してみました。
RUN yum -y install gcc
Dockerfileでこのコマンドを実行しています。
依存関係のインストール試行が最終的に失敗するまでパッケージをダウンロードします。
Rpmdb checksum is invalid: dCDPT(pkg checksums): glibc-headers.x86_64 0:2.17-157.el7_3.1 - u
出力は次のとおりです。
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
gcc x86_64 4.8.5-11.el7 base 16 M
Installing for dependencies:
cpp x86_64 4.8.5-11.el7 base 5.9 M
glibc-devel x86_64 2.17-157.el7_3.1 updates 1.1 M
glibc-headers x86_64 2.17-157.el7_3.1 updates 668 k
kernel-headers x86_64 3.10.0-514.6.2.el7 updates 4.8 M
libgomp x86_64 4.8.5-11.el7 base 152 k
libmpc x86_64 1.0.1-3.el7 base 51 k
mpfr x86_64 3.1.1-4.el7 base 203 k
Updating for dependencies:
glibc x86_64 2.17-157.el7_3.1 updates 3.6 M
glibc-common x86_64 2.17-157.el7_3.1 updates 11 M
libgcc x86_64 4.8.5-11.el7 base 97 k
Transaction Summary
================================================================================
Install 1 Package (+7 Dependent packages)
Upgrade ( 3 Dependent packages)
Total download size: 44 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
--------------------------------------------------------------------------------
Total 2.3 MB/s | 44 MB 00:19
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : libgcc-4.8.5-11.el7.x86_64 1/14
Updating : glibc-2.17-157.el7_3.1.x86_64 2/14
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
error: lua script failed: [string "%triggerin(glibc-common-2.17-106.el7_2.6.x86_64)"]:1: attempt to compare number with nil
Non-fatal <unknown> scriptlet failure in rpm package glibc-2.17-157.el7_3.1.x86_64
Updating : glibc-common-2.17-157.el7_3.1.x86_64 3/14
Installing : mpfr-3.1.1-4.el7.x86_64 4/14
Installing : libmpc-1.0.1-3.el7.x86_64 5/14
Installing : cpp-4.8.5-11.el7.x86_64 6/14
Installing : libgomp-4.8.5-11.el7.x86_64 7/14
Installing : kernel-headers-3.10.0-514.6.2.el7.x86_64 8/14
Installing : glibc-headers-2.17-157.el7_3.1.x86_64 9/14
Installing : glibc-devel-2.17-157.el7_3.1.x86_64 10/14
Installing : gcc-4.8.5-11.el7.x86_64 11/14
Cleanup : glibc-2.17-106.el7_2.6.x86_64 12/14
Cleanup : glibc-common-2.17-106.el7_2.6.x86_64 13/14
Cleanup : libgcc-4.8.5-4.el7.x86_64 14/14
Rpmdb checksum is invalid: dCDPT(pkg checksums): glibc-headers.x86_64 0:2.17-157.el7_3.1 - u
The command '/bin/sh -c yum -y install gcc' returned a non-zero code: 1
答え1
Dockerイメージの作成中にこの問題が発生しました。最初にインストールするとyum-plugin-ovl
ファイルシステムが上書きされ、この問題を解決したのはDocker用yumプラグインです。
例:
... RUN yum -y update \ && yum -y install yum-plugin-ovl \ && yum -y install gcc ...
バラよりこのGitHubの問題修正に関する追加情報。
答え2
RUN rpm --rebuilddb && yum install gcc -y