\documentclass[letterpaper]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{ÉÕÖÆÒ»¸öRedHatµÄCDÖ®mini-HOWTO}
\author{Morten Kjeldgaard, {\ttfamily mok@imsb.au.dk} ºÍ Peter von der Ah\'e, {\ttfamily pahe+rhcd@daimi.au.dk}£¬\\ 
Àî¶¬£¨·­Òë£©{\ttfamily lidong@wh.027.net}}
\date{v1.29, 1999Äê9ÔÂ22ÈÕ}
\abstract{±¾ÎÄ½éÉÜÁËÈçºÎ¸ù¾ÝRed Hat LinuxµÄ·¢ÐÐ°æ±¾ÖÆ×÷µÈÍ¬ÓÚRed HatËù·¢ÐÐµÄÉÌÒµ°æ±¾µÄCD¡£ÔÚÕâÀï½«Òª½éÉÜ·¢ÐÐ°æ±¾µÄ½á¹¹£¬ÒÔ¼°°üÀ¨¸üÐÂRPM°üÔÚÄÚµÄÁ÷³Ì¡£Ç°ÌáÊÇÓµÓÐÒ»¸öºÃµÄÍøÂçÁ¬½Ó£¬ÒÔ¼°Ò»¸öCD¿ÌÂ¼»ú¡£}


\begin{document}
\maketitle
\tableofcontents

\section{¸ÅÊö}



ÓÐÒ»Ð©Ô­Òò¿ÉÄÜ»á´ÙÊ¹ÄãÖÆ×÷×Ô¼ºµÄCD¡£¿ÉÄÜÄã»¹²»¹»¸»ÓÐ£¬Ïë½ÚÊ¡\nameurl{http://www.redhat.com/}{Red Hat·¢ÐÐ°æ±¾}Ö®50ÃÀÔªµÄ·ÑÓÃ¡£»òÕß£¬ÄãÏëÖÆ×÷Ò»¸ö°üÀ¨ÁËËùÓÐ×îÐÂµÄ¸üÐÂµÄ°æ±¾µÄCD·¢ÐÐ¡£ÕâÊÇÒ»¸öÖØÒªµÄÔ­Òò£¬ÒòÎªÃ¿´ÎÔÚRed HatÓÐÁËÒ»¸öÖØÒªµÄ·¢ÐÐ°æ±¾Ö®ºó£¬×ÜÓÐÒ»Ð©¸üÐÂ£¬¶øÆäÖÐÓÐÒ»Ð©ºÍ°²È«ÊÇÓÐ¹ØµÄ£¬ÓÐ¹ØÇé¿öÇë²éÑ¯\nameurl{http://www.redhat.com/corp/support/errata}{errata page}. 




\section{Anatomy of the Red Hat FTP site}



ÒÔLinuxÉçÇøµÄ¾«Éñ£¬Red Hat Software½«ÆäÓ¦ÓÃÓÚ²»Í¬Æ½Ì¨ÉÏµÄLinux·¢ÐÐ°æ±¾·ÅÔÚÆäFTPÕ¾µãÉÏÌá¹©ÏÂÔØ£¬Õâ¶¼¿ÉÒÔ´Ó¶¥¼¶·¢ÐÐÄ¿Â¼ÖÐ»ñµÃ¡£




\subsection{¶¥¼¶Ä¿Â¼\label{sec-top-level}}



RedHat Linux 6.0µÄ¶¥¼¶Ä¿Â¼(\nameurl{ftp://ftp.redhat.com/pub/redhat/redhat-6.0/}{pub/redhat/redhat-6.0}) °üÀ¨ÁË²»Í¬Æ½Ì¨µÄ·¢ÐÐ°æ±¾£¬¶øÆäÖÐÒ»¸öÄ¿Â¼°üÀ¨ÁË×Ô´Ó·¢ÐÐÖ®ºóµÄ¸üÐÂÒÔ¼°³ÌÐò°üµÄ¸üÕý¡£

\begin{tscreen}
\begin{verbatim}
 
SRPMS/     alpha/     i386/      sparc/
\end{verbatim}
\end{tscreen}
 



ÔÚÕâ¸öÎÄ¼þÖÐ£¬ÎÒÃÇÒÔi386°æ±¾ÎªÀý¡£ÔÚ±¾ÎÄÖÐËù¸ø³öµÄ³ÌÐò¼¸ºõ¿ÉÒÔÔÚËùÓÐRed HatÖ§³ÖµÄÆ½Ì¨ÉÏ¹¤×÷£¬ (Alpha, SPARC, ppcµÈ)£¬µ«ÊÇÎÒÃÇ½öÔÚi386Æ½Ì¨ÉÏ½øÐÐÁË²âÊÔ¡££¨×÷ÕßÔ¸ÒâÌýÈ¡Ò»Ð©¶îÍâµÄÒâ¼û£©£¬i386Ä¿Â¼µÄ¸ùÄ¿Â¼ÈçÏÂ£º
\begin{tscreen}
\begin{verbatim}
 
-rw-r--r--   1 root     root        18391 Mar 19  1999 COPYING
-rw-r--r--   1 root     root         3187 Apr 19 19:56 README
-rw-r--r--   1 root     root         2751 Sep 19  1997 RPM-PGP-KEY
drwxr-xr-x   5 root     root         1024 Sep 12 08:03 RedHat/
-rwxr--r--   1 root     root         2048 Apr 20 14:33 boot.cat
drwxr-xr-x   7 root     root         1024 Sep 17 08:04 doc/
drwxr-xr-x   6 root     root         1024 Aug  3 16:17 dosutils/
drwxr-xr-x   2 root     root         1024 Aug  3 16:02 images/
-rw-r--r--   1 root     root       222789 Sep 17 08:04 ls-lR
-rw-r--r--   1 root     root        32371 Sep 17 08:04 ls-lR.gz
drwxr-xr-x   4 root     root         1024 Sep 17 08:04 misc/
\end{verbatim}
\end{tscreen}
 

{\ttfamily doc} Ä¿Â¼°üÀ¨ÁË·á¸»µÄÎÄµµÐÅÏ¢¡£¸üÖØÒªµÄÊÂÊÇ£¬RedHat°²×°Ö¸ÄÏµÄHTML°æ±¾¿ÉÒÔÔÚ\nameurl{http://www.redhat.com/corp/support/manuals/RHL-6.0-Manual/install-guide/manual}{doc/rhmanual/manual/}ÕÒµ½¡£ÁíÍâ£¬»¹ÓÐÒ»Ð©FAQÒÔ¼°Õû¸öHOWTOºÍmini-HOWTOµÄÈ«¼¯¡£



{\ttfamily images} Ä¿Â¼°üÀ¨ÁË±ØÐëÒª¿½±´µ½ÈíÅÌÖÐÆô¶¯ÈíÅÌµÄÓ³ÏñÎÄ¼þ¡£ÔÚ´ó¶àÊý×îÐÂµÄ·¢ÐÐ°æ±¾ÖÐ£¨6.0)£¬ÓÐÁ½¸ö´ÅÅÌÓ³Ïñ¡£Æô¶¯Ó³Ïñ±»³ÆÖ®Îª{\ttfamily boot.img}£¬ÕâÊÇÔÚ´ÓCD-ROMÖÐÖ±½Ó°²×°Ê±Ëù±ØÐèµÄ¡£Èç¹û´ÓÒ»¸ö±¾µØÓ²ÅÌ°²×°£¬NFS×°ÔØ´ÅÅÌ»òÕßFTPÊÇ±ØÐëµÄ£¬Õâ¸öÊ±ºò¾ÍÐèÒª²¹³ä´ÅÅÌÓ³Ïñ{\ttfamily supp.img} ¡£Çë¿´ \ref{sec-install} {(´ÓCD°²×°)} ²ÎÕÕÏêÏ¸ÐÅÏ¢¡£

{\ttfamily misc} Ä¿Â¼°üÀ¨ÁËÔ´´úÂë£¬ÒÔ¼°Ò»Ð©Îª°²×°ËùÐèÒªµÄ¿ÉÖ´ÐÐÎÄ¼þ¡£




\subsection{"RedHat" Ä¿Â¼ -- ·¢ÐÐ°æ±¾µÄºËÐÄ}



Ä¿Â¼Ê÷ÖÖ×îÎªÖØÒªµÄ²¿·Ö¾ÍÊÇ{\ttfamily RedHat}Ä¿Â¼¡£



\begin{tscreen}
\begin{verbatim}
 
drwxr-xr-x   2 root     root        23552 Aug  3 16:02 RPMS/
drwxr-xr-x   2 root     root         1024 Aug  3 16:02 base/
-rw-r--r--   1 root     root            0 Jan 19  1999 i386
drwxr-xr-x   5 root     root         1024 Sep 11 08:03 instimage/
\end{verbatim}
\end{tscreen}
 

{\ttfamily RPMS} Ä¿Â¼°üÀ¨ÁËRed Hat·¢ÐÐ°æ±¾µÄÖ÷Òª²¿·Ö£¬ÆäÖÐ°üÀ¨ÁËÒ»¸öRPM£¨Redhat Package Manager£©ÎÄ¼þµÄ¼¯ºÏ¡£Ò»¸öRPM°üµäÐÍµØ°üÀ¨ÁË¿ÉÖ´ÐÐÎÄ¼þÒÔ¼°Ïà¹ØµÄÅäÖÃÎÄ¼þºÍÎÄµµ¡£Çë¿´\ref{sec-rpm} {(RPM°ü)} ²ÎÕÕÏêÏ¸ÐÅÏ¢¡£



{\ttfamily base} Ä¿Â¼°üÀ¨ÁË²»Í¬µÄÔÚ°²×°¹ý³ÌÖÐËùÐèÒªµÄÎÄ¼þ¡£ÀýÈç£¬ {\ttfamily comps} ÎÄ¼þ£¬¶¨ÒåÁËÔÚ"Choose packages to
install" ½×¶ÎÖÐ¶¨ÒåµÄµÄ{\itshape components\/} (°ü×é).Çë¿´ \ref{sec-comps} {(×é¼þÎÄ¼þ)}µÃµ½¸ü¶àµÄÐÅÏ¢ÒÔ¼°Ê¹ÓÃÐÅÏ¢¡£ÁíÍâÒ»¸öÔÚ{\ttfamily base} Ä¿Â¼µÄÖØÒªµÄÎÄ¼þÊÇ{\ttfamily hdlist} ÎÄ¼þ£¬ÆäÖÐ°üÀ¨ÁËÈ«²¿ÔÚ {\ttfamily RPMS} Ä¿Â¼µÄµÄÍ·²¿ÇøÓò¡£

ÕâÒâÎ¶ÖøËùÓÐÔÚRPM°üµÄÏà»¥¹ØÁªÐÔ¿ÉÒÔÍ¨¹ýÔÄ¶Á {\ttfamily hdlist} ÎÄ¼þ»ñµÃ£¬¶ø²¢²»±ØÒªÔÄ¶ÁËùÓÐµÄµÄRPM°ü£¬Õâ¶ÔFTP·½Ê½µÄ°²×°À´ËµÊÇ·Ç³£±ãÀûµÄ¡£

{\ttfamily hdlist} µÄÁíÍâÒ»¸öÓÃÍ¾¾ÍÊÇÓ³Ïñ°üÃûµ½ÎÄ¼þÃû£¬ÀýÈç ÒÔ{\ttfamily perl} ´úÌæ {\ttfamily perl-5.004-6.i386.rpm}¡£ÕâÒâÎ¶ÖøÈç¹ûÄãÏë´ÓRedHat½øÐÐ»ìºÏÊ½¸üÐÂµÄ»°£¨Çë¿´\ref{sec-updates} {(»ìºÏ¸üÐÂ)})»òÕß¼ÙÈçÄã×Ô¼ºµÄ±¨µ½{\ttfamily RPMS}Ä¿Â¼µÄ»°  £¬ÄãÐèÒª¸üÐÂ{\ttfamily hdlist}£¬ÕâÔÚÉÔºòµÄ \ref{sec-new-hdlist} {(²úÉúhdlistÎÄ¼þ)}²¿·ÖÖÐ½«Òª½éÉÜ¡£

{\ttfamily instimage} Ä¿Â¼°üº¬ÁËÒ»¸ö»ù±¾µÄÎÄ¼þÏµÍ³£¬ÆäÖÐ°üÀ¨ÁË°²×°¹ý³ÌÖÐËùÐèÒªµÄÒ»Ð©³ÌÐòºÍ¹²Ïí¿â¡£




\subsection{"¸üÐÂ"Ä¿Â¼}



{\ttfamily /pub/redhat/updates} Ä¿Â¼°üÀ¨ÁË×Ô´Ó°æ±¾3.0.3Ö®ºóËùÓÐµÄRedHat·¢ÐÐ°ìµÄ¸üÐÂ¡£ÕâÊÇÓÃÀ´ÕÒµ½ÒòÎª¸÷ÖÖÔ­Òò±»¸üÐÂµÄÈí¼þ°üµÄËùÔÚ¡£ÄãÓ¦µ±ÌØ±ð×¢Òâ°²È«·½ÃæµÄ¸üÐÂ¡£ÎÞÂÛºÎÊ±ÓÐÁËÒ»¸ö²¹¶¡£¬ÔÚRedHat's errataÒ³ÖÐ×Ü¿ÉÒÔÕÒµ½¡£ÔÚ{\ttfamily updates} Ä¿Â¼ÖÐ×îÖØÒªµÄÎÄ¼þÓÐ£º



\begin{tscreen}
\begin{verbatim}
 
drwxrwxr-x   8 ftpuser  ftpusers      8192 Aug 18 08:05 5.1/
drwxrwxr-x   9 ftpuser  ftpusers      8192 Sep 18 08:07 5.2/
drwxrwxr-x   9 ftpuser  ftpusers      8192 Sep 18 08:07 6.0/
lrwxrwxrwx   1 ftpuser  ftpusers         3 Aug 25 13:14 current -> 6.0/
\end{verbatim}
\end{tscreen}




Ã¿Ò»¸öÄ¿Â¼µÄ½á¹¹¶¼ÀàËÆÓÚÔÚ\ref{sec-top-level} {(¶¥¼¶Ä¿Â¼)}ËùÃèÊöµÄÒ»Ñù¡£




\section{RPM°ü\label{sec-rpm}}



Red Hat·¢ÐÐ°æ±¾µÄÖ÷Òª²¿·Ö°üÀ¨ÁËÒ»Ì×RPM (Redhat Package Manager)°ü¡£Ò»¸öµäÐÍµÄ°üÀ¨¶þ½øÖÆ¿ÉÖ´ÐÐÎÄ¼þÒÔ¼°Ïà¹ØµÄÅäÖÃÎÄ¼þºÍÎÄµµ¡£{\ttfamily \nameurl{http://www.rpm.org}{rpm}}³ÌÐòÊÇÒ»¸öÇ¿´óµÄ°ü¹ÜÀíÆ÷£¬Ëü¿É±»ÓÃ×÷°²×°¡¢²éÑ¯¡¢Ð£Ñé¡¢¸üÐÂ¡¢É¾³ýÒÔ¼°½¨Á¢ÒÔRPM¸ñÊ½µÄÈí¼þ°ü¡£{\ttfamily Rpm} ·½±ãµØÎ¬»¤ÁËÒ»¸öËùÓÐ±»°²×°µÄÈí¼þ°üµÄÊý¾Ý¿â£¬Òò´Ë±»°²×°µÄÈí¼þµÄÐÅÏ¢¿ÉÒÔËæÊ±±»»ñÈ¡¡£

·¢ÐÐ°æ±¾ÖÐµÄ¶þ½øÖÆRPMÎÄ¼þÔÚÏµÍ³ÔËÐÐÆä·¢ÐÐ°æ±¾±¾ÉíµÄÊ±ºò±»½¨Á¢¡£ÕâÒ»µãºÜÖØÒª£¬ÒòÎª´ó¶àÊýµÄ°üÄÚµÄ³ÌÐòÒÀÀµÓÚ¹²Ïí¿â¡£´ÓRedHat version 5.0¿ªÊ¼£¬GNU±ê×¼µÄC¿â°æ±¾2£¨´¿64Î»£©¾Í¿ªÊ¼±»Ê¹ÓÃÁË¡£Õâ¸ö°æ±¾µÄ¿âÍ¨³£±»³ÆÎªtt/glibc/ »òÕßÔÚLinuxÖÐ£ºtt/libc 6/¡£ËùÓÐµÄÔÚ·¢ÐÐ°æ±¾ÖÐµÄ¿ÉÖ´ÐÐÎÄ¼þÓëÕâ¸ö¿âÏàÁ´½Ó¡£Èç¹ûÄãÊÔÍ¼´ÓÒ»¸ö²»Í¬µÄ·¢ÐÐ°æ±¾ÖÐ°²×°¶þ½øÖÆÎÄ¼þ£¬ËûÃÇºÜ¿ÉÄÜ²»ÄÜ¹¤×÷£¬³ý·ÇÄãÎªÁËÏòºó¼æÈÝÐÔ°²×°ÁËlibc5°ü¡£

RPM°üµÄÃû×Ö°üÀ¨ÁËºó×º.{\itshape arch\/}.{\ttfamily rpm}£¬ÆäÖÐ{\itshape arch\/} ÊÇÒ»ÖÖ½á¹¹£¬¶ÔÓÚIntelÆ½Ì¨µÄ¶þ½øÖÆÎÄ¼þÀ´Ëµ°üº¬ÓÐ{\ttfamily i386} µÄÖµ¡£Äã°²×°µÄ°ü±ØÐë·ûºÏ»úÆ÷ÖÐ¹²Ïí¿âµÄ°æ±¾¡£{\ttfamily \nameurl{http://www.rpm.org}{rpm}} ÔÚÈ·ÈÏÇé¿öÈ·ÊµÈç´ËµÄÊ±ºòÍ¨³£¹¤×ßµÃºÜºÃ¡£È»¶ø£¬Í¨¹ýÊ¹ÓÃRedhat°²×°Æô¶¯´ÅÅÌ£¬¿ÉÒÔÈ·ÈÏÕýÈ·µÄRPM°üÖ®¼¯ºÏ±»°²×°ÔÚ»úÆ÷ÉÏ¡£

Èç¹ûÄã·¢ÏÖÒ»¸öRPM°üÃ»ÓÐÔÚ°²×°¹¤³ÌÖÐ±»°²×°µÄÄãµÄÏµÍ³ÖÐ£¬²»Òª¾øÍû£¡ÔÚÈÎºÎÊ±ºò£¨×÷Îª¸ùÓÃ»§£©£¬Äã¶¼¿ÉÒÔ°²×°RPM°ü£¬ÀýÈç£º

\begin{tscreen}
\begin{verbatim}
rpm --install  WindowMaker-0.18-1b.i386.rpm
\end{verbatim}
\end{tscreen}
 

ÄãÉõÖÁ¿ÉÒÔÖ±½Ó´ÓInternetÖ±½Ó°²×°£¬Ö»ÒªÄãÖªµÀÒ»¸öRPM°üµÄURL£º

\begin{tscreen}
\begin{verbatim}
rpm --install ftp://rufus.w3.org/redhat-contrib/noarch/mirror-2.9-2.noarch.rpm
\end{verbatim}
\end{tscreen}
 



RPM°üµÄÁíÍâÒ»¸ö°æ±¾°üÀ¨ÁË½¨Á¢¶þ»úÖÆÎÄ¼þµÄÔ´´úÂë¡£ÕâÐ©°üÓÐºó×ºÈç£º {\ttfamily .src.rpm} £¬²¢ÇÒ´æ·ÅÔÚtt/SRPMS/ µÄÄ¿Â¼ÖÐ¡£ÕâÐ©°üÔÚ°²×°CDÖÐ²¿ÊÇ±ØÒªµÄ¡£¶øÇÒÊÂÊµÉÏ£¬ÔÚÒ»¸ö74·ÖÖÓµÄCDÖÐÒ¶Ã»ÓÐ×ã¹»µÄ¿Õ¼äÀ´´æ·ÅÕâÐ©ÎÄ¼þ¡£µ±È»£¬Äã¿ÉÒÔÖÆ×÷Ò»¸öµ¥¶ÀµÄ°üº¬SRPMµÄCD¡£






\section{»ñÈ¡ÄãµÄ·¢ÐÐ°æ±¾µÄ±¾µØ¿½±´}





ÄãÐèÒª¿ÉÒÔÍ¨¹ýÅäÓÐÒ»¸öCD¿ÌÂ¼»úµÄ¼ÆËã»ú¿ÉÒÔ¶ÁÐ´µÄµÄÒ»·Ý´æ·ÅÔÚ¿ÉÐ´µÄ´ÅÅÌÖÐ·¢ÐÐ°æ±¾µÄ¿½±´¡£Èç¹ûÄãÏë»ìºÏ×îÐÂµÄ¸üÐÂ°æ±¾£¬ÄÇÃ´Õâ¸öÄ¿Â¼»¹ÐèÒª¿ÉÒÔ±»Ò»¸öLinux»úÆ÷ÉÏ»ñÈ¡£¬Õâ¿ÉÒÔÊÇÒ»¸ö±¾µØ´ÅÅÌ£¬ÁíÍâµÄ»úÆ÷ÉÏÒ»¸öNFS×°ÔØµÄ´ÅÅÌ£¬»òÕßÊÇJAZÅÌ¡£

Äã¿ÉÒÔ´ÓÒ»¸öRedhat CD¿½±´·¢ÐÐ°æ±¾£¬»òÕß´Óftp»ñÈ¡¡£Èç¹ûÄãÑ¡ÔñÊ¹ÓÃftpµÄ»°£¬ÄÇÃ´»ñÈ¡ÕýÈ·µÄ·¢ÐÐ°æ±¾µÄ¿½±´µÄ×îºÃ°ì·¨ÊÇÊ¹ÓÃ{\ttfamily mirror} °ü

MirrorÊÇÒ»¸ö¸´ÔÓµÄÓÃÓÚ±È½ÏÔ¶¶ËÕ¾µãÉÏºÍ±¾µØÄ¿Â¼ÖÐµÄÄÚÈÝ¡£ËüÊ¹ÓÃftpÓÃÓÚ»ñÈ¡Ô¶¶Ë¶ø·Ç±¾µØÕ¾µãµÄÎÄ¼þ£¬²¢ÇÒÉ¾³ýÄÇÐ©²»ÔÚÔ­¶ÎÕ¾µãÉÏµÄ´æÔÚÓÚ±¾µØÕ¾µãµÄÎÄ¼þ¡£mirror°ü¿ÉÒÔÒÔÒ»¸öRPM°ü´Ó\nameurl{http://rufus.w3.org/linux/RPM/mirror.html}{rufus.w3.org}¡£»ñÈ¡£¬»òÕß´ÓÆäËûµÄÒ»Ð©Õ¾µã»ñÈ¡¡£

ÖÆ×÷ÄãµÄmirrorÅäÖÃÎÄ¼þµÄ±¾µØ¿½±´ {\ttfamily mirror.redhat}£¬Í¬Ê±ÔÚÎÄ¼þµÄ¶¥²¿±à¼­Ïà¹ØµÄÒ»Ð©ÄÚÈÝ¡£ÔÚdefault²¿·ÖÖ®ºó£¬¶¨ÒåÁËÕâÐ©°ü£º

\begin{tscreen}
\begin{verbatim}
 
package=updates
        site=ftp.sunsite.auc.dk
        exclude_patt=(alpha/|sparc/|SRPMS/)
        remote_dir=/disk1/ftp.redhat.com/pub/redhat/updates/6.0
        local_dir=/jaz/updates/6.0

package=dist
        site=ftp.sunsite.auc.dk
        exclude_patt=(alpha/|sparc/|SRPMS/)
        remote_dir=/disk1/ftp.redhat.com/pub/redhat/redhat-6.0
        local_dir=/jaz/redhat-6.0
\end{verbatim}
\end{tscreen}


ÒÔÏÂµÄÃüÁî½«ÒªÏÂÔØÕû¸öRedHatÄ¿Â¼Ê÷µ½ÄãµÄ±¾µØ´ÅÅÌÖ®ÖÐ¡£{\itshape *ÇëÉ÷Ë¼£¡*\/} £¬ÔÚÄã×öÕâ¸ö¹¤×÷Ö®Ç°£¬ÄãÒª´ó¸ÅÏÂ´«´óÔ¼500MBµÄÊý¾Ý¡£

\begin{tscreen}
\begin{verbatim}
 
mirror -pdist mirror.redhat 
\end{verbatim}
\end{tscreen}


Õâ½«¾µÏñRed Hat FTPµ½ÄãµÄ±¾µØ´ÅÅÌÖ®ÖÐ¡£Ò»¸öRed Hat·¢ÐÐ°æ±¾µÄÄÚÈÝ²»»áÔÚ·¢ÐÐÖ®ÖÐ¸Ä±ä¡£Òò´ËÄãÖ»ÐèÒªÏÖÔÚÕâ¸ö°ü£º {\itshape Ö»ÓÐÒ»´Î£¡\/}¡£ËùÓÐ¶Ô·¢ÐÐ°æ±¾µÄ¸Ä±ä¶¼ÔÚ {\ttfamily updates}Ä¿Â¼ÖÐ¡£ÕâÑù£¬Èç¹ûÄãÏëÒª±£³ÖÒ»¸öËæÊ±¸üÐÂµÄRed Hat·¢ÐÐ°æ±¾µÄ¸üÐÂ°æ£¬ÄãÖ»ÐèÒª±£³Ö {\ttfamily updates} Ä¿Â¼Î»×îÐÂµÄ¾Í¿ÉÒÔÁË¡£Õâ¸ö¹¤×÷Ê¹ÓÃÃüÁî£º

\begin{tscreen}
\begin{verbatim}
 
mirror -pupdates mirror.redhat 
\end{verbatim}
\end{tscreen}




Äã¿ÉÒÔ¶¨ÆÚµØÀ´×öÕâ¸ö¹¤×÷£¬±ÈÈçËµ£¬Ã¿ÐÇÆÚÒ»´Î£¬Í¨¹ýÒ»¸öcron½Å±¾¡£Õâ¸öRedHat·¢ÐÐ°æ±¾ÔÚÈ«ÊÀ½çµÄ´ó¶àÊýµÄFTP·þÎñÆ÷ÉÏ¶¼ÊÇ¿ÉÒÔ¿ÉÒÔ×öµ½µÄ£¬ËûÃÇÃ¿Ìì´ÓÖ÷Õ¾µã£º\nameurl{ftp://ftp.redhat.com/pub}{}½øÐÐ¸üÐÂ¡£ÄãÓ¦µ±Ñ¡ÔñÒ»¸ö¿¿½üÄãµÄFTPÕ¾µã¡£Çë²Î¿¼\nameurl{http://www.redhat.com/support/docs/rhl/RedHat-FAQ/RedHat-FAQ-12.html#ss12.1}{RedHat FAQ}¡£




\section{»ìºÏ¸üÐÂ\label{sec-updates}}



ÎªÁË»ìºÏ¸üÐÂ£¬ÄãÐèÒªÓÉÒ»¸ö´ÓÒ»Ì¨Linux»úÆ÷ÉÏÓµÓÐ¶Ô·¢ÐÐÄ¿Â¼µÄÐ´È¨ÏÞ£¬ ÒÔ¼°°²×°Ò»¸ö\nameurl{http://www.rpm.org}{rpm} ¡£ÕâÀïÐèÒª½øÐÐÈý²½¹¤×÷¡£

\begin{enumerate}
\item ¸ü¸ÄÎÄ¼þ±£»¤Ä£Ê½
\item ¸ü»»¸üÐÂµÄRPM°ü
\item ²úÉúhdlistÎÄ¼þ
\end{enumerate}


If you maintain a mirror of the {\ttfamily updates} directory, you can at any time
produce a CD including the current updates by repeating these steps.

Èç¹ûÄãÔÚ {\ttfamily updates} Ä¿Â¼Î¬»¤Ò»¸ö¾µÏóµÄ»°£¬ÄÇÃ´Äã¿ÉÒÔÔÚÈÎºÎÊ±ºòÍ¨¹ýÖØ¸´ÕâÐ©²½ÖèÖÆ×÷CD¡£




\subsection{¸ü¸ÄÎÄ¼þ±£»¤Ä£Ê½}





ÔÚ°²×°¹ý³ÌÖÐ£¬ÓÐÐ©ÎÄ¼þÖ±½Ó´Ó´ÓCDÔËÐÐ¡£µ«ÊÇ²»ÐÒµÄÊÇ£¬FTP³ÌÐò²¢²»ÊÇ×ÜÊÇ±£Áô±»¸´ÖÆµÄÎÄ¼þºÍÄ¿Â¼µÄ±£»¤Ä£Ê½¡£ÕâÑù£¬¾ÍÓÐ±ØÒªÈ·¶¨³ÌÐòÊÇ·ñÓÐ³ÌÐò¡¢SHELL½Å±¾ºÍ¹²Ïí¿âÖ´ÐÐÈ¨ÏÞ£¬ÕâÐèÒªÔÚÄ¿Â¼±»ÉÕÖÆµ½CDÖ®Ç°Íê³É¡£Í¨¹ýÔËÐÐÔÚ·¢ÐÐ°æµÄ±¾µØ¿½±´µÄ {\ttfamily updatePerm} ½Å±¾¿ÉÒÔ×öµ½ÕâÒ»µã£º

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
#!/bin/bash

RHVERSION=6.0

LIST=/tmp/er3hd3w25
CDDIR=/jaz/redhat-${RHVERSION}

# Find all directories, and make sure they have +x permission
find $CDDIR -type d -exec chmod -c 755 {} \;

# Find all files that are executables, shell or perl scripts
find $CDDIR -type f | file -f - | grep -v RPM \
   | egrep -i 'executable|perl|bourne|shell' | cut -f1 -d: > $LIST

# Find shared libraries
find $CDDIR -name \*.so >> $LIST

# Make them executable
while read file
do
   if [ ! -x $file ] ; then
      chmod -c 755 $file
   fi
done < $LIST

/bin/rm $LIST

exit 0
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsection{¸ü»»¸üÐÂµÄRPM°ü}



ÏÂÃæµÄÕâ¸ö½Å±¾½Ð×ö {\ttfamily updateCD} £¬Æä¹¦ÄÜÎª´Ó¸üÐÂÄ¿Â¼ÖÐ¸´ÖÆËùÓÐµÄÎÄ¼þµ½ RPMS Ä¿Â¼¡£Õâ¸ö½Å±¾ÓÃÁËÒ»Ð©ÇÉÃîµÄRPM¼¼ÇÉÀ´È·¶¨ÔÚUPDATESÄ¿Â¼ÏÂµÄÄÄ¸ö°ü¸üÐÂ¡£¾ÍµÄ°ü±»ÒÆµ½ {\ttfamily \$$\{$OLD$\}$} Ä¿Â¼ÖÐ¡£

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
#! /bin/bash
# This script updates rpms in a RedHat distribution found in $RPMDIR.
# The old rpms will be placed in $OLDDIR.
# The new rpms should be located in $UPDDIR.
# The new images are in $IMGDIR
# The images to be updated are in $OMGDIR 
# The architechture is $ARCH.

RHVERSION=6.0
ARCH=i386

CDDIR=/jaz/redhat-${RHVERSION}
RPMDIR=${CDDIR}/${ARCH}/RedHat/RPMS
UPDDIR=${CDDIR}/updates/${ARCH}
IMGDIR=${CDDIR}/updates/images/${ARCH}
OMGDIR=${CDDIR}/${ARCH}/images
OLDDIR=${CDDIR}/old

if [ ! -d $OLDDIR ] ; then
   echo making directory $OLDDIR
   mkdir $OLDDIR
fi

allow_null_glob_expansion=1

for rpm in ${UPDDIR}/*.rpm ; do
  NAME=`rpm --queryformat "%{NAME}" -qp $rpm`
  unset OLDNAME
  for oldrpm in ${RPMDIR}/${NAME}*.rpm ; do
    if [ `rpm --queryformat "%{NAME}" -qp $oldrpm` = "$NAME" ]; then
      OLDNAME=$oldrpm;
      break
    fi
  done
  if [ -z "$OLDNAME" ]; then 
    echo $NAME is new
    cp -pv $rpm $RPMDIR
  else
    if [ `basename $rpm` != `basename $OLDNAME` ]; then
      mv $OLDNAME $OLDDIR
      cp -pv $rpm $RPMDIR
    fi
  fi
done


# Copy new boot image files to the right place...
for newfile in ${IMGDIR}/* ; do
  file=${OMGDIR}/$(basename ${newfile})
  if [ $newfile -nt $file ] ; then 
     cp -pv $newfile $file
  fi
done

exit 0
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}







\subsubsection{RedHat 6.0µÄÖØÒª×¢ÒâÊÂÏî£º}



Ò»Ð©RPM°ü£¬ÌØ±ðÊÇkernelºÍkernel-smp°ü£¬ÐèÒªÎÄ¼þÃûµ«²»ÊÇÔÚ°üÃûÖÐ°üÀ¨ÎÄ¼þµÄÆ½Ì¨Ãû³Æ£¬ÀýÈç£¬¡°kernel¡±°üÐèÒªÈçÏÂËùÊ¾£º

\begin{tscreen}
\begin{verbatim}
 
kernel-2.2.5-22.i386.rpm
kernel-2.2.5-22.i586.rpm
kernel-2.2.5-22.i686.rpm
\end{verbatim}
\end{tscreen}
 

µ«ÊÇ¶ÔÓÚËùÓÐÕâÈý¸öÖ´ÐÐrpm -qp ·µ»ØµÄ¶¼ÊÇ"kernel"×÷Îª°üÃû¡£

ÈçÄãËù¿´µ½£¬ÕâÖÖÇé¿ö¡°ÃÔ»ó¡±ÁË \url{updateCD} ½Å±¾£¬Æä½á¹ûÊÇÖ»ÓÐ×îºóÒ»¸öµÃµ½ÕýÈ·µÄ¿½±´¡£ÏÈÇ°µÄÁ½¸öËäÈ»±»¿½±´ÁË£¬µ«ÊÇ±»ÒÆµ½ÁË \$OLD Ä¿Â¼ÖÐ¡£ÁíÍâ£¬RedHat»¹Ó¦µ±¸øÓèÆä²»Í¬µÄÃû³Æ¡£ÏÖÔÚ×îºÃµÄ½â¾ö°ì·¨¾ÍÊÇÔÚÔËÐÐÁË\url{updateCD} Ö®ºóÊÖ¹¤µØÒÆ¶¯ÕâÐ©°ü¡££¨¸ÐÐ»Kyle B. Ferrio kyle@U.Arizona.EDU)

Joshua Sarro $<$mthed@shore.net$>$ Ìá¹©ÁËÒ»¸öPERL½Å±¾½Ð×ö\url{updateMirror.pl}¿ÉÒÔÓÃÀ´´¦ÀíÕâÖÖÇé¿ö¡£Äã¿ÉÒÔ´Ó\nameurl{http://imsb.au.dk/~mok/linux/doc/updateMirror.pl}{}»ñµÃÕâ¸ö½Å±¾¡£






\subsection{´´½¨Ò»¸öÐÂµÄhdlistÎÄ¼þ\label{sec-new-hdlist}}





µ±´ÓCD°²×°µÄÊ±ºò£¬CDÖÐµÄ°²×°³ÌÐòÐèÒªÒÀ¿¿ÎÄ¼þ{\ttfamily \url{RedHat/base/hdlist}} À´ÃèÊöÄÄ¸ö°ü¿ÉÒÔÔÚCDÖÐ»ñµÃ¡£{\ttfamily hdlist} ÎÄ¼þ¿ÉÒÔÍ¨¹ý³ÌÐò{\ttfamily \url{misc/src/install/genhdlist}}Ëù´´½¨¡£Õâ¸ö³ÌÐò±ØÐëÓÐÒÔ·¢ÐÐ±¾µÄ¸ùÄ¿Â¼µ½ÆäµÄ¾ø¶ÔÂ·¾¶×÷ÎªÎ¨Ò»²ÎÊýÔËÐÐ¡£ÒÔÏÂÊÇ{\ttfamily updateHdlist} £¬ÓÃÓÚµ÷ÓÃÕâ¸ö³ÌÐò¡£

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
#!/bin/bash

RHVERSION=6.0
ARCH=i386

echo generating hdlist...
CDDIR=/jaz/redhat-${RHVERSION}
GENHDDIR=${CDDIR}/${ARCH}/misc/src/install

chmod u+x ${GENHDDIR}/genhdlist
chmod 644 ${CDDIR}/${ARCH}/RedHat/base/hdlist
${GENHDDIR}/genhdlist ${CDDIR}/${ARCH} || echo "*** GENHDLIST FAILED ***"

exit 0
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}




×¢Òâ£ºµ±ÔÚ{\ttfamily RedHat/RPMS}»ìºÏÁË¸üÐÂÖ®ºó£¬ÄãµÄ·¢ÐÐ°æµÄ¿½±´²»ÔÙÊÇÒ»¸öRED HAT·¢ÐÐ°æÕ¾µãµÄ¾µÏó¡£ÊÂÊµÉÏ£¬Ëü¸üÐÂ£¡ÕâÑù£¬Èç¹ûÄãÊÔÍ¼¾µÏóÕâ¸ö·¢ÐÐ°æ£¬ÒÑ¾­±»¸üÐÂµÄ¾É°æ±¾µÄRPM½«±»ÔÙÒ»´ÎÏÂÔØ£¬¶ø¸üÐÂµÄ°æ±¾½«±»É¾³ý¡£








\subsubsection{RedHat 5.2µÄÖØÒª×¢ÒâÊÂÏî}





Èç¹ûÓÃRedHat version 5.2 »òÕß¸üÔçµÄ°æ±¾·¢ÐÐ£¬Èç¹ûÔÚ {\ttfamily RedHat/RPMS} °üº¬ÁË{\itshape ·Ç\/} RPMÎÄ¼þµÄ»°£¬
{\ttfamily genhdlist}½«»á±ÀÀ££¡Õâ»áµ¼ÖÂÒ»Ð©ÎÊÌâ¡£ÒòÎªÔÚ5.2µÄ°æ±¾ÖÐ£¬ÔÚ {\ttfamily RedHat/RPMS} ÖÐÓÐÒ»Ð©·ÇRPMÎÄ¼þ½Ð×ö{\ttfamily ls-lR}ÒÔ¼°{\ttfamily ls-lR.gz} £¬ÕâÑù£¬Äã±ØÐë´ÓÕâ¸öÄ¿Â¼ÖÐÒÆ³ýËùÓÐµÄ·ÇRPMÎÄ¼þ¡£»òÕß£¬Äã¿ÉÒÔÊ¹ÓÃÏÂÁÐµÄÒ»¸ö²¹¶¡ÓÚ {\ttfamily \url{misc/src/install/genhdlist.c}} £¬È»ºó´ÓÐÂ±àÒë¡£Õâ¸ö²¹¶¡¿ÉÒÔËÆµÃ{\ttfamily genhdlist} ºöÂÔÈÎºÎ·ÇRPMµÄÎÄ¼þ¡£

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
*** genhdlist.c.orig    Fri Nov 27 12:08:13 1998
--- genhdlist.c Fri Nov 27 12:08:20 1998
***************
*** 12,23 ****
--- 12,26 ----
  
  #define FILENAME_TAG 1000000
  
+ /* Not used apparently...
+ 
  int tags[] =  { RPMTAG_NAME, RPMTAG_VERSION, RPMTAG_RELEASE, RPMTAG_SERIAL,
                RPMTAG_FILENAMES, RPMTAG_FILESIZES, RPMTAG_GROUP,
                RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION,
                RPMTAG_DESCRIPTION, RPMTAG_SUMMARY, RPMTAG_PROVIDES,
                RPMTAG_SIZE, RPMTAG_OBSOLETES };
  int numTags = sizeof(tags) / sizeof(int);
+ */
  
  int main(int argc, char ** argv) {
      char buf[300];
***************
*** 26,34 ****
--- 29,39 ----
      struct dirent * ent;
      int fd, rc, isSource;
      Header h;
+     /* not used 
      int count, type;
      int i;
      void * ptr;
+     */
  
      if (argc != 2) {
        fprintf(stderr, "usage: genhdlist <dir>\n");
***************
*** 74,79 ****
--- 79,85 ----
  
            rc = rpmReadPackageHeader(fd, &h, &isSource, NULL, NULL);
  
+           if (!rc) {
            headerRemoveEntry(h, RPMTAG_POSTIN);
            headerRemoveEntry(h, RPMTAG_POSTUN);
            headerRemoveEntry(h, RPMTAG_PREIN);
***************
*** 110,115 ****
--- 116,122 ----
            headerWrite(outfd, h, HEADER_MAGIC_YES);
            headerFree(h);
            close(fd);
+           }
        }
  
        errno = 0;
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}





\subsection{\url{comps} ÎÄ¼þ\label{sec-comps}}





\url{comps} ÎÄ¼þ¶¨ÒåÁË°üÈçºÎÔÚ°²×°µÄÊ±ºòÀ¦°óÔÚÒ»Æð£¬ÔÚRED HAT·¢ÐÐ°æÖÐ£¬¸ù¾ÝËûÃÇÌá¹©µÄ¹¦ÄÜ£¬ÀýÈç£º

\begin{itemize}
\item Printer Support
\item X Window System
\item GNOME
\item KDE
\item Mail/WWW/News Tools
\item ...
\item Kernel Development
\item Extra Documentation
\end{itemize}


ÓÐÊ±ºòÔÚ°²×°µÄ¹ý³ÌÖÐ£¬ÓÃ»§±»ÌáÊ¾"Components to install"£¬ÓÐµÄ°ü±»Ô¤ÏÈÑ¡Ôñ£¬¶øÓÐµÄ°üÔòÃ»ÓÐ£¬ÔÚ×é¼þÁÐ±íÖÐµÄ×îºóÒ»¸öÏîÄ¿½Ð×ö¡°everything¡±¡£¸ù¾ÝRED HATµÄÎÈµ±£¬Ñ¡ÔñËùÓÐµÄµÄ°ü´ó¸ÅÐèÒª½Ó½ü1GµÄ×ÔÓÉ´ÅÅÌ¿Õ¼ä¡£



ÔÚ¶Ô»°¿òÖÐ£¬»¹ÓÐÒ»¸öÑ¡ÏîÔÊÐíÓÃ»§È·ÇÐµØÑ¡ÔñÐèÒª°²×°µÄ°ü¡£ÊÖ¹¤¶¨ÖÆ°²×°»òÕßÔÚ×é¼þÁÐ±íÖÐÑ¡Ôñ¡°everyting¡±ÊÇÄã³ýÁËÐÞ¸Ä{\ttfamily \url{RedHat/base/comps}} fileÖ®ÍâÎ¨Ò»¿ÉÒÔÊ¹ÄãµÄ°ü±»°²×°µÄ°ì·¨¡£



{\ttfamily \url{comps}} ÎÄ¼þµÄ¸ñÊ½ÏÖÔÚÓÃÒ»¸öÍ·ÃèÊö×é¼þµÄ¸ñÊ½£¬È»ºóÊÇÒ»¸ö¿ÕÐÐ¡£

\begin{tscreen}
\begin{verbatim}
0.1
<empty line>
\end{verbatim}
\end{tscreen}


ÔÚÕâ¸öÖ®ºó£¬×é¼þ±»ÁÐ³ö£¬ÓÃ¿ÕÐÐ·ÖÀë¡£

\begin{tscreen}
\begin{verbatim}
<component 1>
<empty line>
<component 2>
<empty line>
.
.
<component n>
<empty line>
EOF
\end{verbatim}
\end{tscreen}


Ã¿¸ö×é¼þÓÐÈçÏÂµÄ¶¨Òå£º

\begin{tscreen}
\begin{verbatim}
(0|1) (--hide)? <name>
<RPM 1>
<RPM 2>
...
<RPM n>
end
\end{verbatim}
\end{tscreen}


ÔÚÃ¿¸ö×é¼þµÄÃû³Æ£¬¸ø³ö0»òÕß1¡£1±íÊ¾Õâ¸ö×é¼þ±»Ä¬ÈÏµÄÑ¡È¡£¬¶ø0ÔòÏà·´¡£Ñ¡Ïî"--hide" ±íÊ¾Äã¿´²»µ½¸ÃÌõÄ¿£¬³ý·ÇÄãÑ¡Ôñ¡°×¨¼Ò(expert)¡±°²×°¡£µÚÒ»¸ö×é¼þ±»³ÆÎª¡°BASE¡±£¬ÕâÊÇÒ»¸öÌØ±ðµÄ×é¼þ¡£Òò´ËËü{\itshape ±ØÐë\/} ¶øÇÒ²»ÔÚ¶Ô»°¿òÀï³öÏÖ¡££¨ÕâÒâÎ¶ÖøÄã²»ÄÜÈ¥³õÕâ¸ö»ù±¾µÄ°²×°£©¡£



È»ºó¸úÖøµÄÊÇÊôÓÚ¸Ã×é¼þµÄRPM°üµÄÁÐ±í£¬×¢Òâ{\itshape ÔÚRPMÎÄ¼þÖÐ\/} ´æ·ÅµÄÊÇ°üÃû£¬¶ø{\itshape ²»ÊÇ\/}°üµÄÎÄ¼þÃûµÄÈÎºÎÒ»¸ö²¿·Ö£¨¾¡¹Ü¾­³£ÊÇÒ»ÑùµÄ£©



Í¨¹ý½«ÄãµÄ°ü¼ÓÈëµ½ {\ttfamily \url{comps}}ÎÄ¼þÖÐ£¬Äã¿ÉÒÔ¶¨ÖÆÄã×Ô¼ºµÄ·¢ÐÐ°æ±¾£¬Í¬Ê±È·ÈÏÄãµÄ°ü±»Ä¬ÈÏµØ°²×°¡£ÓÐÒ»¼þÐèÒª×¢ÒâµÄÊÂÇéÊÇÄãµÄ°üµÄÏà»¥ÒÀÀµÐÔ¡£µ«ÊÇÔÚÕâÀï£¬ÄãµÄ¾ÍÊÇÄãµÄ£¡:-)¡£ÓÐÒ»¸ö¾¯¸æ£ºµ±ÐÄ²»ÒªÌí¼Ó»òÕßÒÆ³ýÎÄ¼þÖÐµÄ¿Õ¸ñ¡£¼ì²éÒÑ´æÔÚµÄ{\ttfamily \url{comps}} ÎÄ¼þ¡££¨ÖÆ×÷Ô­ÎÄ¼þµÄÒ»¸ö¿½±´£©£¬È»ºó¿´ËüÊÇÈçºÎ±»×ö³ÉµÄ¡££¨»òÕß¼ì²é{\ttfamily \url{i386/misc/src/install/pkgs.c}} ²é¿´ÎÄ¼þÊÇÈçºÎ±»·Ö½âµÄÏ¸½Ú£©






\section{×îºó: ÉÕÖÆCD}





ÎÒÃÇ¼ÙÉèÔÚÄãµÄÏµÍ³ÖÐÓÐÒ»¸ö¿ÉÒÔ¹¤×÷µÄCD¿ÌÂ¼»ú²¢ÇÒÄãÖªµÀÈçºÎÊ¹ÓÃËü¡£ÎÒÃÇÔÚÕâÀï½²ÊöÒ»Ð©¹ØÓÚÉÕÖÆCDµÄÏ¸½Ú¡£Èç¹ûÄãÔÚÒ»¸öLINUXÏµÍ³ÖÐÉÕÖÆÄãµÄCD£¬Äã¿ÉÒÔ°²×°ÓÅÐãµÄ\nameurl{http://www.fh-muenchen.de/rz/xcdroast}{XCDroast}°ü¡£ÔÚ
XCDRoast£¬´ò¿ª Rock RidgeÀ©Õ¹£¬ÒÔ¼°TRANS.TBL ÎÄ¼þµÄÖÆ×÷¡£

È·ÈÏCDµÄ{\itshape top\/} Ä¿Â¼°üÀ¨ÖÁÉÙÈçÏÂµÄÄ¿Â¼ºÍÎÄ¼þ

\begin{tscreen}
\begin{verbatim}
 
COPYING      RPM-PGP-KEY README       RedHat/
\end{verbatim}
\end{tscreen}
 

ÒÔÏÂµÄÄ¿Â¼¿ÉÒÔ¸ù¾ÝÇé¿ö¶øÌí¼Ó

\begin{tscreen}
\begin{verbatim}
 
doc/         gnome/      misc/        dosutils/    images/
\end{verbatim}
\end{tscreen}
 




\subsection{ÖÆ×÷¿É×ÔÐÐÆô¶¯µÄCD}



(ÕâÒ»²¿·ÖÐèÒª¸ÐÐ»Dawn Endico dawn@math.wayne.edu). ¼ÈÈ»XCDroast²»Ö§³ÖÖÆ×÷¿É×ÔÐÐÆô¶¯µÄ´ÅÅÌ£¬ÄãÐèÒªÒ»Ð©ÆäËûµÄ¹¤¾ß¡£ÀýÈç {\ttfamily \nameurl{ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/}{mkisofs}}ºÍ{\ttfamily \nameurl{http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html}{cdrecord}}£¬Äã¿ÉÒÔ´Ó\nameurl{ftp://contrib.redhat.com}{}»ñµÃÕâÐ©Èí¼þµÄRPM°üµÄ×îÐÂ°æ±¾¡£

ÄãÐèÒªÖÆ×÷±»¿ÌÐ´ÔÚCDÉÏµÄÒ»¸öÓ³ÏñÎÄ¼þ¡£Õâ¸öÎÄ¼þ´óÔ¼ÓÐ500M»òÕß¸ü¶à¡£Òò´ËÇëÈ·ÈÏÄãÓÐ×ã¹»¶àµÄ×ÔÓÉ¿Õ¼ä²¢ÇÒ£¬Èç¹û±ØÒªµÄ»°£¬ÔÚÒÔÏÂµÄÃüÁîÖÐÇÐ»»µ½{\ttfamily redhat.img} Ä¿Â¼ÖÐ¡£Äã¿ÉÄÜÐèÒª×÷ÎªÒ»¸ö¸ùÓµ»¤Ê¹ÓÃ{\ttfamily mount} »òÕß{\ttfamily cdrecord}¡£




\subsubsection{ÖÆ×÷´ÅÅÌÓ³Ïñ}



ÇÐ»»Ä¿Â¼ÖÁÄãµÄ¾µÏó£¬Ò²ÊÇÄãµÄCDµÄ¸ùÄ¿Â¼¡£ÀýÈçredhat-6.0/i386



\begin{tscreen}
\begin{verbatim}
 
mkisofs -v -R -T -J -V "Red Hat 6.0" -b images/boot.img -c boot.cat -o /tmp/redhat.img . 
\end{verbatim}
\end{tscreen}
 



Ò»Ð©°æ±¾µÄ{\ttfamily mkisofs} Ã»ÓÐ{\ttfamily -J} Ñ¡Ïî¡£Õâ¸öÑ¡Ïî¿ÉÒÔ±»ºöÂÔ£¬ÒòÎªËüËù¶¨ÒåµÄJolietÀ©Õ¹ÎªÁËÔÚCDÔÚWINDOWSÖÐµÄ¿É¶ÁÐÔ¸üÇ¿¶ø²»±»°²×°³ÌÐòÊ¹ÓÃ¡£






\subsubsection{²âÊÔÓ³Ïñ}



will be wrong.

Èç¹ûÄã»¹²»¹»·ÅÐÄ£¬Äã¿ÉÒÔÍ¨¹ý×°ÔØµÄ·½Ê½¼ì²éÄãµÄÐÂµÄ´ÅÅÌÓ°Ïó¡£Èç¹ûÄãÍü¼Ç¸ü¸ÄÎÄ¼þµÄÐí¿É£¬»òÕßÉèÖÃrock ridgeÀ©Õ¹£¬ÄÇÃ´½«»á²úÉúÃ÷ÏÔµÄ´íÎó¡£ÒòÎªÕâÑùµÄÎÄ¼þºÍÄ¿Â¼½á¹¹½«ÊÇ´íÎóµÄ¡£

\begin{tscreen}
\begin{verbatim}
 
mount -t iso9660 -o ro,loop=/dev/loop0 /tmp/redhat.img /mnt/cdrom
\end{verbatim}
\end{tscreen}
 

µ±ÄãÍê³ÉÁËÕâ¸ö¹¤×÷Ö®ºó£¬²»ÒªÍüÁËÐ¶ÔØÖ®¡£

\begin{tscreen}
\begin{verbatim}
 
umount /mnt/cdrom 
\end{verbatim}
\end{tscreen}
 






\subsubsection{ÉÕÖÆ´ÅÅÌ}





È·ÈÏÄãÕýÈ·µØÉèÖÃÁËÄãµÄÉè±¸µÄËÙ¶È£¬Õâ¸öÃüÁîÊÇÎªÁË4XµÄCDR£¬¶øÄã¿ÉÄÜÓµÓÐµÄÊÇ1X»òÕß2XµÄÇý¶¯Æ÷¡£

\begin{tscreen}
\begin{verbatim}
 
cdrecord -v speed=4 dev=0,0 /tmp/redhat.img 
\end{verbatim}
\end{tscreen}
 






\section{´ÓCDÖÐ°²×°\label{sec-install}}





µ±´ÓÒ»¸öÐÂµÄCDÖÐ°²×°µÄÊ±ºò£¬ÄãÊ×ÏÈÐèÒªÖÆ×÷Ò»¸ö¿ÉÆô¶¯µÄ´ÅÅÌ¡£×¢Òâ£ºÊ¹ÓÃÐÂµÄ£¬MS-DOS¸ñÊ½µÄ´ÅÅÌ£¡Ê¹ÓÃÒ»¸ö¾É¡¢ÓÐÎÊÌâµÄ´ÅÅÌ¿ÉÄÜÔÚ°²×°¹ý³ÌÖÐµ¼ÖÂÎÊÌâ¡£

ÔÚÒ»¸öLINUXÏµÍ³ÖÐ£¬Äã¿ÉÒÔÍ¨¹ý{\ttfamily dd} ÃüÁîÀ´ÖÆ×÷´ÅÅÌ¡£



\begin{tscreen}
\begin{verbatim}
 
dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 bs=1440k 
\end{verbatim}
\end{tscreen}
 

ÔÚÒ»¸öÔËÐÐDOS»òÕßWINDOWS-9XµÄÏµÍ³ÖÐ£¬ÄãÐèÒªÊ¹ÓÃ{\ttfamily RAWRITE.EXE}³ÌÐò£¬¸Ã³ÌÐò¿ÉÒÔÔÚ {\ttfamily dosutils} Ä¿Â¼ÖÐÕÒµ½¡£



¹Ø±ÕÄãÏë½øÐÐ°²×°µÄ»òÕßÏµÍ³Éý¼¶µÄ¼ÆËã»ú£¬²åÈëÄãµÄÆô¶¯´ÅÅÌ»òÕßÐÂÖÆµÄÉÕÖÆµÄCD£¬È»ºóÈÃ»úÆ÷´Ó´ÅÅÌÆô¶¯¡£¹ØÓÚ°²×°¹ý³ÌµÄÏêÏ¸ÐÅÏ¢Çë¿´ÓÐ¹ØµÄÎÄµµ£¬ Installation-HOWTO »òÕßBootdisk-HOWTO £¬ÕâÐ©¶¼¿ÉÒÔÔÚ {\ttfamily doc/HOWTO} Ä¿Â¼ÖÐÕÒµ½¡£




\section{¹ØÓÚ±¾ÎÄµµ}





Õâ¸öÎÈµ±µÄ×îÐÂ°æ±¾µÄ SGML ¿ÉÒÔÔÚ of \nameurl{http://imsb.au.dk/~mok/linux/doc/RedHat-CD.sgml}{} (\nameurl{http://imsb.au.dk/~mok/linux/doc/RedHat-CD.html}{HTML version})»ñµÃ¡£



Äã¿ÉÒÔÍ¨¹ýÈçÏÂµÄÒ»Ð©´úÂëËÆµÄÄãµÄÖ÷Ò³Áª½Óµ½REDHAT-CD mini HOWTO

\begin{verbatim}
<a href="http://imsb.au.dk/~mok/linux/doc/RedHat-CD.html">
<img src="http://imsb.au.dk/~mok/logos/RedHat-CD.png" alt="RedHat CD mini-howto" height=30 nosave border=0>
</a>
\end{verbatim}





\subsection{Ïà¹ØÎÄµµ}



Ed Schlunder $<$zilym@asu.edu$>$Ð´ÁËÒ»¸ö{\ttfamily fix-rhcd} µÄÊ¹ÓÃ¹¤¾ß¿ÉÒÔÊ¹Äã¼ì²éÄã×Ô¼ºµÄRed Hat Linux·¢ÐÐ°æµÄ¾µÏó£¬ÀýÈçÎÄ¼þ´óÐ¡¡¢Ãû³Æ¡¢Ðí¿ÉÒÔ¼°´ÓRed Hat¹Ù·½ftpÕ¾µãµÄ·ûºÅÁ¬½Ó "ls -lNR"¡£ËùÓÐ´íÎóµÄÐí¿É¶¼»á±»¸ü¸ÄÒÔ·ûºÏ{\ttfamily ls} ÁÐ±í£¬Ïê¼û  \nameurl{http://www.ajusd.org/~edward/fix-rhcd/}{fix-rhcd homepage}¡£

Rod Smith $<$smithrod@bellatlantic.net$>$Ð´ÁËÒ»¸ö{$<$}{$<$}×Ô¼º×öRED HAT°²×°Ö¸ÄÏ{$>$}{$>$}£¬ÆäÖÐ¾Í°üÀ¨ÁËÈçºÎÖÆ×÷RedHat°²×°CDµÄÓÐ¹ØÖªÊ¶¡£ÆäÖÐÌØ±ðÃèÊöÁËÈçºÎ´Ó·ÇUNIXÏµÍ³ÖÐÉÕÖÆCD£¬Äã¿ÉÒÔÔÚ\nameurl{http://members.bellatlantic.net/~smithrod/rhjol.html}{}ÕÒµ½¸ÃÎÄ¡£

ÓÉ $<$skooter@hol.fr$>$ ËùÐ´µÄ·¨ÎÄ°æµÄ {\itshape ``Comment graver un CD de la RedHat 5.x a partir
de fichiers telecharges sur Internet...''\/} ¿ÉÒÔÔÚ\nameurl{http://linuxfr.org/docs/article/gravure-CD-RH51.html}{}ÕÒµ½¡£

·ÒÀ¼µÄ Jussi Torhonen $<$jussi.torhonen@tietosavo.fi$>$ ËùËµµÄ \nameurl{http://www.iwn.fi/~jt/cd/}{Howto make a homebrew} ÊÇ¹ØÓÚ¿ÉÆô¶¯µÄ RedHat Linux 5.2 CD-ROM.






\subsection{¸ÐÐ»}





³ýÁËÉÏÊöµÄÈËÔ±Ö®Íâ£¬ÎÒÃÇÒª¸ÐÐ»ÏÂÁÐµÄÈËÔ±£º

\begin{itemize}
\item Lars Christensen $<$larsch@cs.auc.dk$>$
\item Thomas Duffy $<$tbd@cs.brown.edu$>$
\item Dawn Endico $<$dawn@math.wayne.edu$>$
\item Seva $<$seva@null.cc.uic.edu$>$
\item Michael Thomas Cope $<$mcope@orion.ac.hmc.edu$>$
\item Charles J. Fisher $<$charles\_fisher@bigfoot.com$>$
\end{itemize}





\section{ÉùÃ÷\label{sec-disclaimer}}



{\bfseries While the given information in this document is believed to be correct, the authors assume no responsibility whatsoever for any damage to hardware and/or software, or any loss of data resulting from the procedures outlined in this document.}

{\bfseries ±¾ÎÄÖÐËù¸øµÄÐÅÏ¢±»È·ÈÏÎªÕýÈ·µÄ¡£×÷Õß¶ÔÒò´Ë¶øÔì³ÉµÄÓ²¼þ¼°£¨»ò£©Èí¼þµÄËðº¦²»¸ºÈÎºÎÔðÈÎ£¬Ò²²»¶ÔÒòÔÚ±¾ÎÄÖÐËùÊöÖ®Á÷³ÌÒýÆðµÄÊý¾Ý¶ªÊ§¸ºÔð£¡}





\end{document}
