質問: ご閲覧いただきありがとうございます。 仕事でcentos7 と docker を最近使い始めた者です。 以下のようなDockerfileを使ってbuild作業を行っています ``` FROM centos7.5 ADD rpm.tar.gz /root/ # rpm.tar.gzの中には用意したrpmパッケージが詰め込まれています RUN yum localinstall -y /root/*.rpm ... ... ``` docker build を実行し、ログを見て気が付いたのですが、 用意したrpmパッケージのインストール時に、依存関係の解決のために こちらが用意していないパッケージがインストールされていることがありました。 例えば用意したパッケージがpython3-devel-3.6.8-18.el7.x86_64.rpmの場合、 こちらが用意していない redhat-rpm-config-9.1.0-88.el7.centos.noarch.rpmや redhat-rpm-config-9.1.0-88.el7.centos.noarch.rpm の依存関係解決のためPerlに関するパッケージ等もinstallされるといった具合です。 > > 参考URL > > https://centos.pkgs.org/7/centos-updates-x86_64/python3-devel-3.6.8-18.el7.x86_64.rpm.html > > > 私は必要とするパッケージが足りないのであれば、エラーが吐かれるものだと考えていました。 そこで質問は2点です。 1. 依存関係の解決に足りないパッケージがinstallされていると確認できた時、これはネットから自動でダウンロードされたものなのでしょうか? 2. 1の原因はrpmパッケージであることですか? それともdocker buildが影響しているのでしょうか? 的外れな質問かもしれませんが、なにとぞご教授、ヒントを頂けないでしょうか? よろしくお願いいたします。
回答: > > 依存関係の解決に足りないパッケージがinstallされていると確認できた時、これはネットから自動でダウンロードされたものなのでしょうか? > > > そうだと思います。 yum の仕組みとして、インストールに必要なパッケージが足りない場合、 必要なパッケージをさがしてきて補完しようとします。 その設定はどこかというと、「/etc/yum.conf」とか、「/etc/yum.repos.d/*.conf」に書いてある リポジトリを探してきてパッケージインストールを行います。 ※設定ファイルの書いてる内容とか、書き方(有効・無効など)は以下を参考にするとよさそうです https://kazmax.zpp.jp/linux_beginner/yum_repository.html > > 1の原因はrpmパッケージであることですか? それともdocker buildが影響しているのでしょうか? > > > rpm であることが原因だと思います(docker には依存しません)。