  RedHat Linux KickStart HOWTO
  Martin Hamilton <martinh@gnu.org>
  v0.2, 11 January 1999
  P <fujiwara@linux.or.jp>
  16 May 1999

  { HOWTO hLǵCRedHat Linux  KickStart VXegē
   Linux }VfʂɃCXg[@܂D܂
  ㋉[UɁCKickStart ̃CXg[葱CēƎ̏
  @ƁCƎ RPM pbP[W̍\z@ȒPɐ܂D
  ______________________________________________________________________

  ڎ

  1. 쌠\
  2. z[y[W
  3. {ɂ
  4. ͂߂
  5. KvȂ
  6. Ntbs[̐ݒ
  7. KickStart ̐ݒt@C
     7.1 VXe
     7.2 CXg[pbP[W
     7.3 CXg[̃VFR}h

  8. ۂ̃CXg[
  9. u[gfBXN/⏕fBXÑ}Eg
  10. RedHat ̃CXg[̏C
  11. FAQ Ƃ肢Xg
  12. NWbg
  13. t^ A - BOOTP/DHCP  NFS ̐ݒ
  14. t^ B - Ǝ RPM pbP[W̍
  15. t^ C - Ǝ RPM fBXgr[Vɓ

  ______________________________________________________________________

  1.  쌠\

  Copyright (c) 1998 Martin Hamilton, All rights reserved.  This is free
  documentware; you can redistribute it and/or modify it under the terms
  of version 2 or later of the GNU General Public License
  <http://www.gnu.org/copyleft/gpl.html>.

  2.  z[y[W

  {hLg Linux HOWTO hLg̃~[TCg CD-ROM 
  肵ꍇɂ́CKickStart HOWTO z[y[W
  <http://wwwcache.ja.net/dev/kickstart/> āCVłoĂ
  ǂmFƂ悢ł傤D

  3.  {ɂ

  { Linux Japanese FAQ Project s܂ (P
  <fujiwara@linux.or.jp>({)C앐Y
  <nakano@apm.seikei.ac.jp>(Z))D{Ɋւ̎wEC
  ҂ɃtB[hobNǉp͋肾Ƃ JF vWFN
  g(<JF@linux.or.jp>) ܂łAD

  ̃CZXɏ]܂āC{̔zzCZX GNU General
  Public License <http://www.gnu.org/copyleft/gpl.html>(o[W 2 
  ~)ƂȂ܂D

  4.  ͂߂

  RedHat Linux ̃o[W 5 ɂ́CKickStart ƌĂ΂C܂m
  Ȃ(_ł̓hLg܂肠܂)@\tĂ܂D
  ̋@\pƁCRedHat Linux ̃CXg[Ƃ̑啔 (邢͑S
  ) 邱Ƃł܂Dł鏈ɂ͈ȉ̂̂
  :

  o  gp錾̑I

  o  lbg[N̐ݒ肨уfBXgr[ṼCXg[̑I
     

  o  L[{[h̑I

  o  (lilo )u[g[_̃CXg[

  o  fBXÑp[eBVݒƃt@CVXe̍쐬

  o  }EX̑I

  o  X EBhEVXẽT[o̐ݒ

  o  ^C][̑I

  o  root ̃pX[h(̏l)̑I

  o  CXg[pbP[W̑I

  @̗ǂ RedHat [Uł΁C͖{I RedHat Linux VXe
  蓮CXg[ۂ̎菇ł邱ƂɋCÂƎv܂D
  KickStart VXe͒ʏ̃CXg[菇XNvgLq邱Ƃ
  \ɂ܂D́Cʏ̓L[{[hׂ͂ݒt@C
  Ƃɂčs܂D

  ҂Db͂܂܂ :-)

  KickStart gƁCʏ̃CXg[IɁCɃVF
  x̃R}hQw肵Ďs邱Ƃł܂D܂C RedHat
  Linux ̈ꕔƂĔzzĂȂ[J̃\tgEFAI
  ǉCXg[(t[\tgEFAłĂCRedHat fBXg
  r[VɕtĂȂ̂܂D@IȗRɂ RedHat z
  złȂ̂܂DႦ ssh ÍVXe PGP ł)CS
  ɎgVXeɂ邽߂ɕKvȎdグsƂł̂łD

  5.  KvȂ

  KickStart gCXg[ɂ 2 ̃Av[`܂D1 
  P KickStart ̐ݒt@C RedHat ̋Ntbs[ɃRs[
  ̂łD 1 ̕@́Cʏ̋Ntbs[pCKickStart
  ̐ݒt@C̓lbg[NoRŎ荞ނƂ@łD

  ǂ̏ꍇɂȉ̂̂Kvł:

  1. Intel (i386) ñ}V - ̕MĂ鎞_ł́C
     KickStart ͂̃}VłȂΓ삵Ȃ悤łD

  2. KickStart ̐ݒt@C - ɂẴ͎ZNVŐ
     D

  3. RedHat ̋NfBXN - CpbP[WhCo̍XVpbP[W
     p邽 updates fBNg肷邱Ƃ]܂ł
     D

  4. gƂĂ IP AhX DNS Gg - ͖Ă\
     񂪁Cw肷ƃCXg[Ƀ}ṼhC͂
     ɍς݂܂D

  lbg[NʂĐݒt@C荞ޏꍇɂ́Cݒt@C NFS
  oRŃGNX|[gKv܂D͌݃T|[gĂB
  ̃ANZX@łDݒt@C̎wɂCRedHat fBXgr[
  V{̂ʂ NFS T[o荞ނƂł܂D

  ÓI IP AhX}Vɐݒ肷邱Ƃł܂DႦ΁CKickStart
  ɂCXg[̂߂ɗ\񂵂ʂȃAhXłDʂ̕@ƂāC
  ݒt@C IP AhX𒼏Ȃ΁CBOOTP/DHCP T[o
  gĐݒt@C荞ނ悤 KickStart Ɏw邱Ƃł
  DpƁC炩̃T[ow͈͓̔̃AhXIɊ
  蓖Ă܂D̂悤ȃT[oƂẮCIAhX蓖Ċgt
  CMU BOOTP T[o <ftp://ftp.ntplx.net/pub/networking/bootp>
  D

  NFS  BOOTP/DHCP ̏ڂɂĂ͕t^ A QƂĂD

  6.  Ntbs[̐ݒ

  {Iɂ́CȂ΂ȂȂƂ KickStart ̐ݒt@C RadHat
  ̋Ntbs[ ks.cfg ƂOŃRs[邱ƂłD̑
  ͈ȉ̂悤ɍs܂:

         mcopy ks.cfg a:

   RedHat ̋Ntbs[ɂ͐FXȃt@Clߍł̂ŁC
  ̃t@Cċ󂫂ĂȂ KickStart ̐ݒ
  t@CRs[łȂ܂DM҂̏ꍇɂ͊e탁bZ[W
  t@CΉƂȂ܂D̃bZ[W͕ʁCu[g[_
  SYSLINUX \̂łD͈̑ȉ̂悤ɍs܂:

    mdel a:\*.msg

  ʂ̕@ƂẮCĂȂn[hEFÃhCo̂ĂĂ
  ܂Ƃłł傤Dq̋Ntbs[̏CɊւZNV
  D

  SYSLINUX ̐ݒt@Cł syslinux.cfg ҏWȂ邩
  D̃t@C RedHat ̋Ntbs[̃gbvxfBNg
  ɂ܂DႦΈȉ̂悤 syslinux.cfg pƁC}V̋N
  ɎI KickStart [hɓ܂Dʏ̓͑҂͂܂:

         default ks
         prompt 0
         label ks
           kernel vmlinuz
           append ks=floppy initrd=initrd.img

  Ǝ̋Ntbs[⏕tbs[ۂɂ́C߂ RedHat ̃~
  [TCg updates/i386 fBNgɂŐṼfBXNC[W
  ɂƂ悢ł傤DÂfBXNC[Wɂ̓oOCΉ
  n[hEFAȂƂ܂D

  7.  KickStart ̐ݒt@C

  ݒt@Cɂ 3 ̎ȃZNV܂:

  1. VXe(fBXÑp[eBVlbg[N̐ݒ)

  2. CXg[ RedHat ̃pbP[W

  3. CXg[ɎsVF̃R}h

  ŐȂ̂ɂ܂C삷Ǝv
  DڂɂẮC misc/src/install/ks.samp ɂ KickStart
  ̐ݒ doc/README.ks ĂD̃t@ĆCCD-ROM 
   RedHat ̃~[TCg RedHat fBXgr[Ṽgbv
  fBNgɂ i386 fBNgɂ܂D

  7.1.  VXe

  p\ȃfBNeBûCM҂gĂ̂ȉɎ܂:

     lang
        ̐ݒ(pȂ)

          lang en

     network
        lbg[N̐ݒ(BOOTP  DHCP ̎gpȂ)

          network --bootp

     nfs
        CXg[ƂȂ NFS T[oƃfBNgDw͈ȉ:

          nfs --server chicken.swedish-chef.org /mnt/cdrom

     NFS T[o chicken.swedish-chef.org gCRedHat fBXgr[
     V /mnt/cdrom fBNg}Eg܂D

     keyboard
        L[{[h̎ނ̐ݒ(Ⴆ΃CMXpL[{[h)

          keyboard uk

     zerombr
        MBR(Master Boot Record) ܂D̃Iy[eBOVX
        ẽu[g[_fBXN܂D

     clearpart
        ̃p[eBV܂DႦ΁CCXg[OɊ
        fBXNp[eBVSď̏ꍇłD

          clearpart --all

     part
        fBXÑp[eBV؂܂DႦ΁C[gt@CVXe
         500MB 蓖Ă܂D

          part / --size 500

     install
        RedHat Linux VKCXg[܂D

     mouse
        gp}EXݒ肵܂DႦ΁CPS/2 ܂ PS/2 ݊́uo
        X}EXvł͈ȉ̂悤ɐݒ肵܂D

          mouse ps/2

     timezone
        ^C][ݒ肵܂DႦ΁CCMX̃[J͈ȉ
        悤ɐݒ肵܂D

          timezone --utc Europe/London

     rootpw
        root ̏pX[hݒ肵܂Dɂ͗\߈ÍpX
        [h^܂D

          rootpw --iscrypted XaacoeGPmf/A.

     lilo
        u[g[_ LILO CXg[܂D}X^[u[gR[
        h(Master Boot Record, MBR)ɃCXg[ɂ͈ȉ̂悤Ɏw
        肵܂D

          lilo --location mbr

     %packages
        CXg[pbP[WDڂ͌q܂D

     %post
        CXg[ɎsVF̃R}hDڂ͌q܂D

  KickStart  RedHat fBXgr[VTfBNgɂ́C
  RedHat ƂÕTufBNgKvƂƂɒӂĂ
  D̃fBNgɂ́CYvbgtH[p RedHat fBXg
  r[V܂DɎł́Cȉ̂悤ȃt@CƃfB
  Ng͂ł:

       /mnt/cdrom/RedHat
       /mnt/cdrom/RedHat/base
       /mnt/cdrom/RedHat/contents
       /mnt/cdrom/RedHat/i386
       /mnt/cdrom/RedHat/instimage
       /mnt/cdrom/RedHat/RPMS
       /mnt/cdrom/RPM-PGP-KEY

  lbg[NoRłȂ CD-ROM CXg[ĂȂCfBNg
  ̓e͈ȉ̂悤ɂȂ͂ł:

       RedHat
       RedHat/base
       RedHat/contents
       RedHat/i386
       RedHat/instimage
       RedHat/RPMS
       RPM-PGP-KEY

  A[LeN`p RedHat fBXgr[Vꍇ( NFS T
  [oȂǂɂ͂łDA[LeN`̃fBXgr[V
  1  CD-ROM Ɏ܂܂)ɂ́Cꂼ̃fBXgr[V
  ́Cȉ̂悤ȃTufBNg̉ɓÕt@CQfBNg
  QƎv܂:

       alpha/RPM-PGP-KEY
       i386/RPM-PGP-KEY
       sparc/RPM-PGP-KEY

  architecture/Redhat/architecture Ƃt@C݂Ȃ΂Ȃ
  (: i386/Redhat/i386)D

  ÍpX[ĥ́CPerl g΂ƂĂȒPłD
  Έȉ̂悤ɍs܂D

       % perl -e 'print crypt("schmurrdegurr", "Xa") . "\n";'p

  ̑̃IvV(юۂɂ͎gȂIvV)܂DM
  ͎Ă܂:

     cdrom
        lbg[Nł͂Ȃ CD-ROM CXg[܂D

     device
        foCX̏ڍ׎𖾎Iɐ錾܂DwȉɎ܂D

          device ethernet 3c509 --opts "io=0x330, irq=7"

     device IvVɎwłĺCSCSI Rg[p scsi, Ǝ
     CD-ROM hCup cdrom łD

     upgrade
        VKCXg[ł͂ȂCɃCXg[Ă̂XV
        D

     xconfig
        X EBhẼT[oCOtBbNJ[hCj^ݒ肵܂D

          xconfig --server "Mach64" --monitor "tatung cm14uhe"

  Ō̃IvVɂĂ͂܂ڂׂĂ܂DƂ̂CM
   KickStart ŃCXg[}ṼR\[ X s\肪
  ȂłDM҂ KickStart  xconfig sƓ삪
  ςɂȂƕĂ܂C@\ Xconfigurator găR}h
  Cł܂DāCX ̐ݒ̓CXg[̃XNvg
  ɎcĂ̂ǂł傤D

  KickStart ̐ݒt@C̍ŏ̕܂D̃t@ĆC
  IvVgݍ킹č܂:

       lang en
       network --static --ip 198.168.254.253 --netmask 255.255.255.0
         --gateway 198.168.254.1 --nameserver 198.168.254.2
       nfs --server chicken.swedish-chef.org /mnt/cdrom
       keyboard uk
       zerombr yes
       clearpart --all
       part / --size 500
       part swap --size 120
       install
       mouse ps/2
       timezone --utc Europe/London
       rootpw --iscrypted XaacoeGPmf/A.
       lilo --location mbr

  RedHat Ɋւ鏑Ђ̈ꕔɂ́Cۂɂ͓삵Ȃ network fBNeB
  u(network --option)Ăяo悤ȋLqsĂ̂̂Œ
  ĂDĂяóCnetwork ̌ --static, --bootp,
  --dhcp ̂ꂩLq܂DBOOTP IvV DHCP IvV͕
  ̂̂ł邱ƂoĂĂD҂͕ʂ̃R[hŏĂ
  炢Ă܂D

  part fBNeBuɂ͈ --grow ǉ邱Ƃł܂D̈
  ́Cw肵TCYp[eBV傫Ă悢Ƃw
  ܂D̎w肪Ӗ̂̓p[eBV 1 C --grow
  Ƃ^OtĂꍇł傤D

  7.2.  CXg[pbP[W

  KickStart ̐ݒt@C packages ZNV̐擪ɂ́C %packages
  fBNeBusu܂Ďɂ 2 ̃^Cv̂
   1 邢͗̃pbP[Wwq܂Dꂼ̃pbP[W
  ́CRPM ̖O(o[WƃvbgtH[̏͊܂߂܂)w肷
  邱ƂɂăCXg[邱Ƃł܂D܂pbP[W̃O[v
  ́CO[v̖Ow肷΃CXg[ł܂D

  KickStart ̐ݒt@C packages ZNV̐ݒȉɎ
  :

       %packages
       @ Base
       netkit-base
       bind-utils
       ncftp
       rdate
       tcp_wrappers
       traceroute
       cmu-snmp

  āC̃O[v͉ł傤? ̃O[vftHg
  `Ă܂ˁD RedHat fBXgr[Ṽgbvx
  fBNgɂ base/comps Ƃt@CɏĂ܂D{hL
  g̎M̎_ɂO[v܂:

  o  Base

  o  Printer Support

  o  X Window System

  o  Mail/WWW/News Tools

  o  DOS/Windows Connectivity

  o  File Managers

  o  Graphics Manipulation

  o  X Games

  o  Console Games

  o  X multimedia support

  o  Console Multimedia

  o  Print Server

  o  Networked Workstation

  o  Dialup Workstation

  o  News Server

  o  NFS Server

  o  SMB (Samba) Connectivity

  o  IPX/Netware(tm) Connectivity

  o  Anonymous FTP/Gopher Server

  o  Web Server

  o  DNS Name Server

  o  Postgres (SQL) Server

  o  Network Management Workstation

  o  TeX Document Formatting

  o  Emacs

  o  Emacs with X windows

  o  C Development

  o  Development Libraries

  o  C++ Development

  o  X Development

  o  Extra Documentation

  ̃Xg͎蓮CXg[̎Ƀ[Uq˂eݒɑΉ
  邱ƂɂCÂƎv܂Dꕔ̃pbP[W͕̃O[vɊ܂
  Ă܂C̃O[v𓯎ɃCXg[Ă͂܂
  Dcomps Xg̊eO[vGg͈ȉ̂悤ɂȂĂ܂:

       0 Extra Documentation
       sag
       lpg
       howto
       faq
       man-pages
       end

  O(̃Xg̍ŏ̍s)ׂ̗ 1 łO[v́CftHgŃC
  Xg[̂ƂđI܂D̃t@CҏWēƎ̃O
  [v邱ƂC̃O[vĒ`邱ƂɂCLinux ̃CX
  g[ɃJX^}CYł܂D

  7.3.  CXg[̃VFR}h

  ̋@\łMׂ̂łC蓮CXg[ɂ͂꒼ڂ
  Ή̂͂܂Dōs邱Ƃ̓VF̃R}hw肷
  邱ƂłCŝ̓CXg[̎vȕ(fBXÑp[
  eBVCpbP[WCXg[)IɂȂ܂D

  KickStart ̐ݒt@CɂāC̃ZNV̐擪̈ %post
  fBNeBułDȍ~̕ł́CV\z Linux VXe
  ɃCXg[Ă郆[eBeBSĎgp邱Ƃł܂Dw
  ȉɎ܂:

       %post
       ln -s /etc/rc.d/init.d /etc/init.d
       ln -s /etc/rc.d/rc.local /etc/rc.local
       ln -s /usr/bin/md5sum /usr/bin/md5
       ln -s /usr/bin/perl /usr/local/bin/perl
       chmod ug-s /bin/linuxconf
       mkdir /var/tmp/tmp
       perl -spi -e 's!image=/boot/vmlinuz-.*!image=/boot/vmlinuz!' /etc/lilo.conf
       rm /etc/rc.d/rc*.d/*sendmail

  I/O _CNVqAhLggƂł܂:

       cat <<EOF >>/etc/passwd
       squid:*:102:3500:Squid Proxy:/usr/squid:/bin/bash
       EOF

       cat <<EOF >>/etc/group
       cache:x:3500:
       EOF

  ȉɎ́CVXe̋NXNvgĈł:

       cat <<EOF >>/etc/rc.local
       echo 8192 > /proc/sys/kernel/file-max
       echo 32768 > /proc/sys/kernel/inode-max

       [ -x /usr/sbin/sshd ] && /usr/sbin/sshd
       [ -x /usr/sbin/cfd ] && /usr/sbin/cfd

       EOF

   crontab ̃Gg̐ݒł:

       cat <<EOF >/tmp/crontab.root
       # Keep the time up to date
       0,15,30,45 * * * * /usr/sbin/ntpdate -s eggtimer 2>&1 >/dev/null
       # Recycle Exim log files
       1 0 * * * /usr/exim/bin/exicyclog
       # Flush the Exim queue
       0,15,30,45 * * * * /usr/exim/bin/exim -q
       EOF

       crontab /tmp/crontab.root
       rm /tmp/crontab.root

  Ǝɍ RPM CXg[邱Ƃł܂:

       rpm -i ftp://chicken.swedish-chef.org/rpms/squid.rpm
       rpm -i ftp://chicken.swedish-chef.org/rpms/ssh.rpm
       rpm -i ftp://chicken.swedish-chef.org/rpms/exim.rpm
       rpm -i ftp://chicken.swedish-chef.org/rpms/cfengine.rpm
       rpm -i ftp://chicken.swedish-chef.org/rpms/linux.rpm

       ssh-keygen -b 1024 -f /etc/ssh_host_key -N ""
       depmod -a

  Ɠʂ́CsR}h܂ RPM pbP[W邱Ƃ
  Ăł邱ƂmĂĂDڂ͌Ő܂D
  ̂悤 RPM pbP[Wɕt閼O͒ӂČ߂ĂD
  ΂ŏ(: 'aaa' Ŏn܂閼Ow)Ō(: 'zzz' Ŏn܂
  Ow)ɃCXg[邱Ƃł܂D

  root  crontab GgݒŊ댯rI@́CGg
  /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly
  Ƀt@CƂč쐬邱ƂłD

  Ǝ RPM pbP[W邽߂̏ڂɂĂ͕t^ B 
  D

  8.  ۂ̃CXg[

  CXg[s}V RedHat ̋Ntbs[gĕʂɋN
  ܂CSYSLINUX ł RETURN L[ȂŁC linux ks Ɠ͂
  D

  ^ǂ΁C͂邾ŏIł!

  OɊȒPɐ悤 RedHat ̋Ntbs[JX^}CYĂ
  ΁CꂷKvȂł傤 :-)

  RedHat ̃CXg[Ɋ܂܂镁ʂ̎菇܂Ɏ킯ł
  C蓮CXg[̃_CAỐCKickStart ̎菇
  ꍇłDł肻ȃP[X́Clbg[NC^tF[
  XIɌoꂸCC^tF[X IRQ  I/O AhX̖₢
  sꍇłDISA oXp̃J[h̏ꍇɂ KickStart ⏕
  KvƂ邱Ƃ悭܂CPCI oXp̃J[h̏ꍇɂ͎Iɏ
  ܂D

  ʏʂ̑ŉzR\[ؑւ邱ƂɂCKickStart s
  鏈Ď邱Ƃł܂:

  o  Alt-F1 - CXg[̃_CAO

  o  Alt-F2 - VF̃vvg

  o  Alt-F3 - CXg[̃O(CXg[vÕbZ[W)

  o  Alt-F4 - VXẽO(J[l̃bZ[W)

  o  Alt-F5 - ̑̃bZ[W

  9.  u[gfBXN/⏕fBXÑ}Eg

  RedHat ̋NfBXN boot.img  MS-DOS tH[}bgłD܂CN
  ɂ SYSLINUX vOgĂ܂D⏕fBXN Linux  ext2
  t@CVXełD[vobNt@CVXeT|[g悤
  Linux J[lݒ肵Ă΁C𗼕Ƃt@CVXeɃ}E
  gCnbN邱Ƃł܂:

       # mkdir -p /mnt/boot /mnt/supp
       # mount -o loop -t msdos boot.img /mnt/boot
       # mount -o loop supp.img /mnt/supp

  }EgĂ܂΁CNfBXNƕ⏕fBXNɊ܂܂t@C͂
  ꂼ /mnt/boot  /mnt/supp ɂt@CƂđł͂łD
  mount ̃o[WÂ -o loop IvVgȂȂ
  ŋCtĂD̂悤ȏꍇɂ́CI losetup R}h
  pāCꂼ̃t@Cɑ΂ă[vobNfoCXݒ肵ĂK
  v܂DȉɎ܂:

       # losetup /dev/loop0 boot.img
       # mount -t msdos /dev/loop0 /mnt/boot

  ⏕fBXN ext2 t@CVXe}EgۂɂC -t ext2
  IvV𖾎IɎw肷Kv邩܂DCŋ߂
  Linux fBXgr[VgĂȂ΁Ĉ悤ȐSzK
  v͂Ȃ͂łD

  ܂肢񂷂肪Ȃ̂ł΁C𔲂ătbs[̃fBXN
  C[WłȂۂ̃tbs[fBXN𑀍삵Ă\܂D
  łԂȂ΁C[vobNfoCXg悢ł
  DƂ̂C{̃tbs[fBXN̓ǂݏ͒x̂łCfB
  XNC[Wg΂̖ănbN邱Ƃł邩łD

  10.  RedHat ̃CXg[̏C

  CXg[̎菇̂肽΁CRedHat  CD-ROM ܂͂߂
   RedHat ~[TCgCCXg[̃\[XR[h肵Ă
  D̓fBXgr[ṼgbvfBNgɂ i386 fB
  Ng̉ misc/src/install fBNgɂ܂D

  RedHat ̋NfBXN𒲂ׂ΁CLinux J[lł vmlinuz ɉC
  傫ȃt@C initrd.img 邱ƂɋCÂƎv܂:

       -rwxr-xr-x   1 root     root          559 May 11 15:48 boot.msg
       -rwxr-xr-x   1 root     root          668 May 11 15:48 expert.msg
       -rwxr-xr-x   1 root     root          986 May 11 15:48 general.msg
       -rwxr-xr-x   1 root     root       968842 May 11 15:48 initrd.img
       -rwxr-xr-x   1 root     root         1120 May 11 15:48 kickit.msg
       -r-xr-xr-x   1 root     root         5352 May 11 15:48 ldlinux.sys
       -rwxr-xr-x   1 root     root          875 May 11 15:48 param.msg
       -rwxr-xr-x   1 root     root         1239 May 11 15:48 rescue.msg
       -rwxr-xr-x   1 root     root          402 May 11 15:48 syslinux.cfg
       -rwxr-xr-x   1 root     root       444602 May 11 15:48 vmlinuz

  z̒ʂC̓t@CƂĊi[Ăʂ ext2 t@CVX
  ełDЂ˂肪Ă܂Dۂɂ͈kĂ̂
  D̃t@CWJāČʂ}Eg邱Ƃł܂D
  ȉɎ܂:

       # gzip -dc /mnt/boot/initrd.img >/tmp/initrd.ext2
       # mkdir /mnt/initrd
       # mount -o loop /tmp/initrd.ext2 /mnt/initrd

  ̃t@CVXeōłdvȕ́CNfBXNɓĂ郍[_
  uJ[lW[Qł傤DVo[W̃hCo}[W
  KvȂCÓIɃNVJ[l vmlinuz u
  邩C邢̓W[QւKv܂DɁC
  fBXNmۂ邽߂ɑ̃W[̂ĂKv邩܂
  D

  W[Q modules/modules.cgz t@CłD͂ǂȃt@C
  Ȃ̂ł傤? ͎ۂɂ͈k cpio t@CłDǎ҂̊F
  M邩ǂ͕܂񂵁CN cpio ȂĎgĂȂƎv
  邩܂! ۂɂ RPM pbP[ŴIɂ cpio 
  gĂ܂Dȉ̎菇̓W[Q̃t@CnbN邽߂̕@
  ł:

       # gzip -dc /mnt/initrd/modules/modules.cgz >/tmp/modules.cpio
       # cpio -itv <modules.cpio >modules.listing
       # mkdir modules
       # cd modules
       # cpio -idumv <../modules.cpio

  M҂mł́C݂ Linux(ȂƂvfBXgr[V
  ł)ɂ͈kꂽt@CVXe𓧉ߓIɈ@͖͂łD
  Ɨǂ@΂m点!

  炩̕ύXsꍇɂ́Cȉ̏YꂸɍsĂ:

  1. cpio găA[JCu蒼܂D蒼̕@́Cǎ҂̊F
     ւ̏hƂĂ܂cD

  2. łA[JCu gzip gĈk܂D

  3.  /mnt/initrd 邢͈kĂȂ initrd.img uĂ
     ꏊɃRs[܂D

  4. /mnt/initrd (邢̓}Egꏊ)A}Eg܂D

  5. V initrd.img  gzip gčĂшk܂D

  6. łA[JCuNfBXNC[WɃRs[܂D{hL
     g̗ł /mnt/boot/initrd.img łD

  7. NfBXNC[W(Ⴆ /mnt/boot)A}Eg܂D

  ŌɁĈ悤ɏCNfBXN̐ݒpĐVNtbs
  [쐬邱Ƃł܂D쐬͗ႦΈȉ̂悤ɍs܂:

       # cat boot.img >/dev/fd0

  11.  FAQ Ƃ肢Xg

  Q: KickStart gCXg[̌C}VN܂D BIOS 
  Missing operating system ƂbZ[Wf܂D

  A:[gt@CVXeuĂp[eBVN\łȂ
  łDfdisk gāCN\Xe[^XςĂD

  Q: tbs[ŋN Error opening files for kickstart copy:
  File exists ƂbZ[Wo܂D

  A: ƐVo[W boot.img  supp.img gĂD
  ̃t@C͂߂ RedHat ~[TCg updates fBNgɂ
  ܂DRedHat 5.1 ł́CÂo[W̃fBXNC[ẄꕔɃoO
  ܂D

  Q: dvȃpb`(XV RPM pbP[W)IɓKp邱Ƃł̂
  傤? łƂǂēKp̂ł傤?

  A1: CXg[ RPM pbP[WCCXg[Ɏg RPMS fB
  NgɃRs[CÂ RPM pbP[W폜āC RedHat/base/hdlist
  t@CV RPM pbP[W̏ڍ׏ɏ܂Ds
  ߂ Eric Doutreleau 񂪍쐬XNvgt^ C ŏЉ܂D
  ̍Ƃgōsꍇ́ČYꂸ genhdlist sĂ
  D

  A2: Perl XNvg patchup <http://wwwcache.ja.net/dev/patchup/> 
  ĂD̃XNvǵCVXeɃCXg[Ă RPM
  pbP[WƌfBNgɂ RPM pbP[WrCXV̕Kv
  Ǝv̂񍐂܂DXNvgMpāĈ܂ RPM
  pbP[WCXg[邱Ƃł܂D

  A3: rpm2hml <http://rufus.w3.org/linux/rpm2html/>  A2 Ƌ͂
  o[Wł(12MB  C ̃R[hƂ 1 y[W Perl XN
  vgׂĂ܂!)D

  Q: CXg[T[oɈݒt@CuAꂪׂẴN
  CAgɂ (IPADDR-kickstart ) ftHgŎg
  ɂɂ͂ǂ΂ł傤?

  A1: BOOTP/DHCP 'boot file' ̃p[^ł bf găt@C
  ݒ肵ĂD

  A2: /etc/bootptab ̊YڂɃR[h bf=/kickstart/ks.cfg ǉ
  D

  Q: ܂sȂɂƏ_ɓ삷悤ɂłDႦ΁C
  fBXgr[V CD-ROM ɖɕʂ̏ꏊq˂Ƃ
  łD

  A: ?

  Q: Iɓ̃pbP[WOłDႦ΁C sendmail Ɋ֌W
  ̂O悤ȏꍇłD

  A: BASE  sendmail ōč\zĂD

  Q: /etc/rc.d/ ɂ郉xXNvgɂċNɎIɊJn
  T[rXI@ĂD

  A: chkconfig [eBeBgƁCNɎIɊJnT[rX
  ݒ肷邱Ƃł܂DCXg[ɎsXNvg̃Z
  NVŎs邱Ƃł܂Dx 3, 4, 5  ypbind N
  邽߂̐ݒȉɎ܂:

       chkconfig --level 345 ypbind on

  ɂCx 3, 4, 5  ypbind N悤ɂȂ܂D

  Q: VF̃R}h %post ZNVŎs鎞CCʂ㏑
  Ȃŏo͂ʂ̉zR\[ɏoƎv܂DVFR}
  hZNV open gčs܂?

  A: ł܂Dȉ̂悤ɂĂ:

         exec >/dev/tty5

  Q: t@CVXẽR[h͕sǃubÑ`FbNs܂?

  A: t@CVXȅo͂\鉼zR\[Ɉڂ΁C
  uǂݎpveXgsɊւo͂sĂȂƂ킩Ǝv
  ܂DāĆuv̂悤łD

  Q: ꕔ̃}V𑼂̃}VƈႤݒɂ邱Ƃ͂ł܂?

  A: zXgˑ̐ݒ KickStart ̐ݒt@C̃XNvgLqZNV
  ɈڂΑvłDŎw肵}V̏ꍇɌĎw肳ꂽ RPM
  pbP[WCXg[悤ɂ܂Dݒt@C̃pbP[WZN
  VɏtCXg[@\(: A[LeN`CzXg/hC
  CIP AhXɂ镪)Ε֗̂ł傤cD

  Q: RedHat 5.1  5.2 ŕύXꂽ͂܂?

  A1: CXg[ւ̕ύX_͂񂠂܂ĈقƂǂ̓oOC
  ƌh̉PłDM҂(V misc/src/install fBN
  g diff -rcs )ł́CKickStart ւ̉e͂܂D

  A2: RedHat 5.2 ł bootpd ւ̎ IP 蓖/DHCP pb`
  łC̎g̐̓hLgɂ͓Ă܂D

  Q: (/home c܂ / ̂߂) ̃p[eBV(1 
  ͕)Ƃ͂ł܂? łȂ΁Cǂ̂悤ɂčŝ
  傤?

  A: ł܂D̂Ƃ!

  Q: ̃hCuɕăp[eBV蓖Ă邱Ƃ͂ł܂?
  Ⴆ΁C/  sda ɒuC/home  sdb ɒuƂłD

  A: ł܂Dp[eBVc[ANZXł͍̂ŏ̃h
  Cû悤łD

  Q: ɑ݂Ăp[eBV}Ege[uɓ邱Ƃ͂ł
  ܂? ƂCVp[eBV𐶐Ă}Ege[u
  ɓ邱ƂłȂ̂ł?

  A: ?

  Q: mkkickstart sCmkkickstart t@C͂ǂɒu
  ̂ł?

  A: mkkickstart ̓t@C܂D mkkickstart  KickStart ̐
  Wo͂ɏo͂܂D

  Q: zR\[ 4 (Alt-F4)  Unable to load NLS charset
  cp437(nls_cp437) ƂbZ[Wo܂D͂ǂӖł傤
  ? 肪̂ł傤?

  A: Joliet g`(ISO 9660  Unicode g)ŏĂ CD-ROM }Eg
  悤ƂĂ悤Ɍ܂D_Iɂ CD-ROM ̃t@C͂
  ȂCLinux ł͐ǂ߂܂Dۂɂ́CɂȂ邱Ƃ͂܂
  悤łD͊֌WȂ̂܂D

  Q: ǂ X EBhEVXeCXg[̂ł傤? CX
  g[Ώۂ̃pbP[Wɂ͂ĂȂ̂łD

  A: XFree86-VGA16  RPM pbP[W 'base' R|[lgɓĂ
  ̂ŕKCXg[܂D base NX̒`ς΂̌
  ł͂܂D

  Q: CXg[ɎsXNvgŁC܂łɃCXg[
  pbP[WgCtbs[ɓĂꂽc[ł͂łȂ
  Ƃł܂?

  A: ł܂DPerl CXg[ KickStart ̐ݒt@CƑgݍ
  킹΁C5 s炢̃XNvgő̂Ƃł܂ :-)

  12.  NWbg

  Eric Doutreleau ɂ chkconfig ɊւC SYSLINUX ̐ݒt@
  C̃nbNCg̃fBXgr[ṼT[o RPM XV
  ߂ Perl XNvgɂċĂ܂DRobert Kaminsky 
  ɂ͂̒sĂ܂D Piete Brooks CFlavia
  Regina Munhoz CTom Toffoli CBob Robbins CCharlie Brady
  CRagen Herrington ɂ̓Rg⎿܂D
  ̊FɊӂ܂D

  13.  t^ A - BOOTP/DHCP  NFS ̐ݒ

  BOOTP  DHCP ̉̂ƂȂ΁C DHCP  WWW TCg
  <http://www.dhcp.org/> ɂڂDNFS ͂Ƃ
  ʂ NFS HOWTO ŏڂĂ܂DDHCP mini-HOWTO ܂D
  ł͓Iȃx̐słCꂼ̘bɊւ
  ˂񂾐͍s܂DbȒPɂƎvꂽCM҂ɂm
  点D

  Ő BOOTP/DHCP + NFS ̍\gCXg[ɂẮC
  KickStart ̐ݒt@C BOOTP/DHCP T[o /kickstart/IPADDR-
  kickstart CXg[Ώۂ̃}V NFS Ń}EgłȂ΂
  ܂D IPADDR ͐V}V IP AhXłDႦ΁C
  /kickstart/198.168.254.254-kickstart ̓}V 198.168.254.254 p̐ݒ
  t@CłD

  BOOTP/DHCP ̉ bf(boot file)p[^ԂƂɂĂ̈ʒu
  ㏑邱Ƃł͂łD̃t@C͑Sʂ̃}V NFS
  }Eg邱ƂłƎv܂D

   Linux }VfBNg NFS GNX|[gɂ́Cȉ
  悤ȓẽt@C /etc/exports 쐬܂:

       /kickstart *.swedish-chef.org(ro,no_root_squash)
       /mnt/cdrom *.swedish-chef.org(ro,no_root_squash)

  g\ IP  DNS ɓo^ĂȂꍇɂ́CNFS T[o RPC |[g
  }bp猩Ȃƌ邩Ȃ̂ŒӂĂD̂悤
  ȏꍇɂ́CIP AhXƃlbg}XN̑gݒt@Cɏ΂Ȃ
  Ȃ܂DLqȉɎ܂:

       /kickstart 198.168.254.0/255.255.255.0(ro,no_root_squash)

  /etc/hosts.allow ɂ͈ȉ̋Lqs܂:

       ALL: 194.82.103.0/255.255.255.0: ALLOW

  ̂悤ȂƂN̂́C啔 Linux fBXgr[V
  NFS ֌Wf[̈ꕔ邢͑SĂɂ TCP wrappers găANZ
  XsĂ邽߂łD/etc/exports ̕@͑ UNIX n OS ƈ
  Ȃ邱Ƃ̂ŒӂĂDe Linux fBXgr[V
  Ă NFS T[óC UNIX ɓĂ NFS T[oL͈
  ɓnIvVĂ邱Ƃ悭܂D

  KickStart ̐ݒt@C root ̃pX[hĂꍇC@
  񂪓ĂfBNg NFS ŃGNX|[gꍇɂ́C̏
  lԂł邾Ȃׂł_ɒӂĂD
   NFS ̃GNX|[gł邾i荞ނƂɂčsƂł
  ܂DႦ΁CGNX|[g̎whCŜłȂ̃zXgTu
  lbgɑ΂čs̕@łDKickStart gCXg[pɎR
  Ɏg IP AhX΁CȂȒPɍƂł܂C IP
  AhXύX邩C邢 BOOTP/DCHP g IP AhXg
  Ƀ}V̐ݒύXȂ΂ȂȂł傤D

  قƂǂ NFS T[oł /etc/exports ύXƂ mountd  nfsd
  (ꕔ UNIX ł͖O̐擪 "rpc." tĂ܂)ɋĂKv
  ܂DύX̒ʒm͕ʁCSIGHUP 𑗂邱Ƃɂčs܂DύX
  ʒms߂ exportfs ƌĂ΂vO܂̓XNvgpӂ
  Ă邱Ƃ܂DsȉɎ܂:

       # exportfs -a

  ̃}VN NFS NCsĂȂ΁C̃fB
  Ng͎Iɂ̓GNX|[g܂DɍċN邩Croot 
  ȂĈȉ̃vOsĂ:

       # portmap
       # rpc.nfsd
       # rpc.mountd

  Oɏ悤ɁCꕔ̃VXeł rpc. ƂvtBbNX͎g
  ܂Dŋ߂ UNIX fBXgr[V̂قƂǂł́C̃v
  O /usr/sbin fBNg܂ /usr/libexec fBNgɂ
  ܂D̃fBNg̓pXɂ͓ĂȂ܂(su 
  g root ɂȂꍇȂ)Dportmap vO rpcbind ƂO
  ̂Ƃ܂DႦ΁CSolaris ̈ꕔ̃o[W nfsd ͎s
  T[o̐R}hCŎw肵Ȃ΂Ȃ炸Cbiod ƌĂ΂
  ʂ̃f[NȂ΂ȂȂƂ܂Dȏ̐ő啔
  (S?) Linux VXe𖞑͂łD

  CMU ł BOOTP T[o DHCP ƓIAhX蓖Ċg(Oq)p
  ꍇɂ́C/etc/bootptab Gg(/etc/bootptab  BOOTP/DHCP ݒt@
  C̒ʏ̈ʒuɒu܂)̗͈ȉ̂悤ɂȂł傤:

         .dynamic-1:ip=198.168.254.128:T254=0x30:T250="ds=198.168.254.2:
         dn=swedish-chef.org:sm=255.255.255.0:gw=198.168.254.1:
         dl=0xFFFFFFFF":

  (₷邽߂ɍs܂ԂĂ܂)

  ɏĂ̂́CV}Vx IP AhX𓮓I
  蓖Ă邱ƁC蓖ĂAhX 198.168.254.128 n܂A
   48 (16 il 30)̃AhXł邱ƂłDeNCAgɂ
  T250 ̒lԂ܂D̗ł͈ȉ̂悤Ȑݒ肪s܂:

  o  DNS T[o ds  198.168.254.2 ݒ

  o  hC dn  swedish-chef.org ݒ

  o  Tulbg}XN sm  255.255.255.0 ݒ

  o  ftHgQ[gEFC gw  198.168.254.1 ݒ

  o  [X dl (AhXLȊ)Ɂuvݒ

  ݎgĂ CMU ł̃T[oɂ́CIAhX蓖ĂT|[g
  ĂȂo[W񂠂悤łD̂悤ȏꍇɂ́CCXg
  [}Ṽn[hEFAAhX(ʏ̓C[Tlbg MAC Ah
  X)  /etc/bootptab ɗ񋓂Ȃ΂ȂȂł傤D̃t@C
  ł̃Gg͈ȉ̂悤ɂȂƎv܂:

       bork.swedish-chef.org:ip=198.168.254.128:ha=0000E8188E56:
         ds=198.168.254.2:dn=swedish-chef.org:sm=255.255.255.0:
         gw=198.168.254.1:dl=0xFFFFFFFF":

  (₷邽߂ɐ܂ԂĂ܂)

  p[^ ha ́CCXg[̃}Ṽn[hEFAAhXɑΉ
  _ɒӂĂD

  14.  t^ B - Ǝ RPM pbP[W̍

  RPM pbP[W̃tH[}bg͊ɔɏڂĂ܂D
  Ed Bailey ́uMaximum RPMvƂЂڂłD RPM WWW
  site <http://www.rpm.org/> _E[h邱Ƃł܂CX
  ōw邱Ƃł܂! ȉ͋}łlȒPɗpł悤ɂ
  邽߂̃qgłD

  RPM pbP[W spec t@C܂D̃t@C (KickStart
  ̐ݒt@CɎ`)́CpbP[W\z邽߂ɕKvȎ菇̃
  Vs\Ă܂DƕvbgtH[ɑΉ邱
  Ƃ邩Ȃ̂ŁCpbP[W̓\[X\z邱Ƃ҂
  ܂D܂CRpC̑Oɂ̓pb`KpKv邩܂
  Dx\zƃCXg[sƁCpbP[WɊ֘ÂƂĎw
  t@CƃfBNgoCi RPM t@C܂D
  oĂׂdvȓ_ƂẮCRPM ͎w肳ꂽpbP[WɊ֘A
  t@CƃfBNgɂĉmȂ̂ŁCw肷Kv
  ܂D

  Squid WWW LbVT[o <http://squid.nlanr.net/> ̓Ǝ RPM p̃T
  v spec t@C̗ȉɎ܂:

       Summary: Squid Web Cache server
       Name: squid
       Version: 1.NOVM.22
       Release: 1
       Copyright: GPL/Harvest
       Group: Networking/Daemons
       Source: squid-1.NOVM.22-src.tar.gz
       Patch: retry-1.NOVM.20.patch
       %description
       This is just a first attempt to package up the Squid Web Cache for easy
       installation on our RedHat Linux servers

       %prep
       %setup
       %build
       configure --prefix=/usr/squid
       perl -spi -e 's!#( -DALLOW_HOSTNAME_UNDERSCORES)!$1!' src/Makefile
       make

       %install
       make install

       %files
       /usr/squid

   RPM ̍\z@܂:

       % mkdir -p SOURCES BUILD SRPMS RPMS/i386
       % cp ~/squid-1.NOVM.22-src.tar.gz SOURCES
       % cp ~/retry-1.NOVM.20.patch SOURCES
       % rpm -ba squid-1.NOVM.22+retry-1.spec

  rpm R}h BUILD fBNg̉ɃTufBNgIɐ
  ܂D rpm R}h́C̃TufBNgɃ\[XR[hW
  JCpb`Kp܂(pb`̓ĕɊւIvV͂
  ܂Dڂ͐ɋЂŒׂĂ)D rpm 
  configure  make sĎIɃpbP[W\zCmake install
  gĂCXg[܂D /usr/squid ̉ɂt@C
  ̃XibvVbg܂DSquid ̃oCi RPM ƂȂ̂́C̃X
  ibvVbgłD
  WJC\zCCXg[̏ɂ͔Cӂ̃VFR}h邱Ƃ
  _ɒӂĂDႦ΁CSquid ̃RpC̃p[^
  ς邽߂ perl ĂяoƂł܂D

  ŏIIȃoCi RPM pbP[W RPMS fBNgɂvbgtH
  [ŗL̃TufBNg i386 Ɏc܂D̗ł̓pbP[W
  squid-1.NOVM.22-1.i386.rpm ƂOɂȂ܂Dt@C spec
  t@C̃p[^qč_ɒӂĂDȂ킿 Name,
  Version, Release, Yn[hEFAvbgtH[(̗ł
  i386)łDƎ RPM ۂɂ́CĎĝɂȂȂOt
  Ă܂Ȃ悤ɁC̓_YȂ悤ɂ܂傤D

  RPM pbP[W\zۂɂ̓pbP[WŜč\zKv͂Ȃ
  mĂđ͂Ȃł傤DȉɎ܂:

       Summary: Linux 2.0.36 kernel + filehandle patch + serial console patch
       Name: linux
       Version: 2.0.36+filehandle+serial_console
       Release: 1
       Copyright: GPL
       Group: Base/Kernel
       Source: linux-2.0.36+filehandle+serial_console.tar.gz
       %description
       This is just a first attempt to package up the Linux kernel with patches
       for installation on our RedHat Linux servers

       %prep
       echo

       %setup
       echo

       %build
       echo

       %install
       echo

       %post
       /sbin/lilo

       %files
       /lib/modules/2.0.36
       /boot/vmlinuz

  ̗͒PɁC/boot/vmlinuz t@C /lib/modules/2.0.36 fBNg
  ̓eɊÂ RPM pbP[W쐬CΏۂ̃}VɃpbP[W
  CXg[s /sbin/lilo s邾łD
   spec t@C̏ΕM҂ɂm点D

  15.  t^ C - Ǝ RPM fBXgr[Vɓ

  Eric 񂪍쐬CŐV RPM  RedHat fBXgr[V̗̈
  ɓ邽߂̃XNvgȉɎ܂:
       #!/usr/bin/perl
       #
       $redhatdir="/cdrom/i386";
       $rpmdir="/cdrom/i386/RedHat/RPMS/";
       $updatedir="/cdrom/updates/";
       @OTHERDIR=($updatedir);
       foreach $dir (@OTHERDIR)
               {
               print "update for $dir\n";
               system(" find $dir -name \"*.rpm\" -exec cp {} $rpmdir \\; ");
               }
       chdir($contribdir) || die "peux pas aller dans $contribdir $!\n";
       system("chmod -R 755 $redhatdir");
       chdir($rpmdir) || die "problem to go in $rpmdir $!\n";
       #
       # remove the old file
       #
       opendir(DIR,'.');
       @package=grep(/\.rpm$/,readdir(DIR));
       foreach $file (@package)
               {
               $file =~ /(.*)\-([\d+|\.]+\w*)\-(\d+)\.[i386|noarch].*/;
               $nom=$1;
               $version=$2;
               $buildvers=$3;
               if ($NOM{$nom})
                       {
                       $version2=$VERSION{$nom};
                       $buildver2=$BUILDVERS{$nom};
                       $file2=$FILE{$nom};
                       $nom2=$NOM{$nom};
                       if ( $version2 gt $version )
                               {
                               print "$file2 is newer than $file\n";
                               unlink($file);
                               }
                       else
                               {
                               if ( $version2 lt $version )
                                       {
                                       print "$file is newer than $file2\n";
                                       unlink($file2);
                                       $VERSION{$nom}=$version;
                                       $BUILDVERS{$nom}=$buildvers;
                                       $FILE{$nom}=$file;
                                       $NOM{$nom}=$nom;
                                       }
                               else
                                       {
                                       if ( $buildver2 > $buildvers )
                                                       {
                                                  print "$file2 : $buildver2 est mieux que $file : $buildvers\n";
                                                  unlink($file);
                                                       }
                                       else
                                                       {
                                               print "$file2 : $buildver2 is older than $file : $buildvers\n";
                                                   unlink($file2);
                                                   $VERSION{$nom}=$version;
                                                   $BUILDVERS{$nom}=$buildvers;
                                                   $FILE{$nom}=$file;
                                                   $NOM{$nom}=$nom;
                                                       }
                                       }
                               }
                       }
          else
                  {
                  $VERSION{$nom}=$version;
                  $BUILDVERS{$nom}=$buildvers;
                  $FILE{$nom}=$file;
                  $NOM{$nom}=$nom;
                  }
          }

  # we do the hard thing here
  #
  system("$redhatdir/misc/src/install/genhdlist $redhatdir");

