openSUSE software installation hints
The closed “reviewed” version of this how-to is located here: openSUSE software installation hints - openSUSE Forums
If the software version you wish to use is not available on the official OSS nor non-OSS, nor Update repositories, nor on the Packman repository, then you can search to see if someone else has packaged it for openSUSE.
RPM SEARCH ENGINES
The two good search engines noted for openSUSE Linux already packaged software applications (packaged as rpms) are:
INSTALL SOFTWARE FROM ZYPPER
Now if you find the version you wish there, you can install via the single click install (which I dislike because of a lack of control/insight over what it does) or you can add the repository listed that has the version of the app you want, install the app, and then remove the repository. This is easy with zypper via:
zypper ar <some-repos> <arbitrary-repos-name-you-create> #add repository
zypper install <application-you-want> #install the application
zypper rr <arbitrary-repos-name-you-create> #remove the repository
For example, lets say you wish to install the application bluefish, but it is not in OSS, nor non-OSS, nor Update, nor Packman. So you search webpin and get this hit: Webpin search results for bluefish and you note a stable version is in the Education repos (lets avoid unstable development versions):
http://download.opensuse.org/repositories/Education/openSUSE_11.2
So to install by zypper you simply type:
zypper ar http://download.opensuse.org/repositories/Education/openSUSE_11.2 education
zypper install bluefish
zypper rr education
and now bluefish is installed, and you have removed the education repository for now. You can always add it again some time.
If you are curious to see more about bluefish after installing, type:
rpm -qi bluefish
if you want to see what files came with bluefish after installing, type:
rpm -ql bluefish
INSTALL SOFTWARE FROM RPM COMMAND
The command zypper (described above) provides a good front end for installing an rpm, that looks after the “dependencies” for an application. However one can install right from the very basic rpm command, although in most cases that is NOT the recommend method for new users to install. In such a case, one must download the rpm file to one’s computer, and then navigate to the directory where the downloaded file is stored and install it with the rpm command.
A command for installing an rpm (say application.rpm) is:
rpm -ivh application.rpm
If an earlier version of the application “application.rpm” is already installed, then dependant on the content of “application.rpm” it may or it may not, replace the original application software, or it may be installed in addition to the old version. Hence to replace the software for certain, many times the following “update” rpm command is recommended instead:
rpm -Uvh application.rpm
Do a search on google for “rpm” to learn more about the command.
REBUILD OLD RPM
Also, sometimes upon a new release, one finds an old application that was available for a previous openSUSE release is not available for the current release. Say it was available for openSUSE-11.0 but not 11.1 nor 11.2. But you wish to use it for 11.2. Then if you can find the rpm " .src " file, you can easily rebuild the rpm in SOME (not all) cases.
Lets say you wish to use the application “camorama” under openSUSE-11.2. But you note packman packages packaged it for openSUSE-11.0 but not 11.2. You find it here: PackMan :: Package details for camorama for 11.0 and note the source file here: http://packman.links2linux.org/downloadsource/58563/camorama-0.19-0.pm.2.src.rpm
Then download that source file to your /home/username directory, and try to rebuild it as a REGULAR user with:
rpmbuild --rebuild camorama-0.19-0.pm.2.src.rpm
and sometimes that will create the rpm for 11.2. It may ask that you install some dependencies, so this could be an iterative process before you succeed. Then if you succeed in rebuilding the rpm for 11.2, you will find the built rpms here /usr/src/packages/RPMS under the appropriate architecture (i386, i586, x86_64 … ) , and you can simply install it with zypper.
ASK A PACKMAN PACKAGER
But lets say the application is NOT there at all, no rpm, nor rpm source file, and you desparately need it. Well what many of us do is go to the Packman mailing list and ask that one of the packman packagers package the application for us. Packman Info Page
COMPILE YOURSELF
But lets say no one will package this for you.
You could then compile it yourself, which dependant on the application may be difficult or easy. To do so, typically one needs to download a “tarball” (application.tar.gz file) from the developers web site, uncompress the file, and do a custom compilation. Its important one read the “readme.txt” file and “install.txt” file in such a case. However if you do compile it yourself, it will NOT be tracked by the rpm database, unless you install it via an rpm. Some of us use “checkinstall” application to create cheap and dirty rpms (not for sharing but good for one’s own use). Checkinstall can be used by doing:
./configure
make
su
checkinstall
and install the created rpm, or if that does not work:
./configure
make
su
make install
checkinstall
and install the created rpm on top of the already installed applications.
KEEP REPOSITORIES LEAN AND MEAN
My recommendation is users stick with 4 and only 4 repositories. Those 4 are OSS, Non-OSS, Update and Packman. There is guidance here for setting up those 4 on openSUSE-11.2: Repositories/11.2 - openSUSE-Community The chances are OSS, Non-OSS, and Update are already setup, and you just need to add packman. Again ONLY those 4. If you add others you could have dependency problems. I recommend you add others ONLY as needed and IMMEDIATELY disable or remove them after you install what you need.
Again, software can be managed under openSUSE with Zypper: Zypper/Usage/11.2 - openSUSE
or by going to YaST > Software > Software Management.
This post originated out of a discussion on this thread: Question about software installation - openSUSE Forums
If believed useful, we can move this post to the reviewed area, or possibly stickie it in our New Users top level section.