如何使用 zypper 在 64 位 SUSE 计算机中安装 32 位软件包?

如何使用 zypper 在 64 位 SUSE 计算机中安装 32 位软件包?

如果我必须安装一个软件包(64 位),我会使用 - zypper install -y MozillaFirefoxzypper install -y MozillaFirefox.x86_64与 64 位机器相同。

如果我使用zypper install -y MozillaFirefox.i586它,则退出 -

No provider of 'MozillaFirefox.i586' found.

有没有办法使用 zypper 在 64 位机器上安装 32 位软件包。

就像在 yum 中一样,我可以做yum install firefox.x86_64andyum install firefox.i686都适合我,并为我提供具有所需架构的包。

答案1

如果您启用了包含 32 位软件包的存储库,您将能够安装它们。对于 Firefox,您必须从以下位置下载 32 位软件包:莫兹拉网站因为 openSUSE 从 Leap 42.1 开始才支持 64 位(13.2 是最后一个 32 位版本),官方软件包也是如此。您可以通过运行来查看包的可用架构

leap15:~ # zypper se -s MozillaFirefox
Loading repository data...
Reading installed packages...

S | Name                               | Type       | Version             | Arch   | Repository               
--+------------------------------------+------------+---------------------+--------+--------------------------
  | MozillaFirefox                     | package    | 60.2.2-lp150.3.23.1 | x86_64 | openSUSE-Leap-15.0-Update
[...]

编辑:要安装不同的体系结构,您必须将其作为功能提供。 zypper 手册页摘录:

可以通过包的名称或它们提供的功能来选择包。

  • 能力由“NAME[.'ARCH'][OP EDITION]”形成,其中 ARCH 是体系结构代码 [...]

因此,要安装 32 位软件包,您需要运行:

opensuse:~ # zypper in -C MozillaFirefox.i586
Loading repository data...
Warning: Repository 'OS-13.1-Updates' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides libz.so.1 needed by MozillaFirefox-26.0-4.2.i586
 Solution 1: do not ask to install a solvable providing MozillaFirefox.i586
 Solution 2: break MozillaFirefox-26.0-4.2.i586 by ignoring some of its dependencies

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

相关内容