PDA

View Full Version : Does package archive repository retain ALL versions of packages?



nneul-0
May 15th, 2015, 03:07 PM
If there are for example 5 updates of openssl issued over some period of time for a particular distro version - are each of those packages retained indefinitely in the archive, or are older versions discarded?

I'm interested from the perspective of being able to take a snapshot of the repository metadata - so that I can apply a set of patches to a development/test environment, and then know that a week or so later, know that I can apply the exact same set of updates to my production machines.

If I can rely on the archive retaining all versions of the packages (at least for some determined window of time) - then I only need to snapshot the metadata. Otherwise I'll need to snapshot all of the packages as well.

(And yes, I'm aware of Landscape, just not practical from a cost perspective.)

ian-weisser
May 15th, 2015, 04:00 PM
If there are for example 5 updates of openssl issued over some period of time for a particular distro version - are each of those packages retained indefinitely in the archive, or are older versions discarded?

Older versions are discarded from the repository. Apt expects a repository to have only one version of a package.

Older versions are retained on the package's Launchpad page. Example (https://launchpad.net/ubuntu/precise/+package/openssh-client)

nneul-0
May 15th, 2015, 04:01 PM
Are they removed immediately upon publication of the newer version, or is there an overlap period?

ian-weisser
May 15th, 2015, 06:47 PM
Both.
To you, it seems immediate. Apt expects a repository to have only one version of a package.
However, phased updates were implemented several years ago for users of Software Updater (not Synaptic or apt-get). That means some users may see an update several days before other users. Phased updates is another layer of protection - a catastrophic update can be detected and reverted before it affects everybody.

nneul-0
May 15th, 2015, 09:42 PM
Thank you!