ÄÚÈÝ
1. ÅäÖÃÄãµÄ.cshrcÎļþ
2. ÉèÖøü¶àµÄÐéÄâ¿ØÖÆÌ¨(Virtual
Terminals)
3. Ôö¼ÓÒ»¸öÓ²ÅÌ
4. ϵͳÅäÖÃÎļþÑ¡Ïî
5. Ìí¼ÓºÍ°²×°Èí¼þ
6. ÔõÑù°²×°LinuxÄ£ÄâÆ÷
1. ÅäÖÃÄãµÄ.cshrcÎļþ
ÕâÊÇϵͳ×Ô´øµÄ.cshrcÎļþ.
#csh .cshrc file
alias h history 25
alias j jobs -l
alias la ls -a
alias lf ls -FA
alias ll ls -lA
alias su su -m
setenv EDITOR vi
setenv EXINIT 'set autoindent'
setenv PAGER more
set path = (~/bin /bin /usr/{bin,games} /usr/local/bin /usr/X11R6/bin)
if ($?prompt) then
# An interactive shell -- set some stuff up
set filec
set history = 1000
set ignoreeof
set mail = (/var/mail/$USER)
set mch = `hostname -s`
set prompt = "${mch:q}: {\!} "
umask 2
endif
pathÓï¾ä¸æËßÄãµÄshellÄÄÀïÄÜÕÒµ½ÄãÒªÖ´ÐеijÌÐò.
Ëü´ÓÁгöµÄµÚÒ»¸öĿ¼
¿ªÊ¼Ñ°ÕÒÓëÄãÊäÈëµÄÃüÁîÏàÆ¥ÅäµÄÎļþ.
Èç¹ûÕÒµ½¾Í¿ªÊ¼Ö´ÐÐÄǸö³ÌÐò.
Ëü²»»áÔÚûÓÐÁгöµÄĿ¼ÀïѰÕÒ¿ÉÖ´ÐÐÎļþ.
ÄÄžÍÔÚÄãµÄµ±Ç°Ä¿Â¼ÏÂ.
ËùÒÔ
Èç¹ûÄãµÄµ±Ç°Ä¿Â¼Ã»ÔÚpathµÄÁбíÀï,
¼´Ê¹ÄãÒªÖ´ÐеÄÎļþ¾ÍÔÚÕâÀïÒ²²»Äܱ»ÕÒ
µ½.
Èç¹ûÒªÖ´Ðе±Ç°Ä¿Â¼ÏµÄÎļþ,
ÄãµÃÔÚÃüÁîÇ°Ãæ¼ÓÒ»¸ö"./"
. ÀýÈç, ÄãÔÚ
/usr/local/www/cgi-bin/Ŀ¼ÀïÒª²âÊÔÒ»¸ö±àºÃµÄ³ÌÐò.
ËüÃû½Ðgetdata.pl,
ÄãÊäÈëgetdata.pl, È»¶ø²¢Ã»ÓÐÄãÆÚ´ýµÄHTMLÊä³ö,
ÄãÖ»Êǵõ½ÁËÒ»Ìõ´íÎóÐÅ
Ï¢, getdata.pl: Command not found. ÕâÊÇÒòΪÄãµÄpathÓï¾äÀïûÓаüº¬"."
Ŀ¼. ÒªÏëÕâ¸öÎļþ±»Ö´ÐÐÄãµÃÊäÈë:
./getdata.pl
ÏÖÔÚÄã»á¿´µ½ÆÚ´ýµÄHTML.
³ý·ÇÄã±àµÄ³ÌÐòÓÐÎó,
Êä³öµÄÊÇÄãËùÓõıà³ÌÓïÑÔ
µÄ´íÎóÐÅÏ¢.
Ò»¸ö TCSH µÄÀý×Ó
¾ÍÏóÇ°ÃæÌá¼°µÄ,
tcshÔÚcshµÄ»ù´¡ÉÏÔö¼ÓÁ˺ܶàÌØÐÔʹµÃÃüÁîÐнçÃæ¸ü¼ÓÒ×ÓÃ.
ÕâÊÇÒ»¸öÄܹ»ÌåÏÖ³ötcshÓÅÔ½ÐÔµÄ.cshrcÎļþµÄÀý×Ó:
#tcsh .tcshrc file
alias h history 25
alias j jobs -l
alias la ls -a
alias lf ls -FA
alias ll ls -lF
#alias su su -m -- bad for su'ing
to root..
setenv EDITOR vim
setenv PAGER less
set path = ( ~/bin /usr/local/bin /bin /usr/{bin,games} /usr/sbin /sbin
/usr/local/samba/bin /usr/X11R6/bin
/usr/local/java/bin .)
setenv IRCNICK ringzero
setenv IRCSERVER irc2.magic.ca
setenv NNTPSERVER news.sentex.ca
if ($?prompt) then
# An interactive shell -- set some stuff up
set filec
set fignore = .o
# ignore object files for filec
set showmatch
# for programming
set history = 100
set savehist = 75
# tcsh version of history..
set ignoreeof
set mail = (/var/mail/$USER)
set prompt="vinyl:{%h}%~ %% " # tcsh version of above!
set watch = (1 gabor any mike any adrian any pwardrop any)
umask 2
endif
µÚÒ»µãÖµµÃ×¢ÒâµÄÊÇÓйØsetenvµÄÐÐ.
ÔÚÕâ¸öÀý×ÓÀï,
ËüÃÇÉèÖÃÁËʹÓÃеÄÔĶÁ
Èí¼þºÍirc¿Í»§¶ËÈí¼þµÄ»·¾³±äÁ¿.
ÁíÒ»¸ö¸ÐÐËȤµÄµØ·½ÊÇset
fignore = .o , Ëü
ʹµÃfile completion(set filec)(ÒëÕß×¢:
ÎÒ¶Ôtcsh²»Ì«ÊìϤ,ÎÒ²ÂÏëÕâÀïµÄfile
completion ÊÇÖ¸ÀàËÆbashµÄÃüÁî²¹ÆëµÄ¶«Î÷,µ«ÓÖ²»¸ÒÈ·¶¨,ËùÒÔÕÕ°áÏÂÀ´ÁË)ºöÂÔ
½áβÊÇ".o"µÄÎļþ.
Èç¹ûÄãÊÇÒ»¸öC³ÌÐòÔ±µÄ»°ÕâºÜÓÐÓÃ,
ÒòΪÄãÒª±à¼µÄÊÇÒ»¸ö
".c"Îļþ¶ø²»ÊÇ".o"Îļþ.
set showmatch ÊÇ tcsh ÌØÓеÄÁíÒ»¸öfile
completion
»úÖÆ. ÖÁÓÚËüµÄÓÃ;,
×Ô¼ºÊÔÊÔ°É!
set prompt Ñ¡ÏîΪÄãµÄshellÉèÖÃÁËÒ»¸öºÜ
ÓѺõÄÌáʾ·û.
Ëü»áÔÚÈκÎʱºòÏÔʾÄãµÄµ±Ç°Ä¿Â¼.
¿´ÆðÀ´»áÏóÕâÑù:
mark:{123}~ % cd /usr/src
mark:{124}/usr/src %
×¢ÒⲨÀ˺űíʾÄãµÄhomeĿ¼.
ÏÖÔÚÄãÒѾ֪µÀÁ˺ܶàtschºÍcshÑ¡ÏîÁË,
Èç¹ûÏë
ÖªµÀ¸ü¶à,×îºÃµÄ·½·¨ÊÇman
tcsh! ËùÓÐÁ½ÖÖshellsµÄÌØÕ÷(±ÈÈçtcshµÄ"watch"ÌØÕ÷)
¶¼ÔÚman pageÀï. ×Ô¼ºÈ¥ÌåÑéÒ»ÏÂÄãËùϲ»¶µÄÄÇЩÇÏÃŰÉ!
×¢Òâ:
Èç¹ûÄã¸ü¸ÄÁËÄãµÄ.cshrcÎļþ,
Äã¿ÉÒÔÓÃsource .cshrcÀ´Ê¹ÄãµÄ
±ä¶¯Á¢¼´ÉúЧ!
2. ÉèÖøü¶àµÄÐéÄâ¿ØÖÆÌ¨(Virtual Terminals)
(ÒëÕß×¢: ÏëÀ´ÏëÈ¥»¹ÊǾö¶¨°ÑVirtual
TerminalsÒëΪÐéÄâ¿ØÖÆÌ¨,
ÒòΪ¼ÇµÃÓÐÈ˰ÑPseudo
terminals³Æ×÷ÐéÄâÖն˵Ä)
Ò»¸öÐéÄâ¿ØÖÆÌ¨ÊÇÒ»¸öÄÚ½¨ÔÚ·þÎñÆ÷Ö÷¿ØÖÆÌ¨ÉϵÄÖÕ¶Ë.
ËüʹÄãÄÜͬʱ´ò¿ªºÃ
¼¸¸öÆÁÄ», µ±È»Ò»´ÎÖ»ÄÜ¿´µ½Ò»¸ö.
ȱʡÇé¿öÏÂÉèÖÃÁË4¸öÐéÄâÖÕ¶Ë,
µ«Ö»ÓÐ3¸ö
ÄÜÓÃ.°´ALT¼ÓF2»òF3(F1ÊÇÒ»¿ªÊ¼µÄÄǸö)¿ÉÒÔÇл»µ½µÚ¶þ»òµÚÈý¸öÐéÄâ¿ØÖÆÌ¨.
ÏÖÔÚÄã»áÔÚÆÁÄ»ÉÏ¿´µ½µÇ¼»Ãæ,
ÕâºÍµÚÒ»¸öÐéÄâ¿ØÖÆÌ¨¿´ÆðÀ´Ã»ÓÐʲô²»Í¬.
°´ALT¼ÓF1»Øµ½ÔÀ´µÄÆÁÄ».
ÒªÔö¼ÓÐéÄâ¿ØÖÆÌ¨,
Äã±ØÐëÒÔ³¬¼¶Óû§Éí·Ý·ÃÎÊ/devĿ¼.
È»ºóÔËÐÐMAKEDEV
³ÌÐò. MAKEDEVÊÇÒ»¸öshell½Å±¾,
ËùÒÔÄãµÃÓÃsh
shell½âÊÍÆ÷À´Ö´ÐÐËü.
ÔÚÌáʾ·û
ÏÂÊäÈë:
cd /dev
sh MAKEDEV vty 16
×¢Òâ:
(È«²¿ÓôóдÊäÈëMAKEDEV, ´óСдÓб¾ÖʵÄÇø±ð)
Õ⽫½¨Á¢16¸öÐéÄâ¿ØÖÆÌ¨.
ËüÃÇ¿ÉÒÔÓÃALT+F?À´·ÃÎÊ.
(ÒëÕß×¢: µ«ÊÇF¼üÖ»ÓÐ12¸ö)
µ«ÊÇÔÚÄãÄÜʹÓÃËüÃÇ֮ǰÄ㻹ҪÔÚ/etc/ttysÎļþÀD»îËüÃÇ.
È¥µ½/etc/Ŀ¼ÀïÈ»ºó
ÓÃviÀ´±à¼/etc/ttysÎļþ.
cd /etc
vi ttys
#
# $Id: ttys,v 1.2 1998/09/02 01:34:57 brian Exp $
# @(#)ttys 5.1 (Berkeley) 4/17/89
#
# name gettytype status comments
#
# This entry needed for asking password when init goes to single-user mode
# If you want to be asked for password, change "secure" to "insecure" here
console noneunknown off secure
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
#ttyv3 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
# Serial terminals
# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
ttyd0 "/usr/libexec/getty std.9600" dialup off secure
ttyd1 "/usr/libexec/getty std.9600" dialup off secure
ttyd2 "/usr/libexec/getty std.9600" dialup off secure
ttyd3 "/usr/libexec/getty std.9600" dialup off secure
# Pseudo terminals
ttyp0 none network secure
ttyp1 none network secure
ttyp2 none network secure
ttyp3 none network
(ÒëÕß×¢: ÔÎÄÀïÊÇÒ»¸öͼ,
ËùÒÔÓÃÎÒµÄ/etc/ttysÎļþÀ´´úÌæ)
Èç¹ûÄãÔËÐÐX window,
±ØÐë±£ÁôÒ»¸ö¹ØµôµÄÐéÄâ¿ØÖÆÌ¨.
ȱʡÇé¿öÏÂ,
ttyv4 ÊǹرյÄ.
ÄãÒªÔÚ±ê×ÅVirtual
TerminalsµÄ²¿·ÖÌí¼Ó¼¸ÐÐ.
Èç¹ûÄãÖÆÔìÁË16¸öÐéÄâ
¿ØÖÆÌ¨É豸,
ÄÇôÄãÏÖÔÚÓÐ16¸öÐéÄâ¿ØÖÆÌ¨ÒªÅäÖÃ.
Ò²¾ÍÊÇ˵ÔÚ/etc/ttys
ÎļþÀïÒªÓÐ16ÐÐÓйØÐéÄâ¿ØÖÆÌ¨µÄÄÚÈÝ;
ÏÖÔÚ»¹Ö»ÓÐ4ÐÐ.
Äã¿ÉÒÔͨ¹ý¿½±´
Õ³ÌùÕâЩÐÐÀ´Íê³É:
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
°Ñ¹â±êÒÆµ½ÕâÐкó°´yyÈ»ºó°´jʹ¹â±êÏÂÒÆÔÙ°´12pÀ´Ê¹ÕâÐб»Õ³Ìù12´Î.ÏÖÔÚ
ÄãÓÐÁËttyv2µÄ12·Ý¿½±´,
ÄãµÃ°ÑËüÃǸÄΪ¶þ½øÖÆÊý×Ö.
´Ó4¿ªÊ¼,È»ºóÊÇ5,6,
7,8,9,a,b,c,d,e,f.
Íê³ÉºóÄã¾ÍÔÚ/etc/ttysÀïÅäºÃÁË´Óttyv1 - ttyvfµÄÐéÄâ¿ØÖÆÌ¨.
ÔÚviÀïÄãÄÜÓüòµ¥µÄ·½·¨À´Íê³ÉÌæ»»,°Ñ¹â±êÒÆµ½ÄãÒª¸Ä±äµÄÊý×ÖÉϰ´r¼üÔÙ
ÊäÈëÒªÌæ»»³ÉµÄÊý×Ö,È»ºó°´jʹ¹â±êÏÂÒÆÔÙÖØ¸´Ç°ÃæµÄ¹¤×÷.
½áÊø±à¼ºó°´ZZÍ˳övi.
ÏÖÔÚÒªÖØÆðinit½ø³Ì.
ÒÔ³¬¼¶Óû§Éí·ÝÊäÈë:
kill -HUP 1
ÏÖÔÚÄãµÄÐéÄâ¿ØÖÆÌ¨ÒÑ¾ËæÊ±´ýÃüÁË.
3. Ôö¼ÓÒ»¸öÓ²ÅÌ
ÏÈÒª´ÓÎïÀíÉϰ²×°Ó²ÅÌ.
±£Ö¤µçÀÂÒѾ½ÓºÃ,
´ÓµÚÒ»Õëµ½µçÔ´²åÍ·.(×¢Òâ,
Êý¾ÝÏßÉÏµÄºì´øÒªÓëµçÔ´ÏßÏàÁÚ).
ÔÙÈ·±£Óе繩¸øÇý¶¯Æ÷.
È»ºóÖØÐÂÆô¶¯FreeBSD,FreeBSDÔÚÆô¶¯µÄʱºò»á¼ì²â³öÕâ¸öÇý¶¯Æ÷.
Èç¹ûûÓÐ
µÄ»°ÓÃ"-c"²ÎÊýreboot.
ÔÚÆô¶¯Ìáʾ·ûϽøÈëvisual
configʹºÏÊʵĿØÖÆÆ÷±»
¼¤»î. ×î¿ÉÄܵÄÇé¿öÊÇÄãʹÓõĺËÐÄÊÇ×Ô¼º½¨Á¢µÄ²¢ÇÒ¸½¼ÓµÄIDEÇý¶¯Æ÷ÒÔ±»ºË
ÐĽûÖ¹,»òÕßÔÚÒ»¸öSCSI±»ºËÐĽûÖ¹µÄϵͳÉÏÌí¼ÓµÚÒ»¸öSCSIÇý¶¯Æ÷.
Èç¹û¿ØÖÆ
Æ÷Ö»ÊDZ»ºËÐÄ*½ûÓÃ*¶ø²»ÊÇɾ³ý,
Ö»ÐëÔÚvisual configÀï°ÑËü¼¤»î¾ÍÐÐÁË.
·ñ
ÔòÄã±ØÐëÖØ½¨ºËÐÄÒÔ¼ÓÈëÊʵ±µÄ¿ØÖÆÆ÷ºÍÇý¶¯.
Èç¹ûÄã´í¹ýÁËÆô¶¯Ê±µÄÐÅÏ¢,
µÇ¼ºóÔÚÌáʾ·ûÏÂÇÃdmesg.
Õâ½«ÖØÏÖÄãµÄÆô¶¯
ÐÅÏ¢.
/usr/> dmesg | more
Èç¹û°²×°µÄÊÇSCSIÇý¶¯Æ÷,
Ҫȷ±£Çý¶¯Æ÷Òѱ»SCSI
BIOSÕÒµ½²¢ÇÒÓÃÁËÊʵ±µÄ
SCSI termination.
Ò»µ©ËùÓж«Î÷¶¼±»ÕÒµ½, ¾Í¿ÉÒÔ¿ªÊ¼FreeBSDϵÄÅäÖÃÁË.
******************************************************************
Òª×öµÄµÚÒ»¼þʾÍÊÇÇåɨ¸É¾»´ÅÅÌÉÏÔÓеÄÈκζ«Î÷.
ºÜ¶àÓ²ÅÌÇý¶¯Æ÷³§ÉÌÒÑ
°ÑеÄÇý¶¯Æ÷·ÖºÃÇø²¢ÇÒÒѸñʽ»¯³ÉDOS
FATÎļþϵͳ. ÔÚÓàϵIJ¿·Ö,
ÎÒÃǼÙ
ÉèÕÒµ½µÄÓ²ÅÌÇý¶¯Æ÷ÊÇsd1,
Ò²¾ÍÊǵçÀÂÉϵĵڶþ¸öSCSIÇý¶¯Æ÷(ÓÃSCSI
ID 1).
ÏÂÃæÊÇÈçºÎÇå³ýFATÀ¬»ø:
dd if=/dev/zero of=/dev/rsd1 count=100
È»ºóҪΪÇý¶¯Æ÷×¼±¸Ò»¸ö"disk
label". ¼ÙÉèÄã¼Æ»®Õû¸öÓ²Å̶¼ÔÚFreeBSDÏÂ
ʹÓÃ:
disklabel -Brw sd1 auto
*°Ñrsd1ºÍsd1Ìæ»»³ÉÄãÌí¼ÓµÄÓ²ÅÌ,²»ÒªÔÚÒ»¸öÕýÔÚʹÓõĴÅÅÌÉϽøÐÐÕâЩ²Ù×÷.
Õ⽫Çå³ý´ÅÅÌÉϵÄÿÑù¶«Î÷,
ΪFreeBSDÄÜʹÓÃËü×öºÃ×¼±¸.
Ò»ÇÐ˳ÀûµÄ»°½«²»ÐèÒª
ʹÓÃfdisk.
Èç¹ûÄã¼Æ»®ÔÚFreeBSDϰÑÕû¸öÓ²ÅÌ·Ö³ÉÒ»¸öÇø,
ÄÇôÓøղÅ
disklabel ½¨Á¢µÄ
ȱʡµÄµ¥Ò»·ÖÇø¾ÍÐÐÁË,
·ñÔòµÄ»°ÄãÒªÓÃdisklabel±à¼Æ÷À´´´½¨¸üСµÄ·ÖÇø.ÄãÒ²
ÐíÐèÒªÔÚ´ÅÅÌÉÏÔö¼ÓÒ»¸ö½»»»·ÖÇø,
ÀýÈç.
±à¼µÚÒ»¸öIDEÅ̵Ädisklabel:
disklabel -e wd0
# /dev/rwd0c:
type: ESDI
disk: wd0s1
label:
flags:
bytes/sector: 512
sectors/track: 51
tracks/cylinder: 13
sectors/cylinder: 663
cylinders: 722
sectors/unit: 479298
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0
# milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset
fstype [fsize bsize bps/cpg]
a: 65536 0
4.2BSD 0
0 0 # (Cyl. 0 - 98*)
b: 85936 65536
swap
# (Cyl. 98*- 228*)
c: 479298 0
unused 0
0 # (Cyl.
0 - 722*)
e: 61440 151472 4.2BSD
0 0 0 # (Cyl.
228*- 321*)
f: 266386 212912 4.2BSD
0 0 0 # (Cyl.
321*- 722*)
Õⲿ·ÖÐèÒª¶¯¶¯ÄÔ½î,ÒÔʹÄÇЩÊý×ÖÕýÈ·.
¸øÒ»¸ö·ÖÇø·ÖÅäÈÝÁ¿,½ÏÈÝÒ׵ķ½·¨ÊÇ
¸øÄãÒª·ÖÅäµÄ·ÖÇøÒ»¸öͨ¹ý¼ÆËãµÃ³öµÄÖùÃæ(cylinders)Êý.
size ÊÇ·ÖÇøµÄÉÈÇøÊý
Ä¿. offset ÊÇǰһ¸ö·ÖÇøµÄ×îºóÒ»¸öÉÈÇø.
·ÖÇø a ´ÓÉÈÇø0¿ªÊ¼.
·ÖÇø±ØÐëÔÚÄã
Ëù·ÖÅ䏸·ÖÇøµÄÖùÃæµÄ·¶Î§ÄÚ¿ªÊ¼ºÍ½áÊø.
¼ÆËã·ÖÇø´óСµÄ·½·¨ÊÇ,
tracks/cylinder
(ÿÖùÃæµÄ´ÅµÀÊý)³ËÒÔsectors/cylinder(ÿÖùÃæµÄÉÈÇøÊý)ÔÙ³ËÒÔÄã·ÖÅ䏸·ÖÇøµÄ
ÖùÃæÊý.(ÉÈÇøÊý*´ÅµÀÊý*ÖùÃæÊý=·ÖÇø´óС)
¼ÆËãoffsetµÄ·½·¨ÊÇ,
Éϸö·ÖÇøµÄ´ó
С¼ÓÉϸö·ÖÇøµÄoffset.(Size+Offset=ϸö·ÖÇøµÄOffset)
fstypeÊÇÄãÔÚ·ÖÇøÉÏʹÓõÄÎļþϵͳµÄÀàÐÍ.
FreeBSDͨ³£Ê¹ÓõÄÎļþϵͳÊÇ
4.2BSD. swapÊǽ»»»ÎļþʹÓõÄÎļþϵͳ.
FATÊÇDOS·ÖÇøÊ¹ÓõÄÎļþϵͳ.·ÖÇøa
ΪÆô¶¯ÉÈÇø±£Áô,ËüΪ¿Õ±íʾ²»ÐèÒªÆô¶¯ÉÈÇø.
·ÖÇø b ±£Áô×÷½»»»Îļþ.
Ëü²»ÄÜ´Óoffset 0¿ªÊ¼.
ËüµÄÇ°Ãæ±ØÐëÒªÓÐÒ»¸ö·Ö
Çø. ·ÖÇø e ¿ÉÒÔ´Óoffset
0 ¿ªÊ¼²¢ÇÒ¿ÉÒÔÊÇÈÎÒâ´óС,
ËùÒÔ½»»»·ÖÇø¿ÉÒÔ·ÅÔÚ
·ÖÇø e µÄºóÃæ.
·ÖÇø c ²»»á±»¸Ä±ä. Òª´Ó·ÖÇøc¿ªÊ¼ÖÆÔìÄãµÄÎļþϵͳ.
ÏÖÔÚÒªÓÃnewfsÃüÁîÔÚ´ÅÅÌ´´½¨Ò»¸öÎļþϵͳ.
Èç¹ûÄãʹÓõÄÊÇÕû¸ö´ÅÅÌ,
¿ÉÒÔ
ÓÃdisklabel ×Ô¶¯½¨Á¢µÄc·ÖÇø.
newfs /dev/rsd1c
c·ÖÇø×ÜÊÇÕû¸öÇý¶¯Æ÷ - ËùÒÔÕâÖÖÇé¿öÏÂÄ㽨Á¢µÄÎļþϵͳҲ¾Í°üÀ¨ÁËÕû¸ö´ÅÅÌ.
Èç¹ûÄã°Ñ´ÅÅ̷ֵĸüС,
Äã±ØÐëÔÚÿ¸ö·ÖÇøÉÏʹÓÃnewfsÀ´½¨Á¢Îļþϵͳ,½»»»·Ö
Çø³ýÍâ.
×îºó,ÄãÐèÒªmountÇý¶¯Æ÷.
ÔÚÕâÀïÎÒÃǼÙÉèÄãÒÑÓÃmkdir´´½¨ÁË"mount
point"
/d2 .
mount /dev/sd1c /d2
˳ÀûµÄ»°, Äã¿ÉÒÔ¿´µ½ÏóÕâÑùµÄ¶«Î÷:
#vinyl % df -k
Filesystem 1K-blocks Used
Avail Capacity Mounted on
/dev/sd0a 31775 13530
15703 46% /
/dev/sd0s1f 1913091 1086207 673837
62% /usr
/dev/sd0s1e 29727 12663
14686 46% /var
procfs
4 4
0 100% /proc
/dev/sd1c 4108717 616594 3163426
16% /d2
ÏÖÔÚÄãÒªÔÚ/etc/fstabÎļþÀï´´½¨Ò»¸öÌõÄ¿ÒÔʹËüÔÚÿ´ÎÆô¶¯Ê±¶¼±»mount.
·ñÔòÄãÿ´Î¶¼ÒªÊÖ¹¤Ö´ÐÐmount.
ÄãҪΪ´´½¨µÄÿ¸ö·ÖÇø½¨Á¢fstabÌõÄ¿,°üÀ¨
½»»»·ÖÇø.
´ËÍâ¿ÉÒÔÔÚman
pageÀï²Î¿¼: fstab mount disklabel
dmesg dd ºÍ newfs
4. ϵͳÅäÖÃÎļþÑ¡Ïî
4.1 ÖØÒªµÄÆô¶¯Ê±³õʼ»¯Ñ¡Ïî
4.2 ÍøÂçÅäÖÃ×ÓÏî
4.3 (ÆäËû)ÍøÂçdaemon &
NFSÑ¡Ïî
4.4 ÍøÂçʱ¼ä·þÎñÑ¡Ïî
4.5 ÍøÂçÐÅÏ¢·þÎñ(NIS)Ñ¡Ïî
4.6 ÍøÂç·ÓÉÑ¡Ïî
4.7 ϵͳ¿ØÖÆÌ¨Ñ¡Ïî
4.8 ÆäËû¹ÜÀíÑ¡Ïî
4.9 Allow local configuration override at the very end here
×¢Òâ:
ËùÓвÎÊý¶¼±ØÐëÀ¨ÔÚµ¥ÒýºÅ»òË«ÒýºÅÀï. ¶à¸öÌõÄ¿¼äÓÿոñ¸ñ¿ª
4.1 ÖØÒªµÄÆô¶¯Ê±³õʼ»¯Ñ¡Ïî
swapfile="NO"
# É趨½»»»ÎļþµÄÃû×Ö,Èç¹ûÏ£ÍûʹÓø¨Öú½»»»ÎļþµÄ»°.
# Set to name of swapfile if aux swapfile desired.
apm_enable="NO"
Èç¹ûÏ£Íû¼¤»îAPM(¸ß¼¶µçÔ´¹ÜÀí)ÉèΪYES
pccard_enable="NO"
ÒªÅäÖÃPCCARDÉ豸µÄ»°ÉèΪYES.
pccard_mem="DEFAULT"
Èç¹ûccard_enable=YES, ÕâÊÇ¿¨µÄÄÚ´æµØÖ·.
pccard_ifconfig="NO"
ÒÔÌ«ÍøpccardµÄÌØÊâÅäÖÃ(·ñÔò NO).
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d"
±¾µØÆô¶¯Ä¿Â¼.ÔÚÆô¶¯ÆÚ¼ä,FreeBSD»áËÑË÷ijЩĿ¼,²¢Ö´ÐÐÀïÃæµÄÈκÎ
³ÌÐò.ÓÐЩÏóWindowsÀïµÄ"Æô¶¯"Îļþ¼Ð.local_startupÑ¡ÏîÈÃÄãÖ¸¶¨ÄÇ
ЩĿ¼ÔÚÆô¶¯ÆÚ¼ä»á±»ËÑË÷.¿ÉÒÔÁжà¸öĿ¼,ÖмäÓÿոñ¸ñ¿ª.ËüÃǽ«°´
˳Ðò±»ËÑË÷,ÿ¸öÎļþ¶¼»á±»Ö´ÐÐ.ÕâÊdzý/etc/rc.localÍâÁíÒ»¸öÆô¶¯³Ì
ÐòµÄ·½·¨.
4.2. ÍøÂçÅäÖÃ×ÓÏî
»ù±¾ÍøÂçÑ¡Ïî:
hostname="myname.my.domain"
ÕâÊÇÄãµÄÖ÷»úÃû.
Èç¹ûÄãÁ¬ÔÚInternetÉϵϰ»¹Òª°üÀ¨ÓòÃû.Õâ¸öÃû×Ö
Ò²»á³öÏÖÔÚÄãµÄDNS±íÀï.
nisdomainname="NO"
É趨 NIS Óò Èç¹ûʹÓà NIS (·ñÔò NO).
firewall="NO"
·À»ðǽÀàÐÍ (²Î¼û /etc/rc.firewall) ·ñÔò NO.
tcp_extensions="YES"
# ÔÊÐí RFC1323 & RFC1544 À©Õ¹ (·ñÔò NO).
network_interfaces="lo0"
ÕâÊÇÄãÅäÖÃÄãµÄËùÓÐÍø¿¨µÄµØ·½.ÿ¿éÍø¿¨¶¼ÒªÓÐÒ»Ïî.lo0
ÊÇ»·Â·(loopback)É豸Ҳ³Æ×÷"localhost".Íø¿¨,±ÈÈçed0
(NE2000)ºÍfxp0(Intel Ether Express)ÔÚÉÏÃæ¼ÓÈë.
ifconfig_lo0="inet 127.0.0.1"
ÔÚÕâÀïÅäÖÃÄãÉÏÃæÁгöµÄÿ¿éÍø¿¨.
ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff"
ͨ¹ýlo0ΪlocalhostÉèÖÃÒ»¸ö±ðÃû.
4.3. (ÆäËû)ÍøÂçdaemon & NFSÑ¡Ïî:
syslogd_enable="YES"
Syslog ÊÇÄãµÄµÇ¼·þÎñ.Ëü°ÑËùÓеĴíÎó¼Ç¼ÔÚ/var/log/.ËüÓÃ
/etc/syslog.confÀ´ÅäÖÃ.
syslogd_flags=""
# syslogd µÄÃüÁî²ÎÊý (Èç¹û±»ÔÊÐí).
inetd_enable="YES"
ÕâÊÇÄãËùÓеÄÍøÂç·þÎñ. Èç¹ûËü±»½ûÖ¹Ä㽫²»ÄÜtelnetµ½Õą̂¼ÆËã»ú
ÉÏ. Ëüͨ¹ý/etc/inetd.confÀ´ÅäÖÃ.
Ëü¹ÜÀí×ÅËùÓж¯Ì¬·þÎñ,
Ò²¾ÍÊÇ
˵ÔÚÐèҪʱ²Å»á±»Æô¶¯µÄ·þÎñ,
±ÈÈç: finger, telnet,rlogin, ftp,
pop3 µÈµÈ...
inetd_flags=""
# inetd µÄ²ÎÊý.
named_enable="NO"
Õ⽫ÔËÐÐÄãµÄInternetÓòÃû·þÎñ,
»òÕß˵, BIND. Èç¹ûÄãÒѾÓÐÁËÒ»¸ö
DNSÄã¾Í²»±Ø°ÑËü´ò¿ªÁË.Ëüͨ¹ý
/etc/namedb/named.bootÀ´ÅäÖÃ, ³ý·Ç
ÄãרÃÅÖ¸¶¨ÁËÁíÒ»¸ö.
Ä㽫»áÓÐÖÁÉÙÁ½¸öDNS
servers.
named_flags="-b /etc/namedb/named.boot"
ÕâÊÇÄãÖ¸¶¨¸ønamedµÄÅäÖÃÎļþ.
kerberos_server_enable="NO"
# ÔËÐÐÒ»¸ökerberosÖ÷·þÎñ³ÌÐò
(·ñÔò NO).
# Run a kerberos master server(or NO).
rwhod_enable="NO"
# ÔËÐÐ rwho daemon (·ñÔò NO).
amd_enable="NO"
# ÒÔ$amd_flagsÔËÐÐamd·þÎñ. (·ñÔò NO).
amd_flags="-a /net -c 1800 -k i386 -d my.domain -l syslog /host /etc/amd.map"
Àý×Ó
nfs_client_enable="NO"
# Õą̂Ö÷»úÊÇһ̨ NFS ¿Í»§»ú (·ñÔò NO).
nfs_client_flags="-n 4"
# nfsiod µÄ²ÎÊý (Èç¹û±»ÔÊÐí).
nfs_server_enable="NO"
# Õą̂Ö÷»úÊÇһ̨ NFS ·þÎñÆ÷ (·ñÔò NO).
nfs_server_flags="-u -t 4"
# nfsd µÄ²ÎÊý (Èç¹û±»ÔÊÐí).
weak_mountd_authentication="NO"
# ÔËÐÐ PCNFSD / ÆäËû non-root nfsd (·ñÔò NO).
nfs_reserved_port_only="NO"
# ½öÔÚ°²È«¶Ë¿ÚÉÏÌṩNFS (·ñÔò NO).
rpc_lockd_enable="NO"
# ÔËÐÐ NFS rpc.lockd (*broken!*) Èç¹û nfs_server.
rpc_statd_enable="YES"
# ÔËÐÐ NFS rpc.statd Èç¹û nfs_server (or NO).
portmap_enable="YES"
# ÔËÐÐ portmapper ·þÎñ (·ñÔò NO).
portmap_flags=""
# portmap µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
xtend_enable="NO"
# ÔËÐÐ X-10 µçÔ´¿ØÖÆÆ÷ daemon.
xtend_flags=""
# xtend µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
4.4. ÍøÂçʱ¼ä·þÎñÑ¡Ïî:
timed_enable="NO"
ÔËÐÐʱ¼ä daemon (·ñÔò NO).
timed_flags=""
timed µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
ntpdate_enable="NO"
ÔËÐÐntpdate ʹʱ¼äͬ²½ (or NO).
ntpdate_flags=""
ntpdate µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
xntpd_enable="NO"
ÔÊÐí xntpd ÍøÂçʱ¼äÐÒé (·ñÔò NO).
xntpd_flags=""
xntpd µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
tickadj_enable="NO"
ÔËÐÐ tickadj (·ñÔò NO).
tickadj_flags="-Aq"
tickadj µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
4.5. ÍøÂçÐÅÏ¢·þÎñ(NIS)Ñ¡Ïî:
nis_client_enable="NO"
ÎÒÃÇÊÇһ̨NIS¿Í»§»ú (·ñÔò NO).
nis_client_flags=""
ypbind µÄ²ÎÊý (Èç¹û±»ÔÊÐí).
nis_ypset_enable="NO"
ÔÚÆô¶¯Ê±ÔËÐÐypset (·ñÔò NO).
nis_ypset_flags=""
ypset µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
nis_server_enable="NO"
ÕâÊÇһ̨NIS·þÎñÆ÷ (·ñÔò NO).
nis_server_flags=""
ypserv µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
nis_ypxfrd_enable="NO"
Æô¶¯Ê±ÔËÐÐrpc.ypxfrd(·ñÔò NO).
nis_ypxfrd_flags=""
rpc.ypxfrd µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
nis_yppasswdd_enable="NO"
Æô¶¯Ê±ÔËÐÐrpc.yppasswdd(·ñÔò NO).
nis_yppasswdd_flags=""
rpc.yppasswdd µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
4.6. ÍøÂç·ÓÉÑ¡Ïî:
defaultrouter="NO"
ÕâÀïÉèÖÃÄãµÄÈ±Ê¡Íø¹Ø.ÕâÊÇÄãÁ¬½ÓInternetµÄ·ÓÉÆ÷µÄIPµØÖ·.Èç¹û
ÄãûÓÐÉèÖÃÕâÏî,Ä㽫½öÄÜpingͨͬһ×ÓÍøÄڵĵØÖ·.Èç¹ûÄãµÄIPµØÖ·
ÊÇ10.1.1.3,×ÓÍøÑÚÂëÊÇ255.255.255.0,Ä㽫ÄÜ¿´µ½10.1.1.2¶ø²»ÄÜ
¿´µ½10.1.2.2,ÒòΪûÓÐÉèÖÃȱʡµÄ·ÓÉ.
static_routes=""
¾²Ì¬Â·ÓÉÊÇ×÷Ϊ·ÓÉÆ÷λÓÚÁ½¸ö²»Í¬ÍøÂç¼äµÄ»úÆ÷µÄ¸ß¼¶Ñ¡Ïî.
gateway_enable="NO"
Èç¹ûÄãµÄ»úÆ÷Òªµ±×÷Íø¹ØµÄ»°Éè³ÉYES.Èç¹ûÄã»úÆ÷ÉÏÓв»Ö»Ò»¿éÍø¿¨²¢
°ÑËüÃÇÓÃ×÷·ÓÉ,ÍøÇÅ,ipnat»òÕßµ±×÷²¦ºÅ·þÎñÆ÷ʱÉ趨ΪYES.
router_enable="YES"
ÉèÖÃΪ YES ÒÔÔÊÐíÒ»¸ö·ÓÉdaemon.
router="routed"
Èç¹û±»ÔÊÐí,ÕâÊÇ·ÓÉdaemonµÄÃû×Ö.
router_flags="-q"
·ÓÉdaemonµÄ²ÎÊý.
mrouted_enable="NO"
×÷ multicast routing (²Î¼û /etc/mrouted.conf).
ipxgateway_enable="NO"
Éè³É YES ÒÔÔÊÐí IPX ·ÓÉ.
ipxrouted_enable="NO"
Éè³É YES ÒÔÔËÐÐ IPX ·ÓÉ daemon.
ipxrouted_flags=""
IPX ·ÓÉ daemonµÄ²ÎÊý.
arpproxy_all=""
Ìæ»»ÒѷϳýµÄºËÐÄÑ¡Ïî ARP_PROXY_ALL. µ±×÷²¦ºÅ·þÎñÆ÷ʱÐèÒª.
4.7. ϵͳ¿ØÖÆÌ¨Ñ¡Ïî
keymap="NO"
/usr/share/syscons/keymaps/* ÀïµÄkeymap (·ñÔò NO).
keyrate="NO"
Éè¼üÅÌËÙÂÊΪ: slow, normal, fast (·ñÔò NO).
keybell="NO"
bell to duration.pitch or normal or visual (or NO).
keychange="NO"
¹¦ÄܼüµÄȱʡֵ (·ñÔò NO).
cursor="NO"
¹â±êÀàÐÍ {normal|blink|destructive} (·ñÔò NO).
scrnmap="NO"
/usr/share/syscons/scrnmaps/* ÀïµÄÆÁĻӳÉä(·ñÔò NO).
font8x16="NO"
/usr/share/syscons/fonts/* ÀïµÄ8x16×ÖÌå(·ñÔò NO).
font8x14="NO"
/usr/share/syscons/fonts/* ÀïµÄ8x16×ÖÌå(·ñÔò NO).
font8x8="NO"
/usr/share/syscons/fonts/* ÀïµÄ8x8×ÖÌå(·ñÔò NO).
blanktime="NO"
blank time (in seconds) or "NO" to turn it off.
saver="NO"
ÆÁÄ»±£»¤: blank/daemon/green/snake/star/NO.
µ±ÄãûÓÐXÔËÐÐʱ
ÕâÀïÉèÖÃÆÁÄ»±£»¤.
moused_type="NO"
rc.conf(8) µÄman page ÀïÁгöÁË¿ÉÓõÄÑ¡Ïî.
moused_port="/dev/cuaa0"
ÉèÖÃÄãµÄÊó±ê¶Ë¿Ú (±ØÐë,mousetype ±»ÉèÖÃ).
moused_flags=""
moused µÄ¸½¼Ó²ÎÊý.
4.8. ÆäËû¹ÜÀíÑ¡Ïî
cron_enable="YES"
ÔËÐÐÖÜÆÚ×÷ÒµµÄdaemon.
Cron Êǵ÷¶Èʼþ·¢ÉúµÄ
"daemon". ÒÔÒ»¶¨µÄÖÜÆÚ
ÔËÐÐÈý¸ö±ê×¼½Å±¾Îļþ:
/etc/daily /etc/weekly ºÍ /etc/montly.
Äã¿ÉÒÔͨ¹ýÅäÖÃËüÃÇÀ´Íê³ÉÒª×öµÄÊÂ
lpd_enable="YES"
ÔËÐÐÅŶӴòÓ¡»ú
daemon. ÄãÐèÒªÕâ¸öÀ´Ê¹ÓôòÓ¡»ú.
Ëüͨ¹ý/etc/printcap
ÅäÖÃ.
lpd_flags=""
lpd µÄ²ÎÊý(Èç¹û±»ÔÊÐí).
sendmail_enable="YES"
ÔËÐÐ sendmail daemon (·ñÔò
NO). ÄãÐèÒªÕâ¸öÀ´»ñµÃe-mail·þÎñ³ý·ÇÄã»»³É
ÁËÆäËûÓʼþdaemon.
Ëüͨ¹ý/etc/sendmail.cfÀ´ÅäÖÃ.
sendmail_flags="-bd -q30m"
-bd is pretty mandatory.
savecore_enable="NO"
ºËÐÄcrashʱת´¢ÄÚ´æµÄÓ³Ïñ (·ñÔò NO).
dumpdev="NO"
Device name to crashdump to (if enabled).
check_quotas="NO"
¼ì²é´ÅÅÌÏÞ¶î (·ñÔò NO).
accounting_enable="NO"
´ò¿ª½ø³Ì¼ÇÕÊ (·ñÔò NO).
ibcs2_enable="NO"
Æô¶¯Ê±×°ÈëIbcs2 (SCO) Ä£ÄâÆ÷ (·ñÔò NO).
linux_enable="NO"
Æô¶¯Ê±×°ÈëLinux Ä£ÄâÆ÷ (or NO). ²Î¼ûÉèÖÃLinuxÄ£ÄâÆ÷²¿·Ö.
rand_irqs="NO"
Stir the entropy pool (like "5 11" or NO).
4.9. Allow local configuration override at the very end here
if [ -f /etc/rc.conf.local ]; then
. /etc/rc.conf.local
fi
5. Ìí¼ÓºÍ°²×°Èí¼þ
ÔÚFreeBSDÏÂÌí¼Ó/°²×°Èí¼þºÜÈÝÒ×.FreeBSDά»¤×ÅÒ»Ì×"packages",Ëü°üº¬Á˼¸ºõ
ËùÓÐÁ÷ÐÐÈí¼þµÄÒÑÔ¤ÏȽ¨Á¢ºÃ²¢ÂíÉÏ¿ÉÒÔÔËÐеĶþ½øÖÆÎļþ.
Èç¹ûÄãÓÐÒ»Ì×CD,
ËüÃÇ
È«ÔÚ#1ÅÌÉÏ,ÄãÄÜÖ±½Óä¯ÀÀ(Óиö½ÐpackagesµÄĿ¼..),
»òÕßÓÃ"/stand/sysinstall"
¹¤¾ß,µ½Post Configuration,È»ºóÑ¡ÔñPackages.
½«³öÏÖÒ»¸ö·ÖÀàÁгöËùÓÐpackages
²¢´øÓмò¶ÌÃèÊöµÄÆÁÄ».
ͨ³£,ÄãÐèÒªftpµ½ftp.freebsd.orgÒÔÈ¡µÃÒ»¸öpackageµÄ×îа汾
-
ftp://ftp.freebsd.org/pub/FreeBSD/packages-stable ÊÇÄãҪעÒâµÄµØ·½.Èç¹ûÄã
ÏÂÔØÁËÒ»¸öpackage,Ëü»áÒÔ
.tgz½áβ.Äã²»±ØÈ˹¤µÄuntar/Õ¹¿ªËü.
Ö»ÐëÓÃÃüÁî
"pkg_add".
ÀýÈç: ÎÒÏÂÔØÁËÒ»¸ö½Ð
spaz-1.32.tgz µÄpackage
1. su to root (ÄãÐèÒª³ÉΪroot À´°²×° packages)
2. pkg_add spaz-1.32.tgz
¾ÍÊÇÕâÑù!ÏÖÔÚÕâ¸öpackageÒÑÔÚÄãϵͳÉϱ»°²×°ºÍÉèÖÃ.
Èç¹ûÄãÓÃcsh»òtcsh,ÄãµÃ
ÓÃrehashÀ´ÈÃÄãµÄshellÖØÐÂɨÃèϵͳÀïµÄ
bin Ŀ¼...
Õâ¸öpackageÒѱ»µÇ¼Çµ½/var/db/pkgĿ¼Àï
- ÄãÄÜ cd µ½ÄÇÀïÈ¡µÃÒ»¸öĿ¼Áбí
À´¿´¿´ÄãϵͳÉϰ²×°ÁËÄÄЩpackages.
Èç¹ûÄã²»ÔÙÐèÒªÒ»¸öpackage,ÄãÄÜÓÃ
pkg_deleteÃüÁîÀ´É¾³ýËü:
pkg_delete spaz-1.32.tgz (´Ó/var/db/pkbĿ¼)
FreeBSDµÄportsϵͳµÄ¹¤×÷Ò²Ò»Ñù,
ʹÓÃportµÇ¼Çʹɾ³ýÒÔºó²»ÔÙÐèÒªµÄ¶«Î÷±äµÃ
ºÜÈÝÒ×. ²»Í¬µãÊÇportsʹÓõÄÊÇ"Ô´³ÌÐò",ÐèÒª±»±àÒë.Èç¹ûÄãÓÐÒ»¸öInternetÁ¬½Ó,
²¢ÇÒ°²×°ÁËports
tree(ÔÚ°²×°FreeBSDʱ»áѯÎÊÄãÊÇ·ñÐèÒª)¿ÉÒÔ
cd µ½/usr/ports
Àï¿´¿´.
¼ÙÉèÄãÒªÔÚ/usr/ports/net/spazĿ¼Àï°²×°port:
1. su root
2. cd /usr/ports/net/spaz
3. make
×¢Òâ:
ÕâÀïmakeʵ¼ÊÔÚΪÄãÏÂÔØport!
4. make install (Èç¹ûÇ°ÃæµÄmake³É¹¦µÄ»°,ÏÖÔÚ½«°ÑÄãµÄÀͶ¯¹ûʵ°²×°µ½
ϵͳµÄ bin/lib Ŀ¼,ËæÊ±¹©ÄãʹÓÃ)
5. make clean (Èç¹ûÄãÏëÇå³ý±àÒëʱ²úÉúµÄÄ¿±êÎļþÒÔ½ÚÊ¡¿Õ¼äµÄ»°)
ÔÙ˵һ±é,ÔÚ/var/db/pkgÀïʹÓÃpkg_deleteɾ³ýÒѰ²×°µÄports.
6. ÔõÑù°²×°LinuxÄ£ÄâÆ÷
LinuxÄ£ÄâÆ÷ÔÊÐíÄãÔÚÄãµÄFreeBSDϵͳÉÏÔËÐÐLinuxµÄ¶þ½øÖÆÎļþ.ʵ¼ÊÉÏËü¹¤×÷
µÄºÜºÃ.ÕâÊÇÔËÐÐÕâ¸öÄ£ÄâÆ÷µÄÁ½ÖÖ·½·¨:
* ±àÒëµ½ºËÐÄÀï
* µ±×÷Ò»¸ö¿É×°ÔØµÄºËÐÄÄ£¿é(lkm)
²»¹ÜÓÃÄÄÖÖ·½·¨, Äã¶¼±ØÐëÏÈ´Óports collectionÀï°²×°Linux¿â.
cd /usr/ports/emul