Second repository during autoinstall?
Hi all, for the autoinstallation of our workstations, I would like to add a second repository to the installation sources. I intend to mirror the complete Packman repo locally, then add some stuff from that repository during the install. I've read through the AutoYAST doc and through quite a few postings on this list, but that left me utterly confused... :-( Did I understand correctly that it is not possible to add a second repository as an install source? Chapter 4.5.3 and the postings I found all talk about modifying the one install repository which is not what I want - I'd much prefer to keep the original SuSE 10.0 install tree untouched, as it's easier to track what has been added. Someone (Michael Marion?) hinted at having a separate repository, but unfortunately not in a way that I was able to make something out of it... :-} Hence: How do I go about this? The Packman repo is a complete repo and the local mirror is already usable by YaST2 as an install source (at least if I mount the directory from the server to the workstation and use "file://" - "nfs://" doesn't work for some strange reason - but that's another problem) - all I want to do is add it as an additional source so I can add the additional packages I want to autoinstall.xml and have them installed as well. Any hints appreciated! Cheerio, Thomas
On Thursday 03 November 2005 14:19, T. Ribbrock wrote:
I'd much prefer to keep the original SuSE 10.0 install tree untouched, as it's easier to track what has been added.
in another post today I explained how to do add RPMs to an installation source via create_update_source.sh + create_package_descr script. You should try that method too. -- ciao, Uwe Gansert Uwe Gansert, Server Technologies Team SUSE LINUX Products GmbH, Maxfeldstrasse 5, D-90409 Nuernberg, Germany e-mail: uwe.gansert@suse.de, Tel: +49-(0)911-74053-0, Fax: +49-(0)911-74053-476, Web: http://www.suse.de
On Fri, Nov 04, 2005 at 01:29:56PM +0100, Uwe Gansert wrote:
in another post today I explained how to do add RPMs to an installation source via create_update_source.sh + create_package_descr script. You should try that method too.
I've seen that, thanks. Looks promising - running create_package_descr created the "setup" dir and its contents. I can't test the actual install right now but will try to do so tomorrow. Two (three...) questions remain: - When I ran create_package_descr, it complained about extra_provides: file setup/descr/EXTRA_PROV not found! The earlier "create_update_source.sh", however, *did* create such a file in PATH/updates - do I need to worry about that? - Do I understand this correctly: the autoinstall process will automagically find the "updates" directory? How does that work? Cheerio, Thomas
On Sun, Nov 06, 2005 at 11:14:11PM +0100, T. Ribbrock wrote:
On Fri, Nov 04, 2005 at 01:29:56PM +0100, Uwe Gansert wrote:
in another post today I explained how to do add RPMs to an installation source via create_update_source.sh + create_package_descr script. You should try that method too.
Ok, I tried that, but I must be overlooking something, as it didn't work. I'll try to jot down all steps I did - maybe you can see what's wrong: 1) I have a directory on SERVER called "SuSE". It contains: 10.0 (SuSE 10.0 installation sources) 9.3 (SuSE 9.3 installation sources) Packman (Packman installation sources Updates (SuSE 10.0 updates, in two trees) MS_TT-Fonts (local mirror of MS core fonts) SLOX (some stuff for SLOX) Supplementary (some SuSE supplementary stuff) 2) I cd'ed into /PATH/TO/SuSE and ran create_update_source.sh . That created "updates" in /PATH/TO/SuSE 3) I proceeded to copy all Packman RPMs into /PATH/TO/SuSE/updates/i?86 etc. 4) cd /PATH/TO/SuSE/updates/suse and ran: create_package_descr -x setup/descr/EXTRA_PROV -l english -l spanish -l french -l german -l czech -l hungarian -l italian 5) My autoinstall uses this as a source (in 'info'): install: nfs://SERVER/PATH/TO/SuSE/10.0/ 6) I modified my autoinst.xml and added all packages from Packman that I want to install to the <packages config:type="list"> <package>....</package> </packages> section. I did not make any other changes to that file (it was fully functional before, just missing the Packman RPMs) 7) During the autoinstall, the screen still listed only five CDs, just like before. 8) After the autoinstall, the install was functional as before, however, none of the packages from the "updates" directory had been installed. I checked the files in /var/log/YaST and could find the names of those packages as part of the "to install" list, but no error messages or suchlike. Any idea what I missed here? It's probably something blatantly obvious, but I just can't find it... :-( Cheerio, Thomas
On Monday 07 November 2005 10:51, T. Ribbrock wrote:
1) I have a directory on SERVER called "SuSE". It contains: 10.0 (SuSE 10.0 installation sources) 9.3 (SuSE 9.3 installation sources) Packman (Packman installation sources Updates (SuSE 10.0 updates, in two trees) MS_TT-Fonts (local mirror of MS core fonts) SLOX (some stuff for SLOX) Supplementary (some SuSE supplementary stuff)
2) I cd'ed into /PATH/TO/SuSE and ran create_update_source.sh . That created "updates" in /PATH/TO/SuSE
I don't think that can work. For which distribution should that directory contain RPMs? You have to go to "10.0" directory or to "9.3" - depending on the distribution you want to create an update tree for. I mentioned a "yast/order" and "yast/instorder" file in the other mail. I don't think you have thoes files at all in "/PATH/TO/SuSE".
6) I modified my autoinst.xml and added all packages from Packman that I want to install to the
It might be a good idea to do manual installations for the tests. Then you can "search" for the packages you added in the software selection and don't have to do a full installation each time.
Any idea what I missed here? It's probably something blatantly obvious, but I just can't find it... :-(
I think you have created the "updates" in the wrong path. -- ciao, Uwe Gansert Uwe Gansert, Server Technologies Team SUSE LINUX Products GmbH, Maxfeldstrasse 5, D-90409 Nuernberg, Germany e-mail: uwe.gansert@suse.de, Tel: +49-(0)911-74053-0, Fax: +49-(0)911-74053-476, Web: http://www.suse.de
On Mon, Nov 07, 2005 at 11:16:55AM +0100, Uwe Gansert wrote:
I don't think that can work. For which distribution should that directory contain RPMs? You have to go to "10.0" directory or to "9.3" - depending on the distribution you want to create an update tree for. I mentioned a "yast/order" and "yast/instorder" file in the other mail. I don't think you have thoes files at all in "/PATH/TO/SuSE".
Hm, I think I might have misinterpreted your second mail (the one explicitly stating not to cd into the SuSE-SLES9-CORE (or what it's called) directory. So, I need to cd into the 10.0 directory - i.e. the one where all the media.[1-5] and directory.yast etc. are located in? Right, I'll try that tomorrow and report back. Cheerio, Thomas
On Tuesday 08 November 2005 01:20, T. Ribbrock wrote:
Hm, I think I might have misinterpreted your second mail (the one explicitly stating not to cd into the SuSE-SLES9-CORE (or what it's called) directory.
Ha! Yesterday, on my way home, it came to my mind that that might has happened. The "SuSE-SLES9-CORE" directory on a SLES is really on that level that would be called "/PATH/TO/SuSE/SLES9/" in your structure. The structure of a SLES9, with all it's service packs, looks quite different than a normal 10.0 or 9.3
So, I need to cd into the 10.0 directory - i.e. the one where all the media.[1-5] and directory.yast etc. are located in? Right, I'll try that tomorrow and report back.
okay, I hope that works for a non SLES product too. -- ciao, Uwe Gansert Uwe Gansert, Server Technologies Team SUSE LINUX Products GmbH, Maxfeldstrasse 5, D-90409 Nuernberg, Germany e-mail: uwe.gansert@suse.de, Tel: +49-(0)911-74053-0, Fax: +49-(0)911-74053-476, Web: http://www.suse.de
On Tue, Nov 08, 2005 at 10:04:05AM +0100, Uwe Gansert wrote:
On Tuesday 08 November 2005 01:20, T. Ribbrock wrote:
Hm, I think I might have misinterpreted your second mail (the one explicitly stating not to cd into the SuSE-SLES9-CORE (or what it's called) directory.
Ha! Yesterday, on my way home, it came to my mind that that might has happened. The "SuSE-SLES9-CORE" directory on a SLES is really on that level that would be called "/PATH/TO/SuSE/SLES9/" in your structure. The structure of a SLES9, with all it's service packs, looks quite different than a normal 10.0 or 9.3
Yup, you're right - that was it. As soon as the "updates" directory ends up in "10.0" (i.e. the directory where all the media.[1-5] and directory.yast etc. are located in), all is well. BUT: Given that you poked me with the right keywords, I got adventurous and discovered that this whole issue is MUCH, MUCH EASIER to accomplish: Let's rehash: I wanted to add the Packman repository as a second repository for the autoinstall. This is a fully operable repository. And here is what you need to do to add it to the installation sources: 1) cd SOURCE_DIR N.B.: This is the directory containing media.*, boot, ARCHIVES.gz and all that - in my case "10.0" 2) Copy the complete, working repository as a new directory into SOURCE_DIR. This has to be the directory that you can also give to YaST2 as an installation source. In my case I had to copy the Packman/suse/10.0 directory and it ended up being SOURCE_DIR/Packman 3) Make a new directory called "yast" in SOURCE_DIR if it doesn't already exist 4) cd yast You need to have two files in there: instorder and order Modify/create them to contain all necessary pointers to the original SOURCE_DIR (denoted as '/') and the new repository directory. In my case, 'instorder' looks like this: /Packman / and 'order' looks like this: /Packman /Packman / THAT'S IT! If you now add packages from this repository to your package list in autoinst.xml, they will get installed. In fact, the additional repository will show up with a full name and as a CD in the install screen when autoyast is installing the system. And YES, you CAN add more than one extra repository that way (I'm using two at the moment). CAVEAT EMPTOR: As I discovered, using this feature has potential downsides: In my case, I'm using Packman and among other things, they have packages that are simply a newer version of an existing SuSE package. If you choose to install that package, YaST2 will pick the newer one, which means you could end up with more "non-standard" packages than you bargained for. I'm currently having the problem that I do want the Packman version of xmms (for MP3 support) but not the Packman version of xsane/sane (I have no reason to). Usually, I prefer to keep as much standard as possible, as that prevents some update headaches e.g. for security fixes. Personally, I have yet to decide what to do about this - I could modify the Packman repository to remove all packages I don't want (obviously, I need create_package_descr again in that case), but that means that mirroring the repo gets a bit more complex. Or I could revert to my original method, which are init scripts with an "installation_source" command and a few "y2pmsh isc PACKAGE" commands. That solution requires more effort when making/testing those commands. <sigh> Decisions, decisions... Anyway, thanks for pointing me in the right direction, Uwe! Cheerio, Thomas
Ok, let's continue the monologue, as my knowledge progresses (aka "on error: learn")... ;-} On Tue, Nov 08, 2005 at 11:31:38AM +0100, T. Ribbrock wrote: [...]
THAT'S IT! If you now add packages from this repository to your package list in autoinst.xml, they will get installed. In fact, the additional repository will show up with a full name and as a CD in the install screen when autoyast is installing the system. And YES, you CAN add more than one extra repository that way (I'm using two at the moment).
There seems to be a second catch: If the repositories are added as described, YaST's "online_update" demands to have update directories for those repositories as well... That means that any update from one of the usual FTP mirrors will *fail*, as they do not have those directories. If there is a way to tell YaST to ignore this, I haven't seen it. However, if you mirror the updates locally, you can add some directories to keep YaST happy. For Packman, I had to add i586/update/Packman/10.0/patches at the same level where the standard "i386" directory resides. YaST would then let me use the online update again. So, all I need now is an easy way to generate the patches from the Packman updates... errr... :-} Cheerio, Thomas
On Tuesday 08 November 2005 12:05, T. Ribbrock wrote:
There seems to be a second catch: If the repositories are added as described, YaST's "online_update" demands to have update directories for those repositories as well... That means that any update from one of the usual FTP mirrors will *fail*, as they do not have those directories. If there is a way to tell YaST to ignore this, I haven't seen it.
look at the content file of the new repository maybe you can turn it off there. Try to add "YOUTYPE noyou" for example but I never tried that on my own. The noyou stuff I got from google: http://linux.integrity.hu/pub/slb/inst-source/content thanks for sharing your experience with that. It's a new topic for me too. -- ciao, Uwe Gansert Uwe Gansert, Server Technologies Team SUSE LINUX Products GmbH, Maxfeldstrasse 5, D-90409 Nuernberg, Germany e-mail: uwe.gansert@suse.de, Tel: +49-(0)911-74053-0, Fax: +49-(0)911-74053-476, Web: http://www.suse.de
On Tue, Nov 08, 2005 at 12:30:07PM +0100, Uwe Gansert wrote:
look at the content file of the new repository maybe you can turn it off there. Try to add "YOUTYPE noyou" for example but I never tried that on my own. The noyou stuff I got from google: http://linux.integrity.hu/pub/slb/inst-source/content
That should work. I haven't redone the actual autoinstall yet, but I've changed that value in the corresponding files in /var/adm/YaST/ProdDB - and that solved that problem. Thanks! Oddly enough, those parameters seem badly documented - or at least not in any way that Google can find... :-}
thanks for sharing your experience with that. It's a new topic for me too.
My pleasure! I'm pretty certain I'm not the only one who needs to do this... :-) Cheerio, Thomas
On Tue, Nov 08, 2005 at 02:32:12PM +0100, T. Ribbrock wrote:
On Tue, Nov 08, 2005 at 12:30:07PM +0100, Uwe Gansert wrote:
look at the content file of the new repository maybe you can turn it off there. Try to add "YOUTYPE noyou" for example but I never tried that on my own. The noyou stuff I got from google: http://linux.integrity.hu/pub/slb/inst-source/content
That should work.
For completeness' sake: It does work. I completed the autoinstall of two PCs today and all additional packages got installed *and* online updates work. Wow. This is so slick! :-) Cheerio, Thomas
On Wednesday 09 November 2005 01:15, T. Ribbrock wrote:
For completeness' sake: It does work. I completed the autoinstall of two PCs today and all additional packages got installed *and* online updates work. Wow. This is so slick! :-)
nice to hear. I think I should spend a few days for the documentation again. -- ciao, Uwe Gansert Uwe Gansert, Server Technologies Team SUSE LINUX Products GmbH, Maxfeldstrasse 5, D-90409 Nuernberg, Germany e-mail: uwe.gansert@suse.de, Tel: +49-(0)911-74053-0, Fax: +49-(0)911-74053-476, Web: http://www.suse.de
On Wed, Nov 09, 2005 at 10:22:13AM +0100, Uwe Gansert wrote:
I think I should spend a few days for the documentation again.
Docs are always nice. :-) I actually finally found the documentation for YOUTYPE: It's in /usr/share/doc/packages/yast2-packagemanager after you installed yast2-packagemanager-devel. The file is called "media-descr.html". Also, have a look at "multiple-install.html" in that very directory - it basically covers what I found the other day on my own. Grrrrr - if only the docs weren't spread that much... >:-( Anyway, *if* you're busy with it, it might be worthwhile to add pointers to those docs. ;-) Cheerio, Thomas
On Sunday 06 November 2005 23:14, T. Ribbrock wrote:
- When I ran create_package_descr, it complained about extra_provides: file setup/descr/EXTRA_PROV not found! The earlier "create_update_source.sh", however, *did* create such a file in PATH/updates - do I need to worry about that?
hmm. Like I mentioned out before, I'm not an expert on that topic but I don't get that error message here. The output of create_package_descr -x setup/descr/EXTRA_PROV -l english -l spanish -l french -l german -l czech -l hungarian -l italian using settings: datadirs: . languages: english,spanish,french,german,czech,hungarian,italian output dir: ./setup/descr/ is not a directory: ignoring extra_provides: setup/descr/EXTRA_PROV find: warning: you have specified the -maxdepth option after a non-option argument -name, but options are not positional (-maxdepth affects tests specified before it as well as those specified after it). Please specify options before other arguments. done processed 1 packages now recoding to UTF-8: packages packages.DU packages.en packages.es packages.fr packages.de packages.cs packages.hu packages.it The warning looks a little bit strange. I should look into that by time but at the end everything works like expected.
- Do I understand this correctly: the autoinstall process will automagically find the "updates" directory? How does that work?
It's YaST that will find that directory, so even in a manual installation the directory will be found. It's no autoinstallation magic but a feature of yast to check the "yast/order"+"yast/instorder" files for installation sources and if you check the content of those files, you'll see that the "/updates" directory was added to them. I'll read you other mail now. It arrived while I wrote this one. -- ciao, Uwe Gansert Uwe Gansert, Server Technologies Team SUSE LINUX Products GmbH, Maxfeldstrasse 5, D-90409 Nuernberg, Germany e-mail: uwe.gansert@suse.de, Tel: +49-(0)911-74053-0, Fax: +49-(0)911-74053-476, Web: http://www.suse.de
participants (2)
-
T. Ribbrock
-
Uwe Gansert