May 26 2006
15:34 GMT
15:34 GMT
Saga of the Upgrade to SuSE 10.1: Advil needed! suse 

That's the new kid in town, having had a lot of reviews even from its beta releases. Some people may want to get into it because of the hyped Xgl/Compiz, AppArmor, Xen and who knows what else (NX, anyone?). Some others might just consider to install it for a fully-fledged, user friendly, desktop GNU/Linux distro.In my case, I was having SuSE 10.0 on my desktop PC also somehow as a server. LAMP, Samba, DHCP and routing for a tiny internal network, and 24/24 on.
Therefore, while most SuSErs would probably install it from scratch, I only considered upgrading from 10.0 to 10.1, with as little as possible disruption of the service.
That was an idealistic approach. It was hurting a lot.
PART ONE: A few days ago, I updated my SuSE 10.0 from the supplementary GNOME update repository for 10.0 and got a lot of breakage, not all fixed two days later. The most broken parts included:
- doubled entries in GNOME menus;
- a partially broken GNOME Control Center:

- a broken gnomesu / gksudo.
sudo /sbin/yast2
sudo /usr/sbin/synaptic
or maybe:sudo /usr/sbin/synaptic
sudo /sbin/yast2 sw_single &
or even better:sudo smart --gui
#1: Since I'm a fan of APT, I changed my very basic source list from 10.0 to 10.1:
rpm ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/ SuSE/10.1-i386 base update security rpmkeys
rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt/ SuSE/10.1-i386 base update security rpmkeys
(see also sources.list.FTP) and after an "apt-get update", I tried an "apt-get dist-upgrade".rpm ftp://ftp4.gwdg.de/pub/linux/suse/apt/ SuSE/10.1-i386 base update security rpmkeys
#2: Wrong move. After a while, having to get over 1,000 of new packages...
Do you want to continue? [Y/n] y
E: Method ftp has died unexpectedly!
E: Tried to dequeue a fetching object
AFAIK, this occurred with a few people in the past, more frequently in SuSE (with apt4rpm) than in Debian [alionet.org], [Conectiva].E: Method ftp has died unexpectedly!
E: Tried to dequeue a fetching object
This appeared again this month with the latest apt-0.6.44, but it got patched.
#3: I rejected by prudence the only workaround possible, to install several times bunches of packages with important dependencies, until a full upgrade will eventually work in one shot.

#4: Unfortunately, Synaptic failed too in the attempt to make a 10.1 from a 10.0:
E: Handler silently failed
#5: As for Smart, after downloading a lot of lists for 10.1:

...it was unable to solve some dbus-related dependencies:

#6: Back to APT tools. The version of apt in SuSE is 0.5.15cnc7, and I was too lazy to look for its sources as a tarball. I could only have at hand the Debian ones: 0.5.28.6 (stable) and 0.6.44.1 (unstable).
I got and unpacked them, and tried to find out where a bug could possibly be hidden. The error message was from apt-pkg/acquire-worker.cc, in pkgAcquire::Worker ::MethodFailure(), but that's of no use.
I tried to use a lot of debugging options borrowed from doc/examples/configure-index, but in vain.
Looking again in the bug list for apt, I couldn't identify anything reported for 0.5.15.
#7: Oh well. Let's go the Susie way, with YaST2.
- System Upgrade How-To, by Scott M. Morris.
- Hacking SUSE Linux 10.1, by Jem Matzan.
In my case, I changed for 10.1 my preferred sources:
- FTP
ftp.gwdg.de
pub/opensuse/distribution/SL-OSS-current/inst-source/ - FTP
ftp.gwdg.de
pub/opensuse/distribution/SL-OSS-current/non-oss-inst-source/ - FTP
ftp.belnet.be
mirrors/ftp.suse.com/suse/i386/update/10.1/ - FTP
ftp.belnet.be
linux/suse/suse/i386/supplementary/GNOME/update_for_10.1/yast-source - FTP
ftp.belnet.be
linux/suse/suse/i386/supplementary/KDE/update_for_10.1/yast-source - HTTP
ftp.skynet.be
pub/packman/suse/10.1 - FTP
ftp.gwdg.de
pub/linux/misc/suser-guru/rpm/10.1 - FTP
ftp.gwdg.de
pub/linux/usr-local-bin/10.1
#8: A system upgrade (with only upgrading the installed packages) could not start before having fixed some minor conflicts and unmet dependencies (how come?!), so I agreed to have removed during the upgrade: mc, GIMP, xmms, beagle, and some others.
A busy night for my ISP was coming: 3.43 GB!

Morning has brooooken...
#9: Alles Gute so far, up to a point: closing YaST made it impossible to start it again!
# /sbin/yast2
Command: /sbin/yast2 sw_single &
Error loading language plugin /usr/lib/YaST2/plugin/libpy2lang_perl.so: libdbus-glib-1.so.2:
cannot open shared object file: No such file or directory
No such client module sw_single
So: the dbus thing was really a tough nut!Command: /sbin/yast2 sw_single &
Error loading language plugin /usr/lib/YaST2/plugin/libpy2lang_perl.so: libdbus-glib-1.so.2:
cannot open shared object file: No such file or directory
No such client module sw_single
#10: And NOTHING was repaired within my GNOME desktop!
#11: Nevertheless, this happened before to other people too: YaST No Longer Works in SUSE LINUX 9.1 After an Online Update.
It's just in my case it's different: of course it's not ncurses itself, but it's not popt either:
# ldd /usr/lib/YaST2/plugin/libpy2ncurses.so.2 |grep 'not found'
libdbus-glib-1.so.2 => not found
libdbus-1.so.2 => not found
libdbus-1.so.2 => not found
libdbus-1.so.2 => not found
Wow. Geez. It happened. And no, "ldconfig" does not fix them.libdbus-glib-1.so.2 => not found
libdbus-1.so.2 => not found
libdbus-1.so.2 => not found
libdbus-1.so.2 => not found
# wget ftp://ftp.gwdg.de/pub/opensuse/distribution/SL-OSS-current/
inst-source/suse/i586/dbus-1-0.60-30.i586.rpm
inst-source/suse/i586/dbus-1-0.60-30.i586.rpm
# rpm -Uhv dbus-1-0.60-30.i586.rpm
error: Failed dependencies:
libdbus-1.so.1 is needed by (installed) dbus-1-glib-0.35.2-8.i586
libdbus-1.so.1 is needed by (installed) submount-0.9-80.i586
libdbus-1.so.1 is needed by (installed) bmpx-0.12.9-0.pm.0.i586
libdbus-1.so.1 is needed by (installed) libnotify-0.2.1-4.i586
libdbus-1.so.1 is needed by (installed) libgphoto2-2.1.99.0head-30.i586
libdbus-1.so.1 is needed by (installed) libipoddevice-0.4.5-6.i586
libdbus-1.so.1 is needed by (installed) gaim-galago-0.3.2-21.i586
libdbus-1.so.1 is needed by (installed) libgalago-gtk-0.3.4-15.i586
libdbus-1.so.1 is needed by (installed) evolution-galago-0.3.2-18.i586
libdbus-1.so.1 is needed by (installed) gnome-screensaver-2.14.0-20.i586
libdbus-1.so.1 is needed by (installed) liferea-1.0-20.i586
libdbus-1.so.1 is needed by (installed) evince-0.4.0-25.i586
libdbus-1.so.1 is needed by (installed) nautilus-cd-burner-2.12.3-21.i586
libdbus-1.so.1 is needed by (installed) gnome-volume-manager-1.5.15-26.i586
libdbus-1.so.1 is needed by (installed) gnome-presence-applet-0.3.1-17.i586
libdbus-1.so.1 is needed by (installed) gnome-utils-2.12.2-33.i586
libdbus-1.so.1 is needed by (installed) evolution-exchange-2.6.0-29.i586
libdbus-1.so.1 is needed by (installed) gnome-applets-2.12.2-51.i586
libdbus-1.so.1 is needed by (installed) libgpod-0.3.2-4.i586
libdbus-1.so.1 is needed by (installed) totem-1.5.1-0.pm.1.i586
dbus-1 = 0.35.2-8 is needed by (installed) dbus-1-glib-0.35.2-8.i586
Whoa. What am I supposed to do?! Gosh.error: Failed dependencies:
libdbus-1.so.1 is needed by (installed) dbus-1-glib-0.35.2-8.i586
libdbus-1.so.1 is needed by (installed) submount-0.9-80.i586
libdbus-1.so.1 is needed by (installed) bmpx-0.12.9-0.pm.0.i586
libdbus-1.so.1 is needed by (installed) libnotify-0.2.1-4.i586
libdbus-1.so.1 is needed by (installed) libgphoto2-2.1.99.0head-30.i586
libdbus-1.so.1 is needed by (installed) libipoddevice-0.4.5-6.i586
libdbus-1.so.1 is needed by (installed) gaim-galago-0.3.2-21.i586
libdbus-1.so.1 is needed by (installed) libgalago-gtk-0.3.4-15.i586
libdbus-1.so.1 is needed by (installed) evolution-galago-0.3.2-18.i586
libdbus-1.so.1 is needed by (installed) gnome-screensaver-2.14.0-20.i586
libdbus-1.so.1 is needed by (installed) liferea-1.0-20.i586
libdbus-1.so.1 is needed by (installed) evince-0.4.0-25.i586
libdbus-1.so.1 is needed by (installed) nautilus-cd-burner-2.12.3-21.i586
libdbus-1.so.1 is needed by (installed) gnome-volume-manager-1.5.15-26.i586
libdbus-1.so.1 is needed by (installed) gnome-presence-applet-0.3.1-17.i586
libdbus-1.so.1 is needed by (installed) gnome-utils-2.12.2-33.i586
libdbus-1.so.1 is needed by (installed) evolution-exchange-2.6.0-29.i586
libdbus-1.so.1 is needed by (installed) gnome-applets-2.12.2-51.i586
libdbus-1.so.1 is needed by (installed) libgpod-0.3.2-4.i586
libdbus-1.so.1 is needed by (installed) totem-1.5.1-0.pm.1.i586
dbus-1 = 0.35.2-8 is needed by (installed) dbus-1-glib-0.35.2-8.i586
#12:
# rpm -ihv --force dbus-1-0.60-30.i586.rpm
Stirr and repeat:
# wget ftp://ftp.gwdg.de/pub/opensuse/distribution/SL-OSS-current/
inst-source/suse/i586/dbus-1-glib-0.60-30.i586.rpm
# rpm -ihv --force dbus-1-glib-0.60-30.i586.rpm
inst-source/suse/i586/dbus-1-glib-0.60-30.i586.rpm
# rpm -ihv --force dbus-1-glib-0.60-30.i586.rpm
#13: YaST (ncurses) was fixed! But Online Update Configuration was broken. Oh, and... all the installation sources were lost!
#14: Well, just in case:
# wget ftp://ftp.gwdg.de/pub/opensuse/distribution/SL-OSS-current/
inst-source/suse/i586/mc-4.6.1-34.i586.rpm
# rpm -i mc-4.6.1-34.i586.rpm
inst-source/suse/i586/mc-4.6.1-34.i586.rpm
# rpm -i mc-4.6.1-34.i586.rpm
#15: Add them once again.

#16: Yep, YaST got freezed while processing the sources! There was no LOCK file, but this made it work again:
# rm /var/lib/rpm/__db.000
#17: Let's try again a System Update, maybe this will fix something. Nope. Nada. Doing nothing. Grrr.
#18:
# yast -i apt apt-file apt4rpm
Oh, it worked!# apt-get update
W: There are multiple versions of "dbus-1-glib" in your system.
This package won't be cleanly updated, unless you leave
only one version. To leave multiple versions installed,
you may remove that warning by setting the following
option in your configuration file:
RPM::Allow-Duplicated { "^dbus-1-glib$"; };
To disable these warnings completely set:
RPM::Allow-Duplicated-Warning "false";
Well... I suppose that's right. What am I Gonna Do? W: There are multiple versions of "dbus-1-glib" in your system.
This package won't be cleanly updated, unless you leave
only one version. To leave multiple versions installed,
you may remove that warning by setting the following
option in your configuration file:
RPM::Allow-Duplicated { "^dbus-1-glib$"; };
To disable these warnings completely set:
RPM::Allow-Duplicated-Warning "false";
#19:
# yast -i dbus-1-glib
# rpm -q dbus-1-glib
dbus-1-glib-0.60-30
Is it one now or is it only one?# rpm -q dbus-1-glib
dbus-1-glib-0.60-30
#20: But no, apt-get upgrade gave me a looong screen of unmet dependencies. Well, what do I know.
#21:
# cat /etc/SuSE-release
SUSE LINUX 10.0 (i586) OSS
VERSION = 10.0
What kind of upgrade was this?!SUSE LINUX 10.0 (i586) OSS
VERSION = 10.0
#22: Now, do it again: YaST, System Update. (Repetitio mater studiorum est.)
It's still confused about its version:

I had to accept to DELETE: totem, xmms, evince, liferea, mozilla (replaced by seamonkey), ... gnome-applets, gnome-utils, gnome-screensaver, gnome-volume-manager!

#23: But hey, it was worthing:
# cat /etc/SuSE-release
SUSE LINUX 10.1 (i586)
VERSION = 10.1
SUSE LINUX 10.1 (i586)
VERSION = 10.1
#24: (Where's that Advil, again? We'll be back soon.)
# reboot
Broadcast message from root (pts/2) (Thu May 25 18:51:03 2006):
The system is going down for reboot NOW!
Broadcast message from root (pts/2) (Thu May 25 18:51:03 2006):
The system is going down for reboot NOW!
INTERMEZZO: I forgot to mention that YaST is always complaining while updating the extra sources, even if it's eventually able to use them!

PART TWO: Is there life after reboot?
The joys of a new life. With 10.1.
#25:
error: device dazuko not loaded
That's for AntiVir. Will work automagically later, after installing hbedv-dazuko-kmp-default-2.1.1_2.6.16.13_4-4.i586.rpm.#26:
Failed to start the X server.
(EE) Failed to load module "radeon"(module does not exist, 0)
(EE) Failed to load module "radeon"(module does not exist, 0)
#27*: Again, as I noticed with a beta, sudo asks now for root's password! I got it, it's security. But it's dumb: it would be really secure NOT to have any users in /etc/sudoers by default! After all, if I know root's password, I can use su -c, can't I?
#28: Oh well, there is no package "radeon", nor "ati":
# yast -i xorg-x11-driver-video Mesa
#29: startx and go!
What was good? GNOME menus were fixed. Mozilla was replaced by SeaMonkey. Firefox is 1.5.0.3.
Oh, GNOME applets are missing, I can't use gnome-screenshot, gnomesu is still broken, the keyboard is a little broken (the GNOME settings, not the X ones). And... why is it @75 Hz instead of my regular 85 Hz (actually adjusted to 88 Hz)?!
#30: sax and my X server freezed! Let's start it over. But not before... just in case:
# yast -i sax2 sax2-gui xorg-x11-driver-options radeontool
#31: Oh no, it's going nuts: I am in GNOME, but the windows have no Min/Max/Close buttons! Look ma', he believes it's a cat!

#32: Funny thing: KDE 3.5.2 "a" (splashed "3.5.1") worked like a charm! But if you haven't noticed, I'm with GNOME now. While I find very pretty some of the graphical charms of KDE, I can't really use KDE since it got that complex. So I don't care if KDE works well or not!
#33: I eventually had to remove ~/.gnome2 AND to go again into YaST and make a System Update, this time not only for the installed packages, but for a typical GNOME, with adding of new packages! (Whatever they were.)
#34: Back again into X. I lost many personal GNOME settings, but at least it works as it should be doing in the first place! (And yes, gnomesu was fixed at last!)
I lost my launchers on the panel, but for most of them, I could get them back with drag-and-drop from GNOME menus.
Fixing with SaX2 my display's margins brought back my 88 Hz.
#35: Umm. Apache2 works, but the PHP4 module is not! (Thanks God, AppArmor is DISABLED, so I can't blame it for this one.) It seems to be completely missing.
OK, it's time to upgrade to PHP5, and the module was loaded on the spot:

Oh, and they got now phpMyAdmin 2.8.0.3! I guess grandma SuSE is on steriods now! (Look what can happen to you when you became an American...)
In quest of a bottom line:
- After all, if you install SuSE 10.1, not upgrade an existing SuSE 10.0, this should not happen.
- Maybe even upgrading a 10.0 would work much better if the existing system doesn't have a lot of extra packages like in my case.
- But, as already experienced last December, updating in SuSE is a pain... if you update your GNOME stuff!
- They still don't know how to GNOME! Really.
Maybe they should have bought Conectiva, not Mandrake. Because unlike Mandriva, Novell does have the motivation to go GNOME, it's just too hard for them take only Beagle and you'll see how badly they have integrated it into Nautilus! - Oh, yes: beagle-build-index starts right away, after the reboot. Crappy.
- And the extra sources (Packman, Guru, James Ogley's, etc.), they're not quite in the best shape yet. Or YaST might be "a little broken".
- (But you already knew they broke YaST, eh?)
Like I said, I survived this upgrade, even if was the most painful upgrade ever.And this is OpenSuSE 10.1, say SuSE Desktop. Not SLES. Still, it's a bad signal about Novell's ability to handle the change management.
I would expect some more layoffs and further delays in the release of SuSE 10.2.
SuSE 10.2 should be available roughly one month after FC6 and Mandriva 2007 should be out, and this will be quite tough. Really tough. And, just like now, Ubuntu will be around the corner...
But if Debian Etch will really release in December... it'll be a hell of a party!
P.S.: Does anyone know when will release RHEL5? It will be busy time for the folks at CentOS...
P.P.S.: Oh no, gnomesu is actually broken. Only kdesu works. An upgrade unable to reconfigure and fix a package...
_______
* See this clarification.
4 (+0) comments so far [view/add comments] [permalink]

