Studying openSUSE Yast Online Update (YOU).
2008-02-14 mdiehn.
Hi, this is Mike. I’m just making notes as I learn, so not to forget what I’ve discovered. Happy Valentine’s Day.
Working on rondo.fluent.com, an openSUSE 10.3 system – trying to understand the workings of the Yast Online Update system. We want to make a local repository and wondered if we could “piggy-back” the server on a YOU client. So I’m studying a client while it works.
Found that /var/cache/zypp contains a set of xml files for each software repository configured in YAST. Have a look at what I found in them:
rondo:/var/cache/zypp # ls
raw zypp.db
rondo:/var/cache/zypp/raw # ls
openSUSE-10.3-DVD 10.3 openSUSE-10.3-Updates
rondo:/var/cache/zypp/raw/openSUSE-10.3-Updates # ls
repodata
rondo:/var/cache/zypp/raw/openSUSE-10.3-Updates/repodata # ls
patch-aaa_base-4866.xml
patch-alsa-4737.xml
patch-amarok-4492.xml
.
[300 some xml files omitted]
.
patch-yast2-trans-de-4889.xml
patch-zypper-4530.xml
primary.xml.gz
repomd.xml
repomd.xml.asc
repomd.xml.key
rondo:/var/cache/zypp/raw/openSUSE-10.3-Updates/repodata #
Looks like an xml file for every patch on the update server. The actual RPMs containing the patches aren’t put here. Instead, they appear in an ephermial stucture under /var/adm/mount that exists only while the update process is actually running:
rondo:/var/adm # find .
.
./mount
./mount/AP_0x00000002
./mount/AP_0x00000002/rpm
./mount/AP_0x00000002/rpm/x86_64
./mount/AP_0x00000002/rpm/x86_64/kernel-source-2.6.22.17-0.1.x86_64.rpm
./mount/AP_0x00000002/rpm/x86_64/kernel-source-2.6.22.16_2.6.22.17-0.2_0.1.x86_64.delta.rpm
.
[the rest of the find output isn't relevant]
Only the rpms currently and immediately in use by the update process exists. Looks like it operates on one “patch” at a time and that occasionally that will mean more than one rpm in the queue at once, as we see here.
More later as I find it.