Debian Upgrade May Cause Serious Breakage
daria42 writes "Debian developer Bill Allombert has e-mailed the Debian community saying he estimates about 30% of users upgrading from Debian Woody to Sarge will suffer 'serious breakage'. Allombert says the upgrade process suffers from a number of bugs reported before the release went live several days ago. Chief among the problems, he said, were cyclic dependencies and the fact that software installation tool apt depended heavily on the changing C++ libraries. Allombert wants developers to test the upgrade cycle continuously during development and not just during the freeze period just before release."
I had a serious problem with my external drive, and lost some data.
apt-get is great in theory, but they way Debian packages things gives me no end of headaches.
Chief among the problems, he said, were cyclic dependencies and the fact that software installation tool apt depended heavily on the changing C++ libraries.
:-)
Let this be a lesson to those of you who claimed that "APT is unbreakable." There's no such thing as an unbreakable technology. There is however, such a thing as a robust technology that resists failure. As packaging systems go, APT is fairly good. However, my belief is that packaging systems are inherently flawed.
What you want in an OS, is a method for determining the precise core upon which you can base your applications on. Such a core would effectively be an immutable set of system APIs that cannot be changed. The upshot to this situation is that the given system is verifyable. i.e. I can have a script go through and ensure that everything that should exist does exist. From that information, I can then do a delta to find out what exists that shouldn't exist.
This is in direct opposition to a packaging system that builds an OS out of inter-dependent components. The problem with such a strategy is that using inter-dependent components only works if you're building from scratch. As anyone who has managed a version control system can tell you, things get extremely complicated (and tend to require manual intervention) as soon as files start branching. The same thing happens in packaging systems as soon as you start doing upgrades to individual components. Soon you find yourself with a mess of mismatched dependencies which require constant manual intervention to solve. Not a good situation.
In the case of a defined core, you can simply wipe out the old core and replace it with the new one. As long as testing has been done to ensure that the new components are still backward compatible with old software, everything should work fine after the upgrade.
Food for thought, anyway. To the Debian team: Thanks for the new release! Even if there are some growing pains, it's still nice to see you back in the game.
Javascript + Nintendo DSi = DSiCade
Schadenfreude, I think they call it. Testing for how long, and now this? Ah well. It'll get worked out. Gotta release at some point to find all the ugly bugs. :-P
Haida Manga
Everything is falling apart. You may experience some discomfort. Just thought we would let you know. have a nice day.
Starsucks
Obviously this was a rushed job. Typical Debian, always cutting corners, never taking the time to do things properly :P.
Any reason why I should switch from Ubuntu to Debian?
Well duh, if you wait that long between release cycles...you're going to have some major problems upgrading, as everything you had was ancient and everything you're upgrading to is mearly old.
:( .
I love debian for their philosophy; however, when I tried their distribution and it downgraded the kernel from 2.4 to 2.2 when 2.6 had already come out....I don't think I even started X before deleting it. Maybe I'd have had a different experience if someone had told me "testing" didn't mean what it usually does.
All of that said, it seems these problems could probably have been avoided with more testing,
Tharkban (It is a signature after all)
the desire to upgrade in the sense of using software to overwrite existing software. When a new release comes out and I need to use it for whatever reason, I build a new machine and then get everything working in parallel with the existing older release before replacing the older machine with the newer one. I hate upgrading. It causes bit rot, breaks things per the article, and generally creates ugliness. It is almost always better to do a virgin install, even in a production environment. Parallel testing works like a charm.
What, specifically, are the apps that will cause the problems and how does he determine that 30% of the boxes out there will have those apps?
I've upgrade 6 boxes and have not had a single problem on any of them. They run a combination of Apache, perl, python, mySQL, php, bind9, DHCP, etc.
If there is a circular dependency problem on an app, but no one uses that app, then there won't be any problem upgrading.
That bastards at M$...when will they learn? All these bugs & issues! I'm glad we have Debian for stability.....wait....umm...never mind
We had a Woody to Sarge upgrade fail on boot because Lilo barfed a kernel panic on root mount. Installing grub fixed it. I forgot how the lilo was set up prior to sarge, but whatever. My suggestion if you have SATA root mounts: Install grub before installing Sarge!
I haven't had problems with up2date on my production server... exactly the way I like it. I trust RH a bit more (but not too much more) than Debian to provide stable upgrades on their RHEL distro. For our own development, we made a couple python scripts that lets us fetch and build the libraries we need for our projects... that works quite well if you're working with a known set of libraries.
see a Text Widget
in systems where politics begin to come before purpose.
It's not FreeBSD that's dying, but Debian.
But I thought that all that free open source manpower solved all these quality and security problems?
I am running woody on my server and it's working fine. Any reason for me to consider upgrading?
To be honest, I'd rather not be bothered. It's been running smooth for years and years, I'd like to keep it that way :)
Am I gonna be shit out of luck, support-wise, in a few years if I don't upgrade? I mean, the 2.0.x, 2.2.x and 2.4.x kernels are still being maintained, right? Will there be a community effort to maintain woody, such as there is for the old kernels?
---
European webzine about hacking, guns, survival
#eurohacker@irc.freenode.org
Nice to know I'm not alone.
:|
Suddenly apt-get dist-upgrade didnt do anything good, I had to do an apt-get -f install multiple times until the dependancy stuff was sorted out. In the process, some packages (notably apache and ftpd) were simple de-installed and I had to re-select them manually.
Good for me that it was a server and apache and ftpd were the only important hand-selected packages. I fear for the desktop systems with several dozends of hand-selected packages.
So, I guess it is a good thing that Debian only releases a major update every two years
I have discovered a truly remarkable proof for my post which this sig is too small to contain.
up2date doesn't provide distro upgrades. It provides updates to a specific distro, but there's no way to upgrade from within up2date from FC3->FC4 or RHEL3->RHEL4. This "breakage" is about upgrading the distribution, not updates within a release cycle.
My brain exploded trying to parse this sentence.
;-)
And we wonder why we aren't taken seriously by management.
This is FUD, even by Slashdot standards.
The problems do exist, but the "severe breakage" described does not implicate unbootable machines or unusable software. Cyclical dependencies mostly mean the algorithm used to select packages for upgrade or instalation will not run as expected and probably leave the problematic package on hold.
This is not a new problem and affects Debian mainly because of it's distributed and loosely coupled model of organization, where integration problems can go by unoticed for quite some time.
The original mail intended to push more developers into taking action about these integration errors and make sure the upgrade paths are always clear, which is a very big and important task.
I, for one, hope his message doesn't fall on deaf ears, but also hope it doesn't generate more FUD like this.
If your setup is simple enough, just clone your drives and test the upgrade process on the clones.
If anything goes wrong, you can just drop the originals back in and everything will be back to the way you started.
You should always test new deployments before putting them into production.
I don't think testing all the way along is the answer, that way nothing would get done. It's great that Debian has a period devoted solely to testing before the distribution gets released, it means things get fixed. It's hard to be motivated about fixing things that are probably never going to be released (because there will be a new version before the actual release)
I am trolling
The very concept of "version" is obsolete I think. There should never be a big-bang system upgrade, and there should never be a fixed version number for a Debian system. Packages should have versions, and those should be upgraded. Distributions should not be numbered.
The ideal way to handle things is to roll out upgraded packages when they are ready. If you upgrade your system once a day or once a week, you should not ever have to deal with more than a handful of updated packages. Over time, everything would eventually be upgraded.
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
This is, after all, Debian
"We are all geniuses when we dream"
- E.M. Cioran
If they statically linked it. Which they should really do for a base level of core utilities anyway. I've been burned by library upgrades and crippled recovery processes several times in the past because the correct libraries were no longer available. For something that might have a library pulled out from under it like apt, it really makes sense to incur the size penalty so that you never have to worry about it dying on you when you replace system libraries.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
I haven't had problems with up2date on my production server
Bully for you. Personally, I've had trouble with up2date getting stuck in an infinite loop when it tries to remove the old version of the just-upgraded rpm about every 10th rpm that it upgrades on two of my production servers. I have to kill it and remove the old package with rpm -e.
Don't even get me started about how rpm usually silently replaces your config file with the stock config file during an upgrade.
And this is on minor security upgrades. Red Hat doesn't even attempt to upgrade from one major release to the next while the system is online. You have to take the server down for hours for that.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
fail on boot because Lilo barfed a kernel panic on root mount.
Whiskey. Tango. Foxtrot. Lilo properly loading the kernel and the kernel mounting the root fs are quite different operations. I had a box fail to reboot cleanly after upgrading, but that's because I failed to re-run LILO after upgrading. Duh. But what exactly happened in your case?
And if a REAL OS had this kind of problem?
30% breakage? By all that is right with the universe, Debian should simply packup and dissappear for this. How could ANYONE possibly rely on them for anything after this.
funny this gets posted 5 minutes after i succesfully upgraded :)
What I'd say :
Nooooooo !!!!
How many times have you seen people on here touting manpower and availability of resources as the solution to these problems. I was just pointing out that *process* is very necessary to even make the manpower side of the equation effective.
New to Slashdot, Linux, Apple, programming. REcently saw the Debian on Mac mini articel and was interested in trying that. Could you recommend a book I should read for real entry level guide to Unix/Linux with a programming slant? And the problems detailed in the article about Sarge, will they affect usuability/experimentation for a newbie like me?
I had this problem yesterday, a routine update lists the following:
5 upgraded, 0 newly installed, 80 to remove and 9 not upgraded. Need to get 4152kB of archives.
80 packages to remove? If I proceed with this upgrade, it would just nuke evolution, gnome, nautilus, and a bunch of other important packages that I use on a daily basis.
Titus Barik
I'm a serious computer user. I make a living doing so. I write light web apps, create media, edit audio. I do so using Windows 2000.
I have no idea what a "cyclic dependency" is nor do I want to know.
I've flirted with the idea of installing Linux on a spare box. Is this nonesense the kind of stuff I should expect?
You might want to read the release notes before upgrading:
http://www.debian.org/releases/sarge/releasenotes
...which specifically recommend using aptitude rather than apt-get.
Huh? How hard is it to switch hard drives? Is there some particular reason you don't have floppy or CD capabilities?
SATA changed from IDE subsystem in 2.2 and early 2.4 to libata (and therefore part of the SCSI system) in 2.4 and 2.6
If I have been able to see further than others, it is because I bought a pair of binoculars.
He's using SATA and the newer linux kernels moved SATA from IDE to the SCSI subsystem.
/dev/hd* and his lilo root=/dev/hd* lines became wrong.
So all his fstab entries using
If I have been able to see further than others, it is because I bought a pair of binoculars.
> How many times have you seen people on here touting manpower and availability of resources as the solution to these problems.
I
Totally agree. If I had moderation points I would send them positively your way.
Slashdot is made up of nothing more than a bunch of yes-men slapping congratulations on each other's backs.
---- Go ahead, mod me down, I'll just post it again and you lose your mod points.
oops =)
You know exactly what the OS contains--- "Solaris 5.9 build 100041-23" contains Kernel version X.Y.Z, C compiler X.Y.Z, C libraries X.Y.Z.
No, you don't know that. 100041-23 is only the kernel patch version. What about other patches? Did you install it through the recommeneded patch cluster? Or the security patch cluster? Or was it the Solaris update cluster? Or maybe you installed this kernel patch as a part of the "Java" patch cluster? There is no such way as patch level on Solaris for overall system.
These problems were always there in the last Debian release - it's just such a long time ago all Debian users forgot about them (the debian see! scrolls recorded it)... ... good job I use Slack ;-)
This makes me wonder why the upgrade process is being run under the target installation in the first place. How about upgrading the system off-line through a live-cd of some sort?
This live-CD would be able to access the installation's filesystems and examine the configuration, particularly the database that APT keeps of the installed packages. The relevant updated packages could then be installed without worrying about clobbering libraries and/or other files that the update process is dependent upon.
At the very least this should be an option to fall back upon. The update process should examine what needs to be updated and then advise the user on whether or not it was safe to run the update from the installed system or whether the live-CD method should be used instead. If you're upgrading from one major release to the next, then you're almost certainly going to have to reboot anyway regardless of what upgrade method you use.
Lee
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
Will this cause all the Debian zealots to shut their mouths and stop claiming that Debian is the "most stable" linux distribution out there?
static compiled-wave of the future. Disk space=cheap.
I understand the problem you're discussing, and what you suggest is one avenue to solve that problem. But I think that there is another, potentially simpler solution that should solve all the major problems with package systems: get rid of the idea of package conflicts.
Circular dependencies are not a problem - if you view the set of packages and their dependencies as a directed finite graph - it's easy to come up with an algorithm for reliably figuring out the closure of dependency relations for any given package or set of packages.
Introducing the idea of conflicts throws the whole system out of whack. I don't have a proof for it, but it seems very intuitive that trying to figure out a valid configuration of packages conforming to an arbitrary requirements is an NP-complete problem (I think it's reducible to 3SAT).
Getting rid of the idea of package conflicts necessitates a change in the way packages are organized on the filesystem. For one, conflicting file locations must be gotten rid of. I.e. each package affects only it's own discrete set of subtrees in the filesystem.
Secondly, for multiple packages which provide the same service, there must be a way of choosing, for any given user, which set of packages of the potentially multiple providers for a set of services to use. It should be possible to come up with a user 'profile' that describes what implementations that user desires for the services. This needs an extra level of indirection.
Anyway, I think the idea of getting rid of package conflicts is worthwhile, and would remove a whole set of difficult-to-resolve issues from the realm of consideration.
-Laxitive
How to kill Debian in five ("Three, sir!") easy steps:
Seriously, WTF? I like Debian, but those folks need to get their heads out of their asses. They need to stop wasting time trying to officially support the two dozen or so architectures nobody gives a damn about, stop engaging in wars about whether non-free belongs in Debian, and concentrate on releasing something that's reasonably current and also supported by security updates. Oh, and it would be nice if doing an 'apt-get dist-upgrade' didn't break things.
And what is it about the dinner table that makes it so difficult to move the box and swap the disks?
Is there a particular reason why you're running it without floppies or CD?
I haven't been to your place. Telling me that it is "under the dinner table" is not giving me any information.
Fine i had to babysit my upgrade, it wasnt a simple apt-get dist-upgrade...
At first when i did a apt-get upgrade it wanted to a REMOVE all the core packages i use that machine for (ssh, apache, mysql, courier...) i had to upgrade one at a time, making sure nothing would barf. Only at the end did i upgrade APT and then do a dist-upgrade to get everything up to speed
This was a long time in the waiting, of course it wasnt going to be really easy.
"What do you mean you have no ice? Do you expect me to drink this coffee hot?" - Random Customer, Clerks
That makes sense. That's not really a LILO bug, as it sounds as though updating the kernel parameters in lilo.conf would have fixed it. That's kind of a nasty change, unless the upgrade script could detect at runtime which drives were on SATA and update lilo.conf/fstab/etc. appropriately.
I said the first 1,500 bug reports would be up by the next morning, and then said "This is what they get for releasing early."
/. humor.
I thought it was supposed to be funny. I guess I'm just not cut out for
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
I attempted an upgrade from woody to sarge about a month ago and it broke my system. I have 1000's of zombies running around. This shows up as a defunct process. Its not the end of the world mind you but you can't kill a zombie since it is already dead.
I have reported this and warned that there will be a lot of folks with broken systems. I was very surprised to hear that sarge went stable before this problem was sorted out.
A sarge install from scratch however is fine. Its just the upgrade that is broken and in more than one place.
and you guys probably think microsoft sucks.
eat my ass
I got lucky and avoided this whole fiasco. I had been using Ubuntu for a good 6 months up until a week or so ago. Thats when i decided to try Debian out since Ubuntu didnt support half the shit i needed it too. After reinstalling Ubuntu for the 30th time trying to get it to work with my MP3 player, i gave up and tried debian...no shit, it worked as soon as i plugged it into the USB port. I installed the testing version of sarge about 2 weeks before it came the stable version so all I had to do was mod /etc/apt/sources.list and change some things from testing to stable; do an atp-get dist upgrade and works like a champ. Now my next task is getting my wireless card to start working, just been to damn busy studying for my CCNA exam this coming Thursday. I had remembered reading prior to its installation that there would have to be some things done by people upgrading from woody to sarge, or else errors like these would result. I guess its just too bad people dont READ before they start doing upgrades!
You do have everything backed up don't you?
You mean like Darwin/OS X? A fair amount of that OS comes from FreeBSD. Apple doesn't "control" FreeBSD.
What they do control is their development and testing process. They keep the number of packages *they* maintain down to core system components, and they don't support 1000 variations of their system setup. One setup to build, one setup to test. What I'm amazed most OSS developers have realized yet is that, well, this means they have *expontentially less* software combinations to test and support. You use what they give you, rather than risk hand-building some untested combiation of packages. Consequently, things are much less likely to break and when they do Apple will have a fix to you quick.
Microsoft and Apple don't package third party software for others, why should Linux vendors?
They also don't have the resources to making security patches for every package without upgrading to a newer version of said package (i.e. backporting). They really do a phenominal job given their constraints.Well, their first stable release in several years is very broken, and regardless of how hard they've worked, it makes it clear that their development process sometimes lets very critical bugs get into release software. The core issue is that all packages on a system can be dependent on other system packages, which may have version conflicts, etc. There's no possible way to even test all the possible software combinations.
A complex system leads to complex problems. You either reduce complexity, or recruit more and more and more people to try and deal with it. So long as you have an endless stream of volunteers constantly testing and fixing, I guess this could work, but once the distro loses that, it's dead in the water because it can't remain stable. I also feel it's a shame because you have all these resources going into routine maintenance rather than improving the OS.
What I want is not even LSB, but *one* distro with a simple to maintain system. I eventually shrugged my shoulders and moved to Mac. What is odd to me is that despite the fact there's no LSB, all the distros out there are writing separate package management systems that work differently, but are basically all the same in that they are all complex due to dependency issues, and ALL basically are about maximizing disk space and efficiency, as if those things were far more important than my time. And that's how the business and home market thinks - they don't want software that gets in their way and wastes their time.
The sad part to me is that distros like Debian tout their software installation system as a "killer feature", as if the ability to easily install software is a rare thing in Linux and not a commoodity. Most everyone I know equates Debian with apt-get. Well, other OSes have had this "killer feature" for a decade, so long that none of them actually touts it as a feature, and OS X also doesn't have "DLL hell" issues. (Dependencies are provided by the system or by the app, no "variable" system configurations.) No package manager necessary.
But.....UBUNTU!!!!!!!!!!!
"God of Rock, thank you for this chance to kick ass. "
I'm upgrading all of my boxes from woody to sarge. So far so good. You need to follow the instructions here
Some perspective: It is a giant leap from woody to sarge. Each server I'm upgrading has a purpose, and the application software to support that purpose has taken a big version jump. Of course, you're going to have issues doing that.
Heard the hype, tried it, quickly dumped it.
Have never had trouble with any of the commercial or GPL apps on Redhat or even FC3.
Stick with what works, you'll be better off. We had some Debian boxes when an old pro-Debian admin was still around. The commercial stuff we relied upon had trouble with the D.
Karma means nothing to me, so suck it...
These update systems have very basic dependency checking, as far as I can tell, and complex dependency chains routinely fail. The "correct" algorithm is as follows:
Because the above system uses set logic, circular dependency lists will work. An object cannot appear in both groups, and cannot appear more than once in either.
Because the above system uses a mix of known good archives, known good repositories and "official distribution points", there is a much greater chance that the required versions will be found.
Because the above system can pull source files, a-la Gentoo, it would work in cases where a repository has been partially updated.
The biggest problem I have ever had with installers is that I have a highly generalized machine, which means a LOT of RPMs, with a very complex network of dependencies. The list is usually resolvable, but frequently requires a lot of manual investigative work, as up2date and yum aren't always able to infer the necessary files and/or cannot find them and/or cannot handle the fact that archives are rarely maintained completely in sync.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Oh brother, big upgrades may cause problems, this is not really news. We all backup our servers (or important boxes) before we do ANY upgrade, especially if its this big (woody -> sarge). then we are mostly "safe" when (or if) something breaks. At the very least get a list of your installed packages and backup the "critical things". that ways if X eats Y you know how it was before.
As a complete pessimist I truly expected bad things from this upgrade. I was pleasantly surprised that when I upgraded 7 boxes and 2 servers the worst that happened was one old testing box (a PPC that had not been updated in years probably) wanted to uninstall KDE. At this point I may add, of course when we do say an "apt-get dist-upgrade" we LOOK at what wants to be uninstalled don't we. If somthing we like / need is gona be uninstalled we usually think abit and fix that dependency first (at least I always do).
At any rate, many of these boxes (not all mine) were a mash of headless pseudo servers and desktops running various states of woody, the old sarge and many bits of sid and sarge all muddled together. And they all came through with no real hitches, just a the usual twiddle of the sources lists and may be a quick tweak of the installed kernels in the grub menu (so the right one is default and all entries are sane).
Got it all done in an afternoon, and got on with the rest of the day. All and all, a much better upgrade path than I remember with potato -> woody back when I was younger and much stupider. We now have a much more homogeneous set of light use boxes / desktops and the file servers are set to get their security upgrades and be basically unnoticed for another 3 years if need be.
The pessimist is happy... Thank you to the Debian team, I have been a little less pessimistic for the last 5 years thanks to all your hard work.
*nothing is truly broken and nothing is truly idiot proof by nature, it is all how you deal with it. That is what really defines who is really at fault with the shit rain starts to fall.
If this was Firefox or some other current OSS media darling, you would review his claims critically. As it is this page is about 90% "Sheesh, 3 years and they still can't get it right? They are sooooo out of touch!" 30% is a ridiculous estimate.
Sorry, I got distracted after reading the first six words of your post. I am not sure why. Don't ask, don't tell, or so I hear. ;)
Wait, you mean people actually are still using Woody and are trying to upgrade all at once to Sarge?
Nobody uses Woody. Run 'testing' or 'unstable' and upgrade continuously-- that's the best way to use Debian, and with perhaps slightly expanded automated testing of the 'testing' branch, and more frequent moving of packages into 'stable', that could simply be the way it always works in the future; forget these antiquated "distribution releases".
The upgrade wanted to remove half of my installed apps and it kept back the other half. Even after sorting it out (hours and hours), it did something screwy with the ifupdown utility so it never came back from a reboot.
This was the final nail in the coffin for debian. No updates since 2002 and now this.
Because only extremely limited distributions would require you to take the machine offline to upgrade it. The Linux you're looking for is Red Hat or Mandrake. I need to be able to upgrade my Debian box from thousands of miles away... I'm sure as hell not going to fly out to a datacenter somewhere and reboot my box onto a bootable CD and run the upgrade. That's just silly.
This upgrade/dependency problem is the same, most important, problem Debian releases have throughout the cycle. Or at least, it's the same solution: a robust, easy installer. Not just a flexible installer that handles all the many combinations of hardware, software, network, and configurations, hiding the complexity under the hood of a simple GUI which allows configuration of every option. The installer must also detect failures, and report them back to the release managers. Of course this failure notice should be optional, but automating everything but the "OK/Later/Cancel" opt-in for messaging, and offering a tracking ticket# (even just pointing to the existing id#s of identified problems), will make the most of each cycle. Open source's greatest strength is the continuous real-world playtesting as the source evolves. We shouldn't have releases that fail more than the centrally-planned proprietary systems. We need to close the loop in our release process, with release tools as good a model of our distributed communication as are our development tools.
--
make install -not war
Funny how he gets modded Troll and you get modded flamebait.. Guess the truth really hurts :)
And that's all they can do.. Hope the crow tastes really good all you Linux zealots... Sweet sweet crow.
When it's Linux, there's always an excuse.. when It's Windows, it's because micro$oft is teh suxx0rs.. How about you owning up to your crap, admitting that you uber alpha geeks with the whole world figured out might have been *gasp* wrong on your assumptions about Open Source and stop spreading FUD about Closed Source?
Open Source is great because so many eyes on it! yeah yeah.. so how did this happen again?
installation tool apt depended heavily on the changing C++ libraries
If apt is that dependent on the libraries, maybe it should be staticly linked. I know static linking is usually considered a bad thing, but this is one case where an exception to the rule may be needed.
Coder's Stone: The programming language quick ref for iPad
No man wants to read these 3 words. I will be sure to steer clear!
The problem in question was fully covered in the release notes for Sarge for those updating from Woody and Testing.
/. M$/Mac FUD'sters.
I wonder how many of the derogatory remarks were posted by acutal Debian users and not whinny, point-and-click newbies who still don't get 'RTFM' or the new breed of
I wondered what would have happen if this was on an upgrade of windows or even OsX.
Of course a linux update that breaks everything is understandable....if it was windows everybody would have been all over that.
Sucks too be on debian I say.
I'm on OSX and Windows XP. No problems with updates here.
Not an easy task. You'd have to predict which drive letters the drives would be assigned, which would be a nightmare if you try to mix IDE and SATA and SCSI and USB drives (also on the SCSI subsystem) all in the same machine.
Perhaps detecting that you're currently installing on SATA and letting the user know they might want to double-check your drive assignment before rebooting would help, but it would still expect the user to know what the hell was going to happen next time the computer started.
I think this is one of the few times that disklabel would be of any use. (disklabel lets you "label" each partition, and refer to them by label in fstab and I *think* kernel's root= parameter instead of requiring you to know the device name, but there's no easy tools that understand it, and only a few filesystems support it)
If I have been able to see further than others, it is because I bought a pair of binoculars.
I've got a few Debian servers here at work, and a few at home. I read the release notes and warnings, updated my apt and proceeded into a dist-upgrade. All of my boxes upgraded without trouble. The only strange dependancy that I have noticed, is that Sarge is trying to replace Postfix with Exim!
Never eat more than you can lift -- Miss Piggy
Ummm. I have been using Debian for ages and never noticed. The author does not give any concrete pointers to errors encountered. He is though the go to person for people with upgrade problems. So I guess he is blowing a problem totally out of proportion. Someone should have stopped him from trolling on devel-announce.
I got bit by this stupidity -- took my main server offline for a day. Debian has really gone to hell lately. I am either going to switch to something else (Gentoo?) or maybe join if anyone wants to fork Debian into something that concentrates on quality.
I am just blowing off steam? I hope not. I hope that I can find something to replace Debian. Unfortunately I think that competancy is becoming rare. Who knows what disasters lurk in other distros.
I really don't see the appeal in spending 2+ days to get a simple install/upgrade to work. Don't most good OSes (Windows, OSX) already have this figured out?
assert(expired(knowledge));
basically admiting that they didn't RTFRN (RN == release notes). If you follow the release notes you are fine. They give you a few instructions and all the commands to use:
e -notes/ch-upgrading.en.html
http://www.debian.org/releases/stable/i386/releas
personally I think its kinda gay that these package managers don't always just attempt to update themselves and their depends first. Or warn that new version of the package manager is available and ask to install it first. I think even up2date *gag* warns about that.
don't read the freaking release notes, you will have problems
That's a bug with the software, not with the users.
Also, this breakage gives us a yet another reason to bash C++ as a poor excuse for a language
It's not C++'s fault, at best it's the fault of the compiler/ABI. Even C compilers have problems like this.
it will be fixed on the next stable release, just along Longhorn and Duke Nukem forever
So how can you manage a patchlevel with no defined core?
How far do you go in applying patches? Do you include apache and PHP... er what about cdrecord and K3B? People rely on those last 2 for data archiving sometimes. Do you update the browser... and which ones?? Oh heck, might as well include fixes to KStars and Audacity.
Or maybe not. Or maybe we'll update K3B in the 3.1.05 patchlevel, but not include newer fixes in our 3.1.08 patchlevel.
There is no line drawn between OS and additional services and apps. So the average user is screwed.
If you really care about a system and minimal downtime due to upgrades, have two root partitions (it's only an extra 5-10G). Instead of upgrading, you make a clean install on the unused root partition. Clean installs generally work better to begin with, and you have the old install both mounted and bootable to figure out any problems and copy over configuration files.
As for complaints about this sort of thing, I still prefer Debian. I just spent several hours upgrading an OS X system from Jaguar to Tiger. A trivial file system inconsistency in HFS caused the installer to crash reproducibly and eventually required me to manually patch inodes (apparently a fairly common problem on Macintosh). And I'll have to wipe a Windows machine clean tomorrow because mysteriously hardware has stopped working and no amount of fiddling will do.
In comparison, these Debian upgrade woes seem minor. And unlike the Mac and Windows problems, the Debian upgrade problems will generally fix themselves after a few days when the package maintainers catch up.
After perusing the release notes and understanding the apt issue, I bit the bullet and went ahead with a full upgrade of a server to which I will not have console access for 2 weeks.
The entire process was smooth - 400 packages upgraded, and 60 or 70 new ones.
I wouldn't have dared do it with any other distro.
Thanks, Debian.
garethw
Thank you
I think that this problem could of been caused by the fact that Debian was rushed out the door. I mean, the linux communty was putting alot of pressure on Debain to release, so maybe, we pushed them to rush it. If they would of given it a little more time (1 month), this could have been avoided.
~Alan
The main surprise is that Debian usually doesn't have any problems with a dist-upgrade and that now it needs a bit more care, not that this particularly wasn't done well comparitavely speaking.
He was only moderated up 3 points (1 because he didn't post anonymously). At least some of his rating was flamebait. You probably have a +1 bonus for insightful. Downgrade that to 0 if you don't want unwarranted inflation. I find that most "insightful" rankings are overrated anyway and better classified as either "informational" or "interesting" (perhaps).
assert(expired(knowledge));
Never link to glibc statically.
Woody shipped with 2.2 by default, 2.4 was an apt-get install away
Sarge ships with 2.4 by default, 2.6 is an aptitude install away
I suggest you read the thread for comprehension for modding it.
I can tell the future! I called it. You all should have listened!
- d
So, within the context of Debian, an OS patch level is an active comparison between that which is installed and that which is available. "apt-get install -u" will list the packages that can be updated from the archives you choose to track. "apt-cache policy PACKAGENAME" will give you detail about how available packages are assigned pinning priority, info you can use to see where the package will ultimately be installed from before ever running "apt-get install PACKAGE".
Really, OS Patch Level is a dead concept. My OS patch level is Debian 3.1 with the latest security patches pulled from the security.debian.org archive and a custom kernel...
assert(expired(knowledge));
...bad points. Yes, I understand the massive upgrade patch theory. It doesn't have to be that way though, there could be a hybrid middle ware solution that uses dynamic linking with advanced permissions just to change the individual files inside the various apps. a patch only but no running link thingee.
Most of the time there's no outright need to DL the entire app if it's a unixy design with files you would think (at least this rookie thinks that's how it's supposed to be). And with static apps, you can pick and chose which of the now vulnerable apps to keep online with, and to set your permissions corectly, patch those first, then patch the others at your leisure. That's the promise of stuff like xen combined with static compiling.
Anyway, it certainly hasn't hurt apple that I can see. Sometimes the old ways are good, sometimes it's better to admit progress marches on and that the new tradeoffs are worth it. The way linux is now it's a big problem with non compataible package managers and one dynamic link can screw over your whole system. Whyfor do I want that again? I'd rather have it so that I could choose my priorities over "OMG everything is now screwed and you are vulnerable from 16 directions" or "ignore it and take a chance". That's the two choices you have now with bug du jour/dynamic linking and absolutely no standard way for linux packaging. It *sucks*. You can even see it just within the so called debain distro family, allegedly all "debian" yet dozens of ways to do things, yet a vuln can hose a buncha systems and the patches can be quite different because of minute arcane differences in the way they got put together. Now expand that to all the various distros and methods. It's inefficient and buggy to begin with, then it goes downhill from there. Cool thinking 20 years ago no doubt...
There has to be a better way. Full release upgrades suck,why are they even needed??? You should be able to incrementally upgrade in perpetuity, incompatability with app packages sucks the big 1, having a plethora of apps go from working to vulnerable because of one bug in one file in one app/library sucks. It's OK if the fix is that small, but it shouldn't make everything you want to run go useless instantly, that's the major problem, especially for systems that need to stay online 24/7.
No, no DSL yet, currently I just upgrade crap overnight, or that's when I DL mini distros or big apps. Dialup is still a helluva lot better than "no intarweb", heh.
Anyway, I sorta kept track over the past year, the vast majority of security updates I had to patch really wouldn't have effected me much if at all. And I bet it applies to 99% of the computing public, and the other 1% gets paid to dork with that stuff, so it's job security. I don't see a problem with it going to static compiled then. RAM cheap-check. disk space cheap-check. Ability to stick your stuff wherever the heck you want to, double check. if the patch was limited to just the actual fixes and not the whole app, no biggee. DL the files in some sort of permission jail for the patching aspects.
Anyway, something is got to give on this scene, it's gotten beyond outta hand.
IMO, YMMV, IATOOMA (I am talking out of my....) anyway... %^)
My experience, upgrading from a testing/unstable system with most packages a couple of years old to the new stable, is that several things are broken:
- Anti-aliased fonts in Gnome are stuffed.
- Emacs is utterly stuffed. C-X 1 ("make this the only window") randomly chooses a different buffer to display, M-X compile gives an incomprehensible error message half of the time, and it has added tabs at the top of the frame that do not repaint correctly.
- I now get console bells (e.g. from tab completion) even though they were previously disabled.
- I have a version of the Boost headers that breaks my code. (This is a case where, like autoconf, it's really necessary to have several versions installed from different applications at the same time.)
But more worrying than those problems is that, as far as I can see, the software that is not broken is not significantly improved. There were various bugs present before, such as a focus problem in xfce, that are still present. This is not a Debian-specific issue: it worries me that two years worth of work have not, as far as I can see, produced enough improvements to make the upgrade worthwhile.
had so many issues at work with Sarge, probably due to the regular dist-upgrades
I wish I could use something better (like Slackware), but work insists on Debian
---- Put Sig here:
Read and Follow the install/upgrade instructions and you will have few to no problems. Upgraded 6 servers and 10 desktops all without any glitchs. Other than having to change the /etc/apt/sources.list
A mix of Testing and Unstable is the way to go for a desktop or laptop. Debian ROCKS.
Debian Sid LXDE Firefox 3.6.4
GNU/Linux and Firefox, surfing the internet safely.
There's always been "breakage" when moving from major to major. Not as bad as anything mentioned in the article, but still, it's never completely simple. It's gotten even better since apt-get...
Most of it having to do with me needing to manually somehow convince the system to install new Perl and everything it depends on.
And I think the worst thing I've ever have needed to do was to manually de-archive, edit install script, and re-archive some package (I think it was modutils, or some other kernel thing) because I had neglegted to move from 2.0 to 2.2 kernel (why? it worked...) in the previous version and leap from 2.0 to 2.4 was just too corny for the package installer to try.
But I've never managed to break anything too badly even with ocassional --forcing... =)
i dunno about stable, but i have had pretty good luck with my sid desktop (many months of no serious breakage)by only upgrading after 6:00 PM CST and only on Sunday evenings.
Serenity now, insanity later.
When I upgraded from Debian Woody to Sarge I had to fix my mail server daemon. It took 2 hours. When I last upgraded a Windows machine - 98 to XP - I had to throw away a scanner, mothball a printer and bid a fond farewell to several games. The games and printer became useful again after a few months when the manufacturers got around to releasing an XP patch.
"Such a core would effectively be an immutable set of system APIs that cannot be changed."
As opposed to an immutable set that can be changed, or maybe a mutable set that can't be changed?
Upgrading a Linux distro, no matter which of the main distros it is, is not anywhere as problematic as a Windows upgrade. I am dreading when my friends & family start calling for me to upgrade them to Longhorn in a few years from Windows 98/ME/XP. I'm glad I'm using Debian. If you follow the release notes, you won't have any problems...