On Friday 21 August 2009 09:41:36 am Jay Mistry wrote:
David,
Thanks for the detailed note & procedure. However, I forgot to mention: I am a home PC user and this is for a single desktop home PC (my laptop runs Windows XP w/ Linux Mint 7). I am not sure I followed all the instructions since there is no server: only a single-user home PC. Will use of only the client-side script do the job ?
Well, yes it will work fine for a single PC, but what you are doing there is basically just collecting the current set of rpms you have installed to save to a backup somewhere in case your box crashes and you need to reload. Then you will be able to do your install from the set of rpms you have saved in the local repository and avoid the download. In the zyppmerge.dev script look at line 97, 117, 203, etc. at the use of the LOCALHOST variable. The script is set up to handle the situation where your local repository is the same box as your update server. It will set the variable to "1" if hostname == ${REPOHOST%%.*} and manage your repository there.
The first thing you want to do is to is to set the "keeppackages" option for each of your repository definition definition files in /etc/zypp/repo.d/ and turn off the use of delta.rpms in your zypper.conf file. They may be smaller, but they are a hell of a lot slower to install.
I got the 'keeppackages' option part ...
__editors.repo__ (from /etc/zypp/repos.d/editors.repo) [editors] name=editors enabled=0 autorefresh=0 baseurl=http://download.opensuse.org/repositories/editors/openSUSE_11.1/ type=rpm-md keeppackages=1
^
... and the deltarpm's part (I think). This is the relevant section from /etc/zypp/zypp.conf . Do I need to remove the single # (hash) from
, or will just changing the value from default of "true" to "false' suffice ?
Your /etc/zypp/zypp.conf should look like: [main] download.use_deltarpm = false
## ## Whether to consider using a .delta.rpm when downloading a package ## ## Valid values: boolean ## Default value: true ## ## Using a delta rpm will decrease the download size for package updates ## since it does not contain all files of the package but only the binary ## diff of changed ones. Recreating the rpm package on the local machine ## is an expensive operation (memory,CPU). If your network connection is ## not too slow, you benefit from disabling .delta.rpm. ## # download.use_deltarpm = false
^^^^^
After doing this , I am not sure how to proceed.
I found 2 relevant links through Google, but they refer to Fedora.
(damn I'm getting old, I had forgotten I had already put together a web page that explains most of this some 8-9 months ago, see: http://www.3111skyline.com/linux/openSuSE-LocalUpdate.php ) In a bit more detail, here are the nuts & bolts of the process. All you are doing in setting up a local repository is getting all the rpms out from under /var/cache/zypp/packages/[lots of sub-directories] and moving them to wherever you want your local repository to be. (I use /home/backup/rpms/openSUSE_11.0/architecture (or 11.1, etc..) This keeps you from having to create 10 separate local repositories under /var/cache/zypp/packages/(name of each repo) When openSuSE came out with the keeppackages option so you could save a local copy, they didn't really make them usable due to the spiderweb of directories the rpms get saved to under /var/cache/zypp/packages/reponame... It's just a huge mess to try to do anything with the rpms there. That's why I came up with the script to go through that jungle and move the rpms to some place I could easily make them available in a "single" repository for each openSuSE release. Here is what happens: (1) After setting keeppackages=1 in your /etc/zypp/repos.d/ files and after setting download.use_deltarpm = false in /etc/zypp/zypp.conf, every rpm you download as an update to your system will be saved under /var/cache/zypp/packages/reponame... (2) the zyppmerge.dev script (I really need to rename it) scans all files in /var/cache/zypp/packages and (a) separates them by architecture (i586, noarch, x86_64, etc..) and in the case where you are working on the same machine you want to use as a server, simply copies the rpms that it has found to REPOPATH=/home/backup/rpms/openSUSE_11.0/{i586,x86_64,etc..} where it will create the actual rpm repository (instead of rsync'ing them to a separate server), (b) searches through files in the repository to move all older versions of rpms to a backup location by calling the fduprpm script (c) calls the xmlparse-srv script to update the list of delta-rpms available (since you will probably already have some), (d) creates the repository metadata, (e) signs the repository so it is ready for use, and (f) asks you if you want to delete the rpms from /var/cache/zypp/packages since you have just copied them to your repo location at /home/backup/rpms (by default) After you are satisfied that everything is working, answer "yes" here and it will free up several gigabytes of space on your root partition that is currently taken up by the cached packages. Now you have all your rpms separated by architecture under: /home/backup/rpms/openSUSE_11.0/{i586,x86_64,etc..} that can easily be used as an update repository or simply backed up to a dvd or another box for later use. The scripts I wrote just keep you from having to do all the tedious stuff by hand. Good luck! (I know I need to update some of the script links on the site -- on the agenda)
http://www.labtestproject.com/using_linux/setup_to_install_software_package _from_fedora_10_dvd http://www.labtestproject.com/using_linux/install_software_from_fedora_ins tallation_dvd
Thanks,
Jay
-- David C. Rankin, J.D.,P.E. Rankin Law Firm, PLLC 510 Ochiltree Street Nacogdoches, Texas 75961 Telephone: (936) 715-9333 Facsimile: (936) 715-9339 www.rankinlawfirm.com -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org