LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Maintenance and installing new software a nightmare? (https://www.linuxquestions.org/questions/linux-general-1/maintenance-and-installing-new-software-a-nightmare-422004/)

sthemage 03-05-2006 09:36 PM

Maintenance and installing new software a nightmare?
 
I'm looking for advice on how best to maintain my linux system. The problem I have is that I get a new distribution, I install it, I mess around with config files, I change my kernel settings and recompile, I patch my kernel with special stuff like the crypto stuff and recompile, I install new software and upgrade libraries manually (by using tar usually, and then making with makefiles)....

After a year or two, I realize that it's imppossible to install anything new, because the new stuff has a dependency that has a dependency that has a dependency and so on, all because I've not made it a full time job to upgrade my lib files and such. And tracking down dependencies is a pain, because the install process will just error out saying you don't have this or that library. So I go on freshmeat.net to track it down and try to install it, only to find out that it also has a dependency. I can waste a good few hours of my time doing this just to load some CPAN Perl module or something. It's just crazy.

I've been using linux since '97, by the way. The way I've dealt with this in the past is to just wait until my PC dies or I upgrade to a new machine, and then I just do a clean install with a new release of Red Hat or something. That gives me the latest libraries and allows me to install new stuff that I couldn't install before. But that's a pain, too, because I then have to go through the painstaking process of configuring everything again, recompiling my kernel, installing new software, transferring my user files, etc... And that gets me by for another few years, even though there will inevitably be stuff I can't use because of all of those dependencies that I don't want to spend a lifetime chasing down and installing. And the cycle repeats itself.

So, how do you all maintain your systems?

I heard of rpm and used it lots of time to install stuff, but a lot of software isn't available on rpm. So I sometimes resort to just tar and makefiles. Actually, I do that more than rpm's. And that isn't good, because rpm doesn't know what I just did. So unless everything is in rpm format, it doesn't look too safe or useful.

I've seen demonstrations of apt-get (for Debian only?), and it looks cool. But again, a lot of the times all I have a tar file. Would apt-get give me any ability that rpm doesn't? And does it deal with this issue of manually using tar files?

What about CPAN Perl modules? They typically have lots of dependencies they don't even list up front. Is there anything that can just get them all and install them magically for me?

I really think there's got to be an easy solution to this. Windows machines have that install-shield thingy. All you do is download and install. You don't have to chase down dependencies, typically.

Thanks,
-Steve

cs-cam 03-05-2006 09:53 PM

Dude, that's why God made package managers. Most distrobutions have very good ones. What distro are you using?

sthemage 03-05-2006 10:25 PM

Quote:

Originally Posted by cs-cam
Dude, that's why God made package managers. Most distrobutions have very good ones. What distro are you using?


I'm still using Red Hat 7.1, circa 2001 I think. Thus the problems with installing new software that has a gazillion dependencies that I don't have. Wish I could wave a magic wand and have them all installed for me whenever I want a new piece of software. Like I said, I know about rpm, but many things don't come rpm'd.

-Steve

rickh 03-06-2006 12:01 AM

If you're capable of compiling all those programs yourself, you ought to be able to figure out how to make your own .rpm, .deb, or whatever packages, and use the package manager.

'Course anybody still using Redhat 7.1 must be a glutton for punishment anyway.

Komakino 03-06-2006 03:04 AM

I use slackware. I compile everything from source, use checkinstall to turn it into a slackware package (tgz file) and install it that way.

WoofDeF 03-06-2006 03:29 AM

Indeed Komakino, Checkinstall rules !!!!

Sthemage: once checkinstall is installed, all you do is, instead of typing 'make install' when compiling new software, just type 'checkinstall -R'.

Magically, it will build an rpm - JUST LIKE THAT!

Or do 'checkinstall -D' for a debian package, or 'checkintall -S' for a slackware package.

You then install your package with rpm -Uvh or dpkg -i or whatever, and YOUR DISTRO'S PACKAGE MANAGEMENT SYSTEM WILL BE FULLY AWARE OF THAT PACKAGE.

So if there's a problem , you can cleanly uninstall it with eg rpm -e

Not only that - it will track and build a package for any (or most) install processes, not just 'make install'. For example, if you are unpacking a tgz tarball of precompiled binaries, just do (eg):

# checkinstall -R tar -C/ -xzvf sometarball.tgz

and you will get an rpm of that tarball.

I use it on cvs builds too. It's wonderful, I couldn't do without checkinstall.

Some (rare) things it doesn't like - eg it wouldn't build a functional rpm for AcidRip.

PS: Sthemage - I agree with the comments about something as old as that Red Hat version you're running.

Secondly - while I predominantly use FC4 now, I'd have to say that Debian's apt-get package management is easier, faster and less problematic than yum. Since it looks like you don't need cutting-edge versions of progs, switch to Debian Sarge (stable as anything) and use apt-get. You'll only ocassionally get dependency problems that apt-get won't solve automatically for you. And a Debian Sarge system will be easier to fix than most other systems if something does break.

sthemage 03-06-2006 10:14 PM

Thanks all for the tips.

I guess that does help me create packages and then use a package manager like rpm to install. But the larger problem is that it still relies on many levels of dependencies. The system becomes impossible to maintain after just a year or so unless you make it your job to maintain stuff.

I'm looking for something that analyzes my system, goes out, grabs the latest libraries, installs them, goes out and finds the latest software and their dependencies, installs them, etc. If not something that analyzes my system (which would be problematic I know), something that lets me ask for a particular piece of software (like apt-get does) and will track down the dependencies and installs them prior to installing the main piece of software I'm interested in.

I never have any issues with installing software in Windows. And I still have Windows 98. Nowhere do I ever run into dependency issues. When I click install, it does so very quickly, easily, and painlessly. I don't ever worry about dependencies except if I'm trying to install something that uses an older DLL than I have installed, and in that case it nicely asks me if I want to overwrite it. That's decent! Why don't we do that on Linux? Do we just like the pain? I don't get it?

Steve

spooon 03-06-2006 10:16 PM

RedHat 7 is like a million years old. Any modern distro has sophisticated package managers (like Apt, Yum, etc.) that always resolves dependencies automatically. For example, I use FC4 (soon will be FC5) and Yum installs software trivially and automatically updates everything.

sthemage 03-06-2006 10:43 PM

Quote:

Originally Posted by spooon
RedHat 7 is like a million years old. Any modern distro has sophisticated package managers (like Apt, Yum, etc.) that always resolves dependencies automatically. For example, I use FC4 (soon will be FC5) and Yum installs software trivially and automatically updates everything.


Yeah, I just found another thread on here which talks about it:
http://www.linuxquestions.org/questi...d.php?t=290265

They mention YaST, Yum, apt-get, portage, and slapt-get.

It looks like that's the way to go. And I just have to bite the bullet and install a new distribution. I'm leaning towards Debian just because apt-get seems popular.

You're saying Yum for Fedora is just as easy to use as apt-get for Debian, and it tracks down dependencies? I wonder how it works. I'll be doing some reading this weekend.

Thanks,
Steve

foo_bar_foo 03-06-2006 11:12 PM

http://freshrpms.net/apt/

amosf 03-06-2006 11:44 PM

Yes, you need a current distro. They do what you want. Let the dinosaur die.

Mandriva and suse and deb, etc, all just one click update these days...

cs-cam 03-07-2006 07:36 AM

Quote:

You're saying Yum for Fedora is just as easy to use as apt-get for Debian, and it tracks down dependencies? I wonder how it works. I'll be doing some reading this weekend.
Almost every package manager on the market does that these days. Exceptions being Slackware (by default) and... uhhhh... I don't know of any others off the top of my head? Update to almost anything and your problems will be fixed. Linux is as easy as Windows 98 although I personally don't like apt-get because you can get into dependency loops with it.

Currently the only package managers I've used are Portage (source-based, no dep loops), pacman (binary-based, no dep loops) and Ports (source-or-binary-based, I got myself into a loop but easily fixed it). I love things made this century.

Komakino 03-07-2006 08:15 AM

Quote:

Originally Posted by sthemage
Thanks all for the tips.

I guess that does help me create packages and then use a package manager like rpm to install. But the larger problem is that it still relies on many levels of dependencies. The system becomes impossible to maintain after just a year or so unless you make it your job to maintain stuff.

This is the beauty of slackware - it doesn't check dependencies when you install packages. It leaves you to your own devices. I've had slackware 10 since it was released and everything just gets updated from source as and when I need it..and because I'm creating the packages myself I don't need to worry that they were compiled using libraries that I don't have


All times are GMT -5. The time now is 07:54 PM.