[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: http install

> Hash: SHA1
> On Sunday 28 April 2002 12:29 am, John Summerfield wrote:
> > I've created updated ISOs with updates to April 24. As others have
> > noted, they're too big for 650 Mbyte CDs (I have the errors to had).
> >
> > I tried a CD install and found that I have to do the CD shuffle. I read
> > back the through my archive and found something to change...
> Hi John,
> I'm not sure about the http error, though I'd guess it's related to the 
> error causing the cd shuffle.

The web log shows it got netstg1 correctly, but after that it forgot to look in 
the disc1 subdirectory.

btw ftp didn't do as well;-(

> I've written some scripts I use to generate an updated disks.. You're 
> welcome to have a look at them and see if they help.

I used Jean-Yves's splitdistro that fixed up some other problems I mentioned 
here and made a three-disk set, about 60 Mbytes on the third.

In installing from the set I also verified that I'd fixed the shuffle problem,.

> I've used the disks created with the scripts to do a couple of installs 
> so far without issue. No errors, warnings, or cd shuffle required.
> The README and comments in variables.sh should be enough to explain how 
> to use them. Briefly, I use a directory containing all the updates. 
> variables.sh defines all the variables used by the other scripts.
> check_dups.sh verifies that there are no duplicate updates.
> Then I mount the stock Red Hat cd1, and run update_cd1.sh.
> Mount cd2 and run update_cd2.sh
> This creates my updated build tree.

I have the entire tree (including documentation packages) on disk to install 

summer numbat summer]$ ll ~ftp/pub/linux/RedHat/7.2/* -d
drwxr-sr-t    2 root         4096 Mar  4 07:16 /var/ftp/pub/linux/RedHat/7.2/Extr
drwxr-sr-t    2 root         4096 Jan 11 09:20 /var/ftp/pub/linux/RedHat/7.2/ISO
drwxr-sr-x    2 root         4096 Apr 28 12:33 /var/ftp/pub/linux/RedHat/7.2/disc
drwxr-sr-x    2 root         4096 Apr 28 12:33 /var/ftp/pub/linux/RedHat/7.2/disc
drwxr-sr-t    7 root         4096 Apr 26 09:19 /var/ftp/pub/linux/RedHat/7.2/dist
-rw-r--r--    1 root         2125 Apr 26 09:18 /var/ftp/pub/linux/RedHat/7.2/docu
drwxr-sr-t    3 root         4096 Mar 12 15:16 /var/ftp/pub/linux/RedHat/7.2/ks
drwxr-sr-t    4 root         4096 Jan 29 12:18 /var/ftp/pub/linux/RedHat/7.2/sour
drwxr-sr-t   10 root         4096 Mar 24 11:02 /var/ftp/pub/linux/RedHat/7.2/upda
[summer numbat summer]$

I export /var/pub/linux via NFS so I can install (in theory) pretty much 
anything via NFS or FTP.

I wrote a little perl that uses RPM::Header to determine which are the latest 
and to generate a series of cp commands to choose the latest of everything.

> voodoo_magic.sh handles all the anaconda-runtime work, and has to be run 
> as root. It creates all the installer files and splits the build tree. 
> You do need to edit /usr/lib/anaconda-runtime/splitdistro and change:
> targetSize = 650 * 1024 * 1024
> to:
> targetSize = 700 * 1024 * 1024
> Of course, you'll need 700M media.

That was one of my problems. I could see me going through boxes of 700 Mbyte 
media getting the disk shuffle fixed.

OTOH two 700 Mbyte rewritables (I could only find one) would have done nicely.

> makeimages.sh generates the iso images.
> All that is left is to burn the images to CD.
> If you think they'll be helpful, they are here:

They may be educational; I have them, thanks.

> http://www.tuxfan.homeip.net:8080/hacks/build_distro/build_distro.tgz

Here's my script to choose the latest; you may prefer it to check_dups.sh:
!/usr/bin/perl -w
use RPM::Header;
$CP="/bin/cp -fp";
mkdir $WorkDir . "/RedHat/RPMS/" || warn $!;
mkdir $WorkDir . "/SRPMS" || warn $!;
$SourcePackageDir=$BaseDir . "/dist/SRPMS";
$UpdatedSourcePackageDir=$BaseDir . "/updates/SRPMS";
@Originals=`find $BaseDir/dist -name \*.rpm | grep -v SRPMS | sort`;
chomp @Originals;
@Updates=`find $BaseDir/updates -name \*.rpm | grep -v SRPMS | sort`;
chomp  @Updates;
$Originals= Originals;
$Updates= Updates;
for $pack (@Originals, @Updates)
                  $headers = new RPM::Header $pack
                                ||  warn "Error getting details of " . $pack;
                  ($N,$V,$R) = $headers -> NVR;
                  $A = $headers -> {arch} || warn "Cannot get arch for $N";
                  $Spack=$headers -> {sourcerpm};
                  $Package{$N . '-' . $A}
                                = $N . "\t" . $V . "\t" . $R. "\t" . $A
                                        . "\t" . $pack . "\t" . $Spack;
@SortedPackages= sort { $a cmp $b } values %Package;
for $P (@SortedPackages)
                  ($N, $V, $R, $A, $pack, $Spack) = split /\t/,$P;
                  print "$CP $pack  $WorkDir/RedHat/RPMS/\n";
                  push @SourcePackages, $Spack;
foreach $P (sort @SourcePackages)
                  $Pfile= $SourcePackageDir . "/" . $P;
                  $Pfile= $UpdatedSourcePackageDir . "/" . $P unless -e $Pfile;
                  print "$CP $Pfile $WorkDir/SRPMS\n" unless $Old eq $Pfile;
                  $Old = $Pfile;
[summer numbat summer]$

John Summerfield

Microsoft's most solid OS: http://www.geocities.com/rcwoolley/

Note: mail delivered to me is deemed to be intended for me, for my disposition.

If you don't like being told you're wrong,
	be right!

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]