SCIENTIFIC-LINUX-USERS Archives

May 2005

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Dashamir Hoxha <[log in to unmask]>
Reply To:
Date:
Wed, 18 May 2005 08:13:51 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (259 lines)
On Tuesday 17 May 2005 16:50, Connie Sieh wrote:
> Dashamir,
>
> How did you make your nfs/http area?
>
> -Connie Sieh

Connie,

I did it like this (extract from the documentation):

     _________________________________________________________

Scientific Linux Repository

   Scientific   Linux  is  mirrored  in  /mnt/hda12/SL/.  I  will
   describe  how  the  mirror  is  done  for  SL40 and it is very
   similar for other releases.

   Mirrorring SL and making an APT repository for it is done like
   this:

    1. Download the CD ISO images.
    2. Extract the content of the ISO images in harddisk.
    3. Update the latest changes from a SL mirror server.
    4. Index the RPM packages.
    5. Export the repository by HTTP.
     _________________________________________________________

Download ISO Images

   Download the CD ISO images of SL304:
bash# cd /mnt/hda12/SL/40/
bash# mkdir -p iso/i386/
bash# ./get_SL.sh &

   See  the  Section  called  get_SL.sh  and  the  Section called
   get_SL.ftp .

   Check that the files are downloaded correctly:
bash# cd iso/i386/
bash# ls
SL.40.042005.i386.disc1.iso  SL.40.042005.i386.disc4.iso
SL.40.042005.i386.disc2.iso  SL.40.042005.i386.md5sum
SL.40.042005.i386.disc3.iso
bash# md5sum -c SL.40.042005.i386.md5sum
     _________________________________________________________

get_SL.sh

#!/bin/bash

### go to this directory
cd $(dirname $0)

### download SL iso-s
lftp -f get_SL.ftp
     _________________________________________________________

get_SL.ftp

open mirror.switch.ch
cd mirror/scientificlinux/40/iso/i386/
lcd /mnt/hda12/SL/40/iso/i386/
mget -c *.md5sum
mget -c *.iso
quit
     _________________________________________________________

Extract the Content of the ISO Images

    1. Mount ISO images:

bash# mkdir cd1 cd2 cd3 cd4
bash# mount -o loop iso/i386/SL.....i386.disc1.iso cd1/
bash# mount -o loop iso/i386/SL.....i386.disc2.iso cd2/
bash# mount -o loop iso/i386/SL.....i386.disc3.iso cd3/
bash# mount -o loop iso/i386/SL.....i386.disc4.iso cd4/

    2. Copy their content to hard disk:

bash# mkdir i386/
bash# cp -a cd1/* i386/
bash# cp -a cd2/* i386/
bash# cp -a cd3/* i386/
bash# cp -a cd4/* i386/

    3. Unmount and clean:

bash# umount cd1
bash# umount cd2
bash# umount cd3
bash# umount cd4
bash# rmdir cd[1-4]
     _________________________________________________________

Mirror SL

   Update the latest changes from a SL mirror server:
bash# cd /mnt/hda12/SL/40/
bash# ./mirror_SL.sh &

   It  can  also be called automatically every night by cron, but
   right  now  it  is  called  manually  only  when there are any
   updates.

   The contents of mirror_SL.sh :
#!/bin/bash

### go to this dir
cd $(dirname $0)

### mirror
lftp -f mirror_SL.ftp

### re-index the packages
./genbasedir.sh

   The contents of mirror_SL.ftp :
open mirror.switch.ch
cd mirror/scientificlinux/40/i386/
lcd /mnt/hda12/SL/40/i386/
mirror --delete --continue -X 'obsolete/' -X 'debuginfo/'
quit

   The  directory errata/obsolete/ is excluded, because it is too
   big and it may be irrelevant and/or useless.
     _________________________________________________________

Index the RPM Packages

   After  making  a  mirror,  we  have  also  to re-index the RPM
   packages  using  genbasedir , so that this mirror can serve as
   an APT repository. To do this we call the script genbasedir.sh
   each time that the mirror is updated:
#!/bin/bash
### re-index the packages
genbasedir --progress --flat --bz2only \
           /mnt/hda12/SL/40/i386/apt/
     _________________________________________________________

Export By HTTP

   Create a symbolic link in /var/www/html :
   bash# ln -s /mnt/hda12/SL /var/www/html/SL

   After that, SL40 can be accessed at:
   http://192.168.252.1/SL/40/i386/

   In  order  to  access SL by APT, in the client computer modify
   the file /etc/apt/sources.list.d/sl.list like this:
rpm http://192.168.252.1/SL latest/i386/apt os contrib updates
rpm-src http://192.168.252.1/SL latest/i386/apt os contrib updates

   Note: The same directory is exported by NFS.
     _________________________________________________________


The network installation is done by PXE+DHCP+TFTP.  Below is
described the TFTP configuration:
     _________________________________________________________

TFTP Configuration

    1. Create  the  directory /tftpboot/linux-install/ , and copy
       there pxelinux.0 :

bash# mkdir -p /tftpboot/linux-install/
bash# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/linux-install/

       pxelinux.0  comes  with the package syslinux , so if it is
       not there, then try first to install this package:

bash# apt-get install syslinux

    2. Create  a  default  syslinux  configuration  file  in  the
       directory named pxelinux.cfg/ :

bash# mkdir /tftpboot/linux-install/pxelinux.cfg
bash# vi /tftpboot/linux-install/pxelinux.cfg/default

    3. Copy kernel and initrd images:

bash# cd /tftpboot/linux-install/
bash# mkdir SL
bash# mkdir SL/40
bash# ln -s SL/40 SL/latest
bash# cp /mnt/hda12/SL/40/i386/images/SL/pxeboot/vmlinuz SL/40/
bash# cp /mnt/hda12/SL/40/i386/images/SL/pxeboot/initrd.img SL/40/

       /mnt/hda12/SL/  is the location of the SL mirrors (see the
       Section called Scientific Linux Repository ).
    4. Copy some boot messages:

bash# mkdir msgs
bash# cp /mnt/hda12/SL/40/i386/isolinux/*.msg msgs/
bash# cp msgs/boot.msg msgs/boot-inima.msg

       These  messages  can  also  be  modified  or translated if
       wanted.    See    for    example    the   Section   called
       msgs/boot-inima.msg .

--------------

Sorry if it is too long, but maybe it is worth it.
Similar configurations work without problems with SL303 and SL304.

-Dashamir Hoxha

> On Tue, 17 May 2005, Dashamir
>
> Hoxha wrote:
> > Hi,
> >
> > I am trying to install SL40 from network. It fails with the error message
> > which is appended at the end. I tried both an NFS and an HTTP
> > installation, and there is the same error. By the way, the HTTP
> > installation of SL40 is graphical?
> >
> > Has anybody else tried it? If you have any idea what might be wrong,
> > please help me.
> >
> > Regards,
> > Dashamir Hoxha
> >
> > -------------------------------------------------------------------------
> >------------ Exception Occured
> > ==============
> > An unhandled exception has occurred. This is most likely a bug.
> > Please copy the full text of this exception or save the crash dump
> > to a floppy then file a detailed bug report agains anaconda at
> > http://bugzilla.redhat.com/bugzilla/
> > ----------------------------------
> > Traceback (most recent call last):
> >   File "/var/tmp/anaconda-10.1.1.13.SL//usr/lib/anaconda/gui.py", line
> > 1074, in handleRenderCallback
> >     self.currentWindow.renderCallback()
> >   File
> > "/var/tmp/anaconda-10.1.1.13.SL//usr/lib/anaconda/iw/progress_gui.py",
> > line 242, in renderCallback
> >     self.intf.icw.nextClicked()
> >   File "/var/tmp/anaconda-10.1.1.13.SL//usr/lib/anaconda/gui.py", line
> > 789, in nextClicked
> >     self.dispatch.gotoNext()
> >   File "/var/tmp/anaconda-10.1.1.13.SL//usr/lib/anaconda/dispatch.py",
> > line 171, in gotoNext
> >     self.moveStep()
> >   File "/var/tmp/anaconda-10.1.1.13.SL//usr/lib/anaconda/dispatch.py",
> > line 239, in moveStep
> >     rc = apply(func, self.bindArgs(args))
> >   File "/tmp/updates/packages.py", line 706, in doPreInstall
> >     method.mergeFullHeaders(id.grpset.hdrlist)
> >   File "/var/tmp/anaconda-10.1.1.13.SL//usr/lib/anaconda/image.py", line
> > 131, in mergeFullHeaders
> >     hdlist.mergeFullHeaders("%s/%s/base/hdlist2" % (self.tree,
> > productPath)) File "/usr/lib/anaconda/hdrlist.py", line 343, in
> > mergeFullHeaders rpm.mergeHeaderListFromFD(self.hdlist, fd, 1000004)
> > error: match tag mismatch

ATOM RSS1 RSS2