Dear fellow Fedora users,
Deltarpms does help a little bit with many packages, but the kernel is not one of them :(
kernel-devel, kernel-headers, kernel-firmware, etc do work though, how come kernel package is not the same?
/* Package(s) data still to download: 19 M */ Otherwise, real savings and improvement would apply :), wonder how OpenSUSE handles this, one of my machines at school died and it had OpenSUSE and updates seemed fast, but they have only one kernel which I don't like, with Fedora we can keep more kernels :)
[root@localhost ~]# yum install kernel-PAE kernel-PAE-devel kernel-headers Loaded plugins: presto, refresh-packagekit Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package kernel-PAE.i686 0:2.6.31.12-174.2.3.fc12 set to be installed --> Processing Dependency: kernel-firmware >= 2.6.31.12-174.2.3.fc12 for package: kernel-PAE-2.6.31.12-174.2.3.fc12.i686 ---> Package kernel-PAE-devel.i686 0:2.6.31.12-174.2.3.fc12 set to be installed ---> Package kernel-headers.i686 0:2.6.31.12-174.2.3.fc12 set to be updated --> Running transaction check ---> Package kernel-firmware.noarch 0:2.6.31.12-174.2.3.fc12 set to be updated --> Finished Dependency Resolution --> Running transaction check ---> Package kernel-PAE.i686 0:2.6.31.5-127.fc12 set to be erased ---> Package kernel-PAE-devel.i686 0:2.6.31.5-127.fc12 set to be erased --> Finished Dependency Resolution
Dependencies Resolved
================================================================================ Package Arch Version Repository Size ================================================================================ Installing: kernel-PAE i686 2.6.31.12-174.2.3.fc12 updates 19 M kernel-PAE-devel i686 2.6.31.12-174.2.3.fc12 updates 6.0 M Updating: kernel-headers i686 2.6.31.12-174.2.3.fc12 updates 746 k Removing: kernel-PAE i686 2.6.31.5-127.fc12 installed 72 M kernel-PAE-devel i686 2.6.31.5-127.fc12 installed 20 M Updating for dependencies: kernel-firmware noarch 2.6.31.12-174.2.3.fc12 updates 907 k
Transaction Summary ================================================================================ Install 2 Package(s) Upgrade 2 Package(s) Remove 2 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s)
Total download size: 27 M Is this ok [y/N]: y Downloading Packages: Setting up and reading Presto delta metadata updates/prestodelta | 445 kB 02:34 Processing delta metadata /boot/initramfs-2.6.31.5-127.fc12.i686.PAE.img: contents have been changed delta does not match installed data /boot/initramfs-2.6.31.9-174.fc12.i686.PAE.img: contents have been changed delta does not match installed data Download delta size: 1.7 M (1/3): kernel-PAE-devel-2.6.31.9-174.fc12_2.6.31.12-174. | 1.4 MB 03:39 (2/3): kernel-firmware-2.6.31.9-174.fc12_2.6.31.12-174.2 | 81 kB 00:21 (3/3): kernel-headers-2.6.31.9-174.fc12_2.6.31.12-174.2. | 153 kB 00:29 Finishing rebuild of rpms, from deltarpms <delta rebuild> | 7.6 MB 00:01 Presto reduced the update size by 79% (from 7.6 M to 1.7 M). Package(s) data still to download: 19 M http://mirrors.rit.edu/fedora/linux/updates/12/i386/kernel-PAE-2.6.31.12-174...: [Errno 14] HTTP Error 200 : http://mirrors.rit.edu/fedora/linux/updates/12/i386/kernel-PAE-2.6.31.12-174... Trying other mirror. kernel-PAE-2.6.31.12-174.2.3.fc12.i686.rpm | 19 MB 66:21 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : kernel-firmware-2.6.31.12-174.2.3.fc12.noarch 1/8 Installing : kernel-PAE-devel-2.6.31.12-174.2.3.fc12.i686 2/8 Updating : kernel-headers-2.6.31.12-174.2.3.fc12.i686 3/8 Installing : kernel-PAE-2.6.31.12-174.2.3.fc12.i686 4/8 W: Possible missing firmware aic94xx-seq.fw for module aic94xx.ko W: Possible missing firmware ql8100_fw.bin for module qla2xxx.ko Cleanup : kernel-PAE-devel-2.6.31.5-127.fc12.i686 5/8 Cleanup : kernel-firmware-2.6.31.9-174.fc12.noarch 6/8 Cleanup : kernel-headers-2.6.31.9-174.fc12.i686 7/8 Cleanup : kernel-PAE-2.6.31.5-127.fc12.i686 8/8
Removed: kernel-PAE.i686 0:2.6.31.5-127.fc12 kernel-PAE-devel.i686 0:2.6.31.5-127.fc12
Installed: kernel-PAE.i686 0:2.6.31.12-174.2.3.fc12 kernel-PAE-devel.i686 0:2.6.31.12-174.2.3.fc12
Updated: kernel-headers.i686 0:2.6.31.12-174.2.3.fc12
Dependency Updated: kernel-firmware.noarch 0:2.6.31.12-174.2.3.fc12
Complete! [root@localhost ~]#
Regards,
Antonio
On Saturday 23 January 2010 21:55:21 Antonio Olivares wrote:
Deltarpms does help a little bit with many packages, but the kernel is not one of them :(
kernel-devel, kernel-headers, kernel-firmware, etc do work though, how come kernel package is not the same?
Not sure if I understand it correctly, but anyway... The kernel is not being updated, but rather installed concurrently with other kernels. So you cannot create a delta rpm for it, since there is a completely new rpm coming with each kernel. If kernel was supposed to be *updated* then maybe you could create a delta, but if you want to *install* it (from scratch, as is done in Fedora), then delta will not help.
And if you want to have multiple kernels available simultaneously (in contrast to SuSE), you need to *install* each of them, not update from one to another.
As for the presto and delta rpms, it typically saves 60-90% of my bandwidth with each update, and works flawlessly. Developers did a fantastic job! :-)
Best, :-) Marko
--- On Sat, 1/23/10, Marko Vojinovic vvmarko@gmail.com wrote:
From: Marko Vojinovic vvmarko@gmail.com Subject: Re: deltarpms and newer kernels To: users@lists.fedoraproject.org Cc: "Antonio Olivares" olivares14031@yahoo.com Date: Saturday, January 23, 2010, 2:16 PM On Saturday 23 January 2010 21:55:21 Antonio Olivares wrote:
Deltarpms does help a little bit with many packages,
but the kernel is not
one of them :(
kernel-devel, kernel-headers, kernel-firmware, etc do
work though, how come
kernel package is not the same?
Not sure if I understand it correctly, but anyway... The kernel is not being updated, but rather installed concurrently with other kernels. So you cannot create a delta rpm for it, since there is a completely new rpm coming with each kernel. If kernel was supposed to be *updated* then maybe you could create a delta, but if you want to *install* it (from scratch, as is done in Fedora), then delta will not help.
This is where the OS's differ in their approach to kernel updating.
And if you want to have multiple kernels available simultaneously (in contrast to SuSE), you need to *install* each of them, not update from one to another.
I wonder how OpenSUSE does this/did this, but there you don't download a new kernel, you download the delta rpm and magically the new kernel is created. Fedora *apparently does not have this*, but it is OK, I was just wondering why it does not happen here like in OpenSUSE?
As for the presto and delta rpms, it typically saves 60-90% of my bandwidth with each update, and works flawlessly. Developers did a fantastic job! :-)
Can't disagree with this :)
Best, :-) Marko
Best Regards.
Antonio
On Sat, 23 Jan 2010, Marko Vojinovic wrote:
On Saturday 23 January 2010 21:55:21 Antonio Olivares wrote:
Deltarpms does help a little bit with many packages, but the kernel is not one of them :(
kernel-devel, kernel-headers, kernel-firmware, etc do work though, how come kernel package is not the same?
Not sure if I understand it correctly, but anyway... The kernel is not being updated, but rather installed concurrently with other kernels. So you cannot create a delta rpm for it, since there is a completely new rpm coming with each kernel. If kernel was supposed to be *updated* then maybe you could create a delta, but if you want to *install* it (from scratch, as is done in Fedora), then delta will not help.
Actually, it should be possible to use deltarpm to create a new kernel RPM from the previous kernel if it is installed, and indeed it worked in previous Fedora versions. I think the issue is the initramfs file in /boot that is fooling deltarpm into thinking that the kernel files have been modified so deltarpm wouldn't work. Kernels from earlier Fedora versions used initrd files, which are generated as part of the install, and I imagine that deltarpm knew it could ignore them (perhaps as a result of the packaging in the kernel RPM.
Michael Young
On Sat, 2010-01-23 at 22:16 +0000, Marko Vojinovic wrote:
Not sure if I understand it correctly, but anyway... The kernel is not being updated, but rather installed concurrently with other kernels. So you cannot create a delta rpm for it, since there is a completely new rpm coming with each kernel. If kernel was supposed to be *updated* then maybe you could create a delta, but if you want to *install* it (from scratch, as is done in Fedora), then delta will not help.
Even for concurrently installed packages, it could still be possible to make a delta that has all the changes needed since the previously installed kernel. However, there might well be so many changes, that there's no significant benefit. And, for the kernel, that would seem to be the case. Just listing the contents of the last kernel package, it's full of files specific to that particular kernel, I can't see any files that would be common to another kernel.
On 01/23/2010 01:55 PM, Antonio Olivares wrote:
Dear fellow Fedora users,
Deltarpms does help a little bit with many packages, but the kernel is not one of them :(
kernel-devel, kernel-headers, kernel-firmware, etc do work though, how come kernel package is not the same?
/* Package(s) data still to download: 19 M */ Otherwise, real savings and improvement would apply :), wonder how OpenSUSE handles this, one of my machines at school died and it had OpenSUSE and updates seemed fast, but they have only one kernel which I don't like, with Fedora we can keep more kernels :)
If you're managing a fairly large group of computers, it would be much easier for you to just clone the repos or use a caching proxy for updates
On Sat, 2010-01-23 at 13:55 -0800, Antonio Olivares wrote:
Dear fellow Fedora users,
Deltarpms does help a little bit with many packages, but the kernel is not one of them :(
kernel-devel, kernel-headers, kernel-firmware, etc do work though, how come kernel package is not the same?
Basically, the kernel now has a 20MB initramfs included that is full of 0's. When you install the kernel, it automatically generates an initramfs to replace this "dummy" one. The reason the dummy one is in there is so that rpm can accurately calculate how much space it needs in boot.
Deltarpm sees that the initramfs has changed and can't do a delta because it thinks the initramfs should be 0's.
Jonathan
On Saturday 23 January 2010 11:45 PM, Jonathan Dieter wrote:
On Sat, 2010-01-23 at 13:55 -0800, Antonio Olivares wrote:
Dear fellow Fedora users,
Deltarpms does help a little bit with many packages, but the kernel is not one of them :(
kernel-devel, kernel-headers, kernel-firmware, etc do work though, how come kernel package is not the same?
Basically, the kernel now has a 20MB initramfs included that is full of 0's. When you install the kernel, it automatically generates an initramfs to replace this "dummy" one. The reason the dummy one is in there is so that rpm can accurately calculate how much space it needs in boot.
Deltarpm sees that the initramfs has changed and can't do a delta because it thinks the initramfs should be 0's.
Shouldn't that be classified as a bug with presto/deltarpm?
Jonathan
On Sun, 2010-01-24 at 03:11 -0800, Suvayu Ali wrote:
On Saturday 23 January 2010 11:45 PM, Jonathan Dieter wrote:
Basically, the kernel now has a 20MB initramfs included that is full of 0's. When you install the kernel, it automatically generates an initramfs to replace this "dummy" one. The reason the dummy one is in there is so that rpm can accurately calculate how much space it needs in boot.
Deltarpm sees that the initramfs has changed and can't do a delta because it thinks the initramfs should be 0's.
Shouldn't that be classified as a bug with presto/deltarpm?
No. It's a kernel packaging bug. See http://www.codemonkey.org.uk/2009/12/10/annoying-kernel-packaging-bug and https://bugzilla.redhat.com/show_bug.cgi?id=544901.
Jonathan