Как принудительно установить обороты?
У меня есть конвейер 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
.