RedHat Linux KickStart HOWTO Martin Hamilton <martinh@gnu.org> v0.2, 11 January 1999 ¡´Pà <fujiwara@linux.or.jp> 16 May 1999 { HOWTO hL gÍCRedHat Linux Ì KickStart VXeðgÁį êÌ Linux }VðfåÊÉCXg[·éû@ðྵܷDܽ ã[Uü¯ÉCKickStart ÌCXg[豫ðC³µÄÆ©Ìð ³¹éû@ÆCÆ© RPM pbP[WÌ\zû@ðÈPÉྵܷD ______________________________________________________________________ Ú 1. ì \¦ 2. z[y[W 3. ú{êóÉ墀 4. ͶßÉ 5. KvÈàÌ 6. N®tbs[ÌÝè 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 {hL gð Linux HOWTO hL gÌ~[TCgâ CD-ROM ©ç üèµ½êÉÍCKickStart HOWTO z[y[W <http://wwwcache.ja.net/dev/kickstart/> ð©ÄCæèVµ¢ÅªoÄ¢È ¢©Ç¤©ðmF·éÆæ¢Åµå¤D 3. ú{êóÉ墀 ú{êóÍ Linux Japanese FAQ Project ªs¢Üµ½ (¡´Pà <fujiwara@linux.or.jp>(ú{êó)CìY <nakano@apm.seikei.ac.jp>(Z³))Dú{êóÉÖ·éëèÌwEâC´¶Ì ìÒÉtB[hobNðµ½¢¯êÇpêÍêè¾Æ¢¤ûÍ JF vWFN g(<JF@linux.or.jp>) ÜŲA¾³¢D ´¶Ì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çêÄ ¢È¢(»_ÅÍhL gà Üè èܹñ)@\ª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}hQðwèµÄÀs³¹é±ÆªÅ«Ü·DÂÜèC RedHat Linux ÌêƵÄzz³êĢȢ[Jü¯Ì\tgEFAð©®IÉ ÇÁCXg[µÄ(t[\tgEFAÅ ÁÄàCRedHat fBXg r [VÉt¢Ä±È¢à̪ èÜ·D@IÈRÉæè RedHat ªz zÅ«È¢àÌà èÜ·Dá¦Î ssh âûVXe PGP Å·)C®S Ég¦éVXeÉ·é½ßÉKvÈdã°ðs¤±ÆªÅ«éÌÅ·D 5. KvÈàÌ KickStart ðgÁ½CXg[ÉÍ 2 ÂÌAv[`ª èÜ·D1 ÂÍ PÉ KickStart ÌÝèt@Cð RedHat ÌN®tbs[ÉRs[·éÆ ¢¤àÌÅ·Dठ1 ÂÌû@ÍCÊíÌN®tbs[ðp¢CKickStart ÌÝèt@CÍlbg[NoRÅæèÞÆ¢¤û@Å·D Ç¿çÌêÉàȺÌà̪KvÅ·: 1. Intel (i386) nÌ}V - ±Ì¶ð·MµÄ¢é_ÅÍC KickStart ͱêçÌ}VÅȯêήìµÈ¢æ¤Å·D 2. KickStart ÌÝèt@C - ±¿çÉ¢ÄÍÌZNVÅà¾µÜ ·D 3. RedHat ÌN®fBXN - C³pbP[WâhCoÌXVpbP[Wð p·é½ß updates fBNg©çüè·é±Æª]ܵ¢Åµå ¤D 4. g¨¤ÆµÄ¢é IP AhXÌ DNS Gg - ±êͳÄà\¢Ü ¹ñªC±êðwè·éÆCXg[É}VÌhC¼ðü͹ ¸ÉÏÝÜ·D lbg[NðʵÄÝèt@CðæèÞêÉÍCÝèt@Cð NFS oRÅGNX|[g·éKvª èÜ·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¦·é±ÆªÅ«Ü ·D±êðp¢éÆC½ç©ÌT[oªwèÌÍÍàÌAhXð©®IÉ èÄÜ·D±Ìæ¤ÈT[oƵÄÍC®IAhXèÄg£t«Ì CMU BOOTP T[o <ftp://ftp.ntplx.net/pub/networking/bootp>ª èÜ ·D NFS â BOOTP/DHCP ÌÚµ¢à¾É¢ÄÍt^ A ðQƵľ³¢D 6. N®tbs[ÌÝè {¿IÉÍCµÈ¯êÎÈçÈ¢ìÆÍ KickStart ÌÝèt@Cð RadHat ÌN®tbs[É ks.cfg Æ¢¤¼OÅRs[·é±Æ¾¯Å·D±Ìì ÍȺÌæ¤És¢Ü·: mcopy ks.cfg a: µ©µ RedHat ÌN®tbs[ÉÍFXÈt@CªlßñÅ éÌÅC ¼Ìt@Cð¢Â©ÁµÄó«ðìÁÄâç颮 KickStart ÌÝè t@CðRs[Å«È¢©àµêܹñDMÒÌêÉÍeíbZ[WÌ t@CðÁ¹Î½Æ©Èèܵ½D±ÌbZ[WÍÊCu[g[_ SYSLINUX ª\¦·éàÌÅ·D±ÌìÍȺÌæ¤És¢Ü·: mdel a:\*.msg ÊÌû@ƵÄÍCÁĢȢn[hEFAÌhCoð¢Â©ÌÄĵ ܤ±ÆàÅ«éŵå¤DãqÌN®tbs[ÌC³ÉÖ·éZNV ð²¾³¢D SYSLINUX ÌÝèt@CÅ é syslinux.cfg àÒWµ½Èé©àµêÜ ¹ñD±Ìt@Cà RedHat ÌN®tbs[Ì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 Æ©ÌN®tbs[ââtbs[ðìéÛÉÍC¨ßÌ RedHat Ì~ [TCgÌ updates/i386 fBNgÉ éÅVÌfBXNC[Wð³ É·éÆæ¢Åµå¤DâfBXNC[WÉÍoOª Á½èC뵀 ¢én[hEFAªÈ¢±Æª èÜ·D 7. KickStart ÌÝèt@C Ýèt@CÉÍ 3 ÂÌåÈZNVª èÜ·: 1. VXeîñ(fBXNÌp[eBVîñâlbg[NÌÝè) 2. CXg[·é RedHat ÌpbP[W 3. CXg[ãÉÀs·éVFÌ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Â\ÈfBNeBṳ¿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 ðg¢CRedHat 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[eBVðSÄÁ·ÌêÅ·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[ãÉÀs·éVFÌR}hDÚµÍãqµÜ·D KickStart ª RedHat fBXgr [VðT·fBNgÉÍC RedHat Æ¢¤¼OÌTufBNgªKv¾Æ¢¤±ÆÉӵľ³ ¢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ãÈÇÉ é͸ŷD¡A[LeN`ÌfBXgr [VÍ 1 Ì CD-ROM ÉûÜèܹñ)ÉÍC»ê¼êÌfBXgr [VÉ ÍCȺÌæ¤ÈTufBNg̺ɯ¶¼OÌt@CQâfBNg 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æöà ¾µ½IvVðgÝí¹ÄìèÜ·: 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·æ¤ÈLqðsÁÄ¢éà̪ éÌÅÓ µÄ¾³¢D³µ¢ÄÑoµûÍCnetwork ÌãÉ --static, --bootp, --dhcp Ì¢¸ê©ðLqµÜ·DBOOTP IvVÆ DHCP IvVÍÊ ÌàÌÅ é±Æðo¦Ä¨¢Ä¾³¢D¼ÒÍÊÌR[hÅ©êÄ¢é ç¢áÁĢܷD part fBNeBuÉÍø« --grow ðÇÁ·é±ÆªÅ«Ü·D±Ìø «ÍCwèµ½TCYæèàp[eBVð嫵Ä梱Æðw¦µ Ü·D±ÌwèªÓ¡ðÂÌÍp[eBVª 1  èC±êÉ --grow Æ¢¤^Oªt¢Ä¢é꾯ŵå¤D 7.2. CXg[·épbP[W KickStart ÌÝèt@CÌ packages ZNVÌæªÉÍC %packages fBNeBu¾¯ð¢½sðu«Ü·D±ÌãÉÍ 2 ÂÌ^Cv̤¿ Ì 1  é¢Í¼ûÌpbP[Wwèqð«Ü·D»ê¼êÌpbP[W ÍCRPM ̼O(o[WÆvbgtH[ÌîñÍÜßܹñ)ðwè· é±ÆÉæÁÄCXg[·é±ÆªÅ«Ü·DܽpbP[WÌO[v ÍCO[v̼Oðwè·êÎCXg[Å«Ü·D KickStart ÌÝèt@CÌ packages ZNVÌÝèáðȺɦµÜ ·: %packages @ Base netkit-base bind-utils ncftp rdate tcp_wrappers traceroute cmu-snmp ³ÄC±êçÌO[vͽŵ天? ½³ñÌO[vªftHgÅ è`³êĢܷË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[ÌÉ[UªqËçêé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}hñðwè· é±ÆÅ èCÀs³êéÌÍCXg[ÌåvȪ(fBXNÌp[ eBVªCpbP[WCXg[)ªIíÁ½ãÉÈèÜ·D KickStart ÌÝèt@Cɨ¢ÄC±ÌZNVÌæªÌóÍ %post fBNeBuÅ·D±êÈ~̪ÅÍCVµ\zµ½ Linux VXe ÉCXg[³êÄ¢é[eBeBðSÄ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 _CNVâqAhL gðg¤±ÆàÅ«Ü·: cat <<EOF >>/etc/passwd squid:*:102:3500:Squid Proxy:/usr/squid:/bin/bash EOF cat <<EOF >>/etc/group cache:x:3500: EOF Ⱥɦ·áÍCVXeÌN®XNvgðC³·éàÌÅ·: 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 ±êƯ¶øÊÍCÀsµ½¢R}hðÜÞ RPM pbP[Wðìé±ÆÉ æÁÄàÀ»Å«é±ÆðmÁĨ¢Ä¾³¢DÚµÍãÅྵܷD ±Ìæ¤È RPM pbP[WÉt¯é¼OÍÓµÄßľ³¢D»¤· êαêðÅ(á: 'aaa' ÅnÜé¼Oðwè)âÅã(á: 'zzz' ÅnÜé ¼Oðwè)É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 ÌN®tbs[ðgÁÄÊÉN®µ Ü·ªCSYSLINUX ÅÍ RETURN L[ð³È¢ÅC linux ks Æü굆 ·D ^ªÇ¯êÎC±êðüͷ龯ÅIíèÅ·! OÉÈPÉྵ½æ¤É RedHat ÌN®tbs[ðJX^}CYµÄ¢ê ÎC»ê·çàKvÈ¢Åµå¤ :-) RedHat ÌCXg[ÉÜÜêéÊÌèð¡Ü³É©®»µ½í¯Å· ©çCè®CXg[Ì_CAOª»êéÌÍCKickStart ªÌè𠩸Á½ê¾¯Å·DÅà 軤ÈP[XÍClbg[NC^tF[ Xª©®IÉ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 ÌN®fBXN boot.img Í MS-DOS tH[}bgÅ·DܽCN® ÉÍ SYSLINUX vOðgÁĢܷDâfBXNÍ Linux Ì ext2 t@CVXeÅ·D[vobNt@CVXeðT|[g·éæ¤É Linux J[lðÝèµÄ êÎC±êçð¼ûÆàt@CVXeÉ}E gµCnbN·é±ÆªÅ«Ü·: # mkdir -p /mnt/boot /mnt/supp # mount -o loop -t msdos boot.img /mnt/boot # mount -o loop supp.img /mnt/supp }EgµÄµÜ¦ÎCN®fBXNÆâfBXNÉÜÜêét@CÍ» ê¼ê /mnt/boot Æ /mnt/supp É ét@CƵÄìÅ«é͸ŷD mount Ìo[WªÃ¢Æ -o loop IvVªg¦È¢©àµêÈ¢Ì ÅCðt¯Ä¾³¢D±Ìæ¤ÈêÉÍC¾¦IÉ 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ª é©àµêܹñDµ©µCÅßÌ Linux fBXgr [VðgÁÄ¢éÈçÎC±Ìæ¤ÈSzð·éK vÍȢ͸ŷD Ü袶èñ·ÂàèªÈ¢ÌÅ êÎCèð²¢Ätbs[ÌfBXN C[WÅÈÀÛÌtbs[fBXNðìµÄàà¿ëñ\¢Ü¹ñD Å·ªÔ𩯽ȯêÎC[vobNfoCXðg¤ûªæ¢Åµå ¤DÆ¢¤ÌàC{¨Ìtbs[fBXNÌÇÝ«Íx¢ÌÅ·ªCfB XNC[Wðg¦Î±Ìâèðð¯ÄnbN·é±ÆªÅ«é©çÅ·D 10. RedHat ÌCXg[ÌC³ CXg[Ìè©Ìð¢¶è½¯êÎCRedHat Ì CD-ROM Ü½Í¨ß Ì RedHat ~[TCg©çCCXg[Ì\[XR[hðüèµÄ¾³ ¢D±êÍfBXgr [VÌgbvfBNgÉ é i386 fB NgÌºÌ misc/src/install fBNgÉ èÜ·D RedHat ÌN®fBXNð²×êÎ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@CðWJµÄ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ȪÍCN®fBXNÉüÁÄ¢é[_ uJ[lW [Qŵå¤DVµ¢o[WÌhCoð}[W· éKvª éÈçC±êðÃIÉNµ½Vµ¢J[lÅ vmlinuz ðu «·¦é©C é¢ÍW [Qð·µÖ¦éKvª èÜ·D³çÉCó «fBXNðmÛ·é½ßɼÌW [ðÌÄéKvª é©àµêܹ ñD W [QÍ modules/modules.cgz t@CÅ·D±êÍÇñÈt@C ÈÌŵ天? ±êÍÀÛÉͳkµ½ cpio t@CÅ·DÇÒÌF³ñ ªM¶é©Ç¤©Íª©èܹñµCà¤Nà cpio ÈñÄgÁÄÈ¢Æví êé©àµêܹñª! ÀÛÉÍ RPM pbP[W©ÌààIÉÍ cpio ð gÁĢܷDȺÌèÍW [QÌt@CðnbN·é½ßÌû@ Å·: # 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ç¹¾³¢! ½ç©ÌÏXðsÁ½êÉÍCȺÌàYê¸ÉsÁľ³¢: 1. cpio ðgÁÄA[JCuðì輵ܷDìè¼µÌû@ÍCÇÒÌF³ ñÖÌhèƵĨ«Ü·cD 2. Å«½A[JCuð gzip ðgÁijkµÜ·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[JCuðN®fBXNC[WÉRs[µÜ·D{hL gÌáÅÍ /mnt/boot/initrd.img Å·D 7. N®fBXNC[W(á¦Î /mnt/boot)ðA}EgµÜ·D ÅãÉC±Ìæ¤ÉC³µ½N®fBXNÌÝèðp¢ÄVµ¢N®tbs [ð쬷é±ÆªÅ«Ü·Dì¬Íá¦ÎȺÌæ¤És¢Ü·: # cat boot.img >/dev/fd0 11. FAQ ƨè¢Xg Q: KickStart ðgÁ½CXg[ÌãC}VªN®µÜ¹ñD BIOS ª Missing operating system Æ¢Á½bZ[Wðf«Ü·D A:[gt@CVXeªu©êÄ¢ép[eBVªN®Â\ÅÈ¢æ ¤Å·Dfdisk ðgÁÄCN®Â\Xe[^XðϦľ³¢D Q: tbs[ÅN®µ½ãÉ Error opening files for kickstart copy: File exists Æ¢¤bZ[WªoÜ·D A: àÁÆVµ¢o[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[WðCCXg[Ég¤ RPMS fB NgÉRs[µCâ RPM pbP[WðíµÄC RedHat/base/hdlist t@CðVµ¢ RPM pbP[WÌÚ×îñÉ«¼µÜ·D±êðs¤½ ßÉ Eric Doutreleau ³ñªì¬µ½XNvgðt^ 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[WðärµCXVÌKv ª éÆvíêéàÌðñµÜ·DXNvgðMpµÄC»ÌÜÜ RPM pbP[WðCXg[·é±ÆàÅ«Ü·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@Cðu«A»êª·×ÄÌ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[WðOµ½¢Å·Dá¦ÎC sendmail ÉÖW ·éà̾¯ðO·éæ¤ÈêÅ·D A: BASE ð sendmail ²«ÅÄ\zµÄ¾³¢D Q: /etc/rc.d/ É éxXNvgÉæÁÄN®É©®IÉJn³ êéT[rXðIð·éû@ð³¦Ä¾³¢D A: chkconfig [eBeBðg¤ÆCN®É©®IÉJn·éT[rX ðÝè·é±ÆªÅ«Ü·D±êðCXg[ãÉÀs·éXNvgÌ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¢Ü·D±êðVFR} hZNVÅ open ðgÁÄs¦Ü·©? A: Å«Ü·DȺÌæ¤ÉµÄ¾³¢: exec >/dev/tty5 Q: t@CVXe¶¬ÌR[hÍsÇubNÌ`FbNðs¢Ü·©? A: t@CVXe¶¬Ìoͪ\¦³êé¼zR\[ÉÚêÎC uÇÝæèêpveXgÀsÉÖ·éoͪsíêĢȢ±Æªí©éÆv ¢Ü·Dµ½ªÁÄC¦Íu¢¢¦vÌæ¤Å·D Q: êÌ}V¾¯ð¼Ì}VÆá¤ÝèÉ·é±ÆÍÅ«Ü·©? A: zXg˶ÌÝèð KickStart ÌÝèt@CÌXNvgLqZNV ÉÚ¹ÎåävÅ·D±±Åwèµ½}VÌêÉÀÁÄwè³ê½ RPM pbP[WðCXg[·éæ¤ÉµÜ·DÝèt@CÌpbP[WZN VÉðt«CXg[@\(á: 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¢ûÌà¾ÍhL gÉÍüÁĢܹñD Q: (/home ðcµ½ÜÜ / ðÁ·Ì½ßÉ) ÁèÌp[eBV(1 ÂÜ ½Í¡)ðÁ·±ÆÍÅ«Ü·©? Å«éÈçÎCÇÌæ¤ÉµÄs¤ÌÅ µå¤©? A: ūܹñD¡ÌƱëÍ! Q: ¡ÌhCuɪ¯Äp[eBVðèÄé±ÆÍÅ«Ü·©? á¦ÎC/ ð sda Éu«C/home ð sdb ÉuÆ¢Á½ïÅ·D A: ūܹñDp[eBVìc[©çANZXÅ«éÌÍÅÌh Cu¾¯Ìæ¤Å·D Q: ùɶݵĢép[eBVð}Ege[uÉüêé±ÆÍÅ« Ü·©? »êÆàCVµ¢p[eBV𶬵ıêð}Ege[u Éüêé±Æµ©Å«È¢ÌÅ·©? A: ? Q: mkkickstart ðÀsµ½ãCmkkickstart ª¶¬µ½t@CÍDZÉ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[WªoÜ·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 EBhEVXeªCXg[³êéÌŵå¤? CX g[ÎÛÌpbP[WÉ͵ĢȢÌÅ·ªD A: XFree86-VGA16 Ì RPM pbP[WÍ 'base' R|[lgÉüÁÄ¢é ÌÅK¸CXg[³êÜ·D½¾µ base NXÌè`ðϦêλÌÀ èÅÍ èܹñD Q: CXg[ãÉÀs·éXNvgàÅC»êÜÅÉCXg[³ê ½pbP[Wðg¢Ctbs[ÉüÁÄ¢éÀçê½c[ÅÍÅ«È¢Ê ¢±ÆªÅ«Ü·©? A: Å«Ü·DPerl ðCXg[µÄ KickStart ÌÝèt@CÆgÝ í¹êÎC5 sç¢ÌXNvgÅåï̱ƪūܷ :-) 12. NWbg Eric Doutreleau ³ñÉÍ chkconfig ÉÖ·éîñC SYSLINUX ÌÝèt@ CÌnbNC¨g¢ÌfBXgr [VÌT[oÌ RPM ðXV·é ½ßÌ Perl XNvgÉ¢ij¦Ä¢½¾«Üµ½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 Ì\¬ðgÁ½CXg[ɨ¢ÄÍ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 }V©çfBNgð 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 ÉÍȺÌLqðs¢Ü·: ALL: 194.82.103.0/255.255.255.0: ALLOW ±Ìæ¤È±ÆªN±éÌÍCåªÌ Linux fBXgr [VÍ NFS ÖWf[Ìê é¢ÍSÄɨ¢Ä TCP wrappers ðgÁÄANZ X§äðsÁÄ¢é½ßÅ·D/etc/exports ̶@Í¼Ì UNIX n OS ÆÙ Èé±Æª½¢ÌÅӵľ³¢De Linux fBXgr [VÉ üÁÄ¢é NFS T[oÍC¼Ì UNIX ÉüÁÄ¢é NFS T[oæèàLÍÍ ÉnéIvVðÁÄ¢é±Æªæ èÜ·D KickStart ÌÝèt@CÉ root ÌpX[hª©êÄ¢éêâC@§ îñªüÁÄ¢éfBNgð NFS ÅGNX|[g·éêÉÍC±Ìî ñð©¹élÔðū龯ȷ׫Šé_Éӵľ³¢D±ê Í NFS ÌGNX|[gÂū龯ièÞ±ÆÉæÁÄs¤±ÆªÅ« Ü·Dá¦ÎCGNX|[gÌwèðhCSÌÅÈÁèÌzXgâTu lbgÉεÄs¤Ìû@Å·DKickStart ðgÁ½CXg[pÉ©R Ég¦é IP AhXª êÎCâèàÈÈPÉìÆÅ«Ü·ªCãÅ IP AhXðÏX·é©C é¢Í BOOTP/DCHP ðgÁÄ IP AhXðg¤æ ¤É}VÌÝèðÏXµÈ¯êÎÈçȢŵå¤D ÙÆñÇÌ NFS T[oÅÍ /etc/exports ðÏXµ½±Æð mountd Æ nfsd (êÌ UNIX ÅͼOÌæªÉ "rpc." ªt¢Ä¢Ü·)ɳ¦ÄâéKvª èÜ·DÏXÌÊmÍÊCSIGHUP ðé±ÆÉæÁÄs¢Ü·DÏXÌ Êmðs¤½ßÌ exportfs ÆÄÎêévOܽÍXNvgªpÓ³ êÄ¢é±Æà èÜ·DÀsáðȺɦµÜ·: # exportfs -a ±Ì}VªN®µ½É NFS ªN®CÀs³êĢȯêÎC±ÌfB NgÍ©®IÉÍGNX|[g³êܹñDµÉÄN®·é©Croot É ÈÁÄȺÌvOðÀsµÄ¾³¢: # 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 (AhXªLøÈúÔ)Éu³úÀvðÝè »ÝgíêÄ¢é CMU ÅÌT[oÉÍC®IAhXèÄð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`ðKp·éKvª é©àµêܹ ñDêx\zÆCXg[ðs¤ÆCpbP[WÉÖA·éàÌƵÄwè µ½t@CÆfBNg©çoCiÌ RPM t@Cª¶¬³êÜ·D o¦Ä¨×«dvÈ_ƵÄÍCRPM Íwè³ê½pbP[WÉÖA·é t@CÆfBNgÉ¢ĽàmçÈ¢ÌÅC±êðwè·éKvª èÜ·D Squid WWW LbV T[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̺ÉTufBNgð©®Iɶ¬ µÜ·D»µÄ rpm R}hÍC±ÌTufBNgÉ\[XR[hðW JµCpb`ðKpµÜ·(pb`ÌÄûÉÖ·éIvVͽ³ñ èÜ·DÚµÍæÉ°½ÐŲ׾³¢)D±±Å rpm Í configure Æ make ðÀsµÄ©®IÉpbP[Wð\zµCmake 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, Y·én[hEFAvbgtH[(¡ñÌáÅÍ i386)Å·DÆ©Ì RPM ðìéÛÉÍC··¬Äg¢àÌÉÈçÈ¢¼Oðt ¯ÄµÜíÈ¢æ¤ÉC±Ì_ðYêÈ¢æ¤ÉµÜµå¤D RPM pbP[Wð\z·éÛÉÍpbP[WSÌðÄ\z·éKvÍÈ¢±Æ à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");