Red Hat Bugzilla – Bug 63298
out of space errors misrepresented
Last modified: 2015-01-07 18:55:54 EST
I just tried to do a massive up2date. The system was running beta4 (up2date
2.7.65-7.x.3), and I tried to up2date to all the new packages in the 7.2.93
channel. The system had 400 megs free before the up2date (just a single /
partition for simplicity), and the update consisted of ~170 packages (roughly
200 megs of RPMs).
They downloaded successfully, but then none installed, failing because of disk
space. However, if I manually upgrade them using rpm -Fvh in batches, they
upgrade just fine.
Furthermore, the error warning which popped up was ~170 lines long. Instead of
using scroll bars, it generated a warning message ~170 lines long -- far, far
longer than the screen.
I think this is different than #63056 (that sounds hardware, this sounds software)
I assume the transaction failed if you tried to `rpm -Fvh ` all of
them at once?
I definately see why it would out of space. 400 megs free on /,
200megs eaten by rpms, and then 200megs of rpms to get uncompressed
and exploded on the file system before the rpms themselves are deleted.
Part of the problem is that up2date does everything as one large
transaction set, and then deletes the installed rpms. Ideally,
it would figure out the big tranaction, split it into smaller ones
if possible, then for each smaller transaction, fetch the packages
needed, install them, deleted them, repeat for the rest of the
split out transactions.
Thats not going to happen for the next release though. I'll
take a look at trying to make the space requirement detection
code more sophisticated in the mean time.
I didn't actually try an -Fvh on the whole set. I first manually upgraded rpm
(to minimize spurious .rpmnew droplets all over the system ;-) and all the
XFree86 rpms, and then did a -Fvh of everything else. That worked....
2.7.82-7 seems better, for the most part. Now it just errors out. Long-term,
something like poldok does (splitting up into transactions) would be better....
However, 2.7.82-7 does have very bizarre errors for out-of-space. I'm now getting:
Test install failed because of package conflicts:
Installing package kernel-source-2.4.18-0.22 needs 7Mb on the / filesystem.
The test install *didn't* fail because of package conflicts. It failed because
of space limitations....