zypper 自动选择解决方案

zypper 自动选择解决方案

我需要使用 zypper 自动安装软件包,这需要选择解决方案。如何在非交互模式下完成此操作?

# zypper in /tmp/repos-sles15-sp2-current.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides sles-release = 15.2 needed by repos-sles15-sp2-x86_64-20210609-1.x86_64
 Solution 1: do not install repos-sles15-sp2-x86_64-20210609-1.x86_64
 Solution 2: break repos-sles15-sp2-x86_64-20210609-1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c): c

我需要选择选项 #2。我尝试过:

  1. echo 2 | zypper 在 /tmp/repos-sles15-sp2-current.x86_64.rpm
  2. 是 2 | zypper 在 /tmp/repos-sles15-sp2-current.x86_64.rpm
  3. zypper 在 /tmp/repos-sles15-sp2-current.x86_64.rpm --force -y

有谁知道有助于选择选项#2 的技巧吗?

答案1

似乎您正在安装的软件包不适合您操作系统的版本。您找不到适合您的版本的 repos*rpm 软件包吗?

不推荐,但你可以使用

rpm -i --nodeps /tmp/repos-sles15-sp2-current.x86_64.rpm

但这忽略了全部依赖项,以及已经安装的依赖项。

答案2

怎么样--best-effort,当我同时更新它们两个时,如果一个依赖项使另一个依赖项过时,这个选项可以帮我解决。

相关内容