\documentclass[letterpaper,english]{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{¨t²Î³]¸m-HOWTO}
\author{§@ªÌ¡GGuido Gonzato,
\nameurl{guido ``at'' ibogeo.df.unibo.it}{}\\ 
¡]Ä¶ªÌ¡G»¯¥­±æ  tchao@worldnet.att.net¡^}
\date{v1.3.7¡A 1999¦~9¤ë6¤éÂ½Ä¶¤é´Á¡G2000¦~1¤ë1¤é}
\abstract{      ½s¼g¥»¤åªº¥Øªº¬O­n¨Ï±z¯à§ó§Ö¡B§ó®e©ö¦a½Õ¸Õ­è¦w¸Ë¦nªº Linux ¨t²Î¡C¤å¤ºªþ¦³¤@¨Ç³Ì±`¥ÎªºÀ³¥Î³n¥óªº³]¸m¿ìªk¡C}


\begin{document}
\maketitle
\tableofcontents

\section{¾É¨¥\label{¾É¨¥}}






\subsection{¬°¤°»ò­n½s¼g³o¥÷ HOWTO}

§Ú¦b³\¦h PC ¤W³£¦w¸Ë¹L Linux ¨t²Î¡Aµo²{¥Ø«e¬y¦æªº¦UºØ Linux ª©¥»³£¬Û·í¤£¿ù¡A¦ý·P¨ì¤£«Kªº¬O¯Ê¤Ö¤@¨Ç°ò¥»³]¸m¤åÀÉ¡C¦h¼ÆÀ³¥Î³n¥ó¦b¦w¸Ë«á³£¥i¥ß§Y¨Ï¥Î¡A
¦ý¦³¨Ç³n¥ó«o¤£¦æ¡C§ÚÁÙª`·N¨ì¦P¼Ëªº°ÝÃD¦b c.o.l.setup ¤W¤@¦A­«´_¥X²{¡C¬°¤FÀ±¸É³oºØ¯Ê¾Ñ¡A¨Ã¬°¤F§Ú­Ó¤H¤è«K¡A§Ú§@¤F¤@¨Çµ§°O¡A«á¨Ó¥[¥H­×§ï¼í¦â¡A
²×©ó¦¨¬°³o¥÷ HOWTO¡C¤å¤ºªþ¦³³]¸m³Ì±`¥Îªº¤@¨ÇÀ³¥Î³n¥ó©Mµ{¦¡ªº³ZÂ¬©M¹ê¨Ò¡A³oÀ³¯à¸`¬Ù±z¤£¤Ö®É¶¡©Mºë¤O¡C

¤å¤¤©Ò¦Cªº¤@¨Ç¹ê¨Ò¦³®É¨ú¨M¤_¨Ï¥Î¦óºØ Linux ª©¥»¡C¥Ø«e§Ú¥u¦³¦w¸Ë Red Hat 5.2 ªº Linux ¨t²Î¡A¤º®Ö¬O 2.0.36¡F¦]¦¹¦pªG±zªº Linux ¬O¨ä¥Lª©¥»¡A¨º´N§O§â§Ú´£¨Ñªº³ZÂ¬µø¬°ª÷¬ì¥É«ß¡C¤£¹L¡A§â§Ú´£¨Ñªº¿ìªk²¤§@­×§ï¡A
§ï¥Î¤_¨ä¥Lª©¥»¡A­Ë¤]¨Ã«DÃø¨Æ¡C
³o¥÷ HOWTO ¤£¯à¥N´À¨ä¥L HOWTO¡A¦Ó¥B¥¦¤]µL·N´À¥N¨ä¥L HOWTO ¡CÂ½¾\¬ÛÃö¤å¥ó©M¨ä¥L HOWTO ³£·|¨Ï¤HÀò¯q­ê²L¡A¦]¦¹¦pªG±z·Q¶i¤@¨B¤F¸Ñ³o®M¨t²Î¡A´N¥²»Ý¶Ô¤_¬d§äÂ½¾\¡C¦¹¥~¡A
¤]¤£­n·Q¦b³o¸Ì¥e«K©y¡G¦pªG±zª¾¹D¹ï¬Y¤è­±¤£¤F¸Ñ¡A´N½Ð¬d§ä¬ÛÃöªº HOWTO ¡C¦A¦¸´£¿ô¡GUsenet ªº\nameurl{news:comp.os.linux.setup}{}¬O´M¨D Linux °t¸m¤è­±ªº¨ó§Uªº³Ì¦n¦aÂI¡C§Úªº¤u§@¤Q¤ÀÁc¦£¡A{\itshape °È½Ð\/}¤£­n§ä§Ú¸Ñ¨M°t¸m¤è­±ªº°ÝÃD¡C

³o¥÷¤å¥ó¥H¤Î¤@¨ÇÂ½Ä¶¥¿¦¡¦s©ñ¦b\nameurl{http://metalab.unc.edu/mdw/HOWTO}{}¡C¦b³o­Óºô§}¤]¥i§ä¨ì§Ú´£¨ìªº©Ò¦³¨ä¥L HOWTO ¡C¥»¤åªº³Ì·sª©¥»¦s©ñ¦b\nameurl{http://ibogeo.df.unibo.it/guido/Configuration}{}




\subsection{§Ú­Ì±N§@¦óºØ°t¸m}

PCªºµw¥ó°t¸mºØÃþÁc¦h¡A¦ý¨Ì§Úªº¸gÅç¡A¦³¤@ºØ°t¸m¤Q¤À´¶¹M¡A§Y¸Ë¦³¤@­Ó¦E¤À¬°¤T­Ó¤À³Î°Ï¡]¤@­ÓDOS/Windows°Ï¡B¤@­Ó Linux °Ï©M¤@­Ó¥æ´«¡]swap partition¡^°Ï¡^ªº¤j®e¶qµw½L¡B­µ®Ä¥d¡B¼Æ¾Ú¾÷¡B¥ú½L¾÷¡B¥´¦L¾÷©M·Æ¹«ªº PC¡C¥Ø«e¡A³\¦h PC ÁÙ¦w¸Ë¤F¥­¦æ°ðªº ZIP ºÏºÐ¾÷¡C³o¼Ë³]©wªº PC ·¥¥i¯à¬O Windows-Linux ·f°t²Õ¦¨ªººôµ¸¨t²Îªº¤@³¡¤À¡A¤@¯ë§@¬°ªA°È¾¹¤§¥Î¡C

§Ú°²©w³o¨Ç³]³Æ¬O±z­n³]¸mªºµw¥ó¡A¤£¹L±N³]¸m³o¨Ç³]³Æªº¿ìªkÂà¥Î¤_¤£¦Pªºµw¥ó¤]«DÃø¨Æ¡C¦¹¥~¡A
§ÚÁÙ°²©w±z¦b½s¿è½Õ¸Õµw¥ó®É¡A¨ã¦³rootªºÅv­­¡C

¦n§a¡I²{¦b´NÅý§Ú­Ì±²°_³S¤l¨Ó·F§a¡I






\section{¤@¯ë¨t²Î³]©w}






\subsection{¦w¥þ°ÝÃD}

¦b¶}©l±Ò°Ê¨t²Î¤§«e¡A­º¥ýÀ³¸Ó¨M©w­n±Ä¥Î¦óºØ¯Å§Oªº¦w¥þ³W½d¡C¦b§@¥X³o¶µ¨M©w¤§«e¡A¤£­n±N¹q¸£»Pºôµ¸³s±µ¡C
¹q¸£¦w¥þ¬O·¥¨ä­«­nªº°ÝÃD¡A¦ý¥¦¤£ÄÝ©ó³o¥÷ HOWTO ªº°Q½×½d³ò¡C¤£¹L¡A­n¤F¸Ñ¹q¸£ªº¦w¥þ°ÝÃD¥i±q¨â¤è­±µÛ¤â¡G¡§ Linux ¦w¥þºÞ²z­û¤â¥U¡¨¡] Linux  Security Administrator's Guide¡^\nameurl{http://www.seifried.org/lasg}{}
©M¡§ Linux ¦w¥þ¤â¥U¡¨¡] Linux  Security Guide¡^\nameurl{http://nic.com/}{} ¡]Ä¶µù¡G¦¹³B­^¤å­ì¤å¦³º|¡^ 
¤U¦C¨BÆJ¡G¨Ï¥ÎShadow password¡]Shadow Password  HOWTO ¡^­­¨îºô¸ô¶i¤J¾÷¾¹¡]Section \ref{Restricting} {(­­¨îºô¸ô¶i¤JRestricting Network Access)}¡^¡B
¨Ï¥Î Secure Shell (\nameurl{http://www.cs.hut.fi/ssh/}{}) ©Î¨Ï¥Î
Secure Remote Password (\nameurl{http://srp.stanford.edu/srp/}{})¡C¯¬±z¦n¹B¡C




\subsection{¤u§@¤é»x}

­n«OÃÒ¦w¸Ë¶¶§Q¡A{\itshape ¥²¶·\/}½T¤Áª¾¹D¾÷¾¹¸Ì¦w¸Ë¤F¤°»ò¡A¦ó®É§@¤F­×§ï¡A¦ó®É§@¤F²M°£¡C¦]¦¹¡A¦b°Ê¤â¤§«e¡A­º¥ýÀ³¸Ó«Ø¥ß¤@¥»¡§¤u§@¤é»x¡¨¡A¬ö¿ý§@¬° root ªº¤@¤ÁÁ|°Ê¡F¦b§Úªº¤u§@¤é»x¤¤¡A¦³¤@¸`±Mªù¬ö¿ý©Ò¦³§ï°Êªº¨t²Î¤åÀÉ¡B¼W¥[ªº .rpms ©M¦w¸Ëªº .tar.gz¡C²z½×¤W¡A©¹¦^°l·¹¥H©¹ªº¥ô¦ó§ïÅÜ¡AÀ³¸Ó¥i¥H¦^´_¨ì³Ìªì­ì©lªº¦w¸Ëª¬ºA¡C

¤d¸U°O¦í¡A¦b§ï°Ê¥ô¦ó¨t²Î¤å¥ó¤§«e¡A»s§@³Æ¥÷¡C§ó²z·Qªº¬O¥Î RCS¡F³o¼Ë´N¯à°lÂÜ¥H©¹ªº©Ò¦³§ïÅÜ¡C§@¬° root¡A¨M¤£¥iÀH·N§ï°Ê¨t²Î¦Ó¤£¥[¬ö¿ý¡C




\subsection{Áä½L}



¦p¦b¦w¸Ë®É¿òº|¤F³o¤@¨BÆJ¡A©Î§ï¥Î¤F¥LºØÁä½L¡A«h»Ý­n¡G

\begin{itemize}
\item  ±q\url{/usr/lib/kbd/keymaps/}¤¤¿ï¨ú¾A·íªºÁä½Lªí¡F¨Ò¦p¡A{\ttfamily it.map} ´N¥Nªí¸q¤j§QÁä½L¡F
\item  ½s¿è\url{/etc/sysconfig/keyboard}¤åÀÉ¡A¨Ï¨äÅª¨ú¡G{\ttfamily KEYTABLE="it"};
\item  ³]©wÁä½Lªº­«½Æ²v©M©µ¿ð®É¶¡¡A±N¥H¤U¤º®e¥[ªþ¨ì
\url{/etc/rc.d/rc.sysinit} (Red Hat) ©Î
\url{/etc/rc.d/rc.boot} (Caldera) ©Î
\url{/etc/rc.d/boot} (S.u.S.E.):

\begin{tscreen}
\begin{verbatim}
/sbin/kbdrate -s -r 16 -d 500  # or whatever you like --©Î¨ä¥L³]©wªº¼Æ­È
\end{verbatim}
\end{tscreen}

\end{itemize}

­n¸ü¤JÁä½Lªí¡A¨Ï¥Î\url{/etc/rc.d/init.d/keytable start}«ü¥O¡C¨ä¥L¯S®íÁä¦ì±N¦b¥H¤U¦U¸`¦A§@»¡©ú¡C

­n¦b¶}¾÷®É¦Û°Ê³]©w NumLock¡A«h¦b\url{/etc/rc.d/rc.sysinit}¤¤¥[¤J¥H¤U¤º®e¡G

\begin{tscreen}
\begin{verbatim}
for tty in /dev/tty[1-9]*; do
  setleds -D +num < $tty
done
\end{verbatim}
\end{tscreen}





\subsection{±Ò°Ê©M´©±Ï³n¤ù}



¬°­è¦w¸Ë¦nªº¨t²Î¡AÀ³¸Ó»s§@¨â¡B¤T±i±Ò°Ê³n¤ù¡A¥H³Æ¤£®É¤§»Ý¡C±z¨Ï¥Îªº Linux ª©¥»¥i¯à¤w¸g¥]¬A¤F»s§@³oºØ³n¤ùªº«ü¥O¡A§_«h¥i¥Î¤U¦C«ü¥O¡G

\begin{tscreen}
\begin{verbatim}
#
#
¡]Ä¶µù¡G§@ªÌ¦ü¥G§Ñ¤F¶ñ¤J«ü¥O¡^
\end{verbatim}
\end{tscreen}


¦¹¥~¡A¦Ü¤Ö¤]­n»s§@¤L¤ù´©±Ï³n¤ù¡C¦b\nameurl{ftp://metalab.unc.edu/pub/Linux/system/recovery}{}¥i§ä¨ì¦UºØ´©±Ï³n¤ù¡F
¦pªG±z¤£ª¾¹D¿ï¥Î­þ¤@ºØ¡A§Ú«ØÄ³±z¸Õ¸Õ Tomsbtrt¡C




\subsection{¤º®Ö}

IMHO¡A¨ä¦¸­º¥ý­n°µªº¤u§@¬O½s¨î³Ì¾A¦X±zªº¨t²Îªº¤º®Ö¡C½s¨î¤u§@¨Ã¤£§xÃø¡A¦ýµL½×¦p¦ó³£¥ý¬Ý¤@¬Ý\url{/usr/src/Linux/}¤ºªº{\ttfamily README}ÀÉ©Î¤º®Ö HOWTO ¡]Kernel  HOWTO ¡^¡Cª`·N¨Æ¶µ¡G

\begin{itemize}
\item ¥J²Ó·Q²M·¡»Ý­n¹q¸£§¹¦¨¦óºØ¤u§@¡C¤@¦¸¿ï©w¤º®Ö¡A¦P®É§@¥X¥²­nªº­×¸É¡]patch)¡A»·¤ñ¨C¤ë§@¤@¦¸³]¸m©Î½sÄ¶¤@¦¸¤º®Ö¨Ó±o¬Ù¨Æ¡F¦pªG§â Linux §@¬°¦øªA¾¹¨Ï¥Î¡A¤×À³¦p¦¹¡C¤£­n§Ñ°O§â¥¼¨Ó¥i¯à·|¼W¥[ªºµw¥ó¡]¨Ò¦p¡ASCSI¡BZip©Mºô¸ô¥dµ¥¡^³£¥ý½s¨î¦b¤º®Ö¤º¡F³q±`§Q¥Î¼Ò²Õ¬O³Ì¦nªº¿ìªk¡F

\item ¦pªG§Aªº¹q¸£¥Î Cyrix ªä¤ù¡A¦Ó¤º®Ö¹ï¥¦ªº¤ä«ù¤£¨¬¡A«hÀ³§@¥X¥²­n­×¸É¡A¥H«K´£°ª¹q¸£©Ê¯à¡C¦³Ãö¸ê®Æ¨£¡G \nameurl{http://www.Linuxhq.com/patch/20-p0591.html}{}¡F
\item ¨Ï¥Îµ§°O«¬¹q¸£ªº¥Î¤áÀ³§ï¶i«Ì¹õªºµøÄ±®ÄªG¡C§Ú´¿¸g«ØÄ³­×¸É¤º®Ö¡A¦ý{\ttfamily SVGATextMode} ¡]¨£ \ref{SVGA} {(SVGATextMode)}¤@¸`¡^¥i¯à¬O³Ì²z·Qªº¸Ñ¨M¿ìªk¡C¤£½×±Ä¥Î¦óºØ¿ìªk¡A¦b\nameurl{http://www.Linuxhq.com/patch/20-p0239.html}{}¥i¥H§ä¨ì¤j«¬´å¼Ðªº¤º®Ö­×¸É³n¥ó¡C
\item ¦¹¥~¡A{\itshape ¤£­n\/}±Nµ§°O«¬¹q¸£¦ê¦æ PCMCIA modem/fax ¥d§@¬°¼Ò²Õ½sÄ¶¡F±N¨ä§@¬°¤º®Öªº¤@³¡¤À½sÄ¶¡A§_«h¡APCMCIA modem ´NµLªk¹B§@¡F
\item ¦pªG¨Ï¥Î PCMCIA ¥d¡A°O¦í°È¥²½sÄ¶³o¨Ç¼Ò²Õ¡F¦¹¥~¡A¦pªG¨Ï¥Î PCMCIA ºô¸ô¥d¡A¤£­n§Ñ°O­×§ï\url{/etc/pcmcia/network.opts}¡F
\item ¦pªG«Ì¹õÅã¥Ü¨Ó¦Û{\ttfamily modprobe}ªº«H®§¡A«ü¥X¤£¯à½T©w¬Y¨Ç¼Ò²Õªº¦ì¸m¡A³oªí¥Ü»Ý­n­×§ï\url{/etc/conf.modules}¡C¨Ò¦p¡A¦pªG¤£¨Ï¥Îipx©Mappletalk¼Ò²Õ¡A«h¼W¥[¤U¦C¨â¦æ¡G

\begin{tscreen}
\begin{verbatim}
alias net-pf-4 off
alias net-pf-5 off
\end{verbatim}
\end{tscreen}

\item ¬°¤F¸`¬Ù¤U¦¸°t¸m©M½sÄ¶¤º®Öªº®É¶¡¡A¤£§«±N°t¸m³]©w§@¬°¤@­Ó¤åÀÉ§´µ½«O¦s¡Cª`·N¡G
¦pªG¤º®Ö¤É¯Å¡A«h³o­Ó°t¸m³]©wÀÉ¥²µMµL¥Î¡A¦]¬°¥¦¨S¦³¥]§t·s¤º®Öªº¦UºØ­n¯À¡C
\end{itemize}





\subsection{Sendmail°±¾÷}



¦³¨Ç¨t²Îªº{\ttfamily sendmail}·|¨Ï¾÷¾¹¦b±Ò°Ê®É°±¹y¨â¡B¤T¤ÀÄÁ¡C­ì¦]¦³¤G¡G
¡]1¡^¾÷¾¹¨S¦³»Pºô»Úºô¸ôª½±µ³s±µ¡F¡]2¡^ª½±µ³s±µºô»Úºô¸ô¡A¨Ã¦³¥Ã¤[ªºIP¦a§}¡C

¥ß§Y¸Ñ¨M²Ä¤@ºØ°ÝÃDªº¿ìªk¬O½T©w\url{/etc/hosts}¤º¦³¤U¦C¤@¦æ¡G
\begin{tscreen}
\begin{verbatim}
127.0.0.1   localhost
\end{verbatim}
\end{tscreen}


³y¦¨°±¹yªº²Ä¤GºØ­ì¦]¬O©¹©¹¦b\url{/etc/hosts}¤º¦³¤º®e¦p¤Uªº¤@¦æ¡G
\begin{tscreen}
\begin{verbatim}
127.0.0.1   localhost   your_host_name
\end{verbatim}
\end{tscreen}


¥i±N¨ä¤À¦¨¥H¤U¨â¦æ¡G

\begin{tscreen}
\begin{verbatim}
127.0.0.1    localhost
w.x.y.z      your_host_name
\end{verbatim}
\end{tscreen}


¦P®É½Ð°Ñ¦Ò\ref{Hostname} {(Hostname)}¤@¸`






\subsection{µw½L©Ê¯à}

¦pªG{\itshape ÂÔ·V\/}¨Ï¥Î {\ttfamily hdparm}(8)´N·|¤j¤j´£°ª (E)IDE µw½Lªº©Ê¯à¡C°²³]¨Ï¥Îªº Linux ¤¤¨S¦³¥]§t³o­Ó³n¥ó¡A¥i±q\nameurl{ftp://metalab.unc.edu/pub/Linux/system/hardware}{}¬d§ä¡F³]ªk¦b³o­Óºô§}¤W§ä¤@­ÓºÙ¬°\url{hdparm-X.Y.tar.gz}ªº³n¥ó¡C

¥Ñ¤_¨Ï¥Î³o­Ó³n¥óªº²Ó¸`¨ú¨M¤_µw½LªººØÃþ©M±±¨îµ{§Ç¡A¦]¦¹¦b¦¹µLªk´£¥X³q«h¡C¨Ï¥Î¤£·í¡A
¥i¯à·|·l¤Î¤åÀÉ¨t²Î¡A¦]¦¹¨Ï¥Î¤§«e¡A°È¥²¸Ô²Ó¾\Åª man »¡©ú¡C¥H³ÌÂ²³æªº¨Ò¤l¦Ó¨¥¡A¦b\url{/etc/rc.d/rc.sysinit}¤º¥i¼W¥[¤@¦æ¡A¤º®e¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
/sbin/hdparm -c1 /dev/hda  #  -- °²©w¬°²Ä¤@­Ó IDE µw½L
\end{verbatim}
\end{tscreen}


³o¦æ´£¨Ñ¤F (E)IDE 32-bit I/O ªº¤ä«ù¡CÃö©ó {\ttfamily -m} ¿ï¶µ¡A{\ttfamily hdparm}ªº§@ªÌ Mark Lord §i¶D§Ú¡G

\begin{quotation}
(...) ¦pªG¨t²Î¤ºªº²Õ¥ó¬O«e¤L¦~ªº²£«~ {[}{$<$} 1997]¡A¤@¯ë³£¨S¦³°ÝÃD¡C¦pªG¬O¦ÑÂÂªº³]³Æ¡A¥i¯à¤£¦æ¡]¦ý¤]³\¨S°ÝÃD¡^¡C¯u¥¿µo¥Í°ÝÃDªº¬O 2 - 3 ¦~«e¦b 486 ©M ¡]¦­´Á¡^586 ¥ÀªO¤W¼sªx¨Ï¥Îªº CMD0646 ©M RZ1000 ³o¨âºØ´¹¤ù¡C
\end{quotation}


¤U¦C³]¸mÀ³¥i¨Ï¥Î¤_³Ìªñªº¹q¸£¡G

\begin{tscreen}
\begin{verbatim}
/sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda
\end{verbatim}
\end{tscreen}





\subsection{¦}Áp°ð Zip ºÏºÐ¾÷}

§Q¥Î³Ìªñ¤º®Ö¡]2.x.x¡^©Ò±aªºÅX°Êµ{§Ç´N¥i¨Ï¥Î¦}Áp°ðªº Zip ºÏºÐ¾÷¡C¦b³]¸m¤º®Ö®É¡A°È¥²¥[¸Ë¨Ï¥Î SCSI ©M SCSI ºÏ½Lªº¥\¯à¡Cª`·N¡G¥´¦L¾÷©M Zip ºÏºÐ¾÷¦@¥Î¦}Áp°ð®É¥i¯à·|µo¥Í½Ä¬ð¡A¦]¦¹³Ì¦n¨Ï¥Î¤º®Ö¼Ò²Õ³]¸m¡C¦b\nameurl{http://www.torque.net/}{} ¤WÁÙ¦³¤@­Ó¥N¥Îªº {\ttfamily ppa} ÅX°Êµ{§Ç¡C

Zip ºÏ¤ù¥X°â®É¤w¸g®æ¦¡¤Æ¡A¨ä¤À³Î¬° \url{/dev/sda4}¡C¦b³]©w Zip ºÏºÐ¾÷®É¡A¦b \url{/etc/rc.d/rc.sysinit} ÀÉ¤¤¥[ªþ¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
# Enable the Zip drive  -- ³]©w Zip ºÏºÐ¾÷
/sbin/modprobe ppa
\end{verbatim}
\end{tscreen}


Zip ºÏ¤ù¥i¦b\url{/etc/fstab}¤¤¥[¦C¥H¤U¤º®e©Î³q¹L Mtools ¦b\url{/etc/mtools.conf}¤¤¼W¥[¤U¦C¤º®e¥[¸ü¡G

\begin{tscreen}
\begin{verbatim}
drive z: file="/dev/sda4" exclusive
\end{verbatim}
\end{tscreen}


¦¹¥~¡A{\ttfamily mzip}«ü¥O¤]¥i¥Î¤_¼u¥X¡B¬d¸ß¾÷ªp¡BÅª¼g©Mªþ¥[±K½X¤_ Zip ºÏ¤ù¡F¸Ô±¡½Ð¬d¾\{\ttfamily man mzip}¡C Mtools ªººô§}¦b\nameurl{http:// Linux .wauug.org/pub/knaff/mtools}{}¡C




\subsection{³]³ÆÅX°Êµ{§Ç}

¦C¦b{\ttfamily /dev}¤¤¡]©Î³s±µ¨ì¹ê»Ú³]³ÆÅX°Êµ{§Ç¡^ªº³]³Æ¥i¯à¨Ã¤£½T¤Á¡CÀË¬d·Æ¹«¡B¼Æ¾Ú¾÷©M¥úºÐÅX°Êµ{§Ç¹ïÀ³ªº³]³Æ¬°¦ó¡AµM«á§@¥X¤U¦C³]©w¡G

\begin{tscreen}
\begin{verbatim}
/dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip
\end{verbatim}
\end{tscreen}

¦b¦h¼Æµ§°O¥»¹q¸£¤W¡A¹«¼Ðªº³]¸m¬O\url{/dev/psaux}¡G¦b³]¸m X11 ®ÉÀ³±N¦¹¦C¤J¦Ò¼{¡C

¤£§«±N³o¨Ç³]¸m³£³q¹L {\ttfamily chmod 666} §ïÅÜÄÝ©Ê¡A¨Ï©Ò¦³¨Ï¥ÎªÌ§¡¥i¨Ï¥Î³o¨Ç³]³Æ¡C






\subsection{Án¥d}



§Ú¥u¦³¤@±iÂÂÁn¥d Sound Blaster 16¡F§Y¨Ï±zªºÁn¥d»P§Úªº¤£¦P¡A¤£¹L¤U¦C¤èªk¤]¥i¤Þ¾É±z¦p¦ó³]¸mÁn¥d¡C

§Ú±NÁn¥dªºÅX°Êµ{§Ç§@¬°¼Ò²Õ({\ttfamily sb.o})½s¤J¤º®Ö¡CµM«á±N¤U¦C¤º®e¦C¤J\url{/etc/conf.modules}¡G

\begin{tscreen}
\begin{verbatim}
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
alias sound sb
\end{verbatim}
\end{tscreen}


­n±Ò°ÊÁn¥d¡A­º¥ý¹B¦æ{\ttfamily modprobe sound}¡A©ÎªÌ¨Ï¥Î RedHat ªº¤u¨ã{\ttfamily sndconfig}¡C




\subsection{µn¿ý«H®§}

¦p­n¦Û³]µn¿ý«H®§¡A­º¥ýÀË¬d\url{/etc/rc.d/rc.local}¬O§_ÂÐ»\\url{/etc/issue}©M\url{/etc/motd}ªº¤º®e¡C¡]RedHat ÂÐ»\¤º®e¡^¦pÄÝªÖ©w¡A½Ð¥´¶}¤å¥»½s¿è¾¹¡C

¦p­n¨Ïµn¿ý«H®§±a¦³ÃC¦â¡A¥i¦b{\ttfamily rc.local}¤¤¦C¤J¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
# put a real escape character instead of ^[. To do this:
# emacs: ^Q ESC   vi: ^V ESC   joe:  ` 0 2 7   jed: ` ESC
ESC="^["  # a real escape character
BLUE="$ESC[44;37m"
NORMAL="$ESC[40;37m"
CLEAR="$ESC[H$ESC[J"

> /etc/issue
echo "$CLEAR" >> /etc/issue
echo "$BLUE   Welcome to MyServer (192.168.1.1)   " >> /etc/issue
echo "$NORMAL " >> /etc/issue
echo "" >> /etc/issue
\end{verbatim}
\end{tscreen}





\subsection{¥D¾÷¦WºÙ \label{Hostname}}

¥u¹B¦æ{\ttfamily hostname new\_host\_name}«ü¥O¤]³\¤£°÷¡C­n¸Ñ¨M{\ttfamily sendmail}¦º¾÷ªº°ÝÃD¡A¥i±Ä¥Î¤U¦C¨BÆJ¡]¥u¾A¥Î¤_³æ¾÷¡^¡G

\begin{itemize}
\item  ½s¿è\url{/etc/sysconfig/network}©M§ïÅÜ¨ä¤¤ªº¥D¾÷¦WºÙ¡]¨Ò¦p{\ttfamily new\_host\_name.localdomain}¡^¡F
\item  ¬ÛÀ³¦a½s¿è\url{/etc/HOSTNAME}¡F
\item  ±N·s¾÷¦W½s¤J\url{/etc/hosts}¡F
\begin{tscreen}
\begin{verbatim}
127.0.0.1       localhost  new_host_name.locadomain
\end{verbatim}
\end{tscreen}

\end{itemize}





\subsection{·Æ¹«¡]Mouse¡^}



{\ttfamily gpm} ªº·Æ¹«¥\¯à¹ï¦b¥D±±¥x¶i¦æ°Å¶K¦Ü¬°¦³¥Î¡A¤]¥i¦b¤@¨ÇÀ³¥Î¤¤¨Ï¥Î·Æ¹«¡C¦b Red Hat ¨t²Î¤¤¡AÀË¬d¦³§_¤@­ÓºÙ¬°{\ttfamily /etc/sysconfig/mouse} ªº¤åÀÉ¡A¤º®e¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
MOUSETYPE="Microsoft"
XEMU3=yes
\end{verbatim}
\end{tscreen}


¦¹¥~¡AÁÙ±o¦³¤@­Ó{\ttfamily /etc/rc.d/init.d/gpm}ÀÉ¡A¨ä¤¤ÁÙ¥i³]©w¤@¨Ç«ü¥O¡C§Ú³]©wªº«ü¥O¦p¤U¡G
\begin{tscreen}
\begin{verbatim}
...
       daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # two-button mouse -- Âù«ö¶s·Æ¹«
...
\end{verbatim}
\end{tscreen}


Åã¦Ó©ö¨£¡A¨ä¤¤³]¸m·íµM±o»P·Æ¹«ªºÃþ«¬¬Û²Å¡C¦b¦h¼Æµ§°O«¬«¬¹q¸£¤¤¡A {\ttfamily MOUSETYPE} À³³]¬° {\ttfamily ¡§PS/2¡¨}¡C

¦bCaldera¨t²Î¤¤¡A¥u­n¦b\url{/etc/rc.d/rc.boot}¤¤¥[¤J¦¹¦æ§Y¥i¡G
\begin{tscreen}
\begin{verbatim}
/usr/bin/gpm
\end{verbatim}
\end{tscreen}


¦bS.u.S.E.¤¤¡A¦b\url{/etc/rc.config}¤¤¥[¤J{\ttfamily gpm}³¡¤À¡F¦bDebian¨t²Î¤¤¡A«h»Ý­×§ï
\url{/etc/gpm.conf}¡C

¦pªG³ßÅw¥ÎCtrl«ö¶s¨Ï¥Î¥D±±¥xªºµæ³æ¡A«h»Ý³]¸m{\ttfamily gpm-root}¡C­×§ï
\url{/etc/gpm-root.conf}¤¤ªº¹w³]µæ³æ¡AµM«á±q\url{/etc/rc.d/rc.local}±Ò°Ê
{\ttfamily gpm-root}¡C




\subsection{¥[¸ü¦ì¸m¡]Mount Points¡^}



¬°¤è«K¨Ï¥Î¡AÀ³¹ï³n½L¡B¨ä¥L³]³Æ©MNFSªº¿é¥X¥Ø¿ý³]©w¥[¸ü¦ì¸m¡C¨Ò¦p¡A¥i±Ä¥Î¤U¦C¿ìªk¡G

\begin{tscreen}
\begin{verbatim}
/mnt# mkdir floppy; mkdir cdrom; mkdir win; mkdir zip; mkdir server
\end{verbatim}
\end{tscreen}


¦¹¦æ³]©w¤F DOS/Win ³n½L¡]ext2ºÏ¤ù¡^¡BCD-ROM¡BWindows ¤À³Î°Ï¡B¥­¦æ¤f Zip ÅX°Ê¾¹©M NFS ¥Ø¿ýªº¥[¸ü¦ì¸m¡C

µM«á­×§ï {\ttfamily /etc/fstab} ÀÉ¡A¦}¼W¥[¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
/dev/fd0        /mnt/floppy     auto            user,noauto 0 1
/dev/cdrom      /mnt/cdrom      iso9660         ro,user,noauto 0 1
/dev/zip        /mnt/zip        vfat            user,noauto,exec 0 1
/dev/hda1       /mnt/win        vfat            user,noauto 0 1
server:/export  /mnt/server     nfs             defaults
\end{verbatim}
\end{tscreen}


Åã¦Ó©ö¨£¡A²Ä¤@Äæ¥²¶·¨Ï¥Î¥¿½Tªº³]³Æ¦WºÙ¡C³Ìªñµoªíªº¤º®Ö¤w¸g¤ä«ù fat32¡F¥H«eªº¤º®Ö»Ý­n­×¸É¡C­×¸É³n¥ó¥i±q\nameurl{http://bmrc.berkeley.edu/people/chaffee/fat32.html}{}¨ú±o¡C¦³Ãö³o¤è­±ªº¶i¤@¨B¸ê®Æ¡A¥i¬d¸ß
{\ttfamily man mount}¡C

ª`·N²Ä¤@¦æ¤¤ªº¡§auto¡¨¤åÀÉ¨t²Î®æ¦¡¡F³oªí¥Ü¥i¥[¸ü ext2 ©M vfat¡]DOS/Windows¡^¨âºØ¨t²Î®æ¦¡»s§@ªººÏ¤ù¡C{\ttfamily mtools}¤]¬O¬Û·í¦n¥Îªº¤u¨ã¡C




\subsection{lilo(8) ©M LOADLIN.EXE}



³\¦h¨Ï¥ÎªÌ¦b¹q¸£¤W¦P®É¹B¦æ Linux ©M DOS/Windows ¨â®M¾Þ§@¨t²Î¡A¨Ã¦b¶}¾÷®É¿ï¥Î¨ä¤¤¤§¤@¡F³oÀ³¦b¦w¸Ë®É§@¥X³]©w¡A¦pªG·í®É¨S¦³³]©w¡A
¥i±Ä¨ú¤U¦C¿ìªk¸Ñ¨M¡C­º¥ý°²©w \url{/dev/hda1}¤¤¸Ë¦³ DOS/Windows¡A 
\url{/dev/hda2} ¤¤¸Ë¦³ Linux .

\begin{tscreen}
\begin{verbatim}
±N /dev/hda §@¬°Àq»{³]³Æ¡I

Command (m for help):a
Partition number (1-4): 2

Command (m for help):w
\end{verbatim}
\end{tscreen}


¸g¹L³o¶µ³]©w¡A Linux ¤À³Î°Ï¦¨¬°±Ò°Ê¾Þ§@¨t²Î¡CµM«á¦b\url{/etc/lilo.conf}¤¤§@¥X³]©w¡G

\begin{tscreen}
\begin{verbatim}
boot = /dev/hda2
compact                # may conflict with "linear"  --¥i¯à»P¡§linear¡¨½Ä¬ð
delay = 100            # 10 seconds  --µ¥«Ý10¬í
linear                 # gets rid of the "1024 cylinder" problem --¸Ñ¨M1024ºÏ°éªº°ÝÃD
# message = /boot/bootmesg.txt  # write your own, if you will --¦Û­q¶}¾÷«H®§
root = current
image = /boot/vmlinuz  # boot  Linux  by default as this entry comes first --Àq»{ªº¤º®Ö
  label =  Linux 
  read-only
#  append="mem=128M"   # to see more memory than 64M  --¦pªG°O¾Ð¤º¦s¤j©ó64M
other = /dev/hda1
  table = /dev/hda
  label = dos
\end{verbatim}
\end{tscreen}


¹B¦æ\url{/sbin/lilo}¦Z´N¤j¥\§i¦¨¡C¥Ñ¤_{\ttfamily lilo}¬O¦w¸Ë¤¤·¥¨ä­«­nªº³¡¤À¡A
µL½×¦p¦óÀ³¸Ó¸Ô²Ó¾\Åª¦³Ãö³o¤è­±ªº¸ê®Æ¡C

¦pªG¤£¥´ºâ­«§@³]©w¡A¦Ó­n±q DOS/Windows ¤º±Ò°Ê Linux ¡A¥i§â {\ttfamily LOADLIN.EXE}
©ñ¤J¤@­ÓÄÝ©ó DOS ¸ô®|ªº¤l¥Ø¿ý¡]DOS ¤À³Î°Ï¡^¡FµM«á±N¤º®Ö«þ¨©¨ì¸Ó¤l¥Ø¿ý¡A¨Ò¦p{\ttfamily C:$\backslash$TEMP$\backslash$VMLINUZ}¡C§Q¥Î¤U­±Â²³æªº
{\ttfamily .BAT}ÀÉ´N¥i±Ò°Ê Linux¡G

\begin{tscreen}
\begin{verbatim}
rem    Linux .bat
smartdrv /C
loadlin c:\temp\vmlinuz root=/dev/hda2 ro
\end{verbatim}
\end{tscreen}


¦p¨Ï¥Î Windows 9X¡A«h³]©w³o­Ó{\ttfamily .BAT}ÀÉªº¯S©Ê¡A¨Ï¨ä±q MS-DOS ª¬ºA±Ò°Ê¡C




\subsubsection{¦w¥þ¦Ò¶q}



¦b¦w¸Ë Linux ¤§«e¡A¥ý»s§@¤@±i MBR °Ïªº³Æ¥÷ºÏ¤ù¡A¥H¨¾¤£´ú¡C¥ý¹B¦æ{\ttfamily restorrb}¡]¥]¬A¦b{\ttfamily FIPS}ªº³n¥ó¥]¤º¡^¡A
©Î¥H¤U­±ªº«ü¥O»s§@ Linux ªº¦º¾÷¸Ñ±ÏºÏ¤ù¡G
\begin{tscreen}
\begin{verbatim}
rescue:
\end{verbatim}
\end{tscreen}


µM«á¦Ü¤Ö»s§@¨â¤ù¦³{\ttfamily MBR}ÀÉªººÏ¤ù¡C¦pªG¤@¥¹¬G»Ù°±¾÷¡A
¥i¥Î¤U¦C«ü¥O«ì´_­ì¥ýªº MBR¡G
\begin{tscreen}
\begin{verbatim}
rescue:
\end{verbatim}
\end{tscreen}


·íµM¡A³o­n¦b{\ttfamily /mnt}¤w¥[¸ü¥]§t{\ttfamily MBR}ªººÏ¤ù¡C§_«h¡A§Q¥Î DOS ªº¸Ñ±ÏºÏ¤ù¹B¦æ{\ttfamily FDISK /MBR}¡C






\subsection{¹q¤l¶l¥ó}



¦p¦ó¾\Åª¥H HTML ®æ¦¡©Î§t¦³¨ä¥L¦UºØ¤å¥ó®æ¦¡ªº¹q¤l¶l¥ó©O¡H­º¥ý­n¦³¨â­Ó¤åÀÉ¡G\url{/etc/mime.types}
©M\url{/etc/mailcap}¡C²Ä¤@­Ó¤åÀÉ¦C¥X¤å¥óªº®æ¦¡¤Î¨äÂX®i¦W¡G

\begin{tscreen}
\begin{verbatim}
application/postscript          ps eps
image/jpeg                      jpe jpeg jpg
text/html                       html
\end{verbatim}
\end{tscreen}


¦Ó²Ä¤G­Ó¤åÀÉ³W©w¦p¦óÅã¥Ü³oºØ¤åÀÉªº®æ¦¡¡C

¦³®É¦³ªº¹q¤l¶l¥ó¨Ï¥Î Microsoft Outlook µo°e¡A¨ä¤º®e§t¦³¦h­« MIME ®æ¦¡¡C¾\Åª³oÃþ¹q¤l¶l¥ó»Ý­n¦b\url{etc/mailcap}¤¤¥[¤J¤U¦C¨â¦æ¡G

\begin{tscreen}
\begin{verbatim}
text/plain; less %s; needsterminal
text/html; lynx -force_html %s; needsterminal
\end{verbatim}
\end{tscreen}





\subsection{¥´¦L¾÷ªº³]¸m}



´N§Ú©Òª¾¡A¦UºØ Linux ª©¥»§¡¦³³]¸m¥´¦L¾÷ªº¤u¨ã¡]{\ttfamily printtool}¡A{\ttfamily yast}©Î{\ttfamily magicfilter}¡^¡F
§_«h¥i¥Î°ò¥»ªº¤â°Ê³]©w¡C

°²©w­n¥Î«D PostScript ¥´¦L¾÷¡]¤]«D¡§Windows-only¡¨ªº¥´¦L¾÷¡^¨Ó¥´¦L­ì©l¤å¥ó¡]¨Ò¦p C µ{§Çªº­ì©l½X¤å¥»¡^©M§Q¥Î GhostScript ¨Ó¥´¦L PostScript ¤åÀÉ¡]¦¹³B°²©w¤w¦w¸Ë¤F GhostScript¡^¡C

³]©w¥´¦L¾÷ªº¨BÆJ¦p¤U¡G

\begin{itemize}
\item  ÀË¬d¦}¦æ¤fªº¥´¦L¾÷¡G

\begin{tscreen}
\begin{verbatim}
~# echo "hello, world" > /dev/lp0
~# echo "hello, world" > /dev/lp1
\end{verbatim}
\end{tscreen}


°O¤UÁp¾÷ªº¥´¦L¾÷©MºÝ¤f¡C

\item  ³]©w¨â­Ó spool ¤l¥Ø¿ý¡G

\begin{tscreen}
\begin{verbatim}
/var/spool/lpd/# mkdir raw; mkdir postscript
\end{verbatim}
\end{tscreen}

\item  ¦pªG¥´¦L¾÷¦L¥Xªºµ²ªG¦³¡§¥x¶¥¡¨²{¶H¡]¦h¼Æ InkJet ¥´¦L¾÷³£¦³³oºØ²{¶H¡^¡A«h»Ý­n¤@­Ó¹LÂo¾¹¡C¸Õ¦L¤U­±¨â¦C¡G

\begin{tscreen}
\begin{verbatim}
~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1
\end{verbatim}
\end{tscreen}


¦pªG¦L¥Xªºµ²ªG¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
first line
          second line
\end{verbatim}
\end{tscreen}


±N¦¹¤åÀÉ§@¬°{\ttfamily /var/spool/lpd/raw/filter}«O¦s¡G

\begin{tscreen}
\begin{verbatim}
#!/bin/sh
# ³o­Ó¹LÂo¾¹¥i®ø°£¡§¥x¶¥¡¨²{¶H
awk '{print $0, "\r"}'
\end{verbatim}
\end{tscreen}


¹B¦æ{\ttfamily chmod 755 /var/spool/lpd/raw/filter}¨Ï¨ä¦¨¬°¥i°õ¦æ¤åÀÉ¡C
\item  ­n»s§@¥Î¤_PostScript¥é¯uªº¹LÂo¾¹¡A«h±N¹LÂo¾¹©w¦W¬°
\url{/var/spool/lpd/postscript/filter}:

\begin{tscreen}
\begin{verbatim}
#!/bin/sh

DEVICE=djet500
RESOLUTION=300x300
PAPERSIZE=a4
SENDEOF=

nenscript -TUS -ZB -p- |
if [ "$DEVICE" = "PostScript" ]; then
        cat -
else
        gs -q -sDEVICE=$DEVICE \
                -r$RESOLUTION \
                -sPAPERSIZE=$PAPERSIZE \
                -dNOPAUSE \
                -dSAFER \
                -sOutputFile=- -
fi

if [ "$SENDEOF" != "" ]; then
        printf "\004"
fi
\end{verbatim}
\end{tscreen}


¡]¤W¨Ò¨Ï¥Î HP DeskJet ¥´¦L¾÷¡C¦p¬°¥LºØ¥´¦L¾÷¡A«h§@¥X¬ÛÀ³­×§ï¡C¡^
\item  ³Ì«á¦b\url{/etc/printcap}¤º¼W¥[¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
# /etc/printcap
lp|ps|PS|PostScript|djps:\
        :sd=/var/spool/lpd/postscript:\
        :mx#0:\
        :lp=/dev/lp1:\
        :if=/var/spool/lpd/postscript/filter:\
        :sh:
raw:\
        :sd=/var/spool/lpd/raw:\
        :mx#0:\
        :lp=/dev/lp1:\
        :if=/var/spool/lpd/raw/filter:\
        :sh:
\end{verbatim}
\end{tscreen}

\end{itemize}


¨ä¥L§ó¬°½ÆÂø©Î¤Ö¨£ªº¥´¦L³]¸m¡A½Ð°Ñ¦Ò Printing-HOWTO¡C

ª`·N¡G¦p¨Ï¥Î{\ttfamily printtool}¡APrinttool¿ï¨úªº GSDEVICE ¥i¥H¥Î¤_¥´¦L¡A¦ý¤£¤@©w¬O³Ì¦nªº¿ï¾Ü¡C¤£§«¹ï{\ttfamily postscript.cfg}ÀÉ§@¨Ç­×§ï¡F¨Ò¦p¡A§â GSDEVICE ¤º{\ttfamily cdj500} §ï¬° {\ttfamily djet500}¡A´N¥i¥[§Ö¥´¦Lªº³t«×¡C




\subsection{SVGATextMode \label{SVGA}}



©ñ¦b\nameurl{ftp://tsx-11.mit.edu/pub/ Linux /sources/sbin}{}¤Wªº¤u¨ã³n¥ó¹ï§ïÅÜ¥D±±¥xªº«Ì¹õ¤À¿ë²v¡B¦rÅé©M´å¼Ðªº§Îª¬«D±`¦³¥Î¡C
¦b¥D±±¥x¤W¤u§@®É¡A»Ý­n¨Ï¥Î­«­µ¦rÅéªº¤å¦r¡]Ä¶µù¡G¦p¼Ú¬w¤å¦r¡^
©Î»Ý­n§ïÅÜµ§°O¥»¹q¸£´å¼Ðªº¤j¤p³£¥i¨Ï¥Î³o®M³n¥ó¡C

±qÀq»{ªº VGA °Ñ¼Æ¶}©l¡A­º¥ý½s¿è\url{/etc/TextConfig}©Î\url{/etc/TextMode}¡C
¨Ï¥Î¼Ú¬w¤å¦rªº¥Î¤áÀ³¸Ó¹ï¨ä¤¤§t¦³¡§LoadFont¡¨¤@¸`·P¨ì¼y©¯¡C

\begin{tscreen}
\begin{verbatim}
Option "LoadFont"
FontProg "/usr/bin/setfont"
FontPath "/usr/lib/kbd/consolefonts"
FontSelect "lat1u-16.psf"   8x16 9x16 8x15 9x15
FontSelect "lat1u-14.psf"   8x14 9x14 8x13 9x13
FontSelect "lat1u-12.psf"   8x12 9x12 8x11 9x11
FontSelect "lat1u-08.psf"   8x8  9x8  8x7  9x7
\end{verbatim}
\end{tscreen}


§¹¦¨³o¶µ³]©w¤§«á¡A¹B¦æ{\ttfamily SVGATextMode "80x34x9"}¡C¦pªGÄ±±o¤@¤Á¹B¦æ¶¶§Q¡A±q\url{/etc/TextMode}¤¤§R°£Äµ§i¡A¦}±N¤U¦æ¼g¤J
\url{etc/rc.d/rc.sysinit}¡G

\begin{tscreen}
\begin{verbatim}
# SVGATextMode
/usr/sbin/SVGATextMode "80x34x9"
\end{verbatim}
\end{tscreen}


ª`·N¡G¤è¶ô´å¼Ð¥u¦b¦³¨Ç¼Ò¦¡¤U¦³®Ä¡F¦b§Úªºµ§°O¥»¹q¸£¤W¡A¨ä¼Æ­È¬°¡§80x32x9¡¨¡C




\section{ºÞ²z­ûªº¤@¯ë¤u§@}



­n°µªº¤u§@¨º»ò¦h¡A®É¶¡¤S¨º»ò¤Ö¡I¾¨ºÞ¦³³\¦h¤u§@­n§¹¦¨¡A¦ý§Ú­ÌÁÙ¬O¥ý±q³o¤@¸`¶}©l¡C
³o¤@¸`¥D­n»Pºô¸ô¦³Ãö¡C
ºô¸ôÁpºô¯A¤Îªº°ÝÃDË¼¦h¡AµLªk¦b¦¹¥þ³¡·§¬A¡C­º¥ýÀ³°Ñ¦ÒNET-3 HOWTO¡A¦¹¥~¡A¦h¼Æ Linux ª©¥»¤]´£¨Ñ¤F¦p¦ó³]©wºô¸ô¥\¯àªº¸ê®Æ¡C¦¹³B¥u¹w³Æ°Q½×¨ä¤¤¤L¶µ­nÂI¡C



°²³]¦b Linux ¤W¹w³Æ¦w¸Ëcalendar©Îreminder¡BHttp¡BSamba¡Btelnet/sshµn¿ý¡B°Î¦W
ftp¡]anonymous ftp¡^¡BPOP/IMAPªA°È¾¹©MNFSµ¥¥\¯à¡C




\subsection{ºô¸ô³]¸m}

³]©w Linux ¦UºØª©¥»ºô¸ô¥\¯àªº¤èªk¥i¯à¬Û·í½ÆÂø¡A¦ý¤U­z¸}¥»¨¬°÷±Ò°Êºô¸ô¡G

\begin{tscreen}
\begin{verbatim}
#!/bin/sh

# net-up.sh: set up network access --³]©wÁpºô

DEVICE=eth0      #-- ºô¥d
IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.1

ifconfig $DEVICE $IPADDR netmask $NETMASK up
route add -net $NETWORK netmask $NETMASK $DEVICE
route add default gw $GATEWAY
\end{verbatim}
\end{tscreen}


³o­Ó¸}¥»¦b¨Ï¥Î¸Ñ±ÏºÏ¤ù³s±µºô¸ô®É«D±`¦³¥Î¡C·íµM¡A¥¦¥u¯à¨Ï¾÷¾¹³q¹L ping¡Aftp ©M
telnet »P¥~¬ÉÁpµ¸¡C




\subsection{¤À¨Éºô»Úºô¸ô}



Linux ªA°È¾¹ªº¤@¶µ³Ì¦³¥Îªº¥\¯à´N¬O¤À¨Éºô»Úºô¸ô¡C¥Ø«e¡A¤j¦h¼Æ²{¦¨¥i¥Îªº¤º®Ö³£¤wªþ¦³ IP firewalling¡Bmasquerading ©M forwarding ªº¥\¯à¡C¦p­nª¾¹D¸Ô²Ó¥\¯à¡A¥i°Ñ¬Ý IP-Masquerade mini-HOWTO¡CµM«á¦w¸Ë ipfwadm¡]¤º®Ö 2.0.x¡F\nameurl{http://www.xos.nl/ Linux /ipfwadm/}{}¡^©Î ipchains¡]¤º®Ö2.2.x¡F\nameurl{http://www.adelaide.net.au/}{}¡^¡C

ª`·N¡G¹ï»Ý­nªº¥\¯à¡A±Ò°Ê¬ÛÀ³ªº¤º®Ö¼Ò²Õ¡C¨Ò¦p¡A¦p»Ý­nftp¡A«hÀ³±N¤U¦æ¥[¤J
\url{/etc/rc.d/rc.sysconfig}¡G

\begin{tscreen}
\begin{verbatim}
/sbin/modprobe ip_masq_ftp
\end{verbatim}
\end{tscreen}


¨ä¥L¼Ò²Õ³q±`³£©ñ¦b\url{/lib/modules/KERNEL-VERSION/ipv4}ÀÉ¤¤¡C

¬°¥»¦aºô¸ôªº¨ä¥L¾÷¾¹±Ò°ÊIP masquerading¥\¯àªºµ{§Ç«D±`Â²³æ¡C­º¥ýÀË¬dºô¸ôªì©l¤Æ¸}¥»\url{/etc/sysconfig/network}
¡]À³¦bÀ³¸Ó©ñ¸mªº¦ì¸m¡^¬O§_¦³¤º®e¬°{\ttfamily FORWARD\_IPV4=true}ªº¤@¦æ¡C³q±`¦bºô¸ô±Ò°Ê®É
\url{/proc/sys/net/ipv4/ip\_forward}§¡³]¬° 1¡C

¦b\url{/etc/rc.d/rc.sysinit}¤¤¼W¥[¥H¤U¼Æ¦æ¡G

\begin{tscreen}
\begin{verbatim}
# default: packets cannot go reach the outside 
# ¹w³]¬°¼Æ¾Ú¥]µLªkµo°e¨ìºô»Úºô¸ô
/sbin/ipfwadm -F -p deny
# allow all machines on the local network to reach the Internet
# ¨Ï¥»¦aºô¸ô¤Wªº©Ò¦³¾÷¾¹§¡¥i³s±µºô»Úºô¸ô
/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
# alternatively, allow only these two machines
# ©Î¥uÅý¤U­±¨â¥x¹q¸£³s¨ìºô»Úºô¸ô
# /sbin/ipfwadm -F -a m -S 192.168.1.100/24 -D 0.0.0.0/0
# /sbin/ipfwadm -F -a m -S 192.168.1.101/24 -D 0.0.0.0/0
\end{verbatim}
\end{tscreen}


¦p Linux ¤w¨Ï¥Î 2.2.x ¨t¦C¤º®Ö¡A¥H{\ttfamily ipfwadm-wrapper}¥N´À{\ttfamily ipfwadm}¥i¥[§Ö±Ò°Ê³t«×¡C



²{¦bÀ³¨Ï¥Î¤áºÝ¾÷¾¹¼·±µISP¡F¥i¸Õ¥ÎMserver¡]\nameurl{http://cpwright.villagenet.com/mserver/}{}¡^¡C­×§ï\url{etc/mserver.conf}¡F
¥u»Ý§ï°Ê¡§checkhost¡¨¡B¡§shadow¡¨©M¡§cname¡¨¤T¶µ¡CµM«á³]©wÁpºô°Ñ¼Æ¡C






\subsection{­­¨îºô¸ô³s±µ\label{Restricting}}

°²©w¹q¸£³q¹LPPP³s¨ìºô»Úºô¸ô¡C¥ô¦ó¾÷¾¹³s¨ìºô»Úºô¸ô´N¦³¥i¯à¾D¨ì¥~¬Éªº¤J«I¡C¦b
\url{/etc/hosts.allow}¤¤¦C¤J¥H¤U¤º®e¡G

\begin{tscreen}
\begin{verbatim}
# only allow access to localhost
# ¥u¤¹³\³s¨ìlocalhost
ALL: 127.
\end{verbatim}
\end{tscreen}


¨Ã¦b\url{/etc/hosts.deny}¤¤¦C¤J:

\begin{tscreen}
\begin{verbatim}
# deny access to everyone
# ¤£Åý¥ô¦ó¤H¶i¤J
ALL: ALL
\end{verbatim}
\end{tscreen}


¦pªG¹q¸£©ÒÄÝªººô¸ôª½±µ»Pºô»Úºô¸ô³s±µ¡A¥Ñ¤_¦w¥þªº²z¥Ñ¡A³Ì¦n¨ú®øfinger¡Btelnetµ¥¥\¯à¡F
§Q¥Î{\ttfamily ssh}´À¥Ntelnet¡C¦¹³B¥u­n­×§ï\url{/etc/inet.conf}ÀÉ§Y¥i¡C¦P®É¡A
¤]¥i¦b\url{/etc/hosts.allow}¤¤¼W¥[¤U¦C¤º®e­­¨îºô¸ô³s±µ¡G

\begin{tscreen}
\begin{verbatim}
in.telnetd: 192.168.1., .¥t¤@­Ó.¥i«Hªº.ºô¸ô¦a§}
in.ftpd: 192.168.1., .¥t¤@­Ó.¥i«Hªº.ºô¸ô¦a§}
\end{verbatim}
\end{tscreen}


¨Ã¦b\url{/etc/hosts.deny}¤¤¼W¥[¤U¦C¤º®e:

\begin{tscreen}
\begin{verbatim}
in.telnetd: ALL
in.ftpd: ALL
\end{verbatim}
\end{tscreen}





\subsection{NFS¿é¥X}

³oºØ¤è¦¡¥Î¤_ªA°È¾¹¥Î¤á¥Ø¿ýªº¿é¥X¡F¦ý¦pªG¥Î¤áªº UID ©M GID ¦b¦U¥x¾÷¾¹¤W¦U¤£¬Û¦P¡A´N·|µo¥Í°ÝÃD¡C¦pªG¥Î¤á guido ¦b{\ttfamily server}¤Wªº UID/GID ¬° 500¡A¦b{\ttfamily client}¤Wªº UID/GID ¬° 512¡A«h¥i³]¸m¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
# /etc/exports
/tmp            my.client.machine(rw)
/home/guido     my.client.machine(rw,map_static=/etc/nfs/client.map)
\end{verbatim}
\end{tscreen}


¦b\url{/etc/nfs/client.map}ÀÉ¤¤¶ñ¤J¡G

\begin{tscreen}
\begin{verbatim}
# /etc/nfs/client.map
# NFS mapping for client
#       remote          local
uid     512             500
gid     512             500
\end{verbatim}
\end{tscreen}







\subsection{°ì¦WªA°È¾¹}



¦³«Ý½s¼g ¡]Ä¶µù¡G§@ªÌÅãµM§Ñ¤F½s¼g³o³¡¤À¤º®e¡^




\section{³n¥ó³]¸m\label{config}}



¤U¦C³]¸mÀÉ¥²»Ý¥[¥H³]©w¡G\url{/etc/profile} \url{/etc/bashrc} {\ttfamily .bashrc}
{\ttfamily .bashrc .bash\_profile .bash\_logout .inputrc .less .lessrc .xinitrc }
{\ttfamily .fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num .Xdefaults .jedrc }
{\ttfamily .abbrevs.sl .joerc .emacs }.
¦b§¹¦¨¨t²Î³]©w¥H«e¤£­n¼W²K¥Î¤á¡F»Ý­n±NÂI¤åÀÉ(dot files)©ñ¤J\url{/etc/skel}¡C




\subsection{bash(1)}

¦³¤H»{¬°¡A³o­Ó³n¥ó¬O°£¤º®Ö¤§¥~³Ì­«­nªº³n¥ó¡C­n¨Ï{\ttfamily bash}¾A¦X­Ó¤H¤f¨ý¡A
¥i­×§ï¤U¦C¤åÀÉ¡G

\begin{itemize}
\item  \url{/etc/bashrc} ¦s¦³¾ã­Ó¨t²Îªº§O¦W©M¥\¯à¡F
\item  \url{/etc/profile} ¦s¦³¾ã­Ó¨t²ÎªºÀô¹Ò°Ñ¼Æ©M±Ò°Êµ{¦¡¡F
\item  {\ttfamily \$HOME/.bashrc} ¦s¦³¥Î¤áªºªº§O¦W©M¥\¯à¡F
\item  {\ttfamily \$HOME/.bash\_profile} ¦s¦³¥Î¤áªºÀô¹Ò°Ñ¼Æ©M±Ò°Êµ{¦¡¡F
\item  {\ttfamily \$HOME/.inputrc} ¦s¦³¥D­n¸j©w¼Æ­È©M¨ä¥L¦ì¤¸¼Æ­È¡F
\end{itemize}


¤U¤å¨ÒÁ|¹ï³o¨Ç¤åÀÉªº­×§ï¡C­º¥ý¡A³Ì­«­nªº¤åÀÉ¬O¡G{\ttfamily /etc/profile}¡C¥H¤U¤L¸`¤¤¥i¥H¬Ý¨ì¡A
­×§ï³o­Ó¤åÀÉ¥i¥H³]©w Linux ªº¦UºØ¥\¯à¡C

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
# /etc/profile

# System wide environment and startup programs
# --¾ã­Ó¨t²ÎÀô¹Ò©M±Ò°Êµ{¦¡
#
# Functions and aliases go in /etc/bashrc
# --/etc/bashhrc¤¤¥]§t¥\¯à©M§O¦W
#
# This file sets up the following features and programs:
# --³o­Ó¤åÀÉ³]©w¤U¦C¥\¯à¡G
#
#   o path --¸ô®|
#   o prompts  --´£¥Ü²Å
#   o a few environment variables  --¤L­ÓÀô¹ÒÅÜ¼Æ
#   o colour ls --ls ªºÃC¦â
#   o less behaviour    --³]©wlessªº¥\¯à 
#   o rxvt
#
# Users can override these settings and/or add others in their
# $HOME/.bash_profile
# ¥Î¤á¥i¦b $HOME/.bash_profile ¤¤¨ú®ø³o¨Ç³]©w©M¡]©Î¡^¼W¥[¨ä¥L³]©w


# set a decent path
# ³]©w¥i¦æªº¸ô®|

PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."

# notify the user: login or non-login shell. If login, the prompt is
# coloured in blue; otherwise in magenta. Root's prompt is red.
# See the Colour-ls mini  HOWTO  for an explanation of the escape codes.
# ³qª¾¥Î¤á¡Gµn¿ý¡]login¡^©Î¤£µn¿ý¡]non-login¡^ªº¥~³òµ{§Ç¡]shell¡^¡C
# ¦pªGµn¿ý¡A«h´£¥Ü²Å¬°ÂÅ¦â¡A§_«h¬°µµ¬õ¦â¡CRootªº´£¥Ü²Å¬°¬õ¦â¡C
# °Ñ¾\Colour-ls mini  HOWTO ¤¤¹ï´«½X²Å(escape codes)ªº¨Ï¥Î¸ÑÄÀ¡C

USER=`whoami`
if [ $LOGNAME = $USER ] ; then
  COLOUR=44  # blue --ÂÅ¦â
else
  COLOUR=45  # magenta --µµ¬õ¦â
fi

if [ $USER = 'root' ] ; then
  COLOUR=41  # red --¬õ¦â
  PATH="$PATH:/usr/local/bin"
fi

ESC="\033"
PROMPT='\h'    # hostname --¥D¾÷¦W
STYLE=';1m'    # bold --²ÊÅé
# PROMPT='\u'  # username --¥Î¤á¦W
# STYLE='m'    # plain --¤@¯ë¦rÅé
PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ "
PS2="> "

# no core dumps, please
# ½Ð¤ÅÂàÀx¤º¦s«H®§

ulimit -c 0

# set umask
# ³]©wumask

if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
  umask 002
else
  umask 022
fi

# a few variables
# ¤L¶µÅÜ¼Æ

USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"  # sendmail, postfix, smail 
# MAIL="$HOME/Mailbox"        # qmail
NNTPSERVER=news.myisp.it      # put your own here 
VISUAL=jed
EDITOR=jed
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER
export VISUAL EDITOR HOSTNAME HISTSIZE HISTFILESIZE

# enable colour ls
# ³]©wlsªºÃC¦â

eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-s -F -T 0 --color=yes'

# customize less
# ³]©wless

LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
LESSCHARDEF=8bcccbcc13b.4b95.33b. # show colours in ls -l | less
# LESSCHARSET=latin1
PAGER=less
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF

# fix the backspace key in rxvt/xterm
# ³]©wrxvt/xterm¤¤ªº°h«áÁä

CTRL_H="\010"
NULL_STRING=" $CTRL_H" # space + backspace
if [ "$NULL_STRING" != "" ] ; then
  stty erase ^?
else
  stty erase ^H
fi

# set xterm title: full path
case $TERM in
  xterm*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
    ;;
esac

for i in /etc/profile.d/*.sh ; do
  if [ -x $i ]; then
    . $i # beware - variables and aliases might get overridden!
  fi
done

# call fortune, if available  --¦p¦³fortune
if [ -x /usr/games/fortune ] ; then
  echo ; /usr/games/fortune ; echo
fi
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦¹³B¬° \url{/etc/bashrc}¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
# /etc/bashrc

# System wide functions and aliases
# ¾ã­Ó¨t²Îªº¥\¯à©M§O¦W
#
# Environment stuff goes in /etc/profile
# /etc/profile¤¤ªºÀô¹Ò°Ñ¼Æ
#
# Insert PS1 definitions here if you experience problems.
# ¦p¦³°ÝÃD¥i±NPS1ªº°Ñ¼Æ©ñ¦b¦¹³B

export CDPATH="$CDPATH:

# common aliases --¦@¦P§O¦W

alias cp='cp -i'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias rmbk='/bin/rm -f .*
alias u='cd ..'
alias which="type -path"
alias x=startx

# A few useful functions --¤L¶µ¦³¥Îªº¥\¯à

c ()    # cd to the new directory and list its contents
{
  cd $1 ; ls
}

inst()  # Install a .tar.gz archive in current directory --¦b·í«e¥Ø¿ý¤¤«Ø¥ß.tar.gzÀx¦s®w
{
  if [ $# != 0 ]; then tar zxvf $1; fi
}

cz()    # List the contents of a .zip archive --¦C¥X.zipªº¤º®e
{
  if [ $# != 0 ]; then unzip -l $*; fi
}

ctgz()  # List the contents of a .tar.gz archive --¦C¥X.tar.gzªº¤º®e
{
  for file in $* ; do
    tar ztf ${file}
  done
}

tgz()   # Create a .tgz archive a la zip. --«Ø¥ßÀ£ÁYÀÉ.tgz
{
  if [ $# != 0 ]; then
    name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name}
  fi
}

crpm()  # list information on an .rpm file --¦C¥X.rpmÀÉªº¤º®e
{
  if [ $# != 0 ]; then rpm -qil $1 | less; fi
}
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦¹³B¬° {\ttfamily .bashrc}¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
# $HOME/.bashrc
# Source global definitions

if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

# this is needed to notify the user that they are in non-login shell
# »Ý­n¥H¤U³]©w¡A¥H«K³qª¾³B©ó¤£µn¿ý¡]non-login¡^¥~³òµ{§Ç¡]shell¡^¤¤ªº¥Î¤á

if [ "$GET_PS1" = "" ] ; then
  COLOUR=45; ESC="\033"; STYLE=';1m';  # STYLE='m'
  USER=`whoami`
  export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ "
fi

# personal aliases
# ­Ó¤H§O¦W

alias backup='tar -Mcvf /dev/fd0'
alias dial='eznet up myisp'
alias f='cd 
alias hangup='eznet down'
alias lyx='lyx -width 580 -height 450'
alias restore='tar -M -xpvf /dev/fd0'

# personal functions
# ¤L­Ó­Ó¤H¨Ï¥Îªº¥\¯à

xj()    # Launch xjed and a file in background --¦b­I´º±Ò°Êxjed©M¤åÀÉ
{
  xjed $1 &
}
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦¹³B¬°{\ttfamily .bash\_profile}¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
# $HOME/.bash_profile

# User specific environment and startup programs
# ¥Î¤á¯S©wªºÀô¹Ò°Ñ¼Æ©M±Ò°Êµ{¦¡
#
# This file contains user-defined settings that override
# those in /etc/profile
# ³o­Ó¤åÀÉ¤¤¦s¦³¥Î¤á¦Û­qªº³]¸m¡A¥i¨ú¥N/etc/profile ¤¤ªº¼Æ­È
#
# Get aliases and functions
# ³]©w§O¦W©M¥\¯à
#
if [ -f  then
  GET_PS1="NO"  # don't change the prompt colour --¤£§ïÅÜ´£¥Ü²ÅªºÃC¦â
  . 
fi

# set a few `default' directories
# ³]©w¤L­Ó¡§Àq»{¡¨¥Ø¿ý

export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology"
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¦¹³B¬° {\ttfamily .inputrc}¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
# $HOME/.inputrc

# key bindings
# ¥D­n¸j©w

"\e[1
"\e[3
"\e[4
# (F1 .. F5) are "\e[[A" ... "\e[[E"
# (F1 .. F5) ¤À§O¬° "\e[[A" ... "\e[[E"

"\e[[A": "info \C-m"

set bell-style visible          # please don't beep
                                # ³â¥z¤£µoÁn
set meta-flag On                # allow 8-bit input (i.e, accented letters)
                                # ¤¹³\8-¦ì¤¸¿é¤J¡]¨Ò¦p­«­µ¦r²Å¡^Ä¶µù¡G¥Î¤_¼Ú¬w

set convert-meta Off            # don't strip 8-bit characters
                                # ¤£¨ú®ø8-¦ì¤¸¦r²Å
set output-meta On              # display 8-bit characters correctly
                                # ¥¿½TÅã¥Ü8-¦ì¤¸¦r²Å
set horizontal-scroll-mode On   # scroll long command lines
                                # ªø«ü¥O¦æ¦Û°ÊÂ½Âà
set show-all-if-ambiguous On    # after TAB is pressed
                                # «öTABÁä
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


³]©w¤U¦C°Ñ¼Æ¨Ï backspace ©M delete ¨âÁä¦b{\ttfamily xterm} ©M¨ä¥LX11À³¥Î¤¤¹B§@¥¿±`¡G
\begin{itemize}
\item  ¦b{\ttfamily .xinitrc}¤¤²K¥[¡G

\begin{tscreen}
\begin{verbatim}
usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap
\end{verbatim}
\end{tscreen}

\item  ¦b{\ttfamily .Xmodmap}¤¤²K¥[¡G

\begin{tscreen}
\begin{verbatim}
keycode 22 = BackSpace
keycode 107 = Delete
\end{verbatim}
\end{tscreen}


¥H¤W´N³]©w¤F¥D±±¥xªº°Ñ¼Æ¡C­n­×§ï{\ttfamily xterm}¡A«h§ó§ï¦p¤U¡G
\item  ¦b{\ttfamily .Xdefaults}¤¤¼W²K¡G

\begin{tscreen}
\begin{verbatim}
xterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
        <Key>Delete:        string(0x1b) string("[3
        <Key>Home:          string(0x1b) string("[1
        <Key>End:           string(0x1b) string("[4
        Ctrl<Key>Prior:     string(0x1b) string("[40
        Ctrl<Key>Next:      string(0x1b) string("[41

nxterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
        <Key>Delete:        string(0x1b) string("[3
        <Key>Home:          string(0x1b) string("[1
        <Key>End:           string(0x1b) string("[4
        Ctrl<Key>Prior:     string(0x1b) string("[40
        Ctrl<Key>Next:      string(0x1b) string("[41
\end{verbatim}
\end{tscreen}

\end{itemize}


{\ttfamily rxvt}ªº°ÝÃD¤ñ¸û½ÆÂø¡A¦]¬°¦b½s¿è®Éªº¤@¨Ç³]©w·|¼vÅT¥¦ªº¥\¯à¡C°Ñ¬Ý¤W¤å
\url{/etc/profile}³¡¤À¡C

¦b{\ttfamily bash}(1) ©M {\ttfamily readline}(3) ªº man »¡©ú¤¤¦³§ó¦h³o¤è­±ªº¸ê®Æ¡C

¤£­n¥H¬°³o¨Ç³]©w¦b¨CºØÀ³¥Î¤¤³£¥i¥¿±`¹B§@¡C¨Ò¦p¡A¦b{\ttfamily xterm}¤¤¹B¦æ{\ttfamily joe}¡A
¦³¨ÇÁä¦ì´N¤£°_§@¥Î¡F¹B¦æ{\ttfamily rxvt}¤]¦³¬Û¦Pªº°ÝÃD¡C




\subsection{ls(1)}

{\ttfamily ls}¥i¥ÎÃC¦âÅã¥Ü¥Ø¿ý¡A¬ð¥X¤£¦PºØÃþªº¤åÀÉ¡C¦p¤W¤å©Ò¥Ü¡A­n¨Ï¥Î³o¶µ¥\¯à¡A¥u­n¦b
\url{/etc/profile} ¼W¥[¤L¦æ¤º®e§Y¥i¡C¤£¹L¡A³o¹ï¦³¨Çª©¥»ªº{\ttfamily rxvt}¤£°_§@¥Î¡F
±o¨Ï¥Î {\ttfamily xterm} ´À¥N¡C¬Ý¨Ó¤@¨Ç¦Ñª©¥»ªº{\ttfamily rxvt}¦³³]­p¤£¥þ¤§³B¡A¥H­P¦b¦³¨Ç±¡ªp¤UµLªk¥¿½T¨Ï¥ÎÀô¹Ò°Ñ¼Æ¡C

Calderaª©¥»ªº{\ttfamily ls}¤£Åã¥ÜÃC¦â¡A¦ý¥¦¦³¤@­ÓÃþ¦üªº{\ttfamily color-ls}¡C
±N¥H¤U¤º®e¥[¨ì \url{/etc/bashrc}¡G

\begin{tscreen}
\begin{verbatim}
alias ls="color-ls $LS_OPTIONS"
\end{verbatim}
\end{tscreen}





\subsection{less(1)}



§Q¥Î³o­ÓÀu¶Vªº­¶­±½Õ«×µ{§Ç¤£¶È¯àÂsÄý¤@¯ë¤å¦r¤åÀÉ¡A¤]¯àÆ[¬ÝÀ£ÁYªº gzip ¤åÀÉ©M¥H tar ©M zip ®æ¦¡Àx¦sªºÀÉ®×¤åÀÉ©M man ¤åÀÉ¡A¨ä³]¸m¦p¤U¡G

\begin{itemize}
\item  ¦p­n°t¦X¨Ï¥Î¤è¦VÁä¡A«h±N¥H¤U¥HASCII½s¼gªº¤@¯ë¤å¦rÀÉ{\ttfamily .lesskey} ¸m¤_home¥Ø¿ý¤º¡G

\begin{tscreen}
\begin{verbatim}
^[[A   back-line
^[[B   forw-line
^[[C   right-scroll
^[[D   left-scroll
^[OA   back-line
^[OB   forw-line
^[OC   right-scroll
^[OD   left-scroll
^[[6
^[[5
^[[1
^[[4
^[[7
^[[8
\end{verbatim}
\end{tscreen}


µM«á¹B¦æ«ü¥O{\ttfamily lesskey}¡C¡]³o¬OÃþ¦üvt100«¬²×ºÝ¾÷ªº´«½X²Å¡^¡C
³o·|¥Í¦¨¸j©wÁä¦ìªº¤G¶i¨î¤åÀÉ {\ttfamily .less}¡C

\item  ½s¨î¤U¦CºÙ¬°w \url{/usr/local/bin/lesspipe.sh}ªº¤åÀÉ¡G

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
#!/bin/sh
# This is a preprocessor for 'less'.  It is used when this environment
# variable is set:   LESSOPEN="|lesspipe.sh %s"
# ¦¹¬°¡¥less¡¦ªº¹w³B²z¾¹¡C·íÀô¹Ò°Ñ¼Æ©w¬°LESSOPEN="|lesspipe.sh %s"
# ®É¡A«K°_¥Î³o­Ó¹w³B²z¾¹¡C

lesspipe() {
  case "$1" in
  *.tar) tar tf $1 2>/dev/null ;; # View contents of .tar and .tgz files
                                  # ¾\Åª.tar©M.tgzÀÉªº¤º®e
   *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
  *.Z|*.z|*.gz) gzip -dc $1  2>/dev/null ;; # View compressed files
correctly
                                                # ¥¿½T¾\ÅªÀ£ÁY¤åÀÉ
  *.zip) unzip -l $1 2>/dev/null ;; # View archives
                                    # ¾\ÅªÀÉ®×¤åÀÉ
  *.arj) unarj -l $1 2>/dev/null ;;
  *.rpm) rpm -qpil $1 2>/dev/null ;;
  *.cpio) cpio --list -F $1 2>/dev/null ;;
  *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.l|*.man) FILE=`file -L $1`
    FILE=`echo $FILE | cut -d ' ' -f 2`
    if [ "$FILE" = "troff" ]; then
      groff -s -p -t -e -Tascii -mandoc $1
    fi ;;
  *) file $1 | grep text > /dev/null ;
    if [ $? = 1 ] ; then # it's not some kind of text
      strings $1
    fi ;;
  esac
}

lesspipe $1
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


µM«á¹B¦æ{\ttfamily chmod 755 lesspipe.sh}¡A¨Ï¨ä¦¨¬°¥i°õ¦æÀÉ¡C
\item  «ö·Ó¤W¤å±N¥²­nªºÅÜ¼Æ©ñ¤J\url{/etc/profile}¡C
\end{itemize}





\subsection{emacs(1) ¤å¥»½s¿è¾¹}

¥Ñ¤_§Ú¤£¤Ó¥Î{\ttfamily emacs}¡A¦]¦¹¤ß±o¤£¦h¡C¦³¨Ç{\ttfamily emacs} ª©¥»¨S¦³¹w¥ý³]¸mÃC¦â©M»yªk¼Ð¥Ü¡C¥i¦b{\ttfamily .emacs}¤¤¼W²K¡G

\begin{tscreen}
\begin{verbatim}
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
\end{verbatim}
\end{tscreen}


³o¥u¹ïX11¦³¥Î¡C¦p»Ý¨Ï¥Î­«­µ²Å¸¹¡A¥i¼W¥[¦¹¦æ¡G

\begin{tscreen}
\begin{verbatim}
(standard-display-european 1)
\end{verbatim}
\end{tscreen}


§ÚÅý±z¦Û¤v±qÃö©ó{\ttfamily emacs}ªº¤å¥ó¸ê®Æ¤¤´M§ä³]©w²Å¦X±zªº»Ý­nªº¤èªk¡A¦³®É³o»Ý­n¤L­Ó¤ëªº®É¶¡¡C
ÂI¤åÀÉ²£¥Í¾¹¡]\ref{Config sw} {(³]¸m³n¥ó)}¡^¥i¥HÀ°¨Ç¦£¡C




\subsection{joe(1) ¤å¥»½s¿è¾¹}



¦³¨Ç{\ttfamily joe}ªºª©¥»¤£¦b¥D±±¥xÅã¥ÜÃC¦â¡A¨Ã¥B¦³¨Ç¯S®íÁä¦ì¤£°_§@¥Î¡C¸Ñ¨M³o¶µ°ÝÃDªº³Ì§Ö¤èªk¬O¡G

\begin{tscreen}
\begin{verbatim}
   (Ä¶µù¡G­ì¤å¦ü¥G¦³º|)
\end{verbatim}
\end{tscreen}


­n¨Ï¯S®íÁä¦ìµo¥Í§@¥Î¡A¥u­n­×§ï{\ttfamily .joerc}¡B{\ttfamily .jstarrc}©Î³ß·Rªº¥é¯u³]©w¡F
­º¥ý§ïÅÜ\url{/usr/lib/joe}¤¤ªº³]¸m¤åÀÉ¡C§Q¥Î²Ä¥|³¡¤À¡]Áä¦ì±õ©w¡^³]©wHome©M End¨âÁä¡C

\begin{tscreen}
\begin{verbatim}
bol ^[ [ 1 
eol ^[ [ 4 
\end{verbatim}
\end{tscreen}


§ä¥XESCªº¦¸§Ç¡AÁä¤J{\ttfamily cat}¡AµM«á¦AÁä¤J¯S®íÁä¡C




\subsection{jed(1) ¤å¥»½s¿è¾¹}

³o¬O¬Û·í¦n¥Îªº½s¿è¾¹¡G¤ñ{\ttfamily emacs}µu¤pºë®«¡A¤]©y©ó³]©w¡A¨Ï¥Î¤è¦¡¤]»P¨ä¥L½s¿è¾¹¤Q¤ÀÃþ¦ü¡C
§Ú­Ì¤j¾Çªº³\¦h¥Î¤á³£¥Î{\ttfamily jed}´À¥NVMSªº¨t²Î½s¿è¾¹{\ttfamily EDT}¡C

{\ttfamily jed}ªº³]¸m¤åÀÉ¬° {\ttfamily .jedrc}©M\url{/usr/lib/jed/lib/*}¡F«eªÌ¥i±q«áªÌ¥Ø¿ý¤¤ªº{\ttfamily jed.rc}­×§ï¦Ó±o¡C

\begin{itemize}
\item ­n¨Ï{\ttfamily jed}ªº¯S®íÁä¦ì³]¸m¥¿½T¡A½s¨î\url{/usr/lib/jed/lib/defaults.sl}ÀÉ¡A
¨ä¤º®e¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
() = evalfile(" Linux ");
\end{verbatim}
\end{tscreen}

\item ¦pªG{\ttfamily xjed}¤£ÃÑ§ODELÁä¡A«h¦b{\ttfamily .jedrc}¤¤¼W¥[¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
#ifdef XWINDOWS
  x_set_keysym (0xFFFF, 0, "\e[3
  setkey (``delete_char_cmd'', "\e[3
#endif
\end{verbatim}
\end{tscreen}

\item  ½s¿è\url{/usr/lib/jed/lib/ Linux .sl}¡A³]©w{\ttfamily Info\_Directory = "/usr/info";}¦}¦b{\ttfamily /UCB\_Mailer = "/bin/mail";}¦Z²K¥[{\ttfamily /bin/mail}¡F

\item  ³]¸m{\ttfamily jed}¼ÒÀÀ{\ttfamily EDT}¡]©Î¨ä¥L½s¿è¾¹¡^ªº¤u§@¤£Ãø¡G¥u¶·½s¿è
{\ttfamily .jedrc} ¤¤ªº¤L¦æ¤º®e¡C ¦pªG­n¥Î¤pÁä½L¤¤ªº¡¥+¡¦Áä§R¦r¡A¦Ó¤£¥u§R¤@­Ó¦r¥À¡A«h¦b{\ttfamily .jedrc}¤¤{\ttfamily () = evalfile("edt")}¡]©ÎÃþ¦üªº³]©w¡^¤§«á¼W²K¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
unsetkey("\eOl");
unsetkey("\eOP\eOl");
setkey("edt_wdel", "\eOl");
setkey("edt_uwdel", "\eOP\eOl");
\end{verbatim}
\end{tscreen}


\item  ¦b{\ttfamily EDT}¼ÒÀÀ¤¤¡A­n¨Ï{\ttfamily xjed}¨Ï¥Î¼Æ¦r¤pÁä½L¡A«h¶·¦b {\ttfamily .Xmodmap} ¤¤²K¥[¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
keycode 77  = KP_F1
keycode 112 = KP_F2
keycode 63  = KP_F3
keycode 82  = KP_F4
keycode 86  = KP_Separator
\end{verbatim}
\end{tscreen}

\item  ¦b{\ttfamily .Xdefaults}¤¤¼W¥[¥H¤U¤º®e¥i¥H§ó§ï{\ttfamily xjed}ªºÃC¦â¡G

\begin{tscreen}
\begin{verbatim}
xjed*Geometry: 80x32+150+50
xjed*font: 10x20
xjed*background: midnight blue
# and so on...
\end{verbatim}
\end{tscreen}

\item  ³]©w¡§Â²ºÙªí¡¨¥i¸`¬Ù³\¦h®É¶¡¡C½s¿è¤@­ÓºÙ¬° {\ttfamily \$HOME/.abbrevs.sl}
ªºµ{§Ç¡]¦p­n§ïÅÜ¦WºÙ¡A¥i¦b{\ttfamily .jedrc}¤¤´¡¤J{\ttfamily variable Abbrev\_File = "/usr/lib/jed/abbrev.sl";}¡^¡G

\begin{tscreen}
\begin{verbatim}
create_abbrev_table ("Global", "0-9A-Za-z");
define_abbrev ("Global", "GG", "Guido Gonzato");
create_abbrev_table ("TeX", "\\A-Za-z0-9");
define_abbrev ("TeX", "\\beq", "\\begin{equation}");
define_abbrev ("TeX", "\\eeq", "\\end{equation}");
% and so on...
\end{verbatim}
\end{tscreen}


¨ÃÁä¤J{\ttfamily ESC x abbrev\_mode}¨Ï¨ä¹B¦æ¡C¦p­n¦Û°Ê¹B¦æÂ²ºÙ¥\¯à¡A±N¤U¦C¤º®e¥[¤J

{\ttfamily .jedrc}¡G
\begin{tscreen}
\begin{verbatim}
define text_mode_hook ()
{
  set_abbrev_mode (1);
}
%
define fortran_hook ()
{
  set_abbrev_mode (1);
  use_abbrev_table ("Fortran");
}
% and so on...
\end{verbatim}
\end{tscreen}

\end{itemize}





\subsection{pine(1) ¶l¥ó¾\Åª¾¹}

­×§ï\url{/usr/lib/pine.conf}¤¤¯A¤Î¾ã­Ó¨t²Îªº³]¸m¡A¯S§Oª`·N¡G
{\ttfamily user-domain}¡B{\ttfamily smtp-server}©M{\ttfamily nntp-server}¡C¦P®Éª`·N
{\ttfamily inbox-path}¨ú¨M¤_¨Ï¥Î¦óºØ MTA¡G¦p¨Ï¥Î {\ttfamily sendmail} ©Î
{\ttfamily postfix}¡A«h¬° {\ttfamily var/spool/mail/\$USER}¡F¦p¨Ï¥Î Qmail¡A«h¬°
\url{/home/\$USER/Mailbox} ¡]¦ý root ¨Ï¥Î \url{/usr/lib/pine.conf}¡^¡C




\subsection{minicom(1)}

°£«D root ­×§ï¼vÅT¾ã­Ó¨t²Îªº³]¸m¡A§_«h¥Î¤áµLªk¨Ï¥Î {\ttfamily minicom}¡C°O¦í­×§ï¡C




\subsection{efax(1) ³n¥ó}



¥i¯à³o¬O¤@®M³Ì®e©ö¦¬µo¶Ç¯u¡]fax¡^ªº³n¥ó¡C¥u­n­×§ï \url{/usr/bin/fax} ¤ºªº«ü¥O§Y¥i¡F­×§ï¤£Ãø¡A¦ý¦³¨Ç¤p¦a¤è«o»Ýª`·N¡G

\begin{itemize}
\item  §Q¥Î {\ttfamily at+fclass=?} «ü¥O§ä¥X¨t²Î¤ºªº¼Æ¾Ú¾÷ªº¯Å§O¬° class 1¡B2©Î2.0«¬¡C
¨t²Îªº¦^ÂÐ¥i¯à¬° {\ttfamily 0,1,2}¡F1 ©M 2 ªí¥Ü¼Æ¾Ú¾÷¤ä«ùªº¯Å§O¡F
\item  DIALPREFIX: ³æ³æ¨Ï¥Î¡§{\ttfamily T}¡¨©Î¡§{\ttfamily P}¡¨¥i¯à¤£¾A¥Î¤_¦³¨Ç°ê®a¡]¦Ü¤Ö¤£¾A¥Î¤_¸q¤j§Q¡^¡C§ï¥Î
¡§{\ttfamily ATDT}¡¨©Î¡§{\ttfamily ATDP}¡¨¼·¸¹¡F
\item  INIT and RESET: {\ttfamily efax} »Ý­n°_©l°Ñ¼Æ ¡§{\ttfamily -i}¡¨©M ¡§{\ttfamily -k}¡¨¡C
¦p»Ý¨Ï¥Î AT «ü¥O¡A«h±N¨ä±q«ü¥O¤¤®ø°£¡A¨Ã¥H ¡§{\ttfamily -i}¡¨ ©Î ¡§{\ttfamily -k}¡¨´À¥N¡C¨Ò¦p¡G¦b
INIT ¤¤¨Ï¥Î ¡§{\ttfamily ATX3}¡¨ «ü¥O¡A«h¥[¤J ¡§{\ttfamily -iX3}¡¨§Y¥i¡C
\end{itemize}


§¹¦¨³o¶µ³]¸m«á¡AÁÙ­n³]¸m¤L¶µ¨Ï¥ÎªÌªºÅv­­³]©w¡A³o¼Ë«D root ªº¨Ï¥ÎªÌ¤~¯à¦¬µo¶Ç¯u¡C­º¥ý­n¨Ï \url{/var/lock} ©M \url{/var/spool/fax} ¦¨¬°¥i¼g¥Ø¿ý¡C­n§¹¦¨³o¶µ¤u§@¡A
¤£§«³]¥ß {\ttfamily faxusers} ¸s²Õ¡A±N¨Ï¥ÎªÌ¥[¤J¨ä¤¤¡AµM«á¥H¤U¦C«ü¥O§ïÅÜÄÝ©Ê¡G

\begin{tscreen}
\begin{verbatim}
 chmod g+w /var/spool/fax
\end{verbatim}
\end{tscreen}





\subsection{Ghostscript}

³o­Ó¦³¥Îªº³n¥ó¦³ÂI¤p°ÝÃD¡C¦]¬°¬ü°êªº¥X¤f­­¨î¡A{\ttfamily pdf2ps} ¤£¯à¦b¥[±Kªº .pdf ¤åÀÉ¤W¨Ï¥Î¡C¸Ñ¨M¿ìªk¬O±NÂsÄý¾¹±µ¤W\nameurl{http://www.ozemail.com.au/}{}¡A §â {\ttfamily pdf\_sec.ps} ¤åÀÉ¨ú¥N Ghostscript ¤¤ªº¦P¦W¤åÀÉ§Y¥i¡C




\subsection{TeX ªº¨Ï¥Î}



°²³] Linux ¾÷¤W¤w¦w¸Ë¤FLeTeX¡C

\begin{itemize}
\item ±q³ÌªñªºÃè¹³¯¸¤U¸ü¨ä¥L»PLaTeX¦³Ãöªº³n¥ó¡A¨Ò¦p\nameurl{ftp://ftp.dante.de/pub/tex}{}¡C±N³o¨Ç¤åÀÉ©ñ¦b \url{/usr/share/texmf/tex/latex}
¥Ø¿ý¤U¡AµM«á¹B¦æ«ü¥O{\ttfamily texhash}¡A¨Ï teTeXª¾¹D·s³n¥óªº¦s¦b¡F
\item  ³]¸m³s¦r²Å¡]hyphenation¡^¡A«h¥i­×§ï
\url{/usr/share/texmf/tex/generic/config/language.dat}ÀÉ¡AµM«á¹B¦æ¡G

\begin{tscreen}
\begin{verbatim}
 texconfig hyphen
\end{verbatim}
\end{tscreen}

\item  ¦p­n³]©w{\ttfamily dvips}¡A«h»Ý½s¿è
\url{/usr/share/texmf/dvips/config/config.ps}ÀÉ¡C ª`·N¡G¦³ÃöÀq»{¤À¿ë²vªº°Ñ¼Æ¤]¼vÅT {\ttfamily xdvi}ªº¹B¦æ¡F¦pªG¨C¦¸¹B¦æ®Éµo²{³£­n³Ð³y¦rÅé¡A«h¥i§ï°Ê {\ttfamily .Xdefault}ªº¤º®e¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
XDvi*mfmode:
\end{verbatim}
\end{tscreen}


³oÀ³¦³©ÒÀ°§U¡C
        
\item  ÂX¤jTeXªº´M§ä½d³ò¥i±N¤l¥Ø¿ý¤¤ªºPostScript¼Æ¦r¥]¬A¦A¤º¡C±N¤U¦C«ü¥O©ñ¤J
\url{.bash\_profile}¡G

\begin{tscreen}
\begin{verbatim}
export TEXINPUTS="$HOME/figures::./figures"
\end{verbatim}
\end{tscreen}


³o¨ÏTeX¦b¬d§äÀq»{¥Ø¿ý¤§«e¥ý¬d§ä{\ttfamily \$HOME/figures}¡A¦}¦b¬d§äÀq»{¥Ø¿ý¤§«á¬d§ä
{\ttfamily ./figures}¡C
\end{itemize}





\subsection{Á×§KPPPªº°ÝÃD}



¥Ø«e Linux ªº¤º®Ö´X¥G³£¤w½s¤J¤F PPP + TCP/IP ¥\¯à¡A³]©w¤F¦^°e¦a§}¡]loopback¡^©M¥¿½T¦w¸Ë¤F{\ttfamily pppd}³n¥ó©M§@¬°suid root¡C·íµM¡AISP ±o¤ä«ùPPP¡C
¥Ø«e¦³¨âºØ¤è¦¡¥i¨Ï PPP ¥¿±`¹B§@¡G¡]a¡^¤â°Ê³]©w¡F©M¡]b¡^§Q¥Î¤@­Óµ{¦¡¦Û°Ê³]©w¡C¤£½×±Ä¥Î¦óºØ¤è¦¡¡A§¡½Ð¦¬¶°¤U¦C¸ê®Æ¡G

\begin{itemize}
\item  ISPªº¹q¸Ü¸¹½X
\item  ISPªº¦W¦r¡B¶l¥ó©M·s»DªA°È¾¹ªº¦a§}
\item  ISPªº°ì¦W
\item  ¥Î¤á¦W¦r©M±K½X
\end{itemize}


¤â°Ê³]¸m¬O¥ó³æ½ÕµL²á¡B¤Q¤À¥F¨ýªº¨Æ¡CÁöµM¯A¤Îªº¤u§@µL«D¬O­×§ï¤åÀÉ©M½s¿è¸}¥»¡A¨Ã¤£³Â·Ð¡A
¦ý·¥©ö¥X¿ù¡A·s¤â©¹©¹¤£´±»´©öÀ|¸Õ¡C©¯¦n¦³ PPP  HOWTO ¥i¥H°Ñ¦Ò¡C¦¹¥~¡A¤]¦³¤u¨ã¥i¥H¨Ï¥Î¡A¿é¤J¤W­z¸ê®Æ¡AµM«á¦Û°Ê¬°±z³]¸m¡C
Gnome©MKDE¨â®M³n¥ó¤¤¤À§O¥]¬A¤F{\ttfamily gnome-ppp}©M{\ttfamily kppp}¨â­Ó¤u¨ã¡A¤è«K¦w¸ËPPP¡A
¥O¤H¤Q¤À·P¿E¡C¦¹¥~¡A¤]¤£§«¨Ï¥Î¦b¥D±±¥x¤W¾Þ§@ªº¤u¨ã{\ttfamily wvdial}©M{\ttfamily eznet}¡C
¥u­n´£¨ÑISPªº¹q¸Ü¸¹½X¡B¥Î¤á©m¦W¡B±K½X¡A´NÁpºô¤W¸ô¤F¡C¥¦­Ìªººô­¶¬O\nameurl{http://www.worldvisions.ca/wvdial}{}©M\nameurl{http://www.hwaci.com/sw/eznet}{}¡A¤£§«¸Õ¥Î¡C³o¨â­Ó¤u¨ã³£¤Q¤À¦n¥Î¡A¤]»Ý«áªÌ§ó¤è«K¤@¨Ç¡C




\subsubsection{¨Ï¥Îeznet}



­º¥ý¡A«Ø¥ß¤@­Ó¤åÀÉ\url{/etc/resolv.conf}¡A¤º®e¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
nameserver w.x.y.z
\end{verbatim}
\end{tscreen}


¨ä¤¤¶ñ¤J±z¨Ï¥ÎªºISPªº°ì¦W¦øªA¾¹¡]nameserver¡^ªº¦a§}¡C­n§Q¥Î{\ttfamily eznet}«Ø¥ß±b¤á¡A
¥i¨Ï¥Î¤U¦C«ü¥O¡G

\begin{tscreen}
\begin{verbatim}
#¡]Ä¶µù¡G­ì¤å¦³º|¡^
\end{verbatim}
\end{tscreen}


³o·|²£¥Í¤@­ÓÄÝ©órootªº¤åÀÉ\url{/var/eznet/eznet.conf}¡A¨Ï¥ÎÅv­­¬°600¡F
¦p­nÅý¤j®a³£¯à¨Ï¥Î¡A¥Îchmod±N¨ä§ï¬°666¡C§Q¥Î{\ttfamily eznet up YOUR\_ISP}¼·¸¹µ¹ISP¡C¦pªG¼Æ¾Ú¾÷¤@ª½µ¥«Ý¹q¸Üªº±µ¼·«H¸¹¡AµLªk±µ³q¡A¸Õ¸Õ¤U¦C«ü¥O¡G

\begin{tscreen}
\begin{verbatim}
#¡]Ä¶µù¡G­ì¤å¦³º|¡^
\end{verbatim}
\end{tscreen}


­n±¾Â_¹q¸Ü¡A¥u­nµo¥X{\ttfamily eznet down}«ü¥O¡C¤£¬O¤Q¤ÀÂ²³æ¶Ü¡I




\subsubsection{¨Ï¥Îwvdial}



{\ttfamily wvdial}ªº³]¸m¬Æ¦Ü§óµu¡CÁä¤J{\ttfamily wvdialconf /etc/wvdial.conf}¡AµM«á­×§ï³o­Ó¤åÀÉ¨Ï¨ä¦C¤J¥Î¤á©m¦W¡B±K½X©M¹q¸Ü¸¹½X¡C
¥Î{\ttfamily wvdial}¸Õ¼·¡A§Æ±æ¤@¤Á¶¶§Q¡C­nÂ_½u¡A¥Î Ctrl-C§Y¥i¡C




\subsection{POP¥Î¤áºÝµ{§Ç}

­n±qPOP¦øªA¾¹¦¬¨ú¶l¥ó¡A¥i¨Ï¥ÎPOP¥Î¤áºÝµ{§Ç¡A¦p{\ttfamily fetchpop}©Î {\ttfamily fetchmail}µ¥¡F«áªÌ¤ñ¸û¥ý¶i¡A¦ý»Ý­n¹B¦æ{\ttfamily sendmail}¡C³o¹ï§CÀÉ¹q¸£¦Ó¨¥¡A
¦ü¥G¬O¦h¦¹¤@Á|¡C³o¨Ç³n¥ó¥i±q\nameurl{ftp://metalab.unc.edu/pub/ Linux /system/mail/pop}{}±o¨ì¡C

³]¸m¥Î¤áºÝªºµ{¦¡¦p¤U¡G

\begin{itemize}
\item {\ttfamily fetchpop}¡G¦b²Ä¤@¦¸¹B¦æ³o­Ó³n¥ó®É·|­n¨D¿é¤J¤@¨Ç¸ê®Æ¡C¥u­n¦^µª©Ò¦³°ÝÃD§Y¥i¡C
¦pªGISPªºPOP3¦øªA¾¹¤£¯à¥¿½T°õ¦æLAST«ü¥O¡A¦b¨Ï¥Î{\ttfamily fetchpop}®É¥²»Ý¥[ªþ°Ñ¼Æ{\ttfamily -r}
\item {\ttfamily fetchmail}¡G­×§ï{\ttfamily .fetchmailrc}¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
# $HOME/.fetchmailrc
poll mbox.myisp.com with protocol pop3;
  user john there with password _Loo%ny is john here
\end{verbatim}
\end{tscreen}


¦³­Ó¥Î¤á«ü¥X¦b²Ä¤G¦æ¤¤¼W¥[¡§smtphost localhost¡¨¯à¤j¤j§ïµ½¹B¦æ³t«×¡C

¥²¶·¹B¦æ{\ttfamily chmod 600 .fetchmailrc}³]©w¦¹ÀÉªº¨Ï¥ÎÅv­­¡A§_«h{\ttfamily fetchmail}·|§¹¥þ©Úµ´¹B¦æ¡C
³o­Ó¨Ò¤l¥u¬O¤@ºØ«D±`°ò¥»ªº³]©w¡AÁÙ¦³¨ä¥L¦UºØ¥i¯à³]©wªº¿ìªk¡A ¥i°Ñ¬Ý\nameurl{http://www.ccil.org/}{}¡C
\end{itemize}





\subsection{X µøµ¡¨t²Î (XFree86)}






\subsubsection{³]©wX¦øªA¾¹}



Âk®Úµ²©³¡A³]©wX¦øªA¾¹¤w¸g¨S¦³¥H«e¨º»ò§xÃø¡C©Ò¦³ª©¥»ªº Linux ²{¦b³£¥]¬A¤F³]©wX11ªº¤u¨ã¡]{\ttfamily XConfigurator}¡B{\ttfamily sax}¡B{\ttfamily XF86Setup}
©Î¦Ü¤Ö¦³{\ttfamily xf86config}¡^¡C¥Ø«eX¦øªA¾¹ªº³]¸m´X¥G§¹¥þ¦Û°Ê¡A
¥u¬O¦³¤Ö¼Æ¤LºØµø¹³¥d¥i¯à©Úµ´¤u§@¡C¦b³]©wX¦øªA¾¹®É¦p¾D¹J§xÃø¡A¥i¥Î¤U¦CÂ²³æªº¤èªk¸Ñ¨M¡G

\begin{itemize}
\item ½T©w¦w¸Ë¤F³q¥ÎªºVGA¦øªA¾¹¡F
\item ³s±µ¨ì\nameurl{ftp://ftp.XFree86.org/pub/XFree86/current/binaries}{}¡Acd¨ì¾A·íªº Linux ¤l¥Ø¿ý¡A¤U¸ü{\ttfamily X\_version\_bin.tgz}¡B{\ttfamily X\_version\_set.tgz}©M©Ò¦³¦øªA¾¹¡C
¦b¨ä¥L³n¥ó¤¤¡A²Ä¤@­Ó¦sÀÉ³n¥ó¤º¸ü¦³³Ì·sªº{\ttfamily SuperProbe}¡F


\item ±N{\ttfamily X\_version\_bin.tgz}¥´¶}¨ì¤@­ÓÁ{®É¥Ø¿ý¡Acd¨ì¸Ó¥Ø¿ý¡AµM«á¹B¦æ
{\ttfamily ./SuperProbe}¡C¦pªG³o­Óµ{¦¡´ú±oµø¹³¥d¡A¨º´N¦³¥i¯à³]©wµø¹³¥d¡C§_«h´N¨S¦³§Æ±æ¡F
\item ±q\url{/usr/X11R6/}¦w¸Ë¦U­Ó¦øªA¾¹©M{\ttfamily X\_version\_set.tgz}¡AµM«á¹B¦æ
{\ttfamily XF86Setup}¡C
\end{itemize}


³oºØ¤èªk¤@¯ë³£¸UµL¤@¥¢¡A¦ý¦U¤Hªº±¡ªp¥i¯à¤£¦P¡CX11¤£¶}©l¹B¦æªº¦h¼Æ­ì¦]¬Oµø¹³¾¹ªº°Ñ¼Æ¿ï¾Ü¹L°ª¡C
¤£§«±q¤ñ¸û§Cªº°Ñ¼Æ¶}©l¡A¨Ò¦p¿ï800x600©M256¦â¡AµM«á³v¨B¤W¤É¡C{\itshape ª`·N\/}¡G
³o¨Ç¾Þ§@À³ÂÔ·V¤p¤ß¡A¥i¯à·|·lÃaµø¹³¾¹¡I






\subsubsection{¼Æ¦r¤pÁä½L}



¤W¤å¤w¸g¥Ü½d¦p¦ó³]©w¤L­Ó¯S§OÁä¦ì¡C¦pªG¨Ï¥ÎXjed¡A¥Ü½d¤åÀÉ{\ttfamily .Xmodmap}´N²Å¦X»Ý­n¡A
¦ý¯ÊÂI¬OµLªk¨Ï¥Î¼Æ¦r¤pÁä½L¡]keypad¡^¡C¦]¦¹»Ý­n{\ttfamily .Xmodmap.num}¥t§@³]©w¡G

\begin{tscreen}
\begin{verbatim}
! Definitions can be found in <X11/keysymdef.h>
! ¦b<X11/keysymdef.h>¤¤¥i§ä¨ì¦U¶µ©w¸q
keycode 77  = Num_Lock
keycode 112 = KP_Divide
keycode 63  = KP_Multiply
keycode 82  = KP_Subtract
keycode 86  = KP_Add
keycode 79  = KP_7
keycode 80  = KP_8
keycode 81  = KP_9
keycode 83  = KP_4
keycode 84  = KP_5
keycode 85  = KP_6
keycode 87  = KP_1
keycode 88  = KP_2
keycode 89  = KP_3
keycode 90  = KP_0
keycode 91  = KP_Decimal
\end{verbatim}
\end{tscreen}


½T©w\url{/etc/X11/XF86Config}¤¤¤£±o¦³¤U¦C¤T¦æ¡G

\begin{tscreen}
\begin{verbatim}
  ServerNumLock
  Xleds
  XkbDisable
\end{verbatim}
\end{tscreen}


§_«h¥Î\#µù¾P¡C­n­«·s¨Ï¥Î¼Æ¦r¤pÁä½L¡A¹B¦æ«ü¥O{\ttfamily xmodmap .Xmodmap.num}¡C




\subsubsection{¥Îxdm¹Ï¹³µn¿ý}



­n¨Ï¥Î¹Ï¹³µn¿ý¡A¤£§«­×§ï\url{/etc/inittab}¡A¨Ï¨ä¥]§t¤U¦C¤º®e¡G

\begin{tscreen}
\begin{verbatim}
x:5:respawn:/usr/bin/X11/xdm -nodaemon
\end{verbatim}
\end{tscreen}


¨ä¤¤5¬OX11ªº¹B¦æ¯Å§O¡]runlevel¡^¡]S.u.S.E. ¥Î4¡^¡C«ö·Ó¤U¦C¤èªk­×§ïÀq»{¹B¦æ¯Å§O¡]³q±`¬°2©Î3¡^¡G

\begin{tscreen}
\begin{verbatim}
id:5:initdefault:
\end{verbatim}
\end{tscreen}


ÃC¦âªº¼Æ­È³]©w¤_\url{/etc/X11/xdm/Xserver}¡G

\begin{tscreen}
\begin{verbatim}
:0 local /usr/X11R6/bin/X :0 -bpp 16 vt07  # first X server, 65k colours
:1 local /usr/X11R6/bin/X :1 -bpp 32 vt08  # second X server, true colour
\end{verbatim}
\end{tscreen}


¦pªG¤w¦³{\ttfamily .xinitrc}¡A±N¨ä½Æ»s¦¨{\ttfamily .xsession}¡A¦}¹B¦æ{\ttfamily chmod +x .xsession}¨Ï¨ä¦¨¬°¥i°õ¦æÀÉ¡CµM«á¹B¦æ«ü¥O{\ttfamily telinit 5}¡A¨º´N¤j¥\§i¦¨¤F¡C




\subsubsection{µøµ¡ºÞ²z¾¹}



¤@¥¹X¦øªA¾¹¯à°÷µL»~¦a¤u§@¡A¨º´N¦³¦UºØ²Õ¦Xªº³]¸m¡F·íµM¡A³o±o¬Ý¥Î­þºØµøµ¡ºÞ²z¾¹(window manager)¡A¥Ø«e´N¦³¤L¤QºØ¥i¿ï¡C¦h¼Æ³]¸m³£¬O­×§ï¤@¡B¨â­Ó¥D¥Ø¿ý¤ºªº¤å¥»¤å¥ó(ASCII files)¡F¤]¦³®Ú¥»¤£»Ý§@¥ô¦ó­×§ïªºµøµ¡ºÞ²z¾¹¡A¦Ó¥Î¤@­Ó¤pµ{¦¡©Î¬Æ¦Üµæ³æ¨ÓºÞ²z¡C



Á|¨Ò¦p¤U¡G

\begin{itemize}
\item  {\bfseries ÄÝ©ófvwm®a±Ú}: «þ¨©
\url{/etc/X11/fvwm/system.fvwmrc}
(©ÎÃþ¦üªºµ{¦¡)¨ì¥D¥Ø¿ý¡A ¥´¶}¸Õ¥Î¡C¥Î³oºØ¤èªk¥i¯à·|®ö¶O¤£¤Ö®É¶¡¡A¤£¹L³o¼Ë¤~·|¯u¥¿ª¾¹D¥¦ªº¯S©Ê¡A¨Ã¤F¸Ñ¬O§_§ë§A©Ò¦n¡F
\item  {\bfseries WindowMaker}: ¥¦¦³¤L­Ó³]¸m¤åÀÉ¡A³£¦b
{\ttfamily \$HOME/GNUstep}¤º¡A¦}¦³¤@­Ó¬Û·í¤£¿ùªº¤pµ{¦¡(applet)¡F
\item  {\bfseries KDE} ©M {\bfseries Gnome}: ¨S¦³¥ô¦ó­×§ï¤§³B¡G¥ô¦ó³]©w³£³q¹Lµæ³æ¶i¦æ¡C
\end{itemize}


Â²¨¥¤§¡A¦pªG¤£¦b¥G­×§ï³]¸m¤åÀÉ¡A¥i¿ï¥Î{\ttfamily icewm}¡B{\ttfamily fvwm*}¡B{\ttfamily blackbox}µ¥¡F
§_«h´N¿ï¥Î¥Ø«e±`¨£ªºKDE¡BGnome¡BWindowMaker©MXFCE¡C

À³¸Ó­n¦³¤@­Ó¦nªº{\ttfamily .xinitrc}¡CÁ|¨Ò¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
#!/bin/sh
# $HOME/.xinitrc

usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap

xset s noblank  # turn off the screen saver -- Ãö³¬«Ì¹õ«OÅ@³n¥ó
xset s 300 2    # screen saver start after 5 min -- 5¤ÀÄÁ¤§«á±Ò°Ê«Ì¹õ«OÅ@
xset m 10 5     # set mouse acceleration -- ³]©w¹«¼Ðªº³t«×

rxvt -cr green -ls -bg black -fg white -fn 7x14 \
  -geometry 80x30+57+0 &

if [ "$1" = "" ] ; then  # default
  WINMGR=wmaker
else
  WINMGR=$1
fi

$WINMGR
\end{verbatim}
\end{tscreen}


ÁöµM¨Ã«D¥²»Ý¡A¦ý±N¨äÅÜ¦¨¥i°õ¦æÀÉ{\ttfamily chmod +x .xinitrc}¡C

³o­Ó {\ttfamily .xinitrc} Åý§A¿ï¥Îµøµ¡ºÞ²z¾¹¡G

\begin{tscreen}
\begin{verbatim}
$ startx startkde # or other w.m. -- ©Î¨ä¥Lµøµ¡ºÞ²z¾¹
\end{verbatim}
\end{tscreen}


(¤£¹L¥¦¤£¾A¥Î¤_¦³¨Çª©¥»ªº S.u.S.E.)




\subsubsection{X11 À³¥Î³n¥óªºÀq»{­È}



§ä¥X\url{app-defaults}ªº©Ò¦b¦ì¸m(À³¸Ó¦b\url{/usr/X11R6/lib/X11/app-defaults})¡C
¦³¤L­ÓÀ³¥Î³n¥óªº³]¸m¤åÀÉ³£¦b³o­Ó¥Ø¿ý¤º¡C




\subsection{¨Ï¥ÎªÌªº³]¸m¤åÀÉ}



§¹¦¨ Dot ¤åÀÉªº½s¿è«á¡A±N³o¨Ç³]¸m¤åÀÉ«ö \ref{config} {(³n¥ó³]¸m)}ªº¤èªk§Û¨ì \url{/etc/skel}¡C


\subsection{»s§@ .rpm}

{\ttfamily rpm}¬O¤@ºØºÞ²z¾ã®M³n¥óªº¦n¤èªk¡A°£«D¦b¯S®í±¡ªp¤U(¦w¥þ²z¥Ñ)¡A
¤@¯ë§Ú³£¤£¤ÓÄ@·N¦w¸Ë.tar.gz³n¥ó¡C­n¦w¸Ë.tar.gz³n¥ó®É¡A¤£§«±N¨äÂà´«¦¨.rpmÀÉ¡A
µM«á¦A¦w¸Ë¡F°Ñ¦ÒRPM  HOWTO¡C¦¹¥~¡A¦b¨Ï¥Î¤ñ¸û·sªº{\ttfamily gcc}ª©¥»®É¡A¨Ò¦p
{\ttfamily egcs}©Î{\ttfamily pgcc}¡A
¤£§«±N¤U¦C¤º®e¥[¤J{\ttfamily /etc/rpmrc}¡G



\begin{tscreen}
\begin{verbatim}
optflags: i386 -O2 -mpentium
\end{verbatim}
\end{tscreen}





\subsection{Upgrading}



¦b¾÷¾¹¤É¯Å®É¡AÀ³­º¥ý»s§@³Æ¥÷¡A¨Ã«O¦s¤@¨Ç­«­n¤åÀÉ¡A¨ä¤¤À³¥]¬A
\url{/etc/X11/XF86Config}¡B\url{/usr/bin/fax}©M\url{/usr/local}
¤¤ªº©Ò¦³¤åÀÉ¥H¤Î¤º®Ö³]¸m¡B¥þ®M\url{/etc}©M\url{/var/spool/mail}¤¤ªº©Ò¦³¶l¥ó¡C

µM«áÀ³¸Ó¤É¯Å¡]·¥¤Ö­°¯Å¡^³n¥óª©¥»ªþ±aªºÀ³¥Î³n¥ó¡A©M¼W¥[À³¥Î³n¥ó¡C




\section{³]¸m³n¥ó \label{Config sw}}

¦³¤@¨Çµ{¦¡¨Ï Linux ©ö¤_¦w¸Ë©M³]¸m¡C¦³¨Çµ{¦¡¤w¸g¦¨¬°¼Ð·Ç¡G Red Hat ©M Caldera ¥H¤Î¤@¨Çªþ±a {\ttfamily setup}¡B{\ttfamily printtool}¡B{\ttfamily netcfg}¡B{\ttfamily usertool}ªºª©¥»¡A
S.u.S.E.©^°e¾ã®M³]¸mµ{§ÇYast¡C¨ä¥L¦³¥Îªºµ{§Ç¥]¬A¡G

\begin{itemize}
\item  {\bfseries The Dotfile Generator}: Xµøµ¡ªºÀ³¥Î³n¥ó©M¼Ò²Õ¡A¥H«K³]¸m{\ttfamily emacs}¡B{\ttfamily bash}¡B{\ttfamily procmail}µ¥³n¥ó¡C
¨äºô§}¬°\nameurl{http://www.imada.ou.dk/}{}
\item  {\bfseries  Linux conf}: ³Ì¦³¥Îªº³]¸m¤u¨ã¡C¥¦¯à¦b¥D±±¥x©MX¤U§¡¥i¹B¦æ¡C­n¬d§ä¸ê®Æ¡A¤£§«§Q¥Î\nameurl{http://www.solucorp.qc.ca/ Linux conf}{}ºô§}¡C
\end{itemize}





\section{µ²§ô\label{µ²§ô}}






\subsection{ª©Åv»¡©ú¡]Ä¶ªÌ¡G«O¯d­ì¤å¡^}



Unless otherwise stated, Linux HOWTO documents are copyrighted by their
respective authors. Linux HOWTO documents may be reproduced and distributed
in whole or in part, in any medium physical or electronic, as long as this
copyright notice is retained on all copies. Commercial redistribution is
allowed and encouraged; however, the author would like to be notified of any
such distributions.

All translations, derivative works, or aggregate works incorporating any Linux HOWTO  documents must be covered under this copyright notice. That is,
you may not produce a derivative work from a HOWTO and impose additional
restrictions on its distribution. Exceptions to these rules may be granted
under certain conditions; please contact the Linux HOWTO coordinator at the
address given below.

In short, we wish to promote dissemination of this information through as
many channels as possible. However, we do wish to retain copyright on the
HOWTO documents, and would like to be notified of any plans to redistribute
the  HOWTO s.

If you have questions, please contact Tim Bynum, the Linux HOWTO
coordinator, at \nameurl{Linux-HOWTO@metalab.unc.edu}{} via email.




\subsection{¤ÏõX·N¨£}



³o¥÷ HOWTO ¤]³\¤ñ¨ä¥L HOWTO §ó»Ý­n±z´£¥X·N¨£©M§@¥Xµû½×¡C§Ú¤£¶È¹ï¦¹ªí¥ÜÅwªï¡A¨Æ¹ê¤W¡A³oÁÙ¬O¥²»Ýªº¡C¦pªG±zµo²{¿òº|©Î¿ù»~¡A
½Ð°È¥²³qª¾§Ú¡C¦pªG±z¨Ï¥Îªºª©¥»¤£¦P¤_ Red Hat/Mandrake¡A¨Ã¥B³]¸m¤åÀÉ©ñ¸m¦b¤£¦Pªº¥Ø¿ý¤º¡A½Ð³qª¾§Ú¡A§Ú·|¦C¤J±zªº¨Ï¥Î¤ß±o¡C
§Ú§Æ±æ¤j®a¨Ï¥Î Linux ¯à¶V¤è«K¶V¦n¡C

Linux ªºª©¥»«Ü¦h¡A¦]¦¹¤£¥i¯àÃ¹¦C©Ò¦³¦UºØ»¡©ú¡C
½Ð±N±zªº­n¨D©M«ØÄ³¾¨¶q²Å¦X³Ì¡§¦X²z¡¨ªºµ{¦¡ ¡Ð §Ú¯d«Ý±z¦Û¤v¨M©w¦óªÌ¬°¦X²zªºµ{«×¡C




\subsection{§K³dÁn©úDisclaimer}



¡§¨t²Î³]¸m  HOWTO ¡¨¬O§Ú Guido Gonzato
\nameurl{guido@ibogeo.df.unibo.it}{}½s¼gªº¡A¦b¦¹§Ú­n·PÁÂ©Ò¦³¨ä¥L  HOWTO  ªº§@ªÌ©M man »¡©úªº§@ªÌ©M¡]©Î¡^ºÞ²z¤H­û¡A¦]¬°§Ú®É±`¶ÑÅÑ¥L­Ìªº¤ß±o¡A¹ê·P¦½ÃC¡C
§Ú¨Ã­n·PÁÂ©Ò¦³¹ï§Úªº¤å³¹´£¥X§åµû©M«ØÄ³ªº¦P¦n¡C

³o¥÷¤å¥ó´N¥H¥H¤Wªº¤º®e´£¨Ñµ¹¤j®a¡C§Ú¤wºÉ¤O¨Ï¤º®e¥¿½T¡A½Ð¦U¦ì·r°u¨Ï¥Î¡A
¦ý§Ú¹ï¤j®a¨Ï¥Î³o¥÷¤å¥ó¥i¯à³y¦¨ªº«áªG¤£­t¥ô¦ó³d¥ô¡C

§Ú°J¤ß§Æ±æ³o½g¤å³¹¹ï±z¦³¥Î¡A¦]¬°§Ú¦b¦w¸Ë·s  Linux  ¨t²Î®É¡A¤]³£®É®É­É§U....

§Æ±æ±z¥Î±o±o¤ßÀ³¤â¡C

Guido   {\ttfamily =8-)}

\end{document}
