-   Linux - Distributions (
-   -   Upgrading a distribution (Mandrake 8->9) (

etherdeath 01-29-2003 04:54 AM

Upgrading a distribution (Mandrake 8->9)
I am using Mandrake 8, but I wouldn't want to limit the thread to just this distro.

I'm curious what it means to upgrade a Linux distribution. I recently started updating individual security-sensitive packages using MandrakeUpdate or straight rpm. I ran into deep dependency issues.

For instance, to upgrade a package, for example - lftp, to the newest version, dependent upgrades were needed 5+ levels deep (eventually I stopped looking). I am a little wary of upgrading such base or low level libraries and packages, and I'm hoping there is some tool or better way to do this. I mostly work on the machine remotely, so I prefer not to have to download or buy another Mandrake distro. I bought 7 and 8, and I did fresh installs each time. I'm trying to avoid having to do a fresh install (one of the things I like about Linux over Windows. Yes, you can just install over a Windows version, but I find it's almost always better to do a clean install).

I was able to upgrade the kernel to 2.4.3-20. Most security updates were painless with MandrakeUpdate. I used FTP sources and pointed them to the corresponding 8.0 base directory. After I did all the updates, I knew that I didn't have the latest versions of everything. Most obvious (to me) was that the 8.0 security upgrade source had Apache 1.22 and I knew 9.0 had 1.26.

I then got the idea to remove my 8.0 sources from MandrakeUpdate and enter in new 9.0 upgrade sources. At the very beginning things were looking good - MandrakeUpdate read in the package list and I saw that Apache 1.26 was an option. I immediately tried it, and ran into problems. Apparently MandrakeUpdate couldn't find the files it needed. I manually checked my ftp sources. It knew where to look for the 8.0 sources, but not the 9.0 sources, even though the directory trees were similar :

/pub/linux/mandrake/upgrades/8.0/base - filelist
/pub/linux/mandrake/upgrades/8.0/RPMS - actual RPMS

/pub/linux/mandrake/upgrades/9.0/base - filelist
/pub/linux/mandrake/upgrades/9.0/RPMS - actual RPMS

Is MandrakeUpdate the tool I should be using, or I am just doing something wrong? I tried multiple sources, with the same problems. The thought occured to me that perhaps the 9.0 filelist file is in some format that the MandrakeUpdate I have can't read correctly (since it came with Mandrake 8.0).

Returning back to my intial question, what determines the distribution versions? I know that a Linux distribution is just a kernel and a collection of programs, so maybe the answer isn't clear. But, Mandrake comes with extra utilities.. can everything be upgraded via RPMs? If I do manage to upgrade all or most packages, will my system be Mandrake 8 or 9? Are there some other things I have to do (or should do) outside of upgrading RPMs?

MasterC 01-29-2003 05:16 AM

Being a Mandrake question, I feel I can take this on ;)

There is a huge difference in Mandy 8.x and 9.x It's GCC 3.2

"What does that mean to me Chad?"

Well that means the programs are compiled with another version of GCC. Not just "any" other version, but there was a significant change from 2.x to 3.2 of GCC. Enough of a change that it is going to make you want to reinstall/clean install for an upgrade. You theoretically could upgrade from the base up, but then you'd run into kernel problems as well, and it would be a fiasco more than it'd be worth.

As far as what determines distro version, well look in /etc You should see a "mandrake" or "mandrake-version" file. Look at it. That should tell you the distro that was originally used on that machine. I personally think an upgrade/update on GCC is what should determine newer/older distros. However, other major released items such as KDE 3 or Gnome 2 should also be considered.

But in the end, it's just a small text file in /etc that tells you what distro you are running and which release AFAIK.

So, my suggestion is for major new releases (8.x 9.x and so on) to do a clean install. These major releases probably have enough significant changes to warrant that. For minor updates (.1 .2 ) I'd suggest just going the MandrakeUpdate method (which is perfectly fine, and I am glad you use it).

Major releases of distros usually have major new releases of massive programs, such as GCC, KDE, kernels and so on. When the major new releases come out, I suggest a new clean install, simply for ease (it's not completely necessary).

I really hope I've answered your question, if not, by all means, let me know.


etherdeath 01-29-2003 05:44 AM

That did help a lot. It also jives with a lot of what I was seeing when I manually tried to update to packages on the 9.0 distro - I was seeing almost all of them eventually came down to a dependency on gcc and binutils, and that mine was out of date.

I will do a fresh install. What I'm wondering now is what might be the best way to transfer (or retain might be a better word) all my configurations? There are things I know I could do if I had to - like copy over my httpd conf info, but then there are things I didn't setup myself (the 8.0 install did) - for example, I know that intrustion detection has been keeping my hosts.deny file updated with possible attackers.. but I don't know if there are others similar files I might want to keep. When upgrading fresh, via CD or whatever, are there options to keep or backup these type of configuration files? It would be nice if there was an easy way to transfer my mySQL databases too. If there isn't, I'll just have to learn a few new things.


MasterC 01-29-2003 06:00 AM

Well, when you toss in the disc it does give you the option to "update packages only" however, I don't think that'd be the best way to go about it. Transferring over your /etc files is one way, however this expects most of your configs to be straight forward and right there for you; and in /etc. If you have done a lot of customization, you probably know where everything is at. If not, you probably don't need it, or will do just fine with the one 9.0 will put on there. Here's how I'd go about it:

I'd very first backup anything I want to keep. That would be my /etc directory, and with any luck your /home directory is already on a seperate partition; if not, then /home too. Possibly /var as well, depending on what you have got going.

After backing up, I'd try the "upgrade packages only" option from your Mandrake 9.0 install. If this works, and the system isn't completely unstable, good. I'd quickly update my kernel as well.

If the system seems off, or unstable, then using your backed up files, I'd do a fresh install, then copy over the configs one by one as needed. A lot of work, however if you really think you need to update to 9.0 then it's probably going to be worth it.

Personally, I don't feel a need to update all the time. Security updates, yes, but only some. Then again, I'm running a desktop/server home user setup, so I don't really need to worry nearly as much as the workplace users do. :)


chingasman 01-29-2003 11:57 AM

fresh install.

save only the important sheet

start over with the configuration stuff.

mich1891 01-29-2003 12:03 PM

what is sheet?

MasterC 01-29-2003 06:38 PM

It's similar to shit, only much more acceptible on the forums ;)


etherdeath 01-31-2003 12:51 AM

I'll be 'upgrading' this weekend. I may actually go to debian. I haven't decided yet. I'm going to try to save the user accounts and see how it all goes.


MasterC 01-31-2003 01:10 AM

Good Luck, and keep us posted ;)


etherdeath 02-07-2003 04:52 PM

Welp, I did it. I installed Debian on a clean HD and I'm really happy with it. Funny though that it turns out the stable Debian release doesn't use gcc++ 3, but that's ok. I really like the Debian package tools, dselect, apt-get and dpkg. I feel like I know what the heck I'm doing most of the time. It kind of forces me to learn things that I should have learned before. Maybe I'll actually try getting samba to work again.

MasterC 02-10-2003 10:27 PM

Yeah, stable Debian is (I believe) one generation back, it's truly "stable". Glad you got something working that you like :)


All times are GMT -5. The time now is 09:48 PM.