Critical zypper bug

I don’t know why but sometimes zypper (v1.4.5) removes some of the installed packages before upgrading them. Actually it removes it even before downloading a newer version. I just wonder what a stupid f**k implemented this behavior. I wish something awful happens to him.
An hour ago I tried to update few packages, among those were sysconfig, firefox and yast. Guess what? Zypper removed those before downloading newer versions. Due to a temporary network connection loss zypper could not download packages and quit leaving me without firefox, without yast and, what’s even worse, without sysconfig package which contains essential system scripts such as ifup, ifdown etc (so my network went down completely without a possibility to restore). It’s a big luck there was no new package of rpm (or it would be removed by zypper too) so I could just download those packages with my second PC and reinstall them from a memory stick.
Now I’m interested where should I file this bug, because without a doubt it’s a critical one.

It may actually be by design, but the place to report is

https://bugzilla.novell.com/index.cgi

I can’t, for the life of me, understand why that behavior would be by design. If so, the design is flawed.

On 09/07/2010 12:36 PM, chief sealth wrote:
>
> It may actually be by design, but the place to report is
>
> https://bugzilla.novell.com/index.cgi

This came up when 11.2 came out (maybe earlier?). Long story short,
there is an option in sysconfig to download all before
patching/replacing in case something goes wonky. I don’t remember where
it is exactly but it’s been something I’ve been meaning to enable, just
haven’t gotten around to it yet.

Don’t know why it’s not the default behavior.

…Kevin

Kevin Miller - http://www.alaska.net/~atftb
Juneau, Alaska
In a recent survey, 7 out of 10 hard drives preferred Linux
Registered Linux User No: 307357, http://counter.li.org

Try editing ‘/etc/zypp/zypp.conf’ and set

commit.downloadMode = DownloadInAdvance

This should set zypper to download all packages before installing them.

Kevin Miller wrote:

> This came up when 11.2 came out (maybe earlier?). Long story short,
> there is an option in sysconfig to download all before
> patching/replacing in case something goes wonky. I don’t remember where
> it is exactly but it’s been something I’ve been meaning to enable, just
> haven’t gotten around to it yet.

You can configure this in /etc/zypp/zypp.conf
I have it set like this:

Commit download policy to use as default.

DownloadOnly, Just download all packages to the local cache.

Do not install. Implies a dry-run.

DownloadInAdvance, First download all packages to the local cache.

Then start to install.

DownloadInHeaps, Similar to DownloadInAdvance, but try to split

the transaction into heaps, where at the end of

each heap a consistent system state is reached.

DownloadAsNeeded Alternating download and install. Packages are

cached just to avid CD/DVD hopping. This is the

traditional behaviour.

<UNSET> If a value is not set, empty or unknown, we pick

some sane default.

commit.downloadMode = DownloadInAdvance


Chris Maaskant

On 09/07/2010 01:36 PM, Chris Maaskant wrote:
> Kevin Miller wrote:
>
>> This came up when 11.2 came out (maybe earlier?). Long story short,
>> there is an option in sysconfig to download all before
>> patching/replacing in case something goes wonky. I don’t remember where
>> it is exactly but it’s been something I’ve been meaning to enable, just
>> haven’t gotten around to it yet.
>
> You can configure this in /etc/zypp/zypp.conf
> I have it set like this:

snip

Thanks - that’s the one. I just changed mine…


Kevin Miller - http://www.alaska.net/~atftb
Juneau, Alaska
In a recent survey, 7 out of 10 hard drives preferred Linux
Registered Linux User No: 307357, http://counter.li.org

Notice none of them is “removes it even before downloading a newer version”.

Oops! The writer of the zypper code missed a few lesson plans, failed check and balances 101 which states that “Never presume that a prior stage has completed successfully until it has been checked”. If the installation can’t proceed until the old has been removed, a good programming practice is to rename or move the old someplace safe so there is a copy that can be restored. We are talking a live system here!

Please report bug on bugzilla (ensure that it is not already reported), thanks!

I reported this bug at https://bugzilla.novell.com/show_bug.cgi?id=637761

Excellent info. :slight_smile: Sorry it had to come out the way it did. :frowning:

I seem to have been bitten by this or a related bug today. I’m left with a grub menu that only allows me to boot windows. I guess I will have to find that rescue disk to fix it.

I’m in a fix with the package manager on openSuSE 11.2. I cannot connect to any of the repositories for updates, or webpin.
The network is up and I’m connected locally and to the internet.

  1. Is there a zypp lock file that can be removed?
  2. I tried to reinstall zypper thinking the program got corrupt, but I get the message that zypper is already installed.
  3. Where do I go from here?
  4. Is this part of the bug?

Looks like a completely different problem. Sorry, can’t help. Better start a new thread and be more specific in description. Good luck.