Install local rpm with dependency rezolving

Hi,
Is there any method to install an rpm stored local (on my hard) with automatically dependency rezolving?
Fedora has yum --localinstall, Mandriva has urpmi, there is some similar for openSUSE, or any workaround?

zypper in ./file.rpm

openSUSE 13.2 64bit KDE 4.14.9

This used to work, but now I get…

# zypper in ./ted-2.23-1.x86_64.rpm
Error building the cache:
|] Failed to cache repo (1).
Building repository 'Plain RPM files cache' cache ..............................................................[done]
Error building the cache:
|] Failed to cache repo (1).
Skipping repository 'Plain RPM files cache' because of the above error.
Loading repository data...
Reading installed packages...
'_tmpRPMcache_:ted=0:2.23-1' not found in package names. Trying capabilities.
No provider of '_tmpRPMcache_:ted=0:2.23-1' found.
Resolving package dependencies...

Nothing to do.

What am I doing wrong? Any assistance would be appreciated.

zypper in /path/to/the/rpm/filename.rpm

As I wrote in my previous post, I invoked the zypper command as you suggested. The .rpm IS in my current directory as “ls” shows. But yet it does not install. Perhaps I am missing something obvious.

linux-diei:/home/ion # ls ./ted*
./ted-2.23-1.x86_64.rpm

linux-diei:/home/ion # zypper in ./ted-2.23-1.x86_64.rpm
Error building the cache:
|] Failed to cache repo (1).
Building repository 'Plain RPM files cache' cache ..............................................................[done]
Error building the cache:
|] Failed to cache repo (1).
Skipping repository 'Plain RPM files cache' because of the above error.
Loading repository data...
Reading installed packages...
'_tmpRPMcache_:ted=0:2.23-1' not found in package names. Trying capabilities.
No provider of '_tmpRPMcache_:ted=0:2.23-1' found.
Resolving package dependencies...

Nothing to do.
linux-diei:/home/ion # 

A good method:

  • create a folder, f.e. “LocalRPMS” in your homedir, move the downloaded rpm to that folder
  • Yast - Software - Software repositories,
  • click Add, “Local Folder”, name it, browse and select /home/YOUR_USER_NAME/LocalRPMS and check “Plain RPM folder”
  • Next.

Now you have your own repo for downloaded rpms, resolving will be done from the already active repos.

Problem solved. Thank you very much.

Had the same problem here, Leap 42.1 upgraded from 13.2:

Error building the cache:
|] Failed to cache repo (1).
Building repository ‘Plain RPM files cache’ cache …[done]
Error building the cache:
|] Failed to cache repo (1).
Skipping repository ‘Plain RPM files cache’ because of the above error.

Found this thread while searching for a solution on google.

“zypper in package” used to work, did anything change on 42.1?
Using zypper to install a package that does not belong to any repo will work only with the Knurpht’s workaround?

do not use the dot when passing the file name, the dot is needed to add the current dir to the $PATH environment variable and not for anything else
zypper in absolute/path/to/rpm.rpm or
zypper in relative_path_to_rpm.rpm
I do believe using the dot ie ./relative_path_to_rpm.rpm is your problem

In my case I was using the absolute path to the rpm :-/

I just installed a coupe of rpm’s with zypper in rpm_file.rpm using both absolute and relative path, I had no issue, you did remember ti use su - or sudo?

I always use “su -” to get a root shell :slight_smile: