Где yum сохраняет RPM-файлы, которые он загружает?

Вопрос или проблема

Существует ли временная папка, где я могу найти RPM-файлы, которые скачивает yum для установки программ? Во время установки yum показывает точное имя RPM файла, но я не знаю, как его найти. Как я могу искать RPM, если знаю его имя?

Я полагаю, что вы ищете /var/cache/yum/<repo>/packages. Эта директория очищается во время очистки пакетов.

Вы можете выполнять поиск файла по имени с помощью команды find. Пример: find / -name 'package.rpm' Поддерживаются подстановочные знаки. find -name 'package*.rpm'

Я сегодня проверил, что на RHEL 6.7 файлы хранятся в /var/cache/yum/x86_64/6Server/rhel-6-server-rpms/packages/.

Также стоит отметить, что плагин downloadonly включен в RHEL 6:

# yum install yum-downloadonly
Пакет yum-plugin-downloadonly-1.1.30-30.el6.noarch устарел по сравнению с yum-3.2.29-69.el6.noarch, который уже установлен

Я нашел это здесь:

/var/cache/yum/x86_64/7Server/rhel-7-server-rpms/packages

Он найден в следующем месте здесь x86_64, если для 64-битной версии CentOS/RHEL OS. Он существует по адресу package.rpm.tmp
/var/cache/yum/x86_64/7/
/var/cache/yum/x86_64/6/

Местоположение кэша конфигурируемо, и хотя по умолчанию это /var/cache/yum/, гораздо надежнее проверить значение main.cachedir в /etc/yum.conf.

В Rocky Linux 9 yum теперь указывает на dnf, и каждый RPM, который принадлежит /etc/yum.repo.d/<ваш репозиторий>, будет находиться внутри /var/cache/dnf/<ваш репозиторий>/packages

Это верно, при условии, что вышеуказанное, только если /etc/yum.conf имеет keepcache=1, в противном случае вы не найдете файл.

Ответ или решение

Когда вы устанавливаете пакеты с помощью менеджера пакетов yum в системах, основанных на RHEL (Red Hat Enterprise Linux) и его производных, таких как CentOS и Rocky Linux, загруженные RPM-файлы временно сохраняются в кэше, чтобы ускорить будущие установки и обновления. В этом ответе мы подробно рассмотрим, где находятся эти RPM-файлы, как их можно найти и как управлять настройками кэша.

Где yum сохраняет RPM-файлы?

По умолчанию yum записывает загруженные RPM-файлы в директорию кэша:

/var/cache/yum/<repo>/packages

Здесь <repo> представляет собой имя конкретного репозитория, из которого были загружены пакеты. Например, для 64-разрядной версии RHEL 6.7 путь к кэшу может выглядеть следующим образом:

/var/cache/yum/x86_64/6Server/rhel-6-server-rpms/packages/

А для RHEL 7:

/var/cache/yum/x86_64/7Server/rhel-7-server-rpms/packages/

Начиная с Rocky Linux 9, который использует dnf вместо yum, RPM-файлы будут храниться в следующем местоположении:

/var/cache/dnf/<repo>/packages

Как найти загруженные RPM-файлы?

Если вы хотите найти конкретный RPM-файл, вы можете использовать команду find. Например, чтобы найти файл с именем package.rpm, выполните следующую команду:

find / -name 'package.rpm'

Вы также можете использовать подстановочные знаки для поиска. Например, чтобы найти все RPM-файлы, начинающиеся с package, выполните:

find / -name 'package*.rpm'

Настройки кэша

Важно отметить, что расположение кэша может быть настроено. Чтобы проверить настройки кэша, вы можете просмотреть файл конфигурации yum, находящийся по адресу:

/etc/yum.conf

Ищите параметр main.cachedir. По умолчанию он будет указывать на /var/cache/yum/, но его можно изменить на любое другое значение.

Также имеется параметр keepcache, который определяет, будут ли RPM-файлы сохранены после установки:

  • Если keepcache=1, то загруженные RPM-файлы останутся в кэше даже после завершения установки.
  • Если keepcache=0, кэш очищается после завершения установки, и файлы не сохраняются.

Заключение

Теперь вы знаете, где yum сохраняет загруженные RPM-файлы и как их найти, а также как управлять параметрами кэша. Убедитесь, что вы проверили файл конфигурации, чтобы адаптировать настройки под ваши нужды, и используйте команду find для поиска нужных пакетов. Это поможет вам эффективнее управлять пакетами в вашей системе.

Оцените материал
Добавить комментарий

Капча загружается...