LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Software Installation (https://www.linuxquestions.org/questions/linux-software-2/software-installation-141390/)

magus1ghz 02-02-2004 10:53 AM

Software Installation
 
I am new to SuSe Linux and would like to ask how do I install the installation files of browsers or plug ins because every time I click on the installation it just comes up as a text file with the path sources. I guess I am asking how do you install the programs once you download them from your command window? I am new to Linux and reading the book does not seem to help on this matter. Every time I try to put in the path where they are located it either says can not find teh path or not authorized.

Thank you

tk31337 02-02-2004 11:35 AM

Well, it all depends on the type of file you're working with. If it's ".rpm", it's a "package" which is installed into your system and tracked for dependencies and uninstall info, etc. (RPM stands for "RedHat Package Management"). If it's a "tarball" it's simply a compressed archive, filename could end in ".tar.gz", ".tar", ".tar.bz2". You use the tar command to extract. It's simply "tar xvf" for ".tar", "tar zxvf" for ".tar.gz", and "tar jxvf" for ".tar.bz2". On rare occassions you may also come across small archives which simply end in ".gz", use gunzip with them ("gunzip <filename>.gz").

On rare occassions developers may have simply distributed a pre-compiled binary in a tar archive, in which case you'd simply extract the archive and run the prog. On most occassions, however, tarballs store source code, in which case you'd need to compile the application. Softaware compilation is actually surprisingly simple (considering that what you're doing would be considered a job for software developers by most in the Win world). Most software can be compiled using three simple steps "./configure" and "make" and then "make install" (as root). If something goes wrong along the way is when circumstances vary widely.

For RPM-based distros (which includes SuSE), RPMs should be widely available. In fact, you should be able to obtain one for your specific distro, which is always recommended. To find rpm packages, you might want to check out this site --> (http://www.rpmfind.net). To install a package in RPM format, simply do "rpm -Uvh <filename>.rpm". If you have no issues it should install and you're done. Otherwise, it will list dependencies which you may then have to track down (i.e on a site like rpmfind.net). Sometimes the depends may be many, and have their own depends, which then may conflict or have other issues. This is what's commonly called "dependency hell". This can be alleviated through various software utils, such as SuSE's own YaST. Personally, I'd recommend Ximian's Red Carpet 2. In fact, you might as well have skipped this whole reply and just gone straight to here, because Red Carpet 2 will solve all your probs. The Red Carpet service tracks literally thousands of software packages for the SuSE distro (and I'm sure this will only get better as Novell has aquired both Ximian and SuSE now). It is very intuitive and has worked for me 100% of the time. Here's a direct link --> (http://www.ximian.com/products/redcarpet/download.html).

Coming from a Windows world you're probably used to the paradigm of software as seperate entities that install themselves and work little with anything else on your system. On a Unix-like platform, software is treated as modular components of the system. Even if you're not using a package management system (RPM, Deb, etc.), there's still numerous other examples. For instance, on Win a prog installs itself to "C:\Progra~1\<Program Name>". All files for the program are contained within that one directory. This includes libraries, executables, and misc. data. On a Unix-like system most programs will typically install themselves into /usr, with their executables (or binaries) in /usr/bin, libraries in /usr/lib, and misc. data in /usr/share. These files exist along with other apps and their data spread throughout the filesystem. The programs themselves often depend on one another, to a greater extent than you'd see on DOS/Win. For instance, in Win to write an app that copies a file, I'd probably make an API call out to kernel32.dll using the "copyfile()" function or whatever it is. On a Unix-like system I may simply execute the "cp" command instead. This is a very primitive example, but that's basically the idea.

What do software paradigms have to do with the "real [user-level] world"? Basically this will effect how you approach software installation. In the Win world I'd probably browse the web for an app I like then download and run "setup.exe". This is still possible in many ways (and when it comes to commercial software, many companies distribute their software for Linux in the form of setup scripts i.e ".run"), but it is usually much easier with Linux software to use something like apt-get (for Debs) or Red Carpet 2 (for RPMs). Basically, what I'm suggesting is when you come across software you want to install, only download/install as a last resort, otherwise RC2 should work out nicely for you :-D

vdemuth 02-05-2004 07:43 AM

I have to ask, after reading this thread, Just why do we have to put up with dependency hell? I am a Linux user (Mandrake9.2) and I have to say that I am not at all a fan of Micr$oft, and never really have been. When dos was around, I used DRDOS, with the advent of windows I used |Deskview etc. But I am seriously considering going to Windows just because it would make the installation of software so much simpler. So Unix/Linux spreads its libraries and shared files about, so what. Is it really against the realms of possibility that the clever software writers out there can't produce some some of system to include everything needed to get a particular peice of software running within the source/package that they produce. E.G. Why should I need xyz.rpm to install abc.rpm. If the software writer knows this, then why assume that it is available, why not just include xyz.rpm with the package. It is very rare, if ever to be told under windows that abc.exe will not install because it needs xyz.dll and you don't have it installed so go away and get it. The software writer/packager makes sure it's there. Can't Linux software writers do the same. I spent 1.5 hrs recently installing Red Carpet because of dependency issues. WHY? when it is supposed to take care of dependency problems, does it have them of its own.
I really wish to continuing to use Linux, and am happy compiling software etc, but this issue needs to be addressed of Linux is really to make it as a mainstream competitor to windows.

Thymox 02-05-2004 06:46 PM

Quote:

Originally posted by vdemuth
Why should I need xyz.rpm to install abc.rpm. If the software writer knows this, then why assume that it is available, why not just include xyz.rpm with the package. It is very rare, if ever to be told under windows that abc.exe will not install because it needs xyz.dll and you don't have it installed so go away and get it. The software writer/packager makes sure it's there. Can't Linux software writers do the same.
You never heard of DirectX? Sure many DX programmes (and I'm not just talking about games) come with a version that they are known to work with, and sometimes if a more recent version is found already it'll about installation of the older version of DX. This is not alway the case. I used to get in a right tangle because a programme would install DX without first checking what version (if any) was already present. And then when I find out what happened I go and re-install the newer DX only to find that the offending programme now complains that DX isn't even installed.

Are you really suggesting that developers include all the files they need to work? All of the libraries? I don't think that's a good idea, and I can assure you that this is not the case in Windows. All Windows applications presume that some .dll files are present without bothering to check for their presence or version number. Why should Linux developers be any different. If their programme depends on something you can (almost) bet your life that something else will also depend on it. If every programme included all their own dependencies, your system would not only become bloated but also things would probably not work very well, if at all.

In my experience dependencies problems are not that bad, particularly when it comes to libraries. Getting the more recent versions do not harm your already-installed apps as the libraries are backwardly compatible. Sure programme X needs both Y and Z, but is it really that hard? I have very rarely come across a situation where X needs Y and Z, Y needs ABCDEF and Z needs QRSTU, which in turn need this that and the-other.

And one other thing: Sometimes if you're using RPMs it'll say it needs XXX.rpm when in fact it is only for a plugin that you'll never use. If you compile from source you may find that you can get away with very few dependencies.

Anyway, magus1ghz, it sounds like you are having association problems. When you click on an RPM file, it loads up the file as if it was text rather than running your installation programme? My guess is that you need to change the file associations in your file browser so that RPM loads up YaST (or whatever). Which file manager/browser are you using?

Onemessedupjedi 02-05-2004 06:53 PM

I use slack and the only programs I have ever had to get dependancies for are a slackware client written in python and wxWindows
I have downloaded rpms before and I hate them because they never worked. Installing from source may take longer but it's really not very hard...much easier then getting dependencies.


All times are GMT -5. The time now is 08:30 PM.