Как принудительно установить обороты?

У меня есть конвейер gitlab, где я буду каждый раз устанавливать последнюю версию rpm.

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

Но почему-то я получаю ошибку ниже.

      Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Ignored option -q, -v, -d or -e (probably due to merging: -yq != -y -q)
605133599.rpm                                                                                    | 124 kB  00:00:00
Examining /var/tmp/yum-root-RG0U7M/605133599.rpm: myproject-nightlye2e-1.x86_64
/var/tmp/yum-root-RG0U7M/605133599.rpm: does not update installed package.
Error: Nothing to do

Таким образом, даже если на машине не установлена ​​какая-либо версия или установлена ​​более старая/последняя/такая же версия, когда я запустил ниже yum install с помощью файла rpm, она должна принудительно установить или обновить.

      yum install -yq rpmfilepath

Как это сделать?

Пожалуйста, предложите.

2 ответа

Если вы удовлетворяете всем предварительным требованиям пакета, вы можете запустить команду, например:

      rpm -U package.rpm

чтобы принудительно установить пакет, даже если он установлен.

Не объединяйте параметры при использовании . Просто используйте эту команду:

      yum install -y rpmfilepath >/dev/null

Причина, по которой я использую>/dev/nullя нет-qзаключается в том, что он не будет подавлять сообщения об установленных зависимостях. Пример:

      # yum install -y -q rpmfilepath 

Installed:
  glibc-2.31-6.fc32.i686   libgcc-10.3.1-1.fc32.i686   rpmfilepath                                                        

Если это действительно необходимо (например, в случае понижения версии), вы можете впоследствии просто запустить

      # rpm -U --force rpmfilepath

yumустановил бы зависимости и после этого вы можете--force"="--replacepkgs --replacefiles --oldpackage) установка сrpm.

Другие вопросы по тегам