несколько репозиториев yum с именем=packages-microsoft-com-prod

несколько репозиториев yum с именем=packages-microsoft-com-prod

Группа экземпляров Amazon Linux 2 имеет дублирующиеся экземпляры name=packages-microsoft-com-prodс yum repositoriesразными именами. Какой безопасный способ удалить дублирующие ссылки на один и тот же пакет, не вызывая поломки других вещей, работающих в той же операционной системе?

Вот как эта проблема иллюстрируется с помощью grep:

[user-name@host-name ~]$ sudo grep name=packages-microsoft-com-prod /etc/yum.repos.d/*
/etc/yum.repos.d/microsoft-prod.repo:name=packages-microsoft-com-prod
/etc/yum.repos.d/msprod.repo:name=packages-microsoft-com-prod

Два экземпляра пакета приводят к тому, что другие программы в этих экземплярах возвращают ошибки, указывающие на то, что они не знают, какой из двух пакетов с одинаковыми именами использовать.

Я пробовал yum update, но проблема осталась. Я мог бы написать скрипт bash для проверки дубликатов имен и удаления одного репозитория до тех пор, пока не останется ни одного дубликата. Но я обеспокоен тем, что удаление репозиториев может быть хакерским подходом, который может вызвать сопутствующий ущерб в других местах машины.


Запросы пользователей:

Согласно комментарию @JeffSchaller, я добавляю следующий вывод терминала, чтобы прояснить ситуацию:

[user-name@host-name ~]$ grep -c ^name= /etc/yum.repos.d/microsoft-prod.repo /etc/yum.repos.d/msprod.repo
/etc/yum.repos.d/microsoft-prod.repo:1
/etc/yum.repos.d/msprod.repo:1

[user-name@host-name ~]$ rpm -qf /etc/yum.repos.d/microsoft-prod.repo /etc/yum.repos.d/msprod.repo
packages-microsoft-prod-1.0-1.el7.noarch
file /etc/yum.repos.d/msprod.repo is not owned by any package

[user-name@host-name ~]$ sudo cat /etc/yum.repos.d/microsoft-prod.repo
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/rhel/7/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

[user-name@host-name ~]$ sudo cat /etc/yum.repos.d/msprod.repo
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/rhel/7/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

решение1

Учитывая продемонстрированную вами ситуацию, я бы сделал это rm /etc/yum.repos.d/msprod.repo, поскольку это дубликат /etc/yum.repos.d/microsoft-prod.repo, а также не принадлежит ни одному пакету.

Чтобы программно определить, принадлежит ли файл пакету, проверьте код возврата rpm:

if rpm -qf /the/file > /dev/null 2>&1
then
  : the file is owned by an RPM
else
  : the file is not owned by an RPM
fi

Связанный контент