0

If I have to install a package( 64-bit ) I use - zypper install -y MozillaFirefox which is same as zypper install -y MozillaFirefox.x86_64 for a 64 bit machine.

If I use zypper install -y MozillaFirefox.i586 it exits as -

No provider of 'MozillaFirefox.i586' found.

Is there a way to install 32-bit package in a 64-bit machine using zypper.

As in yum I can do yum install firefox.x86_64 and yum install firefox.i686 and both works for me and gets me the package with required architecture.

0

If you have a repository enabled that contains 32-Bit packages you would be able to install them. Regarding firefox you have to download the 32-Bit package from the mozilla website as openSUSE is 64-Bit only since Leap 42.1 (13.2 was the last 32-Bit release) and so are the official packages. You can view the available architecture of your package by running

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
[...]

EDIT: To install a different architecture you have to provide it as a capability. An excerpt from zypper man page:

The packages can be selected by their name or by a capability they provide.

  • A capability is formed by "NAME[.'ARCH'][ OP EDITION]", where ARCH is an architecture code [...]

So to install a 32-bit package you would run:

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): 
  • there is no 32-bit package available for opensuse after 42.1 and in suse after 12? – Arun Prakash Oct 15 '18 at 10:35
  • I can't tell for sure. Custom repos could still contain 32-bit packages, but you can search here for the packages you require. Just to be clear, are you talking about opensuse or SLES products? – eblock Oct 15 '18 at 12:12
  • I'm talking about installation of rpm using zypper in general. My question is if I have both 32-bit and 64-bit for a package, how can I install only the 32-bit or 64-bit using zypper. As in yum we can do it as packagename.arch. – Arun Prakash Oct 15 '18 at 12:19
  • I added that part to my answer (zypper in -C <PACKAGE>.<ARCH>) – eblock Oct 15 '18 at 12:38
  • What's the difference between zypper in -C MozillaFirefox.i586 and zypper in MozillaFirefox.i586? Can you please explain this? – Arun Prakash Oct 15 '18 at 13:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.