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 # lsraw zypp.dbrondo:/var/cache/zypp/raw # lsopenSUSE-10.3-DVD 10.3 openSUSE-10.3-Updatesrondo:/var/cache/zypp/raw/openSUSE-10.3-Updates # lsrepodatarondo:/var/cache/zypp/raw/openSUSE-10.3-Updates/repodata # lspatch-aaa_base-4866.xmlpatch-alsa-4737.xmlpatch-amarok-4492.xml.[300 some xml files omitted].patch-yast2-trans-de-4889.xmlpatch-zypper-4530.xmlprimary.xml.gzrepomd.xmlrepomd.xml.ascrepomd.xml.keyrondo:/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.