yum утверждает, что пакет установлен, но файлов нет в docker

У меня какое-то странное поведение yum vs rpm, где оба утверждают, что устанавливают, но только rpm на самом деле создает файлы, в то время как yum просто утверждает, что они установлены. Я не могу понять, что я делаю не так и почему файлы не устанавливаются через yum в docker.

Шаги:

docker run --rm -it centos:7

Установите кэширование yum, чтобы мы могли использовать один и тот же файл через yum и rpm

vi /etc/yum.conf
-> set keepcache=1

И давайте запустим yum install

yum install -y centos-indexhtml

обрезанный вывод:

Installed:
  centos-indexhtml.noarch 0:7-9.el7.centos                                                                          

Complete!

Теперь этот пакет должен установить файлы в /usr/share/doc/HTML согласно https://rpmfind. net/linux/RPM/centos/7.7.1908/x86_64/Packages/centos-indexhtml-7-9.el7.centos.noarch.html

ll /usr/share/doc/HTML
ls: cannot access /usr/share/doc/HTML: No such file or directory

поэтому давайте удалим этот пакет из yum и воспользуемся кэшем yum и установим непосредственно из RPM

yum remove -y centos-indexhtml
(trimmed output)
Removed:
  centos-indexhtml.noarch 0:7-9.el7.centos                                                                          

Complete!
rpm -Uvh /var/cache/yum/x86_64/7/base/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:centos-indexhtml-7-9.el7.centos  ################################# [100%]

И проверим, что файлы существуют:

ll /usr/share/doc/HTML
total 16
drwxr-xr-x 2 root root 4096 Jan 10 18:18 en-US
drwxr-xr-x 2 root root 4096 Jan 10 18:18 img
-rwxr-xr-x 1 root root 4833 May 16  2014 index.html

Что я делаю не так с yum? Я не получаю никаких ошибок, просто ничего не записывается в путь через yum?

1
задан 10 January 2020 в 20:22
1 ответ

Конфигурация yum в докере немного отличается: в том же файле /etc/yum.conf вы найдете:

tsflags=nodocs

который означает, что пакеты не будут устанавливать свою документацию. В образах докеров цель большинства людей — иметь работающее приложение как можно меньшего размера, отсюда и удаление файлов документации.

Используя rpm напрямую, вы обходите эту конфигурацию yum.

0
ответ дан 13 January 2020 в 07:14

Теги

Похожие вопросы