It doesn't need much imagination to conclude that in updates of packages, not all the files are modified between consecutive updates. Till now, I haven't done a statistical analysis. With the next update, I will try to compare the files of a random sample of ten packages and then I will post the results.MeanDean wrote:Can you provide some specific examples and show us how much difference this would make?
Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230
Suggestion: Differential software updates
Debian == { > 30, 000 packages }; Debian != systemd
The worst infection of all, is a false sense of security!
It is hard to get away from CLI tools.
The worst infection of all, is a false sense of security!
It is hard to get away from CLI tools.
-
- Posts: 349
- Joined: 2008-03-31 15:55
- Location: Still trying to figure out for what this field is...
Wait a second, what if say, you run a pretty outdated Etch (for example from the times Etch was testing and Sarge stable) and you wanted to update package pkg-abc from your currently installed version 1.05 to the current upstream version 1.60, how would it work with differential updates? If you installed the update of pkg-abc 1.60, would it only put the updated files and settings between version 1.60 and 1.59 or would it use some kind of intelligent system to determine the changes between version 1.60 and 1.05?
If it is the former, you would need to install the following updates of pkg-abc: 1.06, 1.07, 1.08, 1.09, 1.10, ...1.58, 1.59, 1.60. If it is the latter, then it would be a little bit useful, but what am I gaining from the differential update versus a normal update if the only file between version 1.05 and 1.60 of pkg-abc is README that remained the same while the rest changed?
To me this "differential update" system is extremely hard to make and also seems to slowdown the speed of how APT currently operates. Do we want our dependencies to be checked once more to see if there are any changes between the versions and make the update operation very slow? What about bigger packages like 20Mb and more? It would be very slow on older machines especially to sort out the differences between the versions.
By the way, how would it work anyway when it checks for the changes in the files? The server would keep track of every file inside every package and also the MD5 of the files inside the packages for the system to work.
Or maybe I'm just understanding something wrong.
My opinion: leave APT as it is, works for me at least.
If it is the former, you would need to install the following updates of pkg-abc: 1.06, 1.07, 1.08, 1.09, 1.10, ...1.58, 1.59, 1.60. If it is the latter, then it would be a little bit useful, but what am I gaining from the differential update versus a normal update if the only file between version 1.05 and 1.60 of pkg-abc is README that remained the same while the rest changed?
To me this "differential update" system is extremely hard to make and also seems to slowdown the speed of how APT currently operates. Do we want our dependencies to be checked once more to see if there are any changes between the versions and make the update operation very slow? What about bigger packages like 20Mb and more? It would be very slow on older machines especially to sort out the differences between the versions.
By the way, how would it work anyway when it checks for the changes in the files? The server would keep track of every file inside every package and also the MD5 of the files inside the packages for the system to work.
Or maybe I'm just understanding something wrong.
My opinion: leave APT as it is, works for me at least.
Cheers, GNU.Wasabi
Reply to GNU.Wasabi
In my opinion, differential updates make sense only when updating a package from one version to the next. Widening the gap invariably makes differential updates inefficient, if not worse than doing the updates they are done at present.
By differential updates I mean this: download a file only if the same file in the newer version has been modified or created from scratch.
By differential updates I mean this: download a file only if the same file in the newer version has been modified or created from scratch.
Debian == { > 30, 000 packages }; Debian != systemd
The worst infection of all, is a false sense of security!
It is hard to get away from CLI tools.
The worst infection of all, is a false sense of security!
It is hard to get away from CLI tools.
-
- Posts: 349
- Joined: 2008-03-31 15:55
- Location: Still trying to figure out for what this field is...
edbarx, could you answer to my question that I mentioned above:
Thanks!By the way, how would it work anyway when it checks for the changes in the files? The server would keep track of every file inside every package and also the MD5 of the files inside the packages for the system to work.
Cheers, GNU.Wasabi
The .deb archives contain the file list of each package. The list is complete with the file size and modification date. This information can be used to decide which files have been updated between versions of packages. Moreover, this list together with the updated files can be kept on the server. This avoids the need for the server to decompress the .deb archives. Packages undergoing huge updates should be treated as they are treated at present.GNU.Wasabi wrote:edbarx, could you answer to my question that I mentioned above:Thanks!By the way, how would it work anyway when it checks for the changes in the files? The server would keep track of every file inside every package and also the MD5 of the files inside the packages for the system to work.
I suggest this approach only for packages undergoing small changes. In this way, these .deb files can be excluded from the download procedure.
Debian == { > 30, 000 packages }; Debian != systemd
The worst infection of all, is a false sense of security!
It is hard to get away from CLI tools.
The worst infection of all, is a false sense of security!
It is hard to get away from CLI tools.