Bash

zypper 的自動選擇解決方案

  • August 26, 2021

我需要使用需要選擇解決方案的 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. 迴聲 2 | /tmp/repos-sles15-sp2-current.x86_64.rpm 中的 zypper
  2. 是 2 | /tmp/repos-sles15-sp2-current.x86_64.rpm 中的 zypper
  3. zypper 在 /tmp/repos-sles15-sp2-current.x86_64.rpm –force -y

有誰知道有助於選擇選項#2的技巧?

似乎您正在安裝一個不適用於您的作業系統版本的軟體包。你找不到你的確切版本的 repos*rpm 包嗎?

不推薦,但你可以使用

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

但這忽略了所有依賴項,也忽略了那些已經安裝的依賴項。

怎麼樣--best-effort,當我同時更新它們時,如果一個依賴項淘汰了另一個依賴項,這個選項對我有幫助。

引用自:https://serverfault.com/questions/1067445