Нет rpmlib (SetVersions) с rpm-4.11.3-35.el7.x86_64.rpm?

flag=1
while [ ${flag} -eq 1 ]
do
  read -p "Please answer B or G " bg
  if [ "${bg}" = B ] || [ "${bg}" = b ] 
  then
    flag=0
    groupname=boys
  else 
    if [ "${bg}" = G ] || [ "${bg}" = g ]
    then
      flag=0
      groupname=girls
    fi
  fi
done
sudo usermod -a -G ${groupname} $username

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

1
01.02.2019, 10:48
1 ответ

Вы пытаетесь установить RPM-пакет, предназначенный для определенного дистрибутива, на другой дистрибутив Linux.

Судя по суффиксу вашего пакета rpm(.el7), вы используете RHEL 7 или один из его производных дистрибутивов, например CentOS 7. Пакет libgpm, который вы пытаетесь установить, имеет .alt*суффикс, который, кажется, используется ALT Linux.

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

В CentOS 7 вместо этого вы, скорее всего, захотите использовать gpm-libs, который можно скачать здесь:gpm-libs-1.20.7-5.el7.x86_64.rpm. Или, что еще лучше, установите его с помощьюyum:

yum install gpm-libs

Чтобы ответить на более общий вопрос о том, как найти пакеты, которые удовлетворяют определенной зависимости, вы также можете запросить yumдля этого.

Например, чтобы найти rpmlib(SetVersions), если доступно:

yum whatprovides 'rpmlib(SetVersions)'

Предполагая, что такой пакет существует, вы также можете передать эту функцию непосредственно yum install, чтобы установить пакет, который ее предоставляет:

yum install 'rpmlib(SetVersions)'

И, наконец, вы можете использовать yumдля установки локального пакета, разрешая его зависимости от базы данных и устанавливая необходимые пакеты для их удовлетворения:

yum localinstall./*.rpm

(Использование yum installс локальным файлом также работает.)

1
27.01.2020, 23:42

Теги

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