Чтобы найти его:
find /iso_mount binutils-2.23.52.0.1-12.el7.x86_64.rpm
Чтобы найти и установить его:
rpm -ivh $(find /iso_mount binutils-2.23.52.0.1-12.el7.x86_64.rpm)
Отвечая на мой собственный вопрос, чтобы задокументировать это для других.
Теперь мы практически уверены, что старые файлы updateinfo.xml не нужны. Судя по всему, они накапливаются только из-за хеш-значения, которое добавляется к имени файла. Исходя из этого, я внес некоторые изменения и теперь репозиторий остается в основном статичным по размеру.
В своей первоначальной форме после команд reposync и createrepo, упомянутых в вопросе, скрипт запускает gunzip, за которым следует команда modifyrepo, которая создает новый файл updateinfo.xml.gz в каталоге../repodata:
if [ -n "$(/bin/ls -t $destdir/$fn/*updateinfo.xml.gz 2>/dev/null)" ]; then
gunzip -c $(/bin/ls -t $destdir/$fn/*updateinfo.xml.gz) > $destdir/$fn/updateinfo.xml 2>> $LOGFILE
modifyrepo $destdir/$fn/updateinfo.xml $destdir/$fn/repodata >> $LOGFILE 2>&1
fi
Я изменил этот раздел на:
if [ -n "$(/bin/ls -t $destdir/$fn/*updateinfo.xml.gz 2>/dev/null)" ]; then
gunzip -c $(/bin/ls -tr $destdir/$fn/*updateinfo.xml.gz|tail -1) > $destdir/$fn/updateinfo.xml 2>> $LOGFILE
modifyrepo $destdir/$fn/updateinfo.xml $destdir/$fn/repodata >> $LOGFILE 2>&1
# clean up old update info - keeping only the 2 most recent files.
for i in $destdir/$fn $destdir/$fn/repodata; do
for j in `/bin/ls -t ${i}/*updateinfo.xml.gz|tail -n +3`; do
echo "removing security file "$(ls -l ${j}) >> $LOGFILE
/bin/rm -f ${j} >> $LOGFILE 2>&1
done
done
fi
Команда gunzip распаковывает только последний файл updateinfo.xml из-за обратной сортировки метки времени и команды tail. В результате новый файл в каталоге repodata будет содержать только одну версию. Второе изменение заключается в удалении всех старых файлов updateinfo.xml, строка 2 (на всякий случай ).
Мы работаем с этой версией уже несколько месяцев и не заметили каких-либо нежелательных побочных эффектов.