Chapter 7 ¤@¯ëÀ³¥Îµ{¦¡

Kang-min Liu
7.1. ¶â..§Ú­n¦b­þ§ä¨ì§Ú­nªºµ{¦¡©O?
7.2. ¸Ó«ç»ò³]©w INN(Internet News) ¨Ó·í news server¡H
7.3. FreeBSD ¦³¤ä´© Java" ¶Ü¡H
7.4. §Ú¥i¥H¦b­þÃä§ä¨ì libc.so.3.0?
7.5. ¬°¦ó§Ú±o¨ì¤F³o­Ó°T®§ ?¡§Error: can't find libc.so.4.0¡¨?
7.6. ghostscript ¦b§Úªº 386/486SX ¤W¦³ÂI°ÝÃD©O¡I
7.7. ¬°¤°»ò·í§Ú°õ¦æ SCO/iBCS2 ªºµ{¦¡®É¡A¥¦¦b ¡§socksys¡¨ ³o­Ó¦a¤è¥X¤F°ÝÃD¡H (FreeBSD 3.0 ¥H¤Î§ó¦­ªºª©¥»¤~¦³¦¹°ÝÃD¡C)
7.8. §Ú¸Ó¨Ï¥Î¨º­Óª©¥»ªº Microsoft FrontPage¡H
7.9. ¬°¤°»ò§ÚµLªk¦b 3.X-STABLE ¾÷¾¹¤W¶¶§Q½s¦n³o­Ó port?
7.10. ¨º¸Ì¥i¥H§ä±o¨ì ld.so¡H
7.11. §Ú§ó·s¤F¨t²Î­ì©l½X¡A²{¦b§Ú­n«ç¼Ë¤É¯Å¬Y­Ó¤w¸g¦w¸Ë¤W ªº ports ?
7.12. ¬°¤°»ò /bin/sh³o»òªº¤p¡H¬°¤°»ò FreeBSD ¤£§ï¥Î bash ©ÎªÌ¬O¨ä¥L¤ñ¸û±j®«ªº shell¡H
7.13. ¬°¤°»ò Netscape ©M Opera ­nªá¦n¤[ªº®É¶¡¤~¯à±Ò°Ê¡H

7.1. ¶â..§Ú­n¦b­þ§ä¨ì§Ú­nªºµ{¦¡©O?

½Ð¬Ý¬Ý ports ¥Ø¿ý §a¡C³oÃ䦳¥÷¤w¸g port ¨ì FreeBSD ªº³nÅé¦Cªí¡C ¥Ø«e¦³¶W¹L 20,000 ­Ó³nÅé¤w¸g³Qport ¨ì FreeBSD ¤W¡A¨Ã¥B¨C¤Ñ ³£¦b¼W¥[¤¤¡C©Ò¥H¦³ªÅ´N¦h¬Ý¬Ý³o¥÷¦Cªí¡A¤£µM§A¤]¥i¥H­q¾\ freebsd-announce ³o¥÷ mailing list¡A·|¦³¤H±N¨C­Ó¬P´Á³Ì·sªº³nÅé¦Cªí¶K¦b¤W­±¡C

¤j³¡¥÷ªº ports À³¸Ó³£¥i¥H¦b 4.X¡B5.X ¸ò 6.X ªº¨t²Î¤W¨Ï¥Î¡C ¨C¦¸·í FreeBSD release ·sª©®É¡A³£·|¦³¤@¥÷ ports tree ³Q©ñ¦b³o¤@­Ó release cd ¸Ì­±ªº ports/ ¥Ø¿ý¸Ì¡C

§Ú­Ì¤]¤ä´©¤@ºØ¥s ¡§package¡¨ ªº·§©À¡A°ò¥»¤W ´N¬O gzip À£ÁY¡B¥i¥Î¨Óµo¦æªº binary ÀɮסA¦ý¬O¸Ì­±ÂäF¤@ ¨Ç¬Û·í¦³¥Îªº¸ê°T¡A¥i¥Hµ¹¦UºØ¦Û­q¦w¸Ë¨Ó¨Ï¥Î¡C¨Ï¥ÎªÌ¤£¥²ª¾ ¹D¬Y­Ó package ¸Ì¨s³º¦³¥]¬A­þ¨ÇÀɮסA´N¥i`¥H«Ü¤è«K¦a­«½Æ±N ¥¦¦w¸Ë/¤Ï¦w¸Ë¡C

§A¥i¥H°õ¦æ sysinstall(FreeBSD 5.2 ¤§«eª©¥»«h¬O /stand/sysinstall) «á¡A ¦b post-configuration ¿ï³æ¤U¿ï¾Ü package ³o­Ó¦w¸Ë¿ï¶µ¡F©Î ¬O¹ï¬Y­Ó¦³¿³½ìªº package ÀÉ®×°õ¦æ pkg_add(1) §â¥¦¸Ë°_¨Ó¡CPackage Àɮ׳q±`¥H .tgz ©Î .tbz ¬°°ÆÀɦW¡A¤â¤W¦³ FreeBSD CDROM ªº¤H¥i¥H¦b packages/All ³o­Ó¥Ø¿ý¤U§ä¨ì³oÃþÀɮסC ¹ï¤£¦Pªº FreeBSD ª©¥»¡A¤]¥i¥H±q¤U¦C¦ì§}¥Ñºô¸ô¤W¨ú±o¡G

©Î¬OÂ÷§A³Ìªñªº mirror ¯¸¡C

­nª`·Nªº¬O¡A¦]¬°·sªº port ¤@ª½¦b¼W¥[¤¤¡A©Ò¥H¨Ã¤£¬O©Ò¦³ port ³£¦³¬Û¹ïÀ³ªº package¡C³Ì¦n©w®ÉÀˬdftp.FreeBSD.org ¡A¬Ý¬Ý¦³­þ¨Ç package ¥i¥H¥Î¡C

7.2. ¸Ó«ç»ò³]©w INN(Internet News) ¨Ó·í news server¡H

¥H package ©Î port ¤è¦¡¨Ó¸Ë¦n news/inn ¤§«á¡ADave Barr's INN Page ¬O­Ó«D±`¦nªº INN ¤Jªù³B¡A§A¥i¥H¦b¨ºÃä§ä¨ì INN ªº FAQ¡C

7.3. FreeBSD ¦³¤ä´© Java" ¶Ü¡H

¦³°Ú¡A½Ð¬Ý http://www.FreeBSD.org/java/

7.4. §Ú¥i¥H¦b­þÃä§ä¨ì libc.so.3.0?

§A¥i¯à¦b¤@¥x 2.1.x ªº¾÷¾¹¤W¡A¶]µÛµ¹ 2.2/3.x/4.0 ªº³nÅé¡C ½Ð¦A©¹¤W­±¤@­Ó³¹¸`¬Ý¡A¥¿½Tªº¨ú±oµ¹§A¾÷¾¹¥Îªº port/package¡C

7.5. ¬°¦ó§Ú±o¨ì¤F³o­Ó°T®§ ?¡§Error: can't find libc.so.4.0¡¨?

§A¤£¤p¤ß§ì¤Fµ¹ 4.X ¤Î 5.X ¨t²Î¥Îªº package¡A¨Ã¥B¹Á¸ÕµÛ ¥h¸Ë¦b§Aªº 2.X ©Î 3.X ªº¨t²Î¤W­±¡C½Ð¤U¸ü¥¿½Tª©¥»ªº package¡C

7.6. ghostscript ¦b§Úªº 386/486SX ¤W¦³ÂI°ÝÃD©O¡I

§A¨S¦³¯BÂI¹Bºâ¾¹¡A¹ï§a¡H§A¥²¶·¦b§Aªº kernel ¤¤¥[¤J¼Æ¾Ç ¹Bºâ¼ÒÀÀ¾¹¡A§A¥i¥H¸òµÛ¤U­±ªº¨BÆJ°µ¡A¨Ã¦b§ó§ï¹L§Aªº kernel ³]©w ÀÉ«á¡A­«·s½s͹L¤@¦¸¡C

options GPL_MATH_EMULATE

Note: ·í§A¥[¤J¤W¤@¦æªº¦P®É¡A§A¥²¶·±N MATH_EMULATE ²¾°£±¼¡C

7.7. ¬°¤°»ò·í§Ú°õ¦æ SCO/iBCS2 ªºµ{¦¡®É¡A¥¦¦b ¡§socksys¡¨ ³o­Ó¦a¤è¥X¤F°ÝÃD¡H (FreeBSD 3.0 ¥H¤Î§ó¦­ªºª©¥»¤~¦³¦¹°ÝÃD¡C)

§A¥²¶·¥ý­×§ï /etc/sysconfig (©Î¬O /etc/rc.conf, ½ÐŪ rc.conf(5)) ³oÀɮ׳̫á¤@­Ó³¹¸`¡A±N¤U­±©ÒÁ¿¨ìªºÅܼƳ]¦¨ YES¡G

# Set to YES if you want ibcs2 (SCO) emulation
            loaded at startup ibcs2=NO

³o·|¦b¶}¾÷®É±N ibcs2 ³o¤@­Ó kernel ¼Ò²Õ¸ü¤J¡C

§AÁÙ­n±N§Aªº /compat/ibcs2/dev §ï¦¨¤U­±³o¼Ë¡G

lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 X0R@ -> /dev/null
lrwxr-xr-x  1 root  wheel         7 Oct 15 22:20 nfsd@ -> socksys
-rw-rw-r--  1 root  wheel         0 Oct 28 12:02 null
lrwxr-xr-x  1 root  wheel         9 Oct 15 22:20 socksys@ -> /dev/null
crw-rw-rw-  1 root  wheel   41,   1 Oct 15 22:14 spx

§A¥u»Ý­n±N socksys Âà¦V¨ì /dev/null (½ÐŪ null(4)) ¥hÄF¹L open & close ªº°Ê§@¡C¦b -current ¸Ì­±ªº ibcs2 ¬ÛÃöµ{¦¡½X±N·|³B²z¨ä¾lªº³¡¥÷¡A³oºØ§@ªk¤ñ¥H«eªº¤è¦¡ °®²b¤Ó¦h¤F¡C°²¦p§A·Q­n¨Ï¥Î spx ¤è­±ªº µ{¦¡¡A¦b§Aªº kernel ³]©wÀɸ̭± ¥[¤WSPX_HACK¡C

7.8. §Ú¸Ó¨Ï¥Î¨º­Óª©¥»ªº Microsoft FrontPage¡H

Use the Port, Luke¡I¦b ports tree ¤¤¤w¸g¦³¤@­Ó¥]§t FrontPage ªº Apache ª©¥»¤F¡C

7.9. ¬°¤°»ò§ÚµLªk¦b 3.X-STABLE ¾÷¾¹¤W¶¶§Q½s¦n³o­Ó port?

¦pªG§Aªº FreeBSD ª©¥»¬Û¸û -CURRENT ©Î -STABLE ¤§¤U¬O«Ü¥j ¦­ªº¸Ü¡A©Î³\§A·|»Ý­n¤@­Ó¤É¯Å ports ªº¤u¨ã¡A¦b http://www.FreeBSD.org/ports/¡C¦pªG§A¥H±N¨ä§ó·s«o¤´µL¥Î¡A ¨º»ò¤@©w¬O¬Y¤H§ó°Ê¤§«á³y¦¨ -CURRENT ¤~¯à¥Î¡A-STABLE µLªk¥Îªº±¡ªp¡C ¥Ñ©ó ports ¤º©Ò¦¬¶°ªº³nÅé¦b -CURRENT ©Î¬O -STABLE ¤W³£­n¯à¥Î¡A ©Ò¥H½Ð¾¨³t°e¥XÃö©ó¦¹°ÝÃDªºÂγø§i¡F½Ð¨Ï¥Î send-pr(1) ³o­Ó«ü ¥O¨Ó°eÂγø§i¡C

7.10. ¨º¸Ì¥i¥H§ä±o¨ì ld.so¡H

¦³¨Ç a.out ®æ¦¡ªºÀ³¥Îµ{¦¡·|»Ý­n a.out ®æ¦¡ªº¨ç¦¡®w¡A Netscape Navigator ´N¬O¤@­Ó¨Ò¤l¡C¤£¹L¥Î ELF ¨ç¦¡®w½s°_¨Ó ªº FreeBSD ¹w³]¨Ã¤£·|¦w¸Ëªº a.out ¨ç¦¡®w¡A©Ò¥H±z¥i¯à·|±o ¨ìÃþ¦ü§ä¤£¨ì /usr/libexec/ld.so ªº©ê«è°T ®§¡C¦pªG»¡±zªº¨t²Î¦³³o¦w¸Ë a.out ¨ç¦¡®wªº¥²­n¡A³o¨Ç¨ç¦¡®w (compat22) ¤]¯à°÷§Q¥Î sysinstall(8) ¨Ó¦w¸Ë¡C©ÎªÌ§Q¥Î FreeBSD ­ì©l½X¨Ó¦w¸Ë¡G

# cd /usr/src/lib/compat/compat22# make install clean

¦pªG§A§Æ±æ¨C¦¸ make world ®É·|¦Û°Ê§ó·s compat22 ¨ç¦¡®w¡A¨º»ò­×§ï /etc/make.conf¡A ¥[¤J COMPAT22=YES¡C³o¨Ç¬Û®e©ó¥j¦Ñª©¥»ªº¨ç¦¡®w ¤w¸g¨S¤°»ò¦b§ó·s¤F¡A©Ò¥H¤@¯ë»¡¨Ó¬O¤£»Ý­n³o¼Ëªº¡C

¦P®É¤]½Ð±z¬Ý¤@¤U 3.1-RELEASE ©M 3.2-RELEASE ªº°É»~ªí(ERRATA)¡C

7.11. §Ú§ó·s¤F¨t²Î­ì©l½X¡A²{¦b§Ú­n«ç¼Ë¤É¯Å¬Y­Ó¤w¸g¦w¸Ë¤W ªº ports ?

FreeBSD ¥»¨­¨Ã¨S¦³¦Û°Ê¤É¯Å ports ªº¤u¨ã¡A¦ý¦³¤@¨Ç¥i¥HÅý¤É¯Å ²¤Æ¤@¨Çªº¤pµ{¦¡¡C§A¤]¥i¥H¦Û¤v¸Ë¤WÃB¥~ªº¤u¨ã¨Ó³B²z¡C

pkg_version(1) «ü¥O¥i¥H¦Û°Ê²£¥Í¥Î¨Ó¹F¨ì¦Û°Ê¤É¯Å¨ì ports tree ³Ì·sª©¥»ªº script¡C

# pkg_version -c > /tmp/myscript

¤@©w­n¦b¤â°Ê­×§ï¤@¤U²£¥Í¥X¨Óªº script¡C ¥Ø«eªº pkg_version(1) ¦b script ³Ì«e­±¥[¤J exit(1) ±j ­¢§A¥h­×§ï¥¦¡C

§AÀ³±N°õ¦æ script ©Ò²£¥Íªº¿é¥X°O¿ý¤U¨Ó¡A¦]¬°¸Ì­±·|¦³°O¸ü¬Y¨Ç ©|¥¼¤É¯Å¦ý¤w¸g§ó·sªº ports¡C¤£¹L§A¤£¤@©w­n¥h¤É¯Å¥¦­Ì¡C³q±`¬O¦]¬° ¦³¬Y­Ó¦@¥Îªº¨ç¦¡®w¤w¸g§ïÅܪ©¥»¸¹¤F¡A¤~­n¥h­«½s¤@¦¸¨º¨Ç¨Ï¥Î¨ì¸Ó¨ç ¦¡®wªº ports¡C

¦pªG§AªºµwºÐªÅ¶¡«Ü°÷¡A¨º»ò¥i¥H¥Î portupgrade ³o­Ó¤u¨ã¨Ó°µ¥þ¦Û°Ê³B¸Ì¡Cportupgrade ¸Ì­±¤]¦³ ¤@¨Ç¤pµ{¦¡¨Ó²¤Æ package ¤É¯Å¡A¥¦¦b sysutils/portupgrade¡C ³o­Ó¤u¨ã¬O¥Î Ruby ³o­Ó»y¨¥¼gªº¡A©Ò¥H¨Ã¤£¾A¦X¥[¤J¨ì FreeBSD ªº­ì ©l½X¤¤¡A¤£¹L¨Ã¤£·|¦]¦¹Åý¬Y¨Ç¤H¤£¥Î¥¦¡C

¦pªG§Aªº¨t²Î¤@ª½³£³B©ó¶}¾÷ª¬ºA¡A¥i§Q¥Î periodic(8) ¨t²Î¡A ¨C­Ó¬P´Á²£¥Í¤@±i»Ý­n¤É¯Åªº²M³æ¡C¥u­n¦b /etc/periodic.conf ¥[¤J weekly_status_pkg_enable="YES" ´N¥i¥H¤F¡C

7.12. ¬°¤°»ò /bin/sh³o»òªº¤p¡H¬°¤°»ò FreeBSD ¤£§ï¥Î bash ©ÎªÌ¬O¨ä¥L¤ñ¸û±j®«ªº shell¡H

¦]¬° POSIX »¡¡A¸Ó­n¦³³o»ò¼Ëªº¤@­Ó shell ¦b¤~¦æ¡C

¤ñ¸ûÁcº¾ªºµª®×¡G³\¦h¤H»Ý­n¼g¥i¥H¸ó«Ü¦h¥­¥xªº shell script ¡C ³o¤]¬O¬°¦ó POSIX ±N shell ¥H¤Î¤u¨ã©RºÙ³£©w¸qªº«D±`¸Ô²Óªº½t¬G¡C ¤j³¡¥÷ªº script ³£¾A¥Î©ó Bourne shell¡A¤S¦]¬°¦³´X­Ó­«­nªº ¼gµ{¦¡©Ò¥Î¨ìªºµ{¦¡©ÎªÌ¨ç¦¡ (make(1) , system(3), popen(3), ÁÙ¦³¦b Perl ©ÎªÌ Tcl ¸Ì­±©I¥s¨t²Îµ{¦¡ªº¦a¤è) ³£«ü©w¥Î Bourne shell ¡C¨º»ò¦]¬° Bourne Shell ¦p¦¹ªº¼sªx±`¥Î¡A ¨º»ò¥¦ªº°õ¦æ®Ä²v«K«Ü­«­n¡A§Ö³t¬O¥¦¨M©w©Êªº­nÂI¤§¤@¡AÁÙ­n¤£¦û¤Ó¦h °O¾ÐÅé¡C

¥Ø«eªº /bin/sh ¤w¬O§Ú­Ì¹Ã¤ßÃw¦å¤§§@¡A¥¦¤w ¸gºÉ¶q¦a²Å¦X¼Ð·Ç³W©w¡C¬°¤FÅý¥¦«D±`¤p¡A§Ú­Ì®³±¼¤F¤@¨Ç¨ä¥L shell ¦³ªº¤è«K¥\¯à¡C³o¤]¬O¬°¤°»ò ports ¸Ì­±ÁÙ¦³«Ü¦h±j®«ªº shell ¡A¹³¬O bash, scsh, tcsh ¥H¤Î zsh ¡C (§A¥i¥H¦Û¤v¤ñ¸û¤@¤U³o¨Ç shell °õ¦æ ®É©Ò¦ûªº°O¾ÐÅé¤j¤p¡A¥h¬Ý¬Ý ps -u ¦C¥X¨Óªº ¡§VSZ¡¨ ©M ¡§RSS¡¨ ³o¨â­ÓÄæ¦ì´Nª¾¹D¤F¡C)

7.13. ¬°¤°»ò Netscape ©M Opera ­nªá¦n¤[ªº®É¶¡¤~¯à±Ò°Ê¡H

³q±`¬O¦]¬°§Aªº DNS ¨S¦³³]©w¦n¡C Netscape ¸ò Opera ¦b±Ò°Êªº®É­Ô ³£·|¥hÀˬd¤@¤U DNS¡Cª½¨ì DNS ¦³¦^À³¡A©ÎªÌ¬OÂ_©wºô¸ô¥Ø«e¬OÂ_½u¤§«á¡A ¥¦­Ì¤~·|Åã¥Üµe­±¥X¨Ó¡C

¥»¤å¤Î¨ä¥L¤å¥ó¡A¥i¥Ñ¦¹¤U¸ü¡Gftp://ftp.FreeBSD.org/pub/FreeBSD/doc/¡C

­Y¦³ FreeBSD ¤è­±ºÃ°Ý¡A½Ð¥ý¾\Ū FreeBSD ¬ÛÃö¤å¥ó¡A¦p¤£¯à¸Ñ¨Mªº¸Ü¡A¦A¬¢¸ß <questions@FreeBSD.org>¡C
Ãö©ó¥»¤å¥óªº°ÝÃD¡A½Ð¬¢¸ß <doc@FreeBSD.org>¡C