FreeBSD ãàðûí àâëàãà
FreeBSD áàðèìòæóóëàõ ò°ñ°ë
FreeBSD ãàðûí àâëàãà by FreeBSD áàðèìòæóóëàõ ò°ñ°ë Published 1999 îíû õî¼ðäóãààð ñàð Copyright © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 FreeBSD
áàðèìòæóóëàõ ò°ñ°ë
Copyright © 2006, 2007, 2008, 2009 FreeBSD-ã Ìîíãîëîîð áàðèìòæóóëàõ ò°ñ°ë FreeBSD-ä òàâòàé ìîðèëíî óó! Ýíý ãàðûí àâëàãà íü FreeBSD 6.4-RELEASE áîëîí FreeBSD 7.1-RELEASE õóâèëáàðóóäûí ñóóëãàöààñ ýõëýýä °ä°ð òóòìûí õýðýãëýýã òàéëáàðëàñàí áèëýý. Ýíý ãàðûí àâëàãà íü ò°ãñ äóóñààã³é á°ã°°ä ìàø îëîí õ³íèé õàìòûí á³òýýë þì. Çàðèì õýñýã íü õóó÷èð÷ øèíý÷ëýãäýõ øààðäëàãàòàé áàéæ áîëçîøã³é. Õýðýâ òà ýíý ò°ñ°ëä õóâü íýìðýý îðóóëæ, áèäýíä òóñëàõûã õ³ñâýë FreeBSD áàðèìòæóóëàõ ò°ñëèéí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc) õàÿã ðóó çàõèà áè÷íý ³³. Ýíý ãàðûí àâëàãûí õàìãèéí ñ³³ëèéí õóâèëáàðûã FreeBSD âýá õóóäàñíààñ (http://www.FreeBSD.org/) òàòàæ àâ÷ áîëíî. (ýíý ãàðûí àâëàãûí °ìí°õ õóâèëáàðóóäûã http://docs.FreeBSD.org/doc/-ñ àâàõ áîëîìæòîé). Ì°í ÿíç á³ðèéí øàõàæ áýëòãýñýí õýëáýðýýð FreeBSD FTP ñåðâåðýýñ (ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/) ýñâýë òîëèí òóñãàë õóóäàñíààñ òàòàæ àâàãäàæ áîëíî. Õýðýâ òà ýíý ãàðûí àâëàãûí õýâëýñýí õóóëáàðûã àâàõûã õ³ñâýë FreeBSD Mall (http://www.freebsdmall.com/) õóóäñàíä çîð÷èíî óó. Òà ì°í ãàðûí àâëàãà äîòîð õàéëò õèéõ (http://www.FreeBSD.org/search/index.html) áîëîìæòîé.
Äîîðõ í°õö°ë, øààðäëàãóóäûã õàíãàñàí í°õö°ëä ýõ êîä (SGML DocBook) áîëîí ’ýìõýòãýãäñýí’ õýëáýð³³äèéã (SGML, HTML, õýðýãëýõ áóþó òàðààõ áîëîìæòîé:
PDF, PostScript, RTF áîëîí ãýõ çýðýã) ÿìàðâàà °°ð÷ë°ëò õèéæ áîëîí °°ð÷ë°ëòã³éãýýð
1. Ýõ êîäûã (SGML DocBook) äýýðõ ýçýìøèã÷èéí ýðõèéí òýìäýãëýë, áîëîí äîîðõ í°õö°ë øààðäëàãóóä áîëîí ç°ð÷èãä°õ òîõèîëäëóóäûí õàìòààð ýíý àéëûí ýõíèé ì°ðèéã õ°íä°ëã³éãýýð ò³ãýýíý. 2. Ýìõýòãýãäñýí õýëáýð³³äèéí (°°ð DTD-³³ä áîëîí õóâèðñàí, PDF, PostScript, RTF áîëîí áóñàä õýëáýðøèëò³³ä ð³³ õ°ðâ³³ëýãäñýí) äàõèí ò³ãýýëò³³ä íü äýýðõ ýçýìøèã÷èéí ýðõèéí òýìäýãëýë, äîîðõ í°õö°ë øààðäëàãóóä áîëîí ò³ãýýëòòýé öóã èðñýí áàðèìò áà/ýñâýë áóñàä ìàòåðèàëóóä äàõü ç°ð÷èõ òîõèîëäëóóäûã ³³ñãýõ ¼ñòîé.
Important: ÝÍÝ ÁÀÈÌÒ ÍÜ FREEBSD ÁÀÈÌÒÆÓÓËÀÕ ÒÑËÑ «ÁÀÉ ÀÀ ÁÀÉÄËÀÀÀÀ» ÝÑÝÍ ÍÕÖËÒÝÉ ÝÝ Ò ÝÝ ÄÝÆ ÁÀÉ ÀÀ Á Ä, ÝÍÝ ÍÜ ÕÓÄÀËÄÀÀÍÛ, ÒÎÄÎÕÎÉ ÍÝ ÁÎËÎÍ ÁÓÑÀÄ ÇÎÈË ÎÄ ÍÈÉÖÝÕ ÁÀÒÀË ÀÀ ÁÎËÎÕ É. ÇÀÉËØ É Ý ÕÀÈÓÖËÀ À ÝÑÂÝË /ÁÓÓÓ ÕÝÝ ËÝÑÍÝÝÑ/ (ÕÀÉÕÀÌÆ É ÁÀÉÄÀË ÁÀ ÁÓÑÀÄ) ÇÝÝ ÝÍÝ ÁÀÈÌÒÛ ÕÝÝ ËÝÑÍÝÝÑ ÄÑÝÍ ÀËÈÂÀÀ ØÓÓÄ, ØÓÓÄ ÁÓÑ, ÒÎÕÈÎËÄËÛÍ, ÇÎÈÓÄÛÍ , ÇÀ ÂÀ×ÈËÑÀÍ, ÝÑÂÝË ÄÀ ÀÂÀ ÁÎËÑÎÍ (ÇÀÕÈÀËÑÀÍ ÁÒÝÝ ÄÝÕÍ, ÉË×ÈË ÝÝ ÎËÓÓËÀÕ, ÕÝÝ ËÝÝÍÈÉ ÅÈÉÍ ÄË, ÕÝÝ ËÝÝ, ÀØ ÈÉÍ ÀËÄÀ ÄÀË, ÝÑÂÝË ÁÈÇÍÅÑÈÉÍ ÉË ÀÆÈËËÀ ÀÀ ÒÀÑÀËÄÓÓËÀÕ ÇÝ ÈÉ ÎÓÓËÀÕ Á Ä ÝÝ ÕßÇ ÀÀËÀ ÄÀÕ É) ÝÕ ÌÝÒ ßÌÀ × ÒÎÕÈÎËÄÎËÄ, ÕÝÄÈÉ ÈÉÌ ÕÎÕÈÎË À× ÁÎËÇÎØ É ÀÍÕÀÀÓÓËÑÀÍ ÁÀÉÑÀÍ × ÍÝÝÑ ÄÑÝÍ ÕÎÕÈÎËÄ FREEBSD ÁÀÈÌÒÆÓÓËÀÕ ÒÑË ÍÜ ÕÓÓËÜ ÑÍÛ ÕÀÈÓÖËÀ À ÕËÝÝÕ É.
FreeBSD íü FreeBSD Ñàíãèéí á³ðòãýãäñýí õóäàëäààíû òýìäýã þì.
3Com áîëîí HomeConnect íü 3Com Êîðïîðàöèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. 3ware áîëîí Escalade íü 3ware Inc-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì.
ARM íü ARM Limited-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýã þì.
Adaptec íü Adaptec, Inc-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýã þì.
Adobe, Acrobat, Acrobat Reader, áîëîí PostScript íü á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä ýñâýë Adobe Systems Incorporated-èéí
Àìåðèêèéí Íýãäñýí Óëñ áà/ýñâýë áóñàä óëñóóä äàõü õóäàëäààíû òýìäýãí³³ä þì. Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, áîëîí TrueType íü Àìåðèêèéí Íýãäñýí Óëñ áà/ýñâýë áóñàä óëñóóäàä á³ðòãýãäñýí Apple Computer, Inc.-èéí õóäàëäààíû òýìäýãí³³ä þì. Corel áîëîí WordPerfect íü Êàíàä, Àìåðèêèéí Íýãäñýí Óëñ áà/ýñâýë áóñàä óëñóóä äàõü Corel êîðïîðàöè áà/ýñâýë ò³³íèé ñàëáàðóóäûí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Sound Blaster íü Àìåðèêèéí Íýãäñýí Óëñ áà/ýñâýë áóñàä óëñóóä äàõü Creative Technology Ltd.-èéí õóäàëäààíû òýìäýãí³³ä þì. CVSup íü Æîí Ä. Ïîëñòðàãèéí á³ðòãýãäñýí õóäàëäààíû òýìäýã þì. Heidelberg, Helvetica, Palatino, áîëîí Times Roman íü ÀÍÓ áîëîí áóñàä óëñóóä äàõü Heidelberger Druckmaschinen AG-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä, àëü ýñâýë õóäàëäààíû òýìäýãí³³ä þì. IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, áîëîí ThinkPad íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü International Business Machines êîðïîðàöèéí õóäàëäààíû òýìäýãí³³ä þì. IEEE, POSIX, áîëîí 802 íü Àìåðèêèéí Íýãäñýí Óëñ äàõü Institute of Electrical and Electronics Engineers áóþó Öàõèëãààí áà Ýëåêòðîíû Èíæåíåð³³äèéí Ñóðãóóëèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, áîëîí Xeon íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü Intel êîðïîðàöè ýñâýë ò³³íèé ñàëáàðóóäûí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Intuit áîëîí Quicken íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü Intuit Inc. ýñâýë ò³³íèé àëü íýã ñàëáàðóóäûí á³ðòãýãäñýí òýìäýãí³³ä áà/ýñâýë á³ðòãýãäñýí ³éë÷èëãýýíèé òýìäýãí³³ä þì. Ëèíóêñ íü Ëèíóñ Òîðâàëäñûí á³ðòãýãäñýí õóäàëäààíû òýìäýã þì. LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID áîëîí Mylex íü LSI Logic Corp-èéí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. M-Systems áîëîí DiskOnChip íü M-Systems Flash Disk Pioneers, Ltd-èéí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Macromedia, Flash, áîëîí Shockwave Àìåðèêèéí Íýãäñýí Óëñ áà/ýñâýë áóñàä óëñóóä äàõü Macromedia Inc-èéí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media áîëîí Windows NT íü Àìåðèêèéí Íýãäñýí Óëñ áà/ýñâýë áóñàä óëñóóä äàõü Microsoft êîðïîðàöèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä ýñâýë õóäàëäààíû òýìäýãí³³ä þì. Netscape áîëîí Netscape Navigator íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü Netscape Communications êîðïîðàöèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. GateD áîëîí NextHop íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü NextHop-èéí á³ðòãýãäñýí ýñâýë á³ðòãýãäýýã³é õóäàëäààíû òýìäýãí³³ä þì. Motif, OSF/1, áîëîí UNIX íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü The Open Group-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä á°ã°°ä IT DialTone áà The Open Group íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü The Open Group-èéí õóäàëäààíû òýìäýãí³³ä þì. Oracle íü Oracle êîðïîðàöèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. PowerQuest áîëîí PartitionMagic íü Àìåðèêèéí Íýãäñýí Óëñ áà/ýñâýë áóñàä óëñóóä äàõü PowerQuest êîðïîðàöèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. RealNetworks, RealPlayer, áîëîí RealAudio íü RealNetworks, Inc.-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Red Hat, RPM, íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü Red Hat, Inc-èéí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. SAP, R/3, áîëîí mySAP íü åðìàí áîëîí äýëõèé äàõèíû áóñàä óëñóóä äàõü SAP AG-èéí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì.
Sun, Sun Microsystems, Java, Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, Solaris, StarOffice, Sun Blade, Sun
Enterprise, Sun Fire, SunOS, áîëîí Ultra íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü Sun Microsystems, Inc-èéí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Symantec áîëîí Ghost íü Àìåðèêèéí Íýãäñýí Óëñ áîëîí áóñàä óëñóóä äàõü Symantec êîðïîðàöèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. MATLAB íü The MathWorks, Inc-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýã þì. SpeedTouch íü Thomson-èé õóäàëäààíû òýìäýã þì. U.S. Robotics áîëîí Sportster íü U.S. Robotics êîðïîðàöèéí á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. VMware íü VMware, Inc-èéí õóäàëäààíû òýìäýã þì. Waterloo Maple áîëîí Maple íü Waterloo Maple Inc-èéí õóäàëäààíû òýìäýãí³³ä ýñâýë á³ðòãýãäñýí õóäàëäààíû òýìäýãí³³ä þì. Mathematica íü Wolfram Research, Inc-èéí á³ðòãýãäñýí õóäàëäààíû òýìäýã þì. XFree86 íü XFree86 Project, Inc-èéí õóäàëäààíû òýìäýã þì. Ogg Vorbis áîëîí Xiph.Org íü Xiph.Org-èéí õóäàëäààíû òýìäýãí³³ä þì. éëäâýðëýã÷èä áîëîí õóäàëäààëàã÷äûí °°ðèéíõ°° á³òýýãäýõ³³í³³ääýý àøèãëàäàã òýìäýãí³³äèéí îëîíõè íü õóäàëäààíû òýìäýã ãýæ õýëýãääýã. Òèéì õóäàëäààíû òýìäýãí³³ä ýíý áàðèìòàä ãàð÷ áàéõ ³åä, FreeBSD ò°ñ°ëä õóäàëäààíû òýìäýã ìýäýãäýæ áàéâàë òýìäýãí³³ä äýýð “™” ýñâýë “®” òýìäýãò íýìýãääýã.
Table of Contents ìí°õ ³ã ..................................................................................................................................................................xiv I. Ýõëýë ................................................................................................................................................................... xxii
1 Òàíèëöóóëãà ....................................................................................................................................................1 1.1 Åð°íõèé àãóóëãà.................................................................................................................................1 1.2 FreeBSD-ä òàâòàé ìîðèëíî óó!.........................................................................................................1 1.3 FreeBSD Ò°ñëèéí òóõàé ....................................................................................................................4 2 FreeBSD ñóóëãàõ íü .......................................................................................................................................10 2.1 Åð°íõèé àãóóëãà...............................................................................................................................10 2.2 Ñèñòåìä òàâèãäàõ ò°õ°°ð°ìæèéí øààðäëàãà ............................................................................10 2.3 Ñóóëãàöûí °ìí° ...............................................................................................................................12 2.4 Ñóóëãàöûã ýõë³³ëýõ ........................................................................................................................18 2.5 Sysinstall-í òàíèëöóóëãà ..................................................................................................................25 2.6 Äèñêíèé çàéã çîõèöóóëàõ...............................................................................................................29 2.7 Þó ñóóëãàõàà ñîíãîõ .......................................................................................................................42 2.8 Ñóóëãàöûí ò°õ°°ð°ìæ°° ñîíãîõ...................................................................................................45 2.9 Ñóóëãàöûã áàòàëæ ã³éöýýõ ............................................................................................................47 2.10 Ñóóëãàöûí äàðààõ òîõèðãîî ........................................................................................................48 2.11 Õ³íäðýë òóëãàðâàë ........................................................................................................................78 2.12 Ñóóëãàöûí íýìýëò ãàðûí àâëàãà ................................................................................................81 2.13 °ðò°° çîðèóëæ òóñãàé ñóóëãàöûí ò°õ°°ð°ìæ áýëäýõ íü ....................................................83 3 Þíèêñèéí ³íäýñ ...........................................................................................................................................89 3.1 Åð°íõèé àãóóëãà...............................................................................................................................89 3.2 Âèðòóàë êîíñîë áîëîí òåðìèíàë ..................................................................................................89 3.3 Ç°âø°°ðë³³ä .....................................................................................................................................92 3.4 Ñàíãèéí á³òýö ...................................................................................................................................97 3.5 Äèñê çîõèîí áàéãóóëàëò ...............................................................................................................100 3.6 Ôàéë ñèñòåìèéã õîëáîõ áîëîí ñàëãàõ ........................................................................................106 3.7 Ïðîöåññ áóþó ïðîãðàìûí ÿâö......................................................................................................109 3.8 Äàëä ÷°òã°ð áóþó äýìîíóóä, äîõèîíóóä, ì°í ïðîöåññóóäûã çîãñîîõ íü ............................111 3.9 Shell áóþó á³ðõ³³ë .........................................................................................................................113 3.10 Òåêñò çàñâàðëàã÷èä .....................................................................................................................115 3.11 Ò°õ°°ð°ìæ áà ò°õ°°ð°ìæèéí öýã³³ä ......................................................................................116 3.12 Õî¼ðòûí õýëáýð³³ä......................................................................................................................116 3.13 Íýìýëò ìýäýýëýë îëæ àâàõ íü ...................................................................................................118 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä ............................................................................................121 4.1 Åð°íõèé àãóóëãà.............................................................................................................................121 4.2 Ïðîãðàì ñóóëãàöûí åð°íõèé îéëãîëò ........................................................................................121 4.3 Ïðîãðàìàà îëîõ íü .........................................................................................................................123 4.4 Áàãöàëñàí ñèñòåìèéã õýðýãëýõ íü ...............................................................................................124 4.5 Ïîðòûí öóãëóóëãûã õýðýãëýõ íü.................................................................................................127 4.6 Ïîðò ñóóëãàñíû äàðààõ ³éëäë³³ä ..............................................................................................137 4.7 Ýâäðýëòýé ïîðòûã çàñàõ íü ..........................................................................................................138 5 X Öîíõîò ñèñòåì .........................................................................................................................................139 5.1 Åð°íõèé àãóóëãà.............................................................................................................................139 5.2 X-ã òàíüæ ìýäýõ .............................................................................................................................139
v
5.3 X11-ã ñóóëãàõ íü .............................................................................................................................142 5.4 X11-í òîõèðóóëãà ...........................................................................................................................143 5.5 X11 äýýð ³ñãèéí ìàÿã õýðýãëýõ íü ..............................................................................................147 5.6 X Display Manager áóþó õàðóóëàëò çîõèöóóëàã÷ ......................................................................151 5.7 Äýëãýöèéí îð÷èí ............................................................................................................................154
II.
Íèéòëýã àñóóäëóóä .......................................................................................................................................159 6 Øèðýýíèé ïðîãðàìóóä ..............................................................................................................................160 6.1 Åð°íõèé àãóóëãà.............................................................................................................................160 6.2 Õ°ò÷³³ä ............................................................................................................................................160 6.3 Á³òýýìæ ...........................................................................................................................................163 6.4 Áè÷èã áàðèìò ³ç³³ëýã÷èä ............................................................................................................166 6.5 Ñàíõ³³ ..............................................................................................................................................168 6.6 ijãíýëò ............................................................................................................................................170 7 Ìóëüòèìåäèà ...............................................................................................................................................171 7.1 Åð°íõèé àãóóëãà.............................................................................................................................171 7.2 Äóóíû êàðòûã òîõèðóóëàõ...........................................................................................................172 7.3 MP3 àóäèî ........................................................................................................................................175 7.4 Âèäåî òîãëóóëàõ .............................................................................................................................178 7.5 Ò êàðòóóäûã òîõèðóóëàõ ...........................................................................................................186 7.6 ijðñ ñêàí õèéã÷èä .........................................................................................................................188 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü................................................................................................................193 8.1 Åð°íõèé àãóóëãà.............................................................................................................................193 8.2 ßàãààä °°ð÷ë°í òîõèðóóëñàí ö°ì á³òýýõ õýðýãòýé âý? ..........................................................193 8.3 Ñèñòåìèéí òîíîã ò°õ°°ð°ìæ õàéæ îëîõ íü ..............................................................................194 8.4 Ö°ìèéí äðàéâåðóóä, äýä ñèñòåì³³ä, áîëîí ìîäóëèóä ............................................................195 8.5 °ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýõ áà ñóóëãàõ íü ...............................................................195 8.6 Òîõèðãîîíû àéë ..........................................................................................................................198 8.7 Õýðýâ ÿìàð íýã þì áóðóóòâàë .....................................................................................................211 9 Õýâëýëò .........................................................................................................................................................213 9.1 Åð°íõèé àãóóëãà.............................................................................................................................213 9.2 Òàíèëöóóëãà ...................................................................................................................................213 9.3 íäñýí òîõèðóóëãà ........................................................................................................................214 9.4 Õýâëýã÷èéí èë³³ íàðèéí òîõèðãîî .............................................................................................228 9.5 Õýâëýã÷äèéã àøèãëàõ íü ..............................................................................................................258 9.6 Õýâëýã÷èéí ñòàíäàðò ò³ð õàäãàëàã÷èäòàé èæèë õàäãàëàã÷èä ............................................266 9.7 Àëäààã îëæ çàñâàðëàõ ..................................................................................................................266 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ ..............................................................................................................271 10.1 Åð°íõèé àãóóëãà...........................................................................................................................271 10.2 Ñóóëãàëò ........................................................................................................................................271 10.3 Mathematica® ñóóëãàõ íü .............................................................................................................275 10.4 Maple™ ñóóëãàõ íü .......................................................................................................................277 10.5 MATLAB® ñóóëãàõ íü .................................................................................................................279 10.6 Oracle® ñóóëãàõ íü .......................................................................................................................282 10.7 SAP® R/3® ñóóëãàõ íü .................................................................................................................285 10.8 Íýìýëò ñýäâ³³ä.............................................................................................................................307
vi
III.
Ñèñòåìèéí Óäèðäëàãà ...............................................................................................................................309 11 Òîõèðãîî áà Òààðóóëàëò .........................................................................................................................310 11.1 Åð°íõèé àãóóëãà...........................................................................................................................310 11.2 Ýõíèé Òîõèðãîî ...........................................................................................................................310 11.3 îë Òîõèðãîî ................................................................................................................................312 11.4 Ïðîãðàìûí Òîõèðãîî ..................................................................................................................312 11.5 éë÷èëãýýí³³äèéã ýõë³³ëýõ íü ................................................................................................313 11.6 cron õýðýãñëèéã òîõèðóóëàõ íü ................................................................................................315 11.7 FreeBSD äýýð rc àøèãëàõ íü........................................................................................................317 11.8 ѳëæýýíèé èíòåðýéñ êàðòóóä ñóóëãàõ íü ............................................................................319 11.9 Âèðòóàë Õîñòóóä .........................................................................................................................325 11.10 Òîõèðãîîíû Ôàéëóóä ................................................................................................................326 11.11 sysctl àøèãëàí òààðóóëàõ íü.....................................................................................................330 11.12 Äèñêí³³äèéã òààðóóëàõ íü ......................................................................................................331 11.13 Ö°ìèéí õÿçãààðóóä òîõèðóóëàõ íü ........................................................................................335 11.14 Swap çàé íýìýõ íü .......................................................................................................................339 11.15 Òýæýýë áîëîí Ýõ ³³ñâýðèéí Óäèðäëàãà................................................................................340 11.16 FreeBSD-èéí ACPI-ã àøèãëàõ íü áà äèáàã õèéõ íü ..............................................................341 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ ...............................................................................................................349 12.1 Åð°íõèé àãóóëãà...........................................................................................................................349 12.2 À÷ààëàëòûí àñóóäàë ...................................................................................................................349 12.3 À÷ààëàã÷ Ìåíåæåð áîëîí À÷ààëàëòûí øàòóóä ....................................................................350 12.4 À÷ààëàõ ³å äýõ ö°ìèéí õàðèëöàí ³éëäýë ...............................................................................356 12.5 Ò°õ°°ð°ìæèéí Ñàíóóëãóóä.......................................................................................................357 12.6 Init: Ïðîöåññ õÿíàëòûí ýõë³³ëýëò ............................................................................................358 12.7 Óíòðààõ äàðààëàë ........................................................................................................................359 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò .....................................................................................360 13.1 Åð°íõèé àãóóëãà...........................................................................................................................360 13.2 Òàíèëöóóëãà .................................................................................................................................360 13.3 Ñóïåð õýðýãëýã÷èéí á³ðòãýë......................................................................................................362 13.4 Ñèñòåì á³ðòãýë .............................................................................................................................362 13.5 Ýíãèéí õýðýãëýã÷èéí á³ðòãýë ...................................................................................................362 13.6 Á³ðòãýëä °°ð÷ë°ëò õèéõ.............................................................................................................363 13.7 Õýðýãëýã÷äýä õÿçãààðëàëò õèéõ ...............................................................................................367 13.8 Á³ëýã...............................................................................................................................................369 14 Àþóëã³é áàéäàë ........................................................................................................................................372 14.1 Åð°íõèé àãóóëãà...........................................................................................................................372 14.2 Òàíèëöóóëãà .................................................................................................................................372 14.3 FreeBSD-í àþóëã³é áàéäëûã õàíãàõ íü ....................................................................................374 14.4 DES, MD5, áîëîí Crypt.................................................................................................................383 14.5 Íýã óäààãèéí íóóö ³ã³³ä ............................................................................................................384 14.6 TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷èä ......................................................................................387 14.7 KerberosIV .....................................................................................................................................390 14.8 Kerberos5 .......................................................................................................................................397 14.9 OpenSSL..........................................................................................................................................406 14.10 IPsec äýýã³³ð VPN õèéõ .............................................................................................................409 14.11 OpenSSH .......................................................................................................................................415 14.12 Ôàéëûí ñèñòåìèéí õàíäàëò õÿíàõ æàãñààëòóóä.................................................................421
vii
14.13 óðàâäàã÷ òàëûí àþóëã³é áàéäëûí àñóóäëóóäûã ìîíèòîð õèéõ íü ...............................423 14.14 FreeBSD-èéí àþóëã³é áàéäëûí ç°âë°ã°°í³³ä ......................................................................424 14.15 Ïðîöåññèéí á³ðòãýë õ°òë°õ .....................................................................................................426 15 Jails áóþó Øîðîíãóóä ..............................................................................................................................428 15.1 Åð°íõèé àãóóëãà...........................................................................................................................428 15.2 Øîðîíãóóäòàé õîëáîîòîé îéëãîëòóóä ....................................................................................428 15.3 Òàíèëöóóëãà .................................................................................................................................429 15.4 Øîðîíã ³³ñãýæ õÿíàõ íü ............................................................................................................430 15.5 Íàðèéí òààðóóëàëò áîëîí óäèðäëàãà ......................................................................................432 15.6 Øîðîíãèéí õýðýãëýý ...................................................................................................................433 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò ..........................................................440 16.1 Åð°íõèé àãóóëãà...........................................................................................................................440 16.2 Ýíý á³ëýã äýõ ò³ëõ³³ð óõàãäàõóóíóóä ....................................................................................441 16.3 MAC-èéí òàéëáàð .........................................................................................................................442 16.4 MAC õàÿã/øîøãîíóóäûã îéëãîõ íü ..........................................................................................444 16.5 Àþóëã³é áàéäëûí òîõèðãîîã ò°ë°âë°õ íü ..............................................................................449 16.6 Ìîäóëèéí òîõèðãîî .....................................................................................................................449 16.7 MAC seeotheruids ìîäóëü .............................................................................................................450 16.8 MAC bsdextended ìîäóëü .............................................................................................................450 16.9 MAC ifoff ìîäóëü ..........................................................................................................................451 16.10 MAC portacl ìîäóëü ....................................................................................................................452 16.11 MAC õóâààëòûí ìîäóëü............................................................................................................453 16.12 MAC îëîí ò³âøèíò àþóëã³é áàéäëûí ìîäóëü .....................................................................454 16.13 MAC Biba ìîäóëü........................................................................................................................456 16.14 MAC LOMAC ìîäóëü .................................................................................................................458 16.15 MAC Øîðîí äàõü Nagios...........................................................................................................459 16.16 Õýðýãëýã÷èéã ò³ãæèõ ................................................................................................................462 16.17 MAC Òîãòîëöîîíû àëäààã îëæ çàñâàðëàõ ............................................................................463 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü .......................................................................................466 17.1 Åð°íõèé àãóóëãà...........................................................................................................................466 17.2 Ýíý á³ëãèéí ò³ëõ³³ð óõàãäàõóóíóóä.......................................................................................467 17.3 Àóäèò õèéõ äýìæëýã ñóóëãàõ íü ...............................................................................................467 17.4 Àóäèòèéí òîõèðãîî ......................................................................................................................468 17.5 Àóäèò äýä ñèñòåìèéã óäèðäàõ íü ..............................................................................................471 18 Õàäãàëàëò ..................................................................................................................................................475 18.1 Åð°íõèé àãóóëãà...........................................................................................................................475 18.2 Ò°õ°°ð°ìæèéí íýðñ ....................................................................................................................475 18.3 Äèñê íýìýõ ....................................................................................................................................476 18.4 RAID................................................................................................................................................478 18.5 USB õàäãàëàëòûí ò°õ°°ð°ìæ³³ä .............................................................................................483 18.6 Îïòèê ç°°â°ðë°ã÷èéã (CD-³³ä) ³³ñãýæ àøèãëàõ íü .............................................................485 18.7 Îïòèê ç°°â°ðë°ã÷èéã (DVD-³³ä) ³³ñãýæ àøèãëàõ íü ..........................................................491 18.8 Óÿí äèñêí³³äèéã ³³ñãýæ àøèãëàõ íü ......................................................................................497 18.9 ã°ãäëèéí ñîðîíçîí õàëüñíóóä ³³ñãýæ àøèãëàõ íü .............................................................498 18.10 Óÿí äèñê óðóó í°°öë°õ .............................................................................................................501 18.11 Í°°öë°õ ñòðàòåãóóä ...................................................................................................................502 18.12 Í°°öë°ëòèéí ³íäñ³³ä ...............................................................................................................503 18.13 ѳëæýý, ñàíàõ îé áîëîí àéë äýýð òóëãóóðëàñàí àéëûí ñèñòåì³³ä ............................510
viii
18.14 Ôàéëûí ñèñòåìèéí õîðìûí õóâèëáàðóóä .............................................................................513 18.15 Ôàéëûí ñèñòåìèéí íîîãäëóóä.................................................................................................514 18.16 Äèñêíèé õóâààëòóóäûã øèðëýõ íü ......................................................................................518 18.17 Swap çàéã øèðëýõ ....................................................................................................................524 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî ........................................................................527 19.1 Åð°íõèé àãóóëãà...........................................................................................................................527 19.2 GEOM-èéí Òàíèëöóóëãà.............................................................................................................527 19.3 RAID0 - Ñóäàë ³³ñãýõ ..................................................................................................................527 19.4 RAID1 - Òîëèí òóñãàë ³³ñãýõ .....................................................................................................529 19.5 GEOM Õààëãà ѳëæýýíèé Ò°õ°°ð°ìæ³³ä .............................................................................532 19.6 Äèñêíèé ò°õ°°ð°ìæ³³äèéã õàÿãëàõ íü ...................................................................................533 19.7 GEOM-èéí òóñëàìæòàé UFS òýìäýãëýë ..................................................................................535 20 Ôàéëûí ñèñòåìèéí äýìæëýã ..................................................................................................................537 20.1 Åð°íõèé àãóóëãà...........................................................................................................................537 20.2 Z Ôàéëûí Ñèñòåì .........................................................................................................................537 21 Vinum Ýçëýõ³³í Ìåíåæåð .......................................................................................................................545 21.1 Åð°íõèé àãóóëãà...........................................................................................................................545 21.2 Äèñêí³³ä õýòýðõèé æèæèã ........................................................................................................545 21.3 Õàíäàëòûí òàãëàðàëòóóä ...........................................................................................................545 21.4 ã°ãäëèéí á³ðýí á³òýí áàéäàë .................................................................................................548 21.5 Vinum îáüåêòóóä ...........................................................................................................................549 21.6 Çàðèì æèøýýí³³ä ........................................................................................................................551 21.7 Îáüåêòèéí íýðëýëò ......................................................................................................................557 21.8 Vinum òîõèðóóëàõ íü ...................................................................................................................559 21.9 Root àéëûí ñèñòåìèéí õóâüä Vinum-èéã àøèãëàõ íü .........................................................561 22 Âèðòóàë÷ëàë..............................................................................................................................................567 22.1 Åð°íõèé àãóóëãà...........................................................................................................................567 22.2 FreeBSD-ã çî÷èí OS ìàÿãààð àøèãëàõ .....................................................................................567 22.3 FreeBSD-ã õîñò áóþó ýõ OS ìàÿãààð àøèãëàõ .........................................................................612 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà ..................................................................613 23.1 Åð°íõèé àãóóëãà...........................................................................................................................613 23.2 íäñ³³ä ..........................................................................................................................................613 23.3 Ëîêàë÷ëàëûã àøèãëàõ íü ...........................................................................................................614 23.4 I18N ïðîãðàìóóäûã ýìõýòãýõ .....................................................................................................620 23.5 FreeBSD-ã °°ð õýëí³³ä óðóó ëîêàë÷ëàõ...................................................................................620 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü ...................................................................................................624 24.1 Åð°íõèé àãóóëãà...........................................................................................................................624 24.2 FreeBSD-èéí øèíý÷ëýëò..............................................................................................................624 24.3 Portsnap: Ïîðòûí öóãëóóëãûã øèíý÷ëýõ õýðýãñýë .................................................................631 24.4 Áàðèìòûí öóãëóóëãûã øèíý÷ëýõ íü ........................................................................................632 24.5 Õ°ãæ³³ëýëòèéí ñàëáàðûã äàãàõ íü ..........................................................................................635 24.6 °ðèéí ýõèéã õàìãèéí ñ³³ëèéí õýëáýðò àâàà÷èõ íü ............................................................639 24.7 “Åðò°íö”èéã äàõèí á³òýýõ íü ....................................................................................................640 24.8 Îëîí ìàøèíû õóâüä äàãàõ íü ....................................................................................................656 25 DTrace ..........................................................................................................................................................658 25.1 Åð°íõèé àãóóëãà...........................................................................................................................658 25.2 Øèéäëèéí ÿëãààíóóä .................................................................................................................658 25.3 DTrace äýìæëýãèéã èäýâõæ³³ëýõ .............................................................................................659
ix
25.4 DTrace-ã àøèãëàõ ..........................................................................................................................660 25.5 D õýë ...............................................................................................................................................662
IV.
ѳëæýýíèé Õîëáîëò....................................................................................................................................663 26 Öóâàà õîëáîîíóóä.....................................................................................................................................664 26.1 Åð°íõèé àãóóëãà...........................................................................................................................664 26.2 Òàíèëöóóëãà .................................................................................................................................664 26.3 Òåðìèíàëóóä .................................................................................................................................669 26.4 Dial-in áóþó ãàäíààñ çàëãàõ ³éë÷èëãýý ....................................................................................674 26.5 Dial-out áóþó ãàäàãø çàëãàõ ³éë÷èëãýý ...................................................................................682 26.6 Öóâàà êîíñîëûã òîõèðóóëàõ íü.................................................................................................686 27 PPP áîëîí SLIP...........................................................................................................................................695 27.1 Åð°íõèé àãóóëãà...........................................................................................................................695 27.2 Õýðýãëýã÷èéí PPP àøèãëàõ ........................................................................................................695 27.3 Ö°ìèéí PPP-ã àøèãëàõ................................................................................................................708 27.4 PPP õîëáîëòóóäûí àëäààã îëæ çàñâàðëàõ...............................................................................715 27.5 Ethernet äýýã³³ð PPP àøèãëàõ íü (PPPoE).................................................................................719 27.6 ATM äýýã³³ð PPP (PPPoA) àøèãëàõ ..........................................................................................721 27.7 SLIP àøèãëàõ.................................................................................................................................724 28 Öàõèì Øóóäàí..........................................................................................................................................733 28.1 Åð°íõèé Àãóóëãà..........................................................................................................................733 28.2 Öàõèì Çàõèäëûã Õýðýãëýõ íü ...................................................................................................733 28.3 sendmail-ã Òîõèðóóëàõ íü ...........................................................................................................736 28.4 °ðèéí Çàõèäàë Äàìæóóëàõ Àãåíòèéã Ñîëèõ íü .................................................................738 28.5 ýìòýë ñààòëûã àðèëãàõ íü ........................................................................................................740 28.6 Äýýä ò³âøíèé ñýäâ³³ä ................................................................................................................743 28.7 UUCP-òýé SMTP............................................................................................................................746 28.8 Ç°âõ°í èëãýýõýýð òîõèðóóëàõ íü...............................................................................................747 28.9 àäàãø çàëãàõ õîëáîëòîîð çàõèäëûã àøèãëàõ íü .................................................................748 28.10 SMTP íýâòðýëò òàíèëò ..............................................................................................................750 28.11 Õýðýãëýã÷èéí çàõèäàë äàìæóóëàã÷èä ..................................................................................751 28.12 fetchmail-ã àøèãëàõ íü ...............................................................................................................758 28.13 procmail-ã àøèãëàõ íü ................................................................................................................759 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä ................................................................................................................761 29.1 Åð°íõèé àãóóëãà...........................................................................................................................761 29.2 inetd “Ñóïåð-Ñåðâåð”...................................................................................................................761 29.3 ѳëæýýíèé Ôàéëûí Ñèñòåì (NFS) ...........................................................................................766 29.4 ѳëæýýíèé Ìýäýýëëèéí Ñèñòåì (NIS/YP)...............................................................................772 29.5 Àâòîìàò ѳëæýýíèé Òîõèðãîî (DHCP) ...................................................................................788 29.6 Äîìýéí Íýðèéí Ñèñòåì (DNS)...................................................................................................793 29.7 Apache HTTP Ñåðâåð ....................................................................................................................802 29.8 Ôàéë Äàìæóóëàõ Ïðîòîêîë (FTP)............................................................................................808 29.9 Microsoft Windows õàðèëöàã÷äàä çîðèóëñàí Ôàéë áîëîí Õýâëýõ éë÷èëãýý (Samba) ....809 29.10 NTP-ð Öàã Òààðóóëàõ íü ..........................................................................................................812 29.11 syslogd àøèãëàí àëñûí õîñò ðóó á³ðòãýõ íü .......................................................................815 30 àëò õàíà ....................................................................................................................................................820 30.1 Òàíèëöóóëãà .................................................................................................................................820 30.2 àëò õàíûí òóõàé îéëãîëòóóä ...................................................................................................820
x
30.3 àëò õàíûí áàãöóóä .....................................................................................................................821 30.4 OpenBSD Ïàêåò ø³³ã÷ (PF) áà ALTQ........................................................................................821 30.5 IPFILTER (IPF) àëò õàíà ............................................................................................................824 30.6 IPFW................................................................................................................................................844 31 ѳëæýýíèé íýìýëò îéëãîëòóóä..............................................................................................................863 31.1 Åð°íõèé àãóóëãà...........................................................................................................................863 31.2 àðöóóä áîëîí ×èãë³³ëýëò³³ä .................................................................................................863 31.3 Óòàñã³é ñ³ëæýý ............................................................................................................................870 31.4 Bluetooth..........................................................................................................................................890 31.5 ³³ð ................................................................................................................................................898 31.6 Õîëáîîñ íýãòãýëò áà îñëûã òîéðîí ãàðàõ (Link Aggregation and Failover) ...........................905 31.7 Äèñêã³é àæèëëàãàà .....................................................................................................................908 31.8 ISDN ................................................................................................................................................915 31.9 Network Address Translation áóþó ѳëæýýíèé Õàÿãèéí Õ°ðâ³³ëýëò ...................................919 31.10 Parallel Line IP (PLIP) áóþó Çýðýãöýý Øóãàìûí IP................................................................922 31.11 IPv6................................................................................................................................................924 31.12 Asynchronous Transfer Mode (ATM) áóþó Àñèíõðîí Äàìæóóëàõ îðèì ...........................929 31.13 Common Access Redundancy Protocol (CARP) áóþó Îëîí õàíäàëòûí íèéòëýã ïðîòîêîë 931
V.
Õàâñðàëòóóä .....................................................................................................................................................934
A. FreeBSD-ã îëæ àâàõ íü .............................................................................................................................935 A.1 CDROM áîëîí DVD Íèéòëýã÷èä ................................................................................................935 A.2 FTP ñàéòóóä ....................................................................................................................................937 A.3 BitTorrent..........................................................................................................................................947 A.4 Íýðã³é CVS ....................................................................................................................................948 A.5 CTM-ã àøèãëàõ íü .........................................................................................................................950 A.6 CVSup-ã àøèãëàõ íü ......................................................................................................................954 A.7 CVS Tags áóþó õàÿãóóä ................................................................................................................978 A.8 AFS ñàéòóóä ....................................................................................................................................984 A.9 rsync ñàéòóóä ..................................................................................................................................984 B. Íîì ç³é .......................................................................................................................................................987 B.1 FreeBSD-èéí òàëààð òóñãàéëàí áè÷ñýí íîì & ñýò㳳볳ä.....................................................987 B.2 Õýðýãëýã÷äèéí ãàðûí àâëàãóóä..................................................................................................988 B.3 Àäìèíèñòðàòîðóóä çîðèóëñàí çààâðóóä ..................................................................................989 B.4 Ïðîãðàì çîõèîã÷äîä çîðèóëñàí çààâðóóä ................................................................................989 B.5 éëäëèéí ñèñòåìèéí äîòîîä á³ðýëäýõ³³í³³äèéí òàëààð ....................................................990 B.6 Àþóëã³é áàéäëûí òóõàé íîìíóóä .............................................................................................990 B.7 Òîíîã ò°õ°°ð°ìæèéí òóõàé íîìíóóä ........................................................................................991 B.8 UNIX-èéí ò³³õ ...............................................................................................................................991 B.9 Ñîíèí, ñýò㳳볳ä .........................................................................................................................992 C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä .....................................................................................................................993 C.1 Çàõèäëûí æàãñààëòóóä ................................................................................................................993 C.2 Usenet Newsgroups áóþó ìýäýýíèé á³ëã³³ä .............................................................................1013 C.3 Word Wide Web ñåðâåð³³ä ...........................................................................................................1014 C.4 Öàõèì çàõèäëûí õàÿãóóä ..........................................................................................................1022 D. PGP ò³ëõ³³ð³³ä ......................................................................................................................................1023 D.1 Àëáàí õààã÷èä .............................................................................................................................1023 D.2 îë áàãèéí ãèø³³ä......................................................................................................................1023
xi
D.3 Õ°ãæ³³ëýã÷èä ..............................................................................................................................1025
FreeBSD
Íýð òîìú¼î ..........................................................................................................................................1080
Index.........................................................................................................................................................................1105 Colophon..................................................................................................................................................................1117
xii
List of Tables 2-1. Ò°õ°°ð°ìæèéí á³ðòãýëèéí æèøýý ................................................................................................................12 2-2. Ýõíèé äèñêíèé õóâààëò ....................................................................................................................................36 2-3. Áóñàä äèñêýí äýýðõ äèñêíèé õóâààëò ............................................................................................................37 2-4. FreeBSD 6.X áà 7.X ISO áóóëãàö ä³ðñíèé íýð áîëîí àãóóëãà ......................................................................83 3-1. Äèñê ò°õ°°ð°ìæèéí íýðí³³ä ........................................................................................................................105 18-1. Ôèçèê äèñê íýðëýõ çàíøèë ..........................................................................................................................475 21-1. Vinum Plex çîõèîí áàéãóóëàëòóóä ...............................................................................................................550 26-1. DB-25-ààñ DB-25 Null-Ìîäåì êàáåëü ..........................................................................................................665 26-2. DB-9-°°ñ DB-9 Null-Ìîäåì êàáåëü ..............................................................................................................665 26-3. DB-9-°°ñ DB-25 Null-Ìîäåì êàáåëü ............................................................................................................666 26-4. Äîõèîíû íýðñ..................................................................................................................................................675 31-1. ѳëæýýíä çîðèóëæ çýðýãöýý êàáåëü õèéõ íü............................................................................................923 31-2. Í°°ö IPv6 õàÿãóóä ..........................................................................................................................................926
xiii
ìí°õ ³ã Ýíý íîìûí çîðèóëàëò
FreeBSD-èéí øèíý õýðýãëýã÷ íü ýíý íîìûí ýõíèé õýñýã õýðýãëýã÷èä FreeBSD-èéí ñóóëãàëòûí ïðîöåññ äóíäóóð õ°ò°ëæ UNIX®-èéí óãò áàéäàã îéëãîëòóóä áîëîí ¼ñ çàíøëûã ààæèì òàíèëöóóëäàã áîëîõûã îëæ ìýäýõ áîëíî. Ýíý õýñýã äýýð àæèëëàõ íü øèíýýð îëæ ìýäýõ õ³ñýë ýðìýëçëýýñ àðàé èë³³ õ³ñýë áîëîí òàíèëöóóëñàí øèíý îéëãîëòóóäûã õ³ëýýí àâàõ ÷àäâàðûã øààðääàã.
àðûí àâëàãûí õî¼ð äàõü õàìààã³é òîì õýñýã õ³ðýõ ³åä FreeBSD ñèñòåìèéí àäìèíèñòðàòîðóóäûí ñîíèðõëûã òàòàõ á³õ ñýäâ³³äèéã õàìàðñàí íýâòýðõèé ëàâëàõûã òà îëîõ áîëíî. Ýäãýýð á³ëã³³äèéí çàðèì íü òàíûã óðüä÷èëàí óíøèõûã ç°âë°æ áîëîõ á°ã°°ä ýíý íü á³ëýã á³ðèéí ýõýíä åð°íõèé àãóóëãàä òýìäýãëýãäñýí áàéäàã. Ìýäýýëëèéí íýìýëò ýõ³³äèéí æàãñààëòûã Appendix B õýñãýýñ ³çíý ³³.
óðàâ äàõü õýâëýëýýñ õîéøõ °°ð÷ë°ëò³³ä
àðûí àâëàãûí îäîîãèéí õóâèëáàð íü ñ³³ëèéí 10 æèëèéí õóãàöààíû òóðøèä îëîí çóóí õóâü íýìýð áîëãîí îðóóëàã÷èéí îðóóëñàí õ³÷èí ÷àðìàéëòûí ³ð ä³í þì. Äàðààõ íü 2004 îíä õýâëýãäñýí ãóðàâ äàõü õýâëýëèéí õî¼ð áîòèîñ õîéø îðñîí ìýäýãäýõ³éö °°ð÷ë°ëò³³ä þì: •
•
•
•
Chapter 25 áóþó DTrace íü õ³÷èðõýã DTrace ³éë àæèëëàãààíû øèíæèëãýý õèéõ õýðýãñëèéí òàëààðõ ìýäýýëëèéí õàìòààð íýìýãäñýí.
Chapter 20 áóþó Ôàéëûí ñèñòåìèéí äýìæëýã íü Sun™-èé ZFS çýðýã FreeBSD äýýðõ ýõ áèø àéëûí ñèñòåì³³äèéí òàëààðõ ìýäýýëëèéí õàìòààð íýìýãäñýí. Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ á³ëýã FreeBSD äýõ àóäèò õèéõ øèíý áîëîìæ áîëîí ò³³íèé õýðýãëýýã òàéëáàðñàí ìýäýýëëèéí õàìòààð íýìýãäñýí. Chapter 22 áóþó Âèðòóàë÷ëàë íü âèðòóàë÷ëàëûí ïðîãðàì õàíãàìæ äýýð FreeBSD-èéã ñóóëãàõ ìýäýýëëèéí õàìòààð íýìýãäñýí.
Õî¼ð äàõü õýâëýëýýñ (2004) õîéøõ °°ð÷ë°ëò³³ä
Ýíý ãóðàâ äàõü õýâëýëò íü FreeBSD áàðèìòæóóëàõ ò°ñëèéí ãèø³³äèéí õî¼ð æèë èë³³òýé õóãàöààíä õèéæ ã³éöýòãýñýí àæëûí îðãèë þì. Õýâëýñýí õóâèëáàðûí õýìæýý èõýññýí ó÷èð õî¼ð òóñäàà áîòü áîëãîõ øààðäëàãàòàé áîëñîí. Ýíý øèíý õýâëýëòýä îðñîí ãîë °°ð÷ë°ëò³³äèéã äîîð äóðäàâ: •
•
•
Chapter 11 Òîõèðãîî áà òààðóóëàëò íü ACPI òýæýýë áîëîí ýõ ³³ñâýðèéí óäèðäëàãà, cron ñèñòåìèéí õýðýãñýë áîëîí ö°ìèéí èë³³ îëîí òààðóóëàõ òîõèðóóëãóóäûí òóõàé øèíý ìýäýýëëýýð °ðã°æñ°í.
Chapter 14 Àþóëã³é áàéäàë íü âèðòóàë õóâèéí ñ³ëæýýí³³ä (VPN-³³ä), àéëûí ñèñòåìèéí õàíäàëò õÿíàëòûí æàãñààëò (ACL-³³ä) áîëîí àþóëã³é áàéäëûí ç°âë°ã°°í³³äèéí òóõàé øèíý ìýäýýëëýýð °ðã°æñ°í.
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò íü ýíý õýâëýë äýõ øèíý á³ëýã þì. Ýíý íü MAC ãýæ þó áîëîõ, FreeBSD ñèñòåìèéã àþóëã³é áîëãîõîä ýíý àðãûã õýðõýí àøèãëàõ òàëààð òàéëáàðëàäàã.
xiv
ìí°õ ³ã •
•
• •
•
•
•
•
Chapter 18 Õàäãàëàëò íü USB õàäãàëàëòûí ò°õ°°ð°ìæ³³ä, àéëûí ñèñòåìèéí õîðìûí õóâèëáàðóóä, àéëûí ñèñòåìèéí õóâü/íîîãäëóóä, àéë áîëîí ñ³ëæýýí äýýð òóëãóóðëàñàí àéëûí ñèñòåì³³ä áîëîí øèðëýãäñýí äèñêíèé õóâààëòóóäûí òóõàé øèíý ìýäýýëëýýð °ðã°æñ°í.
Chapter 21 Vinum íü ýíý õýâëýë äýõ øèíý á³ëýã þì. Ýíý íü Vinum-èéã õýðõýí àøèãëàõ, ò°õ°°ð°ìæèéí
õóâüä õàìààðàëã³é ëîãèê äèñêí³³äèéí áîëîìæèéã õàíãàäàã ëîãèê ýçëýõ³³í ìåíåæåð áîëîí ïðîãðàì õàíãàìæèéí RAID-0, RAID-1 áîëîí RAID-5-ã òàéëáàðëàäàã. Àëäààã îëæ çàñâàðëàõ õýñýã Chapter 27 PPP áà SLIP-ä íýìýãäñýí. Chapter 28 Öàõèì øóóäàí íü °°ð òýýâýðëýõ àãåíòóóäûã àøèãëàõ, SMTP íýâòðýëò òàíèëò, UUCP, fetchmail, procmail, áîëîí áóñàä äýâøèëòýò ñýäâ³³äèéí òóõàé øèíý ìýäýýëëýýð °ðã°æñ°í. Chapter 29 ѳëæýýíèé ñåðâåð³³ä íü ýíý õýâëýëä á³ãä øèíýýð îðñîí. Ýíý á³ëýã íü Apache HTTP Server, ftpd-ã òîõèðóóëàõ áîëîí Microsoft® Windows® êëèåíò³³äèéí õóâüä Samba ñåðâåðèéã òîõèðóóëàõ òóõàé ìýäýýëëèéã àãóóëäàã. Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä äàõü çàðèì õýñã³³ä íü òàíèëöóóëãûã ñàéæðóóëàõûí òóëä èéøýýãýý ç°°ãäñ°í. Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä íü FreeBSD äýýð Bluetooth® ò°õ°°ð°ìæ³³äèéã àøèãëàõ, óòàñã³é ñ³ëæýýí³³ä áîëîí Àñèíõðîí Äàìæóóëàõ îðèì (ATM) ñ³ëæýýã òîõèðóóëàõ òóõàé øèíý ìýäýýëëýýð °ðã°æñ°í. Íîìîíä àøèãëàãäñàí òåõíèêèéí óõàãäàõóóíóóäûí òîäîðõîéëîëòóóäàä çîðèóëàãäñàí ò°â áàéðøëûã áèé áîëãîí íýð òîìú¼î õýñýã íýìýãäñýí. Íîìîíä áàéãàà õ³ñíýãò³³ä áîëîí çóðãóóäàä õýä õýäýí ãîî ç³éí ñàéæðóóëàëòóóä õèéãäñýí.
Ýõíèé õýâëýëýýñ (2001) õîéøõ °°ð÷ë°ëò³³ä
Õî¼ð äàõü õýâëýëò íü FreeBSD áàðèìòæóóëàõ ò°ñëèéí ãèø³³äèéí õî¼ð æèë èë³³òýé õóãàöààíä õèéæ ã³éöýòãýñýí àæëûí îðãèë þì. Ýíý õýâëýëòýä îðñîí ãîë °°ð÷ë°ëò³³äèéã äîîð äóðäàâ: • • •
•
•
•
•
•
•
Á³ðýí õýìæýýíèé ³ãñèéí æàãñààëò íýìýãäñýí. Á³õ ASCII çóðàãíóóä ãðàèê äèàãðàìóóäààð ñîëèãäñîí. Á³ëýã ÿìàð ìýäýýëýë àãóóëñàí áîëîõ, óíøèã÷ þó ìýäýõèéã õàðóóëñàí òîâ÷ ìýäýýëëèéã °ã°õèéí òóëä á³ëýã áîëãîíä ñòàíäàðò åð°íõèé àãóóëãà íýìýãäñýí. Àãóóëãà ëîãèêèéí õóâüä ãóðâàí õýñýãò äàõèí çîõèîí áàéãóóëàãäñàí: “Ýõëýë”, “Ñèñòåìèéí óäèðäëàãà”, áîëîí “Õàâñðàëòóóä”. Chapter 2 (“FreeBSD-ã ñóóëãàõ íü”) øèíý õýðýãëýã÷äýä òåêñòèéã õÿëáàð àâàõ áîëîìæèéã á³ðä³³ëýõ îëîí äýëãýöèéí àãøíóóäòàéãààð á³ðýí õýìæýýãýýð äàõèí áè÷èãäñýí. Chapter 3 (“UNIX-èéí ³íäýñ”) ïðîöåññóóä, äýìîíóóä áîëîí äîõèîíóóäûí òóõàé íýìýëò ìýäýýëëèéã àãóóëæ °ðã°æñ°í. Chapter 4 (“Ïðîãðàì ñóóëãàõ”) õî¼ðòûí áàãöûí óäèðäëàãûí òóõàé íýìýëò ìýäýýëëèéã àãóóëæ °ðã°æñ°í. Chapter 5 (“X Öîíõîò ñèñòåì”) íü îð÷èí ³åèéí øèðýýíèé òåõíîëîãèóä áîëîõ KDE áîëîí GNOME-ã XFree86™ 4.X äýýð àøèãëàõ òàë äýýð îíöëîí àíõààð÷ á³ðýí õýìæýýãýýð äàõèí áè÷èãäñýí. Chapter 12 (“FreeBSD-èéí à÷ààëàõ ïðîöåññ”) íü °ðã°æñ°í.
xv
ìí°õ ³ã •
•
• • • •
•
Chapter 18 (“Õàäãàëàëò”) °ìí° íü òóñäàà áàéñàí “Äèñêí³³ä” áîëîí “Í°°öë°ëò³³ä” ãýñýí õî¼ð á³ëãýýñ áè÷èãäñýí. Ñýäâ³³äèéã íýã á³ëýã áîëãîí òàíèëöóóëàõ íü õÿëáàð áîëîõûã áèä ìýäýðñýí. RAID-èéí òóõàé õýñýã (òîíîã ò°õ°°ð°ìæ áîëîí ïðîãðàì õàíãàìæ) áàñ íýìýãäñýí. Chapter 26 (“Öóâàà õîëáîëòóóä”) FreeBSD 4.X/5.X-èéí õóâüä á³ðýí õýìæýýãýýð äàõèí çîõèîí áàéãóóëàãäàæ øèíý÷ëýãäñýí. Chapter 27 (“PPP áà SLIP”) íýëýýí õýìæýýãýýð øèíý÷ëýãäñýí.
Îëîí õýñýã Chapter 31-ä (“ѳëæýýíèé òóõàé íýìýëò îéëãîëòóóä”) íýìýãäñýí. Chapter 28 (“Öàõèì øóóäàí”) sendmail-ã òîõèðóóëàõ òóõàé èë³³ ìýäýýëëèéã àãóóëæ °ðã°æñ°í. Chapter 10 (“Linux®-èéí õî¼ðòûí íèéëýìæ”) Oracle® áîëîí SAP® R/3®-ã ñóóëãàõ òóõàé ìýäýýëëèéã àãóóëæ °ðã°æñ°í. Äàðààõ øèíý ñýäâ³³äèéã ýíý õî¼ð äàõü õýâëýëä õýëýëöñýí: • Òîõèðãîî áà òààðóóëàëò (Chapter 11). • Ìóëüòèìåäèà (Chapter 7)
Ýíý íîìûí çîõèîí áàéãóóëàëò
Ýíý íîì íü òàâàí ëîãèêèéí õóâüä òóñäàà õýñã³³äýä õóâààãäàíà. Ýõíèé õýñýã Ýõëýë íü FreeBSD-èéí ñóóëãàëò áîëîí ³íäñýí õýðýãëýýã òàéëáàðëàõ áîëíî. Ýäãýýð á³ëã³³äèéã äàðààëëààð íü ìàãàäã³é ìýääýã ñýäâ³³äèéã òàéëáàðëàõ á³ëã³³äèéã îðõèí óíøèíà ãýäýãò óíøèã÷ àâõàé íàðò èòãýäýã. Õî¼ð äàõü õýñýã Íèéòëýã àñóóäëóóä íü FreeBSD-èéí çàðèì íýã áàéíãà àøèãëàãääàã áîëîìæóóäûã òàéëáàðëàäàã. Ýíý õýñýã áîëîí äàðàà÷èéí õýñã³³äèéã äàðààëàë õàìààðàõã³éãýýð óíøèæ áîëíî. Á³ëýã á³ð íü á³ëýã þó òàéëáàðëàäàã áîëîí óíøèã÷ þóã àëü õýäèéí ìýäñýí áàéõ ¼ñòîéã òàéëáàðëàñàí õóðààíãóé àãóóëãààñ ýõýëäýã. Ýíý íü óíøèã÷èä °°ðèéí ñîíèðõñîí á³ëãýý îëîõîä òóñëàõ çîðèëãîòîé þì. óðàâ äàõü õýñýã Ñèñòåìèéí óäèðäëàãà íü óäèðäëàãûí ñýäâ³³äèéã õ°íää°ã. Ä°ð°â äýõ õýñýã ѳëæýýíèé õîëáîëò íü ñ³ëæýý áîëîí ñåðâåðèéí ñýäâ³³äèéã õàìàðäàã. Òàâ äàõü õýñýã íü ëàâëàãàà ìýäýýëëèéí òóõàé õàâñðàëòóóäûã àãóóëäàã. Chapter 1 Òàíèëöóóëãà
FreeBSD-ã øèíý õýðýãëýã÷èä òàíèëöóóëíà. Ýíý íü FreeBSD ò°ñëèéí ò³³õ, ò³³íèé çîðèëãóóä áîëîí õ°ãæ³³ëýëòèéí çàãâàðûã òàéëáàðëàäàã.
Chapter 2 Ñóóëãàëò
Õýðýãëýã÷èéã ñóóëãàëòûí ïðîöåññ äóíäóóð õ°ò°ëí°. Öóâàà êîíñîëîîð ñóóëãàõ çýðýã èë³³ íàðèéí ñóóëãàëòûí ñýäâ³³äèéã áàñ òàéëáàðëàíà. Chapter 3, UNIX-èéí ³íäýñ FreeBSD ³éëäëèéí ñèñòåìèéí ³íäñýí òóøààëóóä áîëîí àæèëëàãààã òàéëáàðëàäàã. Õýðýâ òà Linux ýñâýë UNIX-èéí °°ð ò°ðëèéã ìýääýã áîë òà ýíý á³ëãèéã àëãàñàæ áîëîõ þì. Chapter 4 Ïðîãðàì ñóóëãàõ íü FreeBSD-èéí øèíý ñàíàà÷ëàãà “ïîðòûí öóãëóóëãà” áîëîí ñòàíäàðò õî¼ðòûí áàãöóóäûí òóñëàìæòàé ãóðàâäàã÷ ïðîãðàì õàíãàìæóóäûí ñóóëãàëòûã òàéëáàðëàäàã.
xvi
ìí°õ ³ã Chapter 5 X Öîíõîò ñèñòåì
X Öîíõîò ñèñòåìèéã åð°íõèéä íü áîëîí FreeBSD-ã ÿëàíãóÿà X11 äýýð àøèãëàõ òàëààð òàéëáàðëàõ áîëíî. KDE áîëîí GNOME çýðýã øèðýýíèé ò³ãýýìýë îð÷íóóäûã áàñ òàéëáàðëàäàã.
Chapter 6 Øèðýýíèé ïðîãðàìóóä
Âýá õ°ò÷³³ä áîëîí á³òýýìæèéí öóãëóóëãóóä çýðýã çàðèì íýãýí øèðýýíèé ïðîãðàìóóäûã äóðäàõ á°ã°°ä òýäãýýðèéã FreeBSD äýýð õýðõýí ñóóëãàõ òàëààð òàéëáàðëàõ áîëíî. Chapter 7 Ìóëüòèìåäèà Äóó áîëîí ä³ðñ òîãëóóëàëòûí äýìæëýãèéã °°ðèéí ñèñòåì äýýð õýðõýí òîõèðóóëàõû㠳糳ëíý. Áàñ çàðèì æèøýý àóäèî áîëîí âèäåî ïðîãðàìóóäûã òàéëáàðëàäàã. Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü Òàíä ÿàãààä øèíý ö°ì õýðýãòýé áîëæ áîëîõûã òàéëáàðëàæ ö°ìèéã òîõèðóóëàõ, á³òýýõ áîëîí ñóóëãàõ òóõàé äýëãýðýíã³é çààâðóóäûã °ãí°. Chapter 9 Õýâëýëò Ñóðòàë÷èëãàà õóóäàñíóóä, õýâëýã÷èéí á³ðòãýë áîëîí ýõíèé òîõèðãîî çýðýã ìýäýýëëèéã îðóóëààä õýâëýã÷äèéã FreeBSD äýýð óäèðäàõ òàëààð òàéëáàðëàäàã. Chapter 10, Linux-èéí õî¼ðòûí íèéëýìæ FreeBSD-èéí Linux-òýé íèéöòýé áîëîìæóóäûã òàéëáàðëàäàã. Áàñ Oracle, SAP R/3, áîëîí Mathematica® çýðýã Linux-èéí îëîí ò³ãýýìýë ïðîãðàìóóäûã ñóóëãàõ äýëãýðýíã³é çààâðóóäûã °ãä°ã. Chapter 11 Òîõèðãîî áà òààðóóëàëò FreeBSD-ã õàìãèéí îíîâ÷òîé àæèëëàãààíä çîðèóëæ òààðóóëàõàä òóñëàõ ñèñòåìèéí àäìèíèñòðàòîðóóäàä çîðèóëñàí ïàðàìåòð³³äèéã òàéëáàðëàäàã. Áàñ FreeBSD-ä àøèãëàãäàõ ò°ð°ë á³ðèéí òîõèðãîîíû àéëóóäûã òàéëáàðëàæ òýäãýýðèéã õààíààñ îëîõûã õýëæ °ãä°ã. Chapter 12 Ýõë³³ëýõ ïðîöåññ FreeBSD-èéí ýõë³³ëýõ ïðîöåññèéã òàéëáàðëàæ òîõèðãîîíû ñîíãîëòóóäûí òóñëàìæòàé ýíý ïðîöåññèéã õýðõýí õÿíàõ òàëààð äóðääàã. Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò Õýðýãëýã÷èéí á³ðòãýë³³äèéã ³³ñãýõ áîëîí óäèðäàõûã òàéëáàðëàäàã. Áàñ õýðýãëýã÷èä äýýð ýõ ³³ñâýðèéí õÿçãààðëàëòóóäûã òîõèðóóëàõ áîëîí áóñàä á³ðòãýë óäèðäàõ àæëóóäûí òàëààð òàéëáàðëàäàã. Chapter 14 Àþóëã³é áàéäàë Kerberos, IPsec, áîëîí OpenSSH çýðãèéã îðîëöóóëààä òàíû FreeBSD ñèñòåìèéã àþóëã³é áîëãîõîä òóñëàõ îëîí õýðýãñë³³äèéã òàéëáàðëàäàã. Chapter 15 Jails áóþó Øîðîíãóóä Øîðîíãèéí òîãòîëöîî áîëîí FreeBSD-èéí óëàìæëàëò chroot äýìæëýã äýýð íýìýãäñýí øîðîíãèéí ñàéæðóóëàëòóóäûã òàéëáàðëàäàã.
xvii
ìí°õ ³ã Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Mandatory Access Control (MAC) áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò ãýæ þó áîëîõûã òàéëáàðëàäàã á°ã°°ä FreeBSD ñèñòåìèéã àþóëã³é áîëãîõîä ýíý àðãà çàìûã õýðõýí àøèãëàõ òàëààð õýëýëöäýã. Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü FreeBSD-èéí ³éë ÿâöûí àóäèò ãýæ þó áîëîõ, ò³³íèéã õýðõýí ñóóëãàõ, òîõèðóóëàõ áîëîí àóäèò ì°ðí³³ä õýðõýí øàëãàãäàæ ýñâýë ìîíèòîð õèéãääýã òàëààð òàéëáàðëàäàã. Chapter 18 Õàäãàëàëò Õàäãàëàëòûí ç°°â°ðë°ã÷ áîëîí àéëûí ñèñòåì³³äèéã FreeBSD-ýýð õýðõýí óäèðäàõûã òàéëáàðëàäàã. ³íä èçèê äèñêí³³ä, RAID ìàññèâóóä, îïòèê áîëîí ñîðîíçîí õàëüñàí ç°°â°ðë°ã÷, ñàíàõ îé äýýð òóëãóóðëàñàí äèñêí³³ä áîëîí ñ³ëæýýíèé àéëûí ñèñòåì³³ä îðäîã. Chapter 19 GEOM FreeBSD äýýðõ GEOM òîãòîëöîî ãýæ þó áîëîõ, ò°ð°ë á³ðèéí äýìæèãäñýí RAID ò³âøí³³äèéã õýðõýí òîõèðóóëàõ òàëààð òàéëáàðëàäàã. Chapter 20 Ôàéëûí ñèñòåìèéí äýìëýã
Sun-èé Z àéëûí ñèñòåì çýðýã FreeBSD äýýðõ ò°ð°ëõèéí áèø àéëûí ñèñòåì³³äèéí äýìæëýãèéí òàëààð òàéëáàðëàäàã.
Chapter 21 Vinum
Ò°õ°°ð°ìæ°°ñ õàìààðàëã³é ëîãèê äèñêí³³ä áîëîí ïðîãðàì õàíãàìæèéí RAID-0, RAID-1 áîëîí RAID-5 çýðãèéí áîëîìæèéã îëãîäîã ëîãèê ýçëýõ³³í ìåíåæåð Vinum-èéã õýðõýí àøèãëàõ òàëààð òàéëáàðëàäàã. Chapter 22 Âèðòóàë÷ëàë Âèðòóàë÷ëàëûí ñèñòåì³³ä þó ñàíàë áîëãîäîã áîëîí òýäãýýðèéã FreeBSD-òýé õýðõýí àøèãëàæ áîëîõûã òàéëáàðëàäàã. Chapter 23 Ëîêàë÷ëàë Àíãëè õýëíýýñ áóñàä õýëí³³ä äýýð FreeBSD-ã õýðõýí àøèãëàõ òàëààð òàéëáàðëàäàã. Ñèñòåì áîëîí ïðîãðàìûí ò³âøèíãèéí ëîêàë÷ëàëûã äóðääàã. Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü FreeBSD-STABLE, FreeBSD-CURRENT áîëîí FreeBSD-èéí õóâèëáàðóóäûí ÿëãààíóóäûã òàéëáàðëàäàã. Õ°ãæ³³ëýëòèéí ñèñòåìèéã äàãàõàä ÿìàð õýðýãëýã÷äýä àøèãòàéã òàéëáàðëàæ òýð ïðîöåññèéã äóðääàã. Õýðýãëýã÷èä °°ðñäèéí ñèñòåìèéã àþóëã³é áàéäëûí õàìãèéí ñ³³ëèéí ³åèéí õóâèëáàð ðóó øèíý÷ëýõ àðãóóäûã òàéëáàðëàäàã. Chapter 25 DTrace FreeBSD äýýð Sun-èé DTrace õýðýãñëèéã õýðõýí òîõèðóóëæ õýðýãëýõ òàëààð òàéëáàðëàäàã.
Äèíàìèêààð äàãàæ ì°ðä°õ íü àæèëëàæ áàéõ ÿâöàä ñèñòåìèéí øèíæèëãýý õèéæ ã³éöýòãýí ³éë àæèëëàãààíû àñóóäëóóäûã îëîõîä òóñàëæ ÷àäíà.
xviii
ìí°õ ³ã Chapter 26 Öóâàà õîëáîîíóóä
Òåðìèíàëóóä áîëîí ìîäåìóóäûã °°ðèéí FreeBSD ñèñòåìä ãàäàãø çàëãàõ áîëîí äóóäëàãà õ³ëýýí àâàõ õîëáîëòóóäàä çîðèóëæ õýðõýí õîëáîõ òàëààð òàéëáàðëàäàã. Chapter 27 PPP áà SLIP FreeBSD äýýð PPP, SLIP, ýñâýë Ethernet äýýã³³ðõ PPP-ã õýðõýí àøèãëàæ àëñûí ñèñòåìä õîëáîãäîõûã òàéëáàðëàäàã. Chapter 28 Öàõèì øóóäàí Öàõèì çàõèäëûí ñåðâåðèéí á³ðýëäýõ³³í õýñã³³äèéã òàéëáàðëàæ õàìãèéí ò³ãýýìýë çàõèäëûí ïðîãðàì õàíãàìæ áîëîõ sendmail-ä çîðèóëñàí õÿëáàð òîõèðãîîíû ñýäâ³³äèéí òàëààð °ã³³ëäýã. Chapter 29 ѳëæýýíèé ñåðâåð³³ä Òàíû FreeBSD ìàøèíûã ñ³ëæýýíèé àéëûí ñèñòåì ñåðâåð, äîìýéí íýðíèé ñåðâåð, ñ³ëæýýíèé ìýäýýëëèéí ñèñòåì ñåðâåð ýñâýë öàã òààðóóëàõ ñåðâåð áîëãîí õýðõýí òîõèðóóëàõ òóõàé äýëãýðýíã³é çààâðóóä áîëîí æèøýý òîõèðãîîíû àéëóóäûã äóðääàã. Chapter 30 àëò õàíàíóóä Ïðîãðàì õàíãàìæ äýýð ñóóðèëñàí ãàëò õàíàíóóäûí öààäàõ èëîñîèéã òàéëáàðëàæ FreeBSD-ä çîðèóëñàí ò°ð°ë á³ðèéí ãàëò õàíàíóóäûí òîõèðãîîíû òóõàé äýëãýðýíã³é ìýäýýëëèéã °ã³³ëäýã. Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä °ðèéí LAN äîòîðõ áóñàä êîìïüþòåðóóäòàé Èíòåðíýòèéí õîëáîëòîî õóâààëöàõ, ÷èãë³³ëýëòèéí äýâøèëòýò ñýäâ³³ä, óòàñã³é ñ³ëæýý, Bluetooth, ATM, IPv6 çýðýã ç³éëñèéã îðîëöóóëààä ñ³ëæýýíèé îëîí ñýäâ³³äèéã òàéëáàðëàäàã. Appendix A FreeBSD-ã îëæ àâàõ íü FreeBSD ç°°â°ðë°ã÷èéã CDROM ýñâýë DVD äýýð îëæ àâàõàä çîðèóëàãäñàí ò°ð°ë á³ðèéí ýõ³³ä áîëîí FreeBSD-ã òàòàí àâ÷ ñóóëãàõ áîëîìæèéã òàíä îëãîõ Èíòåðíýò äýõ îëîí ñàéòóóäûã äóðääàã. Appendix B Íîì ç³é Ýíý íîì íü ìàø îëîí ò°ð°ë á³ðèéí ñýäâ³³äèéã õ°íää°ã á°ã°°ä òàíûã ìàãàäã³é èë³³ äýëãýðýíã³é ìýäýýëýë àâàõ õ³ñýëä õ°òë°æ áîëîõ þì. Íîì ç³é íü ýíý íîìîíä àøèãëàñàí îëîí ãàéõàëòàé íîìíóóäûã äóðäñàí áàéäàã. Appendix C Èíòåðíýò äýõ ýõ ³³ñâýð³³ä FreeBSD-èéí õýðýãëýã÷äýä çîðèóëñàí, àñóóëòóóä èëãýýæ FreeBSD-èéí òàëààð òåõíèêèéí õýëýëö³³ëã³³ä °ðí³³ëæ áîëîõ îëîí õýëýëö³³ëã³³ä áàéäàã òàëààð òàéëáàðëàäàã. Appendix D PGP ò³ëõ³³ð³³ä FreeBSD-èéí õýä õýäýí õ°ãæ³³ëýã÷äèéí PGP ò³ëõ³³ð³³äèéã æàãñààäàã.
Ýíý íîìîíä àøèãëàãäñàí áè÷èãëýëèéí õýëáýð³³ä
Òåêñòèéã óíøèõàä õÿëáàð, äýñ äàðààëàëòàé áîëãîõûí òóëä ýíý íîìîíä õýä õýäýí áè÷èãëýëèéí õýëáýð³³äèéã àøèãëàñàí.
xix
Õýâëýëèéí õýëáýð³³ä
ìí°õ ³ã
Italic italic îíò íü àéëûí íýðñ, URL-óóä, îíöîëñîí òåêñò áîëîí òåõíèêèéí óõàãäàõóóíóóäûí ýõíèé õýðýãëýýíä italic ³ñãèéí ìàÿã àøèãëàãäñàí. Monospace
õèéãäñýí ³ñãèéí ìàÿã íü àëäààíû ìýäýãäë³³ä, òóøààëóóä, îð÷íû õóâüñàã÷óóä, ïîðòóóäûí íýðñ, õîñòûí íýðñ, õýðýãëýã÷äèéí íýðñ, á³ëãèéí íýðñ, ò°õ°°ð°ìæèéí íýðñ, õóâüñàã÷óóä áîëîí êîäûí õýñã³³äýä àøèãëàãäñàí.
monospace
Bold bold ³ñãèéí ìàÿã íü ïðîãðàìóóä, òóøààëóóä áîëîí òîâ÷ëóóðóóäàä àøèãëàãäñàí.
Õýðýãëýã÷èéí Îðîëò
Òîâ÷ëóóðóóä íü áóñàä òåêñòýýñ ÿëãàðàõûí òóëä bold õýëáýðýýð õàðóóëàãäñàí. Òîâ÷ëóóðóóäûí õîñëîëóóä íü çýðýã áè÷èãäýõ ¼ñòîé á°ã°°ä òîâ÷ëóóðóóäûí õîîðîíä ‘+’ òàâèãäàí ³ç³³ëýãäñýí, æèøýý íü: Ctrl+Alt+Del
Ýíý íü õýðýãëýã÷ Ctrl, Alt, áîëîí Del òîâ÷ëóóðóóäûã çýðýã äàðàõ ¼ñòîé ãýñýí ³ã þì. Äàðààëàí áè÷èõ ¼ñòîé òîâ÷ëóóðóóäûã òàñëàëààð òóñãààðëàäàã, æèøýý íü: Ctrl+X, Ctrl+S
Ýíý íü õýðýãëýã÷ Ctrl áîëîí X òîâ÷ëóóðóóäûã çýðýã äàðààä äàðàà íü Ctrl áîëîí S òîâ÷ëóóðóóäûã çýðýã äàðíà ãýñýí ³ã þì.
Æèøýýí³³ä
E:\> ãýæ ýõýëñýí æèøýýí³³ä íü MS-DOS® òóøààëûã èëýðõèéëíý. Òýìäýãëýæ õýëýýã³é ë áîë ýäãýýð òóøààëóóäûã îð÷èí ³åèéí Microsoft Windows îð÷íû “Òóøààë õ³ëýýõ ì°ð” öîíõíîîñ àæèëëóóëæ áîëîõ þì. E:\> tools\fdimage floppies\kern.flp A:
ãýæ ýõýëñýí æèøýýí³³ä íü FreeBSD äýýð ñóïåð õýðýãëýã÷ýýð àæèëëóóëàõ ¼ñòîé òóøààëûã èëýðõèéëíý. Òóøààë áè÷èõèéí òóëä òà root ýðõýýð íýâòðýõ þì óó ýñâýë °°ðèéí åðäèéí ýðõýýð íýâòðýýä ñóïåð õýðýãëýã÷èéí ç°âø°°ðë³³äèéã àâàõûí òóëä su(1)-ã àøèãëàæ áîëîõ þì.
#
# dd if=kern.flp of=/dev/fd0
ãýæ ýõýëñýí æèøýýí³³ä íü åðäèéí õýðýãëýã÷èéí á³ðòãýëýýñ àæèëëóóëàõ ¼ñòîé òóøààëûã èëýðõèéëíý. Òýìäýãëýæ õýëýýã³é ë áîë îð÷íû õóâüñàã÷óóä áîëîí áóñàä á³ðõ³³ëèéí òóøààëóóäûã òîõèðóóëàõàä C á³ðõ³³ëèéí ñèíòàêñ àøèãëàãääàã. %
% top
xx
ìí°õ ³ã
Òàëàðõàë
Òàíû áàðüæ áàéãàà íîì íü äýëõèé äàÿàðõ îëîí çóóí õ³ì³³ñèéí õ³÷ õ°ä°ëì°ð þì. Áè÷ãèéí àëäààíóóäûí çàñâàðóóä èëãýýñýí ÷ áàé ýñâýë á³õýë á³òýí á³ëã³³äèéã èð³³ëñýí ÷ áàé ãýñýí ýäãýýð á³õ îðóóëñàí õóâü íýìð³³ä íü èõ à÷ õîëáîãäîëòîé áàéñàí þì. Çîõèîã÷äûã á³òýí àæëûí °äðèéí òóðø àæèëëàõûã äýìæèí öàëèíæóóëæ, õýâëýëòèéí ò°ëá°ðèéã ò°ë°õ ãýõ çýðãýýð õýä õýäýí êîìïàíèóä ýíý áàðèìòûí õ°ãæ³³ëýëòèéã äýìæñýí áèëýý. ßëàíãóÿà BSDi-èéí (äàðààõàí íü Wind River Systems (http://www.windriver.com) õóäàëäàí àâñàí) öàëèíæóóëñàí FreeBSD áàðèìòæóóëàõ ò°ñëèéí ãèø³³ä ýíý íîìûã ñàéæðóóëæ á³òýí àæëûí °äðèéí òóðø àæèëëàñàí íü 2000 îíû 3 ñàðä ýõíèé õýâëýãäñýí õóâèëáàð ãàðãàõàä õ³ðãýñýí þì (ISBN 1-57176-241-8). Wind River Systems äàðàà íü õýâëýãäñýí ãàðàëòûí äýä á³òöýä õýä õýäýí ñàéæðóóëàëòóóäûã õèéëãýæ òåêñòýä íýìýëò á³ëã³³äèéã íýì³³ëýõèéí òóëä õýä õýäýí çîõèîã÷èéã öàëèíæóóëñàí áèëýý. 2001 îíû 11 ñàðä õýâëýãäñýí õî¼ð äàõü õýâëýëä ýíý àæèë îðæýý (ISBN 1-57176-303-1). 2003-2004 îíóóäàä FreeBSD Mall, Inc (http://www.freebsdmall.com) ãóðàâ äàõü óäààãèéí õýâëýëèéã áýëòãýõýä çîðèóëàí àðûí àâëàãûã ñàéæðóóëàõûí òóëä õýä õýäýí õóâü íýìýð îðóóëàã÷äûã öàëèíæóóëñàí þì.
xxi
I. Ýõëýë
FreeBSD ãàðûí àâëàãûí ýíý õýñýã íü FreeBSD-òýé øèíýýð òàíèëöàæ áàéãàà àäìèíèñòðàòîð áîëîí õýðýãëýã÷äýä çîðèóëàãäñàí. Ýíä ãàðàõ á³ëã³³ä íü: • • • •
FreeBSD-í òàíèëöóóëãà.
FreeBSD-ã ñóóëãàõ ³éë ÿâö.
UNIX-èéí ³íäñèéí îéëãîëò.
FreeBSD-òýé õàìò èðäýã ãóðàâäàã÷-ýòãýýäèéí ïðîãðàìûã õýðõýí ñóóëãàõ áîëîí
UNIX öîíõîò ñèñòåì X-èéã òàíä òàíèëöóóëæ, èë³³ ³ð á³òýýëòýé àæèëëàõûí òóëä àæëûí øèðýýíèé îð÷íîî õýðõýí òîõèðóóëàõ òàëààð òàéëáàðëàíà. Áèä àðûí àâëàãûíõàà ýíý õýñãèéã àëü áîëîõ ö°°õ°í õóóäàñ äàìæèõààð áîäîëöñîí á°ã°°ä èíãýñíýýð òàíä ýíý ãàðûí àâëàãûã ýõíýýñ íü äóóñòàë õóóäàñíààñ õóóäàñ óðóó ³ñðýëã³éãýýð óíøèæ äóóñãàõàä çîðèóëñàí áèëýý. •
Chapter 1
Òàíèëöóóëãà
Äàõèí á³òöèéã °°ð÷èëæ çîõèîí áàéãóóëñàí, çàðèì õýñãèéã äàõèí áè÷ñýí Æèì Ìîê. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 1.1
Åð°íõèé àãóóëãà
FreeBSD-ã ñîíèðõñîí òàíä áàÿðëàëàà! Äàðààõ á³ëýã FreeBSD ò°ñëèéí ò³³õ, çîðèëãî, õ°ãæ³³ëýõ çàãâàð çýðýã áóñàä ò°ð°ë á³ðèéí îéëãîëòóóäûã õàìàðíà.
Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: • • • • •
FreeBSD áóñàä êîìïüþòåðèéí ³éëäëèéí ñèñòåì³³äòýé ÿìàð õàìààðàëòàé òàëààð.
FreeBSD ò°ñëèéí ò³³õ.
FreeBSD ò°ñëèéí çîðèëãóóä.
FreeBSD-èéí íýýëòòýé-ýõ õ°ãæ³³ëýõ çàãâàðûí ³íäñ³³ä.
Ì°í ìýäýýæ “FreeBSD” íýð õààíààñ ãàðñàí òàëààð.
1.2 FreeBSD-
ä òàâòàé ìîðèëíî óó!
FreeBSD íü Èíòåë (x86 áîëîí Itanium®), AMD64, Alpha™, Sun UltraSPARC® êîìïüþòåðóóäàä çîðèóëàãäñàí 4.4BSD-Lite äýýð ³íäýñëýñýí ³éëäëèéí ñèñòåì þì. Ì°í °°ð áóñàä àðõèòåêòóð óðóó ïîðò õèéãäýæ áàéãàà áîëíî. Òà ì°í FreeBSD-èéí ò³³õ ýñâýë îäîîãèéí õóâèëáàðûã óíøèõ áîëîìæòîé. Õýðýâ òà ýíý ò°ñ°ëä (êîä, òîíîã ò°õ°°ð°ìæ, ñàí) õóâü íýìýð îðóóëàõûã ñîíèðõîæ áàéãàà áîë FreeBSD-ä õóâü íýìýð îðóóëàõ íü (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/contributing/index.html) íèéòëýëèéã óíøèíà óó.
1.2.1 FreeBSD
þó õèéæ ÷àäàõ âý?
FreeBSD îëîí òîîíû äóðäàõàä áóðóóäàõã³é áîëîìæóóäòàé. Ýäãýýðèéí çàðèì íü: •
•
•
Êîìïüþòåðèéã èõ à÷ààëàëòàé áàéñàí ÷ ïðîãðàìóóä áîëîí õýðýãëýã÷äèéí õîîðîíä áàðòààã³é, èæèë õóâààëöàõ í°õöëèéã á³ðä³³ëýõ, äèíàìèê äàðààëàë òîõèðóóëàëòòàé, èë³³ °íä°ð äàâóó ýðõ á³õèé áîäëîãîîð ñîëèãäîõ áîëîìæ á³õèé îëîí áîäëîãî÷ëîë . Îëîí-õýðýãëýã÷èéí áîëîìæóóä íü îëîí õ³ì³³ñ FreeBSD ñèñòåìèéã ò°ð°ë á³ðèéí ç³éëä çîðèóëàí çýðýãöýí õýðýãëýõ áîëîìæèéã ç°âø°°ðä°ã. Ýíý íü, æèøýý íü, õýâëýã÷³³ä áîëîí ñîðîíçîí õàëüñíû õ°òë°ã÷³³ä çýðýã ñèñòåìèéí çàõûí ò°õ°°ð°ìæ³³ä íü ñèñòåì ýñâýë ñ³ëæýýí äýõ á³õ õýðýãëýã÷äèéí äóíä ç°â°°ð õóâààëöàõ áà ýõ ³³ñâýð á³ð äýõ õÿçãààðóóä íü ìàø ÷óõàë ñèñòåìèéí ýõ ³³ñâýð³³äèéã èë³³ àøèãëàõààñ õàìãààëæ õýðýãëýã÷äýä áîëîí á³ëýã õýðýãëýã÷äýä òàâèãäàæ áîëíî ãýñýí ³ã þì. SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec, áîëîí IPv6 çýðýã ³éëäâýðëýëèéí ñòàíäàðòóóäûí äýìæëýãòýé, õ³÷èðõýã TCP/IP ñ³ëæýý . Ýíý íü òàíû FreeBSD ìàøèí áóñàä ³éëäëèéí ñèñòåì³³äòýé õÿëáàð õàðèëöàí àæèëëàæ ÷àäàõààñ ãàäíà ì°í NFS (àéëä àëñààñ õàíäàõ) öàõèì çàõèäëûí ³éë÷èëãýýí³³ä çýðýã ÷óõàë áîëîìæóóäûã õàíãàäàã ýñâýë Èíòåðíýòýä WWW, FTP, ÷èãë³³ëýõ ýñâýë ãàëò õàíûí
1
Chapter 1 Òàíèëöóóëãà (àþóëã³é áàéäàë) ³éë÷èëãýýí³³äèéí õàìò òà °°ðèéíõ°° áàéãóóëëàãûã áàéðëóóëàõ Enterprise ñåðâåð øèã àæèëëàæ ÷àäíà ãýñýí ³ã þì.
Ñàíàõ îéí õàìãààëàëò íü ïðîãðàìóóä (ýñâýë õýðýãëýã÷èä) °°ð õîîðîíäîî í°ë°°ë°õã³é í°õöëèéã õàíãàäàã. Íýã ïðîãðàì ñ³éðýõýä áóñäàä àëü ÷ çàìààð í°ë°°ë°õã³é. • FreeBSD íü 32-áèò ³éëäëèéí ñèñòåì (Àëüà äýýð 64-áèò , Itanium, AMD64, áîëîí UltraSPARC) á°ã°°ä á³ð àíõíààñàà ýõëýí äèçàéí õèéãäñýí þì. • éëäâýðëýëèéí ñòàíäàðò áîëîõ X Öîíõíû Ñèñòåì (X11R7) íü åðäèéí VGA êàðò áà äýëãýöèéí ³íýíä õýðýãëýã÷èéí ãðàèê èíòåðýéñèéã (GUI) õàíãàäàã á°ã°°ä á³ðýí ýõèéí õàìò èðäýã. • Ëèíóêñ, SCO, SVR4, BSDI áà NetBSD-ä çîðèóëàí á³òýýãäñýí îëîí ïðîãðàìóóäòàé õî¼ðòûí íèéëýìæ . • Îëîí ìÿíãàí àæèëëàõàä áýëýí ïðîãðàìóóä FreeBSD-èéí ïîðòóóä áîëîí áàãöóóäûí öóãëóóëãàíä áàéäàã. Ýíäýýñ á³ãäèéã îëæ áîëæ áàéõàä ÿàãààä ñ³ëæýýíýýñ õàéõ õýðýãòýé ãýæ? • Îëîí ìÿíãàí íýìýëò áîëîí àìàðõàí ïîðò õèéõ áîëîìæòîé ïðîãðàìóóä Èíòåðíýòýä áàéäàã. FreeBSD íü ýõ êîäûí õóâüä èõýíõ îëíû ìýääýã àðèëæààíû UNIX ñèñòåì³³äòýé íèéöòýé á°ã°°ä èõýíõ ïðîãðàìóóäûã õ°ðâ³³ëýõýä õýðýâ áàéãàà áîë ö°°í °°ð÷ë°ëò³³äèéã øààðääàã. • Øààðäëàãààð õóóäàñëàäàã (demand paged) âèðòóàë ñàíàõ îé áà “íèéë³³ëñýí VM/ò³ð õàäãàëàã÷” äèçàéí íü ñàíàõ îéí õóâüä èõ õýðýãëýäýã ïðîãðàìóóäûí õ³ñëèéã ³ð àøèãòàéãààð õàíãàäàã á°ã°°ä èíãýõäýý áóñàä õýðýãëýã÷äýä õàðèëöàí õàðèó °ã°õ áîëîìæèéã îëãîñîîð áàéäàã. • Îëîí CPU-òàé ìàøèíóóäàä çîðèóëñàí SMP äýìæëýã. • C, C++, áîëîí ÔÎÒÀÍ õ°ãæ³³ëýõ áàãàæóóäûí á³ðýí á³ðýëäýõ³³í. Íàðèéí ñóäàëãàà áîëîí õ°ãæ³³ëýëòýä çîðèóëñàí îëîí íýìýëò õýëí³³ä áàñ ïîðòóóä áîëîí áàãöóóäûí öóãëóóëãàíä áàéäàã. • Á³õ ñèñòåìä çîðèóëñàí ýõ êîä ãýäýã íü òà îð÷íîî õàìãèéí èõýýð õÿíàíà ãýñýí ³ã þì. Òà æèíõýíý íýýëòòýé ñèñòåìòýé ì°ðòë°° ÿàãààä ³éëäâýðëýã÷èéí áóÿíä õààëòòàé øèéäýëä öîîæòîé áàéõ ¼ñòîé ãýæ? • Äýëãýðýíã³é îíëàéí áàðèìòæóóëàëò . • ãýõ ìýò °°ð èë³³ îëíûã äóðäàæ áîëíî! FreeBSD íü Áåðêëè äýõ Êàëèîðíèéí Èõ Ñóðãóóëèéí Êîìïüþòåðèéí Ñèñòåìèéí Ñóäàëãààíû Á³ëãýýñ (CSRG) ãàðãàñàí 4.4BSD-Lite õóâèëáàð äýýð ³íäýñëýñýí á°ã°°ä BSD ñèñòåìèéí õ°ãæ³³ëýëòèéí áóñäààñ ÿëãààòàé óëàìæëàëûã ³ðãýëæë³³ëñýýð áàéíà. CSRG-ýýñ ãàðãàñàí ñàéõàí àæëààñ ãàäíà FreeBSD Ò°ñ°ë íü æèíõýíý àìüäðàë äýýðõ à÷ààëëûí ³åèéí íàéäâàðòàé áîëîí õàìãèéí ñàéí àæèëëàãààã õàíãàõ ñèñòåìèéã íàðèéí òîõèðóóëàõàä îëîí ìÿíãàí öàãèéã çîðèóëæýý. Óëàì îëîí àðèëæààíû àâàðãóóä èéì áîëîìæóóä, àæèëëàãàà áîëîí íàéäâàðòàé áàéäàë á³õèé PC ³éëäëèéí ñèñòåìèéã ãàðãàõ ãýæ òýìöýæ áàéõàä FreeBSD òýäãýýðèéã îäîî ñàíàë áîëãîæ ÷àäíà! FreeBSD-ã ÿìàð õýðýãëýýíä àøèãëàõ íü ç°âõ°í òàíû ò°ñ°°ëëèéí õ³ðýýíä áàéíà. Ïðîãðàì õàíãàìæèéí õ°ãæ³³ëýëòýýñ ýõëýýä ³éëäâýðëýëèéí àâòîìàòæóóëàëò, ò°ëâèéí õÿíàëòààñ àâàõóóëààä àëñûí õèéìýë äàãóóëûí àíòåííóóäûí àçèìóò çàñâàðëàëò; õýðýâ ³³íèéã àðèëæààíû UNIX á³òýýãäýõ³³íýýð õèéæ ÷àäàõ áîë ìýäýýæ òà ³³íèéã FreeBSD-ýýð ÷ áàñ õèéæ ÷àäíà! Ì°í FreeBSD äýëõèé äàÿàð ñóäàëãààíû ò°â³³ä áîëîí èõ ñóðãóóëèóäàä õ°ãæ³³ëñýí èõýíõäýý áàãà ýñâýë ³íýã³é áàéäàã îëîí ìÿíãàí °íä°ð ÷àíàðûí ïðîãðàìóóäààñ ìýäýãäýõ³éö ³ð àøãèéã àâäàã. Àðèëæààíû ïðîãðàìóóä áàñ áàéäàã á°ã°°ä °ä°ð èðýõ òóñàì èõ õýìæýýãýýð íýìýãäýæ áàéíà. FreeBSD-èéí °°ðèéí ýõ êîä åð°íõèéä°° áàéãàà áîëîõîîð òóñãàé ïðîãðàìóóä ýñâýë ò°ñë³³äýä çîðèóëæ ñèñòåìèéã áàðàã ñîíñîîã³é õýìæýýíä °°ð÷ë°õ áîëîìæòîé á°ã°°ä åð°íõèéä°° áóñàä èõýíõ òîì òîì •
2
Chapter 1 Òàíèëöóóëãà
àðèëæààíû ³éëäâýðëýã÷äèéí ³éëäëèéí ñèñòåì³³äýä ³³íèéã õèéõ áîëîìæã³é áàéäàã. Ýíä FreeBSD-ã àøèãëàæ áàéãàà õ³ì³³ñèéí õýðýãëýýíèé çàðèì íýã áàéíà: Èíòåðíýòèéí éë÷èëãýýí³³ä: FreeBSD äýõ õ³÷èðõýã TCP/IP ñ³ëæýý íü ò°ð°ë á³ðèéí Èíòåðíýòèéí ³éë÷èëãýýí³³äýä õàìãèéí òîõèðñîí òàâöàí áîëãîäîã: • FTP ñåðâåð³³ä • Äýëõèé Äàÿàðõ Âýá ñåðâåð³³ä (ñòàíäàðò ýñâýë íóóöëàã [SSL]) • IPv4 áîëîí IPv6 ÷èãë³³ëýëò • àëò õàíàíóóä áîëîí NAT (“IP ìàñêàðàä õèéõ”) ãàðöóóä • Öàõèì Çàõèäëûí ñåðâåð³³ä • USENET Ìýäýýí³³ä ýñâýë Çàðëàëûí Ñàìáàðûí Ñèñòåì³³ä • ãýõ ìýò °°ð èë³³ îëíûã äóðäàæ áîëíî... Òà FreeBSD-òýé áàéõàä õÿìä 386 àíãèëëûí PC-òýé æèæãýýñ õÿëáàðõíààð ýõëýýä òàíû Enterprise °ñ°õèéí õýðýýð RAID õàäãàëàëò á³õèé 4 ïðîöåññîðòîé Xeon õ³ðòýë øèíý÷èëæ áîëíî. • Áîëîâñðîë: Òà êîìïüþòåðèéí øèíæëýõ óõààí ýñâýë ò³³íòýé õîëáîîòîé èíæåíåð÷ëýëèéí ñàëáàðûí îþóíòàí óó? éëäëèéí ñèñòåì, êîìïüþòåðèéí àðõèòåêòóð áîëîí ñ³ëæýýíèé òàëààð ñóðàõàä FreeBSD-èéí äàëä õàíãàæ °ãä°ã áîëîìæ øèã èë³³ ñàéí àðãà áàéõã³é. ×°ë°°òýé áàéäàã õýä õýäýí CAD, ìàòåìàòèêèéí áîëîí ãðàèêèéí äèçàéí õèéõ áàãöóóä íü °°ð áóñàä àæëóóäûã õèéõèéí òóëä êîìïüþòåðèéã àøèãëàäàã õ³ì³³ñò FreeBSD-ã èë³³ èõ àøèãòàé áîëãîäîã! • Ñóäàëãàà: Á³õýë ñèñòåìèéí õóâüä ýõ êîäòîé FreeBSD íü ³éëäëèéí ñèñòåì³³ä áîëîí êîìïüþòåðèéí øèæëýõ óõààíû áóñàä ñàëáàðóóäûí õóâüä ñóäàëãààíû ìàø ñàéí òàâöàí áîëäîã. FreeBSD-èéí ÷°ë°°òýé áàéäàã ÷àíàð íü àëñàä áàéãàà á³ëã³³ä òóñãàé ëèöåíçèéí ãýðýý ýñâýë íýýëòòýé îðóì äýýð õýëýëöýæ áîëîõ õÿçãààðóóäàä ñàíàà çîâîëã³éãýýð øèíý ñàíààíóóä áîëîí õóâààëöñàí õ°ãæ³³ëýëò äýýð õàìòðàí àæèëëàõ áîëîìæèéã á³ðä³³ëäýã. • ѳëæýý: Øèíý ÷èãë³³ëýã÷? Íýðèéí ñåðâåð (DNS)? ճ쳳ñèéã äîòîîä ñ³ëæýýíýýñ ãàäóóð áàéëãàõ ãàëò õàíà õýðýãòýé áàéíà óó? FreeBSD íü àøèãëààã³é, áóëàíä õýâòýæ áàéãàà 386 ýñâýë 486 PC-ã ïàêåò ø³³ëò õèéõ ñàéæðóóëñàí áîëîìæóóäòàé °ðã°òã°ñ°í ÷èãë³³ëýã÷ áîëãîí õÿëáàðõàí õóâèðãàæ ÷àäíà. • X Öîíõíû àæëûí ñòàíö: FreeBSD íü ÷°ë°°òýé áàéäàã X11 ñåðâåðèéã àøèãëàí õÿìä X òåðìèíàëûí øèéäýëä çîðèóëñàí ñàéí ñîíãîëò áîëäîã. X òåðìèíàëààñ ÿëãààòàé íü õýðýâ õ³ñâýë îëîí ïðîãðàìóóäûã FreeBSD àæèëëóóëàõûã ç°âø°°ðä°ã á°ã°°ä èíãýñíýýð ò°â ñåðâåðèéí à÷ààëëûã õ°íã°â÷èëä°ã. FreeBSD íü “äèñêã³é” à÷ààëæ ÷àäñàíààð àæëûí ñòàíöóóäûã õÿìä, àìàðõàí óäèðäàõ áîëîìæòîé áîëãîäîã. • Ïðîãðàì Õàíãàìæèéí Õ°ãæ³³ëýëò: íäñýí FreeBSD ñèñòåì íü íèéòýä àëäàðøñàí GNU C/C++ õ°ðâ³³ëýã÷ áîëîí àëäàà îëîã÷ çýðýã ïðîãðàì÷ëàëûí ³íäñýí õýðýãñë³³äòýé èðäýã. FreeBSD íü CD-ROM, DVD, áîëîí íýðã³é FTP äýýð ýõ áîëîí õî¼ðòûí õýëáýðýýð áàéäàã. FreeBSD-ã îëæ àâàõ òàëààð äýëãýðýíã³é ìýäýýëëèéã Appendix A õàÿãààñ ³çíý ³³. •
ã õýí àøèãëàäàã âý?
1.2.2 FreeBSD-
FreeBSD íü äýëõèéí IT-èéí èõýíõ òîìîîõîí êîìïàíèóäûí ãàðãàäàã ò°õ°°ð°ìæ³³ä áîëîí á³òýýãäýõ³³í³³äýä òàâöàí áîëîí àøèãëàãääàã:
3
Chapter 1 Òàíèëöóóëãà •
Apple (http://www.apple.com/)
•
Cisco (http://www.cisco.com/)
•
Juniper (http://www.juniper.net/)
•
NetApp (http://www.netapp.com/)
FreeBSD íü áàñ èíòåðíýò äýõ çàðèì íýã õàìãèéí òîìîîõîí âýá õóóäñóóäûã àæèëëóóëäàã: •
Yahoo! (http://www.yahoo.com/)
•
Yandex (http://www.yandex.ru/)
•
Apache (http://www.apache.org/)
•
Rambler (http://www.rambler.ru/)
•
Sina (http://www.sina.com/)
•
Pair Networks (http://www.pair.com/)
•
Sony Japan (http://www.sony.co.jp/)
•
Netcraft (http://www.netcraft.com/)
•
Weathernews (http://www.wni.com/)
•
TELEHOUSE America (http://www.telehouse.com/)
ãýõ ìýò °°ð èë³³ îëîí âýá õóóäñóóäûã äóðäàæ áîëíî. 1.3 FreeBSD
Ò°ñëèéí òóõàé
Äàðààõ õýñýã ò°ñëèéí òîâ÷ ò³³õ, ò°ñëèéí çîðèëãóóä,áîëîí ò°ñëèéí õ°ãæ³³ëýëòèéí çàãâàð çýðýã ò°ñëèéí òóõàé çàðèì íýã ìýäýýëëèéã °ãí°.
èéí òîâ÷ ò³³õ
1.3.1 FreeBSD-
Õóâü íýìýð áîëãîí îðóóëñàí Æîðäàí Õàááàðä. FreeBSD ò°ñëèéí ³³ñýë 1993 îíû ýõýí õýñýãò ³³äýëòýé á°ã°°ä çàëðóóëàõ áàãöûí ñ³³ëèéí 3 çîõèöóóëàã÷èä áîëîõ Íýéò Âèëëüÿìñ, îä ðàéìñ áîëîí ìèíèé áèåèéí õàìòðàí ãàðãàñàí “Àëáàí ¼ñíû áóñ 386BSD Çàëðóóëàõ áàãö”ààñ õýñýã÷èëýí õ°ãæñ°í þì. Áèäíèé àíõíû çîðèëãî õýä õýäýí àñóóäëóóäûã øèéäýõèéí òóëä 386BSD-èéí äóíäûí õîðìûí õóâèëáàðûã ãàðãàæ àâàõ ÿâäàë áàéñàí á°ã°°ä çàëðóóëàõ áàãöûí ìåõàíèçì ³³íèéã øèéäýæ ÷àääàãã³é áàéëàà. Òà íàðûí çàðèì íýã íü ò°ñëèéí àæëûí àíõíû íýð òýð ÿâäàëòàé õîëáîîòîé “386BSD 0.5” ýñâýë “386BSD Äóíäûí” ãýæ áàéñíûã ñàíàæ ìàãàäã³é þì. 386BSD íü áàðàã æèë îð÷ìûí ³ë îéøîîëòîîñ áîëæ èõýýõýí çîâæ áàéñàí òýð ³åä õ³ðñýí Áèëë Æîëèöèéí ³éëäëèéí ñèñòåì áàéñàí þì. Çàëðóóëàëòûí áàãö íü °ä°ð °íã°ð°õ á³ð óëàì ýâã³éãýýð òîìîð÷ áàéñàí á°ã°°ä áèä ÿìàð íýã þì õèéõ ¼ñòîéã 100 õóâü ç°âø°°ð÷ Áèëëä òóñëàõààð øèéäýæ ýíýõ³³ äóíäûí “öýâýðëýñýí” õîðìûí õóâèëáàðûã ãàðãàñàí þì. Òýäãýýð ò°ë°âë°ã°°í³³ä íü Áèëë Æîëèöèéã þó õèéãäýæ áîëîõûã òîäîðõîé õàðóóëàõûí îðîíä ÿìàð ÷ ç³éëã³éãýýð ò°ñëèéí °°ðèéí ñàíêöààñ ãýíýò òàòãàëçàõ øèéäâýðò õ³ðãýæ á³ä³³ëýã çîãñîîëòîä õ³ðãýñýí þì.
4
Chapter 1 Òàíèëöóóëãà
Áèëëèéí äýìæëýãã³é ÷ ãýñýí çîðèëãî ìààíü õàðàìñàõààðã³é õýâýýðýý ³ëäýõèéã áèä íýã èõ óäàëã³é øèéäñýí á°ã°°ä Äýéâèä ðèéíìýíèé áîäîæ îëñíîîð “FreeBSD” íýðèéã àâñàí þì. Áèäíèé ýõíèé çîðèëãóóä ñèñòåìèéí îäîîãèéí õýðýãëýã÷èäòýé ç°âë°ëäñ°íèé äàðàà òîäîðõîéëîãäñîí á°ã°°ä ò°ñ°ë ýõýëñýí íü òîäîðõîé áîëñíû äàðàà á³ð ìàãàäã³é àìüäðàë äýýð áèåëëýý îëîõûí òóëä áè Èíòåðíýò óðóó õÿëáàð õàíäàõ áîëîìæã³é îëîí çîëã³é÷³³äýä çîðèóëæ FreeBSD-èéí ò³ãýýëòèéí ñóâãóóäûã ñàéæðóóëàõ çîðèëãîòîéãîîð Âîëíàò Êðèéê CDROM-òîé õîëáîî òîãòîîñîí þì. Âîëíàò Êðèéê CDROM íü FreeBSD-ã CD äýýð ò³ãýýõ ñàíààã äýìæýýä çîãñîîã³é àæèëëàõ ìàøèí áàñ õóðäàí Èíòåðíýòèéí õîëáîëòûã ò°ñ°ëä çîðèóëàí õàíãàñàí þì. Âîëíàò Êðèéê CDROM-èéí òýð ³åä òýð ÷èãýýðýý ³ë ìýäýãäýõ ò°ñ°ëä áàðàã ë óðüä÷èëàí òîîöîõ àðãàã³é °ãñ°í èòãýëã³éãýýð FreeBSD îäîîãèéí õ³ðñýí øèã èéì õîë ò³âøèíä, èéì õóðäàí õ³ðýõã³é áàéñàí áèç ýý. Àíõíû CD-ROM (åð°íõèéä°° ñ³ëæýýíä °ðã°í°°ð) ò³ãýýëò 1993 îíû 12 ñàðä ãàðãàñàí FreeBSD 1.0 áàéëàà. Ýíý íü Áåðêëèãèéí Ê.È.Ñ-èéí 4.3BSD-Lite (“Net/2”) ñîðîíçîí õàëüñ äýýð òóëãóóðëàñàí, áàñ 386BSD áîëîí ×°ë°°ò Ïðîãðàì Õàíãàìæèéí Ñàíãààñ õàíãàñàí îëîí õýñã³³äýýñ òîãòñîí áàéñàí áèëýý.Ýíý áîë ýõíèé óäààä íýëýýí áîëîìæèéí àìæèëò áàéñàí á°ã°°ä äàðàà íü áèä ìàø °íä°ð àìæèëò îëñîí FreeBSD 1.1 õóâèëáàðûã 1994 îíû 5 ñàðä ãàðãàñàí þì. Ýíý ³åä óðò óäààí ³ðãýëæèëñýí Áåðêëèãèéí Net/2 ñîðîíêîí õàëüíû õóóëü ýðõ ç³éí ñòàòóñòàé õîëáîîòîé Íîâýëë áà Áåðêëèãèéí Ê.È.Ñ íàðûí õîîðîíäîõ çàðãà øèéäýãäýæ ãýíýòèéí õàð ³³ëñ áèé áîëñîí þì. Òýð òîõèðîëöîîíû í°õö°ë íü “ñààä áîëñîí” êîä áà Íîâýëëèéí óðüä íü AT&T-ýýñ àâñàí °ì÷ áîëîõ Net/2-èéí èõýíõ õýñýã äýýð õèéñýí Áåðêëèãèéí Ê.È.Ñ-èéí áóóëò áàéëàà. Õàðèóä íü Íîâýëëèéí “àäèñëàë” 4.4BSD-Lite õóâèëáàð áàéñàí á°ã°°ä ýíý íü ãàðñíûõàà äàðàà ñààäã³éãýýð òóíõàãëàãäàæ ò³³í óðóó Net/2-èéí á³õ õýðýãëýã÷èä ìàø õ³÷òýéãýýð øèëæèõèéã äýìæèõ ÿâäàë áàéëàà. ³íä FreeBSD áàñ îðñîí á°ã°°ä ò°ñ°ëä 1994 îíû 7 ñàðààñ õ³ðòýë õóãàöàà °ã÷ °°ðèéí Net/2 äýýð òóëãóóðëàñàí á³òýýãäýõ³³íýý ãàðãàõûã õîðèãëîñîí þì. Òýð ãýðýýíèé õ³ðýýíä ýöñèéí õóãàöààíààñ °ìí° ò°ñ°ëä ñ³³ëèéí íýã õóâèëáàð ãàðãàõûã ç°âø°°ðñ°í á°ã°°ä òýð õóâèëáàð íü FreeBSD 1.1.5.1 áàéëàà. Äàðàà íü FreeBSD áàðàã òýð ÷èãýýðýý øèíý, á³ðýí áèø 4.4BSD-Lite-èéí õýñãýýñ °°ðèéãýý äàõèí á³òýýõ õ³íä áýðõ áîäëîãûã òîãòîîñîí þì. “Lite” õóâèëáàðóóä íü çàðèì òàëààðàà õ°íã°í áàéñàí, ó÷èð íü à÷ààëàãäàæ àæèëëàõ ñèñòåìèéã á³òýýõýä øààðäëàãàòàé êîäûí èõýýõýí õýñãèéã Áåðêëèãèéí CSRG àðèëãàñàí (ò°ð°ë á³ðèéí õóóëü ýðõ ç³éí øààðäëàãààð) á°ã°°ä 4.4-èéí Èíòåëèéí õýñýã áàñ íýëýýí á³ðýí áèø áàéëàà. Ýíý øèëæèëòèéã õèéñýýð ò°ñ°ë 1994 îíû 11 ñàð õ³ðãýñýí á°ã°°ä òýð ³åä ñ³ëæýý áîëîí CD-ROM (12 ñàðûí ñ³³ëýýð) äýýð FreeBSD 2.0-èéã ãàðãàñàí áàéíà. Õýäèéãýýð ãàäóóðàà áàãà çýðýã ò³³õèé áàéñàí áîëîâ÷ ýíý õóâèëáàð íü èõýýõýí àìæèëòòàé áîëñîí á°ã°°ä óäàëã³é èë³³ õ³÷èðõýã, àìàðõàí ñóóëãàäàã FreeBSD 2.0.5 õóâèëáàðûã 1995 îíû 6 ñàðä ãàðãàñàí áèëýý. 1996 îíû 8 ñàðä FreeBSD 2.1.5-ûã áèä ãàðãàñàí á°ã°°ä ýíý íü ISP áîëîí àðèëæààíû õ³ðýýíèéõýíä íýëýýí àëäàðøñàí áà 2.1-STABLE ñàëáàðûí áàñ íýã °°ð õóâèëáàð ñàéøààãäñàí áèëýý. Ýíý íü 1997 îíû 2 ñàðä ãàðñàí FreeBSD 2.1.7.1 á°ã°°ä 2.1-STABLE -èéí çîíõèëîõ õ°ãæ³³ëýëòèéí ò°ãñã°ë áîëñîí þì. Îäîî ³éë àæèëëàãààã õàíãàõ ãîðèìä ç°âõ°í àþóëã³é áàéäëûí °ðã°æ³³ëýëò áîëîí áóñàä íîöòîé àëäààíû çàñâàðëàëòóóä ýíý ñàëáàðûí (RELENG_2_1_0) õóâüä õèéãäýõ áîëíî. FreeBSD 2.2 íü õ°ãæ³³ëýëòèéí ãîë ñàëáàðààñ (“-CURRENT”) 1996 îíû 11 ñàðä RELENG_2_2 ñàëáàð áîëîí ñàëáàðëàí ãàðñàí á°ã°°ä àíõíû á³ðýí õóâèëáàð (2.2.1) 1997 îíû 4 ñàðä ãàðñàí þì. 2.2 ñàëáàðûí äàðààãèéí õóâèëáàðóóä 97 îíû çóí áîëîí íàìàð ãàðöãààñàí á°ã°°ä òýäãýýðèéí ñ³³ëèéíõ (2.2.8) 1998 îíû 11 ñàðä ãàð÷ýý. Àíõíû àëáàí ¼ñíû 3.0 õóâèëáàð 1998 îíû 10 ñàðä ãàðñàí á°ã°°ä 2.2 ñàëáàðûí õóâüä ò°ãñã°ë áîëîõ ýõëýëèéã òàâüñàí þì. 1999 îíû 1 ñàðûí 20-íä ìîä äàõèí ñàëáàðëàñàí á°ã°°ä 4.0-CURRENT áîëîí 3.X-STABLE ñàëáàðóóä ãàðàõàä õ³ðãýæýý. 3.X-STABLE-ýýñ 3.1 1999 îíû 2 ñàðûí 15-íä ãàðñàí, 3.2 1999 îíû 5 ñàðûí 15-íä, 3.3 1999 îíû 9 ñàðûí 16-íä, 3.4 1999 îíû 12 ñàðûí 20-íä, òýãýýä 3.5 2000 îíû 6 ñàðûí 24-íä ãàðñàí á°ã°°ä
5
Chapter 1 Òàíèëöóóëãà
õýäõýí õîíîãèéí äàðààãààð Kerberos-ò ñ³³ëèéí ìèíóòûí àþóëã³é áàéäëûí çàñâàðóóäûã îðóóëñàí áàãàõàí õóâèëáàð øèíý÷ëýë 3.5.1-èéã ãàðàõàä õ³ðãýñýí þì. Ýíý íü 3.X ñàëáàð äàõü ñ³³ëèéí õóâèëáàð þì. 2000 îíû 3 ñàðûí 13-íä íýã ñàëáàð ãàðñàí íü 4.X-STABLE ñàëáàð áèé áîëñîí ÿâäàë þì. ³íýýñ õýä õýäýí õóâèëáàðóóä ãàðñàí: 4.0-RELEASE 2000 îíû 3 ñàðä òàíèëöóóëàãäñàí á°ã°°ä ñ³³ëèéí 4.11-RELEASE 2005 îíû 1 ñàðä ãàðñàí þì. Óäààí õ³ñýí õ³ëýýñýí 5.0-RELEASE 2003 îíû 1 ñàðûí 19-íä çàðëàãäñàí. Îéðîëöîîãîîð 3 æèëèéí àæëûã øèíãýýñýí ýíý õóâèëáàð íü FreeBSD-ã °ðã°æ³³ëñýí îëîí ïðîöåññîð, ïðîãðàìûí óðñãàë äýìæëýãèéí çàìä ãàðãàæ UltraSPARC áà ia64 òàâöàíãóóäàä çîðèóëñàí äýìæëýãèéã òàíèëöóóëñàí áèëýý. Ýíý õóâèëáàðûí äàðààãàà 2003 îíû 6 ñàðä 5.1 õóâèëáàð ãàðñàí. -CURRENT ñàëáàðûí ñ³³ëèéí 5.X õóâèëáàð 2004 îíû 2 ñàðä òàíèëöóóëàãäñàí 5.2.1-RELEASE áàéâ. RELENG_5 ñàëáàð 2004 îíû 8 ñàðä ³³ññýí á°ã°°ä äàðààãààð íü 5-STABLE ñàëáàð õóâèëáàðóóëûí ýõëýëèéã òýìäýãëýñýí 5.3-RELEASE ãàðñàí þì. Õàìãèéí ñ³³ëèéí 5.5-RELEASE 2006 îíû 5 ñàðä ãàðñàí. RELENG_5 ñàëáàðààñ äàõèæ íýìýëò õóâèëáàðóóä ãàðàõã³é. 2005 îíû 7 ñàðä ýíý óäàà RELENG_6-ä çîðèóëæ ìîä äàõèí ñàëáàðëàæýý. 6.X ñàëáàðûí àíõíû õóâèëáàð áîëîõ 6.0-RELEASE 2005 îíû 11 ñàðä ãàð÷ýý. Õàìãèéí ñ³³ëèéí 6.4-RELEASE Nov 2008 ãàðñàí. Ýíý íü RELENG_6 ñàëáàðûí ìàãàäã³é õàìãèéí ñ³³ëèéí õóâèëáàð áàéæ áîëîõ þì. RELENG_7 ñàëáàð 2007 îíû 10 ñàðä ³³ññýí. Ýíý ñàëáàðûí ýõíèé õóâèëáàð 7.0-RELEASE áàéñàí á°ã°°ä 2008 îíû 2 ñàðä ãàð÷ýý. Õàìãèéí ñ³³ëèéí 7.1-RELEASE Jan 2009 ãàðñàí. RELENG_7 ñàëáàðûí íýìýëò õóâèëáàðóóä ãàðàõ áîëíî. Îäîîãîîð óðò õóãàöààíû õ°ãæ³³ëýëòèéí ò°ñë³³ä 8.X-CURRENT (òðàíê) ñàëáàðò ³ðãýëæëýõ á°ã°°ä àæèë óðàãøëàõ á³ð CD-ROM äýýðõ (ìýäýýæ ñ³ëæýýíä áàñ) 8.X-èéí SNAPshot õóâèëáàðóóä Õîðìûí àãøíû ñåðâýð (ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/)ýýñ ³ðãýëæëýí ãàðñààð áàéõ áîëíî. 1.3.2 FreeBSD
Ò°ñëèéí Çîðèëãóóä
Õóâü íýìýð áîëãîí îðóóëñàí Æîðäàí Õàááàðä. FreeBSD Ò°ñëèéí çîðèëãóóä íü ÿìàð íýã õÿçãààðëàëòã³éãýýð äóðûí çîðèëãîîð àøèãëàæ áîëîõ ïðîãðàì õàíãàìæèéã õàíãàõ ÿâäàë þì. Áèäíèé îëîíõè íü êîäîíä (áîëîí ò°ñ°ëä) ÷óõàë õ°ð°íã° îðóóëàëò õèéöãýýñýí á°ã°°ä îäîî áîëîí èðýýä³éä áàãàõàí ñàíõ³³ãèéí í°õ°í îëãîâðîîñ ìýäýýæ òàòãàëçàõã³é, ãýõäýý áèä ìýäýýæ ³³íèéã øààðäàõààð áýëòãýãäýýã³é þì. Áèäíèé àíõíû á°ã°°ä íýí òýðã³³íèé “äààëãàâàð” áîë èðñýí äóðûí áîëîí á³ãäýä àëü ÷ çîðèëãîîð àøèãëàãäàæ áîëîõ êîäîîð õàíãàõ á°ã°°ä êîä íü àëü áîëîõ °ðã°í õýðýãëýãäýæ, àëü áîëîõ °ðã°í ³ð àøãèéã °ã°õ ÿâäàë þì. Ýíý íü ×°ë°°ò Ïðîãðàì Õàíãàìæèéí õàìãèéí ³íäñýí çîðèëãóóäûí íýã á°ã°°ä áèä ³³íèéã ñàíàà÷ëàãàòàéãààð äýìæèõ ¼ñòîé ãýäýãò áè èòãýæ áàéíà. Áèäíèé ýõ ìîäîíä áàéãàà GNU General Public License (GPL) ýñâýë Library General Public License (LGPL) õ³ðýýíä áàéäàã êîä íü àðàé èë³³ õÿçãààðëàëòòàé á°ã°°ä ÿäàæ ë ýñðýãýýðýý áàéõ áèø õàðèí ÷ õ³÷èëñýí õàíäëàãûí òàëä áàéäàã. GPL ïðîãðàì õàíãàìæèéã àðèëæààíû çîðèëãîîð àøèãëàõàä ãàðàõ íýìýëò ò°â°ãòýé àñóóäëóóäààñ áîëîîä áèä èíãýæ õèéõýä áîëîìæèéí ñîíãîëò áàéãàà í°õö°ëä àðàé ç°°ë°í BSD Çîõèîã÷èéí Ýðõèéí äîîð ïðîãðàì õàíãàìæèéã èð³³ëýõèéã èë³³ä ³çäýã.
6
Chapter 1 Òàíèëöóóëãà
1.3.3 FreeBSD
Õ°ãæ³³ëýõ Çàãâàð
Õóâü íýìýð áîëãîí îðóóëñàí Ñàòîøè Àñàìè. FreeBSD-èéí õ°ãæ³³ëýëò íü áèäíèé õóâü íýìýð îðóóëàã÷äûí æàãñààëò
(http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/contributors/article.html)ààñ õàðàõàä äýëõèé äàÿàð õýäýí çóóí õ³ì³³ñèéí îðóóëñàí õóâü íýìýð äýýð á³òýýãäñýí, èõ íýýëòòýé, óÿí õàòàí ïðîöåññ þì. FreeBSD-èéí
õ°ãæ³³ëýëòèéí äýä á³òýö íü ýäãýýð õýäýí çóóí õ°ãæ³³ëýã÷äèéã Èíòåðíýòýýð õàìòðàí àæèëëàõ áîëîìæèéã íýýæ °ãä°ã. Áèä øèíý õ°ãæ³³ëýã÷èä, áîëîí ñàíààíóóäûã òîãòìîë õàéæ áàéäàã á°ã°°ä ò°ñ°ëòýé èë³³ îéðòîõûã ñîíèðõñîí õýí ÷ ãýñýí FreeBSD òåõíèêèéí õýëýëö³³ëã³³äèéí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-hackers) õàÿãààð áèäýíä õàíäààðàé. Ì°í áóñàä FreeBSD õýðýãëýã÷äýä ãîë ãîë àæëóóäûí òàëààð ìýäýýëýõ FreeBSD çàðëàëûí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-announce) áàñ áàéãàà áîëíî. ×°ë°°òýé áîëîí íÿãò õàìòûí àæèëëàãààí äîîð àæèëëàäãààñ ³ë õàìààðàí FreeBSD ò°ñ°ë áîëîí ò³³íèé õ°ãæ³³ëýëòèéí ïðîöåññèéí òàëààð àøèãòàé ç³éëñèéí òàëààð ìýäýõèéã õ³ñâýë: SVN áà CVS ðåïîçèòîð
FreeBSD-èéí ãîë ýõ ìîä íü FreeBSD-òýé öóã áàãöàëñàí ÷°ë°°òýé áàéäàã ýõ êîäûã õÿíàõ áàãàæ áîëîõ CVS (http://ximbiot.com/cvs/wiki/)-ýýð (Çýðýãöýý Õóâèëáàðóóäûí Ñèñòåì) õýäýí æèëèéí òóðø òýòãýãäýæ áàéñàí. 2008 îíû 6 ñàðä Ò°ñ°ë SVN (http://subversion.tigris.org) (Subversion) ð³³ øèëæèí õýðýãëýõýýð áîëñîí. Ýõ ìîäíû õóðäàöòàé °ñ°ëò áîëîí õàäãàëààñòàé áàéñàí ò³³õèéí õóóäàñíóóäûí õýìæýýíýýñ áîëîîä CVS-èéí òåõíèêèéí õÿçãààðëàëòóóä èëýðõèé áîëæ ýíý øèëæèëòèéã çàéëøã³é õýðýãöýýòýé ãýæ ³çñýí þì. Îäîî ³íäñýí ðåïîçèòîð SVN-ã àøèãëàäàã á°ã°°ä õóó÷èí CVS äýä á³òöýýñ õàìààðäàã CVSup áîëîí csup çýðýã õýðýãëýã÷èéí òàëûí õýðýãñë³³ä õýâèéí àæèëëàñàí õýâýýð áàéãàà áîëíî. Ýíý çîðèëãîîð SVN ðåïîçèòîð äàõü °°ð÷ë°ëò³³ä íü CVS ð³³ ýðãýýä õ°ðâ³³ëýãääýã. Îäîîãîîð ç°âõ°í ò°â ýõ ìîä SVN-ýýð õÿíàãääàã. Áè÷èã áàðèìò, Äýëõèé Äàÿàðõ Âýá áîëîí ïîðòûí ðåïîçèòîðóóä CVS-èéã àøèãëàñàí õýâýýð áàéãàà áîëíî.íäñýí ðåïîçèòîð (http://www.FreeBSD.org/cgi/cvsweb.cgi) ÀÍÓ-èéí Êàëèîðíèéí Ñàíòà Êëàðà äàõü ìàøèí äýýð áàéðëàäàã á°ã°°ä òýíäýýñ äýëõèé äàÿàð áàéðëàñàí õýä õýäýí òîëèí òóñãàëûí ìàøèíóóä óðóó õóâèëàãääàã. -CURRENT áîëîí -STABLE ìîäóóäûã àãóóëñàí SVN ìîä òàíû °°ðèéí ìàøèí äýýð ÷ ãýñýí àìàðõàí õóâèëàãäàõ áîëîìæòîé. ³íèéã õýðõýí õèéõ òàëààð äýëãýðýíã³é ìýäýýëëèéã °ðèéí ýõ ìîäîî õàìãèéí ñ³³ëèéí ò³âøèíä àâàà÷èõ õýñýã óðóó õàíäàæ ³çýýðýé. Èòãýìæëýí îðóóëàã÷äûí æàãñààëò Èòãýìæëýí îðóóëàã÷èä íü CVS ìîä óðóó áè÷èõ ýðõòýé á°ã°°ä FreeBSD-èéí ýõýä °°ð÷ë°ëò³³ä õèéõ ç°âø°°ð°ëòýé õ³ì³³ñ þì (“èòãýìæëýí îðóóëàã÷” ãýñýí îéëãîëò íü CVS ðåïîçèòîð óðóó øèíý °°ð÷ë°ëò³³äèéã õèéäýã cvs(1)-èéí commit òóøààëààñ ãàðàëòàé). Èòãýìæëýí îðóóëàã÷äàä èëãýýñýí ç³éëýý õÿíóóëàõààð °ã°õ õàìãèéí øèëäýã àðãà íü send-pr(1) òóøààë þì. Õýðýâ ÿìàð íýã ç³éë ñèñòåì äýýð ãàöâàë FreeBSD èòãýìæëýí îðóóëàã÷äûí çàõèäëûí æàãñààëò óðóó òà öàõèì çàõèäàë áàñ èëãýýí õîëáîãäîæ áîëíî. FreeBSD-èéí ãîë áàã FreeBSD-ã êîìïàíè ãýæ áîäîõ þì áîë FreeBSD-èéí ãîë áàã íü çàõèðëóóäûí ç°âë°ëòýé èæèë óòãàòàé þì. îë áàãèéí ³íäñýí ³³ðýã íü ò°ñ°ë á³õýëäýý ñàéí áàéæ, ò³³íèéã ç°â ÷èãëýëýýð ÿâóóëàõûã õÿíàæ áàéõ ÿâäàë þì. °ðèéã°° á³ðýí äàé÷èëñàí, õàðèóöëàãàòàé õ°ãæ³³ëýã÷äèéã èòãýìæëýí îðóóëàã÷äûí á³ëýãò óðèõ íü ãîë áàãèéí ³³ðã³³äèéí íýã á°ã°°ä çàðèì ãèø³³ä øèëæèõýä ãîë áàãèéí øèíý ãèø³³äèéã øèíýýð àâàõ íü áàñ íýã ³³ðýã íü þì. Îäîîãèéí ãîë áàã íü
7
Chapter 1 Òàíèëöóóëãà
íýð äýâøèã÷ èòãýìæëýí îðóóëàã÷äààñ 2008 îíû 7 ñàðä ñîíãîãäñîí. Ñîíãóóëü 2 æèëä íýã óäàà ÿâàãääàã. îë áàãèéí çàðèì ãèø³³ä òóñãàé õàðèóöëàãàòàé á°ã°°ä ñèñòåìèéí èõýýõýí õýñýã ñóðòàë÷èëñàí õýìæýýãýýðýý àæèëëàæ áàéõûã õÿíàæ áèå ñýòãýëýý çîðèóëæ áàéäàã. FreeBSD õ°ãæ³³ëýã÷äèéí æàãñààëò áîëîí òýäíèé àëü õýñýãò õàðèóöëàãàòàéã Õóâü íýìýð îðóóëàã÷äûí æàãñààëò (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/contributors/article.html)ààñ ³çíý ³³. Note: îë áàãèéí èõýíõ ãèø³³ä FreeBSD-èéí õ°ãæ³³ëýëòýä ñàéí äóðààð îðîëöäîã á°ã°°ä ò°ñë°°ñ ñàíõ³³ãèéí õóâüä àøèã îëäîãã³é áîëîõîîð “commitment” ãýäýã íü “áàòàëãààòàé äýìæëýã” ãýñýí ³ã ãýæ îéëãîæ áîëîõã³é þì. Äýýðõ “çàõèðëóóäûí ç°âë°ë” ãýñýí àíàëîã íü òèéì ÷ ç°â áèø á°ã°°ä ýäãýýð õ³ì³³ñ íü FreeBSD-èéí òóñûí òóëä °°ðñäèéíõ°° èë³³ øèéäëèéí ýñðýã àìüäðàëàà îðõèñîí õ³ì³³ñ ãýâýë ìàãàäã³é èë³³ òîõèðîõ áèç ýý!
àäíûí õóâü íýìýð îðóóëàã÷èä Ýöýñò íü, ãýõäýý ìýäýýæ õàìãèéí ñ³³ëèéíõ áèø, õàìãèéí òîì á³ëýã õ°ãæ³³ëýã÷èä íü ñàíàë ñýòãýãäýë áîëîí àëäààíû çàñâàðóóäûã áèäýíä áàðàã ë òîãòìîë èëãýýäýã õýðýãëýã÷èä þì. FreeBSD-èéí èë³³ ò°âë°ðñ°í áóñ õ°ãæ³³ëýëòòýé õîëáîîòîé áàéõ ³íäñýí àðãà íü òèéì ç³éëñèéí òàëààð õýëýëöäýã FreeBSD òåõíèêèéí õýëýëö³³ëã³³äèéí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-hackers)-ä á³ðòã³³ëýõ ÿâäàë þì. FreeBSD-èéí ò°ð°ë á³ðèéí çàõèäëûí æàãñààëòûí òàëààð äýëãýðýíã³éã Appendix C-ýýñ ³çíý ³³. FreeBSD-èéí Õóâü íýìýð îðóóëàã÷äûí Æàãñààëò (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/contributors/article.html) íü óðò á°ã°°ä °ñ°í íýìýãäýæ áàéãààãèéí íýã, òèéì áîëîõîîð ÿàãààä °í°°ä°ð FreeBSD-ä õóâü íýìýð îðóóëæ ýíý æàãñààëòàä íýãäýæ áîëîõã³é ãýæ? Êîä èð³³ëýõ íü ò°ñ°ëä õóâü íýìýð îðóóëàõ ãàíö àðãà áèø þì; Õèéõ øààðäëàãàòàé áàéãàà ç³éëñ³³äèéí á³ðýí æàãñààëòûí òàëààð FreeBSD Ò°ñëèéí âýá õóóäñûí õàÿã (http://www.FreeBSD.org/index.html)ò õàíäàæ ³çíý ³³. ijãíýæ õýëýõýä áèäíèé õ°ãæ³³ëýëòèéí çàãâàð íü íýã íü í°ã°°ä°° áàãòñàí, ÷°ë°°òýé òîéðãóóä ìàÿãààð çîõèîí áàéãóóëàãäñàí çàãâàð þì. Ò°âë°ðñ°í çàãâàð íü èðýýä³éòýé õóâü íýìýð îðóóëàã÷äûã öààø ò³ëõýëã³éãýýð íýã ò°âèéí êîäûí ñóóðèéã õÿëáàð õÿíàõ áîëîìæèéã îëãîæ FreeBSD-èéí õýðýãëýã÷äýä ýâòýé áàéõààð çîðèóëàãäàí äèçàéí õèéãäñýí þì. Áèäíèé õ³ñýë áîë õýðýãëýã÷èä àìàðõàí ñóóëãàæ àøèãëàæ áîëäîã èõýýõýí õýìæýýíèé óÿëäàà õîëáîîòîé õýðýãëýýíèé ïðîãðàìóóäòàé òîãòâîðòîé ³éëäëèéí ñèñòåìèéã áèé áîëãîõ ÿâäàë þì — ýíýíä õ³ðýõýä ýíý çàãâàð íü ìàø ñàéí òîõèðîí àæèëëàæ áàéíà. Ò°ñëèéí àìæèëòòàé áàéñààð áàéãààä õ³ðãýæ áàéãàà îäîîãèéí õ³ì³³ñèéí àäèë áèå ñýòãýëèéíõýý çàðèì ÷ ãýñýí õýñãèéã çîðèóëàõûã FreeBSD õ°ãæ³³ëýã÷ áîëîí áèäýíòýé íýãäýæ áàéãàà õ³ì³³ñýýñ õ³ñýæ áàéãàà áèäíèé öîðûí ãàíö õ³ñýëò þì! 1.3.4
Îäîîãèéí FreeBSD õóâèëáàðóóä
FreeBSD íü ÷°ë°°òýé áàéäàã, Èíòåë i386™, i486™, Pentium®, Pentium Pro, Celeron®, Pentium II, Pentium III, Pentium 4 (ýñâýë íèéöòýé), Xeon™, DEC Alpha áîëîí Sun UltraSPARC-ä çîðèóëàãäñàí á³ðýí ýõ
8
Chapter 1 Òàíèëöóóëãà 4.4BSD-Lite äýýð òóëãóóðëàñàí õóâèëáàð þì. Ýíý íü ³íäñýíäýý NetBSD, OpenBSD, 386BSD, áîëîí ×°ë°°ò Ïðîãðàì Õàíãàìæèéí Ñàíãèéí çàðèì °ðã°æ³³ëýëò õèéãäñýí Áåðêëèãèéí Ê.È.Ñ.-èéí CSRG á³ëãýýñ ãàðãàñàí ïðîãðàì õàíãàìæóóä äýýð ³íäýñëýñýí. 1994 îíû ñ³³ëä ãàðñàí FreeBSD 2.0 õóâèëáàðààñ õîéø FreeBSD-èéí õóðäàí àæèëëàãàà, áîëîìæóóä áîëîí òîãòâîðòîé áàéäàë ìýäýãäýõ³éö ñàéæèðñàí. Õàìãèéí òîì °°ð÷ë°ëò íü íèéëñýí VM/àéë áóåðèéí êýø á³õèé çàñâàðëàñàí âèðòóàë ñàíàõ îéí ñèñòåì á°ã°°ä ýíý íü àæèëëàãààã õóðäàñãààä çîãñîõã³é FreeBSD-èéí ñàíàõ îéí ì°ðèéã áàãàñãàæ 5 MB òîõèðãîîã èë³³ áîëîìæèéí õàìãèéí áàãà õýìæýýíä õ³ðãýñýí. Áóñàä °ðã°òã°ë³³äèéã äóðäâàë ã³éöýä NIS êëèåíò áà ñåðâåðèéí äýìæëýã, øèëæèëòèéí TCP äýìæëýã, øààðäëàãààð çàëãàõ PPP, öîãö DHCP äýìæëýã, ñàéæðóóëñàí SCSI äýä ñèñòåì, ISDN äýìæëýã, ATM-èéí äýìæëýã, FDDI, Õóðäàí áîëîí èãàáèò Ethernet (1000 Mbit) êàðòóóä, ñ³³ëèéí ³åèéí Àäàïòåê õÿíàã÷óóä áîëîí îëîí ìÿíãàí àëäààíóóäûí çàñâàðóóä çýðýã þì. íäñýí ò³ãýýëò³³äýýñ ãàäíà FreeBSD íü ìÿíãà ìÿíãàí áàéíãà õàéãääàã ïðîãðàìóóäòàé õ°ðâ³³ëñýí ïðîãðàì õàíãàìæèéí öóãëóóëãàòàé áàéäàã. Ýíý àâëàãûã õýâëýæ áàéõ ³åä 19,000 ãàðóé ïîðòóóä áàéñàí! Ïîðòóóäûí æàãñààëòàä http (WWW) ñåðâåð³³äýýñ òîãëîîìóóä, õýëí³³ä, çàñâàðëàã÷èä, çýðýã áàðàã ë á³õ ò°ðëèéí ïðîãðàìóóä áàéäàã. Ïîðòóóäûí Öóãëóóëãà á³õýëäýý îéðîëöîîãîîð 445 MB õýìæýýíèé õàäãàëàëò øààðääàã á°ã°°ä á³õ ïîðòóóä °°ðñäèéí æèíõýíý ýõèéí õóâüä “äåëüòà” áîëæ èëýðõèéëýãääýã. Ýíý íü áèäýíä ïîðòóóäûã øèíý÷ëýõýä õÿëáàð áîëãîæ õóó÷èí 1.0 Ïîðòóóäûí Öóãëóóëãûí øààðääàã áàéñàí äèñêíèé çàéí øààðäëàãûã èõýýõýí áàãàñãàæ °ãä°ã. Ïîðòûã õ°ðâ³³ëýõèéí òóëä òà ñóóëãàõûã õ³ñýæ áàéãàà ïðîãðàìûí ñàí óðóó øèëæèæ make install õýìýýí áè÷èõýä ñèñòåì öààø ³ëäñýíèéã õèéõ áîëíî. Òàíû á³òýýõ ïîðò áîëãîíû æèíõýíý ýõ á³ðýí ò³ãýýëò äèíàìèêààð CD-ROM ýñâýë ëîêàë FTP õàÿãààñ òàòàãäàõ á°ã°°ä òàíä ç°âõ°í õ³ññýí ïîðòîî á³òýýõ õàíãàëòòàé äèñêíèé çàé ë øààðäëàãàòàé. Ïîðò á³ð óðüä÷èëàí õ°ðâ³³ëñýí “áàãö” õýëáýðýýð áàñ áàéõ á°ã°°ä °°ðèéí ïîðòûã ýõýýñ õ°ðâ³³ëýõ õ³ñýëã³é õ³ì³³ñ õÿëáàð òóøààëààð (pkg_add) èéì ïîðòûã ñóóëãàæ áîëäîã. Áàãöóóä áîëîí ïîðòóóäûí òàëààð äýëãýðýíã³é ìýäýýëëèéã Chapter 4 õàÿãààð îëæ áîëíî. Òàíä FreeBSD ñóóëãàæ àøèãëàõ ÿâöàä ìàø èõ òóñ áîëîõóéö õýä õýäýí áàðèìòóóäûã õàìãèéí ñ³³ëèéí ³åèéí äóðûí FreeBSD ìàøèí äýýð /usr/share/doc ñàíãààñ áàñ îëîõ áîëîìæòîé þì. Ëîêàëààð ñóóñàí ãàðûí àâëàãóóäûã òà HTML áîëîìæòîé õ°ò÷³³äèéã àøèãëàí äàðààõ õàÿãààñ ³çýæ áîëíî: FreeBSD àðûí àâëàãà /usr/share/doc/handbook/index.html
FreeBSD-èéí ÁÕÀ (áàéíãà õàðèóëàãääàã àñóóëòóóä FAQ) /usr/share/doc/faq/index.html
Ì°í òà ìàñòåð (áîëîí áóñäààñ èõ øèíý÷ëýãääýã) õóóëáàðóóäûã http://www.FreeBSD.org/ õàÿãààñ ³çýæ áîëíî.
9
Chapter 2 FreeBSD
ñóóëãàõ íü
Äàõèí çàñâàðëàæ, çàðèì õýñãèéã íü øèíýýð áè÷ñýí Æèì Ìîê. Ñóóëãàöûí åð°íõèé äàðààëàë áîëîí çóðãèéã áýëäñýí ýíäè Ïðàòò. Îð÷óóëñàí Øàãäàðûí Íàöàãäîðæ. 2.1
Åð°íõèé àãóóëãà
FreeBSD íü sysinstall ãýäýã íýðòýé õýðýãëýõýä àìàðõàí òåêñò õýëáýðòýé ïðîãðàìòàé èðäýã. Ýíý áîë FreeBSD-í ïðîãðàì ñóóëãàõàä õýðýãëýãääýã àíõäàã÷ ïðîãðàì á°ã°°ä õýðýâ õ³ñâýë ïðîãðàì çîõèîã÷èä íü °°ðñäèéíõ°° ïðîãðàìäàà çîðèóëæ ñóóëãàõ ïðîãðàì áàñ áè÷èæ áîëíî. Ýíý á³ëýãò FreeBSD-ã ñóóëãàõûí òóëä sysinstall ïðîãðàìûã õýðõýí õýðýãëýõ òàëààð òàéëáàðëàõ áîëíî.
Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: •
• • •
FreeBSD ñóóëãàäàã äèñêí³³äèéã õýðõýí ³³ñãýõ.
FreeBSD òàíû äèñê óðóó õýðõýí õàíääàã áîëîí õóâààäàã òàëààð.
sysinstall-ã õýðõýí ýõë³³ëýõ.
sysinstall-ààñ òàíä òàâèãäàõ àñóóëòóóä, òýä ÿìàð ó÷èðòàé áîëîõ ì°í õýðõýí õàðèóëàõ òóõàé.
Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
Ñóóëãàõ ãýæ áóé FreeBSD-íõýý õóâèëáàð, ì°í ò³³íèé äýìæèæ ÷àääàã ò°õ°°ð°ìæ³³äèéí æàãñààëòûã õÿíàæ òýð äóíä òàíû ò°õ°°ð°ìæ³³ä áàéãàà ýñýõèéã ìàãàäëàõ. Note: Åð íü, ýíý ñóóëãàõ çààâàð íü i386 (“PC ò°ðëèéí”) àðõèòåêòóðò çîðèóëæ áè÷ñýí. Øààðäëàãàòàé òîõèîëäîëä áóñàä òóñãàé òàâöàíãóóäûí (æèøýýëáýë Alpha) õóâüä çîðèóëàãäñàí çààâðóóäûã îðóóëàõ áîëíî.
Õýäèéãýýð ýíý ãàðûí àâëàãûã àëü áîëîõ øèíý÷èëæ áàéãàà áîëîâ÷ òà ñóóëãàã÷ áîëîí ýíä äóðäñàí õî¼ðûí õîîðîíä áàãà çýðãèéí °°ð÷ë°ëò³³ä áàéãààã àíçààð÷ áîëîõ þì. Òèéì áîëîõîîð ýíý ãàðûí àâëàãûã ³ã÷èëñýí çààâàð áèø åð°íõèé ñóóëãàõ çààâàð áîëãîæ õýðýãëýõèéã òàíä ç°âë°æ áàéíà.
2.2
Ñèñòåìä òàâèãäàõ ò°õ°°ð°ìæèéí øààðäëàãà
2.2.1
Õàìãèéí áàãà òîõèðãîî
FreeBSD-ã ñóóëãàõàä øààðäàãäàõ õàìãèéí áàãà òîõèðãîî íü FreeBSD-í õóâèëáàð áîëîí ò°õ°°ð°ìæèéí ò°ðë°°ñ èõ õàìààðíà.
Õàìãèéí áàãà øààðäàãäàõ òîõèðãîîã FreeBSD-í âýá õóóäàñíû Õóâèëáàðûí ìýäýýëýë (http://www.FreeBSD.org/releases/index.html) ãýñýí õóóäñàí äîòîð ñóóëãàöûí ìýäýýëýë õýñýãò õàðæ áîëíî. Ýäãýýð ìýäýýëëèéí åð°íõèé ä³ãíýñýí ìýäýýëëèéã ýíý õýñýãò òà óíøèõ áîëíî. FreeBSD-ã ñóóëãàõ àðãààñàà õàìààðààä òàíä óÿí äèñê þì óó ýñâýë CDROM ò°õ°°ð°ìæ, çàðèì òîõèîëäîëä ñ³ëæýýíèé àäàïòåð õýðýã áîëîõ áîëíî. Ýíý òóõàé Section 2.3.7 õýñýãò äóðüäñàí áóé.
10
Chapter 2 FreeBSD ñóóëãàõ íü 2.2.1.1 FreeBSD/i386 áîëîí FreeBSD/pc98
FreeBSD/i386 áîëîí FreeBSD/pc98 õî¼ð õî¼óëàà 486 þì óó ýñâýë ò³³íýýñ äýýø èë³³ ò°ðëèéí ïðîöåññîð øààðääàã á°ã°°ä õàìãèéí áàãàäàà 24 MB RAM áóþó øóóðõàé ñàíàõ îé õýðýãëýäýã. Òàíä õàìãèéí áàãà õýìæýýãýýð ñóóëãàõûí òóëä ÿäàæ 150 MB äèñêíèé ñóë õýìæýý õýðýãòýé. Note: Õóó÷íû òîõèðãîîíä áîë, èõýíõ òîõèîëäîëä, èõ õýìæýýíèé ñàíàõ îé áà äèñêíèé õýìæýý íü õóðäàí ïðîöåññîðîîñ èë³³ õýðýãòýé áàéäàã.
2.2.1.2 FreeBSD/alpha FreeBSD/alpha-ã ñóóëãàõûí òóëä òàíä äýìæèãäñýí ò°õ°°ð°ìæ³³ä (Section 2.2.2 õýñýãò õàðæ áîëíî) áîëîí FreeBSD-ä çîðèóëñàí äèñê áàéõ õýðýãòýé. Îäîîãîîð äèñêýý °°ð ³éëäëèéí ñèñòåìòýé õàìòàð÷ õýðýãëýæ áîëîõã³é. Ýíý äèñê íü SCSI õÿíàã÷ óðóó õîëáîãäñîí áàéõ ¼ñòîé á°ã°°ä òîõèðóóëàõ ïðîãðàìûí ò°ð°ë íü SRM áàéõ ¼ñòîé þì óó ýñâýë IDE äèñêíýýñ à÷ààëàãäàæ áîëäîã SRM ãýæ òàíèãäàæ áîëäîã IDE äèñê áàéõ õýðýãòýé.
Òàíû ñèñòåìä SRM ïðîãðàìûí êîíñîë áàéõ øààðäëàãàòàé. Çàðèì òîõèîëäîëä AlphaBIOS (ýñâýë ARC) ò°ðë°°ñ SRM ò°ðëèéí õîîðîíä õî¼ð òèéøýýãýý ñýëãýæ ñîëüæ áîëäîã. Áóñàä òîõèîëäîëä òóõàéí ò°õ°°ð°ìæèéã ³éëäâýðëýäýã ãàçðûí âýá õóóäàñíààñ øààðäëàãàòàé òàíèóëàõ ïðîãðàìóóäûã íü òàòàæ àâàõ íü ç³éòýé. Note: Alpha-ä çîðèóëñàí äýìæëýã FreeBSD 7.0-ñ ýõëýýä áàéõã³é áîëñîí. FreeBSD 6.X ýíý àðõèòåêòóðò çîðèóëñàí äýìæëýãèéã àãóóëñàí ñ³³ëèéí õóâèëáàðóóä þì.
ñåðèéí õóâèëáàðóóä íü
2.2.1.3 FreeBSD/amd64 FreeBSD/amd64-ã àæèëëóóëàõ áîëîìæòîé õî¼ð àíãèëëûí ïðîöåññîð áàéäàã. Ýõíèéõ íü AMD Athlon™64, AMD Athlon64-FX, AMD Opteron™ ýñâýë ò³³íýýñ äýýø ò°ðëèéí ïðîöåññîðóóäûã àãóóëñàí AMD64 ïðîöåññîðóóä þì.
FreeBSD/amd64-èéã àøèãëàäàã õî¼ð äàõü àíãèëëûí ïðîöåññîðóóäàä Intel® EM64T àðõèòåêòóðûã àøèãëàäàã ïðîöåññîðóóä îðäîã. Ýäãýýð ïðîöåññîðóóäûí æèøýýíä Intel Core™ 2 Duo, Quad, áîëîí Extreme ïðîöåññîðûí ãýð á³ëèéíõýí áà Intel Xeon 3000, 5000, áîëîí 7000 äàðààëëûí ïðîöåññîðóóäûã äóðäàæ áîëíî.
Õýðýâ òàíû ìàøèí nVidia nForce3 Pro-150 äýýð ³íäýñëýñýí áîë òà BIOS-í òîõèðóóëãà äýýð IO APIC ñîíãîëòûã õîðèõ ¼ñòîé . Õýðýâ òàíä èíãýõ ñîíãîëò áàéõã³é áîë ACPI-ã îðîíä íü õîðèõ õýðýãòýé. Pro-150 ò°ðëèéí áè÷èë ñõåìä àëäàà áàéäàã á°ã°°ä îäîîãîîð òýð àëäàà çàñàãäààã³é áàéãàà áèëýý.
2.2.1.4 FreeBSD/sparc64 FreeBSD/sparc64-ã ñóóëãàõûí òóëä ò³³íèé äýìæäýã ò°õ°°ð°ìæ³³äèéã íü õàíãàñàí áàéõ ¼ñòîé (Section 2.2.2 õýñýãò õàðíà óó).
11
Chapter 2 FreeBSD ñóóëãàõ íü
Òàíä FreeBSD/sparc64-ä çîðèóëñàí äèñê òóñàä íü áàéõ õýðýãòýé. Îäîîãîîð äèñê äýýð °°ð ò°ðëèéí ñèñòåì³³äèéã äàâõàð ñóóëãàõ áîëîìæ ³ã³é. 2.2.2
Äýìæäýã ò°õ°°ð°ìæ³³ä
Äýìæäýã ò°õ°°ð°ìæ³³äèéã FreeBSD-í õóâèëáàð á³ðèéí Hardware Notes áóþó ò°õ°°ð°ìæèéí ìýäýýëýë õýñýãò æàãñààñàí áàéäàã. Ýíý ìýäýýëýë íü ãîëäóó HARDWARE.TXT íýðýýð ñóóëãàöûí CDROM þì óó FTP-í õàìãèéí äýýä ñàí äîòîð ýñâýë sysinstall ïðîãðàìûí documentation áóþó áàðèìò öýñýíä áàéðëàñàí áàéäàã áèëýý. Ýíý íü òóõàéí ò°ðëèéí àðõèòåêòóð á³ðò ÿìàð ÿìàð ò°õ°°ð°ìæ³³ä òàíèãäàæ áîëîõûã FreeBSD-í õóâèëáàð á³ðò çîðèóëæ æàãñààñàí áàéäàã. Ò°ð°ë á³ðèéí õóâèëáàð áîëîí àðõèòåêòóðò çîðèóëñàí æàãñààëòûí áàñ íýã õóóëáàðûã FreeBSD-í âýá õóóäàñíû Release Information áóþó õóâèëáàðûí ìýäýýëýë (http://www.FreeBSD.org/releases/index.html) õóóäàñíààñ îëæ áîëíî. 2.3
Ñóóëãàöûí °ìí°
2.3.1
°ðèéíõ°° êîìïüþòåðèéã ñóäàëíà
Òà FreeBSD-ã ñóóëãàõûí °ìí° °°ðèéíõ°° êîìïüþòåðèéí á³ðäýë õýñã³³äèéã ñóäëàõ õýðýãòýé. FreeBSD ñóóëãàõ ÿâöäàà òàíû êîìïüþòåðò áóé á³ðäë³³äèéã (õàòóó äèñê, ñ³ëæýýíèé êàðò, CDROM õ°òë°ã÷ ãýõ ìýò) òýäãýýðèéí çàãâàð áîëîí ³éëäâýðëýã÷èéíõ íü äóãààðòàé íü õàðóóëäàã. Ì°í FreeBSD íü òýäãýýð ò°õ°°ð°ìæ³³äèéã IRQ áîëîí IO ïîðò çýðã³³äèéã àâòîìàòààð ç°â òîõèðóóëàõûã îðîëääîã. Êîìïüþòåðèéí á³ðäëèéã ³éëäâýðëýäýã÷äèéí ò³ìýí ò°ðë°°ñ õàìààð÷ ç°â òîõèðóóëàõ ýíý àâòîìàò ³éëäýë íü çàðèìäàà òèéì àìæèëòòàé áîëæ ÷àääàãã³é òóë ìàãàäã³é òà FreeBSD-í òîäîðõîéëñîí òîõèðóóëãûã °°ð÷ë°õ õýðýã ãàð÷ áîëçîøã³é. Õýðýâ òà Windows ýñâýë Ëèíóêñ ³éëäëèéí ñèñòåì ñóóëãàñàí áàéãàà áîë òóõàéí ò°õ°°ð°ìæ³³ä ÿìàð òîõèðóóëãààð ñóóãäñàí áàéãààã õàðàõ íü ç³éòýé. Õýðâýý °ðã°òã°ë êàðòûí äóãààð áîëîí íýðèéã ç°â òàíüñàí ýñýõýý ìýäýõã³é áîë óã êàðò äýýð áóé ³éëäâýðëýñýí áè÷ãèéã íü õàðàõ õýðýãòýé. Áàéíãûí õýðýãëýäýã IRQ äóãààðóóä íü 3, 5, ì°í 7 á°ã°°ä èõýíõ õýðýãëýãääýã IO ïîðòûí õàÿãóóä íü ãîëäóó 0x330 ãýõ ìýò àðâàí çóðãààò òîîëëûí ñèñòåì äýýð áè÷ñýí äóãààðóóä áàéäàã. FreeBSD-ã ñóóëãàõààñàà °ìí° ýäãýýð äóãààðóóäûã òýìäýãëýæ àâàõûã ç°âë°æ áàéíà. Òà äàðààõ ìàÿãèéí õ³ñíýãò õ°òë°õ õýðýãòýé: Table 2-1.
Ò°õ°°ð°ìæèéí á³ðòãýëèéí æèøýý
Ò°õ°°ð°ìæèéí íýð Ýõíèé õàòóó äèñê CDROM
Õî¼ð äàõü õàòóó äèñê Ýõíèé IDE õÿíàã÷ ѳëæýýíèé êàðò Ìîäåì
IRQ
IO ïîðò(óóä)Òýìäýãëýãýý
ìýäýõã³é ìýäýõã³é ìýäýõã³é
ìýäýõã³é ìýäýõã³é ìýäýõã³é
14
0x1f0
ìýäýõã³é ìýäýõã³é
ìýäýõã³é ìýäýõã³é
40 Á, Seagate ³éëäâýðëýñýí, ýõíèé ìàñòåð IDE
Ýõíèé õî¼ð äàõü IDE 20 Á, IBM ³éëäâýðëýñýí, õî¼ð äàõü ìàñòåð IDE Intel 10/100
3Com® 56K àêñ ìîäåì, COM1 äýýð çîîãäñîí
12
Chapter 2 FreeBSD ñóóëãàõ íü
Ò°õ°°ð°ìæèéí íýð
IRQ
IO ïîðò(óóä)Òýìäýãëýãýý
...
2.3.2
°ðèéíõ°° °ã°ãäëèéã í°°ö°ëæ àâàõ
Õýðýâ òàíû FreeBSD ñóóëãàõ ãýæ áàéãàà êîìïüþòåðò ÷óõàë ìýäýýëýë áàéâàë, óã ìýäýýëëýý í°°ö°ëæ õàäãàëæ àâàõ íü ç³éòýé á°ã°°ä óã í°°ö°ëñ°í ìýäýýëëýý ç°â õàäãàëñíàà øàëãàõ õýðýãòýé. FreeBSD-í ñóóëãàõ ÿâö íü äèñê óðóó áè÷èæ ýõëýõýýñýý °ìí° òàíààñ ëàâëàæ àñóóäàã á°ã°°ä õýðýâ íýã áè÷èãäýýä ýõýëáýë áóöààõ àðãà áàéõã³é.
ã õààíà ñóóëãàõàà øèéäýõ
2.3.3 FreeBSD-
Õýðýâ òà FreeBSD-ä á³õ äèñêýý õýðýãë³³ëíý ãýæ áîäîæ áàéâàë ýíý õýñýãò àíõààðëàà õàíäóóëàëã³é öààø íü óíøèõ õýðýãòýé. Õàðèí, õýðýâ òà FreeBSD-ã °°ð ³éëäëèéí ñèñòåìòýé õàìò õýðýãëýíý ãýæ áîäîæ áàéâàë äèñê äýýð °ã°ãä°ë õýðõýí áàéðëàäàã ì°í õýðõýí àæèëëàäàã òàëààð ³íäñýí ìýäëýãòýé áàéõ õýðýãòýé. 2.3.3.1 FreeBSD/i386 äýýðõ äèñêíèé °ã°ãä°ë áàéðëóóëàëò
Êîìïüþòåðèéí äèñê íü õýä õýäýí õýñýãò õýñýã÷èëæ áîëäîã. Ýäãýýð õóâààãäñàí õýñã³³äèéã íü partitions áóþó õóâààëòóóä ãýæ íýðëýäýã. FreeBSD íü äîòðîî áàñ õóâààëòóóäòàé áîëîõîîð ýíý íýðëýëò íü îéëãîìæã³é áîëæ áîëîõ þì. Òèéì áîëîõîîð ýäãýýð äèñêíèé õýñýã÷ëýë³³äèéã äèñêíèé ç³ñìýë³³ä áóþó åðä°° ë ç³ñìýë³³ä ãýæ FreeBSD ³çäýã. Æèøýý íü PC-èéí äèñêíèé õóâààëòóóä äýýð àæèëëàäàã FreeBSD-èéí fdisk õýðýãñýë õóâààëòóóäûí îðîíä ç³ñìýë³³äèéã õýðýãëýäýã. Àíõíààñàà êîìïüþòåðèéí íýã äèñêèéã ç°âõ°í ä°ð°â õóâààæ áîëîõîîð çîõèîñîí áàéíà. Ýäãýýð õóâààëòóóäûã primary partitions áóþó àíõäàã÷ õóâààëòóóä ãýæ íýðëýäýã. Ýíý õÿçãààðëàëòûã òîéðîí ãàð÷ ä°ðâ°í õóâààëòààñ èë³³ã ç°âø°°ð°õèéí òóëä øèíý õóâààëòûí àðãà ³³ññýí á°ã°°ä ò³³íèéã extended partition áóþó °ðã°òã°ñ°í õóâààëò ãýæ íýðëýæýý. Äèñê ç°âõ°í ãàíöõàí °ðã°òã°ñ°í õóâààëò àãóóëæ áîëíî. ðã°òã°ñ°í õóâààëò äîòîð õè÷íýýí áîë õè÷íýýí logical partitions áóþó ëîãèê õóâààëòóóä àãóóëæ áîëäîã áàéíà. Õóâààëò áîëãîí partition ID áóþó õóâààëòûí ID äóãààð àãóóëæ áàéäàã á°ã°°ä ýíý äóãààð íü òóõàéí õóâààëòûí ò°ðëèéã èëýðõèéëæ áàéäàã. FreeBSD ò°ðëèéí õóâààëòóóä íü 165 ãýñýí ID äóãààðòàé áàéäàã. éëäëèéí ñèñòåì áîëãîí äèñêíèé õóâààëòóóäûã òàíèõ °°ð °°ðèéí àðãà õýðýãëýäýã. Æèøýýëáýë DOS áóþó ò³³íòýé èæèë ò°ðëèéí Windows ñèñòåì³³ä íü äèñêíèé õóâààëòûã òàíèõûí òóëä ³ñýã÷ëýí äóãààðëàñàí äèñê àðãûã õýðýãëýäýã á°ã°°ä C: ³ñãýýð ýõëýæ òýìäýãëýäýã. FreeBSD íü primary partition áóþó äèñêíèé àíõäàã÷ õóâààëò äýýð ñóóãäàõ ¼ñòîé. FreeBSD òàíû ³³ñãýñýí àéëóóäûã, áàñ °°ðèéíõ°° àéëóóäûã ýíý õóâààëò äýýð õàäãàëäàã. Õýðýâ òàíä îëîí äèñê áàéâàë ì°í òà òýäãýýð äýýð ýñâýë òýäíèé çàðèì äýýð FreeBSD ò°ðëèéí õóâààëò ³³ñãýæ áîëíî. FreeBSD ñóóëãàõ ³åäýý äèñêíèé íýã õóâààëòûã áýëýí áàéëãàõ õýðýãòýé. Ýíý õóâààëò íü òàíû óðüä÷èëàí áýëäñýí õîîñîí õóâààëò þì óó ýñâýë îíö øààðäëàãàã³é °ã°ãä°ë õàäãàëñàí õóâààëò áàéñàí ÷ áîëíî. Õýðýâ òà °°ðèéí á³õ äèñê äýõ á³õ õóâààëòûã õýðýãëýæ áàéñàí áîë òýäãýýðèéí íýãèéã íü FreeBSD-ä çîðèóëæ ÿìàð íýãýí ³éëäëèéí ñèñòåìä áàéäàã õýðýãñëèéã àøèãëàí õîîñîí áîëãîõ õýðýãòýé (æèøýý íü, DOS or Windows äýýð áàéäàã fdisk ïðîãðàì).
13
Chapter 2 FreeBSD ñóóëãàõ íü
Õýðýâ òàíä èë³³÷èëæ áîëîõîîð õóâààëò áàéâàë òýð õýñãèéã áàñ õýðýãëýæ áîëíî. ýõäýý òà °ìí° íü áàéæ áàéñàí õóâààëòûí õýìæýýã èõýñãýæ þì óó áàãàñãàæ õýðýãëýæ õýðýãòýé áîëíî. FreeBSD ñóóãäàæ ÷àäàõ õàìãèéí áàãà õýìæýý áîë 100 MB áèëýý. ýõäýý ýíý õýìæýý áîë °°ðèéíõ°° àéëóóäûã õàäãàëàõàä áàðàã õ³ðýëöýõýýðã³é õàìãèéí áàãà õýìæýý þì. Àðàé áîëîìæèéí áàãà õýìæýý áîë ãðàèê îð÷íûã îðóóëàëã³éãýýð 250 MB õýìæýý þì. Õýðýâ ãðàèê îð÷èíã îðóóëáàë 350 MB áîëíî. Õýðýâ òà ãóðàâäàã÷ ïðîãðàì çîõèîã÷äûí ïðîãðàìûã ñóóëãàæ õýðýãëýíý ãýæ áîäîæ áàéâàë ìýäýýæ ò³³íýýñ èë³³ õýìæýý õýðýãòýé. Òà PartitionMagic® ãýäýã ³íýòýé ïðîãðàìûã, ýñâýë GParted çýðýã ³íýã³é ïðîãðàìûã FreeBSD-ä çîðèóëæ äèñêýíäýý çàé ãàðãàõàä õýðýãëýæ áîëîõ þì. Èéì ³éëäýëä çîðèóëàãäñàí CDROM äýýð áóé tools ñàí äîòîð FIPS áà PResizer ãýñýí õî¼ð ³íýã³é ïðîãðàì áàéäàã. Ýäãýýð ïðîãðàìûã õýðýãëýõ áè÷èã áàðèìò íü óã ñàí äîòîð íü áàñ áèé. FIPS, PResizer, ì°í PartitionMagic ãýñýí ïðîãðàìóóä íü MS-DOS -ñ ýõëýýä Windows ME õ³ðòýëõ ³éëäëèéí ñèñòåìä õýðýãëýãääýã FAT16 áîëîí FAT32 õóâààëòóóäûí õýìæýýã èõýñãýæ áàãàñãàõàä õýðýãëýãääýã. PartitionMagic áà GParted íàð NTFS ò°ðëèéí õóâààëò äýýð àæèëëàæ ÷àääàã. GParted íü SystemRescueCD (http://www.sysresccd.org/) çýðýã õýä õýäýí Live CD òàðõàöóóäàä áàéäàã. Microsoft Vista õóâààëòóóäûí õýìæýýã äàõèí °°ð÷ë°õ°ä àñóóäàëòàé áàéãàà òàëààð ìýäýýëýë áèé. Èéì ³éëäýë õèéõèéã îðîëäîõ ³åäýý Vista-èéí ñóóëãàëòûí CDROM-òîé áàéõûã ç°âë°æ áàéíà. Ì°í èéìýðõ³³ äèñêòýé àæèëëàõ àæëóóäûã õèéæ ã³éöýòãýõýýñýý °ìí° í°°öë°ëòèéã õèéõ íü ìàø ÷óõàë þì. Warning: Ýäãýýð õýðýãñëèéã áóðóó àøèãëàâàë äèñêýí äýýð áàéãàà ìýäýýëýë òàíü óñòàõ áîëíî. Òýäãýýðèéã õýðýãëýõýýñýý °ìí° °°ðèéíõ°° °ã°ãäëèéã í°°ö°ëæ õàäãàëæ àâàõ õýðýãòýé.
Example 2-1.
Áàéãàà äèñêíèé õóâààëòûã °°ð÷ë°ëã³éãýýð õýðýãëýõ íü
Æèøýýëáýë, Windows ñèñòåì ñóóëãàñàí 4 Á äèñê òàíä áàéãàà ãýæ áîäú¼. Ì°í òà òýð äèñêèéã 2 Á õýìæýýãýýð C: áà D: ãýæ õî¼ð õóâààñàí áàéãàà. Òàíä C: äýýð 1 Á, D: äýýð 0.5 Á °ã°ãä°ë õàäãàëñàí áàéãàà ãýæ ³çüå. Ýíý áîë ³ñýã÷ëýí òýìäýãëýñýí õî¼ð õóâààëò òàíä áàéíà ãýñýí ³ã. Òà D: äýýð áàéãàà á³õ °ã°ãäëèéã C: ðóó õóóëæ ÷°ë°°ë°°ä ò³³í äýýð FreeBSD ñóóëãàæ áîëíî. Example 2-2.
Áàéãàà õóâààëòûí õýìæýýã ñóíãàæ °°ð÷ë°õ
Òàíä Windows ñóóëãàñàí 4 Á äèñê áàéíà ãýæ ³çüå. Windows ñóóëãàõ ³åäýý òà ç°âõ°í C: ãýæ íýðëýñýí 4 Á õýìæýýòýé ãàíöõàí á³õýë õóâààëò ³³ñãýæýý. Òà îäîîãîîð óã õýìæýýíèé 1.5 Á-èéã àøèãëàñàí ãýæ áîäîöãîî¼. Òýãýýä òà óã äèñêíèé 2 Á õýìæýý äýýð FreeBSD ñóóëãàõûã õ³ññýí ãýæ àâ÷ ³çüå. FreeBSD-ã ñóóëãàõûí òóëä äîîð äóðäñàíààñ àëü íýãèéã õèéõ áîëíî: 1. Windows äýýð áàéñàí °ã°ãäë°° í°°ö°ëæ õàäãàëæ àâààä Windows-ã äàõèí ñóóëãàæ ãýõäýý ò³³íäýý 2 Á õýìæýý ³³ñãýæ õýðýãëýõ.
2. PartitionMagic ìýòèéí ïðîãðàì àøèãëàæ Windows-í äèñêíèé õýìæýýã äýýðõ õýìæýýíä òîõèðóóëæ °°ð÷ë°õ.
14
Chapter 2 FreeBSD ñóóëãàõ íü 2.3.3.2 Alpha äýýðõ äèñêíèé áàéðëóóëàëò
Òàíä Alpha äýýð FreeBSD-ã ñóóëãàõ òóñãàéëàí áýëäñýí äèñê õýðýãòýé. °ð ³éëäëèéí ñèñòåìòýé õàìò äèñêèéã ýíý ³åä õýðýãëýæ áîëîõã³é. Òàíä áàéãàà Alpha ìàøèíû ò°ðë°°ñ õàìààðààä õýðýâ óã äèñêíýýñ à÷ààëæ áîëæ ë áàéâàë ýíý äèñê íü SCSI þì óó ýñâýë IDE äèñê áàéæ áîëíî. Digital / Compaq -í ãàðûí àâëàãàä çààñíû äàãóó SRM îðóóëãûã òîì ³ñãýýð õàðóóëäàã. SRM-ä òîì æèæèã ³ñã³³ä íü ÿëãààòàé. Ìàøèíäàà áóé äèñêíèé íýð áîëîí ò°ðëèéã ìýäýõèéí òóëä SHOW DEVICE òóøààëûã SRM êîíñîëä áè÷äýã: >>>SHOW DEVICE dka0.0.0.4.0 dkc0.0.0.1009.0 dkc100.1.0.1009.0 dva0.0.0.0.1 ewa0.0.0.3.0 pkc0.7.0.1009.0 pqa0.0.0.4.0 pqb0.0.1.4.0
DKA0 DKC0 DKC100 DVA0 EWA0 PKC0 PQA0 PQB0
TOSHIBA CD-ROM XM-57 RZ1BB-BS SEAGATE ST34501W 00-00-F8-75-6D-01 SCSI Bus ID 7 PCI EIDE PCI EIDE
3476 0658 0015
5.27
Äýýðõ æèøýý íü Digital Personal Workstation 433au ìàøèíûõ á°ã°°ä ãóðâàí äèñê õîëáîãäñîí áàéíà. Ýõíèéõ íü CDROM õ°òë°ã÷ DKA0 íýðòýé áàéãàà á°ã°°ä áóñàä õî¼ð äèñê íü DKC0 áà DKC100 ãýñýí íýðòýé áàéíà. DKx ãýæ ýõýëñýí äèñêí³³ä íü SCSI äèñê þì. Æèøýý íü DKA100 ãýäýã íü SCSI äèñê á°ã°°ä SCSI-í ýõíèé øóãàì (A) äýýð áóé ID 1 äèñêèéã èëýðõèéëæ áàéõàä, DKC300 ãýäýã íü ãóðàâäàã÷ øóãàì (C) äýýð áóé SCSI ID 3 äèñêèéã çààæ áàéíà. PKx ãýäýã íü SCSI ãîë ³íäñýí øóãàìûã õýëæ áàéíà. SHOW DEVICE òóøààëä õàðóóëñíààð áîë SCSI CDROM ò°õ°°ð°ìæ íü áóñàä SCSI õàòóó äèñê øèã õàðóóëàãääàã. IDE äèñêí³³ä íü DQx ãýæ èëýðõèéëýãäýæ áàéõàä ãîë øóãàì íü PQx ãýæ íýðëýãääýã. 2.3.4
ѳëæýýíèé íàðèéâ÷èëñàí òîõèðóóëãàà ìýäýõ
Õýðýâ òà FreeBSD-í ñóóëãàöûã èíòåðíýò õîëáîëòòîé õèéíý ãýæ áîäîæ áàéâàë (æèøýý íü, ñóóëãàöûã FTP ýñâýë NFS ñåðâåðýýñ òàòàí ñóóëãàæ áàéâàë), òà ñ³ëæýýíèéõýý òîõèðóóëãûã ìýäýæ áàéõ õýðýãòýé. Èéì ìýäýýëëèéã ñóóëãàõ ³åä òàíààñ ëàâëàæ àñóóãààä, òîõèðóóëæ èíòåðíýòýä õîëáîãääîã. 2.3.4.1 Äîòîîä ñ³ëæýý ýñâýë Êàáåëü/DSL Ìîäåìîîð õîëáîãäîõ
Õýðýâ òà äîòîîä ñ³ëæýýíä õîëáîãäñîí áàéãàà þì óó ýñâýë êàáåë, DSL-ýýð õîëáîãäîõîîð áîë äàðààõ òîõèðóóëàõ ìýäýýëëèéã ìýäñýí áàéõ õýðýãòýé: 1. IP õàÿã
2. Àíõíû gateway áóþó ãàðöûí IP õàÿã 3. Hostname áóþó ñåðâåðèéí íýð 4. DNS ñåðâåð IP õàÿã
5. Subnet Mask áóþó äýä ñ³ëæýýíèé áàã (òóñãààðëàí àíãèëàõ äóãààð)
15
Chapter 2 FreeBSD ñóóëãàõ íü
Õýðýâ òà ýäãýýð ìýäýýëëèéã ìýäýõã³é áàéãàà áîë óã ñ³ëæýý õàðèóöàã÷ þì óó èíòåðíýò óðóó õîëáîãäîõ áàéãóóëëàãà óðóó õàíäàõ õýðýãòýé. ýòýë òýä òàíä, ýäãýýð ìýäýýëýë íü DHCP àøèãëàæ àâòîìàòààð òîõèðóóëàãäàíà ãýæ õýëæ ìàãàäã³é. Õýðýâ òèéì áîë òà ýäãýýð ìýäýýëëèéã çààâàë ìýäñýí áàéõ àëáàã³é á°ã°°ä ýíý õýñãèéã ç³ãýýð ñàíààä àâàõàä èë³³äýõã³é. 2.3.4.2 Ìîäåì õýðýãëýæ õîëáîãäîõ
Õýðýâ òà èíòåðíýòýýð õàíãàã÷ áàéãóóëëàãà óðóó åðäèéí ìîäåì àøèãëàí óòñààð õîëáîãääîã áîë, òà ì°í FreeBSD-ã èíòåðíýòýýð ñóóëãàæ áîëîõ á°ã°°ä æààõàí óäàõ ë áàéõ äàà. Äàðààõ ç³éëñèéã ìýäýæ áàéõ øààðäëàãàòàé: 1. ISP áóþó èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷èéí õîëáîãäîõ óòàñíû äóãààð 2. Ìîäåìèéí õýðýãëýõ COM: ïîðòûí äóãààð
3. Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷èä á³ðòã³³ëñýí õýðýãëýã÷èéí íýð áîëîí íóóö ³ã
í àëäààíû á³ðòãýë
2.3.5 FreeBSD-
FreeBSD ò°ñ°ë íü ãàðãàæ áóé õóâèëáàð áîëãîíîî àëäààã³é áàòòàé áàéëãàõûã ÷àðìàéæ áàéäàã áîëîâ÷ çàðèì òîõèîëäîëä æèæèã àëäààíóóä ãàðàõ òîõèîëäîë ³³ñäýã. Ìàø õîâîð ³åä èéì àëäàà ñóóëãàõ ³åä ãàðäàã. Ýäãýýð àëäààã èëð³³ëæ çàñààä, ýíý òóõàéãàà FreeBSD àëäààíû á³ðòãýë (http://www.FreeBSD.org/releases/7.1R/errata.html) õóóäñàí äýýð òýìäýãëýæ áè÷äýã. Òà ñóóëãàæ áàéõ ³åä èéì õ³íäðýëòýé òóëãàðàõã³éí òóëä ýíý õóóäàñ óðóó îðæ øàëãàõ õýðýãòýé.
Õóâèëáàð á³ðä ãàðñàí àëäààíóóäûã á³õ õóâèëáàðòàé íü æàãñààñàí á³ðòãýëèéã FreeBSD-í âýá õóóäàñíû (http://www.FreeBSD.org/index.html) õóâèëáàðûí ìýäýýëýë (http://www.FreeBSD.org/releases/index.html) õýñýãò õàðæ áîëíî.
í ñóóëãàö àéëóóäûã áýëäýõ
2.3.6 FreeBSD-
FreeBSD-ã ñóóëãàõ ÿâö íü äàðààõ áàéðøèëä áóé àéëààñ ã³éöýòãýãäýæ áîëíî:
Äîòîîä ò°õ°°ð°ìæ°°ñ • CDROM ýñâýë DVD • Óã êîìïüþòåðò áóé DOS õýñãýýñ • SCSI ýñâýë QIC áè÷ëýãýýñ • Óÿí äèñêíýýñ ѳëæýý • FTP õàÿãíààñ. Õýðýâ øààðäëàãàòàé áîë ãàëò õàíà ýñâýë HTTP ïðîêñèãîîð äàìæèíà • NFS ñåðâåð • Çîðèóëàëòûí ïàðàëëåë þì óó öóâàà õîëáîëò
16
Chapter 2 FreeBSD ñóóëãàõ íü
Õýðýâ òà FreeBSD -í ñóóëãàöûã CD ýñâýë DVD õýëáýðýýð àâñàí áîë òàíä õýðýãòýé á³õ ç³éë áýëýí áîëîõ á°ã°°ä ýíý õýñãèéã àëãàñààä äàðààãèéí õýñýã óðóó øèëæèæ áîëíî. (Section 2.3.7). Õýðýâ òà FreeBSD-í ñóóëãàö àéëóóäûã áýëäýæ àâààã³é áîë Section 2.13 õýñýã óðóó î÷èæ äýýðõ áàéðøëààñ õýðõýí áýëäýæ àâàõ òàëààð òàéëáàðëàñíûã óíøèíà óó. Òýð õýñãèéã óíøèæ äóóñààä áóöàæ ýíäýýñ Section 2.3.7 õýñýã óðóó îðîõ õýðýãòýé. 2.3.7
Ýõëýí à÷ààëàõ ò°õ°°ð°ìæèéã áýëäýõ
FreeBSD ñóóëãàö íü òàíû êîìïüþòåð à÷ààëàõ ³åä ýõýëäýã— ýíý íü °°ð ³éëäëèéí ñèñòåìýýñ ýõë³³ëäýã ïðîãðàì áèø. Òàíû êîìïüþòåð åðäèéí ³åä õàòóó äèñêýí äýýð ñóóãäñàí ³éëäëèéí ñèñòåìýýð ýõëýæ à÷ààëàãääàã. ýõäýý ³³íèéã áàñ “à÷ààëàãäàæ áîëäîã” óÿí äèñêíýýñ ýõë³³ëæ áîëîõîîð òîõèðóóëæ áîëäîã. Îð÷èí ³åèéí èõýíõ êîìïüþòåðóóä CDROM äîòîð áóé CDROM äèñêíýýñ ýõëýí à÷ààëàãäàæ ÷àääàã. Tip: Õýðýâ òà FreeBSD-ã CDROM ýñâýë DVD äýýð (õóäàëäàæ àâñàí þì óó ýñâýë °°ð°° áýëäýæ àâñàí áîë) áýëäýæ àâñàí á°ã°°ä òàíû êîìïüþòåð CDROM ýñâýë DVD-ýýñ ýõëýí à÷ààëàãäàæ áîëäîã (èõýíõ BIOS äýýð “Boot Order áóþó à÷ààëàõ äàðààëàë” ãýñýí ýñâýë ³³íòýé ò°ñ°°òýé ñîíãîëòîîð òîõèðóóëàãääàã) áîë ýíý õýñãèéã óíøèëã³é àëãàñàæ áîëíî. FreeBSD-í CDROM áîëîí DVD äýýð áàéãàà àéëóóä íü íýìýëò ç³éëñ øààðäàëã³é øóóä ñóóãäàõ áîëîìæòîé.
À÷ààëàãäàæ áîëäîã óÿí äèñê áýëäýõèéí òóëä äàðààõ àëõìûã ã³éöýòãýíý: 1.
À÷ààëàãääàã óÿí äèñêíèé Image áóþó ä³ðñ àéëûã áýëäýõ À÷ààëàãääàã äèñêí³³ä íü òàíû ñóóëãàö àéëûã õàäãàëñàí ò°õ°°ð°ìæíèé floppies/ ñàí äîòîð áàéðëàäàã á°ã°°ä ì°í ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/
-RELEASE/floppies/. . <arch> -
õàÿãíààñ áàñ õóóëàãäàæ áîëíî áîëîí íû îðîíä õ³ññýí àðõèòåêòóð áà õóâèëáàðàà îðëóóëàõ õýðýãòýé. Æèøýý íü FreeBSD/i386 7.1-RELEASE õóâèëáàðûí à÷ààëàãääàã óÿí äèñêèéã ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.1-RELEASE/floppies/ õàÿãààñ òàòàæ àâíà. Óÿí äèñêíèé images áóþó ä³ðñ àéë íü .flp ãýñýí °ðã°òã°ëòýé áàéäàã. floppies/ ñàí íü ÿíç á³ðèéí ä³ðñ àéë àãóóëæ áàéäàã á°ã°°ä ñóóëãàõ ò°õ°°ð°ìæ áîëîí FreeBSD-íõýý õóâèëáàðò òîõèðóóëàí ñîíãîëò õèéäýã. Èõýíõ òîõèîëäîëä òàíä ä°ðâ°í øèðõýã óÿí äèñê õýðýã áîëíî. Òýäãýýð íü boot.flp, kern1.flp, kern2.flp áîëîí kern3.flp þì. Óã ñàíä áóé README.TXT àéëààñ óã óÿí äèñêòýé õîëáîîòîé ñ³³ëèéí ³åèéí ìýäýýëëèéã øàëãààðàé. Important: Ýäãýýð ä³ðñ àéëûã òàòàæ àâàõ FTP ïðîãðàì íü binary mode áóþó õî¼ðòûí àéëûí õýëáýð ãîðèìîîð òàòàæ àâàõ ¼ñòîé. Çàðèì âýá õ°ò°÷ ïðîãðàìóóä íü òåêñò (ýñâýë ASCII) ãîðèì õýðýãëýäýã á°ã°°ä èéì ³åä òàíû óÿí äèñê àíõëàí à÷ààëàãäàæ ÷àäàõã³é.
2.
Óÿí äèñê áýëäýõ Òàòàæ àâñàí ä³ðñ àéë áîëãîíä íýã óÿí äèñê áýëäýõ ¼ñòîé. Óã äèñêí³³ä íü ÿìàð íýãýí àëäààã³é áàéõ øààðäëàãàòàé. Øàëãàõ õàìãèéí àìàð àðãà áîë øóóä îðìàòëàõ áóþó öýâýðëýõ õýðýãòýé. Óðüä÷èëàí öýâýðëýñýí äèñêýíä èòãýõ õýðýãã³é. Windows -í öýâýðëýäýã õýðýãñýë íü äèñêýí äýýð
17
Chapter 2 FreeBSD ñóóëãàõ íü
áàéãàà ýâäýðñýí õýñãèéã ìýäýýëäýãã³é á°ã°°ä òýäãýýðèéã ç³ãýýð “bad áóþó ìóó” ãýæ òýìäýãëýýä °íã°ðä°ã. Øèíý äèñê õýðýãëýí ñóóëãàõ ³éëäýë õèéõèéã òàíä ç°âë°æ áàéíà. Important: Õýðýâ òàíû FreeBSD-ã ñóóëãàõ ÿâö ãàöàõ, ýâäðýõ, ÿìàð íýã ãàæ í°ë°° ³ç³³ëáýë òà õàìãèéí ò³ð³³íä óÿí äèñêýý õàðäàõ õýðýãòýé. Øèíý äèñêýíä ä³ðñ àéëàà áè÷ýýä äàõèí îðîëäîîðîé.
3.
ijðñ àéëûã óÿí äèñê óðóó áè÷èõ .flp àéëóóä íü äèñê óðóó ç³ãýýð õóóëäàã ýíãèéí àéë áèø þì. Òýä áîë äèñêíèé á³õýë á³òöèéã àãóóëñàí ä³ðñ àéë. Òèéì áîëîõîîð èéì àéëûã äèñê óðóó øóóä õóóëæ áîëîõã³é . Õàðèí, ä³ðñ àéëûã äèñê óðóó áóóëãàõ òóñãàé õýðýãñýë àøèãëàäàã. Õýðýâ òà MS-DOS/Windows ³éëäëèéí ñèñòåì äýýð àæèëëàæ áàéãàà áîë fdimage õýðýãñýë õýðýãëýõ õýðýãòýé. Õýðýâ óÿí äèñêí³³ä CDROM äýýð áàéãàà á°ã°°ä òàíû CDROM E: ãýæ òàíèãäñàí áîë òà äàðààõ òóøààëûã °ã°õ õýðýãòýé: E:\> tools\fdimage floppies\boot.flp A:
Ýíý òóøààëûã óÿí äèñêýý ñýëãýæ .flp àéë áîëãîíä ã³éöýòãýýä äàðàà íü äýñ äàðààëàí òýìäýãëýõ õýðýãòýé. .flp àéëûí áàéðëàëààñ õàìààðàí òóøààëàà òîõèðóóëæ °ã°õ õýðýãòýé. Õýðýâ òàíä CDROM áàéõã³é áîë fdimage íü FreeBSD-í FTP áàãàæíóóä ñàíãààñ õóóëàãäàõ áîëîìæòîé (ftp://ftp.FreeBSD.org/pub/FreeBSD/tools/).
Õýðýâ òà óÿí äèñêèéã UNIX ñèñòåìýýñ áýëäýæ áàéãàà áîë( °°ð FreeBSD ñèñòåìýýñ) òà dd(1) òóøààëûã àøèãëàí ä³ðñ àéëûã óÿí äèñê äýýð áóóëãàæ áîëíî. FreeBSD äýýð: # dd if=boot.flp of=/dev/fd0
FreeBSD äýýð /dev/fd0 ãýõýýð ýõíèé óÿí äèñêíèé õ°òë°ã÷ óðóó õàíääàã ( A: ò°õ°°ð°ìæ). /dev/fd1 ãýâýë B: ò°õ°°ð°ìæ ãýõ ìýò÷èëýí ³ðãýëæèëäýã. Áóñàä UNIX ò°ðëèéí ñèñòåì äýýð óÿí äèñêíèé ò°õ°°ð°ìæ íü °°ð °°ð íýðòýé áàéæ áîëîõ á°ã°°ä øààðäëàãàòàé áîë òóõàéí ñèñòåìèéí áè÷èã áàðèìòààñ ëàâëàõ õýðýãòýé. Òà îäîî FreeBSD-í ñóóëãàöûã ýõë³³ëýõýä áýëýí áîëëîî.
2.4
Ñóóëãàöûã ýõë³³ëýõ Important: Äàðààõ ìýäýãäëèéã õàðàõ õ³ðòýë ñóóëãàö ïðîãðàì íü òàíû äèñê(í³³ä)ýä ÿìàð íýãýí °°ð÷ë°ëò
õèéäýãã³é:
Last Chance: Are you SURE you want continue the installation? If you’re running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents!
³íèéã îð÷óóëáàë: ѳ³ëèéí áîëîìæ: Òà ñóóëãàöûã ³ðãýëæë³³ëýõäýý ÈÒ ÝËÒÝÉ áàéíà óó?
18
Chapter 2 FreeBSD ñóóëãàõ íü Õýðýâ òà õýðýãòýé ìýäýýëëýý õàäãàëñàí äèñêíýýñ óã ñóóëãàöûã ýõë³³ëæ áàéãàà áîë, ýõë³³ëýõýýñýý °ìí° ÈÉÍÕ ÄËÈÉ ÍÀÉÄÂÀÒÀÉ ÕÀÄ ÀËÆ ÀÂÀÕÛ ÁÈÄ ÇÂËÆ ÁÀÉÍÀ! Äèñêýíä áóé °ã°ãä°ëä ó÷èðñàí ýâäðýëä áèä õàðèóöëàãà õ³ëýýõã³é!
Ñóóëãàö ïðîãðàì íü ýíý àíõààðóóëãà õ³ðòýë äèñêýíä °°ð÷ë°ëò õèéëã³éãýýð öóöàëæ ãàðàõ áîëîìæòîé. Õýðýâ òà ÿìàð íýãýí ç³éë áóðóó òîõèðóóëñàí þì óó °°ð÷ë°õ ¼ñòîé ãýæ áîäîæ áàéâàë, ýíý ì°÷èä òà êîìïüþòåðàà óíòðààõàä ÿìàð ÷ ýâäðýë ³³ñýõã³é.
2.4.1
Ýõëýí à÷ààëàëò
2.4.1.1 i386™ ñèñòåìä ýõëýí à÷ààëàõ 1. 2.
3.
4.
Êîìïüþòåð óíòàðñàí ³åýñ ýõëýõ õýðýãòýé. Êîìïüþòåðèéã àñààíà. Ýõëýõ ³åä äýëãýö äýýð ñèñòåìèéí BIOS-í ³íäñýí òîõèðóóëãà óðóó îðäîã ãàðûí òîâ÷ëîëûã õàðóóëäàã. Ýíý íü ãîëäóó F2, F10, Del, ýñâýë Alt+S ãýñýí òîâ÷ëîëóóäûí íýã íü áàéäàã. Äýëãýöýíä þó ãýæ çààñàí áàéíà, óã òîâëîëûã äàðæ BIOS-í òîõèðóóëãà óðóó îðîõ õýðýãòýé. Çàðèì òîõèîëäîëä, ýõëýõ ³åä ãðàèê çóðàã õàðóóëäàã á°ã°°ä ãîëäóó Esc òîâ÷ äàðñíààð óã çóðãèéã áîëèóëæ õ³ññýí òåêñòýý äýëãýöýíä õàðàõ áîëîìæòîé. Ñèñòåì àëü ò°õ°°ð°ìæ°°ñ ýõëýæ à÷ààëàõ âý ãýñýí òîõèðóóëãûã îëîõ õýðýãòýé. Ýíý íü ãîëäóó “Boot Order áóþó ýõëýõ äàðààëàë” ãýñýí õýñýãò áàéäàã á°ã°°ä à÷ààëæ áîëîõ Floppy, CDROM, First Hard Disk ãýñýí à÷ààëæ áîëîõ ò°õ°°ð°ìæèéí æàãñààëòûã àãóóëñàí áàéäàã. Õýðýâ òà óÿí äèñêíýýñ à÷ààëíà ãýæ áîäñîí áîë óã æàãñààëòíààñ óÿí äèñêèéã ñîíãîõ õýðýãòýé. Ýñâýë òà CDROM -íîîñ ýõýëæ à÷ààëíà ãýæ áîäîæ áàéâàë ò³³íèéã ñîíãîõ õýðýãòýé. Àëü íü ç°â ýñýõýý ìýäýõã³é ýðãýëçýæ áàéãàà áîë óã êîìïüþòåðòàé öóã èðäýã ãàðûí àâëàãààñ õàðààðàé. Òîõèðñîí °°ð÷ë°ëò°° õèéæ õàäãàëààä ãàðíà. Êîìïüþòåð èíãýñíèé äàðàà øèíýýð äàõèí à÷ààëàãäàæ ýõýëíý. Õýðýâ òà Section 2.3.7 äýýð çààñàí øèã óÿí äèñê áýëäñýí áîë, boot.flp àéëûã àãóóëñàí óÿí äèñê íü ýõíèéõ íü á°ã°°ä øèíýýð à÷ààëàãäàõ ³åä òýð óÿí äèñê íü õ°òë°ã÷ äîòîð áàéõ ¼ñòîé. Õýðýâ òà CDROM -ñ ýõýëæ à÷ààëæ áàéãàà áîë êîìïüþòåðàà àñààíãóóòàà CDROM óðóó äèñêýý õèéæ ýõë³³ëýõ õýðýãòýé. Õýðýâ òàíû êîìïüþòåð àñààä, °ìí° ñóóñàí áàéñàí ³éëäëèéí ñèñòåìíýýñ åðäèéíõ°°ð°° ýõëýæ áàéâàë øàëòãààí íü äîîð äóðäñàíààñ àëü íýã íü áàéæ áîëíî: 1. À÷ààëàõ ÿâöààñ °ìí° íü àìæèæ äèñêýý îðóóëààã³é áàéõ. Äèñêýý îðóóëààä êîìïüþòåðàà äàõèí øèíýýð à÷ààë. 2. ìí° õèéñýí BIOS -èéí °°ð÷ë°ëò ç°â õèéãäýýã³é áàéõ. Óã °°ð÷ë°õ ³éëäëèéã äàõèí õèéæ ç°â òîõèðóóëãûã õèéõ. 3. Ìàãàäã³é òàíû áýëäñýí ò°õ°°ð°ìæ°°ñ ýõëýæ à÷ààëàõ ³éëäëèéã òàíû BIOS äýìæýýã³é áàéæ áîëíî.
19
Chapter 2 FreeBSD ñóóëãàõ íü 5.
FreeBSD à÷ààëàãäàæ ýõëýíý. Õýðýâ òà CDROM -íîîñ ýõë³³ëñýí áîë äàðààõ ç³éëòýé àäèëõàí ìýäýãäýë õàðàõ áîëíî (õóâèëáàðûí õýñãèéã îðóóëààã³é áîëíî): Booting from CD-Rom... CD Loader 1.2 Building the boot loader arguments Looking up /BOOT/LOADER... Found Relocating the loader and the BTX Starting the BTX loader BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS CD is cd0 BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] \
Õýðýâ òà óÿí äèñêíýýñ ýõë³³ëæ áàéãàà áîë äàðààõ ìýäýãäýëòýé èæèë áè÷èãëýëèéã õàðíà (õóâèëáàðûí õýñãèéã îðóóëààã³é áîëíî): Booting from Floppy... Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory FreeBSD/i386 bootstrap loader, Revision 1.1 Loading /boot/defaults/loader.conf /kernel text=0x277391 data=0x3268c+0x332a8 | Insert disk labelled "Kernel floppy 1" and press any key...
6.
Óã çààâðûí äàãóó boot.flp äèñêèéã ãàðãààä kern1.flp äèñêèéã îðóóëààä Enter òîâ÷èéã äàðààðàé. Ýõíèé äèñêíýýñ ýõýëæ à÷ààëààä äàðàà íü øààðäñàí äèñêí³³äèéã íü äàðààëàí îðóóëàõ õýðýãòýé. Óÿí äèñê ýñâýë CDROM-íû àëèíààñ íü ÷ ýõë³³ëñýí áàé ãýñýí FreeBSD-èéí à÷ààëàã÷ ýõë³³ëýã÷ öýñýíä òóëæ èðäýã:
20
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-1. FreeBSD-
èéí à÷ààëàã÷ ýõë³³ëýã÷ öýñ
Àðâàí ñåêóíä õ³ëýýõ, ýñâýë øóóä Enter òîâ÷ äàðæ áîëíî. 2.4.1.2 Alpha ñèñòåì äýýð ýõë³³ëýõ 1. 2. 3.
Êîìïüþòåðàà óíòðààñòàé ³åä ýõýëíý. Àñààãààä ýõë³³ëýõ õýñýã ãàð÷ èðòýë õ³ëýýíý. Õýðýâ òà Section 2.3.7 äýýð çààñàí øèã óÿí äèñê áýëäñýí áîë, boot.flp àéëûã àãóóëñàí óÿí äèñê íü ýõíèéõ íü á°ã°°ä øèíýýð à÷ààëàãäàõ ³åä òýð óÿí äèñê íü õ°òë°ã÷ äîòîð áàéõ ¼ñòîé. Òýãýýä äàðààõ òóøààëûã °ã°õ õýðýãòýé (óÿí äèñêíèé õ°òë°ã÷èéí íýðèéã °°ðèéíõ°°ð°° áè÷èõ õýðýãòýé): >>>BOOT DVA0 -FLAGS ” -FILE ”
Õýðýâ CDROM -îîñ ýõë³³ëñýí áîë äàðààõ òóøààëûã °ãí° ( CDROM-èéí íýð íü òàíû êîìïüþòåðèéíõ áàéõ õýðýãòýé): >>>BOOT DKA0 -FLAGS ” -FILE ”
4.
FreeBSD à÷ààëàãäàæ ýõëýíý. Õýðýâ òà óÿí äèñêíýýñ ýõýëñýí áîë äàðààõ õýñýãò òóëíà: Insert disk labelled "Kernel floppy 1" and press any key...
5.
Óã çààâðûí äàãóó boot.flp äèñêèéã ãàðãààä kern1.flp äèñêèéã îðóóëààä Enter òîâ÷èéã äàðààðàé. Óÿí äèñê ýñâýë CDROM íû àëèíààñ íü ÷ ýõë³³ëñýí áàé äàðààõ õýñýãò òóëæ èðäýã: Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _
Àðâàí ñåêóíä õ³ëýýõ, ýñâýë øóóä Enter òîâ÷. Ýíý íü ö°ìèéí òîõèðóóëàõ öýñ óðóó õ°ò°ëí°.
21
Chapter 2 FreeBSD ñóóëãàõ íü 2.4.1.3 Sparc64® ñèñòåì äýýð ýõë³³ëýõ
Èõýíõ Sparc64® ñèñòåì³³ä íü äèñêíýýñ àâòîìàòààð ýõëýõýýð òîõèðóóëàãäñàí áàéäàã. FreeBSD ñóóëãàõûí òóëä òà ñ³ëæýýãýýð þì óó ýñâýë CDROM-îîñ ýõë³³ëýõ øààðäëàãàòàé. Ýíý íü PROM (OpenFirmware) ðóó îðîõûã òàíààñ øààðääàã. Èíãýõèéí òóëä ñèñòåìèéã äàõèí à÷ààëæ ýõë³³ëýõ ³åèéí ìýäýãäýë ãàð÷ èðýõèéã õ³ëýýõ õýðýãòýé. Ýíý íü òóõàéí çàãâàðààñ øàëòãààëàõ áîëîâ÷ äîîð äóðäñàíòàé ò°ñòýé õàðàãäàõ ¼ñòîé: Sun Blade 100 (UltraSPARC-IIe), Keyboard Present Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.2, 128 MB memory installed, Serial #51090132. Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
Õýðýâ òàíû ñèñòåì äèñêíýýñ ýíý ³åä à÷ààëæ ýõýëáýë òà PROM õ³ëýýõ ì°ð°íä îðîõûí òóëä L1+A ýñâýë Stop+A òîâ÷ëóóðûí õîñëîëûã äàðàõ þì óó ýñâýë öóâàà êîíñîëîîñ (æèøýý íü tip(1) ýñâýë cu(1) äýýð ~#-ã àøèãëàí) BREAK-ã èëãýýõ õýðýãòýé. Ýíý íü èéìýðõ³³ õàðàãäàõ áîëíî: ➊ ➋
ok ok {0}
➊ ➋
Ýíý íü ç°âõ°í íýã CPU-òàé ñèñòåì³³ä äýýð õýðýãëýãääýã õ³ëýýõ ì°ð þì. Ýíý íü SMP ñèñòåì³³ä äýýð õýðýãëýãääýã õ³ëýýõ ì°ð þì. òîî íü èäýâõòýé áàéãàà CPU-èéí òîîã èëýðõèéëäýã.
Ýíý õ³ðýõýä °°ðèéí õ°ò°÷ä°° CDROM-îî õèéãýýä PROM õ³ëýýõ ì°ð°°ñ boot õýðýãòýé. 2.4.2
cdrom
òóøààëûã áè÷èõ
Ò°õ°°ð°ìæèéí øàëãàæ á³ðòãýñýí õýñãèéã õàðàõ
ѳ³ëä íü óðñàæ °íã°ðä°ã õýäýí çóóí ì°ð òåêñò íü äýëãýöèéí ò³ð õàäãàëàã÷ óðóó õàäãàëàãääàã á°ã°°ä ñ³³ëä äàõèí õàðæ áîëäîã. Ò³ð õàäãàëàãäñàí ì°ðèéã äàõèí õàðàõûí òóëä Scroll Lock òîâ÷ äàðààðàé. Ýíý íü äýëãýöýíä óðñàæ °íã°ðñ°í òåêñò³³äèéã äýýø íü ýðã³³ëæ õàðàõ áîëîìæ °ãä°ã. Òà äýýø çààñàí ñóì òîâ÷îîð þì óó ýñâýë PageUp ì°í PageDown òîâ÷íóóäààð äýýø äîîø ã³éëãýí õàðæ áîëíî. Scroll Lock òîâ÷èéã äàõèí äàðæ ãóëãóóëàõ ³éëäëýý çîãñîîäîã. Òà óã òîâ÷èéã äàðæ äýýø ãóëãóóëàí õàðàõ õýðýãòýé. Ýíý íü ö°ì õýðõýí ò°õ°°ð°ìæ³³äèéã òàíüñàí òóõàé õàðóóëäàã. Òà Figure 2-2 äýýð õàðóóëñàíòàé èæèë áè÷èãëýë õàðàõ á°ã°°ä õàðèí ò°õ°°ð°ìæ³³äèéí íýðñ íü òàíû êîìïüþòåðèéíõààñ °°ð áàéæ ìàãàäã³é. Figure 2-2.
Ò°õ°°ð°ìæ òàíüñàí á³ðòãýë áè÷ëýã
avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image 4423680 bytes at 0xc03ddcd4 md1: Malloc disk
22
Chapter 2 FreeBSD ñóóëãàõ íü Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: (vendor=0x1106, dev=0x3040) at 7.3 dc0: port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: at iomem 0xc0000-0xc7fff on isa0 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5” drive> on fdc0 drive 0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: on ppbus0 ad0: 8063MB [16383/16/63] at ata0-master UDMA33 acd0: CD-RW at ata1-slave PIO4
23
Chapter 2 FreeBSD ñóóëãàõ íü Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
FreeBSD-äýýð òàíû õ³ññýí ò°õ°°ð°ìæèéã ç°â òàíüñàí ýñýõèéã óã áè÷ëýã äýýð òóëãàæ õàðàõ õýðýãòýé. Õýðýâ ò°õ°°ð°ìæ îëäîîã³é áîë óã áè÷ëýãò õàðóóëàãäàõã³é. °ð÷ë°í òîõèðóóëñàí ö°ì íü äóóíû êàðò çýðýã GENERIC ö°ìä áàéõã³é ò°õ°°ð°ìæ³³äèéí äýìæëýãèéã íýìýõ áîëîìæèéã òàíä îëãîäîã.
FreeBSD 6.2 áîëîí ò³³íýýñ õîéø ãàðñàí õóâèëáàðóóäûí õóâüä ò°õ°°ð°ìæèéã òàíèõ ³éëäëèéí äàðààãààð òà Figure 2-3-ã õàðàõ áîëíî. Ñóìòàé òîâ÷ëóóð àøèãëàí óëñ, á³ñ, ýñâýë á³ëýã ñîíãîõ õýðýãòýé. Äàðàà íü Enter äàðàõàä ýíý íü òàíû óëñ áîëîí òîâ÷ëóóðûí áàéðëàëûã õÿëáàðààð òîõèðóóëàõ áîëíî. Ì°í sysinstall ïðîãðàìààñ õÿëáàðààð ãàð÷ äàõèí ýõýëæ áàñ áîëíî. Figure 2-3.
Óëñ ñîíãîõ öýñ
Figure 2-4. Sysinstall-
ààñ ãàðàõ
Ñóìòàé òîâ÷ õýðýãëýæ ³íäñýí öýñíýýñ Exit Install öýñèéã ñîíãîíî. Äàðààõ áè÷èãëýë òàíä õàðóóëàãäàíà:
24
Chapter 2 FreeBSD ñóóëãàõ íü User Confirmation Requested Are you sure you wish to exit? The system will reboot (be sure to remove any floppies/CDs/DVDs from the drives). [ Yes ]
No
Õýðýâ äèñê õ°òë°ã÷ äîòîð CDROM-ã ³ëäýýñýí õýâýýð áàéãàà áîë [ Yes ] öýñèéã ñîíãîæ ñèñòåìèéã äàõèí ýõë³³ëíý. Õýðýâ òà óÿí äèñêíýýñ ýõë³³ëñýí áîë äàõèí à÷ààëàõààñàà °ìí° boot.flp äèñêèéã ãàðãàõ õýðýãòýé. 2.5 Sysinstall-
í òàíèëöóóëãà
sysinstall áîë FreeBSD ò°ñë°°ñ ãàðãàñàí ñóóëãàö ïðîãðàì þì. Ýíý íü êîíñîë äýýð òóëãóóðëàæ àæèëëàäàã á°ã°°ä çîõèõ öýñèéã íü àøèãëàæ ñóóëãàõ ÿâöûã õÿíàæ òîõèðóóëäàã.
sysinstall-í öýñ íü ñóìòàé òîâ÷, Enter áóþó ì°ð íóãàëàã÷, Tab, Space áóþó çàé àâàã÷ áîëîí áóñàä òîâ÷íóóäààð çàëàãääàã. Ýäãýýð òîâ÷íû òóõàé äýëãýðýíã³é ìýäýýëýë sysinstall-í õýðýãëýõ çààâàðò áè÷ýýñòýé áóé. Ýäãýýð ìýäýýëëèéã õàðàõûí òóëä Usage áóþó õýðýãëýý õýñýãò î÷îîä [Select] õýñãèéã ñîíãîæ Figure 2-5-ä õàðóóëñàí øèã áàéäàëä áîëãîîä Enter òîâ÷ äàðàõ õýðýãòýé. Öýñòýé õýðõýí àæèëëàõ òóõàé çààâàð õàðóóëàãäàíà. Õýðýãëýõ çààâðûã óíøèæ äóóñààä Enter òîâ÷ äàðæ áóöààä ³íäñýí öýñýíä î÷íî. Figure 2-5. Sysinstall-
í ³íäñýí öýñýíä Usage áóþó õýðýãëýýã ñîíãîõ íü
2.5.1 Documentation
áóþó áè÷èã áàðèìò öýñèéã ñîíãîõ
íäñýí öýñíýýñ ñóìòàé òîâ÷ àøèãëàí Doc öýñèéã ñîíãîîä Enter äàðíà.
25
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-6. Documentation
áóþó áè÷èã áàðèìòûí öýñ ñîíãîõ
Ýíý íü áè÷èã áàðèìòûã õàðóóëàõ áîëíî.
í
Figure 2-7. Sysinstall- Documentation
áóþó áè÷èã áàðèìòûí öýñ
Õàìò èðñýí áè÷èã áàðèìòûã íü óíøèõ õýðýãòýé. Áè÷èã áàðèìòûã ³çýõèéí òóëä ñóìòàé òîâ÷ õýðýãëýæ ñîíãîîä Enter òîâ÷ äàðíà. Óíøèæ äóóñààä Enter òîâ÷ äàðâàë Documentation áóþó áè÷èã áàðèìòûí öýñ óðóó áóöíà. Ñóóëãàöûí ³íäñýí öýñýíä áóöàæ î÷èõûí òóëä Exit áóþó ãàðàõ ãýñýí öýñèéã ñîíãîîä Enter òîâ÷ äàðààðàé. 2.5.2 Keymap
áóþó ãàðûí òîâ÷ëóóð õóâààðèëàëò öýñèéã ñîíãîõ
àðûí òîâ÷ëóóðûí õóâààðèëàëòûã °°ð÷ë°õèéã õ³ñâýë ñóìòàé òîâ÷îîð Keymap öýñèéã ñîíãîîä Enter òîâ÷ äàðíà. Ýíý íü ç°âõ°í ñòàíäàðò áóþó US àìåðèê ãàðûí õóâààðèëàëò õýðýãëýäýãã³é òîõèîëäîëä ë 26
Chapter 2 FreeBSD ñóóëãàõ íü
òàíä õýðýãòýé. Figure 2-8. Sysinstall-
í ³íäñýí öýñ
°ð °°ð ãàðûí õóâààðèëàëòûã òà ñóìòàé òîâ÷îîð ñîíãîîä Space òîâ÷ äàðæ ñîíãîõ á°ã°°ä äàõèí Space äàðæ ñîíãîëòîî öóöëàíà. Ñîíãîæ äóóñààä [ OK ] öýñèéã ñóìòàé òîâ÷ àøèãëàí ñîíãîîä Enter òîâ÷ äàðààðàé. Ýíý õàðóóëñàí äýëãýöýíä ç°âõ°í çàðèì õýñãèéã íü õàðóóëñàí áîëíî. Tab òîâ÷ õýðýãëýæ [ Cancel ] öýñèéã ñîíãîâîë àíõäàã÷ ãàðûí õóâààðèëàëòûã ñîíãîîä ³íäñýí öýñ óðóó áóöäàã.
í
Figure 2-9. Sysinstall- Keymap
2.5.3
áóþó ãàðûí òîâ÷ëóóð õóâààðèëàëò öýñ
Ñóóëãàöûí Options áóþó òîõèðóóëãóóä í³³ð
Options öýñèéã ñîíãîîä Enter äàðíà.
27
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-10. Sysinstall-
í ³íäñýí öýñ
Figure 2-11. Sysinstall Options
õýñýã
Àíõäàã÷ óòãà íü èõýíõ õýðýãëýã÷äýä °°ð÷ë°ëòã³éãýýð õýðýãëýãäýõýä õàíãàëòòàé. Õóâèëáàðûí íýð íü ñóóëãàæ áàéãàà ò°ðë°°ñ°° õàìààð÷ °°ð °°ð áàéíà. Ñîíãîãäñîí öýñèéí òàéëáàð íü äýëãýöèéí äîîä õýñýãò öýíõýð äýâñãýðòýé áè÷èãääýã. Òýìäýãëýæ õýëýõýä, Use Defaults öýñèéã ñîíãîâîë á³õ óòãûã àíõäàã÷ óòãàä íü òîõèðóóëäàã. F1 òîâ÷ äàðæ ñîíãîëòûí ò°ð°ë á³ðèéí ìýäýýëýë àãóóëñàí òóñëàõ ìýäýýëëèéã õàðæ áîëíî. Q òîâ÷ äàðâàë ³íäñýí öýñýíä áóöàæ î÷íî. 2.5.4
íäñýí ñóóëãàöûã ýõë³³ëýõ
UNIX ýñâýë FreeBSD ³éëäëèéí ñèñòåìèéã ñóð÷ áàéãàà õ³íä áîë Standard öýñèéã ñîíãîæ ³íäñýí ñóóëãàöûã ýõë³³ëýõ õýðýãòýé. Ñóìòàé òîâ÷ õýðýãëýí Standard öýñèéã ñîíãîîä Enter òîâ÷ äàðâàë ³íäñýí
28
Chapter 2 FreeBSD ñóóëãàõ íü
ñóóëãàö ýõýëíý. Figure 2-12.
2.6
íäñýí ñóóëãàöûã ýõë³³ëýõ íü
Äèñêíèé çàéã çîõèöóóëàõ
Òàíû ýõíèé ³éëäýë áîë FreeBSD-ä çîðèóëæ äèñêíèé çàé áýëäýæ ò³³íäýý íýð °ãí°. Èíãýñíýýð sysinstall óã äèñêèéã òàíüæ áýëääýã. ³íèéã õèéõèéí òóëä FreeBSD äèñê äýýð áàéãàà ìýäýýëëèéã õýðõýí óíøèæ õýðýãëýäýã òàëààð ìýäýõ õýðýãòýé.
í äèñê äóãààðëàëò
2.6.1 BIOS-
°ðèéíõ°° ñèñòåì äýýð FreeBSD -ã ñóóëãàæ òîõèðóóëàõûí òóëä çàðèì ç³éëñèéã àíõààð÷ ìýäýõ õýðýãòýé. ßëàíãóÿà òà îëîí äèñê õýðýãëýäýã áîë ýíý íü òóí ÷óõàë. Êîìïüþòåð äýýð BIOS-îîñ õàìààð÷ àæèëëàäàã MS-DOS ýñâýë Microsoft Windows çýðýã ³éëäëèéí ñèñòåì³³äýä, BIOS äèñêí³³äèéã äóãààðëàäàã á°ã°°ä óã ³éëäëèéí ñèñòåì³³ä íü óã äóãààðëàñàí °°ð÷ë°ëòèéã íü äàãàæ àæèëëàäàã. Ýíý íü “primary master áóþó àíõíû äèñêíýýñ” °°ð äèñêíýýñ ³éëäëèéí ñèñòåì ýõýëæ àæèëëàõ áîëîìæ °ãä°ã. Ýíý àðãà íü Ghost® ýñâýë XCOPY çýðýã ïðîãðàì àøèãëàí íýã äèñêíèé åð°íõèé çóðãèéã õóóëæ ò³³íòýé àäèëõàí õî¼ð äàõü äèñê óðóó õóóëàí ñèñòåìäýý íàéäâàðòàé õàäãàëàëò õèéäýã õ³ì³³ñò òóí õýðýãòýé áàéäàã. Òýãýýä, õýðýâ ýõíèé äèñê ýâäðýõ, ýñâýë âèðóñòàæ ãýìòýõ çýðýã õ³íäðýë ãàðâàë, BIOS äýýð äèñêí³³äèéí äàðààëëûã °°ð÷èëæ õóóëáàðëàñàí °ã°ãä°ëòýé äèñêíýýñ ³éëäëèéí ñèñòåìýý ýõë³³ëýí àæèëëàæ áîëäîã. Ýíý íü áàðàã äèñêí³³äèéí êàáåëèéã õàéðöãèéã íü íýýëã³éãýýð ñîëüæ áàéãààòàé èæèë þì. SCSI äèñê õÿíàã÷òàé ñèñòåì³³ä íü ãîëäóó BIOS °ðã°òã°ëòýé áàéäàã á°ã°°ä íàéì õ³ðòýëõ SCSI äèñêí³³äèéã èéìýðõ³³ çàð÷ìààð äàðààëóóëæ ÷àääàã. Èéìýðõ³³ àðãàíä äàññàí õ³íä FreeBSD àðàé °°ð°°ð ³éë÷èëäýã á°ã°°ä ýíý íü èõ öî÷èðäóóëäàã. FreeBSD BIOS-ã àøèãëàäàãã³é á°ã°°ä “BIOS-í ëîãèê äèñêíèé äóãààðëàëòûã ìýääýãã³é”. Ýíý íü ÿëàíãóÿà ÿã àäèëõàí äèñêýí äýýð äèñêíèé çóðãèéã õóóëáàðëàñàí ³åä áîäñîíîîñ °°ð ³éë÷ëýë ³ç³³ëýõýä õ³ðãýäýã.
29
Chapter 2 FreeBSD ñóóëãàõ íü FreeBSD-ã õýðýãëýõ ³åäýý BIOS-ã ³ðãýëæ °°ð°°ð íü äèñê äóãààðëàëò õèéëãýæ, òýð ÷èãýýð íü ³ëäýýõ õýðýãòýé. Õýðýâ òà äèñêíèé äóãààðëàëòûã °°ð÷ë°õ°°ð áîë, êîìïüþòåðèéíõàà õàéðöãèéã îíãîéëãîæ äèñêíèé ñýëã³³ð áîëîí çàëãóóðóóäûã òîõèðóóëæ çàëãàõ õýðýãòýé.
Áèëë áîëîí Ôðýä íàðò òîõèîëäñîí ÿâäëûã àâ÷ ³çýöãýýå:
Áèëë °°ðèéíõ°° õóó÷èí Wintel êîìïüþòåðàà ÿíçàëæ FreeBSD ñóóëãààä Ôðýäýä °ã°õ°°ð áîëæýý. Áèëë íýã SCSI õÿíàã÷òàé á°ã°°ä ò³³íèé ýõíèé SCSI äèñê äýýð FreeBSD-ã ñóóëãàæýý. Ôðýä ñóóëãàñàí ñèñòåìèéã õýðýãëýæ ýõëýâ. ýâ÷ õýñýã °äðèéí äàðàà õóó÷èí SCSI äèñêýí äýýð çàðèì àëäààíóóä ãàðààä áàéíà ãýæ Áèëëä õýëæýý. Õýäýí °äðèéí äàðàà óã õ³íäðýëèéã Áèëë çàñàõààð øèéäæýý. Òýãýýä àðûíõàà °ð°°í°°ñ óã äèñêòýé èæèë, “í°°ö õàäãàëàëò” õèéñýí äèñêýý àâ÷èð÷ýý. Àâ÷èðñàí äèñêýí äýýðýý ãàäàðãóóíû øàëãàëò õèéõýä ÿìàð ÷ àëäààã³é ãýæ ãàð÷ èðýâ. Òýãýõýýð íü í°õ°ð Áèëë òýð äèñêèéã SCSI õÿíàëòûí ä°ð°â äýõ çàëãóóð äýýð çàëãààä ýõíèé äèñêíýýñ ä°ð°â äýõ äèñê óðóó í°°ö image áóþó õóóëáàð ä³ðñ õèéæ àâ÷ ãýíý. Øèíý çàëãàñàí äèñê ñàéõàí àæèëëàæ áàéñàí òóë áàÿðëàñàí Áèëë óã äèñêèéã öààøèä õýðýãëýõýýð øèéäýýä SCSI BIOS äýýð ³éëäëèéí ñèñòåìèéã à÷ààëàõ äèñêíèé äóãààðûã ä°ð°â áîëãîæ °°ð÷èëæýý. FreeBSD-í ýõëýõ à÷ààëàëò ç³ãýýð áàéñàí á°ã°°ä ìàø ñàéõàí àæèëëàæ ýõëýâ. Ôðýä öààø íü õýäýí õîíîã àæèëëàñíû äàðàà ò°äèé óäàëã³é Áèëë áîëîí Ôðýä õî¼ð FreeBSD-ã øèíý÷ëýõ øèíý àäàë ÿâäàë õ°°ö°ëä°õ õ³ñýë ò°ðæýý. Áèëë SCSI õÿíàã÷èéí ýõíèé äèñêèéã àâààä îðîíä íü ³³íòýé èæèëõýí °°ð “í°°ö°ëñ°í” äèñê àâ÷èðæ çàëãàâ. Áèëë FreeBSD -í øèíý õóâèëáàðûã ýõíèé SCSI äèñê äýýð Ôðýäèéí øèäýò èíòåðíýòýýñ FTP-ýýñ òàòàæ àâñàí óÿí äèñêíýýñ ýõë³³ëæ ñóóëãàâ. Ñóóëãàö ìàø àìæèëòòàé áîëæýý. Ôðýä ãóàé FreeBSD -í øèíý õóâèëáàðûã õýäýí õîíîã òóðøèæ ³çýýä èíæåíåðèéí ñàëáàðò õýðýãëýõýä òóí òîõèðîìæòîé þì áàéíà ãýñýí ä³ãíýëò °ã÷ ãýíý. Èíãýýä õóó÷èí õóâèëáàð äýýð õèéæ áàéñàí àæëóóäàà õýðýãëýõ õýðýã áîëæ ãýíý. Òýãýýä Ôðýä ãóàé ä°ð°âä³ãýýð SCSI äèñêýý mount áóþó õîëáîëò õèéæ (°ìí° ñóóëãàñàí FreeBSD-í õóó÷èí õóâèëáàð) ãýíý. Ôðýä ãóàéí í³äýíä ä°ð°â äýõ SCSI äèñêýí äýýð °°ðèéíõ íü õèéæ áàéñàí àæëóóä áàéõã³é áàéëàà. Òýð °ã°ãäë³³ä õàà÷ñàí áý? Ýõíèé äèñêíýýñ ä°ð°â äýõ äèñê óðóó Áèëë ãóàé ä³ðñ õóóëàëò õèéñíýýð ä°ð°â äýõ äèñê íü “õóóëáàð” áîëñîí áèëýý. Áèëë ãóàéí SCSI BIOS äýýð ä°ð°â äýõ äèñêíýýñ à÷ààëàëò ýõë³³ëíý ãýñýí òîõèðãîî áîë òýíýãëýë áàéæýý. FreeBSD íü SCSI BIOS òîõèðóóëãûã ³ë õàðãàëçàí ýõíèé SCSI äèñêíýýñ ýõë³³ëñýýð áàéñàí áàéíà. BIOS äýýð èéìýðõ³³ °°ð÷ë°ëò õèéñíýýð çàðèì à÷ààëàõ ³éëäýë áîëîí àæèëëóóëàã÷ òîõèðóóëãûã °°ð÷èëä°ã áîëîâ÷, FreeBSD ýõëýõ ³åäýý ýíý òîõèðóóëãûã õàðãàëçàæ ³çäýãã³é á°ã°°ä °°ðèéíõ°°ð°° äèñê äóãààðëàëò õèéæ ýõýëäýã. Ýíä ³ç³³ëñíýýð, ñèñòåì íü ýõíèé SCSI äèñêíýýñ ýõýëñýýð áàéñàí á°ã°°ä Ôðýäèéí á³õ °ã°ãä°ë ä°ð°â äýýð áèø ýõíèé äèñê äýýð áàéñàí áàéíà. ճ쳳ñò áîë ä°ð°â äýõ SCSI äèñêíýýñ ýõýëæ áàéãàà ìýò õàðàãäñàí áàéíà. Èéì ³éëäýë áîëñíû äàðàà ÿìàð ÷ °ã°ãä°ë óñòàæ àëãà áîëîîã³é áîëîõûã áèä òàíä ìýäýãäýæ áàéãààäàà áàÿðòàé áàéíà. Ó÷èð íü, õóó÷èí ýõíèé SCSI äèñêèéã áóöààæ çàëãààä Ôðýäèéí á³õ °ã°ãäëèéã áóöààæ àâ÷ ÷àäæýý. (Áèëë ýõíèé äèñêíýýñ ýõë³³ëñýí áàéíà). Õýäèéãýýð áèä íàð SCSI äèñêýí äýýð æèøýý òàòñàí áîëîâ÷ èéìýðõ³³ ³éëäýë IDE äèñê äýýð áàñ òîõèîëäîæ áîëíî.
30
Chapter 2 FreeBSD ñóóëãàõ íü
2.6.2 FDisk
àøèãëàí äèñêíèé ç³ñìýë ³³ñãýõ
Note: Ýíý õýñýãò õèéñýí °°ð÷ë°ëò òàíü äèñê óðóó áè÷èãäýõã³é. Õýðýâ òà ÿìàð íýãýí àëäàà õèéæ ãýæ áîäîîä äàõèí øèíýýð ýõëýõèéã õ³ñâýë sysinstall-í ãàðàõ öýñèéã àøèãëàõ, ýñâýë U òîâ÷ äàðæ Undo áóþó áóöàæ ³éëäýæ áîëíî. Õýðýâ òà á³ð ýðãýëçýæ þó õèéõýý ìýäýõã³é áîëîîä èðâýë êîìïüþòåðàà øóóä óíòðààæ áîëíî.
Ñòàíäàðò ñóóëãàöûã ñîíãîñíû äàðàà sysinstall òàíä äàðààõ ìýäýãäëèéã õàðóóëíà: Message In the next menu, you will need to set up a DOS-style ("fdisk") partitioning scheme for your hard disk. If you simply wish to devote all disk space to FreeBSD (overwriting anything else that might be on the disk(s) selected) then use the (A)ll command to select the default partitioning scheme followed by a (Q)uit. If you wish to allocate only free space to FreeBSD, move to a partition marked "unused" and use the (C)reate command. [ OK ] [ Press enter or space ]
Ýíý õýñãèéã îð÷óóëáàë: Ìýäýãäýë Äàðààãèéí õýñýãò òà °°ðèéíõ°° äèñêýíä DOS-ìàÿãèéí ("fdisk") äèñê õóâààëò õèéõ õýðýãòýé. Õýðýâ òà äèñêíèéõýý á³õ õýìæýýã FreeBSD-ä çîðèóëíà ãýæ áîäîæ áàéâàë (äèñêýí äýýð áàéãàà á³õ °ã°ãäëèéã äàðæ áè÷íý) (A)ll òóøààëûã ñîíãîîä äàðàà íü (Q)uit öýñèéã ñîíãîæ ãàðààðàé. Õýðýâ òà ç°âõ°í ñóë ÷°ë°°òýé áàéãàà õýñãèéã FreeBSD-ä çîðèóëíà ãýæ áîäîæ áàéãàà áîë "unused" áóþó õýðýãëýãäýýã³é ãýñýí õýñãèéã ñîíãîîä (C)reate áóþó ³³ñãý ãýñýí òóøààëûã ñîíãîîðîé. [ OK ] [ enter òîâ÷ ýñâýë çàé àâàã÷ òîâ÷ äàðíà óó]
Ýíä ãîëäóó Enter òîâ÷ äàðäàã. Èíãýñíèé äàðàà ö°ìä ýõëýõ ³åä òàíüæ òóðøñàí õàòóó äèñêí³³äèéí æàãñààëòûã òàíä õàðóóëàõ áîëíî. Figure 2-13 äýýð IDE äèñêòýé ñèñòåìèéí æèøýý õàðóóëàâ. Òýäãýýð íü ad0 áîëîí ad2 ãýñýí íýðòýé áóé.
31
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-13. FDisk-
í õýðýãëýõ äèñêèéã ñîíãîõ
Òà ìàãàäã³é ÿàãààä ad1 äèñêèéã ýíä õàðóóëñàíã³é âý? ãýæ ãàéõàæ ìàäàã³é. Òàíä õî¼ð øèðõýã IDE õàòóó äèñê áàéíà ãýæ ³çüå. Íýã íü íýã IDE çàëãóóð äýýð ìàñòåð äèñê áîëæ çàëãàãäñàí á°ã°°ä í°ã°°õ íü õî¼ð äàõü IDE çàëãóóð äýýð ñóóãäñàí áàéã. Õýðýâ FreeBSD íü òýäãýýðèéã ad0 áà ad1 ãýæ äóãààðëàñàí áîë á³õ þì ç³ãýýð ë àæèëëàõ áàéñàí. ýâ÷, õýðýâ òà ãóðàâ äàõü äèñêèéã ýõíèé IDE çàëãóóð äýýðõ ìàñòåð äèñêòýé áîîë áîëãîæ çàëãàâàë óã äèñê ad1 ãýæ äóãààðëàãäàõ á°ã°°ä °ìí° íü ad1 ãýæ äóãààðëàãäñàí äèñê ad2 ãýæ íýðëýãäýíý. Äèñêýíä °ãñ°í íýðèéã àøèãëàí (æèøýý íü ad1s1a) àéë ñèñòåìèéã õàéõàä õýðýãëýäýã ó÷ðààñ ãýíýò òàíû äèñêí³³ä °°ð õàðàãäàæ ýõëýõ á°ã°°ä òà FreeBSD-í òîõèðóóëãûã äàõèí õèéõ øààðäëàãà ãàðíà. Èéì õ³íäðýëèéã àðèëãàõûí òóëä ö°ì íü IDE äýýð çàëãàãäñàí äèñêí³³äèéã òàíüñàí äàðààëëààð íü áèø õàðèí çàëãàãäñàí áàéðëàëààñ íü õàìààðàí äóãààðëàäàã. Èéì ó÷ðààñ õýðýâ IDE-í õî¼ð äàõü çàëãóóð äýýð çàëãàãäñàí ìàñòåð äèñê íü ³ðãýëæ ad2 ãýæ íýðëýãäýõ á°ã°°ä ad0 ýñâýë ad1 äèñêí³³ä á³ð áàéõã³é áàéñàí ÷ ýíý íýðýýðýý ë áàéõ áîëíî. Ýíý íü FreeBSD-í ö°ìèéí àíõíû òîõèðóóëãà á°ã°°ä, èéì øàëòãààíû óëìààñ ad0 áîëîí ad2 ãýæ õàðóóëæ áàéíà. Òýãýõýýð ýíý çóðãàí äýýð áàéãàà ìàøèíû IDE 2 çàëãóóð äýýð õî¼ð ìàñòåð äèñê çàëãàãäñàí á°ã°°ä ÿìàð ÷ áîîë äèñê áàéõã³é áàéíà ãýæ õàðóóëæ áàéíà. Òà àëü äèñê äýýð íü FreeBSD-ã ñóóëãàõàà ñîíãîîä [ OK ] äýýð äàðàõ õýðýãòýé. FDisk ýõëýõ á°ã°°ä äýëãýö äýýð Figure 2-14-òýé ò°ñòýé çóðàã õàðóóëàãäàõ áîëíî. FDisk íü äýëãýö äýýð ãóðâàí õýñýãò õóâààãäàæ õàðóóëàãääàã. Ýõíèé õýñýãò íü äýýä õî¼ð ì°ð õàìààðàãääàã á°ã°°ä ñîíãîãäñîí äèñêíèé íàðèéâ÷èëñàí ìýäýýëë³³äèéã õàðóóëäàã. Ýíý íü FreeBSD-í °ãñ°í íýð, äèñêíèé çîõèîí áàéãóóëàëò ì°í äèñêíèé íèéò õýìæýý çýðãèéã õàðóóëäàã. Õî¼ð äàõü õýñýãò äèñêýí äýýð áàéãàà ç³ñìýë³³äèéã õàðóóëäàã áà õààíààñ ýõëýýä õààíà äóóññàí, ÿìàð õýìæýýãýýð ç³ñýãäñýí á°ã°°ä FreeBSD õýðõýí íýð °ãñ°í, áàñ óã ç³ñìýëèéã òîäîðõîéëñîí òîäîðõîéëîëò áîëîí äýä ò°ðëèéã íü õàðóóëäàã. Ýíý æèøýý äýýð, êîìïüþòåð äýýðõ äèñêíèé õýðýãëýãäýýã³é õî¼ð ç³ñìýëèéã õàðóóëñàí áàéíà. Óã çóðãàí äýýð áàñ íýã òîì FAT ç³ñìýë áàéãààã õàðóóëñàí áàéãàà á°ã°°ä ìàãàäã³é ýíý íü MS-DOS / Windows ñèñòåìèéí C: äèñê áàéæ áîëçîøã³é. Ì°í óã çóðãàí äýýð áàñ íýã
32
Chapter 2 FreeBSD ñóóëãàõ íü
°ðã°òã°ñ°í ç³ñìýë áàéãààã õàðóóëñàí áàéãàà áà, áàñ ýíý íü MS-DOS / Windows ñèñòåì äýýð íýã °ðã°òã°ñ°í äèñê áàéæ ìàãàäã³é. óðàâ äàõü õýñýã íü FDisk äýýð õýðýãëýæ áîëîõ òóøààëóóäûí æàãñààëò áàéíà. Figure 2-14.
Çàñâàðëàæ ýõëýõýýñ °ìí°õ Fdisk-í äèñê õóâààëòûí æèøýý
Îäîî òàíû õèéõ àëõàì äèñêýý õýðõýí ç³ñýæ õóâààõààñ èõ õàìààðíà. Õýðýâ òà äèñêýý á³õëýýð íü FreeBSD-ä çîðèóëíà ãýæ áîäîæ áàéâàë (äèñêýí äýýð áàéãàà á³õ °ã°ãäëèéã äàðæ ñóóãäàõ á°ã°°ä sysinstall òàíààñ ñóóëãàöûí ÿâöàä ëàâëàæ àñóóõ áîëíî) Use Entire Disk áóþó äèñêèéã á³õëýýð íü õýðýãëý ãýñýí çààëòàä áóé A òîâ÷ äàðàõ õýðýãòýé. Áàéñàí á³õ ç³ñìýë³³ä àðèëàõ á°ã°°ä æèæèãõýí õýñýã íü unused áóþó õýðýãëýãäýýã³é ãýæ õóâààãäààä (êîìïüþòåð äèñê øàëãàõàä çîðèóëàãääàã õýñýã) ³ëäñýí òîì õýñýã íü FreeBSD-ä çîðèóëæ õóâààãääàã. Èíãýæ ñîíãîñíû äàðàà ñóìòàé òîâ÷ õýðýãëýí øèíýýð ³³ññýí FreeBSD-í ç³ñìýëèéã ñîíãîîä S òîâ÷ äàðæ óã ç³ñìýëýýñ ýõëýí à÷ààëàãääàã áîëãîõ õýðýãòýé. Òàíû äýëãýö Figure 2-15-òýé ò°ñ°°òýé çóðàã õàðóóëàõ ¼ñòîé. Òýìäýãëýæ õýëýõýä, Flags áàãàíàä áóé A ³ñýã íü óã ç³ñìýëèéã active áóþó èäýâõòýé ãýäãèéã èëýðõèéëæ áàéãàà á°ã°°ä ýíý ç³ñìýëýýñ ýõëýæ à÷ààëàãäàõ áîëíî ãýäãèéã õàðóóëæ áàéãàà þì. Õýðýâ òà °ìí° íü õýðýãëýãäýæ áàéñàí ç³ñìýë³³äýýñ íýãèéã íü FreeBSD-ä çîðèóëíà ãýæ áîäñîí áîë óã ç³ñìýëèéã ñîíãîîä D òîâ÷ äàðæ óñòãàõ õýðýãòýé. Äàðàà íü òà C òîâ÷ äàðâàë ³³ñãýõ ç³ñìýëèéí õýìæýýã òàíààñ àñóóäàã. Õ³ññýí õýìæýýãýý îðóóëààä Enter òîâ÷ äàðàõ õýðýãòýé. Óã ëàâëàæ àñóóñàí öîíõ äýýð áóé àíõíû òîî áîë óã ç³ñìýë äýýð õýðýãëýæ áîëîõ õàìãèéí èõ õýìæýýã çààæ áàéäàã òóë óã ç³ñìýëèéã á³õëýýð íü õýðýãëýíý ãýæ áîäâîë øóóä óã òîîã °°ð÷ë°ëã³é õýðýãëýõ õýðýãòýé. Õýðýâ òà óðüä÷èëàí FreeBSD -ä çîðèóëàí äèñêýý ñóëëà÷èõñàí áàéâàë (ìàãàäã³é PartitionMagic ãýõ ìýòèéí ïðîãðàì àøèãëàí äèñêýý áýëòãýñýí áîë) äàðàà íü C òîâ÷ äàðæ øèíý ç³ñìýë ³³ñãýýðýé. Äàõèí ñàíóóëàõàä, ç³ñìýë ³³ñãýõ ³åä õóâààõ ç³ñìýëèéí õýìæýýã òàíààñ àñóóõ áîëíî.
33
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-15. Fdisk
äèñêèéã á³õëýýð íü õýðýãëýæ áóé æèøýý
Õóâààæ äóóñààä Q òîâ÷ äàðæ ãàðíà. Òàíû °°ð÷èëñ°í °°ð÷ë°ëò³³ä sysinstall äýýð õàäãàëàãäàõ á°ã°°ä äèñê óðóó îäîîõîíäîî áè÷èãäýýã³é áàéãàà. 2.6.3 Boot Manager
áóþó ýõëýí à÷ààëàëò çîõèöóóëàã÷èéã ñóóëãàõ
Òàíä îäîî ýõëýí à÷ààëàëò çîõèöóóëàã÷èéã ñóóëãàõ ýñýõýý ñîíãîõ áîëîìæ ãàðäàã. Õýðýâ òàíä äàðààõ í°õöë³³ä áèåëæ áàéâàë ãîëäóó FreeBSD boot manager-èéã ñîíãîõ íü ýëáýã: Òàíä îëîí äèñêí³³ä áàéãàà á°ã°°ä FreeBSD-ã ýõíèéõ äýýð íü ñóóëãààã³é áîë. • Òà FreeBSD-ã °°ð ³éëäëèéí ñèñòåìòýé õàìò íýã äèñê äýýð ñóóëãààä êîìïüþòåð ýõëýõ ³åä FreeBSD-ã ýõë³³ëýõ ³³ ýñâýë í°ã°° ³éëäëèéí ñèñòåìèéã ýõë³³ëýõ ³³ ãýæ ñîíãîëò õèéìýýð áàéãàà áîë. Õýðýâ FreeBSD íü óã ìàøèí äýýð áàéãàà öîðûí ãàíö ³éëäëèéí ñèñòåì áàéõààð áîë Standard -ã ñîíãîõîä õàíãàëòòàé. Õýðýâ òà FreeBSD-ã ýõë³³ëæ ÷àäàõ °°ð ÿìàð íýãýí ïðîãðàì ñóóëãàñàí áîë None -ã ñîíãîîðîé. Ñîíãîëòîî õèéãýýä Enter òîâ÷èéã äàð. •
34
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-16. Sysinstall-
í ýõëýí à÷ààëàëò çîõèöóóëàã÷èéí öýñ
F1 òîâ÷ äàðâàë òóñëàìæèéí öýñ õàðóóëàãäàõ á°ã°°ä °°ð ³éëäëèéí ñèñòåìòýé õàìòàð÷ õýðýãëýõ ³åä ÿìàð õ³íäðýë ³³ñýæ áîëîõ òàëààð òàéëáàðëàæ °ãä°ã.
2.6.4
Áóñàä äèñê äýýð ç³ñìýë ³³ñãýõ
Õýðýâ òàíä íýãýýñ èë³³ îëîí äèñêí³³ä áàéãàà áîë ýõëýí à÷ààëàëòûí çîõèöóóëàã÷èéã ñîíãîñíû äàðàà äèñê ñîíãîõ öýñýíä áóöàæ î÷äîã. Õýðýâ òà FreeBSD-ã îëîí äèñê õýðýãëýæ ñóóëãàõûã õ³ñâýë, FDisk àøèãëàí öààø íü ç³ñýæ õóâààõ õýðýãòýé. Important: Õýðýâ òà FreeBSD-ã ýõíèé äèñêíýýñ °°ð äèñê äýýð ñóóëãàæ áàéãàà áîë FreeBSD-í ýõëýí à÷ààëàëòûã çîõèöóóëàã÷èéã õî¼óëàí äýýð íü ñóóëãàõ õýðýãòýé.
35
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-17.
Äèñê ñîíãîõ öýñíýýñ ãàðàõ
Tab òîâ÷ õýðýãëýí äèñêí³³ä áîëîí [ OK ], ýñâýë [ Cancel ] çýðýã òóøààëóóä óðóó ñýëãýæ áîëíî.
Tab òîâ÷ õýðýãëýí [ OK ], äýýð ñîíãîîä Enter òîâ÷ äàðæ ñóóëãàöûã öààø íü ³ðãýëæë³³ëíý.
2.6.5 Disklabel
áóþó äèñêýíä íýð °ã÷ õóâààëò ³³ñãýõ
Òà îäîî ³³ñãýñýí ç³ñìýë äîòðîî õóâààëò ³³ñãýõ ¼ñòîé. Õóâààëò áîëãîí a ³ñãýýð ýõëýýä h õ³ðòýë íýð àâäàã á°ã°°ä b, c áîëîí d ãýñýí íýðí³³ä íü òóñãàé ç°âøëèéí äàãóó °°ð çîðèóëàëòààð õýðýãëýãääýã òóë òà ³³íèéã õ³ëýýí ç°âø°°ð°õ õýðýãòýé. Õýðýâ îëîí äèñê äýýð õóâààëò ³³ñãýæ áàéãàà áîë çàðèì ïðîãðàìóóä íü çîðèëãîîñîî õàìààðààä îíöãîé õóâààëòûí çàãâàð õýðýãëýäýã. ýõäýý òà îäîîãîîð FreeBSD-ã àíõ óäààãàà ñóóëãàæ áàéãàà äèñê äýýð õýðõýí õóâààëò ³³ñãýõ òóõàé íýã èõ áîäîõ øààðäëàãà áàéõã³é. Õàìãèéí ÷óõàë íü FreeBSD-ã ñóóëãààä õýðõýí õýðýãëýäýã òàëààð ñóðàõ ÿâäàë þì. Òà ³éëäëèéí ñèñòåìä íýëýýí ãàðøèæ ñàéæèðñàí ³åäýý FreeBSD-ã äàõèí øèíýýð õýäèéä ÷ ñóóëãàæ áîëíî. Ýíä ³ç³³ëæ áóé õóâààëòûí çàãâàð íü ä°ðâ°í õóâààëòòàé áàéíà. Íýã íü swap õýìæýýíä, áóñàä ãóðàâ íü àéëûí ñèñòåìä çîðèóëàãäñàí áàéíà. Table 2-2.
Ýõíèé äèñêíèé õóâààëò
Õóâààëò
Ôàéë ñèñòåì Õýìæýý
a
/
512 MB
Òîäîðõîéëîëò Ýíý áîë root áóþó ýõ àéë ñèñòåì þì. Áóñàä á³õ àéë ñèñòåì³³ä ÿìàð íýãýí àðãààð ýíä òàíèãäàæ õýðýãëýãääýã. 512 MB õýìæýý áîë òóõàéí çîðèëãîäîî òààðñàí õýìæýý. Òà ýíä òèéì èõ °ã°ãä°ë õàäãàëàõã³é á°ã°°ä åðäèéí FreeBSD-í ñóóëãàö íü ýíä 128 MB-ã õýðýãëýäýã. / äýýð ³ëäñýí çàé íü äàðàà íü õýðýãëýãäýõ çîðèëãîîð þì óó ýñâýë ò³ð çóóðûí °ã°ãä°ë çýðýãò çîðèóëàãääàã.
36
Chapter 2 FreeBSD ñóóëãàõ íü
Õóâààëò
Ôàéë ñèñòåì Õýìæýý
b
N/A
2-3 x RAM
e
/var
256 MB-ààñ 1024 MB
f
/usr
Òîäîðõîéëîëò Ñèñòåìèéí swap çàé íü b õóâààãäàë äýýð áàéðëàäàã. swap-ä çîðèóëæ õýìæýýãýý òîõèðóóëàõ íü áàñ ÷óõàë. Õàìãèéí ñàéí õýðýãëýãääýã àðãà áîë, áàéãàà ñàíàõ îéíûõîî (RAM) õýìæýýíýýñ õî¼ð þì óó ãóðàâ äàõèí èõ õýìæýýòýé áàéõàä áîëíî. Õýðýâ òàíä 32 MB õýìæýýòýé RAM ñàíàõ îé áàéãàà áîë ÿäàæ 64 MB õýìæýýòýé swap áýëäýõ õýðýãòýé. Õýðýâ òà íýãýýñ èõ äèñêòýé áîë äèñê áîëãîíä çîðèóëæ swap çàé ³³ñãýæ áîëíî. Èíãýâýë, FreeBSD íü äèñê áîëãîíä áóé swap çàéã õýðýãëýñíýýð èë³³ ³ð ä³íòýé àæèëëàäàã. Ýíý òîõèîëäîëä õýðýãëýõ íèéò swap-íõàà õýìæýýã (æèøýý íü, 128 MB) áàéãàà äèñêíèéõýý òîîíä õóâààæ (æèøýý íü õî¼ð äèñêòýé ãýæ ³çüå) ãàðñàí õýìæýýã äèñêýí äýýð swap-ä çîðèóëæ áýëäýõ õýðýãòýé á°ã°°ä æèøýýíèé äàãóó áîë 64 MB äèñê áîëãîíä íîãäîæ áàéíà.
ñàíä áàéíãà °°ð÷ë°ãä°æ áàéäàã àéëóóä áàéðëàäàã; á³ðòãýë àéë, ì°í áóñàä óäèðäàõ áîëîí õÿíàõ àéëóóä õ³ðòýë ýíý ò°ðëèéí àéëä îðäîã. Ýäãýýð àéëûí èõýíõ íü FreeBSD äýýð àæèëëàäàã ïðîãðàìóóäààð °äðèéí òóðø óíøèãäàæ áàñ áè÷èãäýæ áàéäàã. Èéìýðõ³³ àéëóóäûã íýã äîð áàéðëóóëñíààð FreeBSD íü °°ð àéë ñèñòåì óðóó õàíäàæ öàã çàðàëã³é èäýâõèòýé àæèëëàæ ÷àääàã. Äèñêíèé Áàðàã áóñàä á³õ àéëóóä íü /usr ñàíä áîëîí ò³³í äîòîð ³ëäñýí õýñýã áóé äýä ñàíãóóäàä áàéðëàäàã. (õàìãèéí áàãàäàà 2 GB) /var
Warning: Äýýð äóðäñàí óòãàíóóä íü æèøýý áîëîí °ã°ãäñ°í á°ã°°ä ç°âõ°í òóðøëàãàòàé õýðýãëýã÷èä ýäãýýðèéã àøèãëàõ õýðýãòýé. Õýðýãëýã÷èä íü FreeBSD-èéí õóâààëò çàñâàðëàã÷èéí Auto Defaults ãýæ õýëýãääýã àâòîìàò õóâààëòûí õýëáýðèéã àøèãëàõ íü ç³éòýé þì.
Õýðýâ òà FreeBSD-ã îëîí äèñêí³³ä äýýð äàìíàí ñóóëãàæ áàéãàà áîë áóñàä äèñêí³³ä äýýð ³³ñãýñýí ç³ñìýë äîòðîî õóâààëò ³³ñãýõ õýðýãòýé. Õàìãèéí àìàðõàí àðãà íü äèñê áîëãîíä õî¼ð õóâààãäàë ³³ñãýýä íýãèéã íü swap çàé áîëãîîä í°ã°°õ íü ÿìàð íýãýí àéë ñèñòåì áîëãîõ àðãà áàéäàã. Table 2-3.
Õóâààëò b
Áóñàä äèñêýí äýýðõ äèñêíèé õóâààëò Ôàéë ñèñòåì Õýìæýý Òîäîðõîéëîëò N/A Òîäîðõîéëîëòîîñ óíøèíà óó ìí° äóðüäñàí÷ëàí, swap õýìæýýã äèñê áîëãîí äýýð ³³ñãýæ áîëäîã. Õýäèéãýýð a õóâààëò ñóë áàéñàí ÷ ãýñýí çàð÷ìûí äàãóó swap çàé íü b õóâààëò äýýð áàéðëàäàã.
37
Chapter 2 FreeBSD ñóóëãàõ íü
Õóâààëò
Ôàéë ñèñòåì Õýìæýý /diskn Äèñêíèé ³ëäñýí õýìæýý
Òîäîðõîéëîëò e Äèñêíèé ³ëäñýí õýìæýý íü íýã á³õýë õóâààëò áîëäîã. Ýíý íü e õóâààëò äýýð áèø õàðèí a õóâààëò äýýð áàéðëàæ áîëîõ áàéñàí ÷ çàð÷ìûí äàãóó a õóâààãäàë äýýð root áóþó ýõ àéë ñèñòåì (/) ñóóãääàã. Òà ýíý çàð÷ìûã äàãàõã³é áàéæ áîëîõ áîëîâ÷ sysinstall õàðèí äàãàäàã: Ýíý çàð÷ìûã äàãàñíààð ñóóëãàöûã öýâýðõýí áîëãîäîã. Òà ýíý àéë ñèñòåìèéã õààíà ÷ õîëáîæ áîëîõ á°ã°°ä ýíý æèøýýí äýýð áîë óã àéë ñèñòåìèéã /diskn ãýñýí ñàí äîòîð õîëáîñîí áàéíà. n ³ñýã íü äèñêíèé äóãààðóóäûã èëýðõèéëæ áàéíà. ýõäýý òà õ³ñâýë °°ð ãàçàð õîëáîæ áîëíî. Õóâààãäëûíõàà çàãâàðàà èíãýæ õèéæ äóóñààä sysinstall-ã àøèãëàæ ³³ñãýõ õýðýãòýé. ³ñãýõ ³åä äàðààõ ìýäýãäëèéã òàíä õàðóóëäàã: Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk space (200MB or more) and don’t have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don’t care for the layout chosen by (A)uto, press F1 for more information on manual layout. [ OK ] [ Press enter or space ]
³íèé õ°ðâ³³ëáýë: Ìýäýãäýë Òà îäîî, fdisk àøèãëàí áèé áîëãîñîí õóâààëòààð BSD õóâààëò ³³ñãýõ õýðýãòýé. Õýðýâ òàíä òîäîðõîé õýìæýýíèé äèñêíèé çàé (200MB ýñâýë ò³³íýýñ äýýø) áàéãàà á°ã°°ä ÿìàð íýãýí îíöãîé øààðäëàãà òàâèãäààã³é áîë (A)uto òóøààëûã àøèãëàí äèñêíèé çàéã àâòîìàòààð òîõèðóóëæ áîëíî. Õýðýâ òàíä îíöãîé øààðäëàãà áèé þì óó ýñâýë (A)uto òóøààëààð ³³ñãýõ áàéðëóóëàëò òèéì ÷óõàë áèø áîë F1 òîâ÷ äàðæ ãàðûí àâëàãà äýýðõ íýìýëò ìýäýýëëèéã õàðæ áîëíî [ OK ] [ enter òîâ÷ ýñâýë çàé àâàã÷ òîâ÷ äàðíà óó]
Enter òîâ÷ äàðæ FreeBSD-í äèñê õóâààëòûã ³³ñãýæ áè÷äýã Disklabel íýðòýé ïðîãðàì õàðóóëàãäàíà.
Figure 2-18 äýýð Disklabel -ã àíõ ýõë³³ëýõ ³åèéã õàðóóëñàí. Äýëãýö ãóðâàí õýñýãò õóâààãäñàí áàéãàà.
Ýõíèé õýäýí ì°ð°íä, òàíû àæèëëàæ áàéãàà äèñêíèé íýðèéã õàðóóëñàí á°ã°°ä ì°í õóâààãäàë àãóóëñàí ç³ñìýëèéã (ýíä Disklabel ç³ñìýë ãýæ íýðëýëã³é õàðèí Partition name áóþó õóâààëòûí íýð ãýæ íýðëýñýí áàéíà) õàðóóëñàí áàéíà. Ýíý õýñýãò ì°í ç³ñìýëä áóé ñóë õýñãèéí õýìæýýã õàðóóëäàã á°ã°°ä óã çóðàã äýýð áîë óã õýìæýý íü îäîîãîîð ÿìàð ÷ õóâààëòàä õýðýãëýãäýýã³é áàéíà.
38
Chapter 2 FreeBSD ñóóëãàõ íü
Äýëãýöèéí äóíä õýñýã ³³ñãýãäñýí õóâààëòóóäûã õàðóóëäàã á°ã°°ä ³³íä, õóâààëòûí àãóóëæ áàéãàà àéë ñèñòåìèéí íýð, ò³³íèé õýìæýý, ì°í àéë ñèñòåìä õàìààòàé íýìýëò ñîíãîëòóóäûã õàðóóëäàã. Äýëãýöèéí äîîä ãóðàâ äàõü õýñýãò Disklabel äýýð õýðýãëýæ áîëîõ ãàðûí òîâ÷ëóóðóóäûã õàðóóëäàã þì.
í
Figure 2-18. Sysinstall- Disklabel
áóþó äèñêýíä íýð °ã°í çàñâàðëàã÷
Disklabel íü ì°í àâòîìàòààð õóâààëòóóäûã ³³ñãýýä àíõäàã÷ õýìæýýã íü ³³ñãýæ ÷àääàã. Àíõäàã÷
õýìæýý íü õóâààëòûí õýìæýýã òîãòîîõ äîòîîä àëãîðèòìèéí òóñëàìæòàéãààð äèñêèéí õýìæýýí äýýð òóëãóóðëàí òîîöîîëîãääîã. ³íèéã òóðøèõûí òóëä A òîâ÷èéã äàðæ ³çýýðýé. Òýãâýë òàíä Figure 2-19-òàé ò°ñòýé çóðàã õàðóóëàãäàíà. Òàíû õýðýãëýæ áàéãàà äèñêíýýñ õàìààðààä àíõíû çààæ °ãñ°í õýìæýý íü °°ð áàéæ áîëîõ þì. Õýðýâ òà àíõíû õýìæýýã íü õ³ëýýí ç°âø°°ð÷ ë áàéâàë ýíý òèéì ÷óõàë áèø. Note: Àíõäàã÷ õóâààëòàä /tmp ñàíã / õóâààëòààñ òóñàä íü °°ð õóâààëòàä ³³ñãýäýã á°ã°°ä èíãýñíýýð / õóâààëòûã ò³ð çóóðûí àéëóóäààð ò³ðãýí ä³³ðãýõýýñ ñýðãèéëæ °ãä°ã.
39
Chapter 2 FreeBSD ñóóëãàõ íü
í
Figure 2-19. Sysinstall- Disklabel
õýðýãñëèéí àâòîìàò òîõèðóóëàëò
Õýðýâ òà ýíý àâòîìàò àíõäàã÷ õóâààëòûã õ³ñýëã³é, °°ðèéíõ°°ð°° õóâààõûã õ³ñâýë, ñóìòàé òîâ÷ õýðýãëýæ ñîíãîîä D òîâ÷ äàðæ óñòãààðàé. Óã òîâ÷èéã äàõèí äàõèí äàðæ á³õ ñàíàë áîëãîñîí õóâààëòûã óñòãàíà. Ýõíèé õóâààëòûã ³³ñãýõèéí òóëä (a ³ñýã íü / — root áóþó ýõ àéëûí ñèñòåì áîëäîã), äýëãýöèéí äýýä õýñýãò áóé ç³ñìýëèéã ñîíãîæ áàéãààä C òîâ÷ äàðàõ õýðýãòýé. Ëàâëàæ àñóóõ öîíõ ãàð÷ èðýõ á°ã°°ä óã öîíõîíä øèíý ³³ñãýõ õóâààëòûí õýìæýýã (Figure 2-20 äýýð õàðóóëñàí øèã) øààðääàã. Òà õýðýâ õ³ñâýë, óã òàëáàðò õóâààëòûí õýìæýýã äèñêíèé áëîê õýìæýýã, ýñâýë òîî îðóóëààä àðä íü M ³ñýã òàâüæ ìåãàáàéòààð, G ³ñýã òàâüæ ãèãàáàéòààð, ýñâýë C ³ñýã òàâüæ öèëèíäðèéí òîîãîîð èëýðõèéëæ °ã÷ áîëäîã. Figure 2-20. Root
áóþó ýõ õóâààëò äýýðõ ñóë çàé
Àíõíû õàðóóëæ áàéãàà õýìæýý íü ç³ñìýë äýýð ³ëäñýí õýìæýýã çààæ õàðóóëäàã. Õýðýâ òà °ìí° õàðóóëñàí õóâààëòûí õýìæýýã õàðæ áàéãàà áîë Backspace òîâ÷ äàðæ óñòãààä Figure 2-21 äýýð õàðóóëñàí øèã 512M ãýæ îðóóëààä äàðàà íü [ OK ] äýýð äàðàõ õýðýãòýé.
40
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-21. Root partition
áóþó ýõ õóâààëòûí õýìæýý
Õóâààëòàä çîðèóëñàí õýìæýýã çààæ °ãñíèé äàðàà òàíààñ óã õóâààëò äýýð àéë ñèñòåì áàéðëóóëàõ óó ýñâýë swap çàé áàéðëóóëàõ óó ãýæ àñóóäàã. Óã àñóóõ öîíõûã Figure 2-22 äýýð õàðóóëàâ. Ýõíèé õóâààëò çààâàë àéë ñèñòåì áàéõ ¼ñòîé ó÷èð ýíý óäààä FS ãýñýí ñîíãîëòûã ñîíãîîä Enter äýýð äàðàõ õýðýãòýé. Figure 2-22. Root Partition
áóþó ýõ õóâààëòûí ò°ðëèéã ñîíãîõ
ѳ³ëä íü, òà àéë ñèñòåì ³³ñãýæ áàéãàà áîëîõîîð õààíà òàíèóëæ õîëáîõûã Disklabel äýýð çààæ °ã°õ õýðýãòýé. Óã çààëòûã îðóóëäàã öîíõûã Figure 2-23 äýýð õàðóóëàâ. root áóþó ýõ àéë ñèñòåìèéí õîëáîõ öýã áîë / áîëîõîîð òà / ãýæ áè÷ýýä Enter äàðààðàé.
41
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-23. Root-
ã õîëáîõ öýã
Äýëãýöýí äýýð ³³ñãýñýí õóâààëòóóäûã øèíý÷èëæ õàðóóëàõ áîëíî. Òà °ìí° õèéñýí ³éëäëýý áóñàä õóâààëò äýýð õèéõ õýðýãòýé. Õýðýâ òà swap õóâààëò ³³ñãýõ áîëîíãóóò swap õóâààëòûã õîëáîõ øààðäëàãà áàéäàãã³é ó÷èð òàíààñ àéë ñèñòåìèéí õîëáîõ öýã ãýæ àñóóõã³é. ѳ³ëèéí õóâààëò /usr-ã ³³ñãýõ ³åä ñàíàë áîëãîñîí õýìæýýã °°ð÷ë°ëã³é òýð ÷èãýýð íü àâ÷ õýðýãëýñíýýð ç³ñìýëèéí ³ëäñýí á³õ õýìæýýã àøèãëàæ äóóñàõ íü òýð áèëýý. Òàíû FreeBSD DiskLabel äýýðõ ñ³³ë÷èéí õàðóóëàëò íü Figure 2-24 çóðàãòàé ò°ñòýé áàéõ áîëîâ óó. ýõäýý òàíû ñîíãîñîí õýìæýýíýýñ ìýäýýæ °°ð áàéæ áîëíî. Q òîâ÷ äàðæ óã õýñãèéã äóóñãàíà. Figure 2-24. Sysinstall Disklabel
çàñâàðëàã÷
42
2.7
Þó ñóóëãàõàà ñîíãîõ
2.7.1
Chapter 2 FreeBSD ñóóëãàõ íü
Ñóóëãàõ ò³ãýýëòèéí ò°ðë°° ñîíãîõ
ßìàð ò³ãýýëòèéí ò°ð°ë ñóóëãàõ íü ñèñòåìèéã ÿìàð çîðèëãîîð õýðýãëýõ áîëîí äèñêýíä áàéãàà ñóë çàéíààñ ìàø èõ õàìààðíà. Ñóóëãàöàä çîðèóëæ óðüä÷èëàí áýëäñýí ñóóëãàõ õýìæýý íü ñóóëãàæ áîëîõ õàìãèéí áàãà õýìæýýíýýñ ýõë³³ëýýä á³ãäèéã ñóóëãàõ õ³ðòýë áîëîìæ °ãí°. UNIX áà/ýñâýë FreeBSD ñèñòåìèéã øèíýýð ñóð÷ áàéãàà õ³ì³³ñò ýäãýýð ñîíãîëòîîñ íýãèéã íü ñîíãîõ õýðýãòýé áàéõ. Óðüä÷èëàí áýëäñýí ò³ãýýëòèéí ò°ðëèéã °°ð÷èëæ ñóóëãàõ íü äàäëàãàæñàí òóðøëàãàòàé õýðýãëýã÷äýä èë³³òýé çîðèóëàãäñàí áàéäàã. F1 òîâ÷èéã ò³ãýýëòèéí ò°ð°ë á³ð äýýð äàðæ þó àãóóëñàí áîëîõûã íü õàðæ áîëíî. Òóñëàìæ àéëûã õàðñíû äàðàà Enter òîâ÷ äýýð äàðâàë Select Distributions áóþó ò³ãýýëòèéí ò°ð°ë ñîíãîõ öýñýíä áóöàæ î÷äîã. Õýðýâ òà ãðàèê ãîðèìä àæèëëàíà ãýæ áîäîæ áàéâàë X ýýð ýõýëñýí ò³ãýýëòèéí ò°ðë³³äýýñ ñîíãîõ õýðýãòýé. X ñåðâåðèéí òîõèðãîî áîëîí àíõäàã÷ ãðàèê ãîðèìûí îð÷íû ñîíãîëò íü FreeBSD-ã ñóóëãàñíû äàðàà õèéãäýõ ¼ñòîé. Õ ñåðâåðòýé õàìààòàé íýìýëò ìýäýýëëèéã Chapter 5 õýñãýýñ óíøààðàé. Xorg íü àíõäàã÷ààð ñóóãääàã X11-èéí õóâèëáàð þì. Õýðýâ òà öààøäàà °°ðò°° òîõèðóóëñàí ö°ì ýìõýòãýæ áýëäýíý ãýæ áîäîæ áàéãàà áîë source code áóþó ýõ áè÷ëýã àãóóëñàí ñîíãîëòûã ñîíãîõ õýðýãòýé. ßàãààä °°ð÷èëæ òîõèðóóëñàí ö°ì õýðýãòýé òóõàé íýìýëò ìýäýýëëèéã Chapter 8 õýñãýýñ õàðíà óó. Ìýäýýæ, ýëäýâ èä øèäòýé, óÿí õàòàí ñèñòåì áîë þì áîëãîíûã ë àãóóëäàã. Õýðýâ õàíãàëòòàé äèñêíèé õýìæýý òàíä áàéãàà áîë Figure 2-25 çóðàãò õàðóóëñíû äàãóó All ãýäãèéã ñîíãîîä Enter òîâ÷ äàðàõ õýðýãòýé. Õýðýâ òàíä äèñêíèé ñóë çàé òèéì ÷óõàë áîë °°ðò°° òîõèðñîí ò³ãýýëòèéí ò°ðëèéã íü ñîíãîîðîé. Ñóóëãàöûí äàðàà áóñàä ò³ãýýëòèéí ò°ðë°°ñ íýìæ áîëîõ ó÷ðààñ òà ò°ãñ ñîíãîëò áàéõã³é áàéíà ãýæ á³³ öóõàëäààðàé. Figure 2-25.
Ñóóëãàõ ò³ãýýëòèéí ò°ðë°°ñ ñîíãîõ
43
Chapter 2 FreeBSD ñóóëãàõ íü
2.7.2
Ïîðòûí öóãëóóëãûã ñóóëãàõ
Õ³ññýí ò³ãýýëòèéí ò°ðë°° ñîíãîñíû äàðàà FreeBSD-í ïîðòûí öóãëóóëãûã ñóóëãàõ áîëîìæ ãàðäàã. Ïîðòûí öóãëóóëãà ãýäýã íü ïðîãðàì ñóóëãàõ àìàð÷èëñàí àðãà þì. Ïîðòûí öóãëóóëãà íü øààðäëàãàòàé ïðîãðàìûí ýõ áè÷ëýãèéã àãóóëäàãã³é, õàðèí ãóðàâäàã÷ õ°ãæ³³ëýã÷äèéí á³òýýñýí ïðîãðàìûã òàòàæ àâààä õ°ðâ³³ëæ ñóóëãàõ àâòîìàòæóóëñàí ³éëäë³³ä áàéäàã. Chapter 4 äýýð ïîðòûí öóãëóóëãûã õýðýãëýõ òàëààð äóðüäñàí áóé. Ïîðò ñóóëãàõ ïðîãðàì íü òàíû äèñêíèé çàé õàíãàëòòàé ýñýõèéã øàëãàäàãã³é. Òèéì áîëîõîîð äèñêýíä òàíü õàíãàëòòàé çàé áàéãàà òîõèîëäîëä ýíý ñîíãîëòûã õèéõ õýðýãòýé. FreeBSD 7.1 õóâèëáàðûí áàéäëààð áîë ïîðòûí öóãëóóëãà íü îéðîëöîîãîîð 445 MB õýìæýýã äèñêýí äýýð ýçýëäýã. FreeBSD-í õóâèëáàð øèíý÷ëýõ òóòàìä ýíý õýìæýý èõñýíý ãýæ òîîöîõ õýðýãòýé. User Confirmation Requested Would you like to install the FreeBSD ports collection? This will give you ready access to over 19,000 ported software packages, at a cost of around 445 MB of disk space when "clean" and possibly much more than that if a lot of the distribution tarballs are loaded (unless you have the extra CDs from a FreeBSD CD/DVD distribution available and can mount it on /cdrom, in which case this is far less of a problem). The Ports Collection is a very valuable resource and well worth having on your /usr partition, so it is advisable to say Yes to this option. For more information on the Ports Collection & the latest ports, visit: http://www.FreeBSD.org/ports [ Yes ]
No
Ïîðòûí öóãëóóëãà ñóóëãàíà ãýâýë [ Yes ] ãýäãèéã ñîíãîíî, õýðýâ ñóóëãàõã³é ãýâýë [ No ] ãýäãèéã ñîíãîîä Enter òîâ÷ äýýð äàðæ öààø íü ³ðãýëæë³³ëíý. Choose Distributions áóþó ñóóëãàõ ò³ãýýëòèéí ò°ð°ë ñîíãîõ öýñ äàõèí ãàð÷ èðýõ áîëíî.
44
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-26.
Ñîíãîñîí ñóóëãàõ ò³ãýýëòèéí ò°ðë°° ëàâëàõ
Õýðýâ ñîíãîñîí ò³ãýýëòèéí ò°ð°ëä°° òà ñýòãýë õàíãàëóóí áàéãàà áîë ñóìòàé òîâ÷ àøèãëàí Exit öýñèéã ñîíãîîä äàðàà íü [ OK ] ñîíãîëò èäýâõèòýé áàéõ ³åä Enter äýýð äàðæ öààø íü ³ðãýëæë³³ëíý. 2.8
Ñóóëãàöûí ò°õ°°ð°ìæ°° ñîíãîõ
Õýðýâ CDROM ýñâýë DVD-íýýñ ñóóëãàõààð áîë ñóìòàé òîâ÷èéã àøèãëàí Install from a FreeBSD CD/DVD áóþó FreeBSD-ã CD/DVD-íýýñ ñóóëãà ãýäãèéã ñîíãîíî. Äàðàà íü [ OK ] òîâ÷èéã ñîíãîñíû äàðàà Enter òîâ÷ äàðæ ñóóëãàöûã ³ðãýëæë³³ëíý. Ñóóëãàöûí áóñàä ò°ðëèéã ñîíãîõîîð áîë òóõàéí òîõèðñîí ñîíãîëòûã ñîíãîæ õàðãàëçàõ çààâðûã íü äàãàõ õýðýãòýé. F1 òîâ÷ äàðæ ñóóëãàöûí ò°õ°°ð°ìæèéí òóõàé òóñëàìæèéã ³çýæ áîëíî. Enter òîâ÷ äàðæ òóñëàìæààñ ãàðàí ñóóëãàöûí ò°õ°°ð°ìæ ñîíãîõ öýñ ð³³ áóöíà.
45
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-27.
Ñóóëãàöûí ò°õ°°ð°ìæ ñîíãîõ
FTP ñóóëãàöûí ãîðèì: Òàíû ñîíãîæ áîëîõ ãóðâàí ò°ðëèéí FTP ñóóëãàöûí ãîðèì áîë: active FTP áóþó èäýâõèòýé FTP, passive FTP áóþó èäýâõã³é FTP, ýñâýë HTTP proxy áóþó HTTP ïðîêñè. FTP Active (èäýâõèòýé): Install from an FTP server (FTP ñåðâåðýýñ ñóóëãàõ)
Ýíý ñîíãîëò íü á³õ FTP äàìæóóëàëòûã “Active áóþó èäýâõèòýé” ãîðèì àøèãëàæ ã³éöýòãýäýã. Ýíý õîëáîëò íü ãàëò õàíààð äàìæèæ àæèëëàõã³é á°ã°°ä õàðèí èäýâõã³é ãîðèìûã äýìæäýã õóó÷èí FTP ñåðâåð³³äòýé èõýâ÷ëýí àæèëëàäàã. Õýðýâ òàíû õîëáîëò èäýâõã³é ãîðèìä (àíõäàã÷ ãîðèì) ãàöàæ áàéâàë èäýâõèòýé áîëãîîä ³çýõ õýðýãòýé!
FTP Passive (èäýâõã³é): Install from an FTP server through a firewall (ãàëò õàíààð äàìæèæ FTP ñåðâåðýýñ
ñóóëãàõ)
Ýíý ñîíãîëò íü sysinstall-ã á³õ FTP ³éëäëèéã “Passive áóþó èäýâõã³é” ãîðèìä àæèëëàíà ãýæ òîõèðóóëäàã. Ýíý íü äóðûí TCP ïîðò äýýð èðæ áàéãàà õîëáîëòûã ç°âø°°ðä°ãã³é ãàëò õàíààð äàìæèæ àæèëëàõ áîëîìæ °ãä°ã. FTP via a HTTP proxy (HTTP ïðîêñèãîîð äàìæèæ): Install from an FTP server through a http proxy (HTTP ïðîêñèãîîð äàìæèí FTP ñåðâåðýýñ ñóóëãàõ)
Ýíý ñîíãîëò íü sysinstall-ã HTTP ïðîòîêîë àøèãëàí (âýá õ°òë°ã÷ øèã) ïðîêñèòîé õîëáîãäîæ á³õ FTP ³éëäëèéã ã³éöýòãýõýýð òîõèðóóëæ °ãä°ã. Ïðîêñè íü èðñýí õ³ñýëòèéã õ°ðâ³³ëýýä öààø íü FTP ñåðâåð óðóó äàìæóóëäàã. Èíãýñíýýð õýðýãëýã÷èä á³õ FTP õîëáîëòûã õîðèîä HTTP õîëáîëòûã ç°âø°°ðñ°í ãàëò õàíûí äóíäóóð äàìæèõ áîëîìæ îëãîäîã. Ýíý òîõèîëäîëä òà FTP ñåðâåðèéã çààæ °ã°õ°°ñ ãàäíà ì°í ïðîêñèãèéí íýðèéã çààæ °ãä°ã. Ïðîêñè FTP ñåðâåðèéí òîõèðóóëãàä æèíõýíý õîëáîãäîõ ñåðâåðèéíõýý íýðèéã õýðýãëýã÷èéí íýðèéí õýñýã ìýò “@” òýìäãèéí àðààñ îðóóëæ °ã°õ õýðýãòýé. Èíãýñíýýð ïðîêñè ñåðâåðèéã æèíõýíý ñåðâåð ìýò “õóóð÷” àæèëëóóëäàã. Æèøýý íü òà ftp.FreeBSD.org ãýñýí ñåðâåðýýñ ñóóëãàõ õýðýãòýé á°ã°°ä 1234 ïîðò äýýð áóé foo.example.com ãýñýí FTP ïðîêñèãîîð äàìæèõ ¼ñòîé áàéñàí ãýæ àâ÷ ³çüå.
46
Chapter 2 FreeBSD ñóóëãàõ íü
Ýíý òîõèîëäîëä òà ñîíãîõ öýñ ð³³ î÷îîä, FTP õýðýãëýã÷èéí íýðèéã [email protected] ãýæ îðóóëààä íóóö ³ãýíä íü çàõèàíûõàà õàÿãèéã áè÷èõ õýðýãòýé. Ñóóëãàöûí ò°õ°°ð°ìæ°° FTP (ýñâýë ïðîêñè íü äýìæäýã áîë èäýâõã³é FTP) ãýæ ñîíãîîä URL õàÿãèéã ftp://foo.example.com:1234/pub/FreeBSD ãýæ îðóóëíà. ftp.FreeBSD.org-ä áóé /pub/FreeBSD õàÿã íü foo.example.com ãýñýí íýðýýð äàìæèãäàõ á°ã°°ä òà ñóóëãàöûã ýíý ìàøèíààñ (óã ìàøèí òàíû àéëóóäûã ftp.FreeBSD.org õàÿãíààñ òàíä çóó÷èëæ °ãí°) òàòàæ àâ÷ °ãä°ã.
2.9
Ñóóëãàöûã áàòàëæ ã³éöýýõ
Õýðýâ õ³ñâýë, îäîî ñóóëãàöûã ã³éöýòãýæ áîëíî. Ýíý íü ì°í õàòóó äèñêýíä °°ð÷ë°ëò îðóóëàõààñ ñýðãèéëæ öóöàëæ áîëîõ ñ³³ëèéí áîëîìæ þì. User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you’re running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! [ Yes ]
No
[ Yes ] òîâ÷èéã ñîíãîîä Enter òîâ÷ äàðæ ñóóëãàöûã ã³éöýòãýíý.
Ñîíãîñîí ò³ãýýëò, ñóóëãàöûí ò°õ°°ð°ìæ, êîìïüþòåðèéí õóðä çýðãýýñ õàìààðààä ñóóëãàõ õóãàöàà íü ÿíç á³ð. Ñóóëãàöûí ³åä ÿâöûí ò°ë°â áàéäëûã èëýðõèéëñýí õýä õýäýí áè÷èãëýë õàðóóëàãääàã. Äàðààõ áè÷èãëýë õàðóóëàãäñàí ³åä ñóóëãàö ã³éöñýí áàéäàã: Message
Congratulations! You now have FreeBSD installed on your system. We will now move on to the final configuration questions. For any option you do not wish to configure, simply select No. If you wish to re-enter this utility after the system is up, you may do so by typing: /usr/sbin/sysinstall. [ OK ] [
Press enter or space
]
Enter òîâ÷ äýýð äàðæ ñóóëãàöûí äàðààõ òîõèðóóëãûã õèéõ øàòàíä îðäîã.
[ No ] òîâ÷èéã ñîíãîîä Enter òîâ÷ äàðâàë ñóóëãàö öóöëàãäàõ á°ã°°ä ñèñòåìä ÿìàð ÷ °°ð÷ë°ëò õèéãäýõã³é. Òýãýýä äàðààõ ìýäýýëëèéã õàðóóëäàã: Message Installation complete with some errors. You may wish to scroll through the debugging messages on VTY1 with the scroll-lock feature. You can also choose "No" at the next prompt and go back into the
47
Chapter 2 FreeBSD ñóóëãàõ íü installation menus to retry whichever operations have failed. [ OK ]
Þó ÷ ñóóëãààã³é òîõèîëäîëä ýíý ìýäýýëýë õàðóóëàãääàã. Enter òîâ÷ äàðæ ñóóëãàöààñ ãàð÷ áîëîõ Ñóóëãàöûí ³íäñýí öýñýíä áóöàæ î÷äîã. 2.10
Ñóóëãàöûí äàðààõ òîõèðãîî
Àìæèëòòàé ñóóëãàöûí äàðàà ìàø îëîí òîõèðóóëãûí õýñýã ýõýëäýã. Óã òîõèðóóëãûã, øèíýýð FreeBSD-ã à÷ààëàõûí °ìí° õèéæ áîëîõ á°ã°°ä ýñâýë ñóóëãàöûí äàðàà sysinstall-ã àæèëëóóëàí Configure-ã ñîíãîæ òîõèðãîîã äàõèí õèéæ áîëäîã. 2.10.1
ѳëæýýíèé òîõèðãîî
Õýðýâ òà °ìí° íü FTP ñóóëãàö õèéõäýý òîõèðóóëãà õèé÷èõñýí áîë, ýíý äýëãýö òàíä õàðóóëàãäàõã³é á°ã°°ä õýðýâ äàõèí òîõèðóóëàõ øààðäëàãàòàé áîë °ìí° áè÷ñýíèé äàãóó ³éëäýõ áîëîìæ áóé. Äîòîîä ñ³ëæýýíèé òóõàé íàðèéâ÷èëñàí ìýäýýëýë ì°í FreeBSD-ã ñ³ëæýýíèé gateway/router áóþó õààëãà/äàìæóóëàã÷ (ãàðö/÷èãë³³ëýã÷) õýðõýí áîëãîõ òàëààð Íýìýëò ñ³ëæýý õýñãýýñ õàðíà óó. User Confirmation Requested Would you like to configure any Ethernet or SLIP/PPP network devices? [ Yes ]
No
ѳëæýýíèé ò°õ°°ð°ìæèéã òîõèðóóëàõûã õ³ñâýë [ Yes ] ãýæ ñîíãîîä Enter òîâ÷ äýýð äàðàõ õýðýãòýé. ã³é áîë [ No ] ãýäãèéã ñîíãîîä öààø íü ³ðãýëæë³³ëýýðýé. Figure 2-28.
ѳëæýýíèé ò°õ°°ð°ìæ ñîíãîõ íü
Òîõèðóóëàõ ò°õ°°ð°ìæ°° ñóìòàé òîâ÷ õýðýãëýæ ñîíãîîä Enter òîâ÷ äýýð äàðíà.
48
Chapter 2 FreeBSD ñóóëãàõ íü User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes
[ No ]
Ýíý æèøýý áîëãîæ àâñàí õóâèéí ëîêàë ñ³ëæýýíä îäîî ñîíãîñîí áàéãàà èíòåðíýò ò°ðëèéí ïðîòîêîë íü (IPv4) á³ðýí õàíãàëòòàé áîëîõîîð [ No ] ãýæ ñîíãîãäîîä Enter òîâ÷ äàðàãäñàí áàéíà. Õýðýâ òà °ìí° íü áàéñàí IPv6 ñ³ëæýýãýýð RA ñåðâåð óðóó õîëáîãäñîí áàéãàà áîë [ Yes ] ãýæ ñîíãîîä Enter äàðàõ õýðýãòýé. Èíãýñíèé äàðàà õýñýã õóãàöààíû òóðø RA ñåðâåðèéã õàéäàã. User Confirmation Requested Do you want to try DHCP configuration of the interface? Yes
[ No ]
Õýðýâ DHCP (Dynamic Host Configuration Protocol áóþó Äèíàìèêààð êîìïüþòåðèéã òîõèðóóëàõ ïðîòîêîë) øààðäëàãàã³é áîë [ No ] ãýæ ñîíãîîä Enter äýýð äàðàõ õýðýãòýé. [ Yes ] ãýæ ñîíãîñíîîð dhclient õýðýãñëèéã àæèëëóóëäàã á°ã°°ä õýðýâ ýíý íü àìæèëòòàé áîëâîë ñ³ëæýýíèé òîõèðãîî àâòîìàòààð õèéãäñýí áàéäàã. Íýìýëò ìýäýýëýë àâàõûã õ³ñâýë Section 29.5 õýñãýýñ õàðíà óó. Äàðààõ ñ³ëæýýã òîõèðóóëàõ öîíõîíä, óã ñèñòåìèéã äîòîîä ñ³ëæýýíèé gateway áóþó õààëãà áîëãîí òîõèðóóëæ áàéãààã õàðóóëæ áàéíà. Figure 2-29. ed0-
ä ñ³ëæýýíèé òîõèðãîîã õèéõ íü
Tab òîâ÷ õýðýãëýí òîõèðãîîíû òàëáàðóóäàä ñýëãýæ øààðäëàãàòàé òîõèðóóëãûã íü îðóóëààðàé: Host áóþó óã êîìïüþòåðèéí íýð
Óã êîìïüþòåðèéí á³ðýí íýð. Æèøýý íü ýíý òîõèîëäîëä k6-2.example.com. Domain áóþó äîìýéí Òàíû êîìïüþòåðèéí àøèãëàæ áóé äîìýéí íýð. Ýíý òîõèîëäîëä example.com áîëæ áàéíà.
49
Chapter 2 FreeBSD ñóóëãàõ íü IPv4 Gateway áóþó õààëãà
Äîòîîä áèø êîìïüþòåð óðóó °ã°ãä°ë öààø äàìæóóëàí èëãýýã÷ êîìïüþòåðèéí IP õàÿã. Õýðýâ òàíû òîõèðóóëæ áàéãàà ìàøèí òàíü ñ³ëæýýíäýý èéì äàìæóóëàã÷èéí ³³ðýã ã³éöýòãýã÷ áèø, õàðèí òèéì äàìæóóëàã÷èéã àøèãëàäàã áîë, ýíý òàëáàðò á°ãë°°ðýé. Õýðýâ òàíû ìàøèí èíòåðíýò óðóó îðóóëäàã gateway áóþó õààëãàíû ³³ðýã ã³éöýòãýäýã áîë, ýíý òàëáàðûã õîîñîí îðõèõ ¼ñòîé . IPv4 Gateway áóþó õààëãà íü àíõäàã÷ õààëãà þì óó ýñâýë àíõäàã÷ route áóþó çàì çààã÷ ãýæ íýðëýãääýã. Name server áóþó Íýðèéí ñåðâåð Äîòîîä DNS ñåðâåðèéí IP õàÿã. Õýðýâ äîòîîä õóâèéí ñ³ëæýýíä DNS ñåðâåð ãýæ áàéõã³é áîë èíòåðíýòýýð õàíãàã÷ áàéãóóëëàãûí DNS ñåðâåðèéí õàÿãèéã îðóóëæ °ãä°ã. (ýíý æèøýýíä 208.163.10.2).
IPv4 õàÿã
Ýíý ñ³ëæýýíèé ò°õ°°ð°ìæèä °ã°ãäñ°í IP õàÿã íü 192.168.0.1 ãýæ òîõèðóóëàãäàæ áàéíà Netmask áóþó ñ³ëæýýíèé àíãèëàã÷ Ýíý äîòîîä ñ³ëæýýíèé õàÿãèéí õóâüä àøèãëàãäàõ õàÿãèéí áëîê íü 255.255.255.0 á³õèé ñ³ëæýýíèé àíãèëàã÷òàé áàéõ á°ã°°ä èíãýñíýýð õàÿãëàëò íü 192.168.0.0 - 192.168.255.255 õ³ðòýë áàéõ áîëíî. Extra options to ifconfig áóþó ifconfig-í íýìýëò òîõèðãîîíóóä ifconfig äýýð íýìýãäýõ ñ³ëæýýíèé ò°õ°°ð°ìæòýé õîëáîîòîé íýìýëò òîõèðãîîíóóä ýíä áè÷èãäýíý. Ýíý æèøýýí äýýð íýìýõ ç³éë áàéõã³é áàéíà. Õýðýâ äóóññàí áîë Tab òîâ÷ àøèãëàí [ OK ] öýñèéã ñîíãîîä Enter òîâ÷ äàðíà. User Confirmation Requested Would you like to Bring Up the ed0 interface right now? [ Yes ]
No
[ Yes ] ãýæ ñîíãîîä Enter òîâ÷ äàðñíààð óã ìàøèíû ñ³ëæýýíèé õîëáîëòûã èäýâõæ³³ëäýã. Íýãýíò
ìàøèíûã äàðàà íü äàõèí à÷ààëàõ õýðýã ãàðäàã áîëîõîîð ýíý õîëáîëò íü íýã èõ àøèãëàãäààä áàéäàãã³é áèëýý. 2.10.2 Gateway
áóþó ñ³ëæýýíèé õààëãàíû òîõèðãîî
User Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ]
No
Õýðýâ óã ìàøèí íü, äîòîîä ñ³ëæýýíä õààëãà÷èéí ³³ðýã ã³éöýòãýæ ìàøèíóóäûí õîîðîíä áàãö ìýäýýëë³³äèéã äàìæóóëàõ ³³ðýãòýé áîë [ Yes ] ãýäãèéã ñîíãîîä Enter äýýð äàðààðàé. Õýðýâ ç°âõ°í ñ³ëæýýíä õîëáîãäîõ ìàøèí áîë [ No ] ãýæ ñîíãîîä Enter äýýð äàðæ ³ðãýëæë³³ëíý.
50
Chapter 2 FreeBSD ñóóëãàõ íü
2.10.3
Èíòåðíýò ³éë÷èëãýýí³³äèéã òîõèðóóëàõ
User Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes
[ No ]
Õýðýâ [ No ] ãýæ ñîíãîâîë, telnetd ãýõ ìýò ò°ð°ë á³ðèéí ³éë÷èëãýýí³³äèéã õîðüäîã. Èíãýñýí ³åä àëñààñ õîëáîãäîõ õýðýãëýã÷ íü telnet ìýòèéí ïðîãðàì õýðýãëýæ óã ìàøèí óðóó õîëáîãäîæ ÷àäàõã³é áîëíî ãýñýí ³ã. Õàðèí äîòîîä õýðýãëýã÷èä áîë ãàäààä ìàøèí óðóó telnet-ã àøèãëàí õîëáîãäîæ ÷àäñààð áàéõ áîëíî. Ýäãýýð ³éë÷èëãýýí³³äèéã ñóóëãàöûí äàðàà /etc/inetd.conf àéëûã äóðòàé çàâñàðëàã÷ààðàà íýýæ çàñâàðëàñíààð èäýâõæ³³ëæ áîëäîã. Ýíý òóõàé äýëãýðýíã³é ìýäýýëëèéã Section 29.2.1 õýñãýýñ õàðíà óó. Õýðýâ òà ñóóëãàæ áàéõ ÿâöàä ýäãýýð ³éë÷èëãýýí³³äèéã òîõèðóóëàõûã õ³ñâýë [ Yes ] ãýæ ñîíãîíî. Íýìýëò ëàâëàæ àñóóñàí öîíõ õàðóóëàãäàõ áîëíî: User Confirmation Requested The Internet Super Server (inetd) allows a number of simple Internet services to be enabled, including finger, ftp and telnetd. Enabling these services may increase risk of security problems by increasing the exposure of your system. With this in mind, do you wish to enable inetd? [ Yes ]
No
[ Yes ] äýýð äàðæ ³ðãýëæë³³ëýýðýé. User Confirmation Requested inetd(8) relies on its configuration file, /etc/inetd.conf, to determine which of its Internet services will be available. The default FreeBSD inetd.conf(5) leaves all services disabled by default, so they must be specifically enabled in the configuration file before they will function, even once inetd(8) is enabled. Note that services for IPv6 must be separately enabled from IPv4 services. Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to use the current settings. [ Yes ]
No
[ Yes ] ãýæ ñîíãîñíîîð òîõèðóóëãûí àéëûã çàñâàðëàã÷ àéë äýýð íýýäýã á°ã°°ä ì°ðíèé óðä íü áóé # òýìäãèéã àâñàíààð òóõàéí ³éë÷èëãýýã èäýâõæ³³ëäýã.
51
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-30. inetd.conf
àéëûã çàñâàðëàõ íü
Õ³ññýí ³éë÷èëãýýãýý íýìñíèé äàðàà Esc òîâ÷ äàðâàë, õèéñýí °°ð÷ë°ëò°° õàäãàëààä ãàðàõ ñîíãîëòòîé öýñ õàðóóëàãääàã. 2.10.4 SSH
íýâòðýëòèéã èäýâõæ³³ëýõ íü User Confirmation Requested Would you like to enable SSH login? Yes [ No ]
[ Yes ]-ã ñîíãîñíîîð OpenSSH-èéí äåìîí ïðîãðàì áîëîõ sshd(8)-ã èäýâõæ³³ëýõ áîëíî. Ýíý íü òàíû ìàøèí ðóó àëñààñ àþóëã³éãýýð õàíäàõ áîëîìæèéã îëãîíî. OpenSSH-èéí òàëààð äýëãýðýíã³é ìýäýýëëèéã Section 14.11-ñ ³çíý ³³.
2.10.5 Anonymous
áóþó íýð íü ³ë ìýäýã÷ FTP ³éë÷èëãýý
User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes
[ No ]
2.10.5.1 Anonymous áóþó íýð íü ³ë ìýäýãäýã÷ FTP õýðýãëýã÷èéã õîðèãëîõ
Àíõäàã÷ ñîíãîãäñîí áàéãàà [ No ] ãýäýã äýýð Enter äàðâàë íýð íü ³ë ìýäýãäýã÷ýýð FTP ³éë÷èëãýýã õîðèãëîäîã á°ã°°ä õàðèí FTP õàíäàõ ýðõòýé áà íóóö ³ãòýé õýðýãëýã÷èä õàíäàæ áîëäîã. 2.10.5.2 Anonymous áóþó íýð íü ³ë ìýäýãäýã÷ FTP õýðýãëýã÷èéã ç°âø°°ð°õ
Ýíý òîõèîëäîëä õ³í áîëãîí òàíû ìàøèí óðóó íýð íü ³ë ìýäýãäýã÷ áîëæ FTP õîëáîëò õýðýãëýí õàíäàæ áîëäîã. Íóóöëàë áîëîí àþóëã³é áàéäëûíõàà òàëààð ñàéí áîäñîíû äàðàà ýíý ³éë÷èëãýýã õýðýãëýõ
52
Chapter 2 FreeBSD ñóóëãàõ íü
ýñýõýý øèéäýõ õýðýãòýé. Íóóöëàë áîëîí àþóëã³é áàéäëûí òàëààð Chapter 14 õóóäñàíä áè÷ñýí áóé. anonymous áóþó íýð íü ³ë ìýäýãäýã÷ FTP õýðýãëýã÷èéã ç°âø°°ð°õèéí òóëä, ñóìòàé òîâ÷ àøèãëàí [ Yes ] ãýæ ñîíãîîä Enter äàðààðàé. Íýìýëò áàòëàëò õ³ëýýõ äýëãýö õàðóóëàãäàõ áîëíî: User Confirmation Requested Anonymous FTP permits un-authenticated users to connect to the system FTP server, if FTP service is enabled. Anonymous users are restricted to a specific subset of the file system, and the default configuration provides a drop-box incoming directory to which uploads are permitted. You must separately enable both inetd(8), and enable ftpd(8) in inetd.conf(5) for FTP services to be available. If you did not do so earlier, you will have the opportunity to enable inetd(8) again later. If you want the server to be read-only you should leave the upload directory option empty and add the -r command-line option to ftpd(8) in inetd.conf(5) Do you wish to continue configuring anonymous FTP? [ Yes ]
No
Ýíý ìýäýãäýë íü õýðýâ òà íýð íü ³ë ìýäýãäýã÷ FTP õîëáîëòóóäûã ç°âø°°ð°õèéã õ³ñýæ áàéãàà áîë FTP ³éë÷èëãýýã /etc/inetd.conf àéëä áàñ èäýâõæ³³ëýõ ¼ñòîéã ìýäýýëæ áàéíà, Section 2.10.3-ã ³çíý ³³. ðãýëæë³³ëýõèéí òóëä [ Yes ]-ã ñîíãîæ Enter-ã äàðíà; äîîð ³ç³³ëñýí äýëãýö ãàðàõ áîëíî: Figure 2-31. Anonymous
íýð íü ³ë ìýäýãäýã÷ FTP ³éë÷èëãýýíèé àíõäàã÷ òîõèðãîî
Ìýäýýëëèéí òàëáàðóóäûã ñîíãîõûí òóëä Tab àøèãëàæ òîõèðîõ ìýäýýëëèéã îðóóëàõ õýðýãòýé: UID
Íýð íü ³ë ìýäýãäýõ FTP õýðýãëýã÷èä °ã°õèéã õ³ññýí õýðýãëýã÷èéí ID. Õóóëàãäñàí á³õ àéëóóäûã ýíý ID ýçýìøèõ áîëíî.
53
Chapter 2 FreeBSD ñóóëãàõ íü Group
Íýð íü ³ë ìýäýãäýõ FTP õýðýãëýã÷èéã àëü á³ëýãò áàéõûã çààíà. Comment /etc/passwd
àéë äàõü ýíý õýðýãëýã÷èéí òàéëáàðëàñàí ì°ð.
FTP Root Directory
Íýð íü ³ë ìýäýãäýõ FTP-ä çîðèóëñàí àéëóóä õààíà áàéõûã çààíà. Upload Subdirectory
Íýð íü ³ë ìýäýãäýõ FTP õýðýãëýã÷äèéí õóóëñàí àéëóóä áàéõ ñàí. FTP-í root áóþó ýõ ñàí íü àíõäàã÷ òîõèðãîîãîîð /var ñàíä áàéðëàãääàã. Õýðýâ òýíä õàíãàëòòàé çàé áàéõã³é áîë /usr ñàíã àøèãëàæ FTP ýõ ñàíãàà /usr/ftp ãýæ òîõèðóóëæ áîëîõ þì. Õýðýâ òà îðóóëñàí óòãóóäûã ç°â áîëñîí ãýæ áîäîæ áàéãàà áîë Enter äýýð äàðæ ³ðãýëæë³³ëýýðýé. User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ]
No
Õýðýâ òà [ Yes ] ãýæ ñîíãîîä Enter äýýð äàðâàë, òàíààñ òåêñò îðóóëóóëàõ çîðèëãîîð çàñâàðëàã÷ ïðîãðàì àâòîìàòààð àæèëëàäàã. Figure 2-32. FTP
ìýíä÷èëãýýíèé áè÷ëýãèéã çàñâàðëàõ íü
Ýíý áîë ee ãýã÷ çàñâàðëàã÷ þì. Çààâðûí äàãóó ìýíä÷èëãýýíèé çàõèàã °°ð÷èëæ áîëîõ á°ã°°ä, ýñâýë äàðàà íü °°ðèéí äóðòàé çàñâàðëàã÷ààð íýýæ óã áè÷ëýãèéã °°ð÷èëæ áàñ áîëíî. Òýìäýãëýæ õýëýõýä, óã àéëûí íýð áîëîí áàéðëàë íü ïðîãðàìûí äîîä õýñýãò õàðóóëàãäàæ áàéãààã àíçààðíà óó. Esc äýýð äàðâàë, öýñòýé æèæèã öîíõ ³³ñýõ á°ã°°ä ò³³í äîòîð a) leave editor áóþó çàñâàðëàã÷ààñ ãàðàõ öýñ àíõäàã÷ààð ñîíãîãäñîí áàéäàã. Enter äàðæ ãàðààä ³ðãýëæë³³ëæ áîëíî. Ýñâýë Enter äàõèí äàðæ îðóóëñàí °°ð÷ë°ëò³³äýý õàäãàëäàã.
54
Chapter 2 FreeBSD ñóóëãàõ íü
2.10.6 Network File System
áóþó ñ³ëæýýíèé àéë ñèñòåìèéã òîõèðóóëàõ
Network File System (NFS) íü ñ³ëæýýíä áóé àéëóóäûã õóâààæ õýðýãëýõ áîëîìæ îëãîäîã. Ìàøèí íü ñåðâåð, õýðýãëýã÷ ýñâýë õî¼óëàíãààð íü áîëæ òîõèðóóëàãäàæ áîëäîã. Section 29.3 õýñãýýñ íýìýëò ìýäýýëëèéã õàðíà óó. 2.10.6.1 NFS ñåðâåð User Confirmation Requested Do you want to configure this machine as an NFS server? Yes
[ No ]
Õýðýâ òàíä ñ³ëæýýíèé àéë ñèñòåìèéí ñåðâåð øààðäëàãàã³é áîë [ No ] ãýæ ñîíãîîä Enter äàðààðàé. Õýðýâ ñåðâåð õýðýãòýé ãýâýë [ Yes ] ãýæ ñîíãîõ õýðýãòýé á°ã°°ä òàíä æèæèã öîíõîí äýýð exports àéë ³³ñãýãäýõ ¼ñòîé ãýñýí ñàíóóëãà ãàð÷ èðäýã. Message Operating as an NFS server means that you must first configure an /etc/exports file to indicate which hosts are allowed certain kinds of access to your local filesystems. Press [Enter] now to invoke an editor on /etc/exports [ OK ]
Enter äàðæ ³ðãýëæë³³ëäýã. Òåêñò çàñâàðëàã÷ àæèëëàæ, ò³³íä exports àéëóóäûã ³³ñãýõ áà çàñâàðëàõ ³éëäë³³äèéã ã³éöýòãýäýã. Figure 2-33. exports
àéëûã çàñâàðëàõ íü
Çààâàð àøèãëàí, îäîî áàéãàà àéë ñèñòåìèéã íýìýõ ýñâýë ñ³³ëä äóðòàé çàñâàðëàã÷ààðàà íýýæ çàñâàðëàæ áîëîõ þì. Ôàéëûí íýð áîëîí áàéðøëûã äýëãýöèéí äîîä õýñýãò õàðóóëñàí áàéãààã àíçààðíà óó. Esc äàðàõàä öýñòýé öîíõ ³³ñýõ á°ã°°ä a) leave editor áóþó çàñâàðëàã÷èéã îðõè öýñ àíõëàí ñîíãîãäñîí áàéäàã. Enter äàðæ ãàðààä öààø íü ³ðãýëæë³³ëíý. 55
Chapter 2 FreeBSD ñóóëãàõ íü 2.10.6.2 NFS Client áóþó õýðýãëýã÷
NFS õýðýãëýã÷èä íü NFS ñåðâåð óðóó õîëáîãääîã. User Confirmation Requested Do you want to configure this machine as an NFS client? Yes
[ No ]
Ñóìòàé òîâ÷ àøèãëàí [ Yes ] ýñâýë [ No ] ñîíãîëòûã øèéäâýðýýñýý øàëòãààëàí ñîíãîîä Enter äýýð äàðààðàé. 2.10.7
Ñèñòåìèéí êîíñîë òîõèðãîî
Ñèñòåìèéíõýý êîíñîëûã °°ð÷ë°õ õýä õýäýí òîõèðãîî áàéäàã. User Confirmation Requested Would you like to customize your system console settings? [ Yes ]
No
Òîõèðãîîíû ñîíãîëòóóäûã õàðàõ þì óó òîõèðóóëàõûí òóëä [ Yes ] ãýæ ñîíãîîä Enter äàðíà. Figure 2-34.
Ñèñòåìèéí êîíñîëûí òîõèðóóëãûí ñîíãîëòóóä
Äýëãýö àìðààõ òîõèðãîî áàéíãà õýðýãëýãääýã. Ñóìòàé òîâ÷îîð Saver ãýæ ñîíãîîä Enter äàðààðàé.
56
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-35.
Äýëãýö àìðààõ òîõèðãîî
Ñóì òîâ÷ àøèãëàæ õ³ññýí äýëãýö àìðààõ õ°ò°ëá°ð°° ñîíãîîä Enter äàðíà. Ñèñòåìèéí êîíñîë òîõèðóóëàõ öîíõ áóöàæ ãàð÷ èðäýã. Äýëãýö àìðààõ õ°ò°ëá°ðèéí àæèëëàõ àíõäàã÷ õóãàöàà íü 300 ñåêóíä áàéäàã. Öàãèéí ýíý õóãàöààã °°ð÷ë°õèéíõ òóëä Saver ãýäãèéã äàõèí ñîíãîíî. Ò³³í äîòîð áàéãàà ñîíãîëòóóäààñ Timeout ãýäãèéã ñóìòàé òîâ÷ àøèãëàæ ñîíãîîä Enter äýýð äàðíà. Èíãýõýä òàíä æèæèã öîíõ õàðóóëàãääàã: Figure 2-36.
Äýëãýö àìðààã÷èéí àæèëëàõ õóãàöàà
Óòãûã °°ð÷ë°°ä [ OK ] ãýæ ñîíãîí Enter äýýð äàðæ áóöààä ñèñòåìèéí êîíñîëûí òîõèðãîîíû öýñýíä î÷äîã.
57
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-37.
Ñèñòåìèéí êîíñîëûí òîõèðãîîíîîñ ãàðàõ
Exit ãýäãèéã ñîíãîîä Enter äýýð äàðâàë ñóóëãàöûí äàðààõ òîõèðãîîãîî ³ðãýëæë³³ëýõ õýñýãò î÷èíî.
2.10.8
Öàãèéí á³ñèéã òîõèðóóëàõ
Ìàøèíûõàà öàãèéí á³ñèéã òîõèðóóëñíààð òóõàéí á³ñèéí öàãòàé õîëáîãäîëòîé °°ð÷ë°ëò³³ä àâòîìàòààð õèéãäýõ äàâóó òàëòàé áàéäàã. Æèøýýí äýýð, Àìåðèêèéí Íýãäñýí Óëñûí Eastern áóþó ç³³í õýñãèéí öàãèéí á³ñèéã òîõèðóóëæ áàéíà. Òàíû òîõèðóóëãà áàéãàà ãàçðààñàà øàëòãààëæ °°ð áàéõ áîëíî. User Confirmation Requested Would you like to set this machine’s time zone now? [ Yes ]
No
[ Yes ] ãýæ ñîíãîîä Enter äàðâàë öàãèéí á³ñèéã òîõèðóóëàõ áîëíî. User Confirmation Requested Is this machine’s CMOS clock set to UTC? If it is set to local time or you don’t know, please choose NO here! Yes
[ No ]
Ìàøèíûõàà öàãèéí òîõèðóóëãààñàà õàìààð÷ [ Yes ] ýñâýë [ No ] ãýäãèéã ñîíãîîä Enter äàðíà ( ìýäýõã³é áîë [ No ] ãýäãèéã ñîíãîîðîé ) .
58
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-38.
Îðøèí áóé á³ñýý ñîíãîõ
Òîõèðñîí á³ñýý ñóìòàé òîâ÷ õýðýãëýæ ñîíãîîä Enter äýýð äàðíà. Figure 2-39.
Îðøèí áóé óëñàà ñîíãîõ
Òîõèðîõ óëñàà ñîíãîîä Enter äýýð äàðíà.
59
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-40.
Öàãèéí á³ñýý ñîíãîõ
Ñóìòàé òîâ÷ õýðýãëýæ òîõèðñîí öàãèéí á³ñýý ñîíãîîä Enter äýýð äàðíà. Confirmation Does the abbreviation ’EDT’ look reasonable? [ Yes ]
No
Öàãèéí á³ñèéí òîâ÷ëîë íýðèéã ëàâëàæ àñóóõ õýñýã ãàð÷ èðäýã. Õýðýâ óã òîâ÷ëîë íü òàíä òîõèð÷ áàéâàë Enter äàðæ ñóóëãàöûí äàðààõ òîõèðãîîã öààø íü ³ðãýëæë³³ëýýðýé. 2.10.9
Ëèíóêñ òîõèðîìæ User Confirmation Requested Would you like to enable Linux binary compatibility? [ Yes ]
No
[ Yes ] ãýæ ñîíãîîä Enter äýýð äàðâàë Ëèíóêñèéí ïðîãðàìóóä FreeBSD äýýð àæèëëàõ áîëîìæòîé áîëäîã. Ñóóëãàö íü Ëèíóêñòàé òîõèðîìæòîé àæèëëóóëàõ íýìýëò áàãöûã íýìäýã. Õýðýâ òà FTP-ð ñóóëãàæ áàéãàà áîë ìàøèí èíòåðíýò óðóó õîëáîãäîõ õýðýãòýé áîëíî. Çàðèìäàà àëñàä áóé ftp áàéðëàëä Ëèíóêñèéí òîõèðîìæèéí àéëóóä áàéõã³é áàéäàã. ýâ÷ ³³íèéã ñ³³ëä ñóóëãàõ áîëîìæòîé.
2.10.10
Õóëãàíû òîõèðãîî
Ýíý òîõèðãîî íü òàíûã 3 òîâ÷òîé õóëãàíààð, ïðîãðàì áîëîí êîíñîëä òåêñò òàñäàæ ñàíóóëàõ áîëîí áóóëãàõ áîëîìæ °ãä°ã. Õýðýâ 2 òîâ÷èò õóëãàíà õýðýãëýæ áàéãàà áîë moused(8) ãàðûí àâëàãààñ ëàâëàæ õýðõýí ãóðâàí òîâ÷òîé õóëãàíà áîëãîí àæèëëóóëæ áîëäãèéã õàðæ áîëíî. Ýíý æèøýýí äýýð USB áèø ò°ðëèéí õóëãàíû òîõèðóóëãûã õàðóóëæ áàéíà (PS/2 ýñâýë COM ïîðòîîð õîëáîãääîã õóëãàíà):
60
Chapter 2 FreeBSD ñóóëãàõ íü User Confirmation Requested Does this system have a PS/2, serial, or bus mouse? [ Yes ]
No
[ Yes ] ãýæ PS/2, öóâààà ýñâýë bus áóþó øóãàìàí ò°ðëèéí õóëãàíûã ñîíãîõ þì óó ýñâýë [ No ] ãýæ USB ò°ðëèéí õóëãàíûã ñîíãîîä Enter òîâ÷ äýýð äàðààðàé. Figure 2-41.
Õóëãàíû õîëáîãäîõ ò°ðëèéã ñîíãîõ íü
Ñóìòàé òîâ÷ àøèãëàí Type ãýæ ñîíãîîä Enter äàðíà. Figure 2-42.
Õóëãàíû õîëáîãäîõ ò°ðëèéã òîõèðóóëàõ
Ýíý æèøýýíä õýðýãëýãäýæ áàéãàà õóëãàíà PS/2 ò°ðëèéíõ á°ã°°ä àíõäàã÷ Auto áóþó àâòîìàò ãýñýí òîõèðóóëãà òààð÷ áàéäàã. Ýíý õîëáîãäîõ ò°ðëèéã íü °°ð÷ë°í° ãýâýë ñóìòàé òîâ÷ àøèãëàí ñîíãîîðîé. Äàðàà íü [ OK ]-ã ãýðýëò³³ëæ ñîíãîãäñîí ýñýõèéã ìàãàäëààä Enter äýýð äàðæ ýíý öýñíýýñ ãàðàõ áîëíî.
61
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-43.
Õóëãàíû õîëáîãäîõ ïîðòûã íü ñîíãîõ
Ñóìòàé òîâ÷ àøèãëàí Port öýñèéã ñîíãîîä Enter äýýð äàðíà. Figure 2-44.
Õóëãàíû ïîðòûã òîõèðóóëàõ
Ýíý ñèñòåìä PS/2 ò°ðëèéí õóëãàíà õýðýãëýãäýæ áàéãàà áîëîõîîð àíõäàã÷ òîõèðóóëãà áîëîõ PS/2 ñîíãîãäñîí áàéäàã. Ïîðòûã ñîëèõûí òóëä ñóìòàé òîâ÷ àøèãëàæ ñîíãîîä Enter äýýð äàðààðàé.
62
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-45.
Õóëãàíû Daemon áóþó äàëä ÷°òã°ðèéã èäýâõæ³³ëýõ íü
Ýöýñò íü ñóìòàé òîâ÷ àøèãëààä Enable áóþó èäýâõæ³³ë ãýæ ñîíãîîä Enter òîâ÷ äýýð äàðæ õóëãàíûã àæèëëóóëàã÷ äàëä ÷°òã°ðèéã àæèëëóóëæ ýõýëäýã. Figure 2-46.
Õóëãàíû äàëä ÷°òã°ðèéã øàëãàõ
Õóëãàíàà äýëãýöýí äýýð õ°ä°ëã°æ øàëãàæ ³çýõ õýðýãòýé. Õýðýâ ç³ãýýð áàéõ þì áîë [ Yes ] ãýæ ñîíãîîä Enter äàðíà. Õýðýâ ³ã³é áîë õóëãàíà ç°â òîõèðóóëàãäààã³é áàéíà ãýñýí ³ã — òèéì áîëîõîîð [ No ] ãýæ ñîíãîîä °°ð òîõèðóóëãà õèéæ òóðøèõ õýðýãòýé. Exit áóþó ãàðàõ ãýäãèéã ñóìòàé òîâ÷îîð î÷èæ ñîíãîîä Enter äýýð äàðæ ñóóëãàöûí äàðààõ òîõèðóóëãà óðóó áóöàæ î÷èæ ³ðãýëæë³³ëíý. 2.10.11
Ïðîãðàìûí áàãö ñóóëãàõ
Áàãöóóä íü óðüä÷èëàí õ°ðâ³³ëýãäñýí ïðîãðàìóóä á°ã°°ä ïðîãðàì ñóóëãàõ õàìãèéí ýâòýéõýí àðãà þì.
63
Chapter 2 FreeBSD ñóóëãàõ íü
ç³³ëýõ æóðìààð íýã áàãöûã ñóóëãàõ ÿâöûã ýíä õàðóóëàâ. Õýðýâ øààðäëàãàòàé áîë íýìýëò áàãöóóä ì°í äàâõàð ñóóãääàã. Ñóóëãàñíû äàðàà sysinstall-ã íýìýëò áàãö ñóóëãàõàä õýðýãëýæ áîëíî. User Confirmation Requested The FreeBSD package collection is a collection of hundreds of ready-to-run applications, from text editors to games to WEB servers and more. Would you like to browse the collection now? [ Yes ]
No
[ Yes ] ãýæ ñîíãîîä Enter äàðâàë áàãö ïðîãðàìóóäûã ñîíãîõ öîíõîíä î÷èõ áîëíî: Figure 2-47.
Áàãöûí ò°ðëèéã ñîíãîõ
Ç°âõ°í òóõàéí ³åä ñîíãîãäñîí áàéãàà ñóóëãàöûí ò°ð°ë äýýð áàéãàà áàãöóóä õàðóóëàãäàõ áîëíî. Õýðýâ All ãýæ ñîíãîâîë, áàéãàà á³õ áàãöûã õàðæ áîëíî. Ñóìòàé òîâ÷ àøèãëàí ñîíãîîä Enter äýýð äàðààðàé. Áàéãàà á³õ áàãöóóä ñîíãîãäîæ áîëîõîîð òàíä õàðóóëàãäàõ áîëíî:
64
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-48.
Áàãö ñîíãîõ
Ýíä õàðóóëñíààð bash á³ðõ³³ë ñîíãîãäñîí áàéíà. Space òîâ÷ àøèãëàæ ñóóëãàõûã õ³ññýí á³õ áàãöàà ñîíãîîðîé. Ñîíãîõ á³ðä äýëãýöèéí äîîä õýñýãò áàãöíû òîâ÷ òàéëáàð ãàðäàã. Tab òîâ÷îîð ñîíãîãäñîí áàãö áîëîí [ OK ], áà [ Cancel ] ñîíãîëòóóäûí õîîðîíä äàìæèæ áîëíî. Ñóóëãàõààð õ³ññýí áàãöàà ñîíãîæ äóóññàíû äàðàà Tab òîâ÷ äàðæ [ OK ] ãýæ ñîíãîîä Enter äýýð äàðæ áàãö ñîíãîõ öýñ ð³³ áóöàæ î÷äîã. dz³í áà áàðóóí òîâ÷îîð áàñ [ OK ] áà [ Cancel ]-í õîîðîíä ñýëãýæ áîëíî. Ýíý àðãààð òà áàñ [ OK ] ãýæ ñîíãîîä Enter äýýð äàðæ áàãö ñîíãîõ õýñýãò áóöàæ î÷èæ áàñ áîëíî. Figure 2-49.
Áàãö ñóóëãàõ
Tab þì óó ýñâýë ñóìòàé òîâ÷ àøèãëàí [ Install ] ãýæ ñîíãîîä Enter äàðàõ õýðýãòýé. Òàíû ñîíãîñîí áàãöóóäûã òàíä õàðóóëæ ñóóëãàõûã õ³ñýæ áàéãààã òàíü ëàâëàæ àñóóõ áîëíî:
65
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-50.
Áàãö ñóóëãàëòûí ëàâëàëò
[ OK ] ãýæ ñîíãîîä Enter äàðæ áàãö ñóóëãàëòûã ã³éöýòãýäýã. Ñóóëãàõ ÿâöûí ìýäýãäë³³ä ñóóëãàæ äóóñòàë òàíä õàðóóëàãääàã. Õýðýâ ÿìàð íýã àëäàà ãàðâàë òýìäýãëýæ àâàõ õýðýãòýé. Áàãö ñóóëãàñíû äàðàà ñ³³ëèéí òîõèðãîîã õèéäýã. Òà áàãö ñóóëãàæ äóóññàí ÷ ãýñýí ñ³³ëèéí òîõèðóóëãûã õèéõèéí òóëä Install ãýäãèéã áàñ äàðæ áîëíî.
2.10.12
Õýðýãëýã÷/Á³ëýã íýìýõ
Ñóóëãàöûí ÿâöàä òà õàìãèéí áàãàäàà íýã õýðýãëýã÷èéí ýðõ íýýõ õýðýãòýé á°ã°°ä, ýíý ýðõýýðýý root ýðõ õýðýãëýëã³éãýýð ñèñòåìäýý íýâòýð÷ áîëíî. root õóâààëò íü ãîëäóó òóí áàãà õýìæýýòýé áàéäàã áîëîõîîð root ýðõýýð ïðîãðàì àæèëëóóëáàë ò³ðãýí ä³³ðäýã. Õàìãèéí õýö³³ õ³íäðýëèéã äîîð ìýä³³ëæ áàéíà: User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system). [ Yes ]
No
[ Yes ] ãýæ ñîíãîîä Enter äàðæ øèíý õýðýãëýã÷ íýìýõ áîëíî.
66
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-51. User
áóþó õýðýãëýã÷ ãýæ ñîíãîíî
Ñóìòàé òîâ÷ õýðýãëýí User ãýæ ñîíãîîä Enter äýýð äàðíà. Figure 2-52.
Õýðýãëýã÷èéí ìýäýýëëèéã îðóóëàõ
Tab òîâ÷ õýðýãëýí òàëáàðóóäàä äàìæèí îðóóëãà õèéõ á³ð äîîð õàðóóëñàí òàéëáàðóóä òàëáàð á³ðä õàðóóëàãäàõ áîëíî: Login ID
Õýðýãëýã÷èéí íýâòðýõ øèíý íýð(çààâàë øààðäëàãàòàé). UID
Óã õýðýãëýã÷èéí ID äóãààð (õîîñîí îðõèâîë àâòîìàòààð ñîíãîãäîõ áîëíî).
67
Chapter 2 FreeBSD ñóóëãàõ íü Group
Óã õýðýãëýã÷èéí õàìðàãäàõ á³ëãèéí íýð (õîîñîí îðõèâîë àâòîìàòààð ñîíãîãäîõ áîëíî). Password
Òóõàéí õýðýãëýã÷èéí íóóö ³ã (ýíý òàëáàðò òóí àíõààðàëòàé îðóóëàõ õýðýãòýé!). Full name
Õýðýãëýã÷èéí á³òýí íýð (äýëãýðýíã³é ìýäýýëýë). Member groups
Ýíý õýðýãëýã÷èéí õàìðàãäàæ áîëîõ á³ëã³³ä (°°ð°°ð õýëáýë õàíäàæ áîëîõ á³ëã³³ä). Home directory
Õýðýãëýã÷èéí ýõëýë ñàí (õîîñîí îðõèâîë àâòîìàòààð ñîíãîãäîõ áîëíî ). Login shell
Õýðýãëýã÷èéí õîëáîãäîõ á³ðõ³³ë (õîîñîí îðõèâîë àíõäàã÷ á³ðõ³³ë ñîíãîãäîõ áîëíî. °ð°°ð õýëáýë, /bin/sh). Æèøýýí äýýð bash-ã ñóóëãàñàí áîëîõîîð, /bin/sh ãýäãèéã /usr/local/bin/bash ãýæ îðëóóëæ áîëíî. Ñóóãäààã³é á³ðõ³³ë õýðýãëýâýë ñèñòåì óðóóãàà íýâòýð÷ ÷àäàõã³é áîëíî. BSD åðò°íö°ä õàìãèéí °ðã°í õýðýãëýäýã á³ðõ³³ë áîë C á³ðõ³³ë á°ã°°ä /bin/tcsh ãýæ îëääîã. Ì°í ýíý õýðýãëýã÷ íü wheel á³ëýã ð³³ íýìýãäñýí á°ã°°ä èíãýñíýýð root ýðõ³³äòýé ñóïåð õýðýãëýã÷ áîëîõ áîëîìæòîé áîëíî. Õýðýâ òà îðóóëñàí ìýäýýëëýý ç°â áîëëîî ãýæ áîäîæ áàéãàà áîë [ OK ] äýýð äàðàõàä õýðýãëýã÷ áà á³ëýã íýìýõ öîíõ äàõèí õàðóóëàãääàã: Figure 2-53.
Õýðýãëýã÷ áà á³ëýã çîõèöóóëàõ õýñãýýñ ãàðàõ
Õýðýãöýýòýé áîë ýíý ³åä á³ëýã íýìæ áîëíî. Õýðýâ øààðäëàãà ãàðâàë ñóóëãàöûí äàðàà sysinstall àøèãëàí íýìæ áîëíî.
68
Chapter 2 FreeBSD ñóóëãàõ íü
Õýðýâ òà õýðýãëýã÷ íýìæ äóóññàí áîë ñóìòàé òîâ÷ àøèãëàí Exit ãýæ ñîíãîîä Enter äýýð äàðæ ñóóëãàöàà ³ðãýëæë³³ëýýðýé. 2.10.13 root
íóóö ³ã îðóóëàõ
Message Now you must set the system manager’s password. This is the password you’ll use to log in as "root". [ OK ] [ Press enter or space ]
Enter äýýð äàðæ root íóóö ³ã îðóóëíà.
Íóóö ³ãèéã õî¼ð óäàà ç°â îðóóëàõ ¼ñòîé. Ìàðòàõààðã³é íóóö ³ã îðóóëààðàé ãýæ ñàíóóëàõ íü èë³³äýõ áàéõ. Òàíû îðóóëñàí íóóö ³ãèéã äàâòàæ õàðóóëàõ þì óó ýñâýë îäîîð ä³ðñýëæ õàðóóëàõã³é áîëîõûã ñàíóóëæ áàéíà. New password: Retype new password :
Íóóö ³ãèéã àìæèëòòàé îðóóëñíû äàðàà ñóóëãàö öààøààãàà ³ðãýëæëýõ áîëíî. 2.10.14
Ñóóëãàöààñ ãàðàõ
Õýðýâ òà îäîî íýìýëò ñ³ëæýýíèé òîõèðãîî þì óó ýñâýë ÿìàð íýãýí °°ð òîõèðãîî õèéõèéã õ³ñâýë, òà ÿã îäîî þì óó ýñâýë ñóóëãàñíû äàðàà sysinstall àøèãëàæ ñóóëãàíà. User Confirmation Requested Visit the general configuration menu for a chance to set any last options? Yes
[ No ]
Ñóìòàé òîâ÷îîð [ No ] ãýæ ñîíãîîä Enter äýýð äàðæ ³íäñýí ñóóëãàöûí öýñ ð³³ áóöàõ áîëíî.
69
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-54.
Ñóóëãàöààñ ãàðàõ
Ñóìòàé òîâ÷îîð [X Exit Install] ãýäãèéã ñîíãîí Enter äýýð äàðíà. Òàíààñ ãàðàõ ãýæ áóéã òàíü ëàâëàæ àñóóõ áîëíî: User Confirmation Requested Are you sure you wish to exit? The system will reboot (be sure to remove any floppies/CDs/DVDs from the drives). [ Yes ]
No
Õýðýâ óÿí äèñêíýýñ ýõë³³ëñýí áîë [ Yes ] ãýæ ñîíãîîä óÿí äèñêèéã àâàõ õýðýãòýé. CDROM õ°òë°ã÷ íü ìàøèíûã øèíýýð à÷ààëàãäàõ õ³ðòýë ò³ãæèãäñýí áàéäàã áîëîõîîð à÷ààëàãäàõ ³åä CDROM-ñ ãàðãàõ õýðýãòýé (àëü áîëîõ ò³ðãýí). Ñèñòåì îäîî øèíýýð à÷ààëàãäàõ á°ã°°ä ÿìàð íýãýí àëäàà ãàðàõûã àæèãëàõ õýðýãòýé. Äýëãýðýíã³éã Section 2.10.16-ñ ³çíý ³³. 2.10.15
ѳëæýýíèé ³éë÷èëãýýíèé íýìýëò òîõèðãîî
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. ѳëæýýíèé ³éë÷èëãýýí³³äèéã òîõèðóóëàõ íü, ýíý òàëûí ìýäëýãã³é øèíý õýðýãëýã÷äýä íýëýýí õàòóó áîîðöîã ìýò ñàíàãääàã. ѳëæýýíèé òîõèðãîîã õèéæ èíòåðíýò õýðýãëýíý ãýäýã áîë FreeBSD-ã îðóóëààä îð÷èí ³åèéí ³éëäëèéí ñèñòåì³³äýä ìàø ÷óõàë ³éëäýë á°ã°°ä èíãýæ ñóðàõ ÿâöäàà FreeBSD-í ñ³ëæýýòýé õîëáîîòîé íýìýëò áîëîìæóóäûã îéëãîæ àâäàã. Ñóóëãàöûí ÿâöàä ýíý ³éëäëèéã õèéõýýñýý °ìí°, õýðýãëýã÷ íü õýðýãëýõ ³éë÷èëãýýíèéõýý òóõàé òîäîðõîé îéëãîëòòîé áàéõ ¼ñòîé. ѳëæýýíèé ³éë÷èëãýýí³³ä íü, ñ³ëæýýãýýð ÿìàð íýãýí îðóóëãà õ³ëýýæ àâäàã ïðîãðàìóóäûã õýëæ áàéãàà þì. Ýäãýýð ïðîãðàìóóäûã “ ýâäýëæ ñ°í°°ä°ã ” ò°ðëèéíõ áèø áàéëãàõ ãýæ ìàø èõ õè÷ýýñýí áàéäàã. Õàðàìñàëòàé íü ïðîãðàì÷èä ò°ãñ áèø áàéäàã áîëîõîîð ñ³ëæýýíèé ³éë÷èëãýýíä áàéãàà ÿìàð íýã öîîðõîé í³õ õîðõîéã äîâòëîã÷èä àøèãëàí ìóó þìàíä õýðýãëýäýã. Òà ç°âõ°í °°ðèéíõ°° ìýääýã áîëîí õýðýãòýé ñ³ëæýýíèé ³éë÷èëãýýãýý èäýâõæ³³ëýõ íü ÷óõàë. Õýðýâ òàíä ýðãýëçýýòýé áàéãàà áîë, óã ³éë÷èëãýýã õýðýãöýýòýé áîëîõ õ³ðòëýý õîðüñîí áàéõ íü äýýð áàéäàã. Òà ³³íèéã ñ³³ëä sysinstall àøèãëààä þì óó ýñâýë /etc/rc.conf àéëûí òóñëàìæòàéãààð õýçýýä èäýâõæ³³ëæ áîëíî. 70
Chapter 2 FreeBSD ñóóëãàõ íü Networking òîõèðóóëãûã ñîíãîõîä äîîð äóðäñàíòàé ò°ñòýé öýñèé㠳糳ëýõ áîëíî: Figure 2-55.
ѳëæýýíèé äýýä ò³âøíèé òîõèðãîî
Ýõíèé òîõèðãîî Interfaces áóþó ñ³ëæýýíèé ò°õ°°ð°ìæèéí òàëààð áèä °ìí° íü Section 2.10.1 õýñýãò ³çñýí áîëîõîîð ýíä àëãàñëàà. AMD ñîíãîëòûã ñîíãîñíîîð BSD automatic mount áóþó àâòîìàòààð òàíüæ õîëáîõ õýðýãñëèéã íýìæ °ãä°ã. Ýíý íü ãîëäóó NFS õîëáîëò (°ìí° òàéëáàðëàñàí áóé) àøèãëàõ ³åä, àëñàä áóé àéë ñèñòåìèéã òàíüæ õîëáîõîä õýðýãëýãääýã. ßìàð íýãýí îíöãîé òîõèðóóëãà ýíä øààðäëàãàã³é. Äàðààãèéí òîõèðóóëãà, AMD Flags ñîíãîëò. Õýðýâ ýíý ñîíãîãäâîë æèæèã öýñòýé öîíõ ³ñýð÷ ãàð÷ èðäýã á°ã°°ä ÿìàð AMD òîõèðãîî õèéõèéã çààæ °ãä°ã. Óã öýñýíä àíõäàã÷ òîõèðóóëãóóä íü çààãä÷èõñàí áàéäàã: -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map
ñîíãîëò íü àíõäàã÷ òàíüæ õîëáîõ áàéðøëûã çààæ °ãä°ã á°ã°°ä ýíý òîõèîëäîëä /.amd_mnt ãýñýí áàéíà. -l ñîíãîëò àíõäàã÷ log áóþó á³ðòãýë àéëûã çààæ °ãä°ã áîëîâ÷ õýðýâ syslogd õýðýãëýãäýæ áàéãàà áîë á³õ á³ðòãýæ áè÷èõ ³éëäë³³ä ñèñòåìèéí log daemon áóþó äàëä àæèëëàäàã á³ðòãýë áè÷èã÷ ÷°òã°ð óðóó èëãýýãääýã. /host ñàí íü àëñàä áóé êîìïüþòåðèéí ýêñïîðòîëñîí àéëóóäûã òàíüæ õîëáîõ ñàíã èëýðõèéëæ áàéõàä, /net ñàí íü IP õàÿãààñ ýêñïîðòëîãäñîí àéëóóäûã òàíüæ õîëáîõ ñàíã çààæ °ã÷ áàéíà. /etc/amd.map àéë íü AMD-í ýêñïîðòûí àíõäàã÷ òîõèðóóëãóóäûã çààñàí áàéíà. Anon FTP ñîíãîëò íü anonymous áóþó íýð ³ë ìýäýãäýã÷ FTP õîëáîëòûã ç°âø°°ðä°ã. ³íèéã ñîíãîñíîîð, óã ìàøèíûã íýð íü ³ë ìýäýãäýã÷ õîëáîëò õ³ëýýæ àâäàã FTP ñåðâåð áîëãîæ áàéíà. Ýíý ñîíãîëòûã äàãààä ³³ñýõ íóóöëàë áîëîí àþóëã³é áàéäëûã áîäîõ õýðýãòýé. °ð öýñ ³³ñýæ àþóëã³é áàéäàëòàé õîëáîîòîé í°õöë³³ä áîëîí òîõèðóóëãûí òàëààð ñàíóóëãà °ãä°ã. Gateway òîõèðóóëãà íü °ìí° òàéëáàðëàñíû äàãóó ìàøèíûã õýðõýí ñ³ëæýýíèé õààëãà áîëãîæ òîõèðóóëàõ òîõèðãîîíóóäûã ñàíàë áîëãîäîã. Ýíý õýñýãò òà °ìí° íü ñóóëãàöûí ³åä ñàíàìñàðã³é õ³ñýëã³éãýýð òîõèðóóëñíàà Gateway ñîíãîëò àøèãëàæ áóöààæ áîëíî. Inetd ñîíãîëòîîð °ìí° òàéëáàðëàñàí inetd(8) äàëä ÷°òã°ðèéã òýð ÷èãýýð íü õîðüæ áîëíî. Mail ñîíãîëòîîð ñèñòåìèéí àíäàã÷ MTA áóþó Mail Transfer Agent áóþó çàõèà äàìæóóëàã÷ àãåíòèéã òîõèðóóëäàã. Ýíý ñîíãîëòûã ñîíãîõ ³åä äàðààõ öýñ õàðóóëàãääàã: -a
71
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-56.
Àíõäàã÷ MTA-ã ñîíãîõ
Òà ýíý õýñýãò, ñóóëãàõ àíõäàã÷ MTA-ã ñîíãîõ ãýæ áàéíà. MTA áîë ñèñòåìèéí õýðýãëýã÷èä óðóó þì óó ýñâýë èíòåðíýòýä áàéãàà õýðýãëýã÷èä óðóó çàõèà èëãýýã÷ ýíãèéí ñåðâåð áèëýý. Sendmail-ã ñîíãîñíîîð, òà FreeBSD-í àíõäàã÷ á°ã°°ä àëäàðøèæ òàðõñàí sendmail ñåðâåðèéã ñóóëãàõ áîëíî. Sendmail local ñîíãîëò íü sendmail-ã àíõäàã÷ MTA áîëãîæ ñóóëãàõ áîëîâ÷ èíòåðíýòýýñ èðæ áàéãàà çàõèàíóóäûã õ³ëýýæ àâàõã³éãýýð òîõèðóóëäàã. Áóñàä ñîíãîëòóóä áîëîõ Postfix áîëîí Exim íàð íü Sendmail-òýé èæèë ³³ðýã ã³éöýòãýäýã. Òýä õî¼óëàà çàõèà èëãýýäýã á°ã°°ä çàðèì õýðýãëýã÷èä sendmail-í îðîíä MTA áîëãîæ õýðýãëýæ áîëäîã. MTA-ã ñîíãîñíû äàðàà þì óó ýñâýë MTA-ã ñîíãîëã³éãýýð öààøëàõ ³åä, NFS client òîõèðóóëãûã õèéõ ñ³ëæýýíèé òîõèðóóëãûí öýñ ãàð÷ èðäýã. NFS client ñîíãîëò íü ñèñòåìèéã NFS ñ³ëæýýãýýð ñåðâåðòýé õîëáîõîä õýðýãëýãääýã. NFS ñåðâåð íü NFS ïðîòîêîë àøèãëàí, àéë ñèñòåìèéã ñ³ëæýýãýýð áóñàä ìàøèíä õàíäàõ áîëîìæ °ãä°ã. Õýðýâ ýíý íü äàíãààðàà àæèëëàäàã ìàøèí áîë, ýíý ñîíãîëòûã ñîíãîõã³éãýýð ³ëäýýæ áîëíî. Ñèñòåì òàíààñ íýìýëò òîõèðóóëãà õèéõèéã øààðäàæ ìàãàäã³é; ñåðâåð õýðýãëýã÷ õî¼ðûí òîõèðãîîíû òóõàé äýëãýðýíã³é ìýäýýëëèéã Section 29.3 õýñãýýñ õàðíà óó. Ñàÿíû ñîíãîëòûí äîîð íü NFS server-í òîõèðóóëãà áàéãàà á°ã°°ä ñèñòåìèéã NFS ñåðâåð áîëãîõîä õýðýãëýãäýíý. Ýíý õýñýãò RPC áóþó àëñàä áóé êîìïüþòåðò ïðîãðàì àæèëëóóëàã÷ ³éë÷èëãýýã ýõë³³ëýõ òîõèðãîî õèéäýã. RPC íü êîìïüþòåð áîëîí ïðîãðàì õî¼ðûí õîîðîíäîõ õîëáîëòûã çîõèöóóëàõàä õýðýãëýãääýã. Ò³³íèé äàðàà Ntpdate ãýñýí ñîíãîëò áàéãàà áà ýíý íü öàã òîõèðóóëàõ ³³ðýãòýé. Õýðýâ ³³íèéã ñîíãîâîë, äàðààõ öýñ òàíä õàðóóëàãäàíà:
72
Chapter 2 FreeBSD ñóóëãàõ íü Figure 2-57. Ntpdate
òîõèðãîî
Ýíý õýñýãò, °°ðò°° õàìãèéí îéðõîí áóé ñåðâåðèéã ñîíãîõ õýðýãòýé. Îéðõîí ñåðâåð ñîíãîñíîîð, òàíû öàãèéí òîõèðãîîã õîë áàéãàà ñåðâåð óðóó ìýäýýëýë àâàõ ãýæ öàã àëäàëã³éãýýð èë³³ íàðèéâ÷ëàëòàé õèéõ áîëîìæ èõñýíý. Äàðààãèéí ñîíãîëò áîë PCNFSD þì. Ýíý ñîíãîëò net/pcnfsd áàãöûã Ïîðòûí öóãëóóëãààñ ñóóëãàäàã. Ýíý íü Microsoft-í MS-DOS çýðýã òàíüæ á³ðòãýí íýâòðýõ ³éë÷èëãýý õèéæ ÷àääàãã³é ³éëäëèéí ñèñòåì³³äýä NFS òàíüæ íýâòð³³ëýõ ³éë÷èëãýýã ñàíàë áîëãîäîã òóí õýðýãòýé ñèñòåì þì. Òà îäîî æààõàí äîîø íü ãóëãóóëæ äàðààãèéí ñîíãîëòóóäûã õàðàõ õýðýãòýé: Figure 2-58.
Äîîä ò³âøíèé ñ³ëæýýíèé òîõèðóóëãà
rpcbind(8), rpc.statd(8), áîëîí rpc.lockd(8) õýðýãñë³³ä á³ãäýýðýý Remote Procedure Calls (RPC) áóþó àëñ êîìïüþòåðò ïðîöåäóð àæèëëóóëàã÷èä õýðýãëýãäýíý. rpcbind õýðýãñýë NFS ñåðâåð áîëîí õýðýãëýã÷èéí õîîðîíäîõ õîëáîëòûã çîõèöóóëäàã á°ã°°ä NFS ñåðâåðèéã ç°â àæèëëàæ áàéõ í°õö°ë øààðääàã. rpc.statd äàëä ÷°òã°ð íü °°ð êîìïüþòåð äýýð áóé rpc.statd äàëä ÷°òã°ðòýé õàðèëöàæ ò°ë°â áàéäëûã õÿíàæ
73
Chapter 2 FreeBSD ñóóëãàõ íü
áàéäàã. Ìýäýýëýãäýõ ¼ñòîé ò°ë°â áàéäëóóä íü /var/db/statd.status àéëä õàäãàëàãàæ áàéãàà. Äàðààãèéí ñîíãîëò íü rpc.lockd á°ã°°ä ýíý íü ñîíãîãäâîë àéëóóäûã ò³ãæèõ ³éëäëèéã õàíãàæ °ãä°ã. Ýíý ãîëäóó rpc.statd-òýé õýðýãëýãääýã á°ã°°ä ÿìàð êîìïüþòåð ÿìàð àéëûã õîðèõûã õ³ñýæ áàéíà, õýð äàâòàìæòàé õ³ñýæ áàéãàà çýðãèéí ò°ëâèéã õÿíàæ áàéäàã. ѳ³ëèéí õî¼ð ñîíãîëò íü äèáàã õèéõýä ìàø ãàéõàìøèãòàé áàéäàã áîëîâ÷ ýäãýýð íü NFS ñåðâåð áîëîí õýðýãëýã÷ ç°â àæèëëàõàä øààðäëàãàã³é. Öààø íü õàðâàë Routed ñîíãîëò áóé. Ýíý íü äàìæóóëãà õèéã÷ äàëä ÷°òã°ð þì. routed(8) õýðýãñýë íü ñ³ëæýýíèé äàìæóóëàõ õ³ñíýãòèéã óäèðäàæ multicast äàìæóóëàã÷äûã îëæ õ³ñýëòèéí äàãóó ñ³ëæýýí äýõ èçèê õîëáîëòòîé ìàøèíä °°ðèéíõ°° äàìæóóëàõ õ³ñíýãòèéã íèéë³³ëæ áàéäàã. Ýíý õýðýãñýë íü ãîëäóó äîòîîä ñ³ëæýýíäýý õààëãàíû ³³ðýã ã³éöýòãýæ áàéãàà ìàøèíä õýðýãëýãääýã. ³íèéã ñîíãîâîë öýñ ãàð÷ èðýí óã õýðýãñëèéí áàéðëàõ àíõäàã÷ áàéðøëûã àñóóäàã. Óã öýñýí äýýð àíõäàã÷ áàéðøèë íü àëü õýäèéíýý ñîíãîãäñîí áàéäàã áîëîõîîð øóóä Enter äàðæ áîëíî. Òàíä äàõèí °°ð öýñ õàðóóëàãäàõ á°ã°°ä, ýíý ³åä òàíààñ routed äàëä ÷°òã°ðèéã àæèëëóóëëàõ íýìýëò ñîíãîëò îðóóëàõûã àñóóäàã. Àíõäàã÷ ñîíãîëò íü -q áàéäàã á°ã°°ä ³ðãýëæ ýíý ñîíãîëòòîéãîî õàðóóëàãäàõ áîëíî. Äàðààãèéí òîõèðãîîíû ñîíãîëò áîë Rwhod á°ã°°ä õýðýâ ýíý ñîíãîãäâîë, ñèñòåìèéí ýõëýí à÷ààëàõ ³åä rwhod(8) äàëä ÷°òã°ðèéã àæèëëóóëäàã. rwhod õýðýãñýë íü ñ³ëæýýãýýð áàéíãà ñèñòåìèéí ìýäýýí³³äèéã öàöàõ, ýñâýë “consumer” ãîðèìäîî áàéãàà áîë óã ìýäýýí³³äèéã öóãëóóëæ áàéäàã. Äýëãýðýíã³é ìýäýýëëèéã ruptime(1) þì óó rwho(1)-í ãàðûí àâëàãààñ õàðæ áîëíî. Æàãñààëòûí ñ³³ëèéí °ìí°õ ñîíãîëò áîë sshd(8)äàëä ÷°òã°ð þì. Ýíý íü OpenSSH-ä çîðèóëñàí, íóóöëàëûí õóâèðãóóðòàé á³ðõ³³ëèéí ñåðâåð á°ã°°ä ýíãèéí õýðýãëýýíä áàéäàã telnet áîëîí FTP ñåðâåð³³äèéí îðîíä õýðýãëýõèéã ñàíàë áîëãîäîã. sshd ñåðâåð íü íýã êîìïüþòåðààñ í°ã°° óðóó íóóöëàëûí õóâèðãàëòòàé õîëáîëò òîãòîîæ áàéäàã. Ýöýñò íü TCP Extensions ñîíãîëò áàéãàà. Ýíý õýðýâ ñîíãîãäâîë, RFC 1323 áîëîí RFC 1644-ä çààñàí áàéäàã TCP °ðã°òã°ëèéã èäýâõæ³³ëäýã. Èõýíõ êîìïüþòåð äýýð ýíý íü ñ³ëæýýíèé õóðäûã èõýñãýäýã ÷ ãýñýí çàðèì õîëáîëòûã óíàãàæ áîëçîøã³é. Ýíý íü ç°âõ°í äàíãààðàà àæèëëàäàã ñåðâåðò ñàíàë áîëãîãäîæ áàéäàã. Èíãýýä òà ñ³ëæýýíèéõýý ³éë÷èëãýýí³³äèéã òîõèðóóëæ äóóñëàà. Òà õàìãèéí äýýä òàëûí X Exit óðóó ã³éëãýæ äàðààãèéí òîõèðãîî óðóó îðîí ³ðãýëæë³³ëæ áîëîõ á°ã°°ä ýñâýë X Exit-èéã õî¼ð óäàà ñîíãîí äàðàà íü [X Exit Install]-ã ñîíãîí sysinstall-ñ ãàð÷ áîëíî. 2.10.16 FreeBSD
ýõëýí à÷ààëàëò
2.10.16.1 FreeBSD/i386 ìàøèí äýýðõ FreeBSD-í ýõëýí à÷ààëàëò
Õýðýâ á³õ ç³éë àìæèëòòàé áîëñîí áîë äýëãýöýí äýýð òàíü ìýäýãäë³³ä óðñàæ °íã°ð°°ä íýâòðýõ õýñýãò òóëæ èðýõ áîëíî. Óðñàæ °íã°ðñ°í ìýäýãäë³³äèéã ýðãýæ õàðàõûí òóëä Scroll-Lock òîâ÷èéã äàðààä PgUp áîëîí PgDn òîâ÷îîð äýýø äîîø íü ãóëãóóëäàã. Scroll-Lock òîâ÷èéã äàõèí äàðñíààð íýâòðýõ õýñýãò áóöàæ èðäýã. Á³õ ìýäýãäýë õàðóóëàãäàõã³é áàéõ í°õö°ë ³³ñâýë (ò³ð õàäãàëàã÷èéí õýìæýýíýýñ áîëæ) ñ³³ëä íü òóøààë °ãä°ã ãîðèì äýýð dmesg òóøààëààð õàðæ áîëäîã. Ñóóëãàöûí ³åä íýìæ îðóóëñàí õýðýãëýã÷èéí íýð áîëîí íóóö ³ãýýð íýâòýð÷ îðîõ õýðýãòýé (ýíý òîõèîëäîëä rpratt ãýæ áóé). Øààðäëàãà ãàðààã³é áîë root ýðõýýð îðîõîîñ ñýðãèéëýõ õýðýãòýé. Åðäèéí ýõëýí à÷ààëàõ ³åèéí ìýäýãäýë (õóâèëáàðûí òóõàé õýñãèéã îðóóëàëã³éãýýð): Copyright (c) 1992-2002 The FreeBSD Project.
74
Chapter 2 FreeBSD ñóóëãàõ íü Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268435456 (262144K bytes) config> di sn0 config> di lnc0 config> di le0 config> di ie0 config> di fe0 config> di cs0 config> di bt0 config> di aic0 config> di aha0 config> di adv0 config> q avail memory = 256311296 (250304K bytes) Preloaded elf kernel "kernel" at 0xc0491000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. md0: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: at device 7.3 on pci0 ed0: port 0xe800-0xe81f irq 9 at device 10.0 on pci0 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60-0x64 on isa0 atkbd0: flags 0x1 irq 1 on atkbdc0
75
Chapter 2 FreeBSD ñóóëãàõ íü kbd0 at atkbd0 psm0: irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x1 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold ppbus0: IEEE1284 device found /NIBBLE Probing for PnP devices on ppbus0: plip0: on ppbus0 lpt0: on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 8063MB [16383/16/63] at ata0-master using UDMA33 ad2: 8063MB [16383/16/63] at ata1-master using UDMA33 acd0: CDROM at ata0-slave using PIO4 Mounting root from ufs:/dev/ad0s1a swapon: adding /dev/ad0s1b as swap device Automatic boot in progress... /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) Doing initial network setup: hostname. ed0: flags=8843 mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 ether 52:54:05:de:73:1b lo0: flags=8049 mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Additional routing options: IP gateway=YES TCP keepalive=YES routing daemons:. additional daemons: syslogd. Doing additional network setup:. Starting final network daemons: creating ssh RSA host key Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d [email protected] creating ssh DSA host key
76
Chapter 2 FreeBSD ñóóëãàõ íü Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 [email protected] . setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout starting standard daemons: inetd cron sshd usbd sendmail. Initial rc.i386 initialization:. rc.i386 configuring syscons: blank_time screensaver moused. Additional ABI support: linux. Local package initialization:. Additional TCP options:. FreeBSD/i386 (k6-2.example.com) (ttyv0) login: rpratt Password:
RSA áîëîí DSA ò³ëõ³³ð³³äèéã ³³ñãýõ ÿâö íü óäààí ìàøèí äýýð õýñýã õóãàöàà àâ÷ ìàãàäã³é. Ýíý ÿâö íü ç°âõ°í ñóóëãàöûí äàðààõ àíõíû ýõëýí à÷ààëàõ ³åä ë õèéãääýã. Äàðààãèéí à÷ààëàõ ³åä õèéãääýãã³é áîëîõîîð õóðäàí áàéõ áîëíî.
Õýðýâ Õ ñåðâåð òîõèðóóëàãäààä àíõäàã÷ ãðàèê îð÷èí ñîíãîãäñîí áàéãàà áîë, startx ãýñýí òóøààëààð òýäãýýðèéã àæèëëóóëæ áîëíî. 2.10.16.2 FreeBSD/alpha ìàøèí äýýðõ FreeBSD-í ýõëýí à÷ààëàëò
Ñóóëãàö äóóññàí áîë, FreeBSD-ã ýõë³³ëýõèéí òóëä SRM òóøààë îðóóëàõ ì°ð°íä äîîð äóðäñàíûã áè÷íý: >>>BOOT DKC0
Ýíý íü óã ìàøèíä òóõàéí áè÷ñýí äèñêíýýñ ýõëýí à÷ààëàõûã çààæ °ã÷ áàéíà. Öààøäàà FreeBSD-ã àâòîìàòààð ýõë³³ëäýã áîëãîõûí òóëä äàðààõ òóøààëûã °ã°õ õýðýãòýé: >>> >>> >>> >>>
SET SET SET SET
BOOT_OSFLAGS A BOOT_FILE ” BOOTDEF_DEV DKC0 AUTO_ACTION BOOT
Ýõëýí à÷ààëàãäàõ ÿâö íü i386 ìàøèíûõòàé îéðîëöîî èæèë (ãýõ á³ð èæèë áèø) áàéõ áîëíî.
ã óíòðààõ
2.10.17 FreeBSD-
éëäëèéí ñèñòåìèéã ç°â óíòðààõ íü òóí ÷óõàë. Øóóä õ³÷ õýðýãëýí óíòðààæ áîëîõã³é. Ýõëýýä su ãýñýí òóøààë îðóóëààä root íóóö ³ãýý áè÷èæ °ã°í ñóïåð õýðýãëýã÷ áîëîõ õýðýãòýé. Ýíý íü ç°âõ°í òóõàéí õýðýãëýã÷ wheel á³ëýãò õàìààðàãäñàí ³åä áèåëíý. Ýñâýë root õýðýãëýã÷ áîëæ íýâòðýõ õýðýãòýé. Èíãýýä shutdown -h now òóøààëûã îðóóëíà.
77
Chapter 2 FreeBSD ñóóëãàõ íü The operating system has halted. Please press any key to reboot.
Óíòðààõ òóøààë °ãñíèé äàðàà “Please press any key to reboot áóþó äóðûí òîâ÷ äàðæ øèíýýð à÷ààëíà óó” ãýñýí ìýäýãäýë ãàðñàí ³åä óíòðààõ íü ç°â þì. Õýðýâ øóóä óíòðààëã³éãýýð ÿìàð íýãýí òîâ÷ äàðâàë ñèñòåì øèíýýð à÷ààëàãäàõ áîëíî. Òà ì°í Ctrl+Alt+Del òîâ÷ëóóðûí õîñëîë õýðýãëýí øèíýýð à÷ààëæ áîëîõ áîëîâ÷, åðäèéí ³åä ýíý íü òèéì ÷ èõ õýðýãëýãääýã àðãà áèø. 2.11
Õ³íäðýë òóëãàðâàë
Äàðààõ õýñýãò õ³ì³³ñèéí ìýäýýëñíèé äàãóó òýäýíä òóëãàð÷ áàéñàí ýíãèéí õ³íäðýëèéí òóõàé àâ÷ õýëýëöýõ áîëíî. Ì°í ýíý õýñýãò MS-DOS ýñâýë Windows ³éëäëèéí ñèñòåìèéã FreeBSD-òýé õàìò õýðõýí íýã êîìïüþòåðò ñóóëãàæ à÷ààëàõ òóõàé õ³ì³³ñèéí àñóóñàí àñóóëò áîëîí õàðèóëòûã àãóóëñàí áóé. 2.11.1
Õýðýâ áóðóó òèéøýý ýðãýýä ýõýëáýë þó õèéõ õýðýãòýé âý
Êîìïüþòåðèéí ò°ðë°°ñ õàìààðàí á³õ þìûã 100% öýâýð ã³éöýòãýæ áîëîõã³é ÷ ãýñýí õýðýâ ÿìàð íýãýí ç³éë áóðóó áîëáîë, òà õýä õýäýí àðãà õýìæýýã àâ÷ ÷àäíà. Òàíû FreeBSD-èéí õóâèëáàðò çîðèóëñàí Òîíîã ò°õ°°ð°ìæèéí òýìäýãëýë (http://www.FreeBSD.org/releases/index.html) áàðèìòààñ òàíû ò°õ°°ð°ìæèéã äýìæñýí ýñýõèéã íü øàëãàõ õýðýãòýé. Õýðýâ òàíû ò°õ°°ð°ìæ äýìæèãäñýí ì°ðòë°° õ³íäðýë ãàðâàë, òà °°ðñ÷°í òîõèðóóëñàí ö°ì á³òýýõ øààðäëàãàòàé áîëíî. Ýíý íü GENERIC ö°ìä áàéõã³é ò°õ°°ð°ìæ³³äèéí äýìæëýãèéã íýìýõ áîëîìæèéã òàíä îëãîõ áîëíî. À÷ààëàã÷ äèñêýí äýýð áóé ö°ì íü òàíû ò°õ°°ð°ìæ³³äèéã IRQ-³³ä, IO õàÿã, ì°í DMA ñóâàã çýðýã òîõèðãîîã ³éëäâýðýýñ çààæ °ãñ°í àíõíûõàà óòãàòàéãàà áàéãàà ãýæ àâ÷ ³çäýã. Õýðýâ òàíû ò°õ°°ð°ìæèéí òîõèðãîî °°ð÷ë°ãäñ°í áîë òýäãýýð ç³éëñèéã FreeBSD õààíààñ îëæ áîëîõûã õýëýõèéí òóëä òà ö°ìèéí òîõèðãîîãîî çàñâàðëàæ äàõèí á³òýýõ õýðýãòýé áîëíî. Ì°í çàëãàæ òóðøèãäààã³é ò°õ°°ð°ìæ³³ä ñ³³ëä çàëãàãäààä òóðøèãäàõ ³åä àëäàà ³³ñãýõ òîõèîëäîë ãàðäàã. Èéì ³åä õ³íäðýëòýé áàéãàà ò°õ°°ð°ìæèéí äðàéâåð áóþó òàíèóëàã÷ àéëóóäûã íü õîðèõ õýðýãòýé. Note: Èõýíõ ñóóëãàöûí õ³íäðýë³³ä íü ò°õ°°ð°ìæèéí ³éëäâýðýýñ ãàðãàñàí ñ³³ëèéí ³åèéí òàíèóëàã÷ àéëóóäûã íü òàòàæ àâ÷ ñóóëãàñíààð èëààðøèõ í°õö°ë á³ðääýã á°ã°°ä ÿëàíãóÿà motherboard áóþó ýõ õàâòàí äýýð èéìýðõ³³ ³çýãäýë èõ ãàðäàã. Ýõ õàâòàíãèéí ³éëäâýðýýñ ãàðãàñàí ïðîãðàìûã åð íü BIOS ãýæ íýðëýäýã áà
áàðàã á³õ ³éëäâýð³³ä °°ðñäèéí ãýñýí âýá õóóäàñòàé á°ã°°ä óã ïðîãðàìûã õýðõýí ñ³³ëèéí ³åèéí õýëáýðò øèíý÷ëýõ òóõàé ìýäýýëýë áîëîí àéëóóä àãóóëæ áàéäàã. Èõýíõ ³éëäâýðëýã÷èä íü, ÿìàð íýãýí íîöòîé õ³íäðýë ãàðàõààñ çàéëñõèéæ õ³íäòýé í°õö°ë ³³ñýýã³é áîë BIOS-ã øèíý÷èëæ õýðýãã³é ãýæ ç°âë°ä°ã. Øèíý÷ëýõ ÿâö àìæèëòã³é áîëîõ í°õö°ë íü BIOS öàõèëãààí ñõåìä íîöòîé ýâäðýë ãàðãàæ áîëçîøã³éã àíõààðíà óó.
78
Chapter 2 FreeBSD ñóóëãàõ íü
2.11.2 MS-DOS®
áîëîí Windows®-í àéë ñèñòåìèéã õýðýãëýõ íü
FreeBSD íü îäîîãèéí áàéäëààð Double Space™ ïðîãðàìààð øàõñàí àéë ñèñòåìèéã äýìæäýãã³é. Òèéì áîëîõîîð, õýðýâ èéì ò°ðëèéí àéë ñèñòåìä õàíäàõààð áîë ýõëýýä óã àéë ñèñòåìèéí øàõàëòûã çàäëààä, äàðàà íü àéë óðóó õàíäàõ õýðýãòýé. Çàäëàõ ýíý ³éëäýë íü Compression Agent ïðîãðàìûã Start> Programs > äîòîðõ System Tools öýñíýýñ ã³éöýòãýãäýæ áîëíî.
FreeBSD íü MS-DOS àéëûí ñèñòåì³³äèéã (çàðèìäàà FAT àéëûí ñèñòåì³³ä ãýãääýã) äýìæèæ ÷àääàã. mount_msdosfs(8) òóøààë íü òèéì àéëûí ñèñòåì³³äèéã áàéãàà ñàíãèéí øàòëàëä ñèñòåìèéí àãóóëãàä õàíäàõ áîëîìæòîé áîëãîí õîëáîæ °ãä°ã. mount_msdosfs(8)-èéã èõýâ÷ëýí øóóä àæèëëóóëäàãã³é; õàðèí /etc/fstab àéë äàõü ì°ðèéí òóñëàìæòàé ñèñòåìýýð äóóäàãäàõ þì óó ýñâýë mount(8) õýðýãñëèéã òîõèðîõ íýìýëò °ã°ãäë³³äòýé íü äóóääàã. /etc/fstab
àéëä áàéæ áîëîõ ì°ð èéì áàéíà:
/dev/ad0sN
/dos
msdosfs rw
0 0
ñàí ýíý òîõèîëäîëä °ìí° íü ³³ññýí áàéõ ¼ñòîé. /etc/fstab-èéí õýëáýðøèëòèéí òàëààð èë³³ äýëãýðýíã³éã fstab(5)-ñ ³çíý ³³.
Note: /dos
MS-DOS àéëûí ñèñòåìä çîðèóëñàí mount(8) äóóäëàãà èéìýðõ³³ áàéíà: # mount -t msdosfs /dev/ad0s1 /mnt
Ýíý æèøýýí äýýð, MS-DOS àéë ñèñòåì íü ýõíèé äèñêíèé ýõíèé õóâààëò äýýð áàéðëàñíûã õàðóóëæ áàéíà. Ìýäýýæ òàíû ñèñòåì äýýð ÿíç á³ð áàéõ á°ã°°ä dmesg áîëîí mount òóøààëóóäûí ãàðàëòûí ìýäýýëëèéã õàðàõ õýðýãòýé. Ýäãýýð òóøààëóóä íü äèñêíèé õóâààëòûí òóõàé õàíãàëòòàé ìýäýýëëèéã °ã÷ ÷àääàã. Note: FreeBSD íü äèñêíèé ç³ñìýë³³äèéã (MS-DOS ç³ñìýë³³ä) áóñàä ³éëäëèéí ñèñòåì³³äýýñ °°ð°°ð äóãààðëàæ áîëíî. ßëàíãóÿà °ðã°òã°ñ°í MS-DOS àéëûí ñèñòåì³³äýä ³íäñýí MS-DOS õóâààëòóóäûíõààñ äýýø äóãààðóóäûã èõýâ÷ëýí °ãä°ã. fdisk(8) õýðýãñýë íü àëü ç³ñìýë³³ä FreeBSD-ä õàìààð÷ áàéãàà áîëîí àëü íü áóñàä ³éëäëèéí ñèñòåì³³äýä õàìààòàé áîëîõûã òîäîðõîéëîõîä òóñàëæ ÷àäíà.
NTFS õóâààëòûã áàñ òàíèóëàí õîëáîõäîî °ìí°õòýé èæèë àðãààð mount_ntfs(8) òóøààë õýðýãëýæ áîëíî.
2.11.3
Àëäààã îëæ çàñâàðëàõòàé õîëáîîòîé àñóóëòóóä áîëîí õàðèóëòóóä
1. Ìèíèé ñèñòåì à÷ààëæ òîíîã ò°õ°°ð°ìæ øàëãàæ áàéõ ³åäýý ãàöàõ þì óó ýñâýë ñóóëãàõ ³åä õà÷èí àæèëëààä áàéíà, ýñâýë óÿí äèñêíèé õ°ò÷èéã øàëãàõã³é áàéíà. FreeBSD íü ñèñòåìèéí ACPI ³éë÷èëãýýã à÷ààëàõ ÿâöàä èëð³³ëñýí áîë ò³³íèéã i386, amd64 áîëîí ia64 òàâöàíãóóä äýýð °ðã°í°°ð àøèãëàäàã. Õàðàìñàëòàé íü ACPI äðàéâåð áîëîí ñèñòåìèéí ýõ õàâòàí áà BIOS-ä àëäààíóóä áàéñààð áàéãàà áèëýý. óðàâäàã÷ øàòíû à÷ààëàã÷ äóóäàã÷ äýýð hint.acpi.0.disabled òîõèðãîîã òîõèðóóëñíààð ACPI-èéí õýðýãëýýã õààæ áîëäîã: set hint.acpi.0.disabled="1"
79
Chapter 2 FreeBSD ñóóëãàõ íü
Ýíý íü ñèñòåì à÷ààëàõ òîîëîíä °°ð÷ë°ãä°õ ó÷èð /boot/loader.conf àéëä hint.acpi.0.disabled="1" ì°ðèéã íýìæ °ã°õ øààðäëàãàòàé. À÷ààëàã÷ äóóäàã÷èéí òàëààð äýëãýðýíã³é ìýäýýëëèéã Section 12.1 õýñãýýñ îëæ áîëíî. 2. FreeBSD-ã ñóóëãàñíû äàðàà õàòóó äèñêíýýñ àíõ óäààãàà à÷ààëàõ ãýõýä ö°ì äóóäàãäàæ ìèíèé òîíîã ò°õ°°ð°ìæèéã øàëãàñàí áîëîâ÷ èéìýðõ³³ ìýäýýëýë ãàðãààä çîãñîîä áàéíà: changing root device to ad1s1a panic: cannot mount root
Þó áîëîõîî áîëü÷èõñîí áý? Áè þó õèéõ âý? À÷ààëàõàä òóñëàìæ ìàÿãààð bios_drive:interface(unit,partition)kernel_name ãýæ ãàðñàí ç³éë þó âý? À÷ààëàõ äèñê ñèñòåìèéí ýõíèé äèñê áèø òîõèîëäîëä ãàðäàã àñóóäàë àëü ýðòíèéõ áàéäàã. BIOS íü FreeBSD-ä °°ð äóãààðëàõ àðãûã õýðýãëýäýã á°ã°°ä àëü äóãààð íü àëèíòàé òààðäãèéã ç°â°°ð òîõèðóóëàõ ò°â°ãòýé áàéäàã. À÷ààëàõ äèñê íü ñèñòåì äýýð ýõíèé äèñê áèø áîë FreeBSD-ä ò³³íèéã îëîõîä òóñëàìæ õýðýãòýé áîëäîã. Ýíä õî¼ð íèéòëýã òîõèîëäîë áàéäàã á°ã°°ä àëü ÷ òîõèîëäîëä òà FreeBSD-ä root àéëûí ñèñòåì õààíà áàéãàà õýëæ °ã°õ øààðäëàãàòàé. Òà BIOS-èéí äèñêíèé äóãààð, äèñêíèé ò°ð°ë áîëîí òýð ò°ð°ëä çîðèóëñàí FreeBSD-èéí äèñêíèé äóãààðûã çààæ °ã°í ³³íèéã õèéæ áîëíî. Ýõíèéõ íü òà õî¼ð IDE äèñêòýé á°ã°°ä äèñê á³ð °°ð °°ðèéí IDE øóãàìíóóä äýýð ìàñòåð áîëîí òîõèðóóëàãäñàí áàéõ áà FreeBSD-ã õî¼ð äàõü äèñêíýýñ à÷ààëàõûã õ³ñýæ áàéãàà òîõèîëäîë þì. BIOS íü ýäãýýðèéã äèñê 0 áîëîí äèñê 1 ãýæ õàðäàã áîë FreeBSD íü òýäãýýðèéã ad0 áîëîí ad2 ãýæ õàðäàã. FreeBSD íü ad ò°ðëèéí BIOS äèñê 1 äýýð áàéãàà á°ã°°ä FreeBSD-èéí äèñêíèé äóãààð íü 2 þì. Òýãýõýýð òà èíãýæ õýëæ °ã°õ õýðýãòýé-: 1:ad(2,a)kernel
Õýðýâ òà àíõäàã÷ øóãàìàí äýýð áîîë äèñêòýé áîë äýýð äóðäñàí íü øààðäëàãàã³é þì (òýãýýä áàñ ìàø áóðóó þì). Õî¼ð äàõü íü òà ñèñòåì äýýðýý íýã áóþó ò³³íýýñ îëîí IDE äèñêí³³äòýé á°ã°°ä SCSI äèñêíýýñ à÷ààëàõ òîõèîëäîë þì. Ýíý òîõèîëäîëä FreeBSD-èéí äèñêíèé äóãààð íü BIOS-èéí äèñêíèé äóãààðààñ áàãà áàéäàã. Õýðýâ õî¼ð IDE äèñêòýé á°ã°°ä áàñ SCSI äèñêòýé áîë SCSI äèñê íü da ò°ðëèéí BIOS äèñê 2 áà FreeBSD-èéí äèñêíèé äóãààð 0 áàéíà. Òýãýõýýð òà: 2:da(0,a)kernel
ãýæ FreeBSD-ä ñèñòåì äýõ ýõíèé SCSI äèñê áîëîõ BIOS äèñê 2-îîñ à÷ààëàõûã õ³ñýæ áàéãààãàà õýëæ °ãí°. Õýðýâ òàíä ç°âõ°í íýã IDE äèñê áàéñàí áîë äýýðõèéí îðîíä òà 1:-èéã õàðàõ áàéñàí áèëýý. Òà àøèãëàõ ç°â óòãóóäûã òîäîðõîéëñíûõîî äàðàà ñòàíäàðò òåêñò çàñâàðëàã÷ àøèãëàí /boot.config àéëä áè÷èæ °ãñ°í øèãýý òóøààëûã õèéæ °ã÷ áîëíî. °ð°°ð çààâàðëààã³é ë áîë FreeBSD íü ýíý àéëûí àãóóëãûã boot: õ³ëýýõ ì°ðíèé àíõäàã÷ õàðèóëò áîëãîí àøèãëàõ áîëíî.
80
Chapter 2 FreeBSD ñóóëãàõ íü 3. FreeBSD-ã ñóóëãàñíû äàðàà õàòóó äèñêíýýñ àíõ óäààãàà à÷ààëàõ ãýõýä à÷ààëàõ öýñýí äýýð À÷ààëàã÷ Ìåíåæåðèéí õ³ëýýõ ì°ð ç°âõ°í F?-ã õýâëýýä à÷ààëàëò öààø ³ðãýëæëýõã³é áàéíà.
Òàíûã FreeBSD-ã ñóóëãàæ áàéõàä õàòóó äèñêíèé ãåîìåòð Õóâààëòûí çàñâàðëàã÷ äýýð áóðóó òîõèðóóëàãäñàí áàéíà. Õóâààëòûí çàñâàðëàã÷ óðóó áóöàæ îðîîä °°ðèéí õàòóó äèñêíèé æèíõýíý ãåîìåòðèéã çààæ °ã°õ õýðýãòýé. Òà ç°â ãåîìåòðòýéãýýð FreeBSD-ã ýõíýýñ íü äàõèí ñóóëãàõ øààðäëàãàòàé. Õýðýâ òà °°ðèéí ìàøèíû õóâüä ç°â ãåîìåòðèéã åð°°ñ°° îëæ ÷àäàõã³é áàéãàà áîë èéì ç°âë°ã°° °ãüå: äèñêíèé ýõýíä æèæèã DOS õóâààëò ñóóëãààä äàðàà íü FreeBSD-ã ñóóëãàõ õýðýãòýé. Ñóóëãàëòûí ïðîãðàì íü DOS õóâààëòûã õàðæ ò³³íýýñ ç°â ãåîìåòðèéã îëæ àâàõûã îðîëääîã. Èíãýñíýýð ýíý íü èõýâ÷ëýí àæèëëàäàã áèëýý. Äàðààõ çààâðûã ç°âë°õ°° áîëüñîí á°ã°°ä ýíä ëàâëàãààíû çîðèóëàëòààð îðóóëàâ: Õýðýâ òà (èðýýä³éä) DOS, Ëèíóêñ ýñâýë áóñàä ³éëäëèéí ñèñòåìòýé íèéöòýé áàéõ ýñýõ íü õàìààã³é öýâýð FreeBSD ñåðâåð ýñâýë àæëûí ñòàíö ñóóëãàæ áàéãàà áîë FreeBSD íü õàìãèéí ýõíèé ñåêòîðîîñ ýõëýýä ñ³³ëèéí ñåêòîð õ³ðòýë á³õýë äèñêèéã àøèãëàäàã ñòàíäàðò áóñ òîõèðóóëãûã ñîíãîæ á³õýë äèñêèéã (õóâààëòûí çàñâàðëàã÷ äýýð A) àøèãëàõ ñîíãîëò áàñ òàíä áàéäàã. Ýíý íü ãåîìåòðèéí á³õ ë òîîöîîëëûã îðõèõ áîëîâ÷ äèñêýí äýýð FreeBSD-ýýñ °°ð áóñàä ³éëäëèéí ñèñòåìèéã õýçýý ÷ àæèëëóóëàõã³é ãýæ òîîöîîã³é ë áîë çàðèì òàëààðàà õÿçãààðëàãäìàë áàéäàã. 4. Ñèñòåì ìèíèé ed(4) ñ³ëæýýíèé êàðòûã îëñîí áîëîâ÷ device timeout ãýñýí àëäàà ãàðñààð áàéõ þì.
Òàíû êàðò /boot/device.hints àéë äýýð çààñíààñ °°ð IRQ-ã àøèãëàæ áàéæ ìàãàäã³é þì. ed(4) äðàéâåð íü àíõäàã÷ààð “soft” áóþó ç°°ë°í òîõèðãîîã (DOS äýýð EZSETUP-èéã àøèãëàí îðóóëñàí óòãóóäûã) àøèãëàäàãã³é áîëîâ÷ õýðýâ òàíûã èíòåðýéñèéí õóâüä -1-ã çààæ °ã°õ þì áîë ïðîãðàì õàíãàìæèéí òîõèðãîîã àøèãëàõ áîëíî. Êàðò äýýð áàéãàà æèæèã øèëæ³³ëýã÷èéã òîãòñîí áóþó õàòóó òîõèðãîî ðóó (øààðäëàãàòàé áîë ö°ìèéí òîõèðãîîíóóäûã °°ð÷ë°í) òîõèðóóëàõ þì óó ýñâýë ç°âë°ã°°ã hint.ed.0.irq="-1" ãýæ IRQ-ã -1 áîëãîæ òîõèðóóëàí çààæ °ã°õ õýðýãòýé. Ýíý íü ö°ìä ç°°ë°í òîõèðãîîã àøèãëàõûã õýëæ °ã°õ áîëíî. °ð íýã øàëòãààí íü òàíû êàðò IRQ 2-òîé õóâààëöñàí IRQ 9 äýýð áàéæ (ÿëàíãóÿà IRQ 2-ã àøèãëàäàã VGA êàðòòàé áîë) áàéíãà àñóóäàë áîëæ áàéäàã áàéæ áîëîõ þì. Òà àëü áîëîõ IRQ 2 ýñâýë 9-èéã àøèãëàõ ¼ñã³é þì. 5. sysinstall-èéã X11 òåðìèíàë äýýð àøèãëàñàí òîõèîëäîëä öàéâàð ñààðàë äýýð øàð îíòûã óíøèõàä õýö³³ áàéäàã. Ýíý ïðîãðàìûí õóâüä èë³³ °íä°ð íÿãòðàëòàé ³ç³³ëýõ áîëîìæ áèé þó? Õýðýâ òà X11-èéã ñóóëãàñàí á°ã°°ä sysinstall-èéí ñîíãîñîí àíõäàã÷ °íã°í³³ä íü xterm(1) ýñâýë rxvt(1) àøèãëàõ ³åä òåêñòèéã óíøèõ áîëîìæã³é áîëãîîä áàéâàë èë³³ áàðààí ñààðàë áîëãîõûí òóëä °°ðèéí ~/.Xdefaults àéëäàà äàðààõ XTerm*color7: #c0c0c0 ì°ðèéã íýìýõ õýðýãòýé.
2.12
Ñóóëãàöûí íýìýëò ãàðûí àâëàãà
Õàìòàð÷ áýëòãýñýí Âàëåíòèíî Âàøåòòî. Ýíý õýñýãò FreeBSD-ã õýðõýí îíöãîé òîõèîëäîëä ñóóëãàõ òàëààð °ã³³ëýõ áîëíî.
81
Chapter 2 FreeBSD ñóóëãàõ íü
ã äýëãýö þì óó ãàð ³ã³é ñèñòåì äýýð ñóóëãàõ íü
2.12.1 FreeBSD-
Ýíý ò°ðëèéí ñóóëãàöûã FreeBSD-ã ñóóëãàæ áàéãàà ìàøèí íü äýëãýöã³é þì óó òýð áàéòóãàé äýëãýöèéí çàëãóóðã³é áàéäàã ó÷ðààñ “headless install áóþó òîëãîéã³é ñóóëãàö” ãýæ íýðëýäýã. ßàæ èíãýæ áîëäîã þì áîë? ãýæ òà ãàéõàæ áàéâàë, serial console áóþó öóâàà êîíñîë õýðýãëýñíýýð èéì ñóóëãàö õèéæ áîëäîã. Öóâàà êîíñîëîîð °°ð ìàøèíûã äýëãýö áîëîí ãàð áîëãîæ àøèãëàæ áîëäîã. ³íèéã ã³éöýòãýõèéí òóëä Section 2.3.7 äýýð çààñàí çààâðûí äàãóó ñóóëãàö óÿí äèñêèéã áýëäýõ õýðýãòýé. Ýíý óÿí äèñêèéã °°ð÷èëæ öóâàà êîíñîëîîñ ýõëýí à÷ààëàõûí òóëä äàðààõ àëõìóóäûã áèåë³³ëýõ õýðýãòýé: 1.
Ýõëýí à÷ààëàã÷ óÿí äèñêí³³äèéã öóâàà êîíñîë óðóó õîëáîãäîõûã ç°âø°°ð°õ Õýðýâ òà óðüä íü óÿí äèñêíýýñ ýõëýí à÷ààëæ áàéñàí áîë, FreeBSD íü åðäèéí ýíãèéí ñóóëãàöûí ãîðèìîîð ýõëýí à÷ààëàõ áîëíî. ýõäýý áèä íàð ñóóëãàöàà öóâàà õîëáîëò óðóó îðæ ýõë³³ëýõ ¼ñòîé áèëýý. Èíãýõèéí òóëä FreeBSD óðóó boot.flp äèñêèéã mount(8) òóøààë àøèãëàæ òàíèóëæ õîëáîõ õýðýãòýé. # mount /dev/fd0 /mnt
Îäîî òà óÿí äèñêýý òàíèóëæ õîëáîñîí áîëîõîîð /mnt ñàí óðóó îðîõ õýðýãòýé: # cd /mnt
Ýíä îäîî öóâàà êîíñîëîîñ õýðõýí ýõëýí à÷ààëàõ òîõèðóóëãà ýõýëæ áàéíà. Òà ýõëýýä boot.config íýðòýé àéë ³³ñãýýä òýðýí äîòðîî /boot/loader -h ãýæ áè÷èõ õýðýãòýé. Èíãýñíýýð òà öóâàà êîíñîëîîñ ýõëýí à÷ààëàõ áîëíî ãýæ òîõèðóóëæ áàéíà. # echo "/boot/loader -h" > boot.config
Èíãýýä òà óÿí äèñêýý ç°â òîõèðóóë÷èõñàí ó÷ðààñ òàíèóëñàí äèñêýý umount(8) òóøààëààð áóöààæ ñàëãàõ õýðýãòýé: # cd / # umount /mnt
2.
3.
4.
Îäîî òà óÿí äèñêýý äèñêíèé ò°õ°°ð°ìæ°°ñ àâ÷ áîëíî. Null-modem êàáåëèàð õîëáîõ Òà îäîî õî¼ð ìàøèíàà null-modem êàáåëèàð õîëáîõ õýðýãòýé. Óã õî¼ð ìàøèíû öóâàà õîëáîëòûí çàëãóóðàíä íü òóñ òóñàä íü çàëãàõ õýðýãòýé. Åðäèéí öóâàà çàëãóóð ýíý òîõèîëäîëä àæèëëàäàãã³é á°ã°°ä äóíäàà ñýëãýæ çàëãàãäñàí null-modem çàëãóóð òàíä õýðýãòýé. Ñóóëãàö ýõë³³ëýõ ãýæ øèíýýð à÷ààëàõ Îäîî ñóóëãàöàà ýõë³³ëýõ öàã áîëëîî. boot.flp äèñêýý òîëãîéã³é ìàøèíäàà õèéãýýä àñààõ õýðýãòýé. Òîëãîéã³é ìàøèí óðóóãàà õîëáîãäîõ Òà îäîî òýð ìàøèí óðóóãàà cu(1) òóøààë õýðýãëýæ õîëáîãäîõ õýðýãòýé: # cu -l /dev/cuad0
Èíãýýä ë áîëëîî! Òà îäîî í°ã°° òîëãîéã³é ìàøèíàà cu òóøààëûí õýñãýýð óäèðäàõ áîëîìæòîé áîëëîî. Ýíý õýñýãò òàíûã kern1.flp äèñêýý õèéõèéã øààðäàõ á°ã°°ä äàðàà íü ÿìàð ò°ðëèéí òåðìèíàë õýðýãëýõèéã àñóóõ áîëíî. Òýð ³åä íü FreeBSD color console áóþó °íã°ò êîíñîë ãýäãèéã ñîíãîîä öààø íü ñóóëãàöàà ³ðãýëæë³³ëýýðýé!
82
Chapter 2 FreeBSD ñóóëãàõ íü
2.13
°ðò°° çîðèóëæ òóñãàé ñóóëãàöûí ò°õ°°ð°ìæ áýëäýõ íü
Note: Äàõèí íóðøèõààñ ñýðãèéëæ òàíû õóäàëäàæ àâñàí þì óó áýëäýæ àâñàí CDROM ýñâýë DVD íàðûã “FreeBSD äèñê” ãýæ íýðëýâ.
Çàðèìäàà òàíä °°ðèéí ãýñýí °°ð÷èëæ òîõèðóóëñàí FreeBSD ñóóëãàöûí ò°õ°°ð°ìæ°°ñ ñóóëãàõ õýðýã ãàð÷ áîëçîøã³é. Ýíý íü èçèê ò°õ°°ð°ìæ áîëîõ áè÷ëýãò õàëüñ þì óó ýñâýë sysinstall äýýð çààæ °ãñ°í FTP õóóäàñ ýñâýë MS-DOS õóâààëòàä áóé àéëààñ ñóóëãàæ áîëçîøã³é. Æèøýý íü: •
•
•
•
Òàíä ìàø îëîí êîìïüþòåð õîëáîãäñîí äîòîîä ñ³ëæýý áàéãàà á°ã°°ä ç°âõ°í íýã ë FreeBSD äèñê áàéæ áîëîõ þì. Òà äîòîîä FTP õóóäàñ ³³ñãýýä òýðýíäýý FreeBSD äèñêýý áàéðëóóëæ, óã õóóäàñíààñ áóñàä êîìïüþòåðóóä õîëáîãäîæ ñóóëãàö õèéæ áîëîõîîð òîõèðóóëæ áîëíî. Òàíä FreeBSD äèñê áàéãàà áîëîâ÷ òàíû CD/DVD ò°õ°°ð°ìæ óã äèñêèéã òàíèõã³é õàðèí MS-DOS/Windows äýýð òàíüäàã áàéã. Òà óã êîìïüþòåðèéíõàà DOS õóâààëò äýýðýý FreeBSD ñóóëãàöûã õóóëààä äàðàà íü óã àéë óðóó FreeBSD-ã ñóóëãàõ ³åä õàíäàæ áîëíî. Òàíû ñóóëãàõûã õ³ññýí êîìïüþòåðò CD/DVD ò°õ°°ð°ìæ áîëîí ñ³ëæýýíèé êàðòûí àëü íü ÷ áàéõã³é á°ã°°ä òà ç°âõ°í “Laplink-style” öóâàà þì óó çýðýãöýý õîëáîëòûí êàáåëèàð õîëáîãäîæ ã³éöýòãýæ áîëíî. Òà FreeBSD ñóóëãàæ áîëäîã áè÷ëýãò õàëüñ áýëäýæ áîëíî.
2.13.1
Ñóóëãàöûí CDROM ³³ñãýõ
FreeBSD ò°ñ°ë íü õóâèëáàð ãàðãàõ ³åäýý õàìãèéí áàãàäàà õî¼ð øèðõýã CDROM ä³ðñèéã (“ISO images áóþó äèñêíèé ä³ðñ”) äýìæèãäñýí àðõèòåêòóð á³ðèéí õóâüä áýëòãýäýã. Õýðýâ òàíä CD áè÷èã÷ áàéâàë ýäãýýð áóóëãàö ä³ðñèéã CD äýýð áóóëãàí áè÷èæ (“øàðæ”) áîëäîã. Õýðýâ òàíä CD áè÷èã÷ áîëîí õÿìä ³íýòýé èíòåðíýò ñàéí õîëáîëò áàéâàë ýíý íü FreeBSD-ã ñóóëãàõ õàìãèéí àìàðõàí àðãà áîëíî. 1.
Ç°â ISO Images áóþó áóóëãàö ä³ðñèéã òàòàæ àâàõ Õóâèëáàð á³ðä çîðèóëñàí ISO áóóëãàö ä³ðñèéã
ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version õàÿãààñ þì óó ýñâýë õóóëáàð òîëèí òóñãàëóóäààñ òàòàæ àâ÷ áîëíî. Ìàøèíû ò°ð°ë áîëîí õóâèëáàðûã arch áîëîí version ãýñýí õýñã³³äýä òóñ òóñàä íü îðëóóëæ áè÷èõ õýðýãòýé. Óã ñàí íü äàðààõ áóóëãàö ä³ðñí³³äèéã àãóóëæ áàéäàã:
Table 2-4. FreeBSD 6.X
áà 7.X ISO áóóëãàö ä³ðñíèé íýð áîëîí àãóóëãà
Ôàéëûí íýð version-RELEASE-arch-bootonly.iso
version-RELEASE-arch-miniinst.iso
Àãóóëãà
FreeBSD ö°ì°°ñ ýõë³³ëæ ñóóëãàöûí õýñãèéã ýõë³³ëýõýä õýðýãëýãäýõ á³õ õýñýã áóé. Ýíý ñóóëãàæ áîëäîã àéëóóäûã FTP þì óó áóñàä ýõ ñóðâàëæààñ òàòàæ àâ÷ áîëíî. FreeBSD-ã ñóóëãàõàä õýðýãëýãäýõ á³õ þì áèé.
83
Chapter 2 FreeBSD ñóóëãàõ íü
Ôàéëûí íýð
Àãóóëãà
version-RELEASE-arch-disc1.iso
FreeBSD-ã ñóóëãàõàä õýðýãòýé á³õ þì áîëîí sysinstall äýýð õýðýãëýãäýõ “Repair áóþó çàñâàðëàõ”àä õýðýãëýãääýã “live filesystem áóþó àìüä àéë ñèñòåì”.
Äèñêýí äýýð áàãòàõààð íü øèíãýýñýí ãóðàâäàã÷äûí á³òýýñýí ïðîãðàìûí áàãöóóä. version-RELEASE-arch-docs.iso FreeBSD-í áè÷èã áàðèìò. Òà bootonly ISO þì óó ýñâýë íýãä³ãýýð äèñê õî¼ðûí àëü íýãèéã òàòàæ àâàõ ¼ñòîé . Íýãä³ãýýð äèñê íü bootonly ISO äèñêíèé á³òöèéã àãóóëæ áàéäàã áîëîõîîð ýíý õî¼ðûã õî¼óëàíã òàòàæ àâ÷ õýðýãã³é. bootonly ISO-ã èíòåðíýò õîëáîëò õÿìä ãàçàðò ñóóëãàõ õýðýãòýé. ³ãýýð òà FreeBSD-ã ñóóëãààä, äàðàà íü ãóðàâäàã÷ ïðîãðàìóóäûã èíòåðíýòýýð òàòàæ àâ÷ ñóóëãàæ áîëíî ( Chapter 4-ñ õàðíà óó). Íýãä³ãýýð äèñêèéã õèéãýýä FreeBSD-ã ñóóëãàõ þì óó ýñâýë äèñêýí äýýð áàéãàà ãóðàâäàã÷äûí áàãö ïðîãðàìûã ñóóëãàíà ãýæ ñîíãîõ õýðýãòýé. Áóñàä äèñêí³³ä íü õýðýâ òàíä õóðäòàé èíòåðíýò õîëáîëò áàéõã³é ë áîë òèéì ÷óõàë øààðäëàãàòàé áèø. CD-í³³äèéã áè÷èõ Òà õóóëáàð ä³ðñ íàðûã äèñêýí äýýð áè÷èõ õýðýãòýé. Õýðýâ òà ýíý àëõìûã °°ð FreeBSD ñèñòåì äýýð ã³éöýòãýæ áàéãàà áîë Section 18.6 õýñãýýñ íýìýëò ìýäýýëëèéã ³çýõ õýðýãòýé ( Section 18.6.3 áîëîí Section 18.6.4 õýñã³³äýä çàðèì íü áóé). Õýðýâ òà ýíý ³éëäëèéã °°ð ³éëäëèéí ñèñòåì äýýð ã³éöýòãýæ áàéãàà áîë, óã ñèñòåì äýýð áàéãàà CD áè÷èã÷ýý óäèðääàã äóðûí ïðîãðàìûã íü àøèãëàæ áè÷èõ íü ç³éòýé. Ýäãýýð ä³ðñ íü ñòàíäàðò ISO õýëáýðýýð áàéãàà òóë ìàø îëîí áè÷èã÷ íàð ýíý ò°ðëèéã äýìæäýã áèëýý. version-RELEASE-arch-disc2.iso
2.
Note: Õýðýâ °°ðèéí ãýñýí FreeBSD õóâèëáàð á³òýýíý ãýõ þì áîë Õóâèëáàðûã èíæåíåð÷ëýõ ìýäýýëëýýñ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/releng) õàðààðàé.
2.13.2 FreeBSD
äèñêòýé äîòîîä FTP õóóäàñ áýëòãýõ íü
FreeBSD äèñêíèé çîõèîí áàéãóóëàëò íü FTP õóóäàñòàéãàà èæèë áàéðëóóëàãäñàí áóé. Èíãýñíýýð òàíä äîòîîä FTP õóóäàñ áàéãóóëæ ñ³ëæýýãýýð FreeBSD-ã ñóóëãàõàä òóí ä°õ°ì áîëæ °ãä°ã. 1.
FTP õóóäàñ ýðõýëæ áàéõ ¼ñòîé FreeBSD êîìïüþòåðò CDROM ò°õ°°ð°ìæ áàéõ øààðäëàãàòàé á°ã°°ä ñàíä òàíèóëæ õîëáîñîí áàéõ ¼ñòîé.
/cdrom
# mount /cdrom
2.
anonymous FTP ýðõ /etc/passwd äîòîð ³³ñãýõ õýðýãòýé. Èíãýõèéí òóëä vipw(8) õýðýãñëèéã àøèãëàí àéëûã çàñâàðëàõäàà äàðààõ ì°ðèéã íýìýõ õýðýãòýé:
/etc/passwd
ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
3.
/etc/inetd.conf
äîòîð FTP service áóþó ³éë÷èëãýý ç°âø°°ð°ãäñ°í ýñýõèéã ëàâëàõ õýðýãòýé.
84
Chapter 2 FreeBSD ñóóëãàõ íü
Èíãýýä îäîî òàíû êîìïüþòåðòàé ñ³ëæýýãýýð õîëáîãäîæ ÷àäàõ ìàøèí áîëãîí ñóóëãàö ýõë³³ëýõèéí òóëä, ñóóëãàõ ò°õ°°ð°ìæ°° ñîíãîõ öýñíýýñ “Other áóþó áóñàä” ãýäãèéã ñîíãîîä öààø íü FTP ãýæ ñîíãîí ftp://ìàøèíû íýð ãýæ îðóóëàõ õýðýãòýé. Note: Õýðýâ òàíû FTP ³éë÷èëãýýã àøèãëàæ áàéãàà õýðýãëýã÷èéí ýõëýí à÷ààëàõ ò°õ°°ð°ìæ íü (ãîëäóó óÿí äèñê áàéäàã) FTP äýýð áóé õóâèëáàðòàé ÿã èæèë õóâèëáàð áèø áîë, sysinstall íü òàíû ñóóëãàöûã á³ðýí ã³éöýòãýæ ÷àääàãã³é. Õýðýâ õóâèëáàðóóä èæèë áèø áàéñàí ÷ ãýñýí äàðæ áè÷èõèéã òà õ³ñýæ áàéãàà áîë Options öýñíýýñ distribution name áóþó òàðõàöûí íýðèéã any ãýæ áè÷èõ õýðýãòýé.
Warning: Ýíý àðãà íü ãàëò õàíààð õàìãààëàãäñàí äîòîîä ñ³ëæýýíä áîë íàéäâàðòàé àæèëëàäàã. Ýíý FTP ³éë÷èëãýýãýý èíòåðíýòýýð äàìæóóëàí °°ð ìàøèíä (òàíû äîòîîä ñ³ëæýýíýýñ ãàäóóðõ ñ³ëæýýíä áóé êîìïüþòåðò) ñàíàë áîëãîâîë çàðèì êîìïüþòåðèéí ñ³ëæýý ýâäýã÷ õ³ì³³ñèéí àíõààðëûã òàòàæ ýâã³é ³ð ä³íä õ³ðãýæ áîëçîøã³é. Õýðýâ òà íóóöëàëûí ìàø ñàéí äàäëàãàòàé áèø ë áîë èíãýæ ãàäóóðõ ñ³ëæýýíä èë ãàðãàõààñ áîëãîîìæëîõûã áèä òàíä ç°âë°æ áàéíà.
2.13.3
Ñóóëãàöûí óÿí äèñêèéã áýëäýõ íü
Õýðýâ òàíû êîìïüþòåð °°ð äýìæëýãã³éãýýñ áîëîîä þì óó ýñâýë òà þìûã õ³íäð³³ëæ õèéõèéã õ³ññýíýýñ ÷ áîëîîä þì óó, ñóóëãàöûã óÿí äèñêíýýñ ñóóëãàõ ¼ñòîé áîë (ýíý àðãûã õýðýãëýõã³é áàéõûã ñàíàë áîëãîæ áàéíà), òà ýõëýýä óÿí äèñêí³³äèéã ñóóëãàöàä áýëäýõ ¼ñòîé. Õàìãèéí áàãàäàà ë ãýõýä base (³íäñýí ò³ãýýëò) ñàíä áóé õî¼ðòûí àéëóóäûã áàãòààõàä øààðäëàãàòàé òîîíû 1.44 MB-í äèñêí³³äèéã áýëäýõ ¼ñòîé. Õýðýâ óÿí äèñêýý DOS-ñ áýëäýæ áàéãàà áîë MS-DOS-í FORMAT êîìàíäûã àøèãëàí äèñêí³³äèéã øèíý÷èëæ áýëäýõ ¼ñòîé . Õýðýâ òà Windows-ñ áýëäýõýýð áîë, Explorer äýýð äèñêèéã îðìàòëàæ áîëäîã ( A: ò°õ°°ð°ìæ äýýð õóëãàíû áàðóóí òîâ÷èéã äàðààä “Format” öýñèéã ñîíãîîðîé). éëäâýðýýñ óðüä÷èëàí áýëòãýæ öýâýðëýñýí äèñêýíä èòãýæ áîëîõã³é ø³³ . Íàéäâàðòàé áàéõûí òóëä òýäãýýðèéã äàõèí öýâýðëýõ õýðýãòýé. ѳ³ëèéí ³åä ìàø îëîí õýðýãëýã÷èä ç°â öýâýðëýæ ÿíçëààã³é äèñêíýýñýý áîëæ ìàø èõ àëäàà ãàðëàà ãýæ ìýäýýëñýí ó÷ðààñ áèä èíãýæ òàíä àíõààðóóëæ áàéãàà áèëýý. Õýðýâ òà óÿí äèñêýý DOS àéë ñèñòåì äýýð áèø õàðèí °°ð FreeBSD ìàøèí äýýð áýëòãýæ áàéñàí ÷ ãýñýí öýâýðëýõ íü ç°â ñàíàà ãýäãèéã äàõèí ñàíóóëìààð áàéíà. Òà bsdlabel áîëîí newfs òóøààëóóäûã àøèãëàæ UFS àéëûí ñèñòåì ñóóëãàõûã õ³ñâýë ( 3.5" 1.44 MB äèñê äýýð) äàðààõ òóøààëóóäûã °ã°õ õýðýãòýé: # fdformat -f 1440 fd0.1440 # bsdlabel -w -r fd0.1440 floppy3 # newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0
Äàðàà íü äèñêýý òàíèóëààä æèðèéí àéë ñèñòåì øèã áè÷èæ áîëíî. Óÿí äèñêí³³äýý öýâýðëýæ áýëòãýñíèé äàðàà àéëóóäàà õóóëàõ õýðýãòýé. Òàðõöûí àéëóóä íü çîõèöîõ çîðèëãîîð òààðóóëæ õóâààãääàã á°ã°°ä òàâàí øèðõýã 1.44 MB äèñê äýýð áàãòàõààð òîõèðóóëàãäñàí áàéäàã. Á³õ óÿí äèñê áîëãîíäîî áàãòàõ õýìæýýãýýð íü òóëãàæ õóóëàõ çàð÷ìààð ò³ãýýëòèéí á³õ àéëóóäûã áàãòààæ õóóëàõ õýðýãòýé. Òàðõàö á³ð óÿí äèñê äýýð : a:\base\base.aa, a:\base\base.ab ãýõ ìýò÷èëýí õóóëàãäàõ ¼ñòîé.
85
Chapter 2 FreeBSD ñóóëãàõ íü Important: Ò³ãýýëòèéã òàòàæ àâàí íèéë³³ëýõ ³åäýý õè÷íýýí íýìýëò õýñã³³äèéã õàéõàà ìýäýõèéí òóëä ñóóëãàëòûí ïðîãðàì óíøäàã ó÷ðààñ base.inf àéë íü base öóãëóóëãûí ýõíèé óÿí äèñêýíä îðîõ ¼ñòîé.
Ñóóëãàöûí ÿâöàä ñóóëãàõ ò°õ°°ð°ìæ°° ñîíãîõ Media öýñ ãàðàõ ³åä Floppy öýñèéã ñîíãîîä öààøààãàà ñóóëãàöàà ³ðãýëæë³³ëýýðýé. 2.13.4 MS-DOS
õóâààëòààñ ñóóëãàõ íü
MS-DOS õóâààëòààñ ñóóëãàöûã áýëòãýõèéí òóëä, óã õóâààëòûí ýõ õýñýã äýýð freebsd íýðòýé ñàí ³³ñãýæ äîòîð íü ò³ãýýëòèéí àéëóóäûã õóóëàõ õýðýãòýé. Æèøýý íü, c:\freebsd. CDROM þì óó FTP õóóäñàíä áàéñàí àéëóóäûí ñàíãèéí á³òýö íü óã ñàí äîòîðõòîé èæèë áàéõ ¼ñòîé á°ã°°ä õóóëàõûí òóëä DOS-í xcopy òóøààëûã àøèãëàí CD-ñ õóóëààðàé. Æèøýý íü, FreeBSD-í õàìãèéí áàãà ñóóëãàöûã ã³éöýòãýõèéí òóëä: C:\> md c:\freebsd C:\> xcopy e:\bin c:\freebsd\bin\ /s C:\> xcopy e:\manpages c:\freebsd\manpages\ /s
Ýíä C: äèñêèéã ñóë çàéòàé ãýæ ³çñýí á°ã°°ä E: äèñê äýýð CDROM-ã òàíèóëñàí ãýæ àâ÷ ³çýâ. Õýðýâ òàíä CDROM ò°õ°°ð°ìæ áàéõã³é áîë òàðõàö àéëûã ftp.FreeBSD.org (ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.1-RELEASE/) -ñ òàòàæ àâ÷ áîëíî. Òàðõàö á³ð °°ðñäèéí ñàí äîòðîî áàéãàà á°ã°°ä, æèøýý íü, base òàðõàö 7.1/base/ (ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.1-RELEASE/base/) ñàí äîòîð áóé. MS-DOS-ñ ñóóëãàõûã õ³ññýí òàðõàö áîëãîíûã (õýðýâ òàíä õàíãàëòòàé ñóë çàé áàéãàà ë áîë) c:\freebsd ñàí äîòîð õóóëàõ õýðýãòýé á°ã°°ä — ç°âõ°í õàìãèéí áàãààð ñóóëãàõ çîðèóëàëòòàé àéëóóä ë BIN ñàí äîòîð áàéõ øààðäëàãàòàé. 2.13.5
Ñóóëãàöûí áè÷ëýã òóóç áýëòãýõ íü
Áè÷ñýí òóóçíààñ ñóóëãàõ íü FTP þì óó CDROM-ñ ñóóëãàñíààñ õàìààã³é àìàðõàí àðãà áàéæ áîëîõ þì. Ñóóëãàö ïðîãðàì íü áè÷ëýã äýýð tar õýëáýðýýð íýãòãýæ áè÷èãäñýí áàéõ ¼ñòîé. Ñóóëãàõûã õ³ññýí òàðõöàà àâñíû äàðàà òóóçàí äýýð øàõàæ áè÷èõ õýðýãòýé: # cd /freebsd/distdir # tar cvf /dev/rwt0 dist1 ... dist2
Ñóóëãàöûã ã³éöýòãýõ ÿâöäàà òóóçàí äýýð ò³ð çóóð õýðýãëýõýýð (ñîíãîëòîîñ õàìààð÷) òóóçàí äýýðõ àéëóóäûã á³õëýýð íü õóóëàõàä áàãòààõààð ñóë çàéã ³ëäýýõ ¼ñòîé. Øóóðõàé ñàíàìñàðã³é õàíäàëò õèéãäýæ áîëäîãã³é ó÷ðààñ òóóçàí äýýð èõ õýìæýýíèé ñóë çàé áýëýí áàéëãàõ øààðäëàãà ãàðäàã þì. Note: Ñóóëãàöûã ýõë³³ëýõ ³åä óÿí äèñêíýýñ ýõë³³ëýõýýñýý °ìí° Èíãýõã³é áîë ñóóëãàö îëîõã³é áàéõ ìàãàäëàëòàé.
òóóçûã ò°õ°°ð°ìæ ð³³ íü õèéñýí áàéõ ¼ñòîé.
86
Chapter 2 FreeBSD ñóóëãàõ íü
2.13.6
ѳëæýýãýýð ñóóëãàõààñàà °ìí°
ѳëæýýãýýð ñóóëãàõ ãóðâàí ò°ðëèéí àðãà áèé. Ýäãýýð íü Ethernet ñ³ëæýý (ñòàíäàðò Ethernet ò°õ°°ð°ìæ), Öóâàà õîëáîëò (SLIP ýñâýë PPP) ýñâýë Çýðýãöýý õîëáîëò (PLIP (laplink êàáåëü)) þì. ѳëæýýíèé êàðòàà àøèãëàæ èíòåðíýò ñóóëãàõ àðãà áîë ìýäýýæ õàìãèéí ñàéí ñîíãîëò áàéõ áîëíî! FreeBSD íü èõýíõ ñ³ëæýýíèé êàðòóóäûã äýìæèæ òàíüäàã á°ã°°ä Hardware Notes áóþó ò°õ°°ð°ìæèéí òóõàé ìýäýýëýë õýñýãò äýìæäýã êàðòóóäûã (ì°í òýäãýýðò øààðäàãäàõ òîõèðóóëãàòàé íü) æàãñààñàí áóé. Õýðýâ òà àëü íýãýí äýìæèãäñýí PCMCIA ñ³ëæýýíèé êàðò õýðýãëýæ áàéâàë ç°°âðèéí êîìïüþòåðàà àñààõààñàà °ìí° íü çàëãààðàé. Õàðàìñàëòàé íü îäîîãîîð PCMCIA ò°ðëèéí êàðòóóäûã ÿâöûí äóíä øóóä çàëãàæ õàðààõàí ÷àäàõã³é áàéãàà áèëýý. Òà ì°í ñ³ëæýýíèéõýý IP õàÿãàà ñàëãàæ àíãèëñàí netmask áóþó ñ³ëæýýíèé ø³³ëò õàÿãòàé íü õàìò ìýäýæ áàéõ ¼ñòîé. Õýðýâ òà PPP õîëáîëò àøèãëàæ õîëáîãäîæ áàéãàà áîë, ISP ãàçðààñ òàíü àâòîìàòààð õàÿãëàëò õèéäýã áîëîõîîð òîãòìîë çààæ °ãñ°í IP õàÿã á³³ çîîæ òîõèðóóëààðàé. Òàíû ñ³ëæýý òîõèðóóëàã÷ òàíü ÿìàð ÿìàð òîõèðóóëãà øààðäëàãàòàéã òàíä ìýäýãäýõ áàéõ. Õýðýâ òà IP õàÿã áèø õàðèí ÿìàð íýãýí ñåðâåðèéí íýð îðóóëæ òîõèðóóëàõ ¼ñòîé áîë, òàíä áàñ name server áóþó ñåðâåð³³äèéí íýð³³äèéã çîõèöóóëàã÷ ñåðâåðèéí íýðèéã ì°í ìàãàäã³é gateway ñåðâåðèéí õàÿãèéã áàñ îðóóëàõ õýðýãòýé áîëîõ áàéõ (õýðýâ òà PPP õýðýãëýæ áàéãàà áîë ýíý íü òàíû èíòåðíýòýýð õàíãàã÷ áàéãóóëëàãûí òàíü IP õàÿã áàéõ ¼ñòîé). Õýðýâ òà HTTP ïðîêñèãîîð äàìæèí FTP-íýýñ ñóóëãàö õèéõ ¼ñòîé áîë, òà ì°í ïðîêñèãèéí õàÿãèéã îðóóëæ °ã°õ õýðýãòýé. Õýðýâ òà ýäãýýð îëîí àñóóëòàíä õàðèóëæ ìýäýõã³é áàéãàà òîõèîëäîëä, ñ³ëæýý òîõèðóóëàã÷ààñàà þì óó ýñâýë ISP-ààñàà ñóóëãàöàà ýõë³³ëýõýýñýý °ìí° ëàâëàæ àñóóõ íü ÷óõàë. SLIP-ð õîëáîõ íü öóâàà õîëáîëòûí çàëãóóðààð íýã êîìïüþòåðèéã °°ð êîìïüþòåðòàé õîëáîäîã ÿâöóó àðãà þì. SLIP ñóóëãàö íü óòñàí õîëáîîãîîð çàëãàõ áîëîìæã³é áîëãîæ ç°âõ°í øóóä çàëãàñàí çàëãóóðààð ë çàëãàãäàõ áîëíî. Ýíý áîëîìæ íü õýðýâ SLIP-èéã õýðýãëýæ áîëîõîîð ³åä ë òîõèðóóëãààð õýðýãæäýã. Õýðýâ òà ìîäåì õýðýãëýæ áàéãàà áîë PPP òàíû áàðàã öîðûí ãàíö ñîíãîëò áàéõ áîëîâ óó. Ñóóëãàöàà á³ð ýõë³³ëýõýýñýý °ìí° èíòåðíýò õ°òë°ã÷ áàéãóóëëàãà óðóóãàà õîëáîãäîõ ìýäýýëëýý ñàéí áýëòãýæ àâñàí áàéõ õýðýãòýé. Õýðýâ òà ISP ðóóãàà PAP ýñâýë CHAP õýðýãëýæ õîëáîãääîã áîë (°°ð°°ð õýëáýë, ISP óðóóãàà ÿìàð íýãýí ñêðèïò áóþó ã³éöýòãýäýã áè÷ëýã õýðýãëýëã³éãýýð Windows-ñ õîëáîãäîæ áàéâàë), ppp-í òóøààë îðóóëàõ ì°ð°íä dial ãýæ îðóóëàõàä áîëíî. °ð òîõèîëäîëä, PPP õýðýãëýæ óòàñäàõ ãîðèì íü òóí ýíãèéí òåðìèíàë ³éë÷èëãýýãýýð õàíãàãäñàí áàéäàã áîëîõîîð, òà ISP ðóóãàà ìîäåìîíäîî òîõèðñîí “AT òóøààë” õýðýãëýæ õîëáîãäîõ õýðýãòýé. Õýðýãëýã÷èéí ppp á³ðòãýëèéí ãàðûí àâëàãà ýñâýë FAQ áóþó áàéíãà àñóóäàã àñóóëò õàðèóëò (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/faq/ppp.html) õýñãýýñ íýìýëò ìýäýýëëèéã õàðæ áîëíî. Õýðýâ òàíä õ³íäðýë òóëãàðâàë, set log local ... òóøààë àøèãëàæ åð°íõèé ÿâöûí á³ðòãýë áè÷ëýãèéã äýëãýöýí äýýðýý çýðýã õÿíàæ áîëíî. Õýðýâ òà °°ð FreeBSD (2.0-R ýñâýë ò³³íýýñ äýýøõè õóâèëáàð) ìàøèí óðóó øóóä çàëãàæ õîëáîãäîõ áîëîìæòîé áîë “laplink” çýðýãöýý êàáåëèàð ã³éöýòãýæ áîëîõ þì. Çýðýãöýý õîëáîëòîîð °ã°ãä°ë íü öóâàà õîëáîëòûã áîäâîë àðàé õóðäàí äàìæèãäàõ (50 êáàéò/ñåê õ³ðòýë) á°ã°°ä, èíãýñíýýð èë³³ ò³ðãýí ñóóëãàöàà ã³éöýòãýæ áîëîõ þì. 2.13.6.1 NFS-ð ñóóëãàõààñàà °ìí°
NFS ñóóëãàö áîë õàðüöàíãóé õóðäàí øóëóóõàí áàéäàã. NFS ñåðâåð äýýðýý FreeBSD òàðõàëòûíõàà õóóëáàðûã õóóëààä äàðàà íü ñóóëãàö ã³éöýòãýõ ò°õ°°ð°ìæèéã ñîíãîõ öýñýí äýýð NFS ãýæ çààæ °ã°õ°ä áîëíî.
87
Chapter 2 FreeBSD ñóóëãàõ íü
Õýðýâ ñåðâåð ç°âõ°í “çààãäñàí ïîðò” àøèãëàõ ¼ñòîé áîë (Sun ò°ðëèéí êîìïüþòåðò ýíý íü àíõíààñàà çààãäñàí áàéäàã øèã), òà Options öýñýí äýýð NFS Secure ñîíãîëòûã ñîíãîæ òîõèðóóëààä ñóóëãàöàà öààø íü ³ðãýëæë³³ëýýðýé. Õýðýâ òàíû ñ³ëæýýíèé êàðò òèéì ñàéí áèø á°ã°°ä õóðäàí äàìæóóëàëò õèéäýãã³éã òà ìýääýã áîë NFS Slow ãýäãèéã áàñ ñîíãîæ òîõèðóóëààðàé. NFS ñóóëãàöûã àæèëëóóëàõûí òóëä ñåðâåð íü äýä ñàíã òàíüäàã áàéõ ¼ñòîé. Æèøýý íü, õýðýâ òàíû FreeBSD 7.1 òàðõàö: ziggy:/usr/archive/stuff/FreeBSD ñàíä áàéãàà áîë, ziggy íü /usr ýñâýë /usr/archive/stuff ãýõ ìýò÷èëýí äàìæèæ òàíèóëàõ áèø õàðèí øóóä /usr/archive/stuff/FreeBSD ñàíã òàíüæ áàéõààð òîõèðóóëàãäàõ ¼ñòîé. FreeBSD-í /etc/exports àéë äîòîð ³³íèéã òîõèðóóëàõûí òóëä -alldirs ãýñýí ñîíãîëò îðóóëæ °ãä°ã. Áóñàä NFS ñåðâåð³³ä °°ð çîõèîí áàéãóóëàëòòàé áàéæ áîëîõ þì. Õýðýâ òà “permission denied áóþó õàíäàõ ýðõ ç°âø°°ð°ãä°õã³é” ãýñýí ìýäýýëýë ñåðâåðýýñ õ³ëýýæ àâáàë, òà ñàÿíû ñîíãîëòûã îðóóëæ °ã°°ã³é áàéíà ãýñýí ³ã þì.
88
Chapter 3
Þíèêñèéí ³íäýñ
Äàõèí áè÷ñýí Êðèñ Øàìâýé. Îð÷óóëñàí Øàãäàðûí Íàöàãäîðæ. 3.1
Åð°íõèé àãóóëãà
Äàðààõ á³ëã³³ä íü FreeBSD ³éëäëèéí ñèñòåìèéí ³íäñýí òóøààë ì°í ã³éöýòãýë³³äèéã õàìðàõ áîëíî. Ýíý ìàòåðèàëûí èõýíõ õýñýã íü UNIX-ò°ðëèéí ³éëäëèéí ñèñòåìòýé õàìààòàé. Õýðýâ òà þíèêñ ò°ðëèéí ³éëäëèéí ñèñòåìòýé òàíèë áîë ýíý á³ëãèéã àëãàñàæ áîëíî. Õàðèí òà FreeBSD-ã øèíýýð ñóðàã÷ áîë ýíý á³ëãèéã òóí àíõààðàëòàé óíøèõ õýðýãòýé. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: • • • • • • • • • • •
FreeBSD-í “âèðòóàë êîíñîëûã” õýðõýí õýðýãëýõ.
FreeBSD äýýðõ àéëûí òóãèéã îéëãîñíîîð UNIX-í àéëûí ç°âø°°ð°ë õýðõýí àæèëëàäãèéã ìýäýõ.
íäñýí FreeBSD àéë ñèñòåìèéí áàéðëóóëàëòûã ìýäýõ. FreeBSD äèñê çîõèîí áàéãóóëàëò. Ôàéë ñèñòåìèéã õýðõýí õîëáîõ áîëîí ñàëãàõ. Ïðîöåññ, äàëä ÷°òã°ð äýìîí, ì°í äîõèîíóóä ãýæ þó áîëîõ. Á³ðõ³³ë ãýæ þó áîëîõ, ì°í õýðõýí àíõíû íýâòðýõ îð÷íîî °°ð÷ë°õ. íäñýí òåêñò çàñâàðëàã÷èéã õýðõýí õýðýãëýõ. Ò°õ°°ð°ìæ áîëîõ ò°õ°°ð°ìæèéí öýã ãýæ þó áîëîõ. FreeBSD-ä ÿìàð õî¼ðòûí õýëáýð õýðýãëýãääýã áîëîõ. Íýìýëò ìýäýýëëèéã òîâ÷ ãàðûí àâëàãààñ õýðõýí õàðàõ.
3.2
Âèðòóàë êîíñîë áîëîí òåðìèíàë
FreeBSD íü îëîí àðãààð õýðýãëýãäýæ ÷àäíà. Òýäíèé íýã íü òóøààëóóäûã òåêñò òåðìèíàë äýýð áè÷èæ õýðýãëýõ þì. Õýðýâ òà FreeBSD-ã èíãýæ õýðýãëýâýë, UNIX-í ìàø îëîí áîëîìæ áîëîí õ³÷ òàíû ãàðò áàéíà ãýñýí ³ã. Ýíý á³ëýã òàíä, “òåðìèíàë” áîëîí “êîíñîë” ãýæ þó áîëîõ, ì°í òýä íàðûã FreeBSD äýýð õýðõýí õýðýãëýõ òàëààð òàíä òîäîðõîéëæ °ã°õ áîëíî.
3.2.1
Êîíñîë
Õýðýâ òà FreeBSD-ã ýõëýõ ³åäýý àâòîìàòààð ãðàèê ãîðèìä ýõë³³ëýõýýð òîõèðóóëààã³é áîë, ñèñòåì íü ýõëýëòèéí ã³éöýòãýäýã áè÷èãëýë³³äýý äóóñãàñíû äàðàà òàíä íýâòðýõ õóóäàñ õàðóóëäàã. Òà íýã èéìýðõ³³ õóóäàñ õàðàõ áàéõ: Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002
89
Chapter 3 Þíèêñèéí ³íäýñ
FreeBSD/i386 (pc3.example.org) (ttyv0) login:
Ýíä õàðóóëñàí òåêñò³³ä íü òàíû ñèñòåì äýýð æààõàí °°ð áàéæ ìàãàäã³é ÷, åð°íõèéä°° ³³íòýé èæèë áàéõ ¼ñòîé. ѳ³ëèéí õî¼ð ì°ð íü áèäýíä îäîîãîîð ÷óõàë ì°ð³³ä. ѳ³ëýýñýý õî¼ð äàõü ì°ð íü èíãýæ óíøèãäàæ áàéíà: FreeBSD/i386 (pc3.example.org) (ttyv0)
Ýíý ì°ð íü òàíû ä°íã°æ ñàÿ ýõë³³ëñýí ñèñòåìèéí òóõàé òîâ÷ ìýäýýëëèéã àãóóëñàí áàéíà. Òà x86 àðõèòåêòóðòàé òîõèðîìæòîé Èíòåë þì óó òîõèðîõ ñèñòåì äýýð àæèëëàæ áóé “FreeBSD” êîíñîëûã õàðæ áàéíà . Ýíý ìàøèíû íýð íü (UNIX ìàøèí áîëãîí °°ðèéí íýðòýé ) pc3.example.org, á°ã°°ä òà ýíý ñèñòåìèéí êîíñîëûí — ttyv0 íýðòýé òåðìèíàëûã õàðæ áàéíà. Ýöýñò íü, ñ³³ëèéí ì°ð áîë ³ðãýëæ: 1
login:
Ýíý õýñýã íü, òàíû FreeBSD óðóó íýâòðýõ “õýðýãëýã÷èéí-íýðýý” áè÷äýã õýñýã. Äàðààãèéí õýñýãò ýíý òàëààð òîäîðõîéëñîí áàéãàà. 3.2.2 FreeBSD
óðóó íýâòðýõ
FreeBSD áîë îëîí õýðýãëýã÷èéí áàñ îëîí ³éëäëèéí ñèñòåì. Ýíý íü, íýã ìàøèí óðóó îëîí õ³ì³³ñ çýðýã õîëáîãäîæ íýãýí çýðýã îëîí ³éëäýë õèéæ áîëäîã ñèñòåìèéí åð°íõèé òîäîðõîéëîëò þì. Îëîí õýðýãëýã÷èéí ñèñòåì íü ÿìàð íýãýí àðãààð íýã “õýðýãëýã÷èéã” áóñäààñ íü ÿëãàæ ÷àääàã áàéõ ¼ñòîé. FreeBSD äýýð (ì°í áóñàä UNIX-ò°ðëèéí ñèñòåì³³ä äýýð) ýíý íü, õýðýãëýã÷ ÿìàð íýãýí ïðîãðàì àæèëëóóëàõààñàà °ìí° ñèñòåì óðóó “íýâòðýõ ³éëäýë” õèéæ õýðýãæäýã. Õýðýãëýã÷ á³ðä ãîö íýð ( “õýðýãëýã÷èéí-íýð”) ì°í õóâèéí íóóö ³ã ( “íóóö-³ã”) õàðãàëçàõ ¼ñòîé. Õýðýãëýã÷èéã ïðîãðàì õýðýãëýæ ýõëýõýýñ °ìí° FreeBSD ýíý õî¼ðûã àñóóõ áîëíî. Ä°íã°æ FreeBSD ýõëýõ ³åäýý ýõë³³ëýã÷ áè÷ëýã³³äèéã ã³éöýòãýæ äóóñààä òàíààñ ç°â õýðýãëýã÷èéí íýð îðóóëàõûã ëàâëàæ àñóóíà: 2
login:
Ýíý æèøýýíä çîðèóëààä á³ãäýýðýý òàíû õýðýãëýã÷èéí íýðèéã john ãýæ áîäîöãîî¼. Ëàâëàæ àñóóñàí ì°ð°íä john ãýæ áè÷ýýä Enter òîâ÷ äàðíà. Èíãýýä äàðàà íü òàíààñ “password” ãýæ íóóö ³ã àñóóõ áîëíî: login: john Password:
íû íóóö ³ãèéã îðóóëààä Enter òîâ÷ äàðíà. Íóóö ³ãèéã òàíä õàðóóëäàãã³é! Ýíý òàëààð òà îäîîõîíäîî ñàíààãàà çîâîîõ õýðýãã³é. Íóóöëàëûí øàëòãààíààð èíãýæ áàéãàà þì ãýæ õýëýõýä õàíãàëòòàé. Õýðýâ òà íóóö ³ãýý ç°â îðóóëñàí áîë èíãýýä FreeBSD óðóó íýâòðýõ á°ã°°ä áîëîìæòîé á³õ ïðîãðàìóóäûã òóðøèæ áîëîõîîð áîëëîî.
john-
90
Chapter 3 Þíèêñèéí ³íäýñ
Òà MOTD ýñâýë òóõàéí °äðèéí ìýäýýëëèéã òóøààë áè÷èã÷èéí àðààñ õàðàõ áîëíî ( òóøààë áè÷èã÷ íü #, ýñâýë % ãýñýí òýìäýãò³³äèéí íýã íü áàéäàã). Ýíý íü òàíûã FreeBSD óðóó àìæèëòòàé íýâòýðñíèéã èëýðõèéëäýã.
$,
3.2.3
Îëîí êîíñîëóóä
UNIX òóøààëóóäûã íýã êîíñîë äýýð ã³éöýòãýõ íü åðäèéíõ, ãýõäýý FreeBSD îëîí ïðîãðàìûã íýã äîð àæèëëóóëæ ÷àäíà. FreeBSD îëîí ïðîãðàìûã íýã äîð íýã öàãò àæèëëóóëæ ÷àäàæ áàéõàä, íýã êîíñîë äýýð îëîí òóøààë °ã÷ ñóóõ íü öàã àëäàõûí ë íýìýð. Èéì ³åä ë “âèðòóàë êîíñîëûí” òóñëàìæ õýðýã áîëäîã. FreeBSD íü òàíä îëîí ò°ðëèéí âèðòóàë êîíñîë õýðýãë³³ëýõýýð òîõèðóóëàãäàæ ÷àääàã. Íýã âèðòóàë êîíñîëîîñ í°ã°°õ óðóó íü ãàðûí õýäõýí òîâ÷ëóóð äàðààä ë øèëæèæ áîëäîã. Êîíñîë á³ð °°ðèéí ò°ð°ë á³ðèéí ãàðàëòûí ñóâàãòàé á°ã°°ä FreeBSD íü òàíûã íýã êîíñîëîîñ í°ã°° êîíñîë óðóó ñýëãýõ ³åä ãàðûí îðóóëãà áîëîí äýëãýöèéí ãàðàëòûã òóõàéí êîíñîëä òîõèðóóëæ äàìæóóëæ °ãä°ã. àðûí òóñãàé òîâ÷ëîëóóä íü FreeBSD äýýð êîíñîë ñýëãýõýä çîðèóëæ í°°öë°ãäñ°í áàéäàã . Òà Alt-F1, Alt-F2, ààñ Alt-F8 õ³ðòýëõ òîâ÷ëóóðûã äàðæ FreeBSD äýýð êîíñîëóóäûí õîîðîíä øèëæèæ áîëíî. Òàíûã íýãýýñ í°ã°°õ óðóó íü øèëæèõ ³åä, FreeBSD òàíû äýëãýöèéí ãàðàëòûã õàäãàëæ ñàíàà òàâüäàã. Èíãýñíèé ³ð ä³íä ãàðíààñ òóøààë îðóóëæ ïðîãðàìóóäûã àæèëëóóëæ áîëäîã ìàø îëîí “âèðòóàë” äýëãýö³³äòýé ìýò ³çýãääýã. Íýã âèðòóàë êîíñîë äýýð òàíû àæèëëóóëñàí ïðîãðàì íü óã êîíñîëîîñ ñýëãýýä °°ð êîíñîë äýýð ñýëãýñýí ÷ ãýñýí çîãñîõã³é àæèëëàæ ë áàéäàã. 3
3.2.4 /etc/ttys
Ôàéë
FreeBSD àíõíû òîõèðóóëãààðàà íàéìàí âèðòóàë êîíñîëòîé ýõýëäýã. Ýíý íü õàòóó òîãòîîñîí òîõèðóóëãà áèø á°ã°°ä õýðýâ òà õ³ñâýë îëîí þì óó ö°°í áîëãîæ àìàðõàí °°ð÷ë°õ áîëîìæòîé. Âèðòóàë êîíñîëûí òîî áîëîí òîõèðóóëãà íü /etc/ttys àéëä áàéäàã. Òà /etc/ttys àéëûã õýðýãëýæ FreeBSD äýýðõ âèðòóàë êîíñîëóóäûã òîõèðóóëæ áîëíî. Ýíý àéëûí òàéëáàð òàâèàã³é ì°ð áîëãîí ( # òýìäãýýð ýõëýýã³é ì°ð³³ä) âèðòóàë êîíñîë ýñâýë ãàíö òåðìèíàëûí òîõèðóóëãûã àãóóëæ áàéäàã. Ýíý àéë FreeBSD-òýé àíõ öóã èðýõäýý åñ°í âèðòóàë êîíñîëòîé ãýæ òîõèðóóëàãäàæ èðäýã á°ã°°ä òýäíèé íàéìûã íü õýðýãëýæ áîëîõûã ç°âø°°ðñ°í áàéäàã. Òýäãýýð íü ttyv ãýæ ýõýëñýí áàéäàã: # name getty # ttyv0 "/usr/libexec/getty # Virtual terminals ttyv1 "/usr/libexec/getty ttyv2 "/usr/libexec/getty ttyv3 "/usr/libexec/getty ttyv4 "/usr/libexec/getty ttyv5 "/usr/libexec/getty ttyv6 "/usr/libexec/getty ttyv7 "/usr/libexec/getty ttyv8 "/usr/X11R6/bin/xdm
type
status
Pc"
cons25
on
secure
Pc" Pc" Pc" Pc" Pc" Pc" Pc" -nodaemon"
cons25 cons25 cons25 cons25 cons25 cons25 cons25 xterm
on on on on on on on off
secure secure secure secure secure secure secure secure
comments
Âèðòóàë êîíñîëûã òîõèðóóëäàã ýíý àéëûí áàãàíóóä ì°í íýìýëò ñîíãîëòóóäûí äýëãýðýíã³é òàéëáàðûã òà ttys(5) ãàðûí àâëàãààñ õàðíà óó. 91
Chapter 3 Þíèêñèéí ³íäýñ
3.2.5
àíö õýðýãëýã÷èéí ãîðèìûí êîíñîë
“ àíö õýðýãëýã÷èéí ãîðèì” ãýæ þó áîëîõ òàëààð äýëãýðýíã³é ìýäýýëýë Section 12.6.2-ä áóé. FreeBSD äýýð ãàíö õýðýãëýã÷èéí ãîðèìä àæèëëàæ áàéõàä ç°âõ°í íýã êîíñîë áàéäàã ãýäãèéã ìýäýõ õýðýãòýé. Ýíý ³åä ÿìàð ÷ âèðòóàë êîíñîëóóä áîëîìæã³é. àíö õýðýãëýã÷èéí ãîðèìûí òîõèðóóëãûã áàñ /etc/ttys àéë äîòîð õèéæ áîëíî. console ãýæ ýõýëñýí ì°ð³³äèéã õàðíà óó: # name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off secure Note: Äýýðõ console ãýñýí ì°ðíèé äýýä õýñýãò áè÷ñýí òàéëáàðò áè÷ñýíèé äàãóó òà secure ãýäãèéã insecure ãýæ °°ð÷èëæ áîëíî. Õýðýâ òà èíãýâýë, FreeBSD ãàíö õýðýãëýã÷èéí ãîðèìä ýõýëñýí ÷ ãýñýí òàíààñ root íóóö ³ã àñóóõ áîëíî.
³íèéã insecure ãýæ ñîëèõäîî òà òóí áîëãîîìæòîé áàéõ õýðýãòýé. Õýðýâ òà õýçýý íýãýí öàãò root íóóö ³ãýý
ìàðòààä ãàíö õýðýãëýã÷èéí ãîðèìä îðâîë æààõàí õ³íäðýëòýé áàéõ áîëíî. Ýíý íü ãýõäýý øèéäýæ áîëîõîîð õ³íäðýë áîëîâ÷ FreeBSD-í ýõëýõ ³éëäýë áîëîí õàìðàãäñàí ïðîãðàìóóäàä íü äàñààã³é õ³íä áîë æààõàí õ³íäðýëòýé áàéæ ìàãàäã³é.
3.2.6
Êîíñîëûí Âèäåî ãîðèìóóäûã °°ð÷ë°õ íü
FreeBSD-èéí êîíñîëûí àíõäàã÷ âèäåî ãîðèìûã 1024x768, 1280x1024, ýñâýë òàíû ãðàèê áè÷èë ñõåì áîëîí äýëãýö äýìæèæ ÷àäàõ äóðûí õýìæýýãýýð òîõèðóóëæ áîëîõ þì. °ð âèäåî ãîðèìûã àøèãëàõûí òóëä òà ýõëýýä °°ðèéí ö°ì°° äàõèí ýìõýòãýæ õî¼ð íýìýëò òîõèðóóëãûã îðóóëàõ õýðýãòýé: options VESA options SC_PIXEL_MODE
Ö°ì ýäãýýð õî¼ð òîõèðóóëãàòàé äàõèí ýìõýòãýãäñýíèé äàðàà òàíû òîíîã ò°õ°°ð°ìæ ÿìàð âèäåî ãîðèìóóäûã äýìæäýãèéã vidcontrol(1) õýðýãñýë àøèãëàí òà òîäîðõîéëæ áîëíî. Äýìæèãäñýí âèäåî ãîðèìóóäûí æàãñààëòûã àâàõûí òóëä äîîð äóðäñàí òóøààëûã áè÷íý: # vidcontrol -i mode
Ýíý òóøààëûí ³ð ä³í íü òàíû òîíîã ò°õ°°ð°ìæèéí äýìæäýã âèäåî ãîðèìóóäûí æàãñààëò áàéõ áîëíî. Òà äàðàà íü root êîíñîë äýýð øèíý âèäåî ãîðèìûã ñîíãîí vidcontrol(1) óðóó °ã÷ áîëíî: # vidcontrol MODE_279
Õýðýâ øèíý âèäåî ãîðèì áîëîìæèéí áîë /etc/rc.conf àéëä à÷ààëàõàä ³³íèéã ³ðãýëæ ñîíãîäîã áàéõààð òîõèðóóëæ áîëíî: allscreens_flags="MODE_279"
92
3.3
Chapter 3 Þíèêñèéí ³íäýñ
Ç°âø°°ðë³³ä
FreeBSD íü BSD UNIX-ýýñ óëàìæèëæ áàéõ ³åäýý, UNIX-í ³íäñýí õýäýí á³òýö äýýð ñóóðèëñàí. Ýõíèé á°ã°°ä õàìãèéí ÷óõàë òóíõàãëàë íü FreeBSD áîë îëîí õýðýãëýã÷èéí ³éëäëèéí ñèñòåì þì. Ñèñòåì íü îëîí õýðýãëýã÷èéí õîîðîíäîî õàìààðàëã³é îëîí ³éëäëèéã à÷ààëæ ÷àääàã. Õýðýãëýã÷ áîëãîíä øààðäàãäàõ êîìïüþòåðèéí ò°õ°°ð°ìæ, ñàíàõ îé ì°í ïðîöåññîðûí äàâòàìæèéã ç°â øóäàðãà õóâààðèëàõûã ñèñòåì õàðèóöäàã. Ñèñòåì îëîí õýðýãëýã÷òýé àæèëëàõ áîëîõîîð, ñèñòåìèéí õèéõ ¼ñòîé ç³éë íü õýí òóõàéí í°°öèéã óíøèõ, áè÷èõ, ã³éöýòãýõ âý ãýäãèéã çîõèöóóëàõ þì. Ýäãýýð ç°âø°°ðë³³ä íü ãóðàâ ãóðâààðàà íèéë³³ëýãäñýí ãóðâàí õýñýã òîî áàéäàã. Íýã íü àéëûí ýçýìøèã÷èä, í°ã°°õ íü àéëûí õàìààðàãääàã á³ëýãò, ³ëäñýí íü õ³í áîëãîíä ãýæ õóâààðèëàãäàíà. Ýíý òîîí äàðààëàë íü äàðààõ ìàÿãààð àæèëëàäàã.:
Óòãà
Ç°âø°°ð°ë Æàãñààõ õàðóóëàëò 0 Óíøèãäàõã³é, áè÷èãäýõã³é, --ã³éöýòãýãäýõã³é 1 Óíøèãäàõã³é, áè÷èãäýõã³é, --x ã³éöýòãýãäýíý Óíøèãäàõã³é, áè÷èãäýíý, -w2 ã³éöýòãýãäýõã³é 3 Óíøèãäàõã³é, áè÷èãäýíý, -wx ã³éöýòãýãäýíý Óíøèãäàíà, áè÷èãäýõã³é, r-4 ã³éöýòãýãäýõã³é 5 Óíøèãäàíà, áè÷èãäýõã³é, r-x ã³éöýòãýãäýíý Óíøèãäàíà, áè÷èãäýíý, rw6 ã³éöýòãýãäýõã³é 7 Óíøèãäàíà, áè÷èãäýíý, rwx ã³éöýòãýãäýíý Òà ls(1) òóøààëûã -l ñîíãîëòòîé õýðýãëýæ àéëûí ýçýìøèã÷, á³ëýã, ì°í õ³í áîëãîíä õóâààðèëñàí ç°âø°°ðëèéã õàðóóëñàí áàãàíàòàé äýëãýðýíã³é ìýäýýëëèéã õàðæ áîëíî. Æèøýýëáýë, ls -l òóøààëûã íýã ñàí äîòîð ã³éöýòãýâýë äàðààõ ìàÿãààð õàðàãäàíà: % ls -l
total 530 -rw-r--r--rw-r--r--rw-r--r-...
Ýíä ls
-l
1 root 1 root 1 root
wheel wheel wheel
512 Sep 512 Sep 7680 Sep
5 12:31 myfile 5 12:31 otherfile 5 12:31 email.txt
òóøààëûí ýõíèé áàãàíûã àâ÷ ³çüå:
-rw-r--r--
Õàìãèéí ýõíèé (ç³³í òàëûí) òýìäýã íü ³³íèéã åðäèéí àéë þì óó, ýñâýë ñàí, îíöãîé òýìäýã ò°õ°°ð°ìæ, ñîêåò, ýñâýë ÿìàð íýãýí õîëáîîñò àéë ì°í ýñýõèéã èëýðõèéëäýã. Ýíý òîõèîëäîëä - íü åðäèéí àéëûã çààæ áàéíà. Äàðààãèéí ãóðâàí òýìäýãò rw- íü ýíý òîõèîëäîëä ýíý àéëûí ýçýìøèã÷èä
93
Chapter 3 Þíèêñèéí ³íäýñ
ç°âø°°ð°ë °ã÷ áàéíà. Äàðààãèéí ãóðâàí òýìäýãò r-- íü àéëûí õàìààðàõ á³ëýãò ýðõ °ã÷ áàéíà. ѳ³ëèéí ãóðâàí òýìäýãò r-- íü áóñàä á³õ õ³ì³³ñò ýðõ °ã÷ áàéíà. Çóðààñ íü ç°âø°°ð°ë °ã°°ã³éã èëýðõèéëäýã. Ýíý àéëûí òîõèîëäîëä, àéëûã óíøèõ áè÷èõ ýðõèéã ýçýìøèã÷èä íü °ã°°ä, á³ëýã íü àéëûã óíøèõ ýðõòýé, áóñàä õ³ì³³ñ ýíý àéëûã ç°âõ°í óíøèõ ýðõòýé ãýæ çààãäñàí áàéíà. Äýýð òàéëáàðëàñàí õ³ñíýãòèéí äàãóó, ýíý àéëûí ç°âø°°ð°ë íü 644 ãýæ äýýðõ ãóðâàí ò°ð°ëä çààãäàæ áàéíà. Ýíý áîë ñàéí á°ã°°ä ñàéõàí õýðýã, ãýõäýý ò°õ°°ð°ìæ ð³³ õàíäàõ ç°âø°°ðëèéã ñèñòåì ÿàæ õÿíàõ âý? FreeBSD áàðàã èõýíõ ò°õ°°ð°ìæèéã íýýæ óíøèæ °ã°ãä°ë áè÷äýã àéë ìýò õàíäàæ óíøèæ áè÷äýã. Òýäãýýð îíöãîé ò°õ°°ð°ìæ³³ä íü /dev ñàí äîòîð áàéðëàäàã. Ñàíãóóä ÷ ãýñýí áàñ àéë ìýò õàíäàãääàã. Òýä íàðò áàñ óíøèãäàõ, áè÷èãäýõ, ã³éöýòãýãäýõ ç°âø°°ðë³³ä áàéäàã. Ñàíãèéí ã³éöýòãýãäýõ òýìäýã íü àéëààñ àðàé °°ð°°ð õýðýãæäýã. Õýðýâ ñàí íü ã³éöýòãýãäýíý ãýæ òýìäýãëýãäñýí áîë, ýíý ñàí íü äàìæèæ °íã°ð³³ëýãäýæ áîëîõ áóþó “cd” òóøààëûã (ñàí ñîëüäîã) õýðýãëýæ èéøýý îðæ áîëíî ãýñýí ³ã. Ýíý íü ì°í ñàí äîòîð õàðàãäàæ áàéãàà àéëóóä óðóó õàíäàæ áîëíî ãýñýí ³ã. (áàñ íýã ç³éë, ìýäýýæýýð, àéëóóä áàñ °°ð äýýðýý ç°âø°°ð°ë àãóóëñàí áàéãàà). Åð°íõèéä°° áîë, ñàí äîòîðõ àéëóóäûã æàãñààæ õàðàõûã õ³ñâýë, óã ñàíä óíøèãäàõ ç°âø°°ð°ë ñóóãäñàí áàéõ ¼ñòîé. Õýðýâ ñàíä áàéãàà àéëûã óñòãàíà ãýâýë áè÷èãäýõ áîëîí ã³éöýòãýãäýõ ç°âø°°ðë³³ä óã ñàíä ñóóãäàõ ¼ñòîé. Ì°í íýìýýä õýäýí ç°âø°°ðëèéí áèò³³ä áàéäàã, ãýõäýý òýäãýýð íü àæèëëàäàã àéëûí setuid äóãààð áîëîí sticky ñàí çýðýã òóñãàé çîðèóëàëòààð õýðýãëýãääýã. Ôàéëûí ç°âø°°ðëèéí òàëààð íýìýëò ìýäýýëýë àâàõûã õ³ñâýë chmod(1) ãàðûí àâëàãà õóóäàñíààñ õàðààðàé. 3.3.1
Òýìäýãò ç°âø°°ðë³³ä
Õàìòàð÷ áè÷ñýí Òîì °³äñ. Ñàí ýñâýë àéëä òîîí óòãàíû îðîíä çàðèìäàà òýìäãýí ç°âø°°ðëèéã õýðýãëýäýã. Òýìäãýí ç°âø°°ðëèéã áè÷èõäýý (õýí) (³éëäýë) (ç°âø°°ð°ë) ãýñýí äàðààëëààð áè÷èõ á°ã°°ä äàðààõ óòãóóäûã àâäàã:
Ñîíãîëò (õýí) (õýí) (õýí) (õýí) (³éëäýë)
ñýã
Èëýðõèéëýë íü u Õýðýãëýã÷ g Á³ëãèéí ýçýìøèã÷ o Áóñàä a Á³ãä (“åðò°íö”) + Ç°âø°°ð°ë íýìýõ (action) Ç°âø°°ðëèéã óñòãàõ (³éëäýë) = ç°âõ°í òóõàéí ç°âø°°ðëèéã ñóóëãàõ (ç°âø°°ð°ë) r Óíøèõ (ç°âø°°ð°ë) w Áè÷èõ (ç°âø°°ð°ë) x ³éöýòãýõ (ç°âø°°ð°ë) t Sticky áèò (ç°âø°°ð°ë) s UID ýñâýë GID ñóóëãàõ Ýäãýýð óòãóóä íü °ìí°õ æèøýý øèã chmod(1) òóøààëòàé õýðýãëýãääýã á°ã°°ä ãýõäýý ³ñýã õýðýãëýíý. Æèøýýëáýë, òà FILE óðóó áóñàä õýðýãëýã÷èä õàíäàõûã õîðèãëîõäîî: 94
Chapter 3 Þíèêñèéí ³íäýñ % chmod go= FILE
Ôàéëä íýãýýñ îëîí °°ð÷ë°ëò õèéõ øààðäëàãà ãàðâàë òàñëàëààð òóñãààðëàñàí ì°ð áè÷èæ áîëíî. Æèøýýëáýë, äàðààõ òóøààë íü á³ëýã áîëîí “äýëõèéã” FILE äýýð áè÷èõ ýðõèéã íü àâààä äàðàà íü õ³í áîëãîíä ã³éöýòãýæ áîëíî ãýñýí ýðõ °ã÷ áàéíà: % chmod go-w,a+x FILE
3.3.2 FreeBSD
àéëûí òóã
Õàìòðàí áè÷ñýí Òîì °³äñ. ìí° ÿðèëöñàí àéëûí ç°âø°°ðë°°ñ ãàäíà FreeBSD íü “àéëûí òóã” õýðýãëýýãýýð õàíãàãäñàí áàéäàã. Ýäãýýð òóã íü àéëä íýìýëò íóóöëàëûí áîëîí õÿíàëòûí ò³âøèí òîãòîîæ °ãä°ã, ãýõäýý ñàíä áîë ³ã³é. Ýäãýýð àéëûí òóãíóóä íü àéëä íýìýëò ò³âøíèé õÿíàëò òîãòîîæ °ãñí°°ð°° çàðèì òîõèîëäîëä root õýðýãëýã÷ õ³ðòýë àéëûã óñòãàõ þì óó °°ð÷èëæ ÷àäàõã³é áîëãîæ òóñàëäàã. Ôàéëûí òóãíóóä íü ýíãèéí çàãâàðòàé chflags(1) áàãàæààð àøèãëàãääàã. Æèøýýëáýë, file1 àéë äýýð óñòãàãäàõã³é ãýñýí òóã õàòãàõûã ñèñòåìä ç°âø°°ð³³ëýõèéí òóëä äàðààõ òóøààëûã ã³éöýòãýíý: # chflags sunlink file1
Õýðýâ óñòãàãäàõã³é òóãèéã áóöààæ àâíà ãýâýë °ìí°õ òóøààë äýýðýý sunlink-ûí °ìí° “no” çàëãàæ àæèëëóóëíà: # chflags nosunlink file1
Ýíý àéëûí òóãèéã õàðàõûí òóëä ls(1) òóøààëûã -lo ñîíãîëòòîé õàìò àæèëëóóëíà: # ls -lo file1
Òóøààëûí ãàðàëò íü äàðààõ ìàÿãààð õàðàãäàõ ¼ñòîé: -rw-r--r--
1 trhodes
trhodes
sunlnk 0 Mar
1 05:54 file1
Íýëýýí õýäýí òóãíóóä íü àéëä ç°âõ°í root õýðýãëýã÷ýýð íýìýãäýæ óñòãàãäàíà. Áóñàä òîõèîëäîëä àéëûí ýçýìøèã÷ íü òóãèéã ñóóëãàõ áîëîìæòîé. Àäìèíèñòðàòîðóóäûã chflags(1) áîëîí chflags(2) ãàðûí àâëàãóóäûã óíøèõûã ç°âë°æ áàéíà. 3.3.3 setuid, setgid,
áîëîí sticky áóþó íààëäàìõàé ç°âø°°ðë³³ä
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. ìí° õýëýëöñýí ç°âø°°ðë³³äýýñ ãàäíà á³õ àäìèíèñòðàòîðóóäûí ìýäýõ ¼ñòîé °°ð ãóðâàí òóñãàé òîõèðãîî áàéäàã. Ýäãýýð íü setuid, setgid áîëîí sticky áóþó íààëäàìõàé ç°âø°°ðë³³ä þì. Ýäãýýð òîõèðãîîíóóä íü åð°íõèéä°° ýíãèéí õýðýãëýã÷äýä ç°âø°°ð°ãää°ãã³é àæèëëàãààãààð õàíãàäàã á°ã°°ä UNIX-èéí çàðèì íýã ³éëäë³³äýä ÷óõàë áàéäàã. Ýäãýýðèéã îéëãîõûí òóëä æèíõýíý õýðýãëýã÷èéí ID áîëîí õ³÷èíòýé õýðýãëýã÷èéí ID-èéí ÿëãààã äóðäàõ õýðýãòýé. Æèíõýíý õýðýãëýã÷èéí ID íü ïðîöåññèéã ýçýìøäýã þì óó ýñâýë ïðîöåññèéã ýõë³³ëäýã UID þì. Õ³÷èíòýé õýðýãëýã÷èéí UID íü ïðîöåññèéí àæèëëàæ áàéãàà òýð õýðýãëýã÷èéí ID þì. Æèøýý íü 95
Chapter 3 Þíèêñèéí ³íäýñ passwd(1) õýðýãñýë íü õýðýãëýã÷ °°ðñäèéí íóóö ³ãýý ñîëüæ áàéãàà áîëîõîîð æèíõýíý õýðýãëýã÷èéí ID-ààð àæèëëàõ áîëîâ÷ íóóö ³ãèéí ñàíä °°ð÷ë°ëò õèéõèéí òóëä root õýðýãëýã÷èéí õ³÷èíòýé ID-ààð àæèëëàäàã. Èíãýñíýýð ýíãèéí õýðýãëýã÷äýä “Permission Denied” áóþó ç°âø°°ð°ë õààëòòàé ãýñýí àëäààã õàðóóëàëã³éãýýð °°ðñäèéí íóóö ³ãñèéã ñîëèõ áîëîìæèéã îëãîäîã. Note: nosuid mount(8) òîõèðãîî íü ýäãýýð õî¼ðòûí àéëóóäûã äóóãàé àìæèëòã³é áîëîõîä õ³ðãýäýã. Ýíý íü õýðýãëýã÷äýä ìýäýãäýëã³éãýýð àæèëëàãàà àìæèëòã³é áîëíî ãýñýí ³ã þì. mount(8) ãàðûí àâëàãûí äàãóó ýíý òîõèðãîî íü nosuid ã³éöýòãýë õÿëáàðøóóëàã÷èéí õàìãààëæ áîëîõ øèã á³ðýí íàéäâàðòàé áàñ áèø þì.
setuid ç°âø°°ðëèéã ç°âø°°ðëèéí öóãëóóëãûí °ìí° ä°ðâèéí òîîã (4) äîîðõ æèøýýí äýýðõ øèãýýð òàâüæ òîõèðóóëæ áîëíî: # chmod 4755 suidexample.sh suidexample.sh
àéë äýýðõ ç°âø°°ðë³³ä íü îäîî äîîðõ øèã õàðàãäàõ ¼ñòîé:
-rwsr-xr-x
1 trhodes
trhodes
63 Aug 29 06:36 suidexample.sh
Ýíý æèøýýí äýýð s íü àæèëëóóëàõ áèòèéã ñîëüæ àéëûí ýçýìøèã÷èä çîðèóëñàí ç°âø°°ðë³³äèéí öóãëóóëãûí õýñýã áîëæ áàéãàà íü õàðàãäàõ ¼ñòîé. Ýíý íü passwd çýðýã äýýøë³³ëñýí ç°âø°°ðë³³äèéã øààðääàã õýðýãñë³³äèéã ç°âø°°ðä°ã. Æèíõíýýð íü ³³íèéã õàðàõûí òóëä õî¼ð òåðìèíàë íýý. Íýã äýýð íü ýíãèéí õýðýãëýã÷ýýð passwd ïðîöåññèéã ýõë³³ë. Øèíý íóóö ³ã õ³ëýýæ áàéõàä íü ïðîöåññèéí õ³ñíýãòèéã øàëãààä passwd òóøààëûí õýðýãëýã÷èéí ìýäýýëëèéã õàð. Òåðìèíàë A äýýð: Changing local password for trhodes Old Password:
Òåðìèíàë B äýýð: # ps aux | grep passwd
trhodes root
5232 5211
0.0 0.0
0.2 0.2
3420 3620
1608 1724
0 2
R+ I+
2:10AM 2:09AM
0:00.00 grep passwd 0:00.01 passwd
Äýýð õàðóóëñíààð passwd íü ýíãèéí õýðýãëýã÷ýýð àæèëëàæ áàéãàà áîëîâ÷ root õýðýãëýã÷èéí õ³÷èíòýé UID àøèãëàæ áàéíà. setgid ç°âø°°ð°ë íü setuid ç°âø°°ð°ëòýé àäèë ³³ðãèéã ã³éöýòãýäýã, ãýõäýý á³ëãèéí òîõèðãîîã °°ð÷èëä°ã. Ïðîãðàì þì óó ýñâýë õýðýãñýë íü ýíý òîõèðãîîòîéãîîð àæèëëàõäàà ïðîöåññèéã ýõë³³ëñýí õýðýãëýã÷ áèø àéëûã ýçýìøèæ áàéãàà á³ëýã äýýð òóëãóóðëàñàí ç°âø°°ðë³³äèéã îëãîäîã. Ôàéë äýýð setgid ç°âø°°ðëèéã òîõèðóóëàõäàà äàðààõ æèøýýí äýýðõ øèã chmod òóøààëûã °ìí°° õî¼ðòîé (2) °ãí°: # chmod 2755 sgidexample.sh
Øèíý òîõèðãîîã °ìí°õ øèãýý õàðæ áîëîõ á°ã°°ä s íü îäîî á³ëãèéí ç°âø°°ðëèéí òîõèðãîîíä çîðèóëàãäñàí òàëáàðò áàéãààã àíõààðààðàé:
96
Chapter 3 Þíèêñèéí ³íäýñ -rwxr-sr-x
1 trhodes
trhodes
44 Aug 31 01:49 sgidexample.sh
Note: Ýäãýýð æèøýýí³³ä äýýð á³ðõ³³ëèéí ñêðèïò íü õýäèéãýýð àæèëëàõ áîëîìæòîé àéë áîëîâ÷ °°ð EUID áóþó õ³÷èíòýé õýðýãëýã÷èéí ID-ààð àæèëëàõã³é. Ýíý íü ÿàãààä ãýâýë á³ðõ³³ëèéí ñêðèïò íü setuid(2) ñèñòåìèéí äóóäëàãóóäàä õàíäàæ ÷àäàõã³éòýé õîëáîîòîé þì.
Áèäíèé õýëýëöñýí ýõíèé õî¼ð òóñãàé ç°âø°°ðëèéí áèò³³ä íü (setuid áîëîí setgid ç°âø°°ðëèéí áèò³³ä) äýýøë³³ëñýí ç°âø°°ðë³³äèéã ç°âø°°ð÷ ñèñòåìèéí àþóëã³é áàéäëûã äîîøëóóëæ áîëîõ þì. Ñèñòåìèéí àþóëã³é áàéäëûã ÷àíãàòãàæ ÷àäàõ ãóðàâ äàõü òóñãàé ç°âø°°ðëèéí áèò áàéäàã íü sticky bit áóþó íààëäàìõàé áèò þì. sticky bit íü ñàíä òàâèãäñàí ³åä àéë óñòãàëòûã ç°âõ°í àéëûã ýçýìøèã÷èä ç°âø°°ðä°ã. Ýíý ç°âø°°ðëèéí öóãëóóëãà íü /tmp çýðýã íèéòèéí ñàíãààñ àéëûã ýçýìøäýãã³é õýðýãëýã÷ óã àéëûã óñòãàõààñ õàìãààëàõàä àøèã òóñòàé áàéäàã. Ýíý ç°âø°°ðëèéã àøèãëàõûí òóëä ç°âø°°ðëèéí óðä íýãèéã (1) òàâüæ °ãí°. Æèøýý íü: # chmod 1777 /tmp
Îäîî ³ð ä³íã ls òóøààë àøèãëàí õàðàõ áîëîìæòîé: # ls -al / | grep tmp
drwxrwxrwt sticky bit
3.4
10 root
wheel
512 Aug 31 01:49 tmp
áóþó íààëäàìõàé áèò ç°âø°°ð°ë íü öóãëóóëãûí õàìãèéí ñ³³ëä áàéãàà t-ýýñ ÿëãààòàé þì.
Ñàíãèéí á³òýö
FreeBSD èéí ñàíãèéí á³òýö íü óã ñèñòåìèéã îéëãîõîä òóí ÷óõàë ³³ðýã ã³éöýòãýíý. Õàìãèéí ÷óõàë á°ã°°ä ³íäñýí îéëãîëò áîë root áóþó õàìãèéí äýýä ýõ ñàí “/” þì. Ýíý ñàí íü ñèñòåì ýõëýõ ³åä õàìãèéí
ò³ð³³íä òàíèãäàõ ¼ñòîé á°ã°°ä îëîí õýðýãëýã÷èä çîðèóëñàí ³éëäëèéí ñèñòåìèéã áýëäýõýä ÷óõàë ³³ðýãòýé. Ýíý äýýä ýõ ñàí íü îëîí õýðýãëýã÷èéí àæèëëàãààíä øèëæèõ ³åä õîëáîãäîõ áóñàä àéëûí ñèñòåì³³äèéí õîëáîëòûí öýã³³äèéã áàñ àãóóëæ áàéäàã. Õîëáîëòûí öýã íü ³íäñýí àéë ñèñòåì óðóó (èõýâ÷ëýí ýõ root àéë ñèñòåì) íýìýëò àéëûí ñèñòåì³³äèéã õîëáîæ íýìäýã öýã þì. Ýíý òóõàé öààøèä Section 3.5-ä òàéëáàðëàñàí áàéãàà. íäñýí õîëáîõ öýã³³ä íü /usr, /var, /tmp, /mnt, ì°í /cdrom ñàíãóóäûã àãóóëæ áàéäàã. Ýäãýýð ñàíãóóä íü ãîëäóó /etc/fstab àéëä çààãäñàí áàéäàã. /etc/fstab àéë íü ò°ð°ë á³ðèéí àéë ñèñòåì³³äèéã ñèñòåìä îéëãóóëàõ ãýæ áè÷ñýí õ³ñíýãò áè÷ëýã. /etc/fstab àéëä áàéãàà èõýíõ àéë ñèñòåì³³ä êîìïüþòåð ýõýëæ à÷ààëàãäàõ ³åä àâòîìàòààð rc(8) ã³éöýòãýãääýã áè÷ëýãýýñ òàíèóëàãääàã. ýõäýý õýðýâ noauto ãýñýí ñîíãîëòûã àãóóëñàí áîë àâòîìàòààð òàíèóëàãääàãã³é. Äýëãýðýíã³é ìýäýýëýë Section 3.6.1 õýñýãò áóé. Ôàéë ñèñòåìèéí á³òöèéí òóõàé á³ðýí ìýäýýëëèéã hier(7)-ñ õàðæ áîëíî. Îäîîõîíäîî áàéíãà õýðýãëýãääýã ñàíãóóäûã òîâ÷ òàéëáàðëàõàä õàíãàëòòàé.
97
Chapter 3 Þíèêñèéí ³íäýñ
Ñàí / /bin/ /boot/ /boot/defaults/ /dev/ /etc/ /etc/defaults/ /etc/mail/ /etc/namedb/ /etc/periodic/
/etc/ppp/ /mnt/
/proc/ /rescue/ /root/ /sbin/
/tmp/
/usr/
Òîäîðõîéëîëò Ôàéë ñèñòåìèéí Root áóþó õàìãèéí äýýä ýõ ñàí. àíö áîëîí îëîí õýðýãëýã÷èéí îð÷íû ³íäñýí õýðýãñëèéí ñàí. éëäëèéí ñèñòåì ýõëýæ à÷ààëàãäàõ ³åèéí ïðîãðàìóóä áîëîí òîõèðóóëãà àéëóóä. Àíõäàã÷ à÷ààëàõ ³åèéí òîõèðóóëãûí àéëóóä; äýëãýðýíã³éã loader.conf(5) õóóäàñíààñ õàðíà óó. Ò°õ°°ð°ìæ³³ä áàéäàã ñàí; intro(4) õóóäàñíààñ õàðíà óó. Ñèñòåìèéí òîõèðóóëãûí àéëóóä áîëîí ã³éöýòãýõ áè÷ëýã³³ä. Àíõäàã÷ ñèñòåìèéí òîõèðóóëãûí àéëóóä; äýëãýðýíã³éã rc(8) õóóäàñíààñ õàðààðàé. sendmail(8) ìýòèéí çàõèà èëãýýã÷äèéí òîõèðóóëãûí àéëóóä. named-í òîõèðóóëãûí àéë; named(8) õóóäàñíààñ äýëãýðýíã³éã õàðíà óó. cron(8)-ã àøèãëàæ °äð°°ð, ñàðààð, ýñâýë æèëýýð ãýõ ìýò äàâòàìæààð àæèëëàæ ÷àääàã áè÷ëýã³³ä ; äýëãýðýíã³éã periodic(8) õóóäàñíààñ õàðíà óó. ppp òîõèðóóëãà àéëóóä; ppp(8)-ñ õàðíà óó. Àäìèíèñòðàòîð ãîëäóó ò³ð çóóð áóñàä àéë ñèñòåì ýñâýë ò°õ°°ð°ìæèéã òàíèóëàõàä õýðýãëýäýã õîîñîí ñàí. Ïðîöåñèéí àéë ñèñòåì; procfs(5) áîëîí mount_procfs(8)-ñ õàðíà óó. Ýâäýð÷ ãýìòñýí ³åä ñýðãýýõýä õýðýãëýãääýã ïðîãðàìóóä rescue(8)-ñ õàðíà óó. root õýðýãëýã÷èéí ãýðèéí ñàí. àíö áîëîí îëîí õýðýãëýã÷èéí îð÷èíä õýðýãëýæ áîëîõîîð ñèñòåìèéí ïðîãðàì áà àäìèíèñòðàòîðûí ³íäñýí õýðýãñë³³ä. Ò³ð çóóðûí àéëóóä. /tmp ñàí äîòîðõ àéëóóä íü ñèñòåì øèíýýð à÷ààëàãäàõ ³åä õàäãàëàãäàëã³éãýýð óñòãàãäàíà. Ñàíàõ îéãîîñ àæèëëàäàã àéë ñèñòåì³³ä ãîëöóó /tmp ñàíä òàíèóëàãäàæ áàéðëóóëàãääàã. Ýíý ³éëäýë íü rc.conf(5)-òàé õîëáîîòîé tmpmfs-ò°ðëèéã àøèãëàæ àâòîìàòæóóëàãäàæ áîëäîã (ýñâýë /etc/fstab äîòîð áóé îðóóëãóóä á³ãäýýðýý; mdmfs(8)-ñ õàðíà óó). Ïðîãðàì áîëîí õýðýãëýã÷èéí õýðýãëýäýã ³íäñýí õýðýãñë³³ä.
98
Chapter 3 Þíèêñèéí ³íäýñ
Ñàí /usr/bin/ /usr/include/ /usr/lib/ /usr/libdata/ /usr/libexec/
/usr/local/
/usr/obj/ /usr/ports /usr/sbin/ /usr/share/ /usr/src/ /usr/X11R6/ /var/
/var/log/ /var/mail/ /var/spool/
Òîäîðõîéëîëò íäñýí õýðýãñë³³ä, ïðîãðàìûí áàãàæóóä, ì°í ïðîãðàìóóä. Ñòàíäàðò C-èéí include àéëóóä. Ïðîãðàìûí øàõàæ áýëäñýí áàãöóóä. Ò°ð°ë á³ðèéí õýðýãñëèéí °ã°ãäëèéí àéëóóä. Ñèñòåìèéí äàëä ÷°òã°ð áóþó äýìîí áîëîí ñèñòåìèéí õýðýãñë³³ä (áóñàä ïðîãðàìààñ äóóäàãäàæ àæèëëàäàã). Äîòîîä ã³éöýòãýãääýã áîëîí ïðîãðàìûí ñàíãóóä ãýõ ìýò ïðîãðàìóóä áàéäàã. Ì°í FreeBSD-í ïîðòóóäûí àíõíû áàéðëóóëàõ ãàçàð áîëæ °ãä°ã. /usr/local -èéí äîòîðõ íü, hier(7)-ààð /usr ñàíãèéí äîòîð áàéãààã áàéðëóóëñàí øèã çîõèîí áàéãóóëàãäàõ õýðýãòýé. ýõäýý ýíýíä õàìààðàõã³é ñàíãóóä íü man ãýæ /usr/local/share ñàí äîòîð áèø /usr/local äîòîð áàéðëàäàã ñàí, ì°í share/doc/port äîòîð áàéäàã ïîðòóóäûí áè÷èã áàðèìò áàéäàã ñàí þì. Àðõèòåêòóðààñàà õàìààðààä /usr/src ñàíã õ°ðâ³³ëýõ ³åä á³òýýãääýã ñàí.. FreeBSD Ïîðòûí öóãëóóëãà (ñîíãîìîë). Ñèñòåìèéí äýìîí áîëîí ñèñòåìèéí õýðýãñë³³ä (õýðýãëýã÷äýýð ã³éöýòãýãäýíý). Àðõèòåêòóðòàà õàìààòàé àéëóóä. BSD áîëîí/ýñâýë äîòîîä ýõ àéëóóä. X11R6 öîãöîëáîðûí ã³éöýòãýæ áîëäîã ïðîãðàìóóä, ïðîãðàìûí ñàí çýðã³³ä (ñîíãîìîë). Îëîí çîðèëãîîð õýðýãëýãääýã á³ðòãýë áè÷ëýã, ò³ð çóóðûí, äàðààëàë çýðãèéí àéëóóä. Ñàíàõ îéä òóëãóóðëàæ àæèëëàäàã çàðèì àéëûí ñèñòåì³³ä /var äîòîð òàíèãäàæ ³³ñãýãääýã. Ýíý ³éëäýë íü rc.conf(5)-òàé õîëáîîòîé varmfs-ò°ðëèéã àøèãëàæ àâòîìàòæóóëàãäàæ áîëäîã (ýñâýë /etc/fstab äîòîð áóé îðóóëãóóä á³ãäýýðýý; mdmfs(8)-ñ õàðíà óó). Ñèñòåìèéí ò°ð°ë á³ðèéí á³ðòãýë áè÷ëýãèéí àéëóóä. Õýðýãëýã÷èéí èðñýí çàõèàã õàäãàëàõ àéëóóä. Ò°ð°ë á³ðèéí õýâëýã÷ áîëîí çàõèàíû ñèñòåìèéí äàðààëëûã óäèðäàõ ñàíãóóä.
99
Chapter 3 Þíèêñèéí ³íäýñ
Ñàí /var/tmp/
/var/yp
3.5
Òîäîðõîéëîëò Ò³ð çóóðûí àéëóóä. Ýíý ñàíä áóé àéëóóä íü ãîëäóó ñèñòåìèéã ýõëýõ ³åä çîðèóëàãäàõààð í°°öë°ãäñ°í áàéäàã. ýõäýý, õýðýâ /var íü ñàíàõ îéä òóëãóóðëàñàí àéëûí ñèñòåì áîë °ìí° õýëñýí ç³éë õ³÷èíã³é. NIS maps.
Äèñê çîõèîí áàéãóóëàëò
FreeBSD íü àéë îëîõûí òóëä õýðýãëýäýã õàìãèéí æèæèã õýðýãñýë áîë àéëûí íýð þì. Ôàéëûí íýðíèé òîì áîëîí áàãà ³ñýãí³³ä íü áàñ ÿëãààòàé. Ýíý íü þó ãýñýí ³ã âý ãýâýë readme.txt áîëîí README.TXT ãýñýí õî¼ð àéë íü õîîðîíäîî ÿëãààòàé àéë ãýñýí ³ã. FreeBSD íü àéëûí ò°ðëèéã ïðîãðàì, áè÷èã áàðèìò, ýñâýë áóñàä ò°ðëèéí àéë áàéíà ãýæ ÿëãàõûí òóëä (.txt) ãýõ ìýòèéí °ðã°òã°ë õýðýãëýäýãã³é.
Ôàéëóóä ñàí äîòîð õàäãàëàãääàã. Ñàí íü çóó çóóí àéë àãóóëæ áîëîõ á°ã°°ä ýñâýë õîîñîí áàéæ áîëíî. Ñàí íü ñàíãàà àãóóëæ áàñ áîëîõ áà èíãýæ ñàíãèéí óãñàðñàí ìîäëîã á³òýö ³³ñãýæ áîëíî. Èíãýâýë òà àéëóóäàà èë³³ àìàðõàí çîõèöóóëàõ áîëíî. Ôàéë áà ñàíãóóä íü / òýìäãèéí àðààñ øààðäëàãàòàé áîë ñàíãóóäûí íýðèéã áè÷èæ °ã°ãäñ°í íýðýýðýý õàíäàãäàíà. Õýðýâ òàíä foo íýðòýé ñàí íü bar ñàíã àãóóëäàã á°ã°°ä óã ñàí äîòîð readme.txt àéë áàéãàà áîë, àéëûí õàíäàõ á³òýí íýð áóþó çàì íü foo/bar/readme.txt ãýæ áè÷èãäýíý. Ñàí áîëîí àéëóóä íü àéë ñèñòåìä õàäãàëàãääàã. Ôàéë ñèñòåì áîëãîí õàìãèéí ýõíèé äýýä õýñýãò çààâàë íýã ñàí àãóóëäàã á°ã°°ä, ò³³íèéã óã àéë ñèñòåìèéí root ñàí áóþó äýýä ýõ ñàí ãýæ íýðëýäýã. Òýãýýä ýíý ýõ ñàí íü öààøààãàà °°ð ñàíãóóäûã àãóóëæ ÿâäàã. Ýíý õ³ðòýë òàíû óíøñàí ç³éë³³ä íü òàíû áóñàä ìýääýã ³éëäëèéí ñèñòåìòýé èæèë áàéæ ìàãàäã³é. ýõäýý æààõàí ÿëãààíóóä áèé. Æèøýýëáýë MS-DOS ³éëäëèéí ñèñòåì íü àéë áîëîí ñàíã òóñãààðëàõäàà \ òýìäýã õýðýãëýäýã áàéõàä Mac OS® ³éëäëèéí ñèñòåì íü : òýìäãèéã õýðýãëýäýã. FreeBSD äèñêýíä ³ñýãëýæ íýð °ãä°ãã³é á°ã°°ä ³ñãýýð íýð °ã°ãäñ°í àéëûí çàìûã õýðýãëýäýãã³é. Òà FreeBSD äýýð c:/foo/bar/readme.txt ãýæ áè÷èæ áîëîõã³é. Õàðèí ò³³íèé îðîíä íýã àéë ñèñòåìèéã íýã root àéë ñèñòåì ãýæ àíãèëäàã. Óã root áóþó ýõ àéë ñèñòåìèéí ýõ ñàí íü / ãýæ õàíäàãäàíà. Áóñàä °°ð àéë ñèñòåì³³ä ýíý root áóþó ýõ àéë ñèñòåì äîòîð õîëáîãääîã . Òà FreeBSD ñèñòåì äýýðýý õýäýí ÷ äèñêòýé áàéñàí, ñàí áîëãîíóóä íü íýã äèñêíèé õýñýã ìýò õàðàãääàã. Æèøýýëáýë A, B, ì°í C ãýñýí ãóðâàí àéë ñèñòåì òàíä áàéíà ãýæ áîäú¼. Ôàéë ñèñòåì á³ð íü °°ðò°° õî¼ð ñàí àãóóëñàí òóñ òóñûí ýõ ñàíòàé ãýæ ³çüå. Òýäãýýð ñàíãóóä íü äàðààõ íýðòýé áàéã. A1, A2 (ãýõ ìýò÷èëýí B1, B2 ì°í C1, C2). A-ã ýõ ñàí ãýæ ³çíý. Õýðýâ òà ls òóøààëààð ýíý ñàíãèéí äîòîð áàéãààã õàðâàë, A1 áà A2 ãýñýí õî¼ð ñàíã òà õàðàõ áîëíî. Ýíý ñàíãèéí ìîäëîã çàãâàð íü èíãýæ õàðàãäàæ áàéíà:
100
Chapter 3 Þíèêñèéí ³íäýñ
Root /
A1/
A2/
Õýðýâ àéë ñèñòåì °°ð àéë ñèñòåìä õîëáîãäîõîîð áîë, õîëáîãäîæ áàéãàà ñèñòåìèéíõýý íýã ñàí äîð õîëáîãäîíî. Òýãâýë îäîî B àéë ñèñòåìèéã A1 ñàíä õîëáîíî ãýæ ³çüå. Òýãâýë B-èéí ýõ ñàí íü A1-ýýð îðëóóëàãäàæ, B äîòîðõ àéëóóä äàðààõ ìàÿãààð õàðàãäàíà: Root /
A1/
B1/
A2/
B2/
Õýðýâ B1 ýñâýë B2 ñàí äîòîðõ àéëóóä øààðäëàãà ãàðàí õàíäàãäàõààð áîë /A1/B1 ýñâýë /A1/B2 ãýñýí çàì õýðýãëýãäýæ áè÷èãäýíý. Õýðýâ /A1 äîòîð àéëóóä áàéñàí áîë òýäãýýðèéã ò³ð çóóð íóóäàã. B àéë ñèñòåì A ñèñòåìýýñ ñàëãàãäñàí ³åä ë òýð àéëóóä õàðàãäàíà. Õýðýâ B àéë ñèñòåì A2 äîð õîëáîãäñîí áîë äàðààõ ìàÿãààð õàðàãäàíà:
101
Chapter 3 Þíèêñèéí ³íäýñ
Root /
A1/
A2/
B1/
B2/
ì°í àéë óðóó õàíäàõ çàì íü /A2/B1 áîëîí /A2/B2 ãýæ òóñ òóñäàà õàíäàãäàõ áîëíî. Ôàéë ñèñòåì³³ä íýã íýãíèéõýý äýýð õîëáîãäîæ áîëäîã. ѳ³ëèéí æèøýýãýý ³ðãýëæë³³ëýýä C àéë ñèñòåìèéã B àéë ñèñòåì äîòîðõ B1 ñàíãèéí äýýä õýñýãò õîëáîæ °ãâ°ë äàðààõ çîõèîí áàéãóóëàëò ³³ñýæ áàéíà: Root /
A1/
A2/
B1/
C1/
B2/
C2/
Ýñâýë C àéë ñèñòåì A àéë ñèñòåì äîòîð A1 ñàíä õîëáîãäîæ áîëíî:
102
Chapter 3 Þíèêñèéí ³íäýñ
Root /
C1/
A1/
A2/
C2/
B1/
B2/
Õýðýâ òà MS-DOS ñèñòåìèéã ãàäàðëàäàã áîë ýíý íü join òóøààëòàé ò°ñ°°òýé áîëîâ÷ ÿã àäèëõàí áèø. Óãòàà áîë ýíý íü òèéì èõ àíõààðëàà õàíäóóëààä áàéõààð ç³éë áèø. Åðäèéí ³åä òà FreeBSD ñóóëãàõ ³åäýý íýã àéë ñèñòåì ³³ñãýýä õààíà õîëáîõûã íü øèéäýæ õîëáîîä, øèíý äèñê íýìýõã³é ë áîë ò³³íèéãýý õýçýý ÷ °°ð÷ë°õ øààðäëàãà ãàðäàãã³é. °ð àéë ñèñòåì ³³ñãýëã³éãýýð íýã á³õýë ýõ àéë ñèñòåì ³³ñãýæ áîëäîã. Èéì ³åä çàðèì ñóë òàëóóä ãàð÷ èðäýã á°ã°°ä íýã ë äàâóó òàë ³³ñíý. Îëîí àéë ñèñòåì³³äèéí äàâóó òàëóóä • Îëîí ò°ðëèéí àéë ñèñòåì³³ä íü îëîí ò°ðëèéí õîëáîõ í°õö°ëòýé . Æèøýýëáýë, ñàéí ò°ë°âë°ñíèé äàðààãààð, ýõ àéë ñèñòåì íü ç°âõ°í óíøèãäàõààð õîëáîãäîæ, èíãýñíýýð ñàíàìñàðã³é þì óó àëäàà îñëûí øàëòãààíààð ÷óõàë àéëóóäûã óñòãàõààñ ñýðãèéëæ áîëíî. Õýðýãëýã÷äýýð áè÷èãäýæ áîëäîã àéë ñèñòåì, æèøýý íü /home ìýòèéí áóñàä ñèñòåìýýñ òóñãààðëàæ nosuid ò°ðëèéí ãýæ õîëáîæ áîëíî; ýíý ñîíãîëò íü àéë ñèñòåì äýýð áóé ã³éöýòãýæ áîëäîã àéëä suid/guid áèò óòãà òàâèãäàõààñ ñýðãèéëæ àþóëã³é áàéäëûã õàíãàæ °ãä°ã. • FreeBSD àéë ñèñòåì ÿìàð çîðèëãîîð õýðýãëýãäýõýýñ íü õàìààðààä àéë ñèñòåì äýýð àéëûí çîõèîí áàéãóóëàëòûã àâòîìàòààð õèéäýã. Òèéì áîëîõîîð áàéíãà áè÷èãäýæ áàéäàã îëîí æèæèãõýí àéëóóäûí áàéãàà àéë ñèñòåì äýýð ö°°õ°í áè÷èãääýã òîì àéë àãóóëñàí àéë ñèñòåìèéã áîäâîë îëîí áè÷èãäýõýä çîðèóëæ àðàé °°ð àéëûí çîõèîí áàéãóóëàëò õèéãääýã. àíö òîì ýõ àéë ñèñòåìä èéì çîõèîí áàéãóóëàëò õèéõ áîëîìæã³é. • FreeBSD-í àéë ñèñòåì íü öàõèëãààí òýæýýëýýñ îãöîì ñàëãàãäñàí ³åä ÷ äèñêíèé àëäàà ³³ñãýäýãã³é íàéäâàðòàé áàéäàã. ýâ÷ ìàø íîöòîé ³åä öàõèëãààí òýæýýëýýñ îãöîì ñàëãàãäàõàä àéë ñèñòåìèéí á³òýö ýâäýð÷ áîëçîøã³é þì. ã°ãäë³³äýý îëîí àéë ñèñòåìä õóâààæ áàéðëóóëàõ íü äàðàà íü ýâäðýëýýñ áóöààæ ñýðãýýõýä àìàð áàéäàã. Íýã àéë ñèñòåìòýé áàéõ ³åèéí äàâóó òàë • Ýíý àéë ñèñòåì íü òîãòñîí õýìæýýòýé áàéäàã. Õýðýâ òà FreeBSD-èéã ñóóëãàõ ³åäýý òîäîðõîé çààæ °ãñ°í àéë ñèñòåì ³³ñãýýä, ñ³³ëä íü ò³³íèéãýý °ðã°æ³³ëýõèéã õ³ñâýë, ýíý íü òèéì àìàðõàí áèåëýõã³é. Òà ýõëýýä áàéãàà àéë ñèñòåìèéíõýý àéëóóäûã í°°ö°ëæ õàäãàëààä äàðàà íü àéë
103
Chapter 3 Þíèêñèéí ³íäýñ
ñèñòåìäýý øèíý õýìæýý °ã÷ °ðã°òã°°ä äàðàà íü í°°ö°°ñ°° àéëóóäàà áóöààæ ñýðãýýæ õàäãàëàõ áîëíî. Important: FreeBSD-í growfs(8) òóøààë íü äýýðõ õ³íäðýëèéã àëãà áîëãîæ, àéëûã í°°öë°õ øààðäëàãàã³éãýýð øóóä àéë ñèñòåìèéã °ðã°òã°æ áîëäîã áîëñîí.
Äèñêíèé õóâààëò äîòîð àéë ñèñòåì îðøèæ áàéäàã. FreeBSD íü þíèêñýýñ óëàìæèëñàí áîëîõîîð äèñê õóâààëòûí îéëãîëò íü åðäèéí õýðýãëýýòýé èæèëõýí áèø (æèøýýëáýë, MS-DOS äèñê çîõèîí áàéãóóëàëò). Äèñêíèé õóâààãäàë á³ð a ³ñýãíýýñ ýõëýýä h õ³ðòýë ³ñãýýð òýìäýãëýãääýã. Õóâààãäàë á³ð ç°âõ°í ãàíöõàí àéë ñèñòåì àãóóëàõ ¼ñòîé. Èéì áîëîõîîð àéë ñèñòåì íü àãóóëæ áàéãàà äèñê õóâààëòûíõàà ³ñãýýð èëýðõèéëýãäýõ á°ã°°ä õýðýâ °°ð àéë ñèñòåìä õîëáîãäâîë, õîëáîñîí ñàí íü óã àéë ñèñòåìèéã èëýðõèéëíý. FreeBSD ì°í swap -ä çîðèóëæ äèñêýíä çàé áýëääýã. Swap õýìæýý íü FreeBSD-í âèðòóàë ñàíàõ îé þì. Èíãýñíýýð òàíû êîìïüþòåð áàéãàà áîäèò õýìæýýíýýñýý èë³³ ñàíàõ îé õýðýãëýæ áàéãàà ìýò àæèëëàäàã. Õýðýâ çàðèì ïðîãðàì FreeBSD äýýð àæèëëààä ñàíàõ îéíîîñ õýòðýõ õ³íäðýë ãàðâàë, õýðýãëýãäýõã³é áàéãàà õýñãèéã swap çàé ðóó ç°°æ, øààðäëàãàòàé ³åä áóöààæ ñàíàõ îé ðóó ç°°õ çàð÷ìààð õýðýãëýãääýã. Çàðèì äèñêíèé õóâààëò íü òîãòñîí æóðàìòàé áàéäàã.
Õóâààëò
Òîãòñîí æóðàì a Èõýíõäýý root àéë ñèñòåìèéã àãóóëæ áàéäàã b Èõýíõäýý swap õýìæýýã àãóóëäàã c Èõýíõ ³åä àãóóëæ áóé ç³ñìýëèéíõýý õýìæýýòýé èæèë õýìæýýòýé áàéäàã. Ýíý íü ÿìàð íýãýí õýðýãñë³³äèéã (æèøýýëáýë, äèñêíèé ýâäýðñýí õýñãèéã øàëãàã÷) c õóâààëò äýýðõ ç³ñìýë äýýð á³õýëä íü àæèëëàæ áîëîõ ç°âø°°ð°ë °ãä°ã. Åðäèéí ³åä òà ³³í äýýð àéë ñèñòåì ³³ñãýõ øààðäëàãà áàéõã³é. d Óðüä íü d õóâààëò îíöãîé ³³ðýãòýé áàéñàí áîëîâ÷ îäîî òèéì áèø, õàðèí åðäèéí õóâààëò øèã õýðýãëýãäýæ áîëíî. FreeBSD äýýð àéë ñèñòåì àãóóëæ áàéãàà õóâààëòûã ç³ñìýë ãýæ íýðëýäýã. Õóâààëòûí åð°íõèé íýð íü FreeBSD äýýð ç³ñìýë ãýæ ÿðèãäàõ á°ã°°ä FreeBSD-èéí UNIX ãàðàëä öààä óòãà ó÷èð íü áèé. dzñìýë íü 1 -ýýñ ýõëýýä 4 õ³ðòýëõ òîîãîîð äóãààðëàãäàíà. dzñìýëèéí äóãààð íü ò°õ°°ð°ìæèéí íýðíèé àðààñ s ³ñãýýð ýõýëæ áè÷èãääýã. Òýãýõýýð “da0s1” ãýäýã íü, ýõíèé SCSI äèñê äýýðõ ýõíèé ç³ñìýëèéã èëýðõèéëæ áàéíà. Äèñê äýýð èçèê ÷àíàðààðàà ç°âõ°í ä°ðâ°í øèðõýã ç³ñìýë áàéðëóóëæ áîëíî. Õàðèí ëîãèê ç³ñìýëèéã òà èçèê ç³ñìýë äîòîð äóðûí õýìæýýòýé ³³ñãýæ áîëíî. Èíãýæ °ðã°òã°æ íýìñýí ç³ñìýë³³ä íü 5 ãýñýí äóãààðààð ýõýëæ öààøààãàà òîîëîãääîã. Òýãýõýýð “ad0s5” ãýäýã íü ýõíèé IDE äèñê äýýðõ ýõíèé °ðã°òã°ñ°í ç³ñìýëèéã õýëæ áàéíà. Èíãýæ °ðã°òã°ñ°í ç³ñìýë³³ä íü àéë ñèñòåì àãóóëæ, ñèñòåì äýýð åðäèéí ç³ñìýë ìýò õàðàãäàæ àæèëëàíà. dzñìýë³³ä íü èçèê äèñê äýýð “àþóëòàé çîðèóëàëò”ààð áóþó °°ð°°p õýëáýë õ³÷ýýð áàéðëóóëàãääàã. Õàðèí áóñàä äèñêí³³ä íü a -ñ ýõëýýä h õ³ðòýë íýðëýñýí õóâààëò àãóóëæ áîëäîã. Ýäãýýð ³ñýãí³³ä íü ò°õ°°ð°ìæèéí àðä çàëãàãäàæ áè÷èãääýã áà “da0a” ãýäýã íü ýõíèé da äèñê äýýð áàéãàà a õóâààëòûã èëýðõèéëæ áàéíà. “ad1s3e” áîë õî¼ð äàõü IDE äèñê äýýð áàéãàà ãóðàâ äàõü ç³ñìýëèéí òàâ äàõü õóâààëòûã èëýðõèéëæ áàéíà. Ýöýñò íü õýëýõýä, äèñê áîëãîí ñèñòåìä òàíèãäàõ ¼ñòîé. Äèñêíèé íýð íü äèñêíèé ò°ðëèéã èëýðõèéëñýí 104
Chapter 3 Þíèêñèéí ³íäýñ
³ñãýýð ýõëýýä òýãýýä àðààñ íü õýä äýõ äèñê âý ãýäãèéã íü èëýðõèéëñýí äóãààðòàé áàéäàã. dzñìýëýýñ ÿëãàðàõ ç³éë íü, äèñêíèé äóãààð 0 -ýýñ ýõýëäýã. Åð°íõèé õýðýãëýýíèé æèøýýã Table 3-1 õ³ñíýãòýýñ õàðíà óó. Õóâààëò óðóó õàíäàõ ³åä FreeBSD óã õóâààëòûã àãóóëñàí ç³ñìýë áîëîí äèñêèéã òîäîðõîéëîõûã øààðääàã. Òýãýýä ç³ñìýë ð³³ õàíäàõ ³åä ç³ñìýëèéã àãóóëñàí äèñêíèé íýðèéã øààðäàõ áîëíî. Òýãýõýýð òà äèñêíèé íýð, s, ç³ñìýëèéí äóãààð, òýãýýä õóâààëòûí ³ñýã ãýñýí äàðààëëààð íýðëýõ íü áàéíà. Æèøýýí³³äèéã Example 3-1-ä õàðóóëàâ. Òàíä îéëãîõîä òàíü ä°õ°ì áîëãîæ Example 3-2 æèøýýí äýýð äèñêíèé çîõèîí áàéãóóëàëòûí òîãòñîí çàãâàðûã õàðóóëæ áàéíà. FreeBSD ñóóëãàõûí òóëä òà ýõëýýä äèñêíèé ç³ñìýëèéã òîõèðóóëíà, äàðàà íü ç³ñìýë äîòîð FreeBSD-í õýðýãëýõ õóâààëò ³³ñãýýä, äàðàà íü õóâààëò á³ðä àéë ñèñòåì (ýñâýë swap çàéã) ³³ñãýæ ýöýñò íü õààíà õîëáîãäîõûã íü (mount) çààæ °ãä°ã. Table 3-1.
Äèñê ò°õ°°ð°ìæèéí íýðí³³ä
Íýð
Óòãà
ad
ATAPI (IDE) disk
da
SCSI direct access disk
acd
ATAPI (IDE) CDROM
cd
SCSI CDROM
fd
Floppy disk
Example 3-1.
Íýð ad0s1a da1s2e
Example 3-2.
Äèñê, dzñìýë, Õóâààëòûí íýðëýõ æèøýý Óòãà Ýõíèé IDE äèñê (ad0) äýýðõ ýõíèé ç³ñìýëèéí (s1) ýõíèé õóâààëò (a). Õî¼ð äàõü SCSI äèñê (da1) äýýðõ õî¼ð äàõü (s2) ç³ñìýëèéí òàâ äàõü (e) õóâààëò.
Äèñêíèé òîãòñîí çàãâàð
Äàðààõ çàãâàð íü ñèñòåìä áóé IDE äèñê FreeBSD äýýð õýðõýí õàðàãäàæ áàéãààã õàðóóëæ áàéíà. Äèñêíèé õýìæýýã 4 Á-í õýìæýýòýé ãýæ ³çýýä õî¼ð øèðõýã 2 Á ç³ñìýë áàéíà (íýã ç³ñìýë äýýð íü MS-DOS õóâààëò áàéãàà). Ýõíèé ç³ñìýë íü MS-DOS-í C: äèñê àãóóëñàí, õàðèí õî¼ð äàõü ç³ñìýë äýýð FreeBSD ñóóãäñàí. Ýíý æèøýýí äýýð FreeBSD íü ãóðâàí °ã°ãäëèéí õóâààëò ì°í swap õóâààëò õýðýãëýæ áàéíà. óðâàí õóâààëò íü òóñ òóñäàà àéë ñèñòåì àãóóëæ áàéãàà. a õóâààëò root àéë ñèñòåìä çîðèóëàãäàæ, e õóâààëò /var ñàíä, ì°í f õóâààëò /usr ñàíä òóñ òóñ çîðèóëàãäñàí.
105
Chapter 3 Þíèêñèéí ³íäýñ
First slice, called ad0s1 (C: in DOS)
DOS or Windows
Partition a, mounted as /, called ad0s2a Partition b, used as swap, called ad0s2b
Second slice, called ad0s2
Partition e, mounted as /var, called ad0s2e
Partition c, not mounted, called ad0s2c
Partition f, mounted as /usr, called ad0s2f
(not to scale)
3.6
Ôàéë ñèñòåìèéã õîëáîõ áîëîí ñàëãàõ
Ôàéë ñèñòåì íü / ãýñýí ýõýýñ ýõëýí ìîäëîã õýëáýðýýð ìàø ñàéí õàðàãääàã. /dev, /usr, ì°í áóñàä ñàíãóóä íü root áóþó ýõ ñàíãààñàà ñàëáàðëàñàí ñàëàà ì°÷èð á°ã°°ä öààøàà óã ì°÷èð íü áàñ /usr/local ãýæ ñàëààëàõ çýðãýýð °ðã°æèæ ñàëààëæ áîëäîã. Ýäãýýð ñàíãóóäûí çàðèìûã íü °°ð àéë ñèñòåìä áàéðëóóëàõ ìàø îëîí øàëòãààí áèé. /var ñàí íü æèøýýëáýë log/, spool/, ãýõ çýðýã ÿíç á³ðèéí ò³ð çóóðûí àéëóóäûã àãóóëäàã á°ã°°ä ò³ðãýí ä³³ðýõ 106
Chapter 3 Þíèêñèéí ³íäýñ
ìàãàäëàëòàé. Ýõ ñàí áóþó root àéë ñèñòåì ò³ðãýí ä³³ðíý ãýäýã áîë òèéì ÷ ñàéí þì áèø. Òèéì áîëîõîîð /var ñàíã / ñàíãààñ òóñàä íü °°ð ãàçàð áàéðëóóëàõ íü òóí õýðýãòýé. Òîäîðõîé õýäýí ñàíãóóäûã òóñàä íü °°ð àéë ñèñòåì äýýð áàéðëóóëàõ õ³íäòýé øàëòãààí áîë, õýðâýý óã ñàíãóóä íü °°ð èçèê äèñê äýýð, òóñäàà âèðòóàë äèñê äýýð, ѳëæýýíèé àéë ñèñòåì äýýð, ýñâýë CDROM äýýð áàéõ ÿâäàë þì. 3.6.1 fstab
àéë
/etc/fstab
àéëä æàãñààãäñàí àéë ñèñòåì³³ä íü ñèñòåìèéí à÷ààëàõ ÿâöàä àâòîìàòààð õîëáîãääîã
/etc/fstab
íü äàðààõ ìàÿãèéí æàãñààëòûã àãóóëæ áàéäàã:
(ãýõäýý õýðýâ òýäãýýð íü noauto ñîíãîëò õýðýãëýýã³é ³åä).
ò°õ°°ð°ìæ
/õîëáîõ-öýã àéë-ñèñòåìèéí-ò°ð°ë
ñîíãîëòóóä
dumpfreq
passno
ò°õ°°ð°ìæ
Ò°õ°°ð°ìæèéí íýð (çààâàë áàéõ ¼ñòîé). Section 18.2 õóóäñàíä òàéëáàðëàñàí áàéãàà.
mount-point áóþó õîëáîõ öýã
Ôàéë ñèñòåìèéã áàéðëóóëàõ ñàíãèéí íýð (çààâàë áàéõ ¼ñòîé).
àéë-ñèñòåìèéí-ò°ð°ë
mount(8) õóóäñàíä òàéëáàðëàñàí áàéãàà òóë àëãàñàâ. FreeBSD-í àíõäàã÷ àéë ñèñòåì áîë ufs.
ñîíãîëòóóä
Óíøèæ áè÷èãäýõ àéë ñèñòåìèéã çààñàí rw ýñâýë ç°âõ°í óíøèãäàõ àéë ñèñòåìä çîðèóëñàí ro ñîíãîëò áàéæ áîëîõ á°ã°°ä öààøààãàà ì°í íýìýëò ñîíãîëòóóä àãóóëæ áîëíî. Åðäèéí ñîíãîëò áîë noauto á°ã°°ä èíãýñíýýð ñèñòåì ýõëýõ ³åä óã àéë ñèñòåì õîëáîãääîãã³é. Áóñàä ñîíãîëòóóä mount(8) ãàðûí àâëàãàä òîäîðõîé áè÷èãäñýí áàéãàà.
dumpfreq
Ýíý ñîíãîëò íü dump(8) õýðýãñëýýð õýðýãëýãääýã á°ã°°ä àëü àéë ñèñòåìä í°°ö õàäãàëàëò õèéõ âý ãýäãèéã òîäîðõîéëæ °ãä°ã. Õýðýâ ýíý ñîíãîëòûã áè÷ýýã³é áîë õîîñîí óòãûã àãóóëæ áàéäàã. passno
Ýíý ñîíãîëòûã àøèãëàí ÿìàð äàðààëëààð àéë ñèñòåì³³äèéã øàëãàõ âý ãýäãèéã çààæ °ãä°ã. Øàëãàëã³éãýýð àëãàñíà ãýñýí àéë ñèñòåì³³ä íü passno òàëáàðäàà 0 óòãàòàé áàéõ ¼ñòîé. root áóþó ýõ àéë ñèñòåìèéí (ýíý àéë ñèñòåì íü õàìãèéí ò³ð³³íä øàëãàãääàã) passno òàëáàðûí óòãà íü 1 áàéäàã á°ã°°ä áóñàä ñèñòåìèéí passno íü íýãýýñ èõ áàéõ ¼ñòîé. Õýðýâ íýãýýñ èë³³ îëîí àéë ñèñòåì³³ä passno òàëáàðòàà èæèë óòãàòàé áîë fsck(8) íü òýäãýýð àéë ñèñòåìèéã õýðýâ áîëîìæòîé çýðýã øàëãàõûã îðîëäîõ áîëíî. /etc/fstab àéëûí á³òýö áîëîí òîõèðóóëäàã ñîíãîëòóóäûí òóõàé äýëãýðýíã³é ìýäýýëëèéã fstab(5) ãàðûí àâëàãààñ õàðíà óó.
107
Chapter 3 Þíèêñèéí ³íäýñ
3.6.2 mount
òóøààë
mount(8) òóøààë íü àéë ñèñòåìèéã õîëáîõîä õýðýãëýãääýã öîðûí ãàíö òóøààë þì.
Òàíû õàìãèéí °ðã°í õýðýãëýõ õýëáýð áîë: # mount ò°õ°°ð°ìæ-áóþó-äèñê õîëáîõ-öýã
mount(8)-í ãàðûí àâëàãàä çààñíààð áîë ìàø îëîí ñîíãîëò áàéäàã á°ã°°ä °ðã°í õýðýãëýãääýã íü:
Õîëáîõ òîõèðóóëãóóä -a /etc/fstab àéëä æàãñààæ áè÷ñýí á³õ àéë ñèñòåìèéã õîëáîíî. ýõäýý “noauto” ãýæ òýìäýãëýñíèéã, -t ãýæ òóã õàòãàñíûã, ýñâýë °ìí° íü õîëáîãä÷èõñîí àéë ñèñòåì³³äèéã õîëáîõã³é. -d
Äóóäàæ àæèëëóóëæ áàéãàà àéë ñèñòåìýýñýý áóñäàä íü äóðûí ³éëäëýý õèéíý. Ýíý ñîíãîëòûã -v òóãòàé õàìò õýðýãëýæ mount(8)-ã þó õèéæ áàéãààã íü õàðæ áîëäîã. -f
Áîõèð àéë ñèñòåì (àþóëòàé), ýñâýë àéë ñèñòåìèéí óíøèõ-áè÷èãäýõ ò°ëâ°°ñ ç°âõ°í-óíøèõ ò°ë°â ð³³ øèëæ³³ëýí áè÷èõ ýðõèéã õàñàæ õîëáîõ ³åä õ³÷ýýð õîëáîäîã. -r
Ôàéë ñèñòåìèéã ç°âõ°í-óíøèõ ò°ëâ°°ð õîëáîíî. Ýíý íü -o ñîíãîëòèéã ro óòãàòàé (5.2-ñ °ìí°õ ³åä õýðýãëýäýã áàéñàí rdonly) õýðýãëýñýíòýé èæèë. -t fstype
ã°ãäñ°í àéë ñèñòåìéèã °ã°ãäñ°í ò°ðë°°ð õîëáîíî. Ýñâýë -a ñîíãîëò °ã°ãäñ°í áîë ç°âõ°í °ã°ãäñ°í ò°ðë°°ð õîëáîíî. “ufs” íü àíõäàã÷ àéë ñèñòåì þì. -u
Ôàéë ñèñòåìä õîëáîëòûí ñîíãîëòûã øèíý÷èëíý. -v
Áîëæ áàéãàà ³éë ÿâöûã õàðóóëæ ìýäýãäýíý. -w
Ôàéë ñèñòåìèéã óíøèõ-áè÷èõ ò°ëâ°°ð õîëáîíî. -o ñîíãîëò íü äàðààõ ç³éë³³äèéã òàñëàëààð òóñãààðëàæ õýðýãëýæ áîëíî: noexec
Ýíý íü àéë ñèñòåì äýýð õî¼ðëîñîí àéë áóþó à÷ààëàãäàæ àæèëëàæ áîëäîã àéë àæèëëàõûã ³ë ç°âø°°ðí°. Ýíý íü ì°í àþóëã³é áàéäëûí çîðèëãîîð õýðýãòýé.
108
Chapter 3 Þíèêñèéí ³íäýñ nosuid
Ôàéë ñèñòåì äýýð setuid ýñâýë setgid òóãóóäûã á³³ õýðýãëý. Ì°í àþóëã³é áàéäëûí øàëòãààíààð. 3.6.3 umount
òóøààë
umount(8) òóøààë íü àðäàà õîëáîñîí öýã, ò°õ°°ð°ìæèéí íýð çýðãèéã àâäàã á°ã°°ä ì°í -a ñîíãîëò ýñâýë áàñ -A ñîíãîëòóóäûã àâ÷ áîëäîã. Á³õ õýëáýð³³ä íü -f ñîíãîëòûã õ³÷ýýð ñàëãàõ ³åä áîëîí -v ñîíãîëòûã ÿâöûí ìýäýýëëèéã õàðàõàä õýðýãëýäýã. -f ñîíãîëò íü òèéì ñàéí ñàíàà áèø ãýäãèéã àíõààðóóëìààð áàéíà. Õ³÷ýýð àéë ñèñòåìèéã ñàëãàõ íü àéë ýñâýë ñèñòåìèéí ýâäðýëä õ³ðãýæ áîëçîøã³é. -a áîëîí -A ñîíãîëòóóä íü õîëáîãäñîí á³õ àéë ñèñòåìèéã ñàëãàõàä õýðýãëýãääýã. Ýñâýë ì°í -t ñîíãîëòîîð °°ð÷ë°ãäñ°í àéë ñèñòåì³³äèéã ñàëãàõàä õýðýãëýíý. ýõäýý -A ñîíãîëò íü root àéë ñèñòåìèéã ñàëãàõ ãýæ îðîëääîãã³é.
3.7
Ïðîöåññ áóþó ïðîãðàìûí ÿâö
FreeBSD áîë îëîí ³éëäýë çýðýã õèéõ ÷àäâàðòàé ñèñòåì. Ýíý íü îëîí ïðîãðàì íýã äîð çýðýã àæèëëàíà ãýñýí ³ã. Ïðîãðàìûí òóõàéí ³åä àæèëëàæ áàéãààã íü ïðîöåññ áóþó ïðîãðàìûí ÿâö ãýäýã. Òàíû
àæèëëóóëñàí òóøààë áîëãîí øèíý ïðîöåññ ýõë³³ëäýã á°ã°°ä ñèñòåì äýýð á³õýëäýý òýð ÷èãýýðýý ïðîöåññóóä ³ðãýëæ àæèëëàæ ñèñòåìèéí àæèëëàãààã á³ðýëä³³ëæ áàéäàã. Ïðîãðàìûí ÿâö á³ð ïðîöåññ ID, ýñâýë PID ãýñýí äóãààð àãóóëæ áàéäàã á°ã°°ä àéëòàé áàñ èæèëõýí °°ðèéí ãýñýí ýçýìøèã÷ áîëîí á³ëýãò õàðúÿàëàãäàæ áàéäàã. Ýçýìøèã÷ áà á³ëãèéí ìýäýýëýë íü óã ïðîöåññ àéëä õàíäàõ ýðõèéã íü õýðýãëýæ àéëòàé õýðõýí õàíäàõ âý ãýäãèéã òîäîðõîéëæ °ãä°ã. Èõýíõ ïðîöåññ íü ì°í ýöýã ïðîöåññòîé áàéäàã. Ýöýã ïðîöåññ íü òýäãýýð ïðîöåññèéã ýõë³³ëæ °ãä°ã. Æèøýýëáýë, õýðýâ òà òóøààëóóäûã á³ðõ³³ëä áè÷èæ ã³éöýòãýâýë, á³ðõ³³ë ÷ ïðîöåññ, òóøààëóóä ÷ ïðîöåññ áîëäîã á°ã°°ä òàíû áè÷ñýí òóøààë áîëãîí ïðîöåññ áîëäîã. Èéì ìàÿãààð àæèëëóóëààä áàéâàë á³ðõ³³ë íü òýäãýýð ïðîöåññóóäûí ýöýã íü áîëíî. ³íýýñ °°ð îíöãîé ïðîöåññ áàéäàã áà ò³³íèéã init(8) ïðîöåññ ãýæ íýðëýäýã. init áîë õàìãèéí ýõíèé ïðîöåññ áàéäàã á°ã°°ä ³³íèé PID äóãààð ³ðãýëæ 1 áàéäàã. FreeBSD ýõëýõ ³åä init ïðîöåññ àâòîìàòààð ýõýëäýã. Ñèñòåìä ã³éöýòãýãäýæ áàéãàà ïðîöåññóóäûã õàðäàã õî¼ð òóøààë áîë ps(1) áà top(1) õî¼ð þì. ps òóøààë íü îäîî àæèëëàæ áàéãàà ïðîöåññóóäûã PID äóãààðòàé íü õàðóóëæ, ì°í õè÷íýýí ñàíàõ îéí õýìæýý õýðýãëýæ áàéãàà, ÿìàð òóøààëààð ã³éöýòãýãäýæ áàéãàà çýðãèéã íü õàðóóëäàã. top òóøààë íü àæèëëàæ áàéãàà á³õ ïðîöåññóóäûã õàðóóëäàã á°ã°°ä õýäýí ñåêóíä òóòàìä øèíý÷ëýãäýæ áàéäàã. Èíãýñíýýð òàíû êîìïüþòåð òóõàéí ³åä þó õèéæ áàéãààã õàðæ áîëíî. Àíõäàã÷ ãîðèìîíäîî, ps òóøààë íü ç°âõ°í òàíû ýçýìøèæ áàéãàà ïðîöåññóóäûã õàðóóëäàã. Æèøýýëáýë: % ps
PID 298 7078 37393 48630 48730
TT p0 p0 p0 p0 p0
STAT Ss S I S IW
TIME 0:01.10 2:40.88 0:03.11 2:50.89 0:00.00
COMMAND tcsh xemacs mdoc.xsl (xemacs-21.1.14) xemacs freebsd.dsl (xemacs-21.1.14) /usr/local/lib/netscape-linux/navigator-linux-4.77.bi (dns helper) (navigator-linux-)
109
Chapter 3 Þíèêñèéí ³íäýñ 72210 390 7059 6688 10735 20256 262 270 280 284 285
p0 p1 p2 p3 p4 p5 v0 v0 v0 v0 v0
R+ Is Is+ IWs IWs IWs IWs IW+ IW+ IW S
0:00.00 0:01.14 1:36.18 0:00.00 0:00.00 0:00.00 0:00.00 0:00.00 0:00.00 0:00.00 0:38.45
ps tcsh /usr/local/bin/mutt -y tcsh tcsh tcsh -tcsh (tcsh) /bin/sh /usr/X11R6/bin/startx -- -bpp 16 xinit /home/nik/.xinitrc -- -bpp 16 /bin/sh /home/nik/.xinitrc /usr/X11R6/bin/sawfish
Äýýðõ æèøýýíä õàðóóëñíààð, ps(1) òóøààëûí ãàðàëò íü õýä õýäýí áàãàíààð õàðóóëàãäàæ áàéíà. PID áîë °ìí° ÿðüñíû äàãóó ïðîöåññèéí ID äóãààð. PID äóãààðóóä íü 1 ãýæ ýõëýýä 99999 õ³ðòýë äóãààðëàãääàã á°ã°°ä õýòðýýä èðýõýýðýý ýõíýýñýý ýõýëæ òîîëîãääîã (PID íü àøèãëàãäàæ áàéãàà áîë äàõèí îëãîãääîãã³é). TT áàãàíà íü, óã ïðîãðàìûí àæèëëàæ áàéãàà tty áóþó òåðìèíàëûã íü õàðóóëäàã á°ã°°ä îäîîõîíäîî õýðýãñýõ øààðäëàãà áàéõã³é. STAT íü ïðîãðàìûí ò°ëâèéã õàðóóëäàã á°ã°°ä ì°í îäîîõîíäîî õýðýãñýõã³é áàéæ áîëíî. TIME íü ïðîöåññîð äýýð õýð óäààí àæèëëàæ áàéãààã íü çààäàã á°ã°°ä ãýõäýý ýíý íü ïðîãðàì ýõýëñíýýñ õîéø òîîöîæ ýõýëñýí öàã áèø. Èõýíõ ïðîãðàì íü ïðîöåññîð äýýð ã³éöýòãýõ ãýæ õýñýã õóãàöàà çàðöóóëæ õ³ëýýäýã. Ýöýñò íü, COMMAND íü òóõàéí ïðîãðàìûã àæèëëóóëñàí òóøààëûã õàðóóëäàã. Õàðóóëàõ ìýäýýëëýý °°ð÷èëæ áîëäîã õýä õýäýí íýìýëò ñîíãîëò ps(1) òóøààëä áèé. Áàéíãà õýðýãëýãääýã ñîíãîëòóóäûí áàãö áîë auxww þì. a ñîíãîëò íü ç°âõ°í °°ðèéí ýçýìøäýã ïðîöåññ áèø õàðèí àæèëëàæ áàéãàà á³õ ïðîöåññèéã õàðóóëäàã. u ñîíãîëò íü ïðîöåññèéã ýçýìøèæ áàéãàà õýðýãëýã÷èéí íýðèéã õàðóóëäàã á°ã°°ä ì°í õýðýãëýæ áàéãàà ñàíàõ îéã íü õàðóóëäàã. x ñîíãîëò íü äàëä àæèëëàæ áàéãàà áóþó äýìîí ýñýõèéã íü õàðóóëäàã. ww ñîíãîëò íü ïðîöåññóóäûã àæèëëóóëñàí òóøààëûí á³òýí íýðèéã íü õàðóóëäàã. Áóñàä ³åä, õýðýâ òóøààëûí íýð íü äýëãýöýíä áàãòàõã³é óðò áàéõ òîõèîëäîëä õàñàæ õàðóóëäàã. top(1) òóøààëûí ãàðàëò íü °ìí°õ æèøýýòýé èæèëõýí. Æèøýý áîëãîæ íýã ãàðàëòûã õàðöãààÿ: % top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 47 processes: 1 running, 46 sleeping CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free Swap: 256M Total, 38M Used, 217M Free, 15% Inuse PID 72257 7078 281 296 48630 175 7059 ...
USERNAME PRI NICE SIZE RES STATE nik 28 0 1960K 1044K RUN nik 2 0 15280K 10960K select nik 2 0 18636K 7112K select nik 2 0 3240K 1644K select nik 2 0 29816K 9148K select root 2 0 924K 252K select nik 2 0 7260K 4644K poll
TIME WCPU 0:00 14.86% 2:54 0.88% 5:36 0.73% 0:12 0.05% 3:18 0.00% 1:41 0.00% 1:38 0.00%
CPU 1.42% 0.88% 0.73% 0.05% 0.00% 0.00% 0.00%
COMMAND top xemacs-21.1.14 XF86_SVGA xterm navigator-linu syslogd mutt
Òóøààëûí ãàðàëò õî¼ð õýñýãò õóâààãäñàí áàéíà. Òîëãîé õýñýã (ýõíèé òàâàí ì°ð) íü ñ³³ëä àæèëëàæ áàéãàà PID äóãààðûã, ñèñòåìèéí à÷ààëàëòûí äóíäæóóä (ýíý íü ñèñòåìèéã õýð çàâã³é áàéãààã èëòãýäýã), ñèñòåìèéí àñààëòòàé áàéãàà õóãàöàà (óíòðààëã³é õýð óäñàí ýñýõèéã) ì°í îäîîãèéí öàã çýðãèéã
110
Chapter 3 Þíèêñèéí ³íäýñ
õàðóóëäàã. Áóñàä èëýðõèéëë³³ä íü, õè÷íýýí ïðîöåññóóä àæèëëàæ áàéãàà (ýíý òîõèîëäîëä 47 ), õè÷íýýí ñàíàõ îéí õýìæýý áîëîí swap õýìæýý õýðýãëýãäýæ áàéãàà, ì°í õè÷íýýí õóãàöààã ïðîöåññîðûí áóñàä ò°ë°â áàéäàëä çàðöóóëñàí çýðãèéã èëýðõèéëæ áàéíà. Äîîðõ áàãàíóóä íü ps(1) òóøààëòàé îéðîëöîî ìýäýãäë³³äèéã õàðóóëæ áàéíà. Ýõëýýä PID äóãààð äàðàà íü õýðýãëýã÷èéí íýð, ïðîöåññîðîîñ õýðýãëýñýí õóãàöàà, àæèëëóóëñàí òóøààë ãýõ ìýò. top(1) òóøààë íü àíõäàã÷ òîõèðóóëãààðàà, ïðîöåññèéí õýðýãëýæ áàéãàà ñàíàõ îéí õýìæýýã õàðóóëäàã. Òýð õýñýã íü õî¼ð áàãàíàä õàðóóëàãääàã á°ã°°ä ýõíèéõ íü íèéò õýìæýý äàðààãèéõ íü òóõàéí ³åèéíõ íü õýìæýý þì. Íèéò õýìæýý ãýäýã íü ïðîãðàì àæèëëàõàä õýä õýðýãòýéã õýëäýã á°ã°°ä òóõàéí ³åèéíõ íü õýìæýý íü îäîîãîîð õýäèéã õýðýãëýæ áàéãààã çààäàã. Ýíý æèøýýí äýýð Netscape® ïðîãðàì áàðàã 30 ÌÁ õýìæýýã RAM ñàíàõ îéä øààðäëàãàòàé ãýñýí áîëîâ÷ îäîîãîîð 9 ÌÁ õýìæýý õýðýãëýæ áàéíà ãýæ çààñàí áàéíà. top(1) íü ýíý õàðóóëàëòûã õî¼ð ñåêóíä òóòàì øèíý÷èëäýã á°ã°°ä ³³íèéã s òîõèðóóëãààð °°ð÷èëæ áîëíî.
Äàëä ÷°òã°ð áóþó äýìîíóóä, äîõèîíóóä, ì°í ïðîöåññóóäûã çîãñîîõ íü 3.8
Òà õýðýâ ÿìàð íýã òåêñò çàñâàðëàã÷ äýýð àæèëëàæ áàéõäàà àéë íýýõ, õààõ, õàäãàëàõ ãýõ ìýò óã ïðîãðàìûã ñàéí õÿíàæ ÷àääàã. Òà ÿàãààä òýãæ ÷àäàæ áàéíà âý ãýâýë, óã ïðîãðàì íü òåðìèíàë äýýð õîëáîãäîí àæèëëàæ òàíä òèéì áîëîìæ îëãîæ áàéãàà áèëýý. Çàðèì ïðîãðàì òýãýõýä ³ðãýëæ õ³í ãàðíààñ îðóóëàëò õèéõ øààðäëàãàã³é çîðèóëàëòààð á³òýýãäñýí áàéäàã á°ã°°ä õàìãèéí ýõíèé áîëîìæ ãàðàíãóóò òåðìèíàëààñ ñàëàíãèä àæèëëàäàã. Æèøýýëáýë âýá ñåðâåð³³ä °ä°ðæèí õ³ì³³ñýýñ èðñýí õ³ñýëòýä õàðèóëò °ã÷ áàéäàã á°ã°°ä åðäèéí ³åä òàíààñ îðóóëãà øààðääàãã³é. Èéì ò°ðëèéí áàñ íýã ïðîãðàì áîë çàõèà èëãýýã÷ ïðîãðàì þì. Áèä èéì ïðîãðàìûã äàëä ÷°òã°ð áóþó äýìîí ãýæ íýðëýäýã. Äýìîíóóä íü ðåêèéí äîìîãò áàéäàã ñàéí ìóóãèéí àëü íü ÷ áèø á°ã°°ä æèæèãõýí ì°ðòë°° õ³ì³³ñò õýðýãòýé þì õèéæ áàéäàã ñ³íñèéã õýëäýã. Âýá ñåðâåð áîëîí çàõèàíû ñåðâåð³³ä ³³íòýé èæèë õ³ì³³ñò òóñòàé þì õèéäýã. Òèéì áîëîõîîð BSD íü ñïîðò øààõàéòàé, æèæèãõýí, ñýðýý áàðüñàí ÷°òã°ðèéã îëîí æèëýýð äóðòàéÿà °°ðèéíõ°° áèëýã òýìäýã áîëãîæ áàéãàà áèëýý. Äàëä àæèëëàæ áàéãàà áóþó äýìîí áîëæ àæèëëàæ áàéãàà ïðîãðàìûí íýðíèé àðä “d” ³ñýã çàëãàæ áè÷äýã çàð÷èì áèé. BIND ïðîãðàìûí á³òýí íýð íü Berkeley Internet Name Daemon á°ã°°ä ³íäñýí äàëä àæèëëàäàã ïðîãðàìûí íýð íü named, ì°í Apache âýá ñåðâåðèéí äàëä àæèëëàäàã ïðîãðàìûí íýð íü httpd, õýâëýõ äàðààëëûã äàëä àæèëëàæ çîõèöóóëæ áàéäàã ïðîãðàìûí íýð íü lpd ãýõ ìýò íýðòýé áàéäàã. Ýíý íü åð°íõèéä°° èíãýæ çàð÷èì ãàðãàñàí áîëîõîîñ õàòóó òîãòîîñîí ä³ðýì áèø; æèøýýëáýë çàõèà èëãýýã÷ ³íäñýí ïðîãðàì Sendmail-í äàëä àæèëëàäàã ïðîãðàìûã òà maild ãýæ ò°ñ°°ëæ áàéãàà áîë ýíä³³ðýõ á°ã°°ä õàðèí sendmail ãýæ íýðëýäýã. Çàðèìäàà òà ýäãýýð äýìîí ïðîöåññóóäòàé õîëáîãäîæ õàðèëöàõ õýðýã ãàðíà. Èíãýõ íýã àðãà íü ò³³í ð³³ (ýñâýë áóñàä àæèëëàæ áàéãàà ïðîöåññ óðóó) äîõèî ãýãääýã ç³éë èëãýýõ ÿâäàë þì. Ìàø îëîí ò°ðëèéí èëãýýæ áîëîõ äîõèîíóóä áàéäàã — çàðèì äîõèîíóóä îíöãîé çîðèóëàëòòàé íèéòýä íü õýðýãæäýã, çàðèì íü òóõàéí ïðîãðàìäàà çîðèóëæ °°ð °°ð°°ð õ°ðâ³³ëýãääýã á°ã°°ä ïðîãðàìûí çààâàð äýýð ÿìàð äîõèîã ÿàæ õ°ðâ³³ëýí îéëãîõ âý ãýäãèéã çààñàí áàéäàã. Òà °°ðèéíõ°° ýçýìøèæ áàéãàà ïðîöåññ óðóóãàà äîõèî èëãýýæ áîëíî. Õýðýâ òà áóñäûí ýçýìøäýã ïðîöåññ óðóó kill(1) ýñâýë kill(2) ãýõ çýðýã äîõèî èëãýýâýë òàíû ýðõ äóòàæ õýðýãæäýãã³é. ýõäýý èéì ýðõýýð äóòàãääàãã³é õýðýãëýã÷ áîë root õýðýãëýã÷ á°ã°°ä õ³í áîëãîíû ïðîöåññ óðóó äîõèî èëãýýæ ÷àääàã.
111
Chapter 3 Þíèêñèéí ³íäýñ
Ì°í FreeBSD-ýýñ ïðîãðàì óðóó çàðèì òîõèîëäîëä äîõèî èëãýýäýã. Æèøýýëáýë, õýðýâ ìóó çîõèîãäñîí íýã ïðîãðàì ñàíàõ îéã çîðèóëñàí õýìæýýíýýñýý èë³³ õýðýãëýýä ýõýëáýë FreeBSD óã ïðîãðàì óðóó Õýñãèéí áóðóó õýðýãëýý äîõèî èëãýýäýã (SIGSEGV). Ì°í õýðýâ ÿìàð íýãýí ïðîãðàì íü alarm(3) ãýäýã ñèñòåìèéí ñàíóóëàõ ïðîãðàìûã àøèãëàñàí áîë òóõàéí õóãàöàà íü õýòðýõ ³åä Ñýð³³ëýã äîõèî óã ïðîãðàìä èðýõ (SIGALRM) çýðýã îëîí äîõèî áèé. Ïðîöåñèéã çîãñîîõ õî¼ð äîõèî áàéäàã, SIGTERM áà SIGKILL õî¼ð. SIGTERM íü àðàé ýåëäýã àðãààð ïðîöåññèéã çîãñîîäîã; ïðîöåññ íü ýõëýýä äîõèîã õ³ëýýæ àâààä °°ðèéã íü õààõ ãýæ áàéãààä ìýäýýä íýýëòòýé áàéãàà á³ðòãýë áè÷ëýã àéëóóäàà õààãààä òýãýýä õèéæ áàéãàà åð°íõèé ³éëäëýý çîãñîîäîã. Çàðèì òîõèîëäîëä óã ïðîöåññ íü òàñëàãäàæ áîëîõîîðã³é ³éëäýë õèéæ áàéõ ³åäýý SIGTERM äîõèîã õýðýãñýõã³é áàéäàë ³³ñäýã. SIGKILL äîõèîã ÿìàð ÷ ïðîöåññ õýðýãñýõã³é áàéæ ÷àääàãã³é. °ð°°ð õýëáýë ýíý íü “×èíèé þó õèéæ áàéõ íü íàäàä õàìààã³é, îäîî øóóä çîãñîî” ãýñýí äîõèî þì. Õýðýâ òà SIGKILL äîõèîã ïðîöåññ óðóó èëãýýâýë FreeBSD óã ïðîöåññèéã çîãñîîäîã . Òàíû õýðýãëýæ áîëîõîîð áóñàä äîõèîíóóä íü SIGHUP, SIGUSR1, ì°í SIGUSR2. Ýäãýýð äîõèî íü åð°íõèé çîðèóëàëòààð õýðýãëýãääýã á°ã°°ä ýäãýýð äîõèîã õ³ëýýæ àâñàí ïðîãðàìóóä òóñ òóñäàà °°ð °°ð õàðèó ³éëäýë õèéäýã. Æèøýýëáýë, òà âýá ñåðâåðèéíõýý òîõèðóóëãûí àéëä °°ð÷ë°ëò õèéãýýä óã ñåðâåðèéã òîõèðóóëãûí àéëàà äàõèí øèíýýð óíøóóëàõûã õ³ññýí ãýæ áîäú¼. Òà httpd äýìîíîî çîãñîîãîîä äàõèí øèíýýð ýõë³³ëæ áîëîõ áîëîâ÷ àæèëëàæ áàéãàà âýá ñåðâåðèéã çîãñîîæ áîëîõã³é í°õö°ë áàéæ áîëíî. Èõýíõ äýìîíóóä íü SIGHUP äîõèîã õ³ëýýæ àâáàë °°ðèéíõ°° òîõèðóóëãûíõàà àéëûã óíøèíà ãýæ òîõèðóóëàãäñàí áàéäàã. Òýãýõýýð httpd äýìîíîî çîãñîîãîîä øèíýýð à÷ààëæ áàéõûí îðîíä SIGHUP äîõèîã èëãýýõýä õàíãàëòòàé. Ó÷èð íü ýíý äîõèîíä òýãæ õàðèóëíà ãýñýí òîãòîîñîí àðãà çàì áàéõã³é òóë äýìîí áîëãîí °°ð °°ð ³éë÷ëýë ³ç³³ëäãèéã îéëãîæ òóõàéí äýìîíû çààâàð áè÷ãèéã íü ñóäëàõ õýðýãòýé. äîõèî èëãýýõäýý kill(1) òóøààëûã àøèãëàäàã. 4
Ïðîöåññ óðóó äîõèî èëãýýõ Ýíý æèøýý íü inetd(8) óðóó õýðõýí äîõèî èëãýýõèéã õàðóóëàõ áîëíî. inetd -í òîõèðóóëãûí àéë /etc/inetd.conf ãýæ áàéðëàñàí á°ã°°ä inetd-èéã òîõèðóóëãûí àéëàà äàõèí óíøóóëàõûí òóëä SIGHUP äîõèîã èëãýýõ áîëíî. 1. Èëãýýõ ïðîöåññèéí ïðîöåññ ID äóãààðûã ìýäýõ õýðýãòýé. Èíãýõèéí òóëä ps(1) áà grep(1) òóøààëóóäûã àøèãëàíà. grep(1) òóøààë íü °ìí°õ òóøààëûíõàà ãàðàëòààñ õàéëò õèéõýä õýðýãëýãääýã á°ã°°ä õàéõ ì°ð°° çààæ °ãä°ã. Ýíý òóøààë íü ýíãèéí õýðýãëýã÷ýýñ ã³éöýòãýãäýæ áîëîõ á°ã°°ä õàðèí inetd(8) ïðîãðàì íü root õýðýãëýã÷ýýð ã³éöýòãýãäñýí òóë ps(1) òóøààëûã ax ñîíãîëòòîé öóã ã³éöýòãýõ ¼ñòîé. % ps -ax | grep inetd
198
2.
??
IWs
0:00.00 inetd -wW
Çà òýãýõýýð, inetd(8)-èéí PID äóãààð íü 198 ãýæ ýíý òîõèîëäîëä õýëæ áàéíà. Çàðèì òîõèîëäîëä grep inetd ãýñýí òóøààë íü °°ð°° ýíý ãàðàëòàä áàéæ áàéäàã. Ó÷èð íü, ps(1) ïðîãðàì íü óã òóøààëûã àæèëëóóëæ áàéãàà ïðîöåññèéã îëñîí ³åä òýãæ ãàðãàæ õàðóóëäàã. kill(1) òóøààëûã õýðýãëýæ äîõèî èëãýýíý. inetd(8) íü root õýðýãëýã÷ýýð ã³éöýòãýãäýæ áàéãàà áîëîõîîð, òà ýõëýýä su(1) òóøààëûã àøèãëàí root õýðýãëýã÷ áîëîõ õýðýãòýé. % su Password:
112
Chapter 3 Þíèêñèéí ³íäýñ # /bin/kill -s HUP 198
Èõýíõ UNIX ñèñòåìèéí òóøààëóóäûí àäèë, kill(1) òóøààë íü õýðýâ àìæèëòòàé õýðýãæâýë ÿìàð íýãýí ò°ëâèéí ìýäýýëýë õàðóóëäàãã³é. Õýðýâ òà °°ðèéíõ°° ýçýìøäýãã³é ïðîöåññ óðóó äîõèî èëãýýâýë “kill: PID: Operation not permitted” áóþó ýíý ³éëäëèéã õèéõ ýðõ áàéõã³é áàéíà ãýñýí ìýäýãäýë ãàð÷ èðíý. Õýðýâ òà PID äóãààðàà áóðóó áè÷èõ, ýñâýë áóðóó ïðîöåññ óðóó äîõèî èëãýýâýë, àçã³é òîõèîëäîëä óã äîõèî íü òóõàéí ïðîöåññ óðóó èëãýýãäýõ á°ã°°ä, óã ïðîöåññ íü àçààð áàéõã³é áàéãàà òîõèîëäîëä “kill: PID: No such process” áóþó òèéì ïðîöåññ àëãà áàéíà ãýñýí ìýäýãäýë ãàð÷ èðíý. ßàãààä /bin/kill òóøààëûã õýðýãëýõ õýðýãòýé âý?: Èõýíõ shells áóþó á³ðõ³³ë³³ä kill òóøààëûã °°ðò°° àãóóëñàí áàéäàã á°ã°°ä /bin/kill òóøààëûã áè÷èõèéí îðîíä øóóä á³ðõ³³ëä áóé òóøààëûã íü ã³éöýòãýõ íü øóëóóõàí áàéäàã. Ýíý íü àìàð÷èëñàí àøèãòàé àðãà áîëîâ÷ á³ðõ³³ë áîëãîí °°ðñäèéí èëãýýõ äîõèîíû °°ð °°ð íýðòýé áàéäãèéã ìýäýõ õýðýãòýé. Òèéì áîëîõîîð á³ðõ³³ë áîëãîíû äîõèîíû áè÷ëýãèéã ñóäëàõûí îðîíä øóóä /bin/kill ... òóøààëûã õýðýãëýõ íü ç°â àðãà þì.
Áóñàä äîõèî èëãýýõ ³éëäë³³ä íü ³³íòýé òóí èæèë á°ã°°ä TERM ýñâýë KILL äîõèîíóóäûí îðîíä øààðäëàãàòàé äîõèîãîî áè÷èõ õýðýãòýé. Important: Ñàíààíä îðñîí òîîòîé äîõèî áîëãîíûã óñòãàíà ãýäýã áîë áóðóó ñàíàà þì. init(8) ïðîöåññ ÿëàíãóÿà 1 ãýñýí ïðîöåññ ID áàéõ íü îíöãîé òîõèîëäîë. Òèéì áîëîõîîð /bin/kill -s KILL 1 ãýâýë ñèñòåìèéã øóóä óíòðààíà. kill(1) òóøààëûã ã³éöýòãýõýýñýý °ìí° Return òîâ÷ äàðàõûíõàà °ìí° ³ðãýëæ ÿìàð ïðîöåññ óðóó ÿìàð äîõèî èëãýýæ áàéãààãàà äàâõàð øàëãàõ õýðýãòýé.
3.9 Shell
áóþó á³ðõ³³ë
FreeBSD äýýð ìàø îëîí àæèë òóøààë áè÷èæ îðóóëäàã shell áóþó á³ðõ³³ë õýìýýõ îð÷èíä õèéãääýã. Á³ðõ³³ëèéí ãîë ³³ðýã íü ãàðíààñ îðóóëñàí òóøààëûã ã³éöýòãýõ þì. ä°ð áîëãîí ã³éöýòãýõýä øààðäàãääàã àéë çîõèöóóëàõ, òóøààë îðóóëàã÷ ì°ðèéã çàñâàðëàõ, òóøààëûí áàãö, îð÷íû õóâüñàã÷ çýðýã òóñëàõ òóøààëóóäûã îëîí á³ðõ³³ë³³ä àãóóëæ áàéäàã. FreeBSD íü sh áóþó Bourne Shell, ì°í tcsh áóþó ñàéæðóóëñàí C-shell çýðýã áàãö á³ðõ³³ë³³äòýé õàìò èðäýã. zsh áîëîí bash çýðýã ìàø îëîí á³ðõ³³ë³³ä FreeBSD-èéí ïîðòûí öóãëóóëãàíä èðäýã.
Òà ÿìàð á³ðõ³³ë õýðýãëýäýã âý? Ýíý áîë òóõàéí õ³íèé äóð ñîíèðõîëòîé õàìààòàé. Õýðýâ òà C ïðîãðàìûí õýë äýýð ïðîãðàì áè÷äýã áîë C-òýé àäèëõàí áè÷èãääýã tcsh ò°ðëèéí á³ðõ³³ëä äóðòàé áîëæ áîëîõ þì. Õýðýâ òà Linux ñèñòåìýýñ èðñýí þì óó ýñâýë UNIX-èéí òóøààëóóäòàé ä°íã°æ òàíèëöàæ áàéãàà øèíý õ³í áîë bash á³ðõ³³ëýýð ýõëýõ íü àìàð áàéæ áîëîõ þì. Õàìãèéí ãîë íü á³ðõ³³ë áîëãîí °°ðèéí ãýñýí îíöãîé øèíæ ÷àíàðòàé áîëîõîîð °°ðèéíõ°° õ³ñýë çîðèëãîä òààðóóëæ á³ðõ³³ëýý ñîíãîæ äàäàõ íü ÷óõàë. Á³ðõ³³ëèéí õàìãèéí ýíãèéí ÷àäâàð áîë àéëûí íýðèéí àâòîìàò ã³éöýòãýë þì. Òóøààë þì óó àéëûí ýõíèé õýäõýí ³ñãèéã áè÷ýýä ãàðûí Tab òîâ÷èéã äàðàõàä óã ³ñãýýð ýõýëñýí àéëûí íýðèéã òàíä ã³éöýýæ áè÷èæ °ãä°ã. Ýíä íýã æèøýý àâ÷ ³çüå. Òàíä foobar áîëîí foo.bar ãýñýí õî¼ð àéë áàéãàà ãýæ áîäú¼.
113
Chapter 3 Þíèêñèéí ³íäýñ
Òà
àéëûã óñòãàõûã õ³ñýâ. Òýãâýë òà êîìïüþòåðèéíõàà ãàðàí äýýð èíãýæ áè÷èõ áîëíî: rm
foo.bar fo[Tab].[Tab].
Á³ðõ³³ë òàíä èíãýæ õàðóóëíà rm foo[BEEP].bar. [BEEP] ãýäýã íü êîíñîëîîñ ãàðãàæ áàéãàà õîíõíû äóó á°ã°°ä èíãýæ ýõýëñýí àéëûí íýð íýãýýñ îëîí áàéãààã òàíä ìýäýãäýæ áàéãàà þì. foobar áîëîí foo.bar õî¼ð õî¼óëàà fo ãýæ ýõýëæ áàéãàà ÷ ãýñýí foo ãýæ òàíä ä³³ðãýæ °ãä°ã. Õýðýâ òà . ãýæ áè÷ýýä Tab äàõèí äàðâàë á³ðõ³³ë òàíä óã õ³ññýí àéëûí òàíü íýðèéã ã³éöýýæ °ãä°ã. Á³ðõ³³ëèéí áàñ íýã øèíæ ÷àíàð áîë îð÷íû õóâüñàã÷èéí õýðýãëýý þì. Îð÷íû õóâüñàã÷ ãýäýã íü á³ðõ³³ëèéí îð÷èíä õàäãàëàãääàã, íýðýíä óòãà °ãñ°í õîñëîë áàéäàã. Ýíý á³ðõ³³ëèéí îð÷èí íü óã á³ðõ³³ëýýñ ã³éöýòãýãäýæ áàéãàà á³õ ïðîãðàì áîëîí ïðîãðàìûí òîõèðóóëãàä õàðàãäàæ áàéäàã. Áàéíãà õýðýãëýãääýã åð°íõèé îð÷íû õóâüñàã÷äûã äîð æàãñààæ òàéëáàðëàâ:
Õóâüñàã÷ USER PATH
Òîäîðõîéëîëò Õîëáîãäñîí áàéãàà òóõàéí õýðýãëýã÷èéí íýð. À÷ààëàãäàæ áîëäîã õî¼ðòûí àéëóóäûã àãóóëäàã ñàíãóóäûã òàñëàëààð òóñãààðëàæ áè÷ñýí æàãñààëò.
Õýðýâ õîëáîãäîõ áîëîìæòîé áîë, X11 äýëãýöèéí ñ³ëæýýãýýð õîëáîãäîõ öýã. SHELL Õýðýãëýæ áàéãàà shell áóþó á³ðõ³³ë. Õýðýãëýã÷èéí òåðìèíàëûí ò°ðëèéí íýð. TERM Òåðìèíàëûí øèíæ ÷àíàðûã òîäîðõîéëîõîä õýðýãëýãääýã. TERMCAP Ò°ð°ë á³ðèéí òåðìèíàëóóäàä àëãàñàõ ¼ñòîé êîäóóäûí °ã°ãäëèéí áààç. éëäëèéí ñèñòåìèéí ò°ð°ë. æèøýý íü, FreeBSD. OSTYPE MACHTYPE Ñèñòåìèéí àæèëëàæ áàéãàà ïðîöåññîðûí àðõèòåêòóð. Õýðýãëýã÷èéí ýðõýìëýæ õýðýãëýãääýã òåêñò EDITOR çàñâàðëàã÷. PAGER Õýðýãëýã÷èéí ýðõýìëýæ õýðýãëýäýã ïýéæåð. MANPATH Òàñëàëààð òóñãààðëàæ æàãñààñàí, ãàðûí àâëàãûí õóóäñóóäûã àãóóëñàí õàéõ ñàíãóóä. Á³ðõ³³ë áîëãîíä îð÷íû õóâüñàã÷àà °°ð °°ð òîõèðóóëäàã. Æèøýýëáýë, C-ìàÿãèéí á³ðõ³³ë tcsh áîëîí csh äýýð, òà setenv òóøààëûã àøèãëàæ îð÷íû õóâüñàã÷èéã çààæ °ãä°ã. Bourne ò°ðëèéí á³ðõ³³ë³³ä áîëîõ sh áîëîí bash äýýð, òà export òóøààëûã àøèãëàæ îð÷íû õóâüñàã÷èéã çààæ °ãí°. Æèøýý íü, îð÷íû õóâüñàã÷ EDITOR-ã °°ð÷ë°õ þì óó çààæ °ã°õèéí òóëä csh þì óó ýñâýë tcsh á³ðõ³³ë äýýð EDITOR õóâüñàã÷èä /usr/local/bin/emacs óòãûã °ã°õèéí òóëä:
DISPLAY
% setenv EDITOR /usr/local/bin/emacs
Bourne á³ðõ³³ë³³ä äýýð: % export EDITOR="/usr/local/bin/emacs"
114
Chapter 3 Þíèêñèéí ³íäýñ
Èõýíõ á³ðõ³³ëèéí îð÷íû õóâüñàã÷èéí óòãûã õàðàõûí òóëä õóâüñàã÷èéí íýðíèé óðä $ òýìäãèéã õýðýãëýæ õàðíà. Æèøýý íü, echo $TERM ãýñýí òóøààë íü $TERM õóâüñàã÷èä ÿìàð óòãà áàéãààã êîíñîë äýýð õàðóóëíà. Ó÷èð íü, á³ðõ³³ë $TERM äîòîð áóé óòãûã echo òóøààëä äàìæóóëæ °ãñí°°ð êîíñîë äýýð õàðóóëàãääàã. Á³ðõ³³ë ìàø îëîí òýìäýãòèéã òóñãàé çîðèóëàëòààð °ã°ãäëèéã èëýðõèéëýõäýý õýðýãëýäýã á°ã°°ä òýäãýýð òýìäýãòèéã ìåòà-òýìäýãò³³ä ãýæ íýðëýäýã. Áàéíãà õýðýãëýãääýã òýìäýãòèéí íýã íü * þì. Ýíý òýìäýãò íü àéëûí íýðýíä áàéãàà òýìäýãò³³äèéã õýä ÷ áàéñàí õàìààã³é îðîõûã èëýðõèéëäýã. Òýäãýýð ìåòà-òýìäýãò³³ä íü àéëûí íýðèéã îðëóóëàõàä áàéíãà õýðýãëýãääýã. Æèøýýëáýë, echo * ãýñýí òóøààë íü ls òóøààëòàé èæèëõýí ³³ðýã ã³éöýòãýõ á°ã°°ä, ÿàãààä ãýâýë á³ðõ³³ë íü * òýìäýãòýä òîõèðîõ á³õ àéëóóäûã àâ÷ echo òóøààë ðóó äàìæóóëæ õàðóóëäàã. Á³ðõ³³ë äýýð ìåòà-òýìäýãò³³äèéã õýðýâ òóõàéí îíöãîé òîõèîëäëîîð íü áèø õàðèí ç³ãýýð òýìäýãò õýëáýðýýð íü õýðýãëýõèéã õ³ñâýë, óã òýìäýãòèéí óðä òàøóó çóðààñûã (\) áè÷èæ °ãä°ã. echo $TERM ãýñýí òóøààë íü ÿìàð òåðìèíàë çààãäñàí áàéãààã õàðóóëíà. Õàðèí echo \$TERM òóøààë íü åðä°° $TERM ãýæ õàðóóëíà. 3.9.1
°ðèéíõ°° á³ðõ³³ëèéã ñîëèõ
Á³ðõ³³ëýý áóþó shell-ýý ñîëèõ õàìãèéí àìàðõàí àðãà áîë chsh òóøààëûã õýðýãëýõ þì. chsh òóøààë íü òàíûã EDITOR îð÷íû õóâüñàã÷èä çààãäñàí çàñâàðëàã÷ óðóó îðóóëäàã á°ã°°ä õýðýâ ýíý õóâüñàã÷èä óòãà çààãäààã³é áàéâàë øóóä vi çàñâàðëàã÷èéã àæèëëóóëäàã. Òýãýýä òà “Shell:” ì°ð°íä áóé óòãûã °°ð÷èëæ á³ðõ³³ëýý °°ð÷èëí°. Òà ì°í chsh òóøààëûã -s ñîíãîëòòîé õýðýãëýæ áîëîõ á°ã°°ä èíãýñýí ³åä íýìýëò çàñâàðëàã÷ íýýëã³éãýýð øóóä á³ðõ³³ëèéã °°ð÷èëä°ã. Æèøýý íü òà °°ðèéíõ°° á³ðõ³³ëèéã bash á³ðõ³³ëýýð ñîëèõûã õ³ñâýë äàðàà òóøààëûã °ã°õ áîëíî: % chsh -s /usr/local/bin/bash
Note: Òàíû õýðýãëýõèéã õ³ñýæ áàéãàà á³ðõ³³ë òàíü /etc/shells
àéë äîòîð çààâàë áàéõ ¼ñòîé. Õýðýâ òà ïîðòûí öóãëóóëãààñ á³ðõ³³ë ñóóëãàñàí áîë ýíý íü àâòîìàòààð õèéãä÷èõäýã. Õàðèí òà ãàð àðãààð ÿìàð íýã á³ðõ³³ë ñóóëãàâàë ýíý àéëä °°ð°° íýìýõ õýðýãòýé. Æèøýý íü òà bash á³ðõ³³ëèéã ãàð àðãààð ñóóëãààä /usr/local/bin áàéðøèëä áàéðëóóëñàí áîë äàðààõ òóøààëûã °ã°õ õýðýãòýé:
# echo "/usr/local/bin/bash" >> /etc/shells
Òýãýýä äàðàà íü chsh òóøààëûã õýðýãëýõ õýðýãòýé.
3.10
Òåêñò çàñâàðëàã÷èä
FreeBSD äýýð òåêñò àéëóóäûã çàñâàðëàæ ìàø îëîí òîõèðãîîíóóäûã õèéäýã. Òèéì áîëîõîîð òà òåêñò çàñâàðëàã÷ äýýð ãàðøèæ ñóðàõ íü ÷óõàë. FreeBSD íü ³íäñýí õýäýí çàñâàðëàã÷òàé õàìò èðäýã á°ã°°ä ïîðòûí öóãëóóëãà äýýðýý áîë îëîí çóóí çàñâàðëàã÷òàé.
115
Chapter 3 Þíèêñèéí ³íäýñ
Õàìãèéí àìàðõàí á°ã°°ä ñóðàõàä õÿëáàð çàñâàðëàã÷ áîë ee á°ã°°ä easy editor áóþó õÿëáàð çàñâàðëàã÷ ãýäãèéã òîâ÷èëñîí íýð þì. ee-ã ýõë³³ëýõèéí òóëä òóøààë áè÷èõ ì°ð°íä ee àéëûí-íýð ãýæ áè÷èõ á°ã°°ä àéëûí-íýð íü çàñâàðëàãäàõ àéëûí íýð. Æèøýý íü, /etc/rc.conf àéëûã çàñâàðëàõûí òóëä ee /etc/rc.conf ãýæ áè÷íý. ee çàñâàðëàã÷ äîòðîî äýýä õýñýãò íü ïðîãðàìûã õýðýãëýõ çààâàð íü áè÷ýýñòýé áàéäàã. ^ ãýñýí òýìäýã íü ãàðûí Ctrl òîâ÷èéã èëýðõèéëäýã á°ã°°ä ^e ãýäýã íü Ctrl+e ãýñýí ãàðûí òîâ÷ëîë þì. ee ïðîãðàìààñ ãàðàõûí òóëä Esc òîâ÷ äàðààä leave editor áóþó çàñâàðëàã÷ààñ ãàðíà ãýäãèéã ñîíãîõ õýðýãòýé. Õýðýâ àéëä °°ð÷ë°ëò îðñîí áîë ãàðàõààñ °ìí° õàäãàëàõ ýñýõèéã ëàâëàæ àñóóõ áîëíî. Ì°í FreeBSD íü vi ãýñýí õ³÷èðõýã çàñâàðëàã÷èéã ñèñòåìèéí ³íäñýí õýñýãòýé öóã ç°°â°ðë°ä°ã á°ã°°ä áàñ Emacs áîëîí vim çýðýã çañâàðëàã÷äûã FreeBSD Ïîðòûí öóãëóóëãàäàà áàãòààñàí áàéäàã (editors/emacs áîëîí editors/vim). Ýäãýýð çàñâàðëàã÷èä íü àæèëëàõ õ³÷èí ÷àäâàðààðàà èë³³ áîëîâ÷ ñóðàõàä àðàé èë³³ ò°â°ãòýé áàéäàã. ýâ÷ òà òåêñò àéëûã çàñâàðëàõàä ìàø èõ õ°ä°ëì°ð ãàðãàõààð áîë vim ýñâýë Emacs ïðîãðàìóóäûã ñóðñíààð òàíû öàã áîëîí õ°ä°ëì°ðèéã öààøèä óëàì èë³³ õ°íã°â÷ë°õ áîëíî. Ôàéëóóä çàñâàðëàäàã ýñâýë áè÷èõèéã øààðääàã îëîí ïðîãðàì òåêñò çàñâàðëàã÷èéã àâòîìàòààð íýýäýã. Àøèãëàãäàõ àíõäàã÷ çàñâàðëàã÷èéã °°ð÷ë°õèéí òóëä EDITOR îð÷íû õóâüñàã÷èéã òîõèðóóëàõ õýðýãòýé. Äýëãýðýíã³éã Á³ðõ³³ë³³ä õýñãýýñ ³çíý ³³. 3.11
Ò°õ°°ð°ìæ áà ò°õ°°ð°ìæèéí öýã³³ä
Ò°õ°°ð°ìæ ãýäýã îéëãîëò íü ãîëäóó ñèñòåìä áóé ò°õ°°ð°ìæ áîëîõ äèñê, õýâëýã÷, ãðàèê êàðò, ì°í ãàð çýðýã îðäîã. FreeBSD ýõýëæ à÷ààëàõ ³åäýý, ãîë ÷óõàë òàíüñàí ò°õ°°ð°ìæ³³äýý õàðóóëäàã. Èíãýæ ýõëýõäýý õàðóóëñàí áè÷ëýãèéã òà äàõèí õàðàõûã õ³ñâýë /var/run/dmesg.boot àéëûã õàðààðàé. Æèøýý íü, acd0 ãýäýã íü ýõíèé IDE CDROM ò°õ°°ð°ìæ áàéõàä, kbd0 ãýäýã íü ãàðûã èëýðõèéëæ áàéäàã. UNIX ³éëäëèéí ñèñòåì íü ýäãýýð ò°õ°°ð°ìæ óðóó õàíäàõäàà ò°õ°°ð°ìæèéí öýã ãýæ íýðëýãäýõ òóñãàé àéë óðóó õàíääàã. Ýäãýýð ò°õ°°ð°ìæèéí öýã³³ä íü /dev ñàíä áàéäàã. 3.11.1
Ò°õ°°ð°ìæèéí öýã ³³ñãýõ
Õýðýâ ñèñòåìä øèíý ò°õ°°ð°ìæ íýìýãäâýë, ýñâýë íýìýëò ò°õ°°ð°ìæèä çîðèóëñàí øààðäëàãà ãàðâàë øèíý ò°õ°°ð°ìæèéí öýã ³³ñãýõ ¼ñòîé. 3.11.1.1 DEVFS (DEVice File System áóþó ò°õ°°ð°ìæèéí àéë ñèñòåì)
Ò°õ°°ð°ìæèéí àéë ñèñòåì áóþó DEVFS íü åð°íõèé àéëûí ñèñòåìèéí íýðèéí òàëáàðûí ö°ì äàõü ò°õ°°ð°ìæèéí íýðèéí òàëáàðò õàíäàõ áîëîìæèéã °ãä°ã. Ò°õ°°ð°ìæèéí öýãèéã ³³ñãýõ ýñâýë °°ð÷ë°õ çýðýã ³éëäëèéã DEVFS íü áèäýíä õèéæ °ã÷ àìàð áîëãîæ °ãä°ã. devfs(5) ãàðûí àâëàãààñ íýìýëò ìýäýýëëèéã õàðíà óó.
3.12
Õî¼ðòûí õýëáýð³³ä
FreeBSD ÿàãààä elf(5) õýëáýð õýðýãëýäãèéã îéëãîõûí òóëä, òà à÷ààëàãäàæ àæèëëàäàã àéëûí ò°ðë°°ñ UNIX äýýð “íî¼ëäîã” ãóðâàí õýëáýðèéã ìýäýõ ¼ñòîé:
116
Chapter 3 Þíèêñèéí ³íäýñ •
a.out(5) UNIX-í õàìãèéí õóó÷èí á°ã°°ä “ñîíãîäîã” à÷ààëàãääàã àéëûí õýëáýð. Ýíý íü ýõýí õýñýãòýý °°ðèéíõ°° õýëáýðèéã òàíèóëàõ çîðèóëàëòòàé øèäýò äóãààð àãóóëæ áàéäàã (a.out(5) õóóäàñíààñ äýëãýðýíã³é ìýäýýëýë àâíà óó). À÷ààëàãäñàí ³åäýý ñàíàõ îéä ãóðâàí õýñýãò õóâààãääàã: .text, .data, ì°í .bss á°ã°°ä äýýðýýñ íü õýðýãëýãäýõ îáüåêòóóäûã àãóóëñàí õ³ñíýãò ì°í ì°ðèéí õ³ñíýãòèéã àãóóëæ áàéäàã.
•
COFF SVR3 îáüåêò õýëáýð. Òîëãîé õýñýãòýý òîäîðõîé çîðèóëàëòòàé õ³ñíýãò àãóóëæ áàéäàã. Òèéì áîëîõîîð ç°âõ°í .text, .data, áîëîí .bss õýñã³³äýýñ ãàäíà íýìýëò ç³éëñ àãóóëæ ÷àäíà.
•
elf(5) COFF-í äàðààãèéí ³å. Ýíý íü îëîí õýñýã àãóóëàõààñ ãàäíà 32-áèò ýñâýë 64-áèòèéí óòãà àãóóëàõ ÷àäâàðòàé. Íýã ìóó òàë áèé: ELF íü òóõàéí ñèñòåìèéí àðõèòåêòóðò ç°âõ°í ãàíöõàí ABI áàéãàà ãýæ àâ÷ ³çäýã. SYSV åðò°íö (õàìãèéí áàãàäàà ãóðâàí ABI àãóóëæ áàéäàã: SVR4, Solaris, SCO) áàéñààð áàéõàä èíãýæ àâ÷ ³çýõ íü áóðóó þì.
FreeBSD íü ýíý õ³íäðýëèéã, ABI-í ìýäýýëýë àãóóëñàí à÷ààëàãääàã ELF àéëóóäûã çîõèöóóëäàã branding õýðýãñëèéã àøèãëàæ ñàéæðóóëàõûã áîääîã. Íýìýëò ìýäýýëëèéã brandelf(1) õóóäàñíààñ õàðíà óó.
FreeBSD íü õóó÷íû “ñîíãîäîã” îòãîîñ ñàëáàðëàæ ãàðñàí òóë a.out(5) õýëáýðèéã õýðýãëýæ áàéñàí á°ã°°ä ýíý õýëáýðýý 3.X ñàëáàð ãàðàõ õ³ðòýë ìàø îëîí BSD õóâèëáàðòàà àøèãëàæ áàéæýý. Õýäèéãýýð FreeBSD äýýð °ìí° íü ELF õî¼ðòûí õýëáýðèéã õ°ðâ³³ëæ ì°í àæèëëóóëæ (ö°ì äýýð ÷ ãýñýí) áîëäîã áàéñàí ÷, FreeBSD íü àíõíààñàà ELF õýëáýðèéã àíõäàã÷ õýëáýðýý áîëãîõûã “òàòãàëçñàí” áèëýý. ßàãààä? Ó÷èð íü, Ëèíóêñ ñèñòåì íü õóâààëöäàã êîäûí ñàí áóþó “Shared-Libraries” -ä çîðèóëñàí ³ñýð÷ àæèëëàäàã õ³ñíýãò,
ì°í ò³³íèéã õ°ãæ³³ëýã÷èä áîëîí áàéãóóëëàãàä õ³íäðýëòýé áàéäàã øàëòãààíààð a.out õýëáýðýýñ çàéëñõèéæ ELF õýëáýð ð³³ øèëæèõ ãýæ í³ñýð õ³íä õ°ä°ëì°ð çàðñàí þì. ELF õýëáýð íü õóâààëöäàã êîäûí ñàí áóþó “Shared-Libraries” õ³íäðýëèéã äàâàõ áîëîìæ îëãîñîí õýðýãñë³³äèéã ñàíàë áîëãîñîí á°ã°°ä òýãýýä ÷ õ°ãæëèéí ÿâöàä “íýã àëõàì óðä íü” ÿâæ áàéãààã áîäîæ ì°í íýã õýëáýðýýñ í°ã°° õýëáýðò øèëæ³³ëýõ ³éë ÿâöàä ãàðàõ õ³íä çàðäàë áàéñàí ÷ øèëæ³³ëýõýýð øèéäñýí þì. FreeBSD-í êîäûí ñàíã õóâààëöàõ çàð÷èì íü Sun-í SunOS™ çàãâàðòàé èæèë á°ã°°ä õýðýãëýõýä òóí õÿëáàð. Òýãýõýýð, ÿàãààä èéì îëîí õýëáýð áàéäàã þì áý? Ýíý àñóóëòàíä õàðèóëàõûí òóëä õóó÷íû, ýíãèéí àæèëëàõ çàð÷èìòàé ò°õ°°ð°ìæ õýðýãëýæ áàéñàí á³³äãýð °íã°ðñ°í öàã óðóó áóöàöãààÿ. Ýíý ýíãèéí ò°õ°°ð°ìæ íü ýíãèéí æèæèãõýí ñèñòåì äýýð ë àæèëëàõûã õ³ñíý. a.out íü (PDP-11) ò°ðëèéí èéìýðõ³³ ýíãèéí ñèñòåì äýýð á³ãäèéã íü õàíãàæ áàéëàà. ճ쳳ñ UNIX ñèñòåìèéã èéì ýíãèéí ñèñòåìýýñ ³³ñãýñýí áîëîõîîð õóó÷íû çàãâàð áîëîõ Motorola 68k, VAXen çýðýã ñèñòåìòýé çîõèöîõûí òóëä a.out õýëáýðèéã ³ëäýýñýí þì. Òýãòýë äàðàà íü íýã ñ³ðõèé èíæåíåð õ°â³³í, çîõèîãäñîí ò°õ°°ð°ìæèéí çàðèì àæèëëàõ ñóë òàëûã í°õ°æ ïðîöåññîðûã èë³³ õóðäàí àæèëëóóëàõ õ°íã°õ°í ïðîãðàì áè÷æýý. Ýíý ïðîãðàì íü øèíý ò°ðëèéí àðõèòåêòóðò (òýð ³åäýý RISC ãýæ íýðëýãääýã áàéñàí àðõèòåêòóð) çîðèóëàí àæèëëàõààð áè÷èãäñýí áîëîõîîð a.out õýëáýð íü ýíý ò°õ°°ð°ìæèä òîõèðîìæã³é áîëîí õàíãàõóéö ñàéí áèø áîëæ èðýâ. Òèéì áîëîõîîð ýíý øèíý ò°õ°°ð°ìæòýé èë³³ ³ð ä³íòýé àæèëëàõûí òóëä èë³³ îëîí õýëáýð³³ä øèíý çàãâàðò çîðèóëæ çîõèîãäîæ áàéñàí á°ã°°ä õóó÷èí ò°ð°ëä áîë ýíãèéí a.out ò°ðëèéã ñàíàë áîëãîæ áîëîõ þì. COFF, ECOFF ì°í °°ð èë³³ õýä õýäýí õýëáýð íü àëäààíóóäàà í°õ°í äýñ äàðààëàí ³³ñãýãäñýýð ELF õ³ðòýë õ°ãææýý. Ì°í öààøëààä ïðîãðàìûí õýìæýý õýäèéãýýð èõýññýí ÷ äèñêíèé (ì°í ñàíàõ îéí) õýìæýý õàðüöàíãóé áàãà áàéñàí áîëîõîîð õóâààëöàæ áîëäîã êîäûí ñàíãèéí “Shared-Libraries” ñàíàà ³³ññýí þì. Ì°í VM 117
Chapter 3 Þíèêñèéí ³íäýñ
ñèñòåì³³ä ñàéí õ°ãæèæ ýõëýâ. Õýäèéãýýð ýäãýýð ñàéæðóóëàëò áîëãîí a.out õýëáýðèéã õýðýãëýæ áàéñàí ÷, øèíý áîëîìæóóä ³³ñýõ òîîëîíä ýíý õýëáýðèéã õýðýãëýõã³é áîëæ èðýõ íü óëàì èõýññýí áèëýý. Ì°í ò³³í÷ëýí, ñàíàõ îéã õýìíýõ ³³äíýýñ ýõëýí à÷ààëñíû äàðàà °°ð òèéøýý ³ñðýõ þì óó ýñâýë ÿâöûí äóíä êîä íýìýãäýæ áîëîõ çàãâàðóóäûã õ³ì³³ñ ñîíèðõîæ ýõëýâ. Ïðîãðàìûí õýë³³ä óëàì ñàéæèð÷ õ³ì³³ñ ïðîãðàìûí ³íäñýí õýñãèéã àâòîìàòæóóëñàí êîä õ³ñýõ áîëæýý. Ýíý á³õ áîëîìæóóäûã áèåë³³ëýõ ãýæ a.out õýëáýðèéã ìàø èõ îëîí ÿíçààð ÿðãàëñàí á°ã°°ä õýñýãòýý ë ýíý íü àæèëëàäàã áàéâ. Íýã ìýäýõýä a.out õýëáýð íü èõñýæ áóé á³õ õ³íäðýëèéã çîõèöóóëæ ÷àäàõààðã³é áè÷ëýãèéí ò°â°ãòýé áîëîí õýðýãëýõýä õýö³³ áàéäàëä õ³ðñýí áàéíà. Õýäèéãýýð ýíý õ³íäðýë³³äèéã ELF õýëáýð íü äàâäàã áîëîâ÷ øèëæèõ ÿâö íü ìàø õ³íäðýëòýé áàéäàã. Òèéì áîëîõîîð ELF õýëáýð ðóó øèëæèõ ò°â°ã íü a.out õýëáýðèéã õýðýãëýõ ò°âã°°ñ èõ áàéâàë ELF õýëáýð íü õ³ëýýãäýõýýñ °°ð àðãàã³é áîëæýý. ýâ÷ öàã õóãàöàà °íã°ðñ°°ð, FreeBSD áà ò³³íèé óëàìæèëæ ãàðñàí ñèñòåìèéí õ°ðâ³³ëýõ õýðýãñýë íü (ÿëàíãóÿà àññåìáëåð áîëîí äóóäàã÷ áóþó loader) õî¼ð çàìààð çýðýã õ°ãæñ°°ð áàéâ. FreeBSD ñàëàà íü êîäûí õóâààëöäàã ñàíã íýìæ ì°í çàðèì àëäààã íü çàëðóóëñàí áàéíà. ³íèéã àíõ áè÷ñýí GNU-í àðä ò³ìýí óã êîäîî øèíý÷èëæ äàõèí áè÷ýýä ÿíç á³ðèéí õýëáýð³³äèéã íýìæ áîëäîã áîëãîîä ì°í õ°ðâ³³ëýã÷ýýñ õàìààðàëã³é õ°ðâ³³ëýãääýã áîëãîõ çýðýã öààø íü õ°ãæ³³ëæýý. Õýäèéãýýð ìàø îëîí õ³í FreeBSD äýýð õ°ðâ³³ëýã÷ýýñ õàìààðàõã³é õ°ðâ³³ëýõèéã õ³ññýí áîëîâ÷ FreeBSD-í as áîëîí ld-ä çîðèóëñàí õóó÷èí êîäíîîñ áîëîîä àçã³éòæýý. GNU-í øèíý õýðýãñë³³ä íü (binutils) õ°ðâ³³ëýã÷ýýñ õàìààðàëã³é, ELF, êîäûí õóâààëöäàã ñàí, C++ °ðã°òã°ë çýðã³³äèéã õ°ðâ³³ëæ ÷àääàã áîëæýý. Ì°í öààøëààä ìàø îëîí áàéãóóëëàãóóä ELF õýëáýðòýé õî¼ðòûí ïðîãðàìóóäûã ãàðãàæ ýõýëñýí òóë òýäãýýðèéã õýðýãëýõèéí òóëä FreeBSD óã õýëáýðèéã äýìæèõ íü ç°â ãýæ øèéäñýí þì. ELF õýëáýð íü a.out õýëáýðèéã áîäâîë èë³³ °ðã°í õ³ðýýòýé á°ã°°ä ³íäñýí ñèñòåìèéã èë³³ °ðã°æ³³ëäýã. ELF õýðýãñë³³ä íü ìàø ñàéí çîõèîí áàéãóóëàãäñàí á°ã°°ä õ°ðâ³³ëýã÷ýýñ õàìààðäàãã³é áîëîõîîð õ³ì³³ñèéí õ³ñýëä ÿã òîõèðäîã. ELF íü a.out õýëáýðèéã áîäâîë æààõàí óäààí áàéæ áîëîõ áîëîâ÷ ³³íèéã õýìæèæ òîäîðõîéëíî ãýäýã íü õýö³³ áèëýý. Ì°í ýíý õî¼ðûã ñàíàõ îéä õóóäàñ çîõèöóóëàõ, ýõëýí àæèëëàõ çàð÷èì çýðãèéã íü õàðüöóóëñàí ìàø îëîí øèíæ ÷àíàðóóä áàéäàã. Òýäãýýð øèíæ ÷àíàðóóä íü òèéì ÷ ÷óõàë áèø á°ã°°ä ýíý íü ç°âõ°í ÿëãàà íü áèëýý. Îäîî áîë a.out õýëáýð íü GENERIC ö°ì°°ñ õàñàãäñàí á°ã°°ä a.out õýëáýðèéã àæèëëóóëäàã áàéñàí ö°ì íü õóó÷íû ö°ìä òîîöîãäîíî. 3.13
Íýìýëò ìýäýýëýë îëæ àâàõ íü
3.13.1
àðûí àâëàãà
Èõýíõ äýëãýðýíã³é ìýäýýëë³³ä íü FreeBSD äýýð ãàðûí àâëàãà õýëáýðýýð îðøèæ áàéäàã. Ñèñòåì äýýð àæèëëàæ áàéãàà áàðàã á³õ ïðîãðàìóóä íü àæèëëàõ áîëîí àâäàã øèíæ ÷àíàðàà òîäîðõîéëñîí òîâ÷ çààâàð áóþó ãàðûí àâëàãàòàé õàìò èðäýã. Òèéì ãàðûí àâëàãûã man òóøààëààð õàðíà. man òóøààëûí õýðýãëýý íü òóí õÿëáàð: % man òóøààë
òóøààë íü ñóäàëæ óíøèõûã õ³ññýí òóøààëûí íýð áàéõ ¼ñòîé. Æèøýýëáýë ls òóøààëûí òóõàé ìýäýýëýë õàðàõûã õ³ñâýë: % man ls
àðûí àâëàãà íü äîòðîî äàðààõ õýñã³³äýä äóãààðëàãäàæ õóâààãääàã:
118
Chapter 3 Þíèêñèéí ³íäýñ 1. Õýðýãëýã÷èéí òóøààë.
2. Ñèñòåìèéí äóóäëàãà áîëîí àëäààíû äóãààð.
3. C ïðîãðàìûí õýëíèé ñàíä áàéðëàõ óíêö íü.
4. Ò°õ°°ð°ìæèéí äðàéâåð.
5. Ôàéëûí õýëáýð.
6. Òîãëîîì áîëîí áóñàä ñàëáàð.
7. Ò°ð°ë á³ðèéí áóñàä ìýäýýëýë.
8. Ñèñòåìýýñ ñàíàà òàâüæ ³éëäýõ òóøààë. 9. Ö°ì õ°ãæ³³ëýã÷.
Çàðèì òîõèîëäîëä ãàðûí àâëàãûí çàðèì á³ëýã íü ñàÿíû õóâààñàí õýñýãò á³ðä èæèë áàéäàã. Æèøýýëáýë chmod òóøààëûã õýðýãëýã÷ íýã ÿíçààð õýðýãëýæ áàéõàä ñèñòåì áàñ chmod() òóøààëûã °°ð çîðèëãîîð õýðýãëýäýã. Ýíý òîõèîëäîëä òà ñèñòåìä àëü ñýäâýý ñîíãîæ áàéãààãàà îéëãóóëàõûí òóëä õàðãàëçàõ äóãààðûã íü °ã°õ ¼ñòîé: % man 1 chmod
Ýíý òîõèîëäîëä chmod òóøààëûã õýðýãëýã÷ ÿàæ äóóäàæ õýðýãëýõ òóõàé õàðóóëíà. àðûí àâëàãûí òóõàéí õýñãèéã íü õàðàõûí òóëä ãîëäóó õààëò äîòîð òóõàéí õýñãèéí äóãààðûã íü áè÷èæ õàíääàã. Òýãýõýýð chmod(1) ãýâýë õýðýãëýã÷èä õàìààòàé õýñýã íü, chmod(2) ãýâýë ñèñòåìä õàìààòàé õýñýã õàðóóëàãäàíà. Õýðýâ òà òóøààëûíõàà íýðèéã ìýäýæ áàéâàë ýíý àðãààð ìàø àìàðõàí õýðýãëýõ çààâðûã óíøèæ ÷àäàõààð áîëëîî. ýòýë òà òóøààëûíõàà íýðèéã ìýäýõã³é òîõèîëäîëä ÿàõ âý? Ýíý ³åä òà man òóøààëä òóõàéí õýðýãòýé òóøààëûí çààâàðò õàéõ ò³ëõ³³ð ³ãèéã -k ñîíãîëò àøèãëàí çààæ °ã÷ áîëäîã. : % man -k mail
Ýíý òîõèîëäîëä, çààâàðòàà “mail” ãýäýã ³ã àãóóëñàí òóøààëóóäûã æàãñààæ òàíä õàðóóëíà. Ýíý àðãà íü ³íäñýíäýý apropos òóøààëûí ³³ðýãòýé èæèë áîëíî. Çà òýãýõýýð, òàíû /usr/bin ñàíä ìàø èõ îëîí òóøààëóóä áàéãààã òà ìýääýã ì°ðòë°° ÿìàð ³éëäýë õèéäãèéã íü ñàéí ìýäýõã³é òîõèîëäîëä ÿàõ âý? Õàìãèéí àìàðõàí àðãà áîë: % cd /usr/bin % man -f *
ýñâýë % cd /usr/bin % whatis *
ýíý õî¼ð õî¼óëàà èæèëõýí ³éëäýë õèéäýã. 3.13.2 GNU Info
àéëóóä
FreeBSD íü Free Software Foundation (FSF) áóþó ×°ë°°ò Ïðîãðàìûí Ñàíãààñ á³òýýñýí ìàø îëîí ïðîãðàìóóäûã àãóóëæ áàéäàã. àðûí àâëàãà õóóäàñíààñ ãàäíà ýäãýýð ïðîãðàìóóä íü ì°í íýìýëò òåêñò
119
Chapter 3 Þíèêñèéí ³íäýñ
çàãâàðòàé info àéë àãóóëæ áàéäàã á°ã°°ä óã ò°ðëèéí ìýäýýëýë íü info òóøààëààð õàðóóëàãääàã. Õýðýâ òà emacs-ã ñóóëãàñàí áîë emacs-í info ãîðèìä áàñ õàðæ áîëíî. info(1) òóøààëûã õýðýãëýõèéí òóëä åðä°°: % info òóøààë
Òîâ÷ òàéëáàðûã íü õàðàõûí òóëä h äàðíà. Òóøààëûí ò³ðãýí çààâðûã õàðàõûí òóëä ? ãýæ äàðààðàé.
Notes 1. i386 ãýäýã íü ³³íèéã èëýðõèéëæ áàéãàà þì. Òýìäýãëýæ õýëýõýä, õýðýâ òà FreeBSD-ã Èíòåë 386 ïðîöåññîð äýýð àæèëëóóëààã³é áàéñàí ÷ ýíý íü i386 ãýæ ãàðíà. Ýíý íü ïðîöåññîðûí ò°ðëèéã áèø õàðèí ïðîöåññîðûí “àðõèòåêòóðûã ” õàðóóëæ áàéãàà þì. 2.
3.
4.
Ýõëýõ áè÷ëýã³³ä ãýäýã íü FreeBSD ýõëýõ ³åä àâòîìàòààð àæèëëàäàã ïðîãðàìóóä. Òýäãýýðèéí ³íäñýí ³³ðýã íü, àæèëëàõ ¼ñòîé ïðîãðàìóóäûã òîõèðóóëàõ, ì°í õýðýâ àð òàëä äàëä àæèëëàäàã ÿìàð íýãýí ³ð àøèãòàé ³éëäýë õèéæ áàéäàã òàíû òîõèðóóëñàí ³éë÷èëãýýí³³ä áàéâàë òýäíèéã ýõë³³ëýõ çýðýã ³éëäë³³ä þì. FreeBSD êîíñîë ì°í ãàðûí òîõèðóóëãûí òóõàé íýëýýí äýëãýðýíã³é òåõíèêèéí ìýäýýëëèéã òà syscons(4), atkbd(4), vidcontrol(1) ì°í kbdcontrol(1) çýðýã ãàðûí àâëàãóóäààñ õàðæ áîëíî. Áèä íàð ýíä çàäàëæ íàðèéâ÷ëàõã³é á°ã°°ä ñîíèðõñîí õ³ì³³ñ íü ãàðûí àâëàãóóäààñ õýðõýí àæèëëàäàã çààâàð òàéëáàðûã óíøèæ áîëíî. Áàñ òýð ÷èãýýðýý ³íýí áèø—ó÷èð íü çàðèì òàñëàãäàæ áîëäîãã³é í°õöë³³ä áàéäàã. Æèøýýëáýë, õýðýâ ñ³ëæýýíä áàéãàà êîìïüþòåðèéí íýã àéëààñ óíøèõ ³éëäýë õèéæ áàéãàà ïðîöåññ íü, õýðýâ õîëáîãäñîí êîìïüþòåð íü òîäîðõîéã³é øàëòãààíààð õîëáîãäîõã³é áîëîõ ³åä (öàõèëãààí òýæýýëýýñ ñàëãàãäàõ, ýñâýë ñ³ëæýý ýâäðýõ), óã ïðîöåññ íü “òàñðàõã³é” í°õö°ëä áàéäàã. Ìàãàäã³é õýñýã õóãàöààíû äàðàà õ³ëýýõ õóãàöàà íü äóóñíà. Èíãýæ õ³ëýýõ õóãàöàà íü äóóññàíû äàðàà ë óã ïðîöåññ çîãñîõ áîëíî.
120
Chapter 4
ïîðòóóä
Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí
Îð÷óóëñàí Øàãäàðûí Íàöàãäîðæ. 4.1
Åð°íõèé àãóóëãà
Ìàø îëîí ñèñòåìèéí õýðýãñë³³ä FreeBSD-í ³íäñýí ñèñòåìòýé íü õàìò ñóóãääàã. ýõäýý çàðèì õ³ì³³ñò àæëàà ã³éöýýõèéí òóëä ìàø îëîí ãóðàâäàã÷äûí áýëòãýñýí ïðîãðàìûã ñóóëãàõ øààðäëàãà ãàðäàã áèëýý. Òàíû ñèñòåì äýýð ãóðàâäàã÷èéí á³òýýñýí ïðîãðàìóóäûã ñóóëãàõ õî¼ð ³íäñýí ìàø ñàéí àðãûã FreeBSD õàíãàæ °ãä°ã íü: FreeBSD-í ïîðòûí öóãëóóëãà (ýõ áè÷ëýãýýñ íü ñóóëãàõàä çîðèóëàãäñàí), áà áàãöóóä (óðüä÷èëàí õ°ðâ³³ëñýí õî¼ðòûí õýëáýðèéí àéëààñ ñóóëãàõàä çîðèóëàãäñàí) þì. Ýíý õî¼ð àðãà íü õî¼óëàà òàíû ñóóëãàõûã õ³ññýí ïðîãðàìûí õàìãèéí ñ³³ëèéí õóâèëáàðûã ñ³ëæýý þì óó äîòîîä ò°õ°°ð°ìæ°°ñ ñóóëãàõàä õýðýãëýãäýíý. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: • • • • • •
óðàâäàã÷äûí á³òýýñýí ïðîãðàìûí áàãöûã õýðõýí ñóóëãàõ. Ïîðòûí öóãëóóëãà àøèãëàæ ãóðàâäàã÷äûí ïðîãðàìûã ýõ áè÷ëýãýýñ íü õýðõýí á³òýýõ. ìí° ñóóãäñàí áàãö þì óó ýñâýë ïîðòóóäûã õýðõýí óñòãàõ. Ïîðòûí öóãëóóëãûí õýðýãëýäýã àíõäàã÷ óòãóóäûã õýðõýí äàðæ áè÷èõ. Øààðäëàãàòàé ïðîãðàìûí áàãöàà õýðõýí õàéæ îëîõ. Ïðîãðàìàà õýðõýí øèíý÷èëñýí ò³âøèíä àâ÷ðàõ.
4.2
Ïðîãðàì ñóóëãàöûí åð°íõèé îéëãîëò
Õýðýâ òà óðüä íü UNIX ñèñòåìèéã õýðýãëýæ áàéñàí áîë, ãóðàâäàã÷äûí á³òýýñýí ïðîãðàìûã ñóóëãàõ ÿâö äàðààõ ìàÿãààð ÿâàãääàã áèëýý: Ïðîãðàìûã òàòàæ àâàõ. Ýíý íü ãîëäóó ýõ áè÷ëýã õýëáýðýýðýý þì óó ýñâýë õ°ðâ³³ëýãäñýí õî¼ðò àéëûí õýëáýðýýð áàéäàã. 2. Àâñàí ïðîãðàìàà çàäëàõ (èõýíõ íü compress(1), gzip(1), ýñâýë bzip2(1) íàðààð øàõàãäñàí áàéäàã). 3. Áè÷èã áàðèìò íü õààíà áàéãààã îëîîä (ãîëäóó INSTALL þì óó README àéëóóä áàéäàã áà, ýñâýë doc/ ãýñýí äýä ñàíä áóé áè÷èã áàðèìòóóä) õýðõýí ñóóëãàõ çààâðûã íü óíøèõ. 4. Õýðýâ ïðîãðàì íü ýõ áè÷ëýã õýëáýðýýðýý áàéãàà áîë, ò³³íèéã õ°ðâ³³ëýõ. Èíãýõèéí òóëä ìàãàäã³é Makefile àéëûã çàñâàðëàõ, ýñâýë configure ñêðèïòèéã àæèëëóóëàõ çýðýã àæëóóä áàéäàã. 5. Ïðîãðàìûã øàëãààä, äàðàà íü ñóóëãàõ. Õýðýâ á³õ ç³éë ñàéõàí á³òñýí ³åä ë èéì ÿâö ³éëäýãääýã. Õýðýâ òà òóñàä íü FreeBSD-ä çîðèóëæ ïîðò áîëãîîã³é ïðîãðàìûã ñóóëãàõûã õ³ñâýë, ìàãàäã³é òà óã ïðîãðàìûã àæèëëóóëàõûí òóëä òóõàéí ïðîãðàìûí ýõ êîäûã çàñâàðëàõ õýðýã ãàðíà. 1.
121
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
Õýðýâ òà õ³ñýæ áàéãàà áîë, èéìýðõ³³ “óëàìæëàëò” àðãààð ïðîãðàìûã FreeBSD äýýð ñóóëãàæ áîëíî. ýõäýý FreeBSD äýýð òàíû í°ð èõ õ°ä°ëì°ðèéã õ°íã°ë°õ õî¼ð àðãà áàéäàã íü: áàãöóóä áîëîí ïîðòóóä þì. Ýíý áàðèìòæóóëàëòûã áýëòãýæ áàéõ ³åä 19,000 ãàðàí ãóðàâäàã÷èéí áýëòãýñýí ïðîãðàìóóä èéì àðãààð áýëýí áîëñîí áàéãàà. ßìàð ÷ ïðîãðàì áàéñàí, FreeBSD äýýðõ óã ïðîãðàìûí áàãö ãýæ åðä°° íýã ë àéëûã òà òàòàæ àâàõ ¼ñòîé áàéäàã. Óã áàãö äîòîð òóõàéí ïðîãðàìûí óðüä÷èëàí õ°ðâ³³ëñýí õóâèëáàð, áè÷èã áàðèìò áîëîí òîõèðóóëãà õèéõ ñêðèïò³³ä çýðýã íü áàãòñàí áàéãàà. Òàòàæ àâàãäñàí áàãö àéëûã pkg_add(1), pkg_delete(1), pkg_info(1) çýðýã FreeBSD-í áàãö çîõèöóóëàã÷ ïðîãðàìààð °°ð÷èëæ áîëäîã. Øèíý ïðîãðàì ñóóëãàõ ÿâöûã íýã ë òóøààëààð ã³éöýòãýõèéã ýðìýëçñýí áàéäàã áèëýý. Ïðîãðàìóóäûí FreeBSD ïîðò ãýäýã íü, òóõàéí ïðîãðàìóóäûã ýõ áè÷ëýãýýñ õ°ðâ³³ëæ àâòîìàòààð ñóóëãàõ çîðèóëàëòòàé á³ëýãëýãäñýí àéëóóäûã õýëäýã. Ïðîãðàìûã ýõ áè÷ëýãýýñ íü õ°ðâ³³ëæ ñóóëãàõàä õýä õýäýí ³éëäýë (òàòàæ àâàõ, çàäëàõ, í°õ°õ, õ°ðâ³³ëýõ, ñóóëãàõ) õèéäãèéã òà ñàíàæ áàéãàà áàéõ. Ïîðòûí àãóóëæ áóé àéëóóä íü ÿã ýíý ÿâöûã òàíä çîðèóëæ àâòîìàòæóóëàõàä çîðèóëàãäñàí ìýäýýëýë àãóóëñàí áàéäàã. Òà ýíãèéí õýäýí òóøààëûã ãàðíààñ îðóóëàõàä ë, óã ïðîãðàì òàòàãäàæ àâàãäààä, çàäëàãäàí, í°õ°ãä°æ, õ°ðâ³³ëýãäýýä ñóóãäàõ áîëíî. ßã ³íýí õýðýãòýý, ïîðòëîõ àðãà íü òóõàéí ïðîãðàìûã äàðàà íü pkg_add áîëîí áóñàä áàãö çîõèöóóëàã÷ ïðîãðàìóóäàä õýðýãëýãäýæ áîëîõîîð áàãö ³³ñãýæ õýðýãëýãäýæ áàñ áîëäîã. Áàãö áîëîí ïîðòëîõ ýíý õî¼ð àðãà íü õî¼óëàà, òóõàéí ïðîãðàìûí dependencies áóþó õàìààòàí ïðîãðàìóóäûã ìýäýæ áàéäàã. Òà íýã ïðîãðàì ñóóëãàõ øààðäëàãàòàé áàéãàà á°ã°°ä óã ïðîãðàì íü áàñ íýã ïðîãðàìûí ñàí àéëûã ñóóãäñàí áàéõûã øààðääàã áàéíà õýìýýí àâ÷ ³çüå. Óã õî¼ð ïðîãðàì õî¼óëàà FreeBSD-í ïîðò áà áàãö õýëáýðýýð òàíä áàéãàà ãýæ áîäú¼. Õýðýâ òà pkg_add òóøààëûã õýðýãëýõ þì óó ýñâýë ïîðòûí àðãûã õýðýãëýæ óã ïðîãðàìûã ñóóëãàíý ãýâýë, ýíý õî¼ð àðãà íü õî¼óëàà óã ïðîãðàìûã ñóóëãàõàä øààðäàãäàõ ñàí àéë ñóóãäààã³é áàéâàë ñóóãäààã³é áàéíà ãýæ ìýäýýëýýä, òýð ñàí àéëûã ýõëýýä ñóóëãàäàã. Ýíý õî¼ð àðãûã õàðàõ þì áîë õîîðîíäîî òóí èæèëõýí ³éëäýë õèéäãèéã òà àæèãëàæ ìàãàäã³é þì. Òýãýýä ÿàãààä FreeBSD ãóàé ýíý õî¼ð àðãàòàé õî¼óëàíòàé íü çóóðàëäààä áàéãàà þì áîë ãýæ ãàéõàæ ìàäàäã³é. Áàãö áîëîí ïîðò õî¼ð íü òàíû ñóóëãàõ í°õöë°°ñ øàëòãààëàí °°ðñäèéí ãýñýí õ³÷èðõýã äàâóó òàëòàé. Áàãöûí äàâóó òàë • Ïðîãðàìûí øàõñàí áàãö àéë íü óã ïðîãðàìûí ýõ áè÷ëýãèéã àãóóëäàãã³é áîëîõîîð õýìæýýíèé õóâüä áàãà áàéäàã. • Áàãöóóä íýìýëò õ°ðâ³³ëýõ ³éëäýë øààðääàãã³é. Mozilla, KDE, ýñâýë GNOME çýðýã òîì ïðîãðàìóóäûã óäààâòàð ñèñòåì äýýð ñóóëãàõààð áîë, ýíý àðãà íü òóí èõ äàâóó òàëòàé þì. • Áàãöóóä íü FreeBSD äýýðõ ÿìàð íýãýí õ°ðâ³³ëýõ ÿâöûí òóõàé ìýäýýëýë øààðääàãã³é. Ïîðòûí äàâóó òàëóóä • Áàãöûã àëü áîëîõ îëîí ñèñòåì äýýð òîõèðîãäîí ñóóëãàõ ãýæ õè÷ýýñýí áîëîõîîð, èéì áàãö íü ìàø °ðã°í äýëãýð ñîíãîëòòîéãîîð õ°ðâ³³ëýãäýæ áýëòãýãäñýí áàéäàã. Ïîðò õýðýãëýí ïðîãðàì ñóóëãàõààð áîë, (æèøýý íü) Pentium 4 ýñâýë Athlon ïðîöåññîðäîî çîðèóëæ ïðîãðàìûí òîõèðóóëãûã °°ð÷èëæ áîëäîã. • Çàðèì ïðîãðàìóóä °°ðèéíõ°° ÷àäàõ áîëîí ÷àäàõã³é çýðýã í°õöë°°ñ°° õàìààðààä õ°ðâ³³ëýãäýõ ÿâöàä °°ð÷ë°ëò õèéãäýõ òîõèîëäëóóä áàéäàã. Æèøýý íü, Apache ïðîãðàì íü ìàø îëîí ò°ðëèéí
122
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
°°ðò°° àãóóëñàí òîõèðãîîòîé èðäýã. Èéì ïðîãðàìûã òà ïîðòîîñ á³òýýõ ³åäýý àíõäàã÷ òîõèðãîîíóóäûã íü °°ð÷èëæ °°ðò°° òîõèðóóëæ áîëíî. Çàðèìäàà, èæèë ò°ðëèéí ïðîãðàìóóä °°ðñäèéíõ°° îíöãîé òîõèðãîîíîîñ õàìààðààä õýäýí õýäýí ÿíçààð õ°ðâ³³ëýãäýæ áàãöëàãäñàí áàéäàã. Æèøýý íü, Õ11 ñåðâåð ñóóñàí ýñýõýýñ õàìààðààä Ghostscript ïðîãðàì íü ghostscript ãýñýí íýðòýé áàãöëàãäñàí áàéäàã áà áàñ ghostscript-nox11 ãýñýí íýðýýð ì°í áàãö õýëáýðòýé áàéäàã. Áàãöëàõ àðãàä èéìýðõ³³ ÿâöóó òîõèðóóëãààñ õàìààðñàí àðãà áàéäàã áîëîâ÷, õýðýâ õ°ðâ³³ëýõ ³åèéí òîõèðãîî íü èõñýõ áîëáîë ýíý àðãà íü òóí ÿâóóðã³é áîëäîã áèëýý. • Çàðèì ïðîãðàìûí ëèöåíçýíä, óã ïðîãðàìûã õ°ðâ³³ëýãäñýí õýëáýðýýð ò³ãýýõèéã õîðüñîí áàéäàã. Òèéì ïðîãðàìóóäûã ýõ áè÷ëýã õýëáýðýýð íü ò³ãýýõ ¼ñòîé áîëäîã áèëýý. • Çàðèì õ³ì³³ñ õ°ðâ³³ëýãäñýí õî¼ðòûí àéëûí ò³ãýýëòýíä äóðã³é áàéäàã. ßäàæ ýõ áè÷ëýã íü áàéâàë, òà (îíîëûí õóâüä) ýõ áè÷ëýãèéã óíøèæ áîëçîøã³é àþóëûã èëð³³ëæ áîëîõ þì. • Õýðýâ òàíä í°õ°ëò áè÷ëýã (çàñâàð) áàéãàà áîë, òà óã í°õ°ëòèéã ç°âõ°í ýõ áè÷ëýã äýýð ë õèéæ ÷àäíà. • Çàðèì õ³ì³³ñ ýõ áè÷ëýãýýð íààäàõ äóðòàé áàéäàã. Òýä íàð ýõ áè÷ëýãèéã óíøààä çàëõóó íü õ³ðýýä èðýõýýðýý óã áè÷ëýãèéã °°ð÷èëæ ýâäýõ, ýñâýë çýýëäýæ °°ð÷ë°õ ( ìýäýýæ ëèöåíçèéí äàãóó ) ãýõ ìýòýýð îðîëääîã. Ïîðòûí øèíý÷ëýëèéí òóõàé ìýäýýëýë àâ÷ áàéõûã õ³ñâýë FreeBSD ïîðòûí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports) áîëîí FreeBSD ïîðòûí àëäààíû çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports-bugs) çýðýã çàõèàíû æàãñààëòàä á³ðòã³³ëýõ õýðýãòýé. Warning: ßìàð íýãýí ïðîãðàì ñóóëãàõààñàà °ìí° http://vuxml.freebsd.org/-ñ ïðîãðàìûí íóóöëàëûí òóõàé ìýäýýëëèéã õàðàõ íü ç³éòýé.
Òà ì°í ports-mgmt/portaudit-ã ñóóëãàæ áîëîõ á°ã°°ä ýíý íü, ïðîãðàìûã ñóóëãàõûí °ìí° óã ïðîãðàìûí õóó÷ðàëò áîëîí àþóëã³é áàéäàëòàé õàìààòàé øààðäëàãàòàé øàëãàëòóóäûã õèéæ °ãä°ã. Èéìýðõ³³ øàëãàëòûã çàðèì áàãö ñóóëãàñíû äàðàà òà portaudit -F -a ãýñýí òóøààë õýðýãëýí ³éëäýæ áîëíî.
Ýíý á³ëãèéí ³ëäñýí õýñýãò FreeBSD äýýð ïîðò þì óó áàãö àøèãëàí õýðõýí ïðîãðàì ñóóëãàõ òàëààð °ã³³ëýõ áîëíî. 4.3
Ïðîãðàìàà îëîõ íü
ßìàð íýãýí ïðîãðàì ñóóëãàõààñàà °ìí° òà ÿìàð ïðîãðàì ñóóëãàõûã õ³ñýæ áàéãàà áîëîí ÿìàð íýðòýé ãýäãèéã íü ìýäñýí áàéõ õýðýãòýé. FreeBSD-í ïðîãðàìûí æàãñààëò íü öàã òóòàìä íýìýãäýæ áàéäàã. Àç áîëæ òàíû õ³ññýí ïðîãðàìûã îëîõ õýä õýäýí àðãà áèé: •
FreeBSD-í âýá õóóäàñ íü http://www.FreeBSD.org/ports/ (http://www.FreeBSD.org/ports/index.html) õàÿã
äýýð á³õ áàéãàà ïðîãðàìûí øèíý÷ëýãäñýí õóâèëáàðóóäûã íü õàéæ áîëîõ õýëáýðýýð àð÷èëæ áàéäàã. Ïîðòóóä íü ò°ð°ëæèæ õóâààãäñàí áàéäàã á°ã°°ä òà õ³ññýí ïðîãðàìàà õàéæ îëîõ (õýðýâ òà íýðèéã íü ìýäýæ áàéâàë) ýñâýë òóõàéí ò°ð°ëä áàéãàà á³õ ïðîãðàìóóäûí íýðñèéí æàãñààëòûã õàðæ áîëíî.
123
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä •
•
•
Dan Langille ãýã÷ íü FreshPorts õóóäñûã http://www.FreshPorts.org/ õàÿã äýýð àð÷ëàí ýðõýëäýã. FreshPorts íü ïîðò äýýð ãàðñàí °°ð÷ë°ëò³³äèéã õÿíàæ áàéäàã á°ã°°ä õýðýâ òàíûã õ³ñâýë òàíû ñîíãîñîí õýä õýäýí ïîðòóóäûã “àæèãëàæ” áàéãààä °°ð÷ë°ëò ãàðàíãóóò òàíä çàõèàãààð ìýäýãääýã. Õýðýâ òà ïðîãðàìûíõàà íýðèéã íü ìýäýõã³é áàéãàà áîë FreshMeat (http://www.freshmeat.net/) õóóäñàí äýýð õàéæ ³çýõ õýðýãòýé. Õýðýâ óã õóóäñàí äýýð øèíý ïðîãðàì îëäñîí áîë áóöààä FreeBSD õóóäñàíä î÷èæ óã õóóäñûã ïîðò áîëñîí ýñýõèéã ìàãàäëàõ íü ç³éòýé. Õýðýâ òà ïîðòûíõîî íýðèéã ÿã ìýääýã áîëîâ÷ ÿìàð ò°ð°ëä áàãòäàãèéã íü ìýäýõ õýðýãòýé áîë whereis(1) òóøààëûã àøèãëààðàé. Åðä°° ë whereis àéëûí_íýð ãýæ áè÷èõ á°ã°°ä àéëûí_íýð íü ñóóëãàõûã õ³ññýí ïðîãðàìûí íýð áèëýý. Õýðýâ óã ïðîãðàì íü îëäâîë, òàíä õààíà áàéãààã íü äàðààõ ìàÿãààð õàðóóëíà: # whereis lsof
lsof: /usr/ports/sysutils/lsof
•
Ýíý íü áèäýíä lsof (ñèñòåìèéí íýãýí õýðýãñýë) ïðîãðàìûã /usr/ports/sysutils/lsof ñàíä áóé ãýæ ìýäýãäýæ áàéíà. Ì°í ïîðòûí ìîäîíä òóõàéí ïîðò õààíà áàéãààã îëîõûí òóëä åðäèéí echo(1) òóøààëûã àøèãëàæ áîëíî. Æèøýý íü: # echo /usr/ports/*/*lsof*
/usr/ports/sysutils/lsof
•
Ýíý íü /usr/ports/distfiles ñàí óðóó òàòàæ àâàãäñàí òààðñàí àéëóóäûã õàðóóëàõ áîëíî ãýäãèéã àíõààðààðàé. Õ³ññýí ïîðòîî îëîõ áàñ íýã àðãà áîë ïîðòûí öóãëóóëãà äîòîð íü áàéäàã °°ðèéíõ íü õàéã÷èéã íü àøèãëàõ áèëýý. Óã õàéã÷èéã íü õýðýãëýõèéí òóëä òà /usr/ports ñàí äîòîð áàéõ øààðäëàãàòàé. Óã ñàí äîòðîîñ make search name=ïðîãðàìûí-íýð ãýæ áè÷èõ á°ã°°ä ïðîãðàìûí-íýð íü òàíû îëîõûã õ³ññýí ïðîãðàìûí íýð áàéõ ¼ñòîé. Æèøýýëáýë lsof ïðîãðàìûã îëîõûí òóëä: # cd /usr/ports # make search name=lsof
Port: Path: Info: Maint: Index: B-deps: R-deps:
lsof-4.56.4 /usr/ports/sysutils/lsof Lists information about open files (similar to fstat(1)) [email protected] sysutils
Óã õàéëòûí ³ð ä³íä òà “Path:” ãýñýí ì°ð°íä àíõààðëàà õàíäóóëàõ õýðýãòýé á°ã°°ä ýíý íü õààíà áàéãààã èëýðõèéëæ áàéäàã. Áóñàä õàðóóëæ áàéãàà ìýäýýëë³³ä íü ïðîãðàì ñóóëãàõàä õýðýãëýãääýãã³é áîëîõîîð ýíä äýëãýí ÿðèõã³é. Á³ð íàðèéâ÷èëàí õàéõûã õ³ñâýë make search key=õàéõ-ì°ð ãýõ á°ã°°ä õàéõ-ì°ð íü òóõàéí ïðîãðàìòàé õîëáîîòîé ì°ð áàéäàã. Ýíý íü ïîðòûí íýð, òàéëáàð, òîäîðõîéëîëò áîëîí õàìààðàëòàé ïðîãðàì çýðã³³äýä õàéëò õèéäýã áîëîõîîð òóõàéí ïðîãðàìûíõàà òàëààð äýëãýðýíã³é ìýäýýëýë áàéõã³é õ³íä õàéõàä òóí òîõèðîìæòîé. Äýýðõ õî¼ð òîõèîëäîëä õàéõ ì°ð òàíü æèæèã áîëîí òîì áè÷ñýíýýñ õàìààðäàãã³é. “LSOF” ãýæ õàéõ íü “lsof” ãýæ õàéñàíòàé èæèëõýí ³ð ä³íä õ³ðãýíý.
124
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
4.4
Áàãöàëñàí ñèñòåìèéã õýðýãëýõ íü
Õàìòðàí áè÷ñýí Chern Lee. FreeBSD äýýð áàãöóóäûã óäèðäàõ õýä õýäýí ò°ðëèéí õýðýãñë³³ä áàéäàã: •
•
Àæèëëàæ áàéãàà ñèñòåì äýýð áîëîìæòîé áàéãàà áîëîí ñóóëãàãäñàí áàãöóóäûã õàðàõ, óñòãàõ, ñóóëãàõûí òóëä sysinstall-èéã àæèëëóóëæ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã Section 2.10.11-ñ ³çíý ³³. Áàãöûí óäèðäëàãûí òóøààëûí ì°ðèéí õýðýãñë³³äèéã ýíý õýñãèéí ³ëäñýí õýñýãò õýëýëöýõ áîëíî.
4.4.1
Áàãö ñóóëãàõ
Òà pkg_add(1) õýðýãñëèéã àøèãëàí °°ðò°° õàäãàëàãäñàí þì óó ýñâýë ñ³ëæýýíä áóé ñåðâåðýýñ FreeBSD-í ïðîãðàìûí áàãö ñóóëãàæ áîëäîã. Example 4-1.
Áàãö òàòàæ àâààä ñóóëãàõ ÿâö
# ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org. 220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready. 331 Guest login ok, send your email address as password. 230230This machine is in Vienna, VA, USA, hosted by Verio. 230Questions? E-mail [email protected] . 230230230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful. ftp> get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz 200 PORT command successful. 150 Opening BINARY mode data connection for ’lsof-4.56.4.tgz’ (92375 bytes). 100% |**************************************************| 92375 00:00 ETA 226 Transfer complete. 92375 bytes received in 5.60 seconds (16.11 KB/s) ftp> exit # pkg_add lsof-4.56.4.tgz
Õýðýâ òàíä áàãö ñóóëãàõ äîòîîä ýõ ³³ñâýð ( FreeBSD CD-ROM ãýõ ìýò) áàéõã³é áîë pkg_add(1) õýðýãñëèéã -r ñîíãîëòòîé õàìò õýðýãëýõ íü ç³éòýé. Ýíý íü òóõàéí ïðîãðàìûã ò°ð°ë áîëîí õóâèëáàð çýðýã ìýäýýëëèéã íü àâòîìàòààð òàíüæ ìýäýýä FTP õóóäàñíààñ òàòàí àâ÷ ñóóëãàäàã. # pkg_add -r lsof
Äýýðõ æèøýýí äýýð óã õýðýãñýë íü õýðýãëýã÷èéí îðîëöîîã³éãýýð òàòàæ àâààä ñóóëãàæ áóéã õàðóóëæ áàéíà. Õýðýâ òà òàòàæ àâàõ àëñ õàÿãèéã íü àäèëõàí òîëèí òóñãàë áîëîõ °°ð íýã FreeBSD áàãöûí õàÿãààð ñîëèõûã õ³ñâýë PACKAGESITE îð÷íû õóâüñàã÷èéí óòãàä àíõíûõ íü óòãûã íü äàðæ °°ð õàÿã
125
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
°ã°õ õýðýãòýé. pkg_add(1) íü fetch(3)-ã àøèãëàæ àéë òàòàæ àâäàã á°ã°°ä ÿíç á³ðèéí îð÷íû õóâüñàã÷èéí óòãà õýðýãëýäýã. Òýä íàð íü FTP_PASSIVE_MODE, FTP_PROXY, ì°í FTP_PASSWORD ãýõ ìýò õóâüñàã÷èä áàéäàã. Õýðýâ òà ãàëò õàíàíû öààíà áàéãàà þì óó ýñâýë FTP/HTTP ïðîêñè õýðýãëýæ áàéãàà áîë óã õóâüñàã÷äûã °°ð÷ë°õ ¼ñòîé. Õóâüñàã÷äûí á³ðýí æàãñààëòûã fetch(3) õóóäàñíààñ õàðíà óó. Äýýðõ æèøýýí äýýð lsof íü lsof-4.56.4 îðîíä õýðýãëýãäýâ. Õýðýâ òà àëñààñ àâòîìàòààð òàòàæ àâàõ ³éëäýë õèéæ áàéãàà áîë áàãöíû õóâèëáàðûí äóãààðûã îðóóëàëã³é áè÷èõ õýðýãòýé. pkg_add(1) íü òóõàéí ïðîãðàìûí ñ³³ëèéí õóâèëáàðûã àâòîìàòààð òàíüæ ñóóëãàäàã. Note: Õýðýâ òà FreeBSD-CURRENT ýñâýë FreeBSD-STABLE õóâèëáàðûã õýðýãëýæ áàéãàà áîë pkg_add(1) íü ïðîãðàìûí õàìãèéí ñ³³ëèéí õóâèëáàðûã òàòàæ àâ÷ ñóóëãàäàã. Õýðýâ òà -RELEASE õóâèëáàð õýðýãëýæ áàéãàà áîë òàíû õýðýãëýæ áàéãàà òóõàéí õóâèëáàðò òîõèðñîí õóâèëáàðûã íü òàòàæ àâ÷ ñóóëãàäàã. ýõäýý èéìýðõ³³ ³éëäëèéã íü °°ð÷ë°õèéã õ³ñâýë PACKAGESITE-ã °°ð÷ë°°ðýé. Æèøýýëáýë òà FreeBSD 5.4-RELEASE ñèñòåì äýýð pkg_add(1) õýðýãñëèéã àæèëëóóëáàë àíõäàã÷ õàÿã íü ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/ áàéõ áîëíî. Õýðýâ òà pkg_add(1)-ã FreeBSD 5-STABLE áàãö ñóóëãàõààð òîõèðóóëàõûã õ³ñâýë PACKAGESITE õóâüñàã÷èéã ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/ ãýæ çààæ °ã°õ õýðýãòýé.
Áàãö àéëóóä íü .tgz áîëîí .tbz ãýñýí õýëáýðòýé áàéäàã. Òà òýäãýýðèéã ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/ õàÿãíààñ îëæ áîëîõ á°ã°°ä ýñâýë FreeBSD CD-ROM äýýð áàñ áóé. FreeBSD-í 4 øèðõýã CD òóñ á³ðèéí /packages ñàí äîòîð áàãö áàéðëàæ áàéãàà. Áàãö áàéðëóóëàëò íü /usr/ports-í çàãâàðòàé èæèë ìîäëîã áàéäàã. Ò°ð°ë áîëãîí °°ðèéí ãýñýí ñàíòàé áà áàãö áîëãîí áàñ All áóþó á³ãä ãýñýí ñàíãààñ îëääîã. Áàãöíû ñàíãèéí á³òýö íü ïîðòûí á³òýöòýé òààð÷ áàãö ïîðòûí ñèñòåìèéã á³ðýëä³³ëäýã þì. 4.4.2
Áàãö çîõèöóóëàëò
pkg_info(1) õýðýãñýë íü ñóóãäñàí áàãöòàé õîëáîîòîé ìýäýýëë³³äèéã õàðóóëäàã. # pkg_info
cvsup-16.1 docbook-1.2 ...
A general network file distribution system optimized for CV Meta-port for the different versions of the DocBook DTD
pkg_version(1) õýðýãñýë íü ñóóãäñàí á³õ áàãöíû åð°íõèé ìýäýýëëèéã õàðóóëæ áàéäàã. Ýíý íü áàãöíû õóâèëáàðûã ïîðòûí ñàíä áóé ïðîãðàìûí õóâèëáàðòàé æèøèæ õàðüöóóëäàã. # pkg_version
cvsup docbook ...
= =
Õî¼ð äàõü áàãàíàä áóé òýìäýãò íü ïîðò äîòîðõ ïðîãðàìûí õóâèëáàðòàé õàðüöóóëñàí õàðüöóóëàëò þì.
Òýìäýã =
Óòãà Ñóóãäñàí áàãöíû õóâèëáàð íü ïîðòûí õóâèëáàðòàé àäèëõàí áàéíà.
126
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
Òýìäýã < >
?
* !
4.4.3
Óòãà Ñóóãäñàí õóâèëáàð íü ïîðòûí õóâèëáàðààñ õóó÷èí áàéíà. Ñóóãäñàí õóâèëáàð íü ïîðòûí õóâèëáàðààñ øèíý áàéíà. (Äîòîîä ïîðò òàíü õóó÷èðñàí áàéæ áîëçîøã³é) Ñóóãäñàí áàãö íü ïîðòûí æàãñààëòàä îëäñîíã³é. (Ýíý òîõèîëäîæ áîëîõ þì. Æèøýýëáýë ñóóãäñàí ïîðò íü óñòãàãäàõ þì óó íýð íü °°ð÷ë°ãäñ°í áàéæ áîëçîøã³é.) Áàãö îëîí õóâèëáàðòàé áàéíà. Ñóóëãàãäñàí áàãö æàãñààëòàä áàéãàà áîëîâ÷ ÿìàð íýã øàëòãààíû óëìààñ pkg_version òóøààë íü ñóóëãàãäñàí áàãöûí õóâèëáàðûí äóãààðûã æàãñààëò äàõü õàðãàëçàõ îðóóëãàòàé õàðüöóóëæ ÷àäàõã³é áàéíà.
Áàãö óñòãàõ
ìí° ñóóãäñàí áàéãàà áàãöûã óñòãàõäàà pkg_delete(1) õýðýãñëèéã àøèãëàíà. # pkg_delete xchat-1.7.1
pkg_delete(1) íü áàãöûí á³ðýí íýð áîëîí äóãààðûã øààðääàãèéã òýìäýãëýå; xchat-1.7.1-èéí îðîíä xchat °ã°ãäñ°í áîë äýýð äóðäñàí òóøààë àæèëëàõã³é. ýõäýý ñóóëãàãäñàí áàãöûí õóâèëáàðûã îëîõûí òóëä pkg_version(1)-èéã àøèãëàõ õÿëáàð áàéäàã. Èíãýõèéí îðîíä òà á³ãäèéã îðëóóëàõ òýìäýãò àøèãëàæ áîëîõ þì: # pkg_delete xchat\*
Ýíý òîõèîëäîëä xchat-ààð ýõýëñýí íýðòýé á³õ áàãöóóäûã óñòãàõ áîëíî. 4.4.4
Áóñàä ìýä³³øòýé ç³éëñ
Á³õ áàãöòàé õîëáîîòîé ìýäýýëë³³ä /var/db/pkg ñàí äîòîð õàäãàëàãäàæ áàéäàã. Ñóóãäñàí áàãöíû æàãñààëò áîëîí õîëáîãäîõ òîäîðõîéëîëòóóä íü óã ñàíä áóé àéë äîòðîîñ óíøèãäàõ áîëîìæòîé. 4.5
Ïîðòûí öóãëóóëãûã õýðýãëýõ íü
Äàðààõ õýñýãò ñèñòåìäýý ïîðòûí öóãëóóëãûã àøèãëàí õýðõýí ïðîãðàì ñóóëãàõ áîëîí óñòãàõ òàëààð °ã³³ëýõ áîëíî. make õ°ðâ³³ëýã÷èéí áàéðøèë áîëîí îð÷íû õóâüñàã÷èéí òóõàé íýìýëò òîäîðõîé ìýäýýëëèéã ports(7) õóóäàñíààñ õàðíà óó.
127
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
4.5.1
Ïîðòûí öóãëóóëãûã ñóóëãàõ íü
Ïîðò ñóóëãàõààñàà °ìí° íü /usr/ports ñàí äîòîð Makefiles, patches áóþó í°õ°ã÷ àéë, ì°í òîäîðõîéëîëò àéëóóäûã àãóóëñàí ïîðòûí öóãëóóëãûã ñóóëãàõ õýðýãòýé. FreeBSD-ã ñóóëãàõ ³åä sysinstall ïðîãðàì òàíààñ ïîðòûí öóãëóóëãûã ñóóëãàõ ýñýõèéã òàíü àñóóäàã. Õýðýâ òà òýð ³åä ³ã³é ãýæ õàðèóëñàí áîë ýíý õýñýãò õýðõýí ñóóëãàõ òàëààð òàéëáàðëàíà: CVSup
àðãà
Ýíý àðãà íü CVSup ïðîòîêîëûã àøèãëàí ïîðòûí öóãëóóëãàà ñóóëãàæ ì°í áàéíãà øèíý÷èëæ áîëîõ õàìãèéí ò³ðãýí àðãà þì. Õýðýâ òà CVSup-í òàëààð äýëãýðýíã³é ìýäýõèéã õ³ñýæ áàéâàë CVSup-ã õýðýãëýõ íü õýñãýýñ õàðààðàé. Note: FreeBSD ñèñòåìä îðñîí CVSup ïðîòîêîëûí øèéäýë íü csup ãýæ íýðëýãääýã. Ýíý íü FreeBSD 6.2-ò àíõ óäàà îðñîí. Õóó÷èí FreeBSD õóâèëáàðûí õýðýãëýã÷èä ³³íèéã net/csup ïîðò/áàãöûí òóñëàìæòàéãààð ñóóëãàæ áîëíî.
csup-ã àíõ óäààãàà àæèëëóóëàõûíõàà °ìí° /usr/ports ñàíã õîîñîí áàéëãàõ õýðýãòýé. Õýðýâ óã ñàí äîòîð °°ð ýõ ñóðâàëæààñ ñóóëãàñàí ïîðòûí öóãëóóëãà áàéâàë, csup íü óã àéëóóäûã øèíý÷èëæ í°õä°ãã³é áèëýý. 1.
csup
òóøààëûã àæèëëóóëíà:
# csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
cvsup.FreeBSD.org ãýäãèéã °°ðòýéãýý îéðõîí îðøèõ CVSup ñåðâåðèéí íýðýýð ñîëèõ õýðýãòýé. CVSup òîëèí òóñãàëóóä (Section A.6.7) õýñãýýñ òîëèí òóñãàë õóóäàñíóóäûí á³ðýí æàãñààëòûã õàðààðàé. Note: Çàðèì íýã íü °°ðèéíõ°° áýëòãýñýí ports-supfile àéëûã õýðýãëýõèéã õ³ñýæ áîëîõ þì. Èíãýñýí ³åä òóøààë áè÷èõ ì°ð°íä CVSup ñåðâåðèéí íýðèéã áè÷èõ øààðäëàãà ãàðäàãã³é. 1. 2. 3. 4.
Èíãýõèéã õ³ññýí ³åä root ýðõýýð îðîîä /usr/share/examples/cvsup/ports-supfile àéëûã øèíý ñàí óðóó õóóëàõ õýðýãòýé. Æèøýýëáýë /root þì óó ýñâýë °°ðèéíõ°° ýõëýë ñàíä õóóëæ áîëíî. ports-supfile àéëûã çàñâàðëàíà. CHANGE_THIS.FreeBSD.org ì°ðèéã °°ðòýéã°° îéðõîí áóé CVSup ñåðâåðèéí íýðýýð ñîëüíî. CVSup Òîëèí òóñãàëóóä (Section A.6.7) õýñýãò òîëèí òóñãàëóóäûí á³ðýí æàãñààëòûã õàðæ áîëíî. Îäîî csup-ã àæèëëóóëàõûí òóëä äàðààõ àëõìûã õèéõ õýðýãòýé: # csup -L 2 /root/ports-supfile
2.
Äàðàà íü csup(1) òóøààëûã àæèëëóóëñíààð òóõàéí ³åä õ°ðâ³³ëæ áàéãàà ïîðòóóäûã ýñ îðóóëààä á³õ ïîðòûí öóãëóóëãûã òàòàæ àâàí ñ³³ëä îðñîí °°ð÷ë°ëò³³äèéã ì°í øèíý÷èëäýã.
128
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä Portsnap
àðãà
Portsnap íü ïîðòûí öóãëóóëãûã øèíý÷ëýõ áàñ íýã àðãà áèëýý. Portsnap-ã õýðýãëýõ íü õýñãýýñ Portsnap-òàé õîëáîîòîé á³õ ìýäýýëëèéã õàðíà óó. 1.
Øàõñàí õýëáýðòýé ïîðòûí öóãëóóëãûã /var/db/portsnap ñàí äîòîð òàòàæ àâàõ õýðýãòýé. Õýðýâ òà õ³ñâýë ýíý àëõìûí äàðàà èíòåðíýòýýñ ñàëãààòàé àæèëëàæ áîëäîã. # portsnap fetch
2.
Õýðýâ òà Portsnap-ã àíõ óäààãàà àæèëëóóëæ áàéãàà áîë øàõàãäñàí óã öóãëóóëãûã /usr/ports ñàí äîòîð çàäàëíà: # portsnap extract
Õýðýâ òà °ìí° íü /usr/ports ñàí äîòîð öóãëóóëãûã ñóóëãàñàí á°ã°°ä ýíý ³åä ç°âõ°í øèíý÷ëýõèéã õ³ñýæ áàéãàà áîë äàðààõ òóøààëûã °ã°õ õýðýãòýé: # portsnap update
Sysinstall
àðãà
Ýíý àðãà íü ñóóëãàöûí ò°õ°°ð°ìæ°°ñ sysinstall-ã àøèãëàí ïîðòûí öóãëóóëãûã ñóóëãàõ àðãà þì. ýõäýý òóõàéí ò°õ°°ð°ìæ äýýð áàéãàà öóãëóóëãà íü òóõàéí õóâèëáàðûã ãàðãàñàí °äðèéí õóâèëáàðòàé áàéäãèéã àíçààðàõ õýðýãòýé. Õýðýâ òàíä èíòåðíýò õîëáîëò áàéäàã áîë äýýð °ã³³ëñýí õî¼ð àðãûã óðüòàë áîëãîõ íü ç³éòýé. 1. root ýðõýýð îðîîä sysinstall ãýñýí òóøààë °ã°õ õýðýãòýé (/stand/sysinstall ãýæ FreeBSD -í 5.2-ñ õóó÷èí õóâèëáàðóóäàä áè÷èõ ¼ñòîé): # sysinstall
2. 3. 4. 5. 6. 7. 8.
Configure ãýäãèéã ñîíãîîä Enter òîâ÷ äàðíà.
Distributions öýñèéã ñîíãîîä Enter äýýð äàðíà.
ports ãýæ ñîíãîí Space òîâ÷ äýýð äàðàõ õýðýãòýé.
Äýýð áóé Exit ãýäãèéã îëæ ñîíãîí Enter äýýð äàðíà. CDROM þì óó FTP ãýõ ìýò ñóóëãàõ ò°õ°°ð°ìæ°° ñîíãîíî. Äýýð áóé Exit öýñèéã ñîíãîîä Enter äýýð äàðíà. X äýýð äàðæ sysinstall-ñ ãàðàõ áîëíî.
4.5.2
Ïîðò ñóóëãàõ íü
Ïîðòûí öóãëóóëãûí òàëààð ÿðèà õèéõèéí °ìí° ïîðòûí “skeleton áóþó àðàã ÿñ”íû òàëààð îéëãîëò àâàõ õýðýãòýé. Õàìãèéí ýíãèéí îéëãîëòîîð áîë ýíý íü FreeBSD ñèñòåìä ïðîãðàìûã öýâýðõýí õ°ðâ³³ëýýä ñóóëãàõûã çààâàðëàñàí òîâ÷ çààâàð áàéäàã. Ïîðò áîëãîíû àðàã ÿñ äàðààõ ç³éëñèéã àãóóëæ áàéäàã: íü ÿíç á³ðèéí çààâàð áè÷ëýã³³ä àãóóëæ áàéäàã á°ã°°ä ýíý íü ïðîãðàì õýðõýí õ°ðâ³³ëýãäýõ, áàñ õààíà ñóóãäàõ çýðýã ³éëäë³³äèéã òîäîðõîéëñîí áàéãàà.
• Makefile. Makefile
129
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
àéë. Ýíý àéë íü õ°ðâ³³ëæ á³òýýãäýõ ¼ñòîé àéëóóäûí òàòàæ àâàëò áîëîí òýäãýýðèéí àëäààã³é òàòàãäñàí ýñýõèéã (md5(1) áîëîí sha256(1) õýðýãñë³³äèéã àøèãëàí) øàëãàõ çýðýã ìýäýýëë³³äèéã àãóóëæ áàéäàã. • files íýðòýé ñàí. Ýíý ñàíä òàíû FreeBSD ñèñòåì äýýð ñóóãäàõ ïðîãðàìóóäûí õ°ðâ³³ëýãäýõýä õýðýãëýãääýã patches áóþó í°õ°°ñ àéëóóäûã àãóóëíà. Í°õ°°ñ àéëóóä íü æèæèãõýí õýìæýýíèé àéë á°ã°°ä òîäîðõîé çàðèì àéëä ãàðñàí °°ð÷ë°ëò³³äèéã àãóóëäàã. Í°õ°°ñ³³ä òåêñò õýëáýðýýð îðøäîã áà ãîëäóó “10 äóãààð ì°ðèéã óñòãà” ýñâýë “26 äóãààð ì°ðèéã ³³ãýýð ñîëü ...” ãýñýí çààâðóóä áàéäàã. Í°õ°°ñ³³äèéã ì°í “diffs áóþó ÿëãààíû” ò°ðëèéí àéë ãýæ ÿðüöãààäàã. Èéì ÿëãààã íü èëýðõèéëñýí àéëûã ³³ñãýõäýý diff(1) ïðîãðàìûã õýðýãëýäýã þì. Ýíý ñàíä ïîðòûã á³òýýõýä øààðäàãäàõ °°ð ò°ðëèéí àéëóóä áàñ áàéæ áîëîõ þì. • pkg-descr àéë. Ýíý àéë äîòîð òóõàéí ïðîãðàìûí òóõàé íýëýýí äýëãýðýíã³é òîäîðõîéëîëò àãóóëàãäàæ áàéäàã. • pkg-plist àéë. Ýíý àéë äîòîð ïîðò ñóóãäàõ ÿâöàä õóóëàãäàæ ñóóãäàõ àéëóóäûí æàãñààëò áàéäàã. Ýíý íü ì°í ïîðòûã óñòãàõ ³åä ïîðòûí ñèñòåìä ìýäýãäýõ àéëóóäûí æàãñààëò áèëýý. Çàðèì ïîðòóóä pkg-message ãýõ ìýòèéí °°ð àéëóóä àãóóëæ áàéäàã. Ïîðòûí ñèñòåì íü îíöãîé òîõèîëäîëä óã àéëóóäòàé õàíäàæ òóõàéí ïîðòîä õàðãàëçàõ ³éëäë³³äèéã õèéõ áîëíî. Õýðýâ òà èéì àéëóóäûí òóõàé äýëãýðýíã³é ìýäýýëýë ì°í ïîðòûí òóõàé ³íäñýí îéëãîëò àâàõûã õ³ñâýë FreeBSD ïîðò á³òýýã÷èéí ãàðûí àâëàãà (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/porters-handbook/index.html) õóóäàñíààñ õàðíà óó. Ïîðò äîòîð ïðîãðàìûí ýõ áè÷ëýãèéã õýðõýí õ°ðâ³³ëæ á³òýýõ òóõàé çààâàð áàéäàã áîëîõîîñ óã ïðîãðàìûí ýõ áè÷ëýã íü áàéäàãã³é. Òà óã ïðîãðàìûí ýõ áè÷ëýãèéã CD-ROM ýñâýë èíòåðíýòýýñ óã çîõèîã÷èéíõ íü ãàðãàñàí õýëáýðýýð òàòàæ àâ÷ áîëíî. îëäóó ýõ áè÷ëýã³³ä íü tar áîëîí gzip øàõàëòààð øàõàæ áýëäñýí áàéäàã áîëîâ÷ çàðèìäàà °°ð ò°ðëèéí õýðýãñýë àøèãëàí øàõñàí òîõèîëäîë òóëãàð÷ ìàãàäã³é. ßìàð ÷ õýëáýðýýð ïðîãðàìûí ýõ áè÷ëýãèéã àâñàí áàéã, ò³³íèéã “distfile” ãýæ íýðèéääýã. Äîîð FreeBSD ïîðò ñóóëãàõ õî¼ð àðãûã òàíèëöóóëæ áàéíà. • distinfo
Note: Ïîðò ñóóëãàõûí òóëä òà root ýðõýíä ñýëãýñýí áàéõ ¼ñòîé.
Warning: ßìàð íýãýí ïîðòûã ñóóëãàõààñàà °ìí° ïîðòûíõîî öóãëóóëãûã òà øèíý÷èëñýí áàéõ õýðýãòýé á°ã°°ä http://vuxml.freebsd.org/ õóóäñàíä òóõàéí ïîðòòîé õîëáîîòîé àþóë íóóöëàëûí òóõàé ñýäýâ õ°íä°ãäñ°í ýñýõèéã øàëãàõ õýðýãòýé.
ßìàð ÷ ïîðò ñóóëãàõààñàà °ìí° àþóëã³éí íóóöëàëûí õóâüä ñóë òàë áóé ýñýõèéã portaudit-ð àâòîìàòààð øàëãàæ áîëíî. Ýíý õýðýãñëèéã ïîðòûí öóãëóóëãà äîòîð îëîõ áîëîìæòîé (ports-mgmt/portaudit). Øèíý ïîðòûã ñóóëãàõààñàà °ìí° portaudit -F ãýæ àæèëëóóëñíààð àþóëã³éí íóóöëàëä ãàðñàí ñóë òàë í³õí³³äèéí òóõàé ìýäýýëëèéí °ã°ãäëèéí áààçààñ ìýäýýëë³³äèéã àâ÷ í°õ°ëò õèéäýã. Àþóëã³éí íóóöëàëûí ìýäýýëëèéí °ã°ãäëèéí áààçûí øèíý÷ëýõ ÿâö °ä°ð áîëãîí äàâòàãäàæ õèéãäýõ áîëíî. Íýìýëò äýëãýðýíã³é ìýäýýëëèéã portaudit(1) áîëîí periodic(8) õóóäàñíààñ õàðíà óó.
Ïîðòûí öóãëóóëãà òàíûã èíòåðíýò õîëáîëòòîé ãýæ àâ÷ ³çäýã. Õýðýâ òàíä èíòåðíýò õîëáîëò áàéõã³é áîë distfile àéëóóäûã /usr/ports/distfiles ñàíä õóóëàõ õýðýãòýé. Ýõëýõèéí °ìí° ñóóëãàõ ãýæ áóé ïîðòûí ñàíä îðîõ õýðýãòýé: # cd /usr/ports/sysutils/lsof
130
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
Òýãýýä lsof ñàíä îðñîí õîéíîî óã ñàí äîòîð òà òóõàéí ïîðòûí àðàã ÿñûã õàðàõ áîëíî. Äàðààãèéí àëõàì áîë ïîðòûã õ°ðâ³³ëýõ áóþó “á³òýýõ” áèëýý. Èíãýõèéí òóëä òóøààë áè÷èõ ì°ð°íä make ãýæ áè÷íý. Èíãýæ ã³éöýòãýñíèé äàðàà äàðààõ ìàÿãèéí ÿâöûí ìýäýýëëèéã òà õàðàõ áîëíî: # make
>> lsof_4.57D.freebsd.tar.gz doesn’t seem to exist in /usr/ports/distfiles/. >> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/. ===> Extracting for lsof-4.57 ... [extraction output snipped] ... >> Checksum OK for lsof_4.57D.freebsd.tar.gz. ===> Patching for lsof-4.57 ===> Applying FreeBSD patches for lsof-4.57 ===> Configuring for lsof-4.57 ... [configure output snipped] ... ===> Building for lsof-4.57 ... [compilation output snipped] ... #
Õ°ðâ³³ëýëò äóóñààä òà áóöààä òóøààë áè÷èõ ì°ð°íä èðýíã³³ò õèéõ ¼ñòîé äàðààãèéí àëõàì áîë ïîðòûã ñóóëãàõ áèëýý. Èíãýõèéí òóëä òàíû õèéõ ¼ñòîé ç³éë áîë make òóøààëûã °°ð íýã ³ãòýé õàìò áè÷èõ ¼ñòîé á°ã°°ä òýð ³ã íü install þì: # make install
===> Installing for lsof-4.57 ... [installation output snipped] ... ===> Generating temporary packing list ===> Compressing manual pages for lsof-4.57 ===> Registering installation for lsof-4.57 ===> SECURITY NOTE: This port has installed the following binaries which execute with increased privileges. #
Èíãýýä òóøààë áè÷èõ ì°ð áîëîìæòîé áîëîíãóóò ñóóëãàñàí ïîðòîî àæèëëóóëàõ áîëîìæòîé áîëäîã. Áèä íàðûí æèøýý àâ÷ ñóóëãàñàí lsof ïðîãðàì íü íóóöëàëûí äàâóó ýðõ øààðääàã áîëîõîîð àþóëã³éí íóóöëàëûí àíõààðóóëãà õàðóóëàãääàã. Ïîðò ñóóëãàõ ³åä õýðýâ àíõààðóóëãà õàðóóëàãäâààñ ò³³íèéã òóí àíõààðàëòàé óíøèæ îéëãîõ õýðýãòýé. Ïðîãðàìûã õ°ðâ³³ëæ á³òýýõýä õýðýãëýãäñýí ò³ð àéëóóäûã õàäãàëñàí äýä ñàíãóóäûã óñòãàõ íü ç³éòýé. Ýíý íü äèñêíèé çàéã õýìíýõýýñ ãàäíà òóõàéí ïîðòûã øèíý÷ëýõ ³åä àëäàà ãàðãóóëàõã³é ìàø ñàéí çóðøèë þì. # make clean
===>
Cleaning for lsof-4.57
#
131
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä Note: Òà make, make áîëíî.
install
ì°í make
clean
ãýñýí äàìæëàãóóäûã make
install clean
ãýæ òîâ÷èëæ áè÷èæ
Note: Çàðèì shells áóþó á³ðõ³³ëèéí îð÷íóóä íü PATH îð÷íû õóâüñàã÷ äîòîð áóé ñàíãóóä äîòîðõ à÷ààëàãäàæ áîëäîã ïðîãðàìóóäûí òóøààëûí õàéëòûã ò³ðãýâ÷ëýõ çîðèëãîîð ò³ð õàäãàëàã÷èä õàäãàëñàí áàéäàã. Òà õýðýâ èéì ò°ðëèéí á³ðõ³³ëèéí îð÷èí àøèãëàæ áàéãàà áîë ïîðò ñóóëãàñíû äàðàà rehash òóøààëûã õýðýãëýí ïîðòûí à÷ààëàãäàõ àéëûã á³ðõ³³ëèéí òàíèõ ñàí äîòîð íýìäýã. Ýíý òóøààë íü tcsh ìàÿãèéí á³ðõ³³ëä àæèëëàäàã. sh ò°ðëèéí á³ðõ³³ëä hash -r ãýæ àøèãëàäàã. Òóõàéí á³ðõ³³ëä õàìààòàé íýìýëò ìýäýýëëèéã íü õàðíà óó.
FreeBSD Mall (http://www.freebsdmall.com/) çýðýã çàðèì ãóðàâäàã÷äûí ãàðãàñàí DVD-ROM äýýð distfiles àéëóóä àãóóëàãäñàí áàéäàã. Òýäãýýðèéã ïîðòûí öóãëóóëãàíä õýðýãëýæ áîëíî. DVD-ROM-ã /cdrom ñàíä òàíèóëæ õîëáîíî. Õýðýâ òà °°ð ñàíä õîëáîñîí áîë óã ñàíãèéí íýðèéã CD_MOUNTPTS îð÷íû õóâüñàã÷èä çààæ °ã°°ðýé. Øààðäëàãàòàé distfiles àéëóóä íü äèñêíýýñ àâòîìàòààð õýðýãëýãääýã. Note: Çàðèì íýã ö°°í òîîíû ïîðòóóäûí ëèöåíçèéã íü àíõààðàõ õýðýãòýé. Èéì ò°ðëèéí ïîðòóóäûí ýõ áè÷ëýã íü CD-ROM äýýð áàéäàãã³é. Òýäãýýðèéã òàòàæ àâàõ þì óó öààø íü ò³ãýýõèéí òóëä ÿìàð íýãýí ãýðýý á°ãë°õ èëãýýõ ¼ñòîé áîëäîã. Õýðýâ òàíû ñóóëãàõ ïîðò CD-ROM äýýð áàéõã³é áàéãàà áîë èíòåðíýò ð³³ îðîí õýëñíèé äàãóó ã³éöýòãýõ õýðýãòýé.
Ïîðòûí ñèñòåì íü fetch(1) õýðýãñëèéã àøèãëàí àéëóóäûã òàòàæ àâäàã. Óã õýðýãñýë íü FTP_PASSIVE_MODE, FTP_PROXY, ì°í FTP_PASSWORD ãýõ ìýò÷èëýí ò°ð°ë á³ðèéí îð÷íû õóâüñàã÷äûã àøèãëàæ àæèëëàäàã. Õýðýâ òà ãàëò õàíà þì óó FTP/HTTP ïðîêñè õýðýãëýäýã áîë ýäãýýð õóâüñàã÷äàä òîõèðîõ óòãûã íü çààæ °ã°õ õýðýãòýé. fetch(3) õóóäàñíààñ õóâüñàã÷äûí á³ðýí æàãñààëòûã õàðíà óó. Èíòåðíýòýä áàéíãà õîëáîãääîãã³é õýðýãëýã÷äýä çîðèóëæ make fetch òóøààë áàéäàã. Óã òóøààëûã ïîðòûí äýýä ñàí (/usr/ports) äîòîð ã³éöýòãýõýä øààðäàãäàõ á³õ àéëóóäûã òàòàæ àâäàã. Óã òóøààëûã ì°í /usr/ports/net ãýõ çýðãèéí äýä ñàí äîòîð ã³éöýòãýæ áîëíî. Õýðýâ òóõàéí ïîðò °°ð ñàí þì óó ïîðòîîñ õàìààðäàã áîë fetch ã³éöýòãýë íü òýäãýýð õàìààðëûã íü í°õ°æ òàòäàãã³é ã àíõààðààðàé. Õàðèí fetch ãýäãèéã fetch-recursive ãýæ îðëóóëñíààð òóõàéí ïîðòûí õàìààðàëòàé ïîðò áîëîí ñàíãóóäûã äàâõàð òàòàæ àâäàã. Note: Òà á³õ ïîðòóóäûã õ°ðâ³³ëæ á³òýýíý ãýâýë make òóøààëûã make fetch òóøààëûã òàéëáàðëàñàí øèã äýýä ñàíä ã³éöýòãýæ áîëäîã. ýâ÷ çàðèì ïîðò áàéõã³é òîõèîëäîëä èéì ³éëäýë áîë àþóëòàé. Ì°í çàðèì ïîðòóóä õî¼ð °°ð àéëûã íýã íýðýýð ñóóëãàõ õ³íäðýë ãàðãàæ áîëçîøã³é.
Ì°ø ö°°õ°í òîõèîëäîëä õýðýãëýã÷èä MASTER_SITES (òàòàæ àâàõ àéëóóäûí áàéðøèë) õàÿãíààñ °°ð áàéðøèë àøèãëàí ýõ àéëóóäûã òàòàæ àâàõ øààðäëàãà ãàð÷ áîëîõ þì. Èéì ³åä MASTER_SITES õóâüñàã÷èéí óòãûã äàðààõ òóøààëààð °°ð÷èëä°ã: # cd /usr/ports/directory # make MASTER_SITE_OVERRIDE= \ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
Ýíý æèøýýí äýýð áèä MASTER_SITES-í óòãûã ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ ãýæ °°ð÷èëë°°.
132
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä Note: Çàðèì ïîðò íü °°ðèéíõ°° çàðèì õýñãèéã øààðäëàãàã³é ãýæ ³çýõ òîõèîëäîëä, ýñâýë àþóëã³éí íóóöëàëûí øàëòãààíààð ÷ þì óó °°ð÷ë°ëò õèéõ áîëîìæ (ýñâýë øààðääàã) °ãä°ã. www/mozilla, security/gpgme, ì°í mail/sylpheed-claws çýðã³³äèéã æèøýý áîëãîæ áîëîõ þì. Èéìýðõ³³ ìýäýãäë³³ä áàéâàë òóõàéí ³åä òàíä õàðóóëàãäàõ áîëíî.
4.5.2.1 Ïîðòûí àíõäàã÷ ñàíã äàðæ áè÷èõ
Çàðèìäàà ïîðòûã õ°ðâ³³ëýõ áîëîí ñóóëãàõ °°ð ñàíã õýðýãëýõ íü õýðýãòýé (îíö øààðäëàãàòàé) áàéäàã. WRKDIRPREFIX áîëîí PREFIX õóâüñàã÷äûí óòãûã °°ð÷èëæ àíõäàã÷ ñàíãèéí áàéðøëûã ñîëüäîã. Æèøýý íü: # make WRKDIRPREFIX=/usr/home/example/ports install
ãýñýí òóøààë íü ïîðòûã /usr/home/example/ports ñàí äîòîð õ°ðâ³³ëýýä õ°ðâ³³ëýãäýæ á³òýýãäñýí àéëóóäûã /usr/local ñàíä ñóóëãàäàã. # make PREFIX=/usr/home/example/local install
ãýñýí òóøààë íü ïîðòûã /usr/ports ñàíä õ°ðâ³³ëæ áýëäýýä /usr/home/example/local ñàíä ñóóëãàíà. Ìýäýýæ # make WRKDIRPREFIX=../ports PREFIX=../local install
ãýæ õî¼ð õóâüñàã÷èéã õîñëóóëàí õýðýãëýæ áàñ áîëíî (òàíä ç°âõ°í åð°íõèé îéëãîëò °ã°õ çîðèëãîîð óðò ì°ðèéã òîâ÷èëæ õàðóóëñàí áèëýý). Ì°í òà óã õóâüñàã÷äûã °°ðèéíõ°° îð÷íû õóâüñàã÷ áîëãîæ çàðëàæ áîëíî. Òóõàéí á³ðõ³³ëèéíõýý îð÷íû òóõàé çààâðûã ýõëýýä óíøèæ òàíèëöàõ íü ç³éòýé. 4.5.2.2 imake-ã õýðýãëýõ
Çàðèì ïîðò imake-ã õýðýãëýäýã ( X öîíõîò ñèñòåìèéí õýñýã) á°ã°°ä PREFIX õóâüñàã÷ àøèãëàëã³é /usr/X11R6 ñàíä ñóóëãàäàã. ³íòýé èæèë çàðèì Perl ïîðòóóä PREFIX õóâüñàã÷ õýðýãëýëã³é Perl-í ñàíä ñóóëãàäàã. Ýäãýýð ïîðòóóäûã PREFIX õóâüñàã÷òàé õàìòðàí àæèëëóóëæ ýíý õóâüñàã÷èéã îéëãîæ õ³íäýòãýäýã áîëãîíî ãýäýã áîë òóí õýö³³ á°ã°°ä áàðàã áîëîìæã³é àæèë þì. 4.5.2.3 Ïîðòóóäûã äàõèí òîõèðóóëàõ íü
Òóõàéí ïîðòóóäûã á³òýýæ áàéõàä ÷èíü òàíä á³òýýõ òîõèðóóëãóóäààñ ñîíãîæ áîëîõ ncurses äýýð òóëãóóðëàñàí öýñ õàðóóëàãääàã. Ïîðòûã íýãýíò á³òýýñíèé äàðàà òýäãýýð òîõèðóóëãóóäûã íýìýõ, õàñàõ, ýñâýë °°ð÷ë°õèéí òóëä ýíý öýñýíä äàõèí îðîõûã õ³ñýõ íü õýðýãëýã÷äèéí õóâüä òèéì ÷ íèéòëýã áèø þì. ³íèéã õèéõ îëîí àðãóóä áàéäàã. Íýã àðãà íü ïîðòûã àãóóëæ áàéãàà ñàí óðóó îðîîä óðüäûí àäèë òîõèðóóëãóóäûã ñîíãîñîí õýâýýð áàéãàà öýñèéã äàõèí õàðóóëàõ make config ãýæ òóøààëûã àæèëëóóëàõ ÿâäàë þì. °ð íýã àðãà íü ïîðòûí õóâüä á³õ òîõèðãîîíû ñîíãîëòóóäûã õàðóóëàõ make showconfig òóøààëûã àøèãëàõ ÿâäàë þì. Áàñ íýã °°ð àðãà íü á³õ ñîíãîãäñîí òîõèðóóëãóóäûã àðèëãààä òàíä äàõèí ýõëýõ áîëîìæ îëãîõ make rmconfig òóøààëûã àæèëëóóëàõ ÿâäàë þì. Ýäãýýð á³õ àðãóóä áîëîí áóñäûí òàëààð ports(7) ãàðûí àâëàãûí õóóäñàíä èë³³ äýëãýðýíã³é òàéëáàðëàñàí áàéãàà.
133
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
4.5.3
Ñóóãäñàí ïîðòûã óñòãàõ íü
Òà îäîî ïîðòûã õýðõýí ñóóëãàõ òàëààð ìýäñýí þì ÷èíü õýðýâ áóðóó ïîðòîî ñóóëãàñàí áîë ò³³íèéã õýðõýí óòñãàäàã òàëààð ìýäýõèéã õ³ñýæ áàéãàà áàéõ. ìí°õ æèøýýíä ñóóëãàñàí ïîðòîî áèä óñòãàöãààÿ (àíõààðàëã³é óíøñàí íýãýíä íü lsof ïðîãðàì ãýæ ñàíóóëúÿ). Ïîðòóóä áàãöòàé èæèëõýí pkg_delete(1) òóøààëààð óñòãàãäàæ áîëíî ( Áàãö ñîíãîëò õýñýãò òàéëáàðëàñàí áóé): # pkg_delete lsof-4.57
4.5.4
Ïîðò øèíý÷ëýõ
Õàìãèéí ò³ð³³íä pkg_version(1) òóøààë àøèãëàí ïîðòûí öóãëóóëãààñ øèíý õóâèëáàð àãóóëñàí ïîðòóóäûã æàãñààõ õýðýãòýé: # pkg_version -v
4.5.4.1 /usr/ports/UPDATING
Ïîðòûã øèíý÷ëýõýýñýý °ìí° ïîðòûí öóãëóóëãàà øèíý÷ëýýä /usr/ports/UPDATING àéëûã øàëãàíà. Ýíý àéë äîòîð ïîðòûã øèíý÷ëýõýä øààðäàãäàõ ³éëäë³³ä áîëîõ °°ð÷ë°ãäñ°í ò°ð°ë, òîõèðóóëãûí °°ð÷ë°ëò, ýñâýë °ìí°õ õóâèëáàðòàéãàà ç°ð÷èëä°õ õýñã³³ä ãýõ ìýòèéí ÷óõàë ìýäýýëë³³ä àãóóëàãäàæ áàéäàã. Õýðýâ UPDATING àéëä ñàÿíû òàíû óíøñàí ç³éë³³äýýñ °°ð þì àãóóëàãäàæ áàéâàë óã àéëä áóé çààâðûã äàãàõ íü ç³éòýé. 4.5.4.2 Portupgrade àøèãëàí ïîðò øèíý÷ëýõ íü
portupgrade õýðýãñýë íü ïîðòûã àìàðõàí øèíý÷ëýõýä çîðèóëàãäñàí. ³íèéã ports-mgmt/portupgrade ïîðòîîñ ñóóëãàæ áîëíî. Áóñàä ïîðòûí íýãýí àäèë ïîðò ñóóëãàäàã æóðìààð make install clean ãýñýí òóøààëààð ñóóëãàäàã: # cd /usr/ports/ports-mgmt/portupgrade # make install clean
Ñóóãäñàí ïîðòûí æàãñààëòûã pkgdb -F òóøààë àøèãëàí øàëãààä ³ð ä³íãèéí ìýäýýëýëä áàéãàà ç°ð÷ë³³äèéã íü çàëðóóëæ çàñàõ õýðýãòýé. Øèíý÷ëýë õèéõýýñýý °ìí° èíãýæ ç°ð÷ë³³äèéã àðèëãàõ íü òóí ñàéí ñàíàà áèëýý. Õýðýâ òà portupgrade -a ãýæ àæèëëóóëáàë òàíû ñèñòåìä ñóóãäñàí á³õ õóó÷èðñàí ïîðòóóäûã portupgrade øèíý÷èëæ ýõýëäýã. Õýðýâ òà ñóóãäàõ øèíý÷ëýë áîëãîíä ëàâëàæ àñóóõ ³éëäýë õèéëãýõèéã õ³ñâýë -i ñîíãîëò íýìýýðýé. # portupgrade -ai
Õýðýâ òà á³õ øèíý÷ëýãäýõ ïîðò áèø õàðèí ç°âõ°í òîäîðõîé íýãýí ïîðòûã øèíý÷ëýõ õ³ñýëòýé áîë portupgrade áàãöíû-íýð ãýæ áè÷íý. -R ñîíãîëò íýìñíýýð òóõàéí ïðîãðàìä øààðäàãäàõ ïîðòóóäûã portupgrade ýõëýýä íü øèíý÷ëýäýã. # portupgrade -R firefox
134
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
Ïîðòûí îðîíä áàãö õýðýãëýæ ñóóëãàõûã õ³ñâýë -P ñîíãîëò õýðýãëýíý. Ýíý ñîíãîëòòîé ³åä portupgrade íü PKG_PATH õóâüñàã÷èä çààæ °ãñ°í æàãñààëòàä áóé ñàí äîòðîîñ áàãöóóäûã õàéõ áà õýðýâ óã ñàíä áàéõã³é áàéãàà áîë ñ³ëæýýíýýñ òàòàæ í°õä°ã. Õýðýâ äîòîîä ñàí áîëîí ñ³ëæýýíýýñ áàãö îëäîîã³é òîõèîëäîëä portupgrade íü ïîðòîîð ñóóëãàõûã îðîëäîõ áîëíî. Ïîðò õýëáýðýýð ñóóëãàõ ³éëäëèéã çîãñîîõûí òóëä -PP ñîíãîëòûã íýìæ °ãä°ã. # portupgrade -PP gnome2
Õýðýâ õ°ðâ³³ëæ ñóóëãàëã³éãýýð ç°âõ°í distfiles àéëûã òàòàæ àâàõ (õýðýâ -P ñîíãîëòòîé áîë áàãö àéëûã ) øààðäëàãàòàé áîë -F ñîíãîëòûã àøèãëààðàé. Äýëãýðýíã³é ìýäýýëëèéã portupgrade(1) õýñýãò õàðíà óó. 4.5.4.3 Portmanager àøèãëàí ïîðòûã øèíý÷ëýõ íü
Portmanager áîë ïîðòûã ñóóëãàæ øèíý÷ëýõèéã àìàð÷èëñàí °°ð íýã õýðýãñýë áèëýý. ³íèéã ports-mgmt/portmanager ïîðòíîîñ ñóóëãàæ áîëíî:
# cd /usr/ports/ports-mgmt/portmanager # make install clean
Á³õ ñóóãäñàí ïîðòóóä äàðààõ ýíãèéí òóøààëààð øèíý÷ëýãäýæ áîëäîã: # portmanager -u
Òà ì°í -ui ñîíãîëò íýìñíýýð Portmanager-í ã³éöýòãýõ àëõàì á³ðèéã ëàâëàõ àñóóõ õýëáýðò îðóóëàí õÿíàæ áîëäîã. Portmanager-ã àøèãëàí ñèñòåìä øèíý ïîðòûã ñóóëãàæ áîëíî. make install clean ãýñýí åðäèéí òóøààëààñ ÿëãààòàé íü òóõàéí ñîíãîñîí ïîðòûã ñóóëãàõààñàà °ìí° ò³³íä õàìààðàëòàé á³õ ïîðòóóäûã øèíý÷ëýäýã. # portmanager x11/gnome2
Õýðýâ ñîíãîñîí ïîðòûí õàìààðàëòàé ïîðòîä ÿìàð íýãýí õ³íäðýë ãàðâàë Portmanager-ã òýð õ³íäðýë ãàðñàí ïîðòîîñ ýõëýí äàõèí øèíýýð õ°ðâ³³ëæ áýëä ãýæ çààæ °ã÷ áîëäîã. Èíãýñýí ³åä õ³íäðýë ãàðãàñàí ïîðòûã ýõëýæ õ°ðâ³³ëýýä äàðàà íü ïîðòîî øèíý÷ëýõ ÿâöàà öààø íü ³ðãýëæë³³ëäýã. # portmanager graphics/gimp -f
Äýëãýðýíã³é ìýäýýëëèéã portmanager(1)-ñ õàðíà óó. 4.5.4.4 Portmaster àøèãëàí ïîðòûã øèíý÷ëýõ íü
Portmaster íü “³íäñýí” ñèñòåìä áàéäàã (áóñàä ïîðòóóäààñ õàìààðäàãã³é) õýðýãñë³³äèéã àøèãëàõààð õèéãäñýí á°ã°°ä àëü ïîðòûã øèíý÷ëýõýý òîãòîîõûí òóëä /var/db/pkg/ ñàí äîòîðõèéã àøèãëàäàã. Òýðýýð ports-mgmt/portmaster ïîðò õýëáýðýýð áàéäàã: # cd /usr/ports/ports-mgmt/portmaster # make install clean
Portmaster íü ïîðòóóäûã ä°ðâ°í ò°ð°ëä á³ëýãëýäýã: •
Root áóþó ÿçãóóð ïîðòóóä (õàìààðñàí ïîðòóóä áàéõã³é, áóñäààñ õàìààðäàãã³é)
135
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä •
Trunk áóþó ãîë ïîðòóóä (õàìààðñàí ïîðòóóä áàéõã³é, áóñäóóä õàìààðäàã)
Ñàëáàð ïîðòóóä (õàìààðñàí ïîðòóóäòàé, áóñäóóä õàìààðäàã) • Íàâ÷ ïîðòóóä (õàìààðñàí ïîðòóóäòàé, áóñäààñ õàìààðäàãã³é) Òà ñóóëãàãäñàí á³õ ïîðòóóäûã æàãñààæ áîëîõ á°ã°°ä -L òîõèðóóëãà àøèãëàí øèíý÷ëýëò áàéãàà ýñýõèéã õàéæ áîëíî: •
# portmaster -L
===>>> Root ports (No dependencies, not depended on) ===>>> ispell-3.2.06_18 ===>>> screen-4.0.3 ===>>> New version available: screen-4.0.3_1 ===>>> tcpflow-0.21_1 ===>>> 7 root ports ... ===>>> Branch ports (Have dependencies, are depended on) ===>>> apache-2.2.3 ===>>> New version available: apache-2.2.8 ... ===>>> Leaf ports (Have dependencies, not depended on) ===>>> automake-1.9.6_2 ===>>> bash-3.1.17 ===>>> New version available: bash-3.2.33 ... ===>>> 32 leaf ports ===>>> 137 total installed ports ===>>> 83 have new versions available
Á³õ ñóóëãàãäñàí ïîðòóóäûã ýíý õÿëáàð òóøààë àøèãëàí øèíý÷èëæ áîëíî: # portmaster -a
Note: Àíõäàã÷ààð Portmaster íü áàéãàà ïîðòûã óñòãàõààñàà °ìí° í°°ö áàãö ³³ñãýäýã. Õýðýâ øèíý õóâèëáàð ñóóëãàëò àìæèëòòàé áîëñîí áîë Portmaster í°°ö áàãöûã óñòãàíà. -b ñîíãîëòûã àøèãëàæ Portmaster-ò í°°öèéã àâòîìàòààð óñòãàõã³é áàéõûã òóøààíà. -i ñîíãîëòûã àøèãëàñíààð ïîðò á³ðèéã øèíý÷ëýõýýñ °ìí° àñóóæ ëàâëàí Portmaster-èéã èíòåðàêòèâ ãîðèìä ýõë³³ëíý.
Õýðýâ øèíý÷ëýõ ïðîöåññèéí ÿâöàä àëäàà ãàðâàë òà á³õ ïîðòûã øèíý÷ëýõ áóþó äàõèí á³òýýõèéí òóëä -f-ã àøèãëàæ áîëíî: # portmaster -af
Øèíý ïîðò á³òýýæ ñóóëãàõààñàà °ìí° á³õ õàìààðàëòàé ïîðòóóäûã øèíý÷èëæ Portmaster-èéã ñèñòåìä øèíý ïîðò ñóóëãàõäàà òà áàñ àøèãëàæ áîëíî: # portmaster shells/bash
Äýëãýðýíã³é ìýäýýëëèéã portmaster(8)-ñ ³çíý ³³.
136
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä
4.5.5
Ïîðò áà äèñêíèé õýìæýý
Ïîðòûí öóãëóóëãà íü äèñêíèé õýìæýýã áàéíãà èäýæ áàéäàã. Ïîðòîîñ ïðîãðàìûã õ°ðâ³³ëæ ñóóëãàñíû äàðàà áýëäýæ áàéñàí work ñàíã make clean òóøààëààð öýâýðëýõýý ³ðãýëæ ñàíàõ õýðýãòýé. Òà ïîðòûí öóãëóóëãûã á³õëýýð íü äàðààõ òóøààëààð öýâýðëýæ áîëíî: # portsclean -C
Ìàø îëîí ýõ àéëóóä distfiles ñàíä ÿâöûí ³ð ä³íä õàäãàëàãäàæ áàéäàã. Òà òýäãýýðèéã ãàð àðãààð óñòãàæ áîëîõ áà äàðààõ òóøààë õýðýãëýí ÿìàð íýãýí ïîðòòîé õîëáîîã³é áîëñîí á³õ distfiles óñòãàæ áîëíî: # portsclean -D
Ýñâýë òàíû ñèñòåìä îäîî ñóóãäñàí áàéãàà ïîðòòîé õàìààã³é á³õ distfiles-óóäûã äàðààõ òóøààëààð óñòãàíà: # portsclean -DD
Note: portsclean
õýðýãñýë íü portupgrade ïðîãðàìûí íýã á³ðäýë õýñýã.
Ñóóëãàñàí ïîðòîî õýðýãëýõã³é áîëñîí ³åäýý óñòãàõàà ìàðòàæ áîëîõã³é. Èéìýðõ³³ àâòîìàòæóóëàëòûã ã³éöýòãýäýã ýâòýéõýí ïðîãðàì áîë ports-mgmt/pkg_cutleaves ïîðò áèëýý. 4.6
Ïîðò ñóóëãàñíû äàðààõ ³éëäë³³ä
Åðäèéí ïðîãðàìûã ñóóëãàñíû äàðàà òóõàéí ïðîãðàìòàé õîëáîîòîé áè÷èã áàðèìòûã óíøèõ, ÿìàð íýãýí òîõèðãîîíû àéë çàñâàðëàõ, ýñâýë óã ïðîãðàì êîìïüþòåð à÷ààëàãäàõ ³åä ýõëýõ (õýðýâ ýíý íü äàëä ÷°òã°ð áîë) ýñýõèéã íü øàëãàõ øààðäëàãà ãàð÷ áîëçîøã³é. Ñóóëãàñàí ïðîãðàì áîëãîíûã òîõèðóóëàõ çàð÷èì °°ð °°ð. ýõäýý òà øèíý ïðîãðàì ñóóëãà÷èõààä “Îäîî ÿàõ âý?” ãýñýí àñóóëòòàé òóëãàðàõ ³åä äàðààõ ç³éëñ òóñàëæ ìàãàäã³é: •
pkg_info(1) òóøààëûã àøèãëàí ÿìàð àéë õààíà ÿàæ ñóóãäñàíûã õàðíà. Æèøýý íü òà ñàÿõàí FooPackage version 1.0.0, ïðîãðàìûã ñóóëãàñàí áîë # pkg_info -L foopackage-1.0.0 | less
ãýñýí òóøààë íü óã ïðîãðàìûã ñóóëãàõ ÿâöàä õóóëñàí á³õ àéëóóäûã õàðóóëäàã. man/ ñàíä õóóëñàí àéë áàéâàë òóí àíõààðàëòàé õàðàõ õýðýãòýé. Ýíý íü ãàðûí àâëàãà àéëóóä áàéäàã. Ì°í etc/ ñàíä õóóëñàí àéëóóä íü òîõèðóóëãûí àéëóóä áàéäàã á°ã°°ä doc/ ñàíä áîë äýëãýðýíã³é áè÷èã áàðèìòóóäûã õàäãàëñàí áàéäàã. Õýðýâ òà ïðîãðàìûíõàà õóâèëáàðûí òàëààð ñàéí ìýäýõã³é áàéãàà áîë # pkg_info | grep -i foopackage
ãýñýí òóøààë íü á³õ ñóóãäñàí ïðîãðàì äîòîð foopackage ãýñýí íýðòýé ïðîãðàì áàéâàë õàðóóëäàã. foopackage-í îðîíä õ³ññýí ïðîãðàìûíõàà íýðèéã áè÷ýýðýé.
137
Chapter 4 Ïðîãðàì ñóóëãàõ: Áàãöóóä áîëîí ïîðòóóä •
•
Ïðîãðàìûí ãàðûí àâëàãà õààíà ñóóãäñàíûã ìýäñýí ³åäýý man(1)-ã àøèãëàí õàðàõ õýðýãòýé. Ì°í ò³³í÷ëýí èéì àðãààð òîõèðóóëãà áîëîí íýìýëò ìýäýýëëèéí àéëóóäûã íü òóõàé á³ðä íü õàðàõ õýðýãòýé. Õýðýâ óã ïðîãðàì °°ðèéí ãýñýí âýá õóóäàñòàé áîë ò³³íä íü çîð÷èí íýìýëò ìýäýýëýë àâàõ, áàéíãûí àñóóëò õàðèóëòûã íü ³çýõ ãýõ ìýò÷èëýí îðîëäîîðîé. Óã ïðîãðàìûí âýá õóóäàñíû õàÿã íü # pkg_info foopackage-1.0.0
•
òóøààëûí ãàðàëò äýýð WWW: ãýñýí õýñýãò áàéäàã. Ýõëýí à÷ààëàãäàõ ³åä ýõëýõ ¼ñòîé ïîðòóóä (Èíòåðíýò ñåðâåð ãýõ ìýò) ãîëäóó /usr/local/etc/rc.d ñàí äîòîð ýõë³³ëýõ àéëàà õóóëäàã. Òà óã àéëûã øààðäëàãàòàé áîë çàñâàðëàõ þì óó °°ð÷èëæ áîëíî. éë÷èëãýýã ýõë³³ëýõ õýñãýýñ äýëãýðýíã³é ìýäýýýëëèéã õàðíà óó.
4.7
Ýâäðýëòýé ïîðòûã çàñàõ íü
Õýðýâ òà ïîðòûã àæèëëóóëæ ÷àäààã³é òîõèîëäîëä õèéæ áîëîõ õýä õýäýí àëõàì áèé: 1. Problem Report database (http://www.FreeBSD.org/support.html#gnats) õóóäñàíä óã ïîðòûí çàñâàðëàõ çààâàð áèé ýñýõèéã øàëãàõ. Õýðýâ áàéâàë óã çààâðûí äàãóó çàñâàðëàõ õýðýãòýé.
2. Óã ïîðòûã àð÷èëæ ñàéæðóóëäàã õ³íýýñ òóñëàìæ àâàõ. make maintainer òóøààë àøèãëààä þì óó ýñâýë Makefile àéë äîòðîîñ òóõàéí àð÷ëàã÷èéí çàõèàíû õàÿãèéã íü îëîõ õýðýãòýé. Çàõèàíäàà ïîðòûíõîî íýð áîëîí õóâèëáàðûã îðóóëàí (Makefile àéëä áóé $FreeBSD: ì°ðèéã èëãýýõ õýðýãòýé ) õýðýâ áîëîìæòîé áîë àëäàà çààñàí ÿâöûí ìýäýýëë³³äèéã ÿâóóëàõ õýðýãòýé. Note: Çàðèì ïîðò íü õóâü õ³íýýð áèø õàðèí çàõèàíû æàãñààëòààð (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/mailing-list-faq/article.html) àð÷ëàãäàæ áàéäàã. Ýíý æàãñààëòàä á³ãä áèø ÷ ãýñýí èõýíõ õ³ì³³ñ íü ìàÿãèéí çàõèàíû õàÿãòàé áàéäàã. Èéì õ³ì³³ñ ð³³ çàõèàãàà ÿâóóëàõ õýðýãòýé.
îëäóó <[email protected] >-ð àð÷ëàãäàæ áàéãàà ãýñýí ïîðòóóä íýã òîäîðõîé õ³íýýð àð÷ëàãäààã³é áàéäàã. Çàâñàðëàëò áîëîí òóñëàìæ çýðã³³ä íü èõýíõäýý çàõèàíû æàãñààëòàä áóé õ³ì³³ñýýñ èðäýã. Òóñëàí äýìæèõ õ³ì³³ñ áèäýíä ³ðãýëæ õýðýãòýé áàéãàà!
Õýðýâ òà ÿìàð íýãýí õàðèóëò àâààã³é áîë send-pr(1)-ã àøèãëàí àëäààíû ìýäýãäýë ( FreeBSD-í àëäààã ìýäýýëýõ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/problem-reports/article.html) õýñãèéã õàðíà óó) õèéæ áîëíî. 3. °ð°° çàñààä ³ç! Ïîðò õèéã÷äèéí ãàðûí àâëàãà (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/porters-handbook/index.html) äîòîð “ïîðòûí” àæèëëàõ çàð÷èì áîëîí á³òýö çààâàð, çàñàõ äàðààëàë, òýð áàéòóãàé °°ð°° ïîðò çîõèîõ òàëààð äóðäñàí áàéãàà! 4. Îéðõîí áàéãàà FTP õóóäàñíààñ áàãöûã òàòàæ àâàõ õýðýãòýé. “íäñýí” áàãöíû öóãëóóëãà ftp.FreeBSD.org õóóäàñíû áàãöíû ñàíä (ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/) áàéäàã á°ã°°ä îðîí íóòãèéí òîëèí òóñãàë (http://mirrorlist.FreeBSD.org/)óóäûã ýõëýýä òóðø! Èíãýñýí íü ýõ áè÷ëýãèéã õ°ðâ³³ëýõýýñ ò³ðãýí áýëýí áîëñîí áàãöûã òàòàæ àâàí öàã õýìíýæ áàéäàã. pkg_add(1) ïðîãðàìûã àøèãëàí °°ðò°° õàäãàëñàí áàãöàà ñèñòåì äýýðýý ñóóëãàíà.
138
Chapter 5 X X.Org-í X11 Íàöàãäîðæ.
5.1
Öîíõîò ñèñòåì
ñåðâåðò çîðèóëæ øèíý÷èëñýí Êåí Òîì
and
Ìàðê Ôîíâèë. Îð÷óóëñàí Øàãäàðûí
Åð°íõèé àãóóëãà
FreeBSD õýðýãëýã÷äýä çîðèóëæ ãðàèê ãîðèìîîð õàíãàõûí òóëä X11-ã àøèãëàäàã. X11 áîë Õ Öîíõîò ñèñòåìèéí ÷°ë°°òýé ò³ãýýãääýã õóâèëáàð á°ã°°ä Xorg áà XFree86-ä (áîëîí ýíä äóðäàãäààã³é áóñàä ïðîãðàì õàíãàìæèéí áàãöóóäàä) õèéãäñýí áàéäàã. FreeBSD-í FreeBSD 5.2.1-RELEASE õóâèëáàðûã îðîëöóóëààä ò³³íýýñ °ìí°õ õóâèëáàðóóäàä àíõäàã÷ ñóóäàã öîíõîò ñèñòåìèéí ñåðâåð íü XFree86 ò°ñë°°ñ ãàðãàñàí XFree86 áàéäàã. Õàðèí FreeBSD 5.3-RELEASE õóâèëáàðààñ ýõëýýä àíõäàã÷ ñóóäàã X11 ñåðâåð íü X.Org ñàíãààñ ãàðãàñàí Xorg áîëæ °°ð÷ë°ãäñ°í á°ã°°ä ò³³íèé ëèöåíç íü FreeBSD-èéí ëèöåíçòýé èæèë ò°ñ°°òýé áèëýý. Ì°í FreeBSD-ä çîðèóëñàí õóäàëäàæ àâ÷ áîëîõîîð Õ ñåðâåð³³ä áàéäàã. Ýíý á³ëýãò Õ11-ã õýðõýí ñóóëãàæ òîõèðóóëàõ òàëààð Xorg-í 7.3 õóâèëáàðûí õ³ðýýíä ÿðèõ áîëíî. XFree86 (°°ð°°ð õýëáýë XFree86 íü àíõäàã÷ Õ11 ñåðâåð áàéõ ³åèéí FreeBSD-í õóó÷èí õóâèëáàðóóä) ýñâýë Xorg-í °ìí°õ õóâèëáàðóóäûã ñóóëãàæ òîõèðóóëàõ òóõàé ìýäýýëëèéã FreeBSD-í õóó÷èí ãàðûí àâëàãóóäààñ http://docs.FreeBSD.org/doc/ õýñýãò îëæ óíøèæ áîëíî. X11-í äýìæäýã äýëãýöòýé õîëáîîòîé ò°õ°°ð°ìæèéí òàëààð Xorg (http://www.x.org/) âýá õóóäàñíààñ õàðààðàé. Ýíý á³ëãèéã óíøèæ äóóññàíû äàðàà òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: • •
X Öîíõîò ñèñòåìèéí ò°ð°ë á³ðèéí á³ðäë³³ä áîëîí òýä õýðõýí õîîðîíäîî õàìòàð÷ àæèëëàäàã òóõàé.
X11-ã õýðõýí ñóóëãàæ òîõèðóóëàõ.
Ò°ð°ë á³ðèéí öîíõîò îð÷íûã õýðýãëýõ. • TrueType® ò°ðëèéí ³ñãèéí ìàÿãèéã X11 äýýð õýðõýí õýðýãëýõ. • °ðèéíõ°° ñèñòåìèéã ãðàèê ãîðèìä õýðõýí íýâòðýëò õèéëãýõ òóõàé (XDM). Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
•
óðàâäàã÷äûí á³òýýñýí ïðîãðàìûã õýðõýí ñóóëãàõ òóõàé ìýääýã áàéõ õýðýãòýé (Chapter 4).
5.2 X-
ã òàíüæ ìýäýõ
Microsoft Windows áîëîí Mac OS çýðýã ãðàèê ãîðèìûã óðüä íü õýðýãëýäýã áàéñàí çàðèì õ³ì³³ñ àíõ óäààãàà X-ã õýðýãëýõ ³åä íýãýí ò°ðëèéí öî÷ðîëä àâòàæ ìàãàäã³é þì.
Õ-í ò°ð°ë á³ðèéí á³ðäë³³ä õîîðîíäîî õýðõýí õàìòàð÷ àæèëëàäàã òàëààð á³ðýí ìýäýõ øààðäëàãàã³é ÷ ãýñýí ò³³íèé òóõàé ³íäñýí îéëãîëò àâñàí ³åä X-í õ³÷èí ÷àäëûã ç°â àøèãëàæ áîëîõ þì. 5.2.1
ßàãààä X ãýæ?
X íü UNIX-ä çîðèóëæ á³òýýñýí öîíõîò ñèñòåìèéí àíõäàã÷ íü áèø ÷ õàìãèéí èõ ò³ãñýí íü ì°í áèëýý. X-í àíõíû õ°ãæ³³ëýã÷èä íü Õ-ã áè÷èõýýñýý °ìí° °°ð öîíõîò ñèñòåì äýýð àæèëëàöãààæ áàéñàí þì. Òýð
139
Chapter 5 X Öîíõîò ñèñòåì
ñèñòåìèéã íü “W” (“Window” ãýñýí ³ã) ãýæ íýðëýäýã áàéæýý. X íü åðä°° ë îì ³ñãèéí äàðààãèéí ³ñýã áàéâ. X íü çàðèìäàà “X”, “X Window System áóþó Õ öîíõîò ñèñòåì”, “X11” ãýõ ìýò÷èëýí ÿíç á³ðýýð íýðëýãääýã. Ìàãàäã³é Õ11-ã “X Öîíõ” ãýæ íýðëýñýí õ³ì³³ñ èõ áàéãààã àíçààð÷ ìàãàäã³é þì. Äýëãýðýíã³é ìýäýýëýë X(7) äýýð áóé. 5.2.2 X
³éë÷ë³³ëýã÷/ñåðâåð çàãâàð
X íü àíõíààñàà ñ³ëæýýòýé àæèëëàíà ãýæ òîîöîæ çîõèîãäñîí á°ã°°ä “³éë÷ë³³ëýã÷-ñåðâåð” çàãâàð õýðýãëýäýã. X çàãâàðò “X ñåðâåð” íü õóëãàíà, ãàð, äýëãýöòýé àæèëëàäàã. Ýíý ³åä ñåðâåðèéí ³³ðýã áîë äýëãýöèéã óäèðäàõ, ãàð áà õóëãàíà áîëîí áóñàä îðîëò ýñâýë ãàðàëòûí ò°õ°°ð°ìæ³³äýýñ (æèøýý íü “tablet” íü îðîëòûí ò°õ°°ð°ìæ ìàÿãààð àøèãëàãäàæ âèäåî ïðîåêòîð íü ãàðàëòûí ò°õ°°ð°ìæ áàéæ áîëîõ þì) ìýäýýëëèéã õ³ëýýæ àâàí çîõèöóóëàõ ³éëäë³³äèéã õàðèóöàæ àæèëëàæ áàéäàã. X ïðîãðàì áîëãîí (XTerm ýñâýë Netscape ãýõ ìýò) óã ñåðâåðèéí “³éë÷ë³³ëýã÷” íü þì. éë÷ë³³ëýã÷ íü ñåðâåð óðóó æèøýýëáýë “ýíý áàéðëàëä öîíõ çóðíà óó” ãýõ ìýòèéí õ³ñýëò èëãýýæ áîëäîã áàéõàä ñåðâåðýýñ ³éë÷ë³³ëýã÷ ð³³ æèøýýëáýë “Õýðýãëýã÷ OK òîâ÷ äýýð äàðñàí ø³³” ãýõ ìýòèéí ìýäýãäýë áóöààæ èëãýýæ áàéäàã. ýðòýý þì óó ýñâýë æèæèãõýí àëáàí áàéãóóëëàãûí îð÷èíä X ñåðâåð áîëîí X ³éë÷ë³³ëýã÷ íü íýã êîìïüþòåð äýýð àæèëëàæ áàéäàã. ýõäýý X ñåðâåðèéã áàãàõàí ÷àäàëòàé êîìïüþòåð äýýð àæèëëóóëààä õàðèí Õ ïðîãðàìóóäûã àðàé õ³÷òýé êîìïüþòåð (³éë÷ë³³ëýã÷) äýýð àæèëëóóëáàë õàìãèéí òîõèðñîí àëáàíû õýðýãëýý áàéæ áîëîõ áèëýý. Èéì í°õö°ëä Õ ñåðâåð áîëîí ³éë÷ë³³ëýã÷èéí õîîðîíäîõ õîëáîëò ñ³ëæýýãýýð õèéãäýíý. Èéì õýðýãëýý íü Õ-ã °°ð°°ð õýðýãëýíý ãýæ áîäîæ áàéñàí çàðèì õ³ì³³ñèéã ãàéõøðóóëæ ìàãàäã³é þì. Òèéì õ³ì³³ñ “X ñåðâåðèéã” ìàø õ³÷òýé ìóíäàã ýä áàéõ ¼ñòîé áà áàãà ÷àäàëòàé íü “X ³éë÷ë³³ëýã÷èéí” ³³ðýã ã³éöýòãýæ øèðýýí äýýð áàéõ ¼ñòîé ãýæ áîäñîí áàéäàã. Õ ñåðâåð íü äýëãýö áîëîí ãàð çàëãàãäñàí êîìïüþòåð íü á°ã°°ä Õ ³éë÷ë³³ëýã÷ íü äýëãýö äýýð öîíõ ä³ðñýëäýã ïðîãðàìóóä ø³³ ãýäãèéã ñàíàõ íü òóí ÷óõàë. Ñåðâåð áîëîí ³éë÷ë³³ëýã÷ õî¼ðûã íýã ò°ðëèéí êîìïüþòåð þì óó ýñâýë íýã ò°ðëèéí ³éëäëèéí ñèñòåì äýýð àæèëëàõ ¼ñòîé ãýñýí ÿìàð ÷ àëáàäñàí çààâàð áàéäàãã³é. Õ ñåðâåðèéã Microsoft Windows ýñâýë Apple-í Mac OS äýýð àæèëëóóëæ áîëäîã á°ã°°ä èéìýðõ³³ ³éëäëèéã ã³éöýòãýæ áàéäàã ìàø îëîí ³íýã³é þì óó õóäàëäààíû ïðîãðàìóóä áàéäàã.
5.2.3
Öîíõ çîõèöóóëàã÷
X-í çàãâàðûí çàð÷èì íü UNIX-í “õýðýãñýë áîëîõîîñ áîäëîãî áèø” ãýñýí çàð÷èìòàé òóí èæèë áàéäàã. Ýíý íü þó ãýñýí ³ã âý ãýõýýð, Õ íü ³éëäë³³ä õýðõýí áèåëýãäýõ ¼ñòîé òàëààð ÿìàð ÷ áè÷ëýã õèéäýãã³é.
Õàðèí ò³³íèé îðîíä õýðýãëýã÷äýä çîðèóëñàí õýðýãñë³³äýýð õàíãàãäñàí áàéäàã á°ã°°ä òýäãýýðèéã ÿàæ õýðýãëýõ íü õýðýãëýã÷èéí ³³ðýã þì. Ýíý çàð÷ìûí äàãóó Õ íü öîíõíóóäûã õýðõýí õàðàãäàõ, õóëãàíà õýðõýí õ°äë°õ, ÿìàð òîâ÷ õýðýãëýæ öîíõíóóäûí õîîðîíä äàìæèõ (Microsoft Windows äýýðõ Alt+Tab òîâ÷ëóóðûí õîñëîë øèã), öîíõ áîëãîíû äýýðõ ãàð÷ãèéí ñàìáàð ÿàæ õàðàãäàõ, öîíõ áîëãîíä õààõ òîâ÷ áàéõ ¼ñòîé þó ³ã³é ãýõ çýðãèéí á³ðòãýë áîëîí çààâðóóäûã àãóóëæ áàéäàãã³é.
140
Chapter 5 X Öîíõîò ñèñòåì
Õàðèí ò³³íèé îðîíä èéìýðõ³³ õàðèóöëàãûã X íü “Öîíõ çîõèöóóëàã÷” ãýæ íýðëýãäýõ ïðîãðàì ðóó äàìæóóëäàã. Õ-ä çîðèóëñàí ìàø îëîí òîîíû öîíõ çîõèöóóëàã÷èä áàéäàã íü: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker çýðýã á°ã°°ä °°ð îëíûã äóðäàæ áîëíî. Ýäãýýð öîíõ çîõèöóóëàã÷ áîëãîí òóñ òóñäàà °°ðñäèéí °°ðèéí ãýñýí ò°ð°ë á³ðèéí õàðóóëàõ çàãâàðòàé áàéäàã áà çàðèì íü °°ðò°° “virtual desktops áóþó õèéñâýð êîìïüþòåðèéí äýëãýöèéã” äýìæäýã á°ã°°ä òýä íàðûí çàðèì íü òèéì õèéñâýð äýëãýöýíäýý ñýëãýõ òîâ÷ëóóðóóä àãóóëæ áàéõàä çàðèì íü “Start áóþó Ýõëýõ” òîâ÷ þì óó ò³³íòýé èæèë ò°õ°°ð°ìæ àãóóëæ áàéäàã. Ì°í çàðèì íü “themeable áóþó äýëãýöèéí äóðûí °°ð÷ë°ëò” õèéæ õàðàãäàõ çàãâàðóóäûí á³ðäëèéã àãóóëàí ñýëãýæ õýðýãëýõ çýðãýýð õýðýãëýãäýæ áàéäàã áèëýý. Ýäãýýð öîíõ çîõèöóóëàã÷èä áîëîí ì°í áóñàä çîõèöóóëàã÷äûã ïîðòûí öóãëóóëãà äîòîðõ x11-wm ò°ð°ëä îëæ áîëíî. Ì°í ò³³í÷ëýí KDE áîëîí GNOME äýëãýöèéí îð÷íóóä íü °°ðñäèéí ãýñýí öîíõ çîõèöóóëàã÷òàé áàéäàã áà òýð íü äýëãýöèéí îð÷èíäîî àãóóëàãä÷èõñàí àæèëëàæ áàéäàã. Öîíõ çîõèöóóëàã÷ á³ð °°ð °°ðñäèéí òîõèðóóëàõ àðãàòàé áàéäàã. Çàðèì íü òîõèðóóëãûí àéëûã ãàðààðàà áè÷èõ ¼ñòîé ãýäýã áàéõàä çàðèì íü èõýíõ òîõèðóóëãûí ³éëäë³³äèéã GUI áóþó ãðàèê îð÷íû õýðýãñëýýð õèéäýã; ìýäýæ áàéãààãààð, íýã öîíõ çîõèöóóëàã÷ (Sawfish) Lisp ïðîãðàìûí õýëëýãýýð áè÷èãäñýí òîõèðãîîíû àéëòàé áàéäàã. Ñîíãîãäîæ èäýâõæ³³ëýõ áîäëîãî: Öîíõ çîõèöóóëàã÷èéí áàñ íýã ³³ðýã áîë “ñîíãîãäîæ èäýâõæèõ áîäëîãî ” áèëýý. Öîíõ áîëãîí ÿìàð íýãýí áàéäëààð ñîíãîãäñîíîî èëýðõèéëæ èäýâõæèí ãàðíààñ îðóóëñàí ìýäýýëëèéã õ³ëýýæ àâàõ á°ã°°ä èäýâõòýé áîëñíîî í³äýíä õàðóóëàãäàõààð ä³ðñýëæ õàðóóëàõ õýðýãòýé áàéäàã. Ò³ãýýìýë áîëñîí, ñîíãîãäîæ èäýâõæèõ áîäëîãûã “èäýâõæ³³ëýõèéí-òóëä-äàðàõ” ãýæ íýðëýäýã. Ýíý çàãâàðûã Microsoft Windows õýðýãëýäýã á°ã°°ä õóëãàíà äàðàõ ³åä çààãäñàí öîíõ íü èäýâõèòýé áîëíî. X ÿìàð íýãýí ñîíãîæ èäýâõæ³³ëýõ áîäëîãûã äýìæäýãã³é. Õàðèí ò³³íèé îðîíä öîíõ çîõèöóóëàã÷ ãóàé òóõàéí ³åä ÿìàð öîíõ èäýâõæèõ âý ãýäãèéã õÿíàæ áàéäàã. Öîíõ çîõèöóóëàã÷ á³ð °°ð °°ðñäèéí ñîíãîæ èäýâõæ³³ëýõ àðãà õýðýãëýäýã. Òýä áàðàã á³ãäýýðýý äàðæ èäýâõæ³³ëýõ áîäëîãî áàðèìòàëæ áàéõàä òóí ö°°õ°í íü °°ð çàð÷èì áàðèìòàëñàí áàéäàã. Õàìãèéí ò³ãýýìýë ñîíãîæ èäýâõæ³³ëýõ áîäëîãóóä áîë: õóëãàíûã äàãàæ èäýâõæ³³ë Õóëãàíû çààã÷ áàéãàà öîíõûã ñîíãîãäñîí ãýæ àâ÷ ³çäýã. Öîíõûã õàìãèéí °ìí° íü áàéëãàõ øààðäëàãàã³é á°ã°°ä íýìæ òîâ÷ äàðàëã³é õóëãàíû áàéðëàëûã °°ð÷èëñí°°ð öîíõûã èäýâõæ³³ëæ áîëíî. óíòàìõàé-èäýâõæ³³ëýëò Ýíý áîäëîãî áîë õóëãàíà-äàãàæ-èäýâõæ³³ë áîäëîãûí °ðã°æ³³ëñýí àðãà þì.õóëãàíà-äàãàæ-èäýâõæ³³ë áîäëîãî äýýð õýðýâ õóëãàíà ýõ öîíõîí äýýð (ýñâýë àðûí äýâñãýð) î÷âîë ÿìàð ÷ öîíõ èäýâõòýé áîëäîãã³é. Õàðèí óíòàìõàé-èäýâõæ³³ëýëò äýýð õýðýâ õóëãàíà °°ðèéíõ°° öîíõíîîñ ãàðààä °°ð öîíõ óðóó îðñîí ³åä òýð öîíõ èäýâõòýé áîëäîã. èäýâõæ³³ëýõèéí-òóëä-äàðàõ Õóëãàíû òîâ÷ äàðàõàä ë òóõàéí öîíõ èäýâõæèíý. Óã öîíõ òýãýýä “äýëãýãäýõ” á°ã°°ä á³õ öîíõíû °ìí° õàðóóëàãääàã. Èíãýýä äàðàãäñàí á³õ òîâ÷íóóäûí °ã°ãäë³³ä ýíý öîíõ óðóó èëãýýãäýæ áàéäàã. Ìàø îëîí öîíõ çîõèöóóëàã÷èä °°ð áîäëîãî äýìæèõ ýñâýë æààõàí °°ð÷èëñ°í áîäëîãî õýðýãëýäýã. Òóõàéí öîíõ çîõèöóóëàã÷èéí áè÷èã áàðèìòààñ íü íýìýãäýë ìýäýýëýë àâààðàé.
141
Chapter 5 X Öîíõîò ñèñòåì
5.2.4 Widgets
áóþó áàãàæíóóä
X-í õýðýãñýë áîëîõîîñ áîäëîãî áèø çàð÷ìûã °ðã°òã°í ïðîãðàì áîëãîíûã ò°ë°°ëñ°í áàãàæ äýëãýö äýýð õàðóóëàãääàã.
“Áàãàæíóóä” ãýäýã íü äàðàãäàõ, ýñâýë ÿìàð íýãýí àðãààð °°ð÷ë°ãä°æ áàéäàã äýëãýö äýýðõ ç³éëñ á°ã°°ä òîâ÷, ÷àãòàëäàã öîíõ, á°°ð°íõèé ñîíãîäîã òîâ÷, òýìäýãò çóðàãíóóä, æàãñààëòóóä çýðýã þì. Microsoft Windows õàðèí òýäãýýðèéã “controls áóþó õÿíàã÷èä” ãýæ íýðëýñýí áàéäàã. Microsoft Windows áîëîí Apple-í Mac OS õî¼ð áàãàæíû ìàø òîãòñîí çàãâàðòàé áèëýý. Ïðîãðàì
õ°ãæ³³ëýã÷èä íü °°ðñäèéí ïðîãðàìóóäàà íèéòëýã õàðóóëàãäàõ çàãâàðààð àëü áîëîõ õèéõ çàð÷ìûã áàðèìòàëæ áàéäàã. X-èéí õóâüä áîë òîäîðõîé íýã ãðàèê çàãâàð, àëü ýñâýë áàãàæíóóäûí îëîíëîãèéã çààâàë áàðèìòëàõ íü òèéì ÷ óõààëàã áóñ ñàíàà þì. Òèéì áîëîõîîð Õ ïðîãðàìóóäûã õîîðîíäîî àäèëõàí õàðàãäàõ íèéòëýã çàãâàðòàé áàéäàã ãýæ áîäîõ õýðýãã³é. MIT-ñ ãàðãàñàí Athena ýñâýë Motif® ( Microsoft Windows äýýðõ áàãàæíóóäûí îëîíëîã ò³³í äýýð õèéãäñýí, òîâîéëãîñîí èðìýã³³ä áîëîí ãóðâàí ñààðàë ñ³³äýðòýé), OpenLook, áîëîí áóñàä ìàø îëîí, ò³ãýýìýë äýëãýðñýí áàãàæíû öóãëóóëãóóä áàéäàã. í°°ãèéí èõýíõ øèíý Õ ïðîãðàìóóä íü KDE-í õýðýãëýäýã Qt, àëü ýñâýë GNOME-í õýðýãëýäýã GTK+ çýðýã îð÷èí ³åèéí áàãàæíóóäûí îëîíëîã õýðýãëýäýã. Ýíý íü UNIX-í õàðàãäàõ äýëãýöèéí ìàÿãèéí õóâüä çàðèì íýã äàâõöàëä õ³ðãýõ á°ã°°ä èíãýñíýýð ìýäýýæ þìñûã øèíý õýðýãëýã÷äèéí õóâüä èë³³ õÿëáàð áîëãîõ þì. 5.3 X11-
ã ñóóëãàõ íü
Xorg áîë FreeBSD-í àíõäàã÷ X11 ã³éöýòãýë þì. Xorg íü X.Org ñàíãààñ ãàðãàñàí Õ öîíõîò ñèñòåìèéí Õ ñåðâåð. Xorg íü XFree86 4.4RC2 áîëîí X11R6.6 õî¼ðûí ýõ áè÷ëýã äýýð ³íäýñëýãäñýí áèëýý. FreeBSD-í ïîðòûí öóãëóóëãà äîòîð áàéãàà Xorg-í õóâèëáàð íü 7.3 ãýæ áóé.
Ïîðòûí öóãëóóëãààñ Xorg-ã ñóóëãàõûí òóëä:
# cd /usr/ports/x11/xorg # make install clean
Note: Xorg-ã á³õëýýð íü õ°ðâ³³ëýõèéí òóëä õàìãèéí áàãàäàà 4 Á õýìæýý ñóë áàéëãàõ õýðýãòýéã àíõààðààðàé.
X11-ã áàãö õýëáýðýýð ì°í ñóóëãàæ áîëíî. Õî¼ðò õýëáýðèéí àéëûã íü pkg_add(1) õýðýãñëýýð Õ11-ã ñóóëãàæ áîëäîã. Àëñàä áàéãàà ñåðâåðýýñ í°õ°æ ñóóëãàäàã áîëîìæèéã pkg_add(1) õýðýãëýõ ³åä áàãöíààñ õóâèëáàðûíõ íü äóãààðûã óñòãàõ õýðýãòýé. Òýãýýä pkg_add(1) íü àâòîìàòààð ñ³³ëèéí õóâèëáàðûã íü í°õ°æ ñóóëãàäàã. Xorg-í õàìãèéí ñ³³ëèéí õýëáýðèéã íü àâòîìàòààð í°õ°æ ñóóëãàõûí òóëä åðä°° ë äàðààõ òóøààëûã °ãí°: # pkg_add -r xorg
Note: Äýýðõ æèøýýãýýð áîë X11-ã ñåðâåð, ³éë÷ë³³ëýã÷, ³ñãèéí ìàÿã çýðýãòýé íü á³õëýýð íü ñóóëãàíà. Õ11-í áàãö áîëîí ïîðòóóä íü òóñäàà ì°í ñóóãäàæ áîëäîã.
142
Chapter 5 X Öîíõîò ñèñòåì
Ýíý á³ëãèéí ³ëäñýí õýñýãò Õ11-ã ñóóëãàæ òîõèðóóëàí õýðõýí ýâòýéõýí êîìïüþòåðèéí äýëãýö áýëäýõ òàëààð °ã³³ëýõ áîëíî. 5.4 X11-
í òîõèðóóëãà
Õàìòðàí áè÷ñýí Êðèñòîåð Øàìâýé. 5.4.1
Òîõèðóóëæ ýõëýõýýñ °ìí°
Õ11-ã òîõèðóóëàõààñàà °ìí° ñóóëãàñàí ñèñòåìèéí äàðààõ ìýäýýëë³³ä øààðäëàãàòàé: Äýëãýöèéí òîäîðõîéëîëòóóä • Âèäåî àäàïòåðèéí ñõåìèéí ìýäýýëýë • Âèäåî àäàïòåðèéí ñàíàõ îéí õýìæýý Õ11-ä õýðýãòýé äýëãýöèéí òîäîðõîéëîëòîä çóðàëòûí õýìæýý áîëîí çóðàëòûí äàâòàìæ íàð îðíî. Ýäãýýð òîäîðõîéëîëòûã òóõàéí äýëãýöèéã ³éëäâýðëýñýí ãàçðûí âýá õóóäàñ þì óó ýñâýë óã äýëãýöòýé õàìò èðñýí áè÷èã áàðèìò äîòðîîñ õàðæ áîëíî. Òýð äîòðîîñ ìýäýõ øààðäëàãàòàé õî¼ð òîî áîë õýâòýý áîëîí áîñîî ÷èãëýëèéí çóðàëòûí äàâòàìæ þì. Âèäåî àäàïòåðèéí ñõåìèéã Õ11 ìýäñýíýýð óã ãðàèê ä³ðñëýã÷òýé ÿìàð äðàéâåð áóþó òàíèóëàã÷ ïðîãðàì àøèãëàí õàðèëöàí àæèëëàõ áîëîìæòîéã ìýäýæ àâäàã. Èõýíõ ñõåì³³ä àâòîìàòààð òàíèãääàã áîëîâ÷ õýðýâ àâòîìàò òàíèëò àìæèëòã³é áîëîõ òîõèîëäîëä ñõåìèéí ìýäýýëëèéã ìýäñýí áàéõ íü õýðýãòýé áèëýý. ðàèê ä³ðñëýã÷ äýýðõ ñàíàõ îéí õýìæýýã ìýäñýíýýð çóðàëòûí íÿãòøèë áîëîí °íã°íèé áàÿëãèéã òîäîðõîéëîõîä õýðýãòýé. ³íèéã ìýäýõ íü òóí ÷óõàë á°ã°°ä ñèñòåìèéíõýý àæèëëàæ ÷àäàõ õÿçãààðûã íü òîäîðõîéëäîã þì. •
í òîõèðãîî
5.4.2 X11-
7.3 õóâèëáàðààñ ýõëýí Xorg íü ÿìàð íýãýí òîõèðãîîíû àéëã³éãýýð òóøààë õ³ëýýõ ì°ð°í äýýð äîîð äóðäñàíûã áè÷èí èõýâ÷ëýí àæèëëàõ áîëîìæòîé áàéäàã: % startx
Õýðýâ ýíý íü àæèëëàõã³é, ýñâýë àíõäàã÷ òîõèðãîîã õ³ëýýí àâàõ áîëîìæã³é áîë X11-èéã ãàðààð òîõèðóóëàõ øààðäëàãàòàé. Note: GNOME, KDE ýñâýë XFce çýðýã øèðýýíèé îð÷íóóä íü õýðýãëýã÷èä íÿãòðàë çýðýã äýëãýöèéí °ã°ãäë³³äèéã õÿëáàðõàíààð òîõèðóóëàõ áîëîìæ á³õèé õýðýãñë³³äòýé. Õýðýâ àíõäàã÷ òîõèðãîîã õ³ëýýí àâàõ
áîëîìæã³é á°ã°°ä òà øèðýýíèé îð÷èí ñóóëãàõààð øèéäñýí áîë øèðýýíèé îð÷íû ñóóëãàëòûã ³ðãýëæë³³ëæ òîõèðîõ äýëãýö òîõèðóóëàõ õýðýãñëèéã àøèãëààðàé.
143
Chapter 5 X Öîíõîò ñèñòåì X11-ã òîõèðóóëàõ íü îëîí ³å øàòòàé ÿâö áèëýý. Õàìãèéí ýõíèé àëõàì áîë àíõäàã÷ òîõèðóóëãûí àéëûã áýëäýõ áèëýý. Ñóïåð õýðýãëýã÷èéí ýðõýýð åðä°° ë äàðààõ òóøààëûã °ãí°: # Xorg -configure
Èíãýñíýýð /root ñàí äîòîð xorg.conf.new ãýñýí íýðòýé Õ11 èéí òîõèðãîîíû ³íäñýí àéë ³³ñãýãääýã (òà su(1) òóøààëààð þì óó ýñâýë àíõíààñàà ñóïåð õýðýãëýã÷èéí ýðõýýð îðñîí áàéñàí ÷ ñóïåð õýðýãëýã÷èéí $HOME áóþó ýõ ñàí äîòîð ³³ñãýõ áîëíî). Õ11 ãóàé òóõàéí ñèñòåì äýýð áàéãàà ãðàèê ò°õ°°ð°ìæèéã òàíèõ îðîëäëîãî õèéæ òàíèóëàõ ïðîãðàìûí ìýäýýëëèéã óã òîõèðóóëãà ðóó áè÷äýã. Äàðààãèéí àëõàì áîë óã òîõèðóóëãà àéëûã àøèãëààä ãðàèê ò°õ°°ð°ìæòýé Xorg àæèëëàæ ÷àäàæ áàéãààã òóðøèõ þì. ³íèé òóëä äàðààõ òóøààëûã îðóóëàõ õýðýãòýé: # Xorg -config xorg.conf.new
Õýðýâ õàð ñààðàë äýâñãýð äýýð Õ õýëáýðòýé õóëãàíû çààã÷ õàðàãäàæ áàéâàë àìæèëòòàé áîëëîî ãýñýí ³ã. Òóðøèëòààñ ãàðàõûí òóëä Ctrl+Alt+Backspace òîâ÷ëóóðûí õîñëîëûã äàðíà. Note: Õýðýâ õóëãàíà àæèëëàõã³é áàéâàë °ìí°õ òóðøèëòûã äàõèí õèéõýýñýý °ìí° õóëãàíàà òîõèðóóëàõ øààðäëàãàòàé. FreeBSD-ã ñóóëãàõ á³ëýãò áóé Section 2.10.10 õýñãýýñ õàðíà óó.
Äàðàà íü xorg.conf.new àéëûã °°ðèéíõ°° õ³ñýëä òîõèðóóëàí ñàéæðóóëàõ õýðýãòýé. Óã àéëûã emacs(1) ýñâýë ee(1) çýðýã çàñâàðëàã÷ààð íýýíý. Ýõëýýä äýëãýöèéí çóðàõ äàâòàìæèéã îðóóëæ °ã°õ õýðýãòýé. Èéì çóðàõ äàâòàìæ íü õýâòýý áîëîí áîñîî ÷èãëýëèéí çóðàõ äàâòàìæ ãýæ áàéäàã. Äàâòàìæèéí òîîí óòãóóäûã xorg.conf.new àéë äîòîð "Monitor" ãýñýí õýñýãò îðóóëæ °ã°°ðýé: Section "Monitor" Identifier VendorName ModelName HorizSync VertRefresh EndSection
"Monitor0" "Monitor Vendor" "Monitor Model" 30-107 48-120
áîëîí VertRefresh ãýñýí õýñýã íü õîîñîí óòãàòàé áàéæ ìàãàäã³é. Õýðýâ òèéì áîë òýäãýýðò òîõèðñîí óòãóóäûã íü îðóóëæ °ã°õ ¼ñòîé. HorizSync-ä õýâòýý çóðàëò, VertRefresh-ä áîñîî çóðàëòûí óòãûã °ãí°. Äýýðõ æèøýýí äýýð äýëãýöèéí òîõèðîõ óòãóóäûã íü îðóóëæ áàéíà. X íü DPMS (Òýæýýë õýìíýõ) ÷àäâàðòàé äýëãýöèéã äýìæäýã. xset(1) ïðîãðàì öàã äóóñàõ í°õöëèéã øàëãààä äýëãýöèéã standby, suspend, ýñâýë off áóþó í°°ö, ò³ð ñàëãàõ, ýñâýë óíòðààõ çýðýã ãîðèìä øèëæ³³ëäýã. Õýðýâ òà äýëãýöýíäýý DPMS øèíæ ÷àíàðûã õýðýãæ³³ëíý ãýæ áîäîæ áàéâàë äàðààõ ì°ðèéã monitor õýñýãò íýìýõ õýðýãòýé: HorizSync
Option
"DPMS"
Òà xorg.conf.new àéëûã çàñâàðëàã÷ äýýð íýýñýí õýâýýð áàéãàà áîëîõîîð äýëãýöèéí çóðàëòûí õýìæýý áîëîí °íã°íèé íÿãòûã îðóóëæ °ã÷ áîëíî. Ýäãýýð óòãûã "Screen" õýñýãò îðóóëäàã: Section "Screen" Identifier "Screen0" Device "Card0"
144
Chapter 5 X Öîíõîò ñèñòåì Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection
ä °ãñ°í óòãà íü àíõäàã÷ õýðýãëýõ °íã°íèé íÿãò þì. Õýðýâ àíõäàã÷ óòãûã íü à÷ààëàõ ³åä äàðæ °°ð÷ë°æ õýðýãëýíý ãýâýë Xorg(1)-ã àæèëëóóëàõ òóøààëä -depth ãýñýí ñîíãîëòûã õ³ññýí óòãàòàé õàìò îðóóëàí õýðýãëýæ áîëíî. Modes ãýñýí ò³ëõ³³ð ³ã íü çààñàí °íã°òýé ³åèéí äýëãýöèéí çóðàõ õýìæýýã çààæ áàéäàã. Òóõàéí ãðàèê ä³ðñëýã÷èéí ³éëäâýðëýã÷ýýñ çààæ °ãñ°í ñòàíäàðò VESA ãîðèìóóä ë ç°âø°°ð°ãäñ°í ãýäãèéã àíõààðíà óó. Äýýðõ æèøýýí äýýð äýëãýöèéí àíõäàã÷ °íã°íèé íÿãò íü íýã öýãèéã õîðèí ä°ðâ°í áèòýýð èëýðõèéëíý ãýæ çààñàí áàéãàà á°ã°°ä èéì íÿãòøèëòàé ³åäýý °ðã°°ø°° 1024, °íäð°°ø°° 768 öýãýýð çóðæ õàðóóë õýìýýí çààæ °ã°â. Ýöýñò íü òîõèðóóëãûí àéëàà õàäãàëààä °ìí° çààñíû äàãóó äàõèí òóðøèõ õýðýãòýé. DefaultDepth-
Note: Õ³íäðýë ãàðñàí ³åä òàíä õýðýãòýé íýã õýðýãñýë áîë Õ11-èéí log áóþó á³ðòãýë òýìäýãëýëèéí àéë þì. Ýíý àéëä Õ11-ä çàëãàãäñàí ò°õ°°ð°ìæèéí òóõàé ìýäýýëë³³ä îðøèæ áàéäàã. Xorg-í á³ðòãýë òýìäýãëýëèéí íýðíèé çàãâàð íü /var/log/Xorg.0.log õýëáýðòýé áàéäàã. Ýíý àéëûí æèíõýíý íýð íü Xorg.0.log-îîñ Xorg.8.log-í õîîðîíä °°ð÷ë°ãä°æ áàéäàã.
Õýðýâ á³õ ç³éë ñàéí áîëæ °íã°ðñ°í áîë òîõèðóóëãûí àéëàà Xorg(1)-ä îëäîõ ãàçàðò áàéðëóóëàõ õýðýãòýé. ³íèéã ãîëäóó /etc/X11/xorg.conf ýñâýë /usr/local/etc/X11/xorg.conf ãýñýí áàéðëàëä õóóëäàã. # cp xorg.conf.new /etc/X11/xorg.conf
X11-ã òîõèðóóëàõ ÿâö èíãýýä ã³éöëýý. Xorg-ã òà îäîî startx(1) õýðýãñëýýð ýõë³³ëæ áîëíî. Õ11 ñåðâåð íü ì°í xdm(1)-ð ýõë³³ëýãäýæ áîëäîã. Note: Ò³³í÷ëýí xorgcfg(1) íýðòýé Õ11-òýé õàìò èðäýã ãðàèê ä³ðñëýëòýé òîõèðóóëãûí õýðýãñýë áàéäàã.
³ãýýð ò°õ°°ð°ìæ³³äèéã ãðàèê õýëáýðýýð ñîíãîí òîõèðîõ òàíèóëàõ ïðîãðàìóóäûã íü ñîíãîõ æóðìààð òîõèðãîî õèéæ áîëäîã. Óã ïðîãðàìûã êîíñîëîîñ xorgcfg -textmode ãýñýí òóøààëààð ýõë³³ëäýã. Äýëãýðýíã³é ìýäýýëëèéã xorgcfg(1)-í ãàðûí àâëàãààñ õàðíà óó. Ì°í xorgconfig(1) íýðòýé õýðýãñýë áèé. Ýíý íü êîíñîë äýýð àæèëëàäàã ïðîãðàì á°ã°°ä ãðàèê ãîðèìûã áîäâîë àæèëëàõàä àðàé ò°â°ãòýé áàéæ ìàãàäã³é ÷ çàðèì í°õö°ëä áóñàä õýðýãñëèéí ÷àääàãã³éã áèåë³³ëæ ÷àääàã.
5.4.3
Íýìýãäýë òîõèðãîî
5.4.3.1 Intel® i810 Graphics Chipsets-ã òîõèðóóëàõ
Intel i810 integrated chipsets ò°ðëèéí ãðàèê ä³ðñëýã÷äèéã òîõèðóóëàõûí òóëä agpgart AGP ïðîãðàìóóä X11-ä õýðýãòýé áàéäàã. agp(4)-í äðàéâåðèéí ãàðûí àâëàãààñ íýìýãäýë ìýäýýëëèéã õàðààðàé.
145
Chapter 5 X Öîíõîò ñèñòåì
Ýíý íü ì°í áóñàä ãðàèê õàâòàíãóóäûí ò°õ°°ð°ìæèéã òîõèðóóëàõàä õýðýãëýãääýã. Ñèñòåìèéíõýý ö°ìä agp(4) äðàéâåðèéã îðóóëæ õ°ðâ³³ëýýã³é áîë kldload(8) òóøààëààð äðàéâåðèéã äóóäñàí ³åä àæèëëàõã³é ãýäãèéã àíõààðíà óó. Óã äðàéâåð àíõíààñàà ö°ìä îðóóëæ áýëòãýãäñýí áàéõ ¼ñòîé þì óó ýñâýë à÷ààëàõ ³åä /boot/loader.conf-ð ö°ìä íýìýãäñýí áàéõ ¼ñòîé. 5.4.3.2 ðã°í äýëãýöèéí ãîðèì íýìýõ
Ýíý õýñýãò òàíûã òîõèðóóëãûí æààõàí èë³³ ìýäëýãòýé ãýæ ³çýõ áîëíî. Ì°í ýíý õýñýãò äýýð °ã³³ëñýí åðäèéí òîõèðãîî õèéõèéã àâ÷ ³çýõã³é. Á³ðòãýë ìýäýýëëèéí àéëûã àøèãëàæ òîõèðãîîã ÿìàð íýãýí àðãààð äóóñãàæ áîëíî. Õàìãèéí áàãàäàà òåêñò çàñâàðëàã÷ áàéõàä ë óã òîõèðóóëãûã õèéæ áîëîõ õàíãàëòòàé. 16:10 áîëîí 10:9 çýðýã õàðóóëàõ õàðüöààã äýìæäýã îäîîãèéí °ðã°í äýëöãýö³³ä (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, ãýõ ìýò) æààõàí õ³íäðýëòýé áàéæ áîëçîøã³é. Çàðèì ò°ðëèéí 16:10 õàðóóëàõ õàðüöààíóóäûã äóðäâàë: •
2560x1600
•
1920x1200
•
1680x1050
•
1440x900
•
1280x800
Çàðèì òîõèîëäîëä Section "Screen" õýñãèéí Mode õýñýãò ýäãýýð õàðüöààíóóäûí íýãèéã áè÷ñýíýýð òîõèðãîîã àìàðõàí ã³éöýýæ áîëäîã: Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection
Xorg íü òóõàéí °ðã°í äýëãýöýýñ I2C/DDC ìýäýýëëèéã íü àâàõ óõààíòàé áîëîõîîð óã äýëãýöèéí õàðãàëçàõ çóðàëòûí äàâòàìæèéã íü ìýäýæ ÷àääàã.
Õýðýâ ýäãýýð
óóä íü äðàéâåð äîòîð áàéõã³é áàéâàë Xorg òàíä æààõàí òóñëàìæ °ã÷ ÷àääàã. àéëààñ àæèëëàæ áîëîõ ModeLine-óóäûã õàðæ áîëíî. Äàðààõ øèã ì°ðèéí õýñã³³äèéã õàðàõ õýðýãòýé: ModeLines/var/log/Xorg.0.log
(II) (II) (II) (II) (II)
MGA(0): MGA(0): MGA(0): MGA(0): MGA(0):
Supported additional Video Mode: clock: 146.2 MHz Image Size: 433 x 271 mm h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz
146
Chapter 5 X Öîíõîò ñèñòåì
Ýíý ìýäýýëëèéã EDID ìýäýýëýë ãýäýã. ³ãýýð ModeLine ì°ðèéã ³³ñãýõèéí òóëä åðä°° ë òýäãýýðèéã ç°â äàðààëëààð íü îðóóëæ áè÷èõýä õàíãàëòòàé: ModeLine <4 horiz. timings> <4 vert. timings>
Òýãýõýýð äýýð æèøýýíèé äàãóó Section
"Monitor"
õýñýãò ModeLine ì°ðèéã äàðààõ ìàÿãààð îðóóëíà:
Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection
Èíãýæ ýíãèéí çàñâàðëàëò õèéæ äóóñãààä Õ-èéã °ðã°í äýëãýöòýé íü øèíýýð àæèëëóóëæ áîëíî.
5.5 X11
äýýð ³ñãèéí ìàÿã õýðýãëýõ íü
Õàìòðàí áè÷èëöñýí Ìþððýé Ñò°³êëè. 5.5.1 Type1
ò°ðëèéí ³ñãèéí ìàÿã
Õ11 òýé õàìò èðäýã àíõäàã÷ ³ñãèéí ìàÿãóóä íü øèðýýíèé ïðîãðàìóóäàä òèéì ñàéí òîõèðîìæòîé áàéæ ÷àääàãã³é. Òîì ³ñýãí³³ä íü çàðèì íü àðçàéæ õàðàãäàõ, çàðèì Netscape-í æèæèã ³ñýãí³³ä òèéì àÿòàéõàí õàðàãääàãã³é ãýõ ìýò îíöã³é òîõèîëäëóóä òóëãàðäàã. ýõäýý Õ11 äýýð õýðýãëýãäýõ áîëîìæòîé ³íýã³é °íä°ð ÷àíàðûí Type1 (PostScript®) ò°ðëèéí ³ñãèéí ìàÿãóóä áàéäàã. Æèøýý íü URW ³ñãèéí öóãëóóëãàíä (x11-fonts/urwfonts) °íä°ð ÷àíàðûí type1 (Times Roman®, Helvetica®, Palatino® ãýõ ìýò÷èëýí) ³ñãèéí ìàÿãóóä îðñîí áàéäàã. Ì°í Freefonts öóãëóóëãàíä (x11-fonts/freefonts) ìàø îëîí ò°ðëèéí ³ñãèéí ìàÿã áàéäàã á°ã°°ä èõýíõ íü ãðàèêòàé àæèëëàäàã Gimp çýðýã ïðîãðàìä çîðèóëàãäñàí áîëîõîîð äýëãýöèéí õàðóóëàõ çîðèóëàëòàíä õýðýãëýãääýãã³é. Áàñ Õ11 äýýð ö°°õ°í òîõèðãîî õèéãýýä TrueType ò°ðëèéí ³ñãèéí ìàÿã õýðýãëýäýã áîëãîæ áîëäîã. X(7) õóóäàñíààñ þì óó ýñâýë TrueType ³ñãèéí ìàÿãèéí õýñãýýñ íýìýëò ìýäýýëë³³äèéã óíøèíà óó. Äýýðõ Type1 ³ñãèéã ïîðòûí öóãëóóëãààñ ñóóëãàõûí òóëä äàðààõ òóøààëûã îðóóëíà: # cd /usr/ports/x11-fonts/urwfonts # make install clean
Ýíý ³éëäëèéã áóñàä öóãëóóëãàí äýýð ì°í àäèë õèéíý. X ñåðâåðò ýäãýýð ³ñãýý òàíèóëàõûí òóëä òîõèðóóëãûí àéëä (/etc/X11/xorg.conf) äàðààõ ì°ðèéã íýìæ °ãä°ã: FontPath "/usr/local/lib/X11/fonts/URW/"
ýñâýë Õ àæèëëàæ áàéõ ³åä äàðààõ òóøààëûã °ã÷ áîëíî: % xset fp+ /usr/local/lib/X11/fonts/URW % xset fp rehash
147
Chapter 5 X Öîíõîò ñèñòåì
Ýíý òóøààë íü Õ õýñãèéã õààãäàõ õ³ðòýë õ³÷èíòýé á°ã°°ä èéì áàéäàëä õ³ðãýõã³é ãýâýë à÷ààëàõ ³åä óíøèãääàã ýõëýõ àéëä íýìæ °ãä°ã (startx-í ýõëýõ ³åä óíøäàã àéë íü ~/.xinitrc, õàðèí XDM çýðãèéí ãðàèê íýâòðýëò õèéäýã ïðîãðàìûí ýõëýí óíøäàã àéë íü ~/.xsession áàéäàã ). óðàâ äàõü àðãà áîë øèíý /usr/local/etc/fonts/local.conf àéë õýðýãëýõ þì: anti-aliasing õýñãýýñ óíøèíà óó. 5.5.2 TrueType®
³ñãèéí ìàÿã
Xorg íü °°ðò°° áàñ TrueType ò°ðëèéí ³ñãèéí ìàÿãèéã õàðóóëàõ ã³éöýòãýëòýé ñóóñàí áàéäàã. ³íèéã ã³éöýòãýõ õî¼ð ò°ðëèéí ã³éöýòãýë áèé. Ýíý õýñýãò freetype ìîäóëèéã õàðóóëñàí áà í°ã°° ³ñãèéí ìàÿã õàðóóëàã÷èéã áîäâîë èë³³ òîãòâîðòîé áèëýý. freetype ìîäóëèéã èäýâõæ³³ëýõèéí òóëä äàðààõ ì°ðèéã /etc/X11/xorg.conf àéëûí "Module" õýñýãò íýìíý. Load
"freetype"
Îäîî TrueType ³ñãèéí ìàÿãò çîðèóëñàí ñàí ³³ñãýýä (æèøýýëáýë /usr/local/lib/X11/fonts/TrueType) á³õ TrueType ³ñã³³äýý òýð ñàíä õóóëíà. Macintosh® ìàøèíààñ TrueType ò°ðëèéí ³ñãèéí ìàÿãèéã øóóä õóóëæ áîëîõã³é ãýäãèéã àíõààðàõ õýðýãòýé. Ýäãýýð íü Õ11 äýýð õýðýãëýãäýõèéí òóëä UNIX/MS-DOS/Windows õýëáýðèéíõ áàéõ ¼ñòîé. Òýð ñàíä õóóëñíûõàà äàðàà ttmkfdir-ã àøèãëàæ fonts.dir àéë ³³ñãýäýã á°ã°°ä èíãýñíýýð Õ-í ³ñýã õàðóóëàã÷ íü øèíý àéë ñóóãäëàà ãýäãèéã òàíüäàã. ttmkfdir íü FreeBSD-í ïîðòûí öóãëóóëãàíä x11-fonts/ttmkfdir ãýæ áóé. # cd /usr/local/lib/X11/fonts/TrueType # ttmkfdir -o fonts.dir
Îäîî TrueType ñàíã ³ñãèéí ìàÿãèéí òàíèõ çàìä íýìýõ ¼ñòîé. Ýíý íü äýýð Type1 ³ñãèéí ìàÿãò äýýð °ã³³ëñýíòýé èæèëõýí % xset fp+ /usr/local/lib/X11/fonts/TrueType % xset fp rehash
ãýæ íýìýõ þì óó ýñâýë xorg.conf àéë äîòîð FontPath ãýæ íýìíý. Èíãýýä áîëîõ íü òýð. Îäîî Netscape, Gimp, StarOffice™, ãýõ ìýò÷èëýí á³õ X ïðîãðàìóóä ñóóãäñàí TrueType ³ñãèéí ìàÿãóóäûã òàíèõ ¼ñòîé. Ìàø áàãà õýìæýýòýé (°íä°ð íàðèéâ÷ëàëòàé äýëãýö äýýð ³ç³³ëýãäýõ âýáèéí òåêñò³³ä) ýñâýë ìàø òîì ³ñýãí³³ä (StarOffice äýýð) àðàé èë³³ õàðàãäàíà. 5.5.3 Anti-Aliased
³ñãèéí ìàÿã
Øèíý÷èëñýí Æî Ìàðêóñ Êëàðê. Anti-aliasing ³ñãèéí ìàÿãóóä Õ11 äýýð XFree86 4.0.2-ñ ýõëýí áîëîìæòîé áîëñîí. ýõäýý XFree86 4.3.0 õ³ðòýë ³ñãèéí ìàÿã òîõèðóóëàõ íü ò°â°ãòýé áàéâ. XFree86 4.3.0-ñ ýõëýí Õ11 äýýð /usr/local/lib/X11/fonts/ áà ~/.fonts/ äîòîð áàéðëàñàí á³õ ³ñãèéí ìàÿãóóä àâòîìàòààð anti-aliasing ãýæ Xft-íèéöòýé ïðîãðàìä õýðýãëýãäýõ áîëîìæòîé áîëñîí. Á³õ ïðîãðàìóóä Xft-íèéöòýé áèø áîëîâ÷ èõýíõ íü Xft-ã äýìæñýí áàéäàã. Õft-íèéöòýé ïðîãðàìóóä áîë Qt 2.3 áà ò³³íýýñ äýýøõè õóâèëáàðóóä (KDE øèðýýíèé îð÷èíã õ°ãæ³³ëýõýä õýðýãëýãääýã áàãàæ õýðýãñë³³ä), GTK+ 2.0 áà ò³³íýýñ äýýøõè õóâèëáàðóóä ( GNOME øèðýýíèé îð÷èíã õ°ãæ³³ëýõýä õýðýãëýãääýã áàãàæ õýðýãñë³³ä), ì°í Mozilla 1.2 áà ò³³íýýñ äýýøõè õóâèëáàðóóä þì.
148
Chapter 5 X Öîíõîò ñèñòåì
ßìàð ³ñãèéí ìàÿãóóä íü anti-aliased áîëîõûã õÿíàõ ýñâýë anti-aliasing øèíæ ÷àíàðóóäûã òîõèðóóëàõûí òóëä /usr/local/etc/fonts/local.conf àéëûã ³³ñãýõ (õýðýâ áàéâàë çàñâàðëàõ) õýðýãòýé. Xft ³ñãèéí ìàÿãèéí ñèñòåìèéí õýä õýäýí øèíæ ÷àíàðóóä ýíý àéëààð òîõèðóóëàãääàã á°ã°°ä ýíý õýñýãò ç°âõ°í ýíãèéí õýäèéã æèøýý òàòàõ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã fonts-conf(5) õóóäàñíààñ õàðíà óó. Ýíý àéë íü XML õýëáýðèéí áàéõ ¼ñòîé. Òîì æèæèã ³ñãèéí õýìæýýíä íü àíõààðàëòàé õàíäàõ õýðýãòýé. Ì°í íýýãäñýí òàãëààã áàñ ç°â õààñàí áàéõ ¼ñòîé. Ýíý àéë ýõëýõäýý ýíãèéí DOCTYPE òîäîðõîéëîëòîîð ýõýëäýã á°ã°°ä äàðàà íü òàãëàà àðààñ íü çàëãàæ ÿâäàã:
ìí° õýëñýí÷ëýí /usr/local/lib/X11/fonts/ áîëîí ~/.fonts/ ñàíä áàéãàà ³ñãèéí ìàÿãóóä àâòîìàòààð Xft-íèéöòýé ïðîãðàìä òàíèãääàã. Òà ³³íýýñ °°ð ñàíä ³ñãèéí ìàÿã áàéðëóóëñàí áîë /usr/local/etc/fonts/local.conf àéëä äîîð äóðäñàíòàé èæèë ì°ð îðóóëæ °ã°õ õýðýãòýé: /³ñãèéí/ìàÿãèéí/áàéãàà/ñàíãèéíçàì>
Øèíý ³ñýã, ÿëàíãóÿà øèíý ñàí íýìñíèé äàðàà ³ñãèéí ìàÿãèéí ò³ð õàäãàëàãäñàí îðîí çàéã äàðààõ òóøààëààð ñýðãýýõ ¼ñòîé: # fc-cache -f
Anti-aliasing íü èðìýãèéã æààõàí óóñãàæ ç°°ëð³³ëýí õàðàãäóóëäàã áîëîõîîð æèæèã ³ñã³³äèéã óíøèõàä ýâòýéõýí áîëãîäîã á°ã°°ä òîì ³ñãèéí “øàòàëñàí èðìýãèéã” ç°°ëë°æ ã°ëèéëã°ä°ã. Èéìýðõ³³ ç°°ëë°ñ°í øèíý ÷àíàð íü åðäèéí òåêñò äýýð õýðýãæèõýýð í³äýíä ÿäàðãààòàé °âòã°õ í°ë°° ³³ñãýæ ìàãàäã³é þì. Òýãýõýýð 14-í õýìæýýíýýñ áàãà ³ñãèéí ìàÿãàíä anti-aliasing øèíæ ÷àíàðûã õýðýãëýõã³é ãýæ áîäâîë äàðààõ ì°ðèéã îðóóëààðàé: <match target="font"> <double>14 <edit name="antialias" mode="assign"> false <match target="font"> <double>14 <edit mode="assign" name="antialias"> false
Æèãä çàé àâàëòòàé ³ñãèéí ìàÿãàíä anti-aliasing øèíæ ÷àíàð ç°â õýðýãæèõã³é áàéæ ìàãàäã³é. Ýíý àñóóäàë KDE äýýð èõ òóëãàðäàã. ³íèé çàñàõ íýã àðãà áîë òèéì ³ñã³³äèéí çàé àâàëòûã 100 áàéõ ¼ñòîé ãýæ çààæ °ãä°ã. Äàðààõ ì°ðèéã íýìæ ³³íèéã ã³éöýòãýíý: <match target="pattern" name="family">
149
Chapter 5 X Öîíõîò ñèñòåì <string>fixed <edit name="family" mode="assign"> <string>mono <match target="pattern" name="family"> <string>console <edit name="family" mode="assign"> <string>mono
(ýíý íü áóñàä åðäèéí èæèë çàé àâàëòòàé ³ñãèéí ìàÿãóóäûã "mono" ãýñýí íýðýýð õàíäàíà ãýæ çààæ °ã÷ áàéíà) òýãýýä äàðàà íü: <match target="pattern" name="family"> <string>mono <edit name="spacing" mode="assign"> 100
Helvetica çýðýã çàðèì ³ñãèéí ìàÿãóóäàä anti-aliased õýðýãëýõ ³åä áàãà çýðýã õ³íäðýë³³ä ãàð÷ áîëçîøã³é. Ýíý çàãâàð íü òèéì ³ñãèéí ìàÿãóóäûí òàëûã íü õàñàõ øèíæ èëýðäýã. Á³ð òààðàõã³é ìóóäàõ ³åä Mozilla çýðãèéí ïðîãðàìóóä àæèëëàõ ³åäýý íóðäàã. ³íýýñ ñýðãèéëýõèéí òóëä local.conf àéëä äàðààõ ì°ðèéã íýìíý: <match target="pattern" name="family"> <string>Helvetica <edit name="family" mode="assign"> <string>sans-serif local.conf àéëûã çàñâàðëàæ äóóñààä óã àéëûã òàãëààãààð äóóññàí ýñýõèéã øàëãààðàé. Èíãýýã³é áîë óã àéëûí °°ð÷ë°ëòèéã ³ë õýðýãñýæ õýðýãæ³³ëäýãã³é. Õ11-òýé àíõ èðäýã ³ñãèéí ìàÿãóóäàä anti-aliasing õýðýãëýõýä òèéì àÿòàéõàí õàðàãääàãã³é. Àðàé èë³³ àíõäàã÷ ³ñãèéí ìàÿãèéã x11-fonts/bitstream-vera ïîðòîîñ ñóóëãàæ áîëíî. Ýíý ïîðò íü ñóóãäàõ ³åäýý õýðýâ /usr/local/etc/fonts/local.conf àéë áàéõã³é áîë ì°í ñóóëãàäàã. Õýðýâ àéë °ìí° íü áàéâàë ýíý ïîðò /usr/local/etc/fonts/local.conf-vera ãýñýí àéë ³³ñãýäýã. ³íèé äîòîð áàéãààã /usr/local/etc/fonts/local.conf àéë óðóó íèéë³³ëáýë Bitstream ³ñãèéí ìàÿãòóóä àâòîìàòààð X11 Serif, Sans Serif, áîëîí Monospaced ³ñãèéí ìàÿãòóóäûí îðîíä ñóóæ àíõäàã÷ ³ñãèéí ìàÿã íü áîëäîã.
150
Chapter 5 X Öîíõîò ñèñòåì
Ýöýñò íü õýðýãëýã÷èä °°ðñäèéí ãýñýí òîõèðóóëãàà õóâèéí ñàí äîòîð áóé .fonts.conf àéë äîòîð õèéæ áîëäîã. Èíãýõèéí òóëä õýðýãëýã÷ á³ð ~/.fonts.conf àéë ³³ñãýõ õýðýãòýé. Ýíý àéë íü ì°í XML õýëáýðòýé áàéõ ¼ñòîé. ѳ³ë÷èéí ³ã: LCD äýëãýöòýé ³åä sub-pixel õàðóóëàëò õýðýãëýõ õ³ñýëò ãàð÷ áîëçîøã³é. Ýíý íü ³íäñýíäýý (õýâòýý ÷èãëýëä íü ñàëãàñàí) óëààí, íîãîîí áîëîí öýíõýð °íãèéí á³ðäë³³äèéã òóñàä íü ñàëãàæ õàðóóëñíààð õýâòýý ÷èãëýëèéí ä³ðñëýõ ÷àäâàðûã ñàéæðóóëäàã. ð ä³í íü ìýäýýæ ìàø ñàéí õàðóóëàëò ³³ñäýã. Èíãýæ ç°âø°°ð³³ëýõèéí òóëä local.conf àéëä äàðààõ ì°ðèéã íýìíý: <match target="font"> unknown <edit name="rgba" mode="assign"> rgb
Note: Äýëãýöèéí ò°ðë°°ñ õàìààð÷ rgb íü bgr, vrgb ýñâýë vbgr ãýæ °°ð÷ë°ãä°æ áîëçîøã³é òóë ÿíç ÿíçààð íü òóðøèæ àëü íü èë³³ òîõèð÷ áàéãààã îëîîðîé.
Äàðààãèéí óäàà Õ-ã ýõëýõ ³åä Anti-aliasing ç°âø°°ð°ãäñ°í áàéõ áîëíî. ýõäýý ïðîãðàìóóä ýíý øèíæ ÷àíàðûí äàâóó òàëûã àøèãëàõ õýðýãòýé. Îäîîãèéí áàéäëààð Qt õýðýãñýë ³³íèéã àøèãëàäàã. Ýíý íü KDE îð÷íû á³õ ³ñãèéí ìàÿãò anti-aliased õýðýãæ³³ëäýã. Ì°í GTK+ ³³íèéã àøèãëàí GNOME äýýð “Font” ïðîãðàìààð ( Section 5.7.1.3 äýýð äýëãýðýíã³é ìýäýýëýë áóé) ³ñãèéí ìàÿãòäàà anti-aliasing õýðýãæ³³ëäýã. Àíõíûõàà òîõèðãîîãîîð Mozilla 1.2 áîëîí ò³³íýýñ äýýøõè õóâèëáàðóóä íü àâòîìàòààð anti-aliasing-ã àøèãëàäàã. ³íèéã õîðèõûí òóëä Mozilla-ã -DWITHOUT_XFT ãýñýí ñîíãîëòòîé õ°ðâ³³ëæ áýëäýõ õýðýãòýé. 5.6 X Display Manager
áóþó õàðóóëàëò çîõèöóóëàã÷
Õàìòðàí áè÷èëöñýí Ñý Êèíãñëè. 5.6.1
Åð°íõèé îéëãîëò
X Display Manager (XDM) áóþó Õ õàðóóëàëò çîõèöóóëàã÷ ãýäýã íü Õ öîíõîò ñèñòåìä ñîíãîãäîí õýðýãëýãäýæ áîëîõ á°ã°°ä íýâòðýõ ³éëäýëä õýðýãëýãääýã. Ýíý íü áàãà õ³÷èí ÷àäàëòàé “X òåðìèíàë”, øèðýýíèé ïðîãðàìûí îð÷èí, ì°í òîì ñ³ëæýýíä áóé õàðóóëàëòûí ñåðâåð çýðýã ò°ð°ë á³ðèéí í°õö°ëä õýðýãëýãääýã. Íýãýíò Õ öîíõîò ñèñòåì íü ñ³ëæýý áîëîí á³ðòãýëèéí áèå äààñàí ã³éöýòãýëòýé áîëîõîîð Õ ³éë÷ë³³ëýã÷ áîëîí ñåðâåð³³äèéí õîîðîíäîõ õîëáîîã òîõèðóóëàõ ìàø îëîí àðãà áèé. XDM íü
õîëáîãäîæ áîëîõ ñåðâåð³³äèéã ãðàèê ãîðèìä ä³ðñýëæ õàðóóëäàã á°ã°°ä íýð áîëîí íóóö ³ã îðóóëàõ í°õö°ë áèåë³³ëæ °ãä°ã. Òà XDM-ã õýðýãëýã÷èä çîðèóëæ getty(8) õýðýãñëèéí áèåë³³ëäýã ã³éöýòãýëòýé ( Section 26.3.2 õýñãýýñ äýëãýðýíã³éã õàðíà óó) èæèë ãýæ áîäîõ õýðýãòýé. Òýãýõýýð ýíý íü ñèñòåì ð³³ íýâòðýõ ³éëäëèéã ã³éöýòãýäýã á°ã°°ä íýâòð³³ëýõäýý òóõàéí õýðýãëýã÷èéí îð÷èíã àæèëëóóëæ (ãîëäóó Õ öîíõíû
151
Chapter 5 X Öîíõîò ñèñòåì
çîõèöóóëàã÷ áàéäàã ) õýðýãëýã÷èéã ãàðàõ õ³ðòýë íü õ³ëýýæ áàéäàã. Ì°í °°ð õýðýãëýã÷ õîëáîãäîõ ³åä õîëáîãäîõ äýëãýöèéã õàðóóëàí íýâòðýõ ³éëäýë õèéëãýõ áîëîìæèéã XDM áèåë³³ëæ áàéäàã.
ã õýðýãëýõ íü
5.6.2 XDM-
XDM äàëä ÷°òã°ð ãóàé /usr/local/bin/xdm ãýñýí áàéðëàëä áàéäàã. Ýíý íü root ýðõòýé õ³íýýð ÿìàð ÷ ³åä ýõë³³ëýãäýæ áîëäîã á°ã°°ä ýõëýíã³³òýý óã ìàøèíä áóé Õ öîíõûã çîõèöóóëàõ ³³ðãèéã ã³éöýòãýæ ýõýëäýã. Õýðýâ XDM-ã ìàøèíûã øèíýýð à÷ààëàãäàõ áîëãîíä ýõë³³ëýõ õ³ñýëòýé áàéãàà áîë ³³íèéã áèåë³³ëýõ õàìãèéí ýâòýéõýí çàì áîë /etc/ttys àéëä îðóóëãà õèéæ °ã°õ áèëýý. Ýíý àéëûí çîõèîí áàéãóóëàëòûí òàëààð Section 26.3.2.1 õýñýãò õàðààðàé. /etc/ttys àéë äîòîð XDM-ã âèðòóàë òåðìèíàë äýýð äàëä ÷°òã°ð õýëáýðýýð àæèëëóóëíà ãýñýí äàðààõ ì°ð áàéäàã: ttyv8
"/usr/local/bin/xdm -nodaemon"
xterm
off secure
Àíõäàã÷ òîõèðóóëãààðàà ýíý íü õîðèãäñîí áàéäàã á°ã°°ä èäýâõæ³³ëýõèéã õ³ñâýë òàâ äàõü ³ã áîëîõ off ãýñíèéã on áîëãîæ °°ð÷ë°°ä init(8)-ã Section 26.3.2.2 äýýð çààñíû äàãóó øèíýýð à÷ààëàõ õýðýãòýé. Ýõíèé òàëáàð íü óã ïðîãðàìûí çîõèöóóëàõ òåðìèíàëûí íýð á°ã°°ä ttyv8 ãýñýí áóé. Ýíý íü XDM åñä³ãýýð âèðòóàë òåðìèíàë äýýð àæèëëàæ ýõýëíý ãýñýí ³ã þì.
ã òîõèðóóëàõ íü
5.6.3 XDM-
XDM-ã òîõèðóóëàõ àéë /usr/local/lib/X11/xdm ñàíä áàéäàã. Ýíý ñàí äîòîð XDM-í õàðàãäöûã °°ð÷èëæ òîõèðóóëàõ õýä õýäýí àéë áèé. îëäóó äàðààõ ò°ðëèéí àéëóóä áàéäàã:
Ôàéë
Òîäîðõîéëîëò Xaccess Õýðýãëýã÷èéí ýðõèéí ä³ðýì. Xresources X-í resource áóþó ýõ ñóðâàëæ àíõäàã÷ óòãóóä. Xservers Äîòîîä þì óó àëñàä áóé õîëáîãäîæ áîëîõ äýëãýö çîõèöóóëàã÷äûí æàãñààëò. Xsession Íýâòðýõ ³åä òóõàéí îð÷èíä ³éëäýãääýã àíõäàã÷ ñêðèïò. Xsetup_* Íýâòðýõ ³éëäëýýñ °ìí° íü ïðîãðàìóóäûã à÷ààëàã÷ ñêðèïò. Óã ìàøèí äýýð àæèëëàæ áàéãàà á³õ õàðóóëàã÷äûã xdm-config åð°íõèéä íü òîõèðóóëàã÷ àéë. xdm-errors Ñåðâåð ïðîãðàìààñ ³³ñãýãäñýí àëäààíóóä. Îäîîãèéí àæèëëàæ áàéãàà XDM-í ïðîöåññ ID xdm-pid äóãààð. Ì°í ýíý ñàí äîòîð XDM-ã àæèëëàæ áàéõ ³åä óã ãðàèê îð÷íûã òîõèðóóëäàã ñêðèïò áîëîí ïðîãðàìóóä áàéäàã. Ñàÿíû æàãñààñàí àéëóóäûí çîðèóëàëòûã åð°íõèéä íü äîð äóðäàâ. Óã àéëóóäûã õýðýãëýõ äýëãýðýíã³é çààâàð íü xdm(1) õóóäñàíä òîäîðõîéëîãäñîí áàéãàà. Àíõíûõàà òîõèðóóëãààð áîë ýíãèéí íýãýí íýâòðýõ ä°ðâ°ëæèí öîíõ äîòîð óã ìàøèíû íýð õàðóóëàãäñàí áàéäàã áà òîì ³ñãýýð “Login:” ãýæ áè÷ýýä äîîä õýñýãò íü “Password:” ãýæ íóóö ³ã îðóóëàõ òàëáàð áàéäàã. Ýíý öîíõíîîñ ýõëýí XDM-í õàðàãäöûã °°ð÷èëæ ýõýëæ áîëîõ þì.
152
Chapter 5 X Öîíõîò ñèñòåì 5.6.3.1 Xaccess XDM-ýýð õÿíàãääàã õàðóóëàã÷òàé õîëáîãäîõ ïðîòîêîëûã X Display Manager Connection Protocol (XDMCP) ãýæ íýðëýäýã. Ýíý àéë íü àëñàä áóé êîìïüþòåðààñ XDMCP õîëáîëò ÿìàð ä³ðìýýð õèéãäýõèéã çààí õÿíàæ áàéäàã. Ýíý íü àëñààñ õîëáîãäîõ õîëáîëòûã õ³ëýýæ àâàõ òîõèðãîîã xdm-config àéëä õèéõ õ³ðòýë õîðèîòîé áàéäàã. Àíõäàã÷ òîõèðãîîãîîðîî áîë ÿìàð ÷ õýðýãëýã÷èéí õîëáîëòûã ç°âø°°ð°õã³é ãýæ çààãäñàí áàéäàã.
5.6.3.2 Xresources
Ýíý íü õàðóóëàã÷äûã ñîíãîõ íýâòðýõ äýëãýöèéí õàðóóëàëòûã °°ð÷èëæ áîëîõ àíõäàã÷ óòãóóä õàäãàëñàí àéë þì. Ýíý àéëààð íýâòðýõ ïðîãðàìûã °°ð÷èëæ áîëíî. Ôàéëûí çîõèîí áàéãóóëàëò íü Õ11-í áè÷èã áàðèìòàä çààñàíòàé èæèë çàãâàðòàé áàéäàã. 5.6.3.3 Xservers
Ýíý íü ñîíãîãäîæ áîëîõ õàðóóëàã÷äûí æàãñààëò õàäãàëñàí àéë. 5.6.3.4 Xsession
Ýíý àéë íü XDM-ä çîðèóëñàí õýðýãëýýã õîëáîãäñîíû äàðàà ã³éöýòãýãäýõ ñêðèïò àéë þì. Èõýíõäýý õýðýãëýã÷èä °°ðñäèéíõ°° ýõëýë ñàíä áóé ~/.xsession àéë äîòîð °°ðñäèéí ãýñýí àæèëëóóëàõ áè÷ëýãýý áè÷èæ ýíý àéëûí ã³éöýòãýëèéã äàðäàã. 5.6.3.5 Xsetup_*
Ýíý àéë íü íýâòðýõ öîíõ áîëîí õàðóóëàã÷äûã ñîíãîãäîõîîñ °ìí° àâòîìàòààð àæèëëàäàã. Õàðóóëàã÷ áîëãîíä çîðèóëñàí ñêðèïò íü Xsetup_ íýðýí äýýð õàðóóëàã÷èéí äóãààð çàëãàãäñàí íýðòýé áàéäàã ( æèøýý íü äîòîîä õàðóóëàã÷ Xsetup_0 ãýñýí íýðòýé áàéäàã). Ýíý àéëä ãîëäóó xconsole çýðãèéí íýã þì óó õî¼ð ïðîãðàìûã àð òàëä àæèëëóóëæ áàéõààð áè÷ñýí áàéäàã. 5.6.3.6 xdm-config
Ýíý àéëä õàðóóëàã÷ áîëãîíä õýðýãëýãäýõ ïðîãðàìûí àíõäàã÷ óòãà õýëáýðèéí òîõèðóóëãóóä áàéäàã. 5.6.3.7 xdm-errors
Ýíý àéë äîòîð XDM-í àæèëëóóëàõûã îðîëäñîí ñåðâåðýýñ ãàðñàí àëäààíóóäûã áè÷ñýí áàéäàã. Õýðýâ XDM-í ýõë³³ëñýí äýëãýö ÿìàð íýãýí çàìààð ãàöàõ þì áîë þóíààñ áîëñîí ýñýõèéã íü ìýäýõ õàìãèéí ç°â ãàçàð áîë ýíý áèëýý. Ýäãýýð àëäààíóóä ì°í õýðýãëýã÷èéí òóõàéí îð÷íîîñ õàìààð÷ ~/.xsession-errors àéë äîòîð áàñ áè÷èãääýã.
153
Chapter 5 X Öîíõîò ñèñòåì
5.6.4
ѳëæýýíèé õàðóóëàã÷ ñåðâåðèéã àæèëëóóëàõ
Áóñàä õýðýãëýã÷äèéã õàðóóëàã÷ ñåðâåð ð³³ õîëáîõûí òóëä òà õàíäàõ ýðõèéí ä³ðìèéã çàñâàðëàæ õîëáîëò õ³ëýýæ àâàã÷èéã ç°âø°°ð³³ëýõ õýðýãòýé. Àíõäàã÷ óòãààðàà ³³íèéã õîðüñîí áàéäàã. XDM-ã õîëáîëò õ³ëýýæ àâäàã áîëãîõûí òóëä ýõëýýä xdm-config àéë äîòîðõ ì°ðèéã òàéëáàð ì°ð áîëãîæ õ³÷èíã³é áîëãîõ õýðýãòýé: ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0
òýãýýä XDM-èéã øèíýýð ýõë³³ëýõ õýðýãòýé. Èéì àéëä “#” òýìäãýýð òàéëáàð ìýò áîëãîæ õàñäàãã³é õàðèí “!” òýìäýã õýðýãëýõ õýðýãòýé ãýäãèéã ñàíàõ õýðýãòýé. Xaccess àéë äîòîðõîîñ æèøýýí³³äèéã õàðàõ õýðýãòýé á°ã°°ä xdm(1) ãàðûí àâëàãààñ äýëãýðýíã³é óíøèõ íü ç³éòýé.
í îðëóóëãóóä
5.6.5 XDM-
XDM-ã îðëîõ õýä õýäýí ïðîãðàì áèé. Òýäíèé íýã áîëîõ kdm-ã ( KDE-òýé öóã èðäýã) ýíý á³ëýãò òàéëáàðëàõ áîëíî. Õàðóóëàëò çîõèöóóëàã÷ kdm íü ìàø îëîí ò°ðëèéí õàðóóëàõ çàãâàðûã ñàíàë áîëãîäîã á°ã°°ä íýâòðýõ ³åä öîíõ çîõèöóóëàã÷äûã äàâõàð ñîíãîæ áîëîõ áîëîìæ °ãä°ã.
5.7
Äýëãýöèéí îð÷èí
Õàìòðàí áè÷ñýí Âàëåíòèíî Âàøåòòî. Ýíý õýñýãò FreeBSD-í Õ-ä çîðèóëñàí ò°ð°ë á³ðèéí äýëãýöèéí îð÷íóóäûã òàéëáàðëàõ áîëíî. “Äýëãýöèéí îð÷èí” ãýäýãò ýíãèéí öîíõ çîõèöóóëàã÷ààñ àâàõóóëààä ò°ð°ë á³ðèéí øèðýýíèé ïðîãðàìûã àãóóëñàí öîãö ïðîãðàìóóä áîëîõ KDE áîëîí GNOME çýðýã îðäîã. 5.7.1 GNOME 5.7.1.1 GNOME-í òóõàé
GNOME ãýäýã íü êîìïüþòåðàà òîõèðóóëàõàä òàíü àìàð÷èëæ õ°íã°â÷èëñ°í äýëãýöèéí ïðîãðàìûí îð÷èí þì. GNOME äîòîð ñàìáàð (ïðîãðàì ýõë³³ëýõ áîëîí ò°ë°â áàéäëûã íü õàðóóëàõ çîðèëãîòîé), äýëãýöèéí îðîí çàé (ïðîãðàìóóä áàéðëàõàä çîðèóëàãäñàí ), äýëãýöèéí õýðýãñë³³ä áîëîí ïðîãðàìóóäûí öóãëóóëãà, ì°í ïðîãðàìóóä °°ð õîîðîíäîî çîõèöîæ àæèëëàõàä çîðèóëàãäñàí õýä õýäýí æóðàì àãóóëàãäàæ áàéäàã. °ð ³éëäëèéí ñèñòåì þì óó ýñâýë °°ð îð÷èíä àæèëëàæ ñóðñàí õ³ì³³ñò GNOME-í ñàíàë áîëãîæ áàéãàà õ³÷òýé á°ã°°ä àÿòàéõàí ãðàèê îð÷èí íü äàñàõàä àìàð ñàíàãääàã. FreeBSD äýýðõ GNOME-í òàëààð äýëãýðýíã³é ìýäýýëëèéã FreeBSD-í GNOME Ò°ñëèéí (http://www.FreeBSD.org/gnome) âýá õóóäàñíààñ õàðàõ õýðýãòýé. Óã âýá õóóäñàíä GNOME-ã õýðõýí ñóóëãàæ òîõèðóóëàí ì°í çîõèöóóëàõ òàëààð íýëýýí °ðã°í õýìæýýíèé àñóóëò õàðèóëòóóä áàéäàã. 5.7.1.2 GNOME-ã ñóóëãàõ
Ýíý ïðîãðàì õàíãàìæèéã ïîðòûí öóãëóóëãà þì óó ýñâýë áàãöààñ õÿëáàð àðãààð ñóóëãàæ áîëíî:
154
Chapter 5 X Öîíõîò ñèñòåì
ѳëæýýíýýñ GNOME-ã áàãö õýëáýðýýð íü ñóóëãàõûã õ³ñâýë äàðààõ òóøààëûã °ã°õ°ä õàíãàëòòàé: # pkg_add -r gnome2
GNOME-ã ïîðò äîòîð ýõ áè÷ëýãýýñ íü õ°ðâ³³ëæ ñóóëãàõûã õ³ñâýë äàðààõ òóøààëààð ñóóëãàíà: # cd /usr/ports/x11/gnome2 # make install clean
GNOME ñóóãäñàíû äàðàà Õ ñåðâåðò àíõäàã÷ öîíõ çîõèöóóëàã÷èéí îðîíä GNOME ýõëýõèéã çààæ °ã°õ õýðýã ãàðäàã. GNOME-ã ýõë³³ëýõ àìàðõàí àðãà áîë GNOME-í õàðóóëàëòûã çîõèöóóëàã÷ áóþó GDM-ã õýðýãëýõ áèëýý. GDM íü GNOME-òîé õàìò ñóóãääàã (ãýõäýý àíõäàã÷ òîõèðãîîãîîðîî áîë õîðèãäñîí áàéäàã) á°ã°°ä /etc/rc.conf àéë äîòîð gdm_enable="YES" ì°ðèéã íýìýí îðóóëñíààð èäýâõæ³³ëäýã. Øèíýýð à÷ààëàãäàõ ³åä íýâòðýëò õèéñíèé äàðàà íýìýëò òîõèðóóëãà õèéëã³éãýýð GNOME àâòîìàòààð ýõýëäýã. GNOME-ã ì°í òóøààë áè÷äýã ì°ðí°°ñ .xinitrc àéëä ç°â òîõèðóóëãà õèéñíýýð àæèëëóóëæ áàñ áîëíî. Õýðýâ .xinitrc àéë °ìí° íü áàéæ áàéâàë óã àéëä áàéãàà öîíõ çîõèöóóëàã÷ ýõëýõ ì°ðèéã àðèëãààä îðîíä íü /usr/local/bin/gnome-session ãýæ îðóóëàõ õýðýãòýé. Õýðýâ íýã èõ îíö ÷óõàë ì°ð óã òîõèðãîîíû àéë äîòîð áàéõã³é ãýæ òà ìýäýæ áàéãàà áîë äàðààõ òóøààëûã °ã÷ áàñ áîëíî: % echo "/usr/local/bin/gnome-session" > ~/.xinitrc
Òýãýýä startx ãýñýí òóøààëûã áè÷èõýä GNOME äýëãýöèéí îð÷èí ýõëýõ áîëíî. Note: Õýðýâ XDM þì óó ÿìàð íýãýí °°ð äýëãýöèéí îð÷èí õýðýãëýãäýæ áàéñàí áîë .xsession ãýñýí àéë ³³ñãýýä óã àéë äîòîð °ìí° ÿðüæ áàéñàí îðóóëãûã îðóóëàõ õýðýãòýé. Èíãýõèéí òóëä óã àéëûã çàñâàðëàã÷ààð íýýãýýä äîòîð áàéãàà ì°ðèéã /usr/local/bin/gnome-session ì°ð°°ð äàðæ áè÷èõýä áîëíî:
% echo "#!/bin/sh" > ~/.xsession % echo "/usr/local/bin/gnome-session" >> ~/.xsession % chmod +x ~/.xsession
°ð íýã ñîíãîëò áîë öîíõ çîõèöóóëàã÷èä °°ð÷ë°ëò õèéæ íýâòðýëò õèéãäýõ ³åä äýëãýöèéí îð÷íûã ñîíãîæ áîëäãîîð òîõèðóóëæ áîëäîã. KDE-í äýëãýðýíã³é õýñýãò KDE-í äýëãýöèéí îð÷íû çîõèöóóëàã÷ kdm äýýð õýðõýí ³³íèéã õèéäýã òàëààð òàéëáàðëàñàí áàéãàà. 5.7.1.3 GNOME äýýðõ Anti-aliased ³ñãèéí ìàÿãóóä
X11 íü °°ðèéíõ°° “RENDER” °ðã°òã°ëèéã àøèãëàí anti-aliased ³ñãèéí ìàÿãèéã õàðóóëæ áàéäàã. GTK+ 2.0 áîëîí ò³³íýýñ äýýøõè õóâèëáàð íü ( GNOME-ä õýðýãëýãääýã áàãàæ õýðýãñýë) óã °ðã°òã°ëèéã àøèãëàæ ÷àääàã. anti-aliasing ³ñãèéí ìàÿãèéã òîõèðóóëàõ òàëààð Section 5.5.3 õýñýãò °ã³³ëñýí áàéãàà. Òýãýõýýð ïðîãðàìàà øèíý÷èëñíýýð GNOME îð÷èíä anti-aliasing ³ñãèéí ìàÿã õýðýãëýãäýæ áîëíî. Applications−→Desktop Preferences−→Font öýñèéã ñîíãîîä ò³³íýýñ Best shapes, Best contrast, ýñâýë Subpixel smoothing (LCDs) ãýäãèéã ñîíãîõîä ë áîëëîî. GNOME-ä õàðúÿàëàãääàãã³é GTK+
ïðîãðàìóóäàä áîë àæèëëóóëàõààñàà °ìí° GDK_USE_XFT ãýäýã îð÷íû õóâüñàã÷èä 1 ãýñýí óòãà °ã°°ä äàðàà íü óã ïðîãðàìûã àæèëëóóëáàë áîëíî.
155
Chapter 5 X Öîíõîò ñèñòåì
5.7.2 KDE 5.7.2.1 KDE-í òóõàé
KDE áîë õýðýãëýõýä òóí àìàð îð÷èí ³åèéí äýëãýöèéí îð÷èí þì. Õýðýãëýã÷èä õýðýãòýé KDE-í ñàíàë áîëãîäîã çàðèì ç³éëñ áîë:
Îð÷èí ³åèéí ñàéõàí äýëãýöèéí îð÷èí • ѳëæýýãýýð àæèëëóóëàõàä ÿìàð ÷ õ³íäðýëã³é • KDE äýëãýöèéí îð÷èí áîëîí ò³³íèé ïðîãðàìóóäàä çîðèóëæ °°ðò°° àãóóëñàí òóñëàìæèéí ñèñòåìòýé • KDE-í á³õ ïðîãðàìóóääàà òîõèðñîí çàãâàð ìàÿãòàé • Ñòàíäàðò÷ëàãäñàí öýñ áîëîí áàãàæèò ñàìáàð, ãàðûí òîâ÷ëîëóóä, °íã°íèé õ³ñíýãò ãýõ ìýò÷èëýí. • Internationalization áóþó îëîí õýëèéí äýìæëýã: KDE íü 40 ãàðàí ãàäààä õýë äýýð áîëîìæòîé • Á³õ äýëãýöèéí îð÷íû òîõèðóóëãûã ò°âë°ð³³ëñýí öîíõîò çàãâàðòàé òîõèðãîî õèéõ áîëîìæ • Ìàø îëîí KDE ïðîãðàìóóä KDE íü Konqueror íýðòýé UNIX åðò°íö°ä °ðñ°ëä°°í èõòýé õ°òë°ã÷³³äèéí íýã áîëîõ âýá õ°òë°ã÷òýé õàìò èðäýã. KDE-í òàëààð äýëãýðýíã³é ìýäýýëëèéã KDE âýá õóóäàñíààñ (http://www.kde.org/) õàðæ áîëíî. KDE-òýé õîëáîîòîé ýõ ³³ñâýð³³ä áîëîí FreeBSD-òýé õîëáîîòîé òóñãàé ìýäýýëëèéã FreeBSD-èéí áàã äàõü KDE (http://freebsd.kde.org/) âýá õóóäàñíààñ ëàâëàõ õýðýãòýé. FreeBSD äýýð KDE-í õî¼ð õóâèëáàð áàéäàã. Õóâèëáàð 3 íü óäààí õóãàöààíû òóðøèä áàéãàà á°ã°°ä ìàø òîãòâîðòîé õóâèëáàð þì. Õóâèëáàð 4 áóþó äàðàà ³åèéí õóâèëáàð íü ïîðòûí öóãëóóëãàä áàñ áàéäàã. Ýäãýýð íü á³ð öóã çýðýãöýí ñóóëãàãäàæ áîëäîã. •
5.7.2.2 KDE-ã ñóóëãàõ íü
GNOME áîëîí áóñàä äýëãýöèéí îð÷íû ïðîãðàìóóäûã ñóóëãàäàã øèã ýíýõ³³ ïðîãðàì õàíãàìæèéã ïîðòûí öóãëóóëãà þì óó ýñâýë áàãöààñ õÿëáàð àðãààð ñóóëãàæ áîëíî:
ѳëæýýãýýð KDE3-ã áàãö õýëáýðýýð ñóóëãàíà ãýâýë äàðààõ òóøààëûã °ã°õ°ä ë áîëíî: # pkg_add -r kde
ѳëæýýãýýð KDE4-ã áàãö õýëáýðýýð ñóóëãàíà ãýâýë äàðààõ òóøààëûã °ã°õ°ä ë áîëíî: # pkg_add -r kde4
pkg_add(1) àâòîìàòààð óã ïðîãðàìûí ñ³³ëèéí õóâèëáàðûã íü í°õ°æ ñóóëãàõ áîëíî. KDE3-ã ýõ áè÷ëýãýýñ íü õ°ðâ³³ëæ ñóóëãàíà ãýâýë ïîðòûí öóãëóóëãûã àøèãëààðàé: # cd /usr/ports/x11/kde3 # make install clean
KDE4-ã ýõ áè÷ëýãýýñ íü õ°ðâ³³ëæ ñóóëãàíà ãýâýë ïîðòûí öóãëóóëãûã àøèãëààðàé: # cd /usr/ports/x11/kde4 # make install clean
156
Chapter 5 X Öîíõîò ñèñòåì KDE ñóóãäñàíû äàðàà Õ ñåðâåðò àíõäàã÷ öîíõ çîõèöóóëàã÷èéí îðîíä KDE-ã àæèëëóóëíà ãýæ çààæ °ã°õ õýðýãòýé. ³íèé òóëä .xinitrc àéëûã äàðààõ àðãààð çàñâàðëàæ ì°í áîëíî:
KDE3-í õóâüä:
% echo "exec startkde" > ~/.xinitrc
KDE4-í õóâüä: % echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc
Îäîî èíãýýä startx òóøààëûã àæèëëóóëáàë KDE äýëãýöèéí îð÷èí ýõëýõ áîëíî. Õýðýâ óðüä íü XDM çýðýã °°ð äýëãýöèéí îð÷èí õýðýãëýãäýæ áàéñàí áîë òîõèðóóëãà àðàé °°ð áàéõ áîëíî. Òýð ³åä .xsession àéëûã çàñâàðëàõ õýðýãòýé. Ýíý á³ëãèéí ñ³³ë õýñýãò kdm-í òàëààð çààâàðëàñàí áàéãàà.
í òàëààð äýëãýðýíã³é
5.7.3 KDE-
Îäîî KDE ñóóãäñàí áàéãàà áîëîõîîð èõýíõ ç³éëñèéã òà òóñëàìæèéí ñèñòåìèéã íü àøèãëàí íýýæ îëîõ þì óó ýñâýë ç³ãýýð ë öýñí³³ä äýýð äàðæ òóðøèæ áîëîõ þì. Windows ýñâýë Mac® ò°ðëèéí õýðýãëýã÷äýä áîë áàðàã ãýðòýý áàéãàà þì øèã ë ñýòãýãäýë ò°ð°õ áàéõ. KDE-í õàìãèéí ñàéí çààâàð áè÷èã áàðèìòóóä èíòåðíýò äýýð áèé. KDE °°ðòýéã°° õàìò Konqueror õ°òë°ã÷ ì°í ìàø îëîí ïðîãðàì áîëîí °ðã°æ³³ëñýí áè÷èã áàðèìòóóäòàé èðäýã. Á³ëãèéí ³ëäñýí õýñýãò ñàíàìñàðã³é íýýæ îëñîí ÷ ãýñýí ñóðàõàä õ³íäðýëòýé òåõíèêèéí çàðèì àñóóäëóóäûã çààâàð÷ëàõ áîëíî. 5.7.3.1 KDE Display Manager áóþó KDE-í äýëãýöèéí çîõèöóóëàã÷
Îëîí õýðýãëýã÷òýé ñèñòåìèéí àäìèíèñòðàòîð õýðýãëýã÷äýä ãðàèê íýâòðýõ ãîðèì õýðýãëýõèéã õ³ñäýã. ìí° òàéëáàðëàñíû äàãóó XDM èéì çîðèëãîîð áàñ õýðýãëýãäýæ áîëíî. ýõäýý KDE áàñ ³³íòýé èæèë ³³ðýã ã³éöýòãýæ ÷àäàõ kdm íýðòýé õàðàãäàö ñàéòàé ýâòýéõýí íýâòðýõ õýñãèéã ñàíàë áîëãîäîã. Ì°í õýðýãëýã÷ á³ð óã çîõèöóóëàã÷èéí öýñíýýñ ÿìàð äýëãýöèéí îð÷èíä õîëáîãäîõîî (KDE, GNOME, ýñâýë áóñàä °°ð) íýâòðýõ ³åäýý ñîíãîæ áîëäîã. kdm-ã èäýâõæ³³ëýõèéí òóëä /etc/ttys àéëä áóé ttyv8 ãýñýí îðóóëãàòàé õýñýã äàðààõ ìàÿãààð °°ð÷ë°ãä°õ ¼ñòîé: KDE3-í õóâüä: ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure
KDE4-í õóâüä: ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure
157
Chapter 5 X Öîíõîò ñèñòåì
5.7.4 XFce 5.7.4.1 XFce-í òóõàé
XFce íü GNOME äýýð õýðýãëýãääýã GTK+ õýðýãñýë äýýð ³íäýñëýãäñýí äýëãýöèéí îð÷èí á°ã°°ä õýðýãëýõýä ìàø õ°íã°í àìàðõàí òîõèðóóëãàòàé áèëýý. íã°ö õàðàõàä UNIX ñèñòåì³³ä äýýð áàéäàã ³íýòýé çàðàãääàã CDE äýëãýöèéí îð÷èíòîé ò°ñ°°òýé. XFce-í çàðèì øèíæ ÷àíàðûã äóðäâàë:
Äýëãýöèéí îð÷èíä àæèëëàõàä òóí àìàð õÿëáàðøóóëñàí • Õóëãàíû ÷èðæ òàâèõ ³éëäýë çýðýãò á³ðýí òîõèðóóëàãäñàí • Öýñ áîëîí ïðîãðàì à÷ààëàõ ³íäñýí ñàìáàð íü CDE-òýé èæèë • Öîíõ çîõèöóóëàã÷, àéë çîõèöóóëàã÷, äóóíû îðîëò ãàðàëòûã çîõèöóóëàã÷, GNOME-í äýìæëýãòýé ïðîãðàìóóäûã àæèëëóóëàõ òîõèðîìæ çýðýã îëîí ç³éëñèéã áàãòààñàí • Îð÷íîî °°ð÷èëæ áîëäîã (GTK+ äýìæëýãòýé ó÷ðààñ) • Ò³ðãýí, õ°íã°í ³ð á³òýýëòýé áîëîõîîð ñàíàõ îéí õÿçãààðëàëòàé óäààí ìàøèíóóäàä òóí òîõèðîìæòîé. XFce-í äýëãýðýíã³é ìýäýýëëèéã XFce âýá õóóäàñíààñ (http://www.xfce.org/) õàðààðàé.
•
5.7.4.2 XFce-ã ñóóëãàõ íü
XFce-í áàãö õóâèëáàð (³³íèéã áè÷èæ áàéõ ³åä) áàéäàã. Ñóóëãàõûí òóëä åðä°° ë: # pkg_add -r xfce4
Ì°í ïîðòûí öóãëóóëãà äîòðîîñ ýõ áè÷ëýãýýñ íü õ°ðâ³³ëæ ñóóëãàæ áîëíî: # cd /usr/ports/x11-wm/xfce4 # make install clean
Îäîî Õ ñåðâåðò Õ îð÷íûã ýõë³³ëýõ ³åä XFce-ã àæèëëóóë ãýæ çààæ °ã°õèéí òóëä: % echo "/usr/local/bin/startxfce4" > ~/.xinitrc
Äàðààãèéí óäàà Õ ýõëýõ ³åä XFce íü äýëãýöèéí îð÷èí áîëñîí áàéíà. Ì°í °ìí°õ îð÷íóóäòàé èæèë, õýðýâ XDM çýðýã °°ð îð÷èí óðüä íü õýðýãëýãäýæ áàéñàí áîë .xsession àéëûã ³³ñãýýä GNOME õýñýãò òàéëáàðëàñàí øèã ãýõäýý /usr/local/bin/startxfce4 ãýñýí óòãûã îðóóëàõ þì óó ýñâýë íýâòðýõ ³åä ñîíãîãäîõîîð áîëãîæ òîõèðóóëàõûã õ³ñâýë kdm õýñýãò òàéëáàðëàñíû äàãóó õèéõ õýðýãòýé.
158
II. Íèéòëýã àñóóäëóóä
íäñýí îéëãîëòóóäûã íýãýíò òàéëáàðëàñàí áîëîõîîð îäîî FreeBSD-èéí ãàðûí àâëàãûí ýíý õýñýãò FreeBSD-èéí çàðèì áàéíãà àøèãëàãääàã áîëîìæóóäûã àâ÷ ³çýõ áîëíî. Ýäãýýð á³ëã³³ä íü: Ò³ãýýìýë õýðýãëýãääýã øèðýýíèé ïðîãðàìóóäûã òàíä òàíèëöóóëàõ áîëíî: õ°ò÷³³ä, á³òýýìæèéí áàãàæóóä, áàðèìò ³çýã÷èä ãýõ ìýò. • FreeBSD-í õýä õýäýí ìóëüòèìåäèà áàãàæóóäûã òàíä òàíèëöóóëàõ áîëíî. • Òóñãàéëàí òîõèðóóëñàí FreeBSD ö°ìèéã á³òýýõ ³éë ÿâö áîëîí, ñèñòåìä íýìýëò óíêöóóäûã õýðõýí èäýâõæ³³ëýõèéã òàéëáàðëàõ áîëíî. • Øèðýýíèé áîëîí ñ³ëæýýíä õîëáîãäñîí õýâëýã÷èéí òîõèðóóëãóóäûí õóâüä õýâëýõ ñèñòåìèéã äýëãýðýíã³é òàéëáàðëàõ áîëíî. • FreeBSD ñèñòåì äýýð Ëèíóêñ ïðîãðàìóóäûã õýðõýí àæèëëóóëàõûã òàíä ³ç³³ëýõ áîëíî. Ýäãýýð á³ëã³³äèéí çàðèìä òàíûã çàðèì íýã îéëãîëòóóäûí òàëààð óðüäààð óíøèõûã ç°âë°õ á°ã°°ä ýíý íü á³ëýã á³ðèéí ýõýíä åð°íõèé àãóóëãàä äóðäñàí áàéãàà áîëíî. •
Chapter 6
Øèðýýíèé ïðîãðàìóóä
Õóâü íýìýð áîëãîí îðóóëñàí Êðèñòî Æóíüå. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 6.1
Åð°íõèé àãóóëãà
FreeBSD íü òåêñò áîëîâñðóóëàã÷ ïðîãðàìóóä áîëîí õ°ò÷³³ä çýðýã øèðýýíèé ò°ð°ë á³ðèéí õýðýãëýýíèé ïðîãðàìóóäûã àæèëëóóëæ ÷àääàã. Ýäãýýð ïðîãðàìóóäûí èõýíõ íü áàãö õýëáýðýýð þì óó ýñâýë ïîðòóóäûí öóãëóóëãààñ àâòîìàòààð á³òýýãäýæ áîëíî. Øèíý õýðýãëýã÷äèéí îëîíõè íü ýäãýýð õýðýãëýýíèé ïðîãðàìóóäûã °°ðèéí êîìïüþòåð äýýð ñóóëãàõûã õ³ñäýã. Ýíý á³ëýãò çàðèì íýã ò³ãýýìýë
õýðýãëýãääýã øèðýýíèé ïðîãðàìóóäûã ïîðòóóäûí öóãëóóëãà áîëîí òýäãýýðèéí áàãöóóäààñ õ³íäðýëã³éãýýð ñóóëãàõ òàëààð çààâàðëàõ áîëíî. Ïîðòóóäààñ ïðîãðàìóóäûã ñóóëãàõàä òýäãýýðèéã ýõýýñ ýìõýòãýäýã ãýäãèéã àíõààðíà óó. Ýíý íü òàíû ìàøèíû (ìàøèíóóäûí) ïðîöåññ õèéõ õ³÷ áîëîí þó ýìõýòãýæ áàéãààãààñ õàìààð÷ èõ óäààí àæèëëàæ áîëîõ þì. Ýõýýñ á³òýýõ íü ñààä áîëìîîð èõ õóãàöàà øààðäàæ áàéâàë òà ïîðòûí öóãëóóëãàä áàéãàà èõýíõ ïðîãðàìóóäûã óðüä÷èëàí á³òýýñýí áàãöóóäààñ ñóóëãàæ áîëíî. FreeBSD íü Ëèíóêñèéí õî¼ðòûí õýëáýðòýé íèéöòýé àæèëëàõ áîëîìæèéã õàíãàäàã ó÷ðààñ Ëèíóêñä ýõëýí õ°ãæ³³ëýãäñýí îëîí ïðîãðàìóóäûã àøèãëàõ áîëîìæòîé áàéäàã. Ëèíóêñèéí ÿìàð ÷ õýðýãëýýíèé ïðîãðàìûã ñóóëãàõààñàà °ìí° Chapter 10-èéã óíøèõûã ç°âë°æ áàéíà. Ëèíóêñèéí õî¼ðòûí õýëáýðòýé íèéöòýé áàéäëûã àøèãëàæ áàéãàà èõýíõ ïîðòóóäûí íýð “linux-” ãýæ ýõýëñýí áàéãàà. Æèøýý íü whereis(1) òóøààëûí òóñëàìæòàéãààð ÿìàð íýã ïîðòûã õàéæ áàéõäàà ³³íèéã ñàíààðàé. Íèéòëýëèéí ýíý õýñãýýñ öààø ÿìàð íýã Ëèíóêñèéí õýðýãëýýíèé ïðîãðàìóóäûã ñóóëãàõûí °ìí° òàíûã Ëèíóêñèéí õî¼ðòûí õýëáýðòýé íèéöòýé áàéäëûã èäýâõæ³³ëñýí áàéãàà ãýæ òîîöîõ áîëíî. Ýíý á³ëýãò äîîðõ õýñã³³äèéí òóõàé ÿðèõ áîëíî: Õ°ò÷³³ä (Firefox, Opera, Konqueror çýðýã) • Á³òýýìæ ( KOffice, AbiWord, The GIMP, OpenOffice.org çýðýã) • Áè÷èã áàðèìò ³ç³³ëýã÷èä (Acrobat Reader®, gv, Xpdf, GQview çýðýã) • Ñàíõ³³ ( GnuCash, Gnumeric, Abacus çýðýã) Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
óðàâäàã÷ òàëóóäûí íýìýëò ïðîãðàìóóäûã õýðõýí ñóóëãàõ òàëààð ìýäýõ (Chapter 4). • Ëèíóêñèéí íýìýëò ïðîãðàì õàíãàìæóóäûã õýðõýí ñóóëãàõ òàëààð ìýäýõ (Chapter 10). Ìóëüòèìåäèà îð÷íû òîõèðãîîíû òóõàé ìýäýýëëèéã Chapter 7-ñ óíøèíà óó. Õýðýâ òà öàõèì çàõèäàë òîõèðóóëæ àøèãëàõûã õ³ñâýë Chapter 28-ò õàíäàíà óó. •
6.2
Õ°ò÷³³ä
FreeBSD íü òîäîðõîé õ°ò°÷ óðüä÷èëàí ñóóëãàãäñàí áàéäàãã³é. Õàðèí ïîðòûí öóãëóóëãûí www (http://www.FreeBSD.org/ports/www.html) ñàí ñóóëãàõàä áýëýí îëîí õ°ò÷³³äèéã àãóóëäàã. Òàíä á³ãäèéã ýìõýòãýõ õóãàöàà áàéõã³é áîë (ýíý íü çàðèì òîõèîëäîëä ìàø èõ õóãàöàà øààðäàæ áîëíî) òýäãýýðèéí îëîíõè íü áàãö õýëáýðýýð áàéäàã.
160
Chapter 6 Øèðýýíèé ïðîãðàìóóä KDE áîëîí GNOME íü HTML õ°ò÷³³äýýð õàíãàäàã. Ýäãýýð á³ðýí ã³éöýä øèðýýíèé ïðîãðàìóóäûã õýðõýí ñóóëãàæ òîõèðóóëàõ òàëààð äýëãýðýíã³é ìýäýýëëèéã Section 5.7-ñ ëàâëàíà óó. Õýðýâ òà õ°íã°í ÷àíàðûí õ°ò÷³³äèéã õàéæ áàéãàà áîë ïîðòûí öóãëóóëãààñ www/dillo, www/links, ýñâýë www/w3m çýðã³³äèéã ñóäàëæ ³çýõ õýðýãòýé. Ýíý õýñýã ýäãýýð ïðîãðàìóóäûã àâ÷ ³çýõ áîëíî:
Ïðîãðàìûí íýð Opera
Øààðäëàãàòàé ýõ ³³ñâýð³³ä äóíä çýðýã áàãà
õ³íä õ°íã°í
Konqueror
äóíä çýðýã
õ³íä
Firefox
Ïîðòîîñ ñóóëãàõ
îë õàìààðëóóä Gtk+
FreeBSD áîëîí
Ëèíóêñèéí õóâèëáàðóóä áàéäàã. Ëèíóêñèéí õóâèëáàð íü Ëèíóêñèéí õî¼ðòûí íèéöòýé áàéäàë áîëîí linux-openmotif-ñ õàìààðäàã. KDE ñàíãóóä
6.2.1 Firefox Firefox íü FreeBSD ð³³ á³ðýí ïîðò õèéãäñýí îð÷èí ³åèéí, ÷°ë°°òýé, íýýëòòýé ýõèéí òîãòâîðòîé õ°ò°÷ þì. Ýíý íü ñòàíäàðòûã õàíãàñàí HTML ³ç³³ëýõ õýñýã, tab íýýæ àæèëëàõ áîëîìæ, popup õààëò, °ðã°òã°ë³³ä, ñàéæðóóëñàí àþóëã³é áàéäàë çýðýã îëîí áîëîìæóóäòàé. Firefox íü Mozilla-èéí êîä äýýð ñóóðèëæýý.
Firefox íü Mozilla-èéí êîä äýýð ñóóðèëñàí äàðààãèéí ³åèéí õ°ò°÷ þì. Mozilla íü õ°ò°÷, çàõèäëûí êëèåíò, ÷àë÷èõ êëèåíò çýðýã îëîí ïðîãðàìóóäûã áàãòààñàí á³ðýí ã³éöýä ïðîãðàìóóäûí öóãëóóëãà þì. Firefox íü ç°âõ°í õ°ò°÷ á°ã°°ä ýíý íü ò³³íèéã èë³³ æèæèã, õóðäàí áîëãîäîã áàéíà. Äîîð äóðäñàíûã áè÷èí áàãöûã ñóóëãàíà: # pkg_add -r firefox
Ýíý íü Firefox 2.X-èéã ñóóëãàõ á°ã°°ä òà õýðýâ Firefox 3.X-èéã àøèãëàõûã õ³ñýæ áàéâàë äîîðõèéã àæèëëóóëààðàé: # pkg_add -r firefox3
Ýõ êîäîîñ ýìõýòãýõèéã òà èë³³ä ³çýæ áàéãàà áîë ïîðòûí öóãëóóëãûã áàñ àøèãëàæ áîëîõ þì: # cd /usr/ports/www/firefox # make install clean
Firefox 3.X-èéí õóâüä °ìí°õ òóøààë äýýðõ firefox-èéã firefox3-ààð ñîëèîðîé.
6.2.2 Firefox
áîëîí Java™ çàëãààñ (plugin)
Note: Ýíý õýñýãò áîëîí äàðààãèéíõàä áèä òàíûã Firefox-ã àëü õýäèéí ñóóëãàñàí ãýæ òîîöîõ
áîëíî.
161
Chapter 6 Øèðýýíèé ïðîãðàìóóä
FreeBSD Ñàí íü Sun Microsystems êîìïàíèòàé Java Runtime Environment (JRE™) áóþó Æàâàãèéí Àæèëëàõ ³åèéí îð÷èí áîëîí Java Development Kit (JDK™) áóþó Æàâàãèéí Õ°ãæ³³ëýõ õýðýãñëèéí õî¼ðòûí àéëóóäûã ò³ãýýõ ëèöåíçòýé áàéäàã. FreeBSD-ä çîðèóëñàí õî¼ðòûí áàãöóóä íü FreeBSD Ñàí (http://www.freebsdfoundation.org/downloads/java.shtml) âýá ñàéòàä áàéäàã.
Firefox-ä Java™ äýìæëýãèéã íýìýõèéí òóëä òà java/javavmwrapper ïîðòûã ñóóëãàõ õýðýãòýé. Äàðàà íü http://www.freebsdfoundation.org/downloads/java.shtml õàÿãààñ Diablo JRE áàãöûã òàòàí àâ÷ pkg_add(1) òóøààëààð ñóóëãàõ õýðýãòýé.
°ðèéí õ°ò÷èéã ýõë³³ëæ áàéðëàë îðóóëäàã ì°ð°íä about:plugins ãýæ áè÷èí Enter äàðíà. Ñóóëãàãäñàí çàëãààñóóäûí òàëààð õóóäàñ ³ç³³ëýãäýõ á°ã°°ä Java çàëãààñ òýíä îäîî áàéõ ¼ñòîé. Õýðýâ òèéì áèø áîë root õýðýãëýã÷ýýð äàðààõ òóøààëûã àæèëëóóëíà: # ln -s /usr/local/diablo-jre1.6.0/plugin/i386/ns7/libjavaplugin_oji.so \ /usr/local/lib/browser_plugins/
Äàðàà íü °°ðèéí õ°ò÷èéã äàõèí äóóäíà. 6.2.3 Firefox
áîëîí Macromedia® Flash™ çàëãààñ (plugin)
Macromedia® Flash™ çàëãààñ íü FreeBSD-ä áàéäàãã³é. ýõäýý çàëãààñûí Ëèíóêñ õóâèëáàðûã àæèëëóóëàõ ïðîãðàì õàíãàìæèéí äàâõàðãà (ã³éöýòãýë õÿëáàðøóóëàã÷) áàéäàã. Ýíý õÿëáàðøóóëàã÷ íü áàñ Adobe® Acrobat® çàëãààñ, RealPlayer® çàëãààñ áîëîí °°ð îëíûã äýìæäýã. Warning: Äàðààõ òåêñò íü ñ³³ëèéí ³åèéí -STABLE ñàëáàð, FreeBSD 7.1-RELEASE áîëîí ò³³íýýñ õîéøõ õóâèëáàð äýýðõ Flash 9.X-èéí ñóóëãàëòûã õàðóóëàõ áîëíî. Õýðýâ òà FreeBSD-èéí õóó÷èí õóâèëáàðòàé ýñâýë àñóóäàëòàé áàéãàà áîë www/linux-flashplugin7-èéã ñóóëãàæ linprocfs(5) õýñãèéã àëãàñààðàé.
ïîðòûã ñóóëãàíà. Ýíý ïîðò íü emulators/linux_base-ã øààðääàã á°ã°°ä ýíý íü èõ òîì ïîðò þì. Äàðààãèéí àëõàì áîë www/linux-flashplugin9 ïîðòûã ñóóëãàõ ÿâäàë þì. Ýíý ïîðò ñóóëãàãäñàíû äàðàà çàëãààñûã õýðýãëýã÷ á³ðèéí õóâüä nspluginwrapper-ã àøèãëàí ñóóëãàõ ¼ñòîé: www/nspluginwrapper
% nspluginwrapper -v -a -i
Õýðýâ Flash õ³³õýëäýéã òîãëóóëàõûã õ³ñâýë Linux-èéí ïðîöåññ àéëûí ñèñòåì linprocfs(5)-èéã /usr/compat/linux/proc ðóó õîëáîñîí áàéõ øààðäëàãàòàé. ³íèéã äàðààõ òóøààëûã àøèãëàí õèéæ áîëíî: # mount -t linprocfs linproc /usr/compat/linux/proc
³íèéã à÷ààëàõ ³åä àâòîìàòæóóëàí /etc/fstab àéëä òîõèðîõ ì°ðèéã íýìýí õèéæ °ã÷ áîëíî: linproc /usr/compat/linux/proc linprocfs rw 0 0
Òýãýýä °°ðèéí õ°ò÷èéã ýõë³³ëæ áàéðëàë îðóóëäàã ì°ð°íä about:plugins ãýæ áè÷èí Enter äàðíà. Áàéãàà á³õ çàëãààñóóäòàé æàãñààëò ãàð÷ èðýõ ¼ñòîé.
162
Chapter 6 Øèðýýíèé ïðîãðàìóóä
6.2.4 Firefox
áîëîí Swfdec Flash çàëãààñ
Swfdec íü Flash àíèìàöûã çàäàëæ àìèëóóëàõ ñàí þì. Swfdec-Mozilla íü SWF àéëóóäûã òîãëóóëàõûí òóëä Swfdec ñàíã àøèãëàäàã á°ã°°ä Firefox õ°ò÷èä çîðèóëàãäñàí çàëãààñ þì. Ýíý íü õ³÷òýé õ°ãæ³³ëýëòèéí äîîð îðøñîí õýâýýð áàéãàà áîëíî.
Õýðýâ òà á³òýýæ ÷àäàõã³é ýñâýë õ³ñýõã³é áàéãàà áîë ñ³ëæýýíýýñ áàãöûã ñóóëãàæ áîëíî:
# pkg_add -r swfdec-plugin
Õýðýâ áàãö áàéõã³é áîë òà ³³íèéã ïîðòûí öóãëóóëãààñ á³òýýí ñóóëãàæ áîëíî: # cd /usr/ports/www/swfdec-plugin # make install clean
Äàðàà íü ýíý çàëãààñûã èäýâõæ³³ëýõèéí òóëä °°ðèéí õ°ò÷èéã äàõèí àæèëëóóëààðàé. 6.2.5 Opera Opera íü °ðã°í áîëîìæóóäòàé ñòàíäàðòàä íèéöñýí õ°ò°÷ þì. Ýíý íü °°ðò°° á³òýýãäñýí çàõèäàë áîëîí ìýäýý óíøèã÷, IRC êëèåíò, RSS/Atom óíøèã÷ áîëîí °°ð îëîí áîëîìæóóäûã àãóóëäàã. Ýäãýýðýýñ ãàäíà Opera íü õàðüöàíãóé õ°íã°í á°ã°°ä ìàø õóðäàí þì. Ýíý íü õî¼ð õýëáýðýýð áàéäàã íü: “ýõ” FreeBSD õóâèëáàð áîëîí Ëèíóêñèéí ýìóëÿö äýýð àæèëëàäàã õóâèëáàð þì.
Opera-èéí FreeBSD õóâèëáàðààð âýá ³çýõèéí òóëä áàãöûã ñóóëãàíà: # pkg_add -r opera
Çàðèì íýã FTP ñàéòóóäàä á³õ áàãöóóä áàéäàãã³é áîëîâ÷ ïîðòûí öóãëóóëãûã àøèãëàí äîîð äóðäñàíûã áè÷èí Opera-ã àâ÷ áîëíî: # cd /usr/ports/www/opera # make install clean
Opera-èéí Ëèíóêñ õóâèëáàðûã ñóóëãàõûí òóëä äýýðõ æèøýýíèé opera ãýñíèé îðîíä linux-opera ãýæ ñîëèõ õýðýãòýé. Adobe Acrobat Reader çýðýã ç°âõ°í Ëèíóêñä áàéäàã çàëãààñóóäûí õýðýãëýýã øààðäàõ òîõèîëäîëä Ëèíóêñèéí õóâèëáàð íü àøèãòàé áàéäàã. Áóñàä òàëààðàà FreeBSD áîëîí Ëèíóêñèéí õóâèëáàðóóä íü àæèëëàãààíû õóâüä àäèëõàí áàéäàã.
6.2.6 Konqueror Konqueror íü KDE-èéí íýã õýñýã áîëîâ÷ ³³íèéã KDE-èéí ãàäíà òàëä x11/kdebase3-èéã ñóóëãàí áàñ àøèãëàæ áîëîõ þì. Konqueror åðäèéí íýã õ°ò÷°°ñ èë³³ á°ã°°ä àéëûí ìåíåæåð áîëîí ìóëüòèìåäèà ³ç³³ëýã÷ áîëæ ÷àääàã.
Konqueror íü áàñ çàëãààñóóäûí îëîíëîãòîé èðäýã á°ã°°ä ýäãýýðèéã misc/konq-plugins ñàíãààñ ñóóëãàõ áîëîìæòîé áàéäàã.
Konqueror áàñ Flash-ã äýìæäýã á°ã°°ä Konqueror äýýð Flash-èéí äýìæëýãòýé áîëîõ òàëààð “Õýðõýí Õèéõ” çààâàð íü http://freebsd.kde.org/howtos/konqueror-flash.php õàÿãò áàéäàã.
163
6.3
Chapter 6 Øèðýýíèé ïðîãðàìóóä
Á³òýýìæ
Á³òýýìæòýé õîëáîîòîé áîëîîä èðýõýýðýý, øèíý õýðýãëýã÷èä èõýâ÷ëýí ñàéí îèñèéí öóãëóóëãà ýñâýë í°õ°ðñ°ã òåêñò áîëîâñðóóëàã÷èéã õàéäàã. KDE çýðýã çàðèì øèðýýíèé îð÷íóóä íü õýäèéãýýð îèñèéí öóãëóóëãàòàé áàéäàã áîëîâ÷ àíõäàã÷ á³òýýìæèéí áàãö áàéäàãã³é áèëýý. FreeBSD íü òàíû øèðýýíèé îð÷íîîñ õàìààðàëã³éãýýð õýðýãòýé á³ãäèéã õàíãàäàã. Ýíý õýñýã íü ýäãýýð ïðîãðàìóóäûã àâ÷ ³çýõ áîëíî:
Ïðîãðàìûí íýð KOffice AbiWord Gimp OpenOffice.org
Øààðäëàãàòàé ýõ ³³ñâýð³³ä áàãà áàãà áàãà èõ
Ïîðòîîñ ñóóëãàõ õ³íä õ°íã°í õ³íä àñàð èõ
îë õàìààðëóóä KDE
Gtk+ ýñâýë GNOME Gtk+ JDK 1.4, Mozilla
6.3.1 KOffice KDE-èéí õ³ðýýíèéõýí KDE-ýýñ ãàäíà àøèãëàãäàæ áîëîõ îèñèéí öóãëóóëãàòàé °°ðèéí øèðýýíèé îð÷èíã °ãä°ã. Ýíý íü áóñàä îèñèéí öóãëóóëãàä áàéäàã ä°ðâ°í ñòàíäàðò á³ðýëäýõ³³íèéã àãóóëäàã. KWord íü òåêñò áîëîâñðóóëàã÷, KSpread íü õ³ñíýãòòýé àæèëëàäàã ïðîãðàì, KPresenter íü òàíèëöóóëãóóäûã óäèðääàã á°ã°°ä Kontour íü ãðàèê áàðèìòóóäûã çóðàõûã ç°âø°°ðí°. Õàìãèéí ñ³³ë÷èéí KOffice-ã ñóóëãàõààñàà °ìí° òà KDE-èéí õàìãèéí øèíý÷ëýãäñýí õóâèëáàðòàé ýñýõýý øàëãààðàé. KOffice-èéã áàãö õýëáýðýýð ñóóëãàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # pkg_add -r koffice
Õýðýâ áàãö áàéõã³é áîë òà ïîðòûí öóãëóóëãûã àøèãëàæ áîëíî. Æèøýý íü KDE3-ä çîðèóëæ KOffice-ã ñóóëãàõûí òóëä äîîð äóðäñàíûã àæèëëóóëíà: # cd /usr/ports/editors/koffice-kde3 # make install clean
6.3.2 AbiWord AbiWord íü Microsoft Word-òîé ò°ñòýé õàðàãäàæ, ñàíàãääàã, ÷°ë°°òýé, òåêñò áîëîâñðóóëàã÷ ïðîãðàì þì. Ýíý íü áè÷èã, çàõèäàë, òàéëàí, ñàíóóëãà ãýõ çýðã³³äèéã áè÷èõýä òîõèðîìæòîé þì. Ýíý íü ìàø õóðäíààñ ãàäíà îëîí áîëîìæóóäûã àãóóëäàã á°ã°°ä õýðýãëýã÷èä ìàø õÿëáàð áàéäàã.
AbiWord íü Microsoft-èéí .doc çýðýã àðèëæààíûõûã îðóóëààä îëîí àéëûí õýëáýðøèëò³³äèéã èìïîðò áîëîí ýêñïîðò õèéæ ÷àääàã. AbiWord íü áàãö õýëáýðýýð áàéäàã. Òà äàðààõ òóøààëûã àæèëëóóëàí ³³íèéã ñóóëãàæ áîëíî:
# pkg_add -r abiword
Õýðýâ áàãö áàéõã³é áîë ³³íèéã ïîðòûí öóãëóóëãààñ ýìõýòãýæ áîëíî. Ïîðòûí öóãëóóëãà øèíý÷ëýãäñýí áàéõ ¼ñòîé. ³íèéã èíãýæ õèéæ áîëíî:
164
Chapter 6 Øèðýýíèé ïðîãðàìóóä # cd /usr/ports/editors/abiword # make install clean
6.3.3 GIMP
Çóðãèéã çîõèîõ ýñâýë ä³ðñ òîäðóóëàõ òîõèîëäîëä GIMP íü ìàø íàðèéí, çóðàãòàé àæèëëàõ ïðîãðàì þì. Ýíý íü ýíãèéí áóäàõ ïðîãðàì ýñâýë ÷àíàðòàé, îòî çóðàã òîäðóóëàõ öóãëóóëãà áîëãîí àøèãëàãäàæ áîëîõ þì. Ýíý íü îëîí òîîíû íýìýëò çàëãààñûã (plug-ins) äýìæäýã á°ã°°ä ñêðèïò õèéõ èíòåðýéñèéí áîëîìæóóäòàé áàéäàã. GIMP íü ò°ð°ë á³ðèéí àéëûí õýëáýðøèëò³³äèéã óíøèæ, áè÷èæ ÷àääàã. Ýíý íü ñêàííåð áîëîí ç°°âðèéí öàõèì ò°õ°°ð°ìæòýé (tablet) õîëáîãäîõ áîëîìæèéã äýìæäýã. Òà ýíý òóøààëûã àæèëëóóëàí áàãöûã ñóóëãàæ áîëíî: # pkg_add -r gimp
Õýðýâ òàíû FTP ñàéò ýíý áàãöã³é áàéãàà áîë òà ïîðòûí öóãëóóëãûã àøèãëàæ áîëíî. Ïîðòûí öóãëóóëãûí graphics (http://www.FreeBSD.org/ports/graphics.html) ñàí áàñ Gimp Manual ïðîãðàìûã àãóóëäàã. Ýíä òýäãýýðèéã õýðõýí ñóóëãàõ òàëààð ³ç³³ëýâ: # # # #
cd /usr/ports/graphics/gimp make install clean cd /usr/ports/graphics/gimp-manual-pdf make install clean
Note: Ïîðòûí öóãëóóëãûí graphics (http://www.FreeBSD.org/ports/graphics.html) ñàí GIMP-èéí õ°ãæ³³ëýëòèéí õóâèëáàðûã graphics/gimp-devel ñàíä àãóóëäàã. Gimp Manual-èéí HTML õóâèëáàð íü graphics/gimp-manual-html ñàíä áàéäàã.
6.3.4 OpenOffice.org OpenOffice.org íü á³õ øààðäëàãàòàé ïðîãðàìóóäûã á³ðýí ã³éöýä îèñèéí á³òýýìæèéí öóãëóóëãàäàà àãóóëñàí áàéäàã: ýíä òåêñò áîëîâñðóóëàã÷, õ³ñíýãòòýé àæèëëàõ ïðîãðàì, òàíèëöóóëãûí ìåíåæåð, áîëîí çóðãèéí ïðîãðàìûã äóðäàæ áîëíî. Óã ïðîãðàìûí õýðýãëýã÷èéí èíòåðýéñ íü áóñàä îèñèéí öóãëóóëãóóäòàé èõ ò°ñòýé á°ã°°ä ò°ð°ë á³ðèéí àéëûí õýëáýðøèëò³³äèéã èìïîðò, ýêñïîðò õèéæ ÷àääàã áàéíà. Ýíý íü èíòåðýéñ³³ä, àëäàà øàëãàã÷èä áîëîí òîëüíóóäûã îðîëöóóëààä õýä õýäýí °°ð õýëí³³ä äýýð áàéäàã.
OpenOffice.org-èéí òåêñò áîëîâñðóóëàã÷ íü ýõ XML àéëûí õýëáýðøèëòèéã ç°°â°ðë°ãä°õ áîëîìæ áà óÿí õàòàí ÷àíàðûã ñàéæðóóëàõ çîðèëãîîð àøèãëàäàã. Õ³ñíýãòòýé àæèëëàõ ïðîãðàì íü ìàêðî õýëíèé áîëîìæòîé á°ã°°ä ãàäíàõ ìýäýýëëèéí áààçóóäòàé õîëáîãäîõ áîëîìæòîé áàéäàã. OpenOffice.org íü àëü õýäèéí òîãòâîðòîé áîëñîí á°ã°°ä Windows, Solaris™, Ëèíóêñ, FreeBSD, áîëîí Mac OS X äýýð àæèëëàäàã. OpenOffice.org-èéí òóõàé èë³³ ìýäýýëëèéã OpenOffice.org âýá ñàéò (http://www.openoffice.org/)ààñ îëæ áîëíî. FreeBSD-òýé õîëáîîòîé ìýäýýëýë áîëîí áàãöóóäûã øóóä òàòàæ àâàõûí òóëä FreeBSD OpenOffice.org Õ°ðâ³³ëýõ Áàã (http://porting.openoffice.org/freebsd/)èéí âýá ñàéòûã àøèãëàíà óó. OpenOffice.org-èéã ñóóëãàõûí òóëä äîîð äóðäñàíûã àæèëëóóëíà: # pkg_add -r openoffice.org
165
Chapter 6 Øèðýýíèé ïðîãðàìóóä Note: FreeBSD-èéí -RELEASE õóâèëáàðûã àæèëëóóëæ áàéõàä ýíý íü àæèëëàõ ¼ñòîé. ã³é áîë òà òîõèðîõ áàãöûã òàòàí àâ÷ pkg_add(1) àøèãëàí ñóóëãàõûí òóëä FreeBSD-èéí OpenOffice.org Õ°ðâ³³ëýõ Áàãèéí âýá õàÿãò õàíäàõ õýðýãòýé. Îäîîãèéí õóâèëáàð áîëîí õ°ãæ³³ëýëòèéí õóâèëáàð íü ýíä òàòàæ àâàãäàõààð áàéðëàäàã.
Áàãö ñóóëãàãäñàíû äàðàà OpenOffice.org-èéã àæèëëóóëàõûí òóëä òà åðä°° ë äàðààõ òóøààëûã áè÷èõ õýðýãòýé: % openoffice.org
Note: Ýõíèé óäàà àæèëëóóëàõàä òàíààñ çàðèì íýã àñóóëòóóä àñóóõ á°ã°°ä .openoffice.org2 ñàí òàíû ãýðèéí ñàíä ³³ñãýãäýõ áîëíî.
Õýðýâ OpenOffice.org áàãöóóä áàéõã³é áîë ïîðòûã ýìõýòãýõ ñîíãîëò òàíä áàñ áàéäàã. ýõäýý ýíý íü äèñêíèé àñàð èõ çàé áîëîí ýìõýòãýõ õóãàöàà èõèéã øààðäàíà ãýäãèéã òà ñàíàæ áàéõ ¼ñòîé ø³³. # cd /usr/ports/editors/openoffice.org-2 # make install clean
Note: Õýðýâ òà ëîêàë÷ëàãäñàí õóâèëáàðûã á³òýýõèéã õ³ñýæ áàéãàà áîë ò³ð³³÷èéí òóøààëûí ì°ðèéã äàðààõ ì°ð°°ð ñîëèõ õýðýãòýé: # make LOCALIZED_LANG=your_language install clean
Òà your_language ì°ðèéã ç°â õýëíèé ISO êîäîîð ñîëèõ õýðýãòýé. Äýìæèãäñýí õýëíèé êîäóóäûí æàãñààëò ïîðòûí ñàíä áàéõ files/Makefile.localized àéëä áàéäàã.
³íèéã õèéñíèé äàðàà OpenOffice.org-ã äàðààõ òóøààëààð àæèëëóóëæ áîëíî: % openoffice.org
6.4
Áè÷èã áàðèìò ³ç³³ëýã÷èä
Áàðèìòûí çàðèì íýãýí øèíý õýëáýðøèëò³³ä UNIX-èéã áèé áîëñîí öàãààñ ýõëýí ò³ãýýìýë áîëñîí áèëýý. Òýäãýýðèéí øààðääàã ñòàíäàðò ³ç³³ëýã÷èä ³íäñýí ñèñòåìä áàéõã³é áàéæ áîëîõ þì. Áèä òýäãýýð ³ç³³ëýã÷äèéã õýðõýí ñóóëãàõûã ýíý õýñýãò ³çýõ áîëíî. Ýíý õýñýã íü ýäãýýð ïðîãðàìóóäûã àâ÷ ³çýõ áîëíî:
Ïðîãðàìûí íýð
Ïîðòîîñ ñóóëãàõ
îë õàìààðëóóä
Acrobat Reader
Øààðäëàãàòàé ýõ ³³ñâýð³³ä áàãà
õ°íã°í
gv
áàãà
õ°íã°í
Ëèíóêñèéí õî¼ðòûí õýëáýðòýé íèéöòýé áàéäàë Xaw3d
166
Chapter 6 Øèðýýíèé ïðîãðàìóóä
Ïðîãðàìûí íýð Xpdf GQview
Øààðäëàãàòàé ýõ ³³ñâýð³³ä áàãà áàãà
Ïîðòîîñ ñóóëãàõ
îë õàìààðëóóä
õ°íã°í õ°íã°í
FreeType Gtk+ ýñâýë GNOME
6.4.1 Acrobat Reader®
Îëîí áàðèìòóóä íü îäîî PDF àéë õýëáýðýýð òàðààãääàã á°ã°°ä ýíý íü “Portable Document Format” áóþó ç°°âðèéí áàðèìòûí õýëáýðøèëò ãýãääýã. Ýäãýýð àéëóóäûí ò°ðë³³äýä çîðèóëñàí, ç°âë°ä°ã ³ç³³ëýã÷äèéí íýã íü Adobe-îîñ ãàðãàñàí Ëèíóêñä çîðèóëñàí Acrobat Reader þì. FreeBSD íü Ëèíóêñèéí õî¼ðòûí õýëáýðèéí ïðîãðàìóóäûã àæèëëóóëæ ÷àääàã áîëîõîîð ýíý íü FreeBSD-ä áàñ áàéäàã þì. Ïîðòûí öóãëóóëãààñ Acrobat Reader 7-ã ñóóëãàõûí òóëä äîîð äóðäñàíûã õèéíý: # cd /usr/ports/print/acroread7 # make install clean
Ëèöåíçèéí õÿçãààðëàëòóóäààñ áîëîîä áàãö áàéäàãã³é. 6.4.2 gv gv íü PostScript áîëîí PDF ³ç³³ëýã÷ þì. Ýíý íü ýõëýýä ghostview äýýð ñóóðèëñàí áîëîâ÷ Xaw3d ñàíãèéí òóñëàìæòàé èë³³ ñàéõàí õàðàãäàõ áîëñîí. Ýíý íü õóðäàí á°ã°°ä èíòåðýéñ íü öýâýðõýí áàéäàã. gv íü áàéðëóóëàëò, öààñíû õýìæýý, ìàñøòàá ýñâýë antialias çýðýã îëîí áîëîìæóóäòàé áàéäàã. Áàðàã á³õ ³éëäë³³ä íü ãàðààñ ýñâýë õóëãàíààñ õèéãäýæ áîëíî. gv-ã áàãö õýëáýðýýð ñóóëãàõûí òóëä äîîð äóðäñàíûã õèéíý: # pkg_add -r gv
Õýðýâ òà áàãöûã àâ÷ ÷àäàõã³é áàéãàà áîë ïîðòûí öóãëóóëãûã àøèãëàæ áîëíî: # cd /usr/ports/print/gv # make install clean
6.4.3 Xpdf
Õýðýâ òà æèæèã FreeBSD PDF ³ç³³ëýã÷èéã õ³ñýæ áàéãàà áîë Xpdf íü õ°íã°í á°ã°°ä ³ð àøèãòàé ³ç³³ëýã÷ þì. Ýíý íü ìàø ö°°í ýõ ³³ñâýð³³äèéã øààðääàã á°ã°°ä ìàø òîãòâîðòîé àæèëëàäàã. Ñòàíäàðò X îíòóóäûã àøèãëàäàã á°ã°°ä Motif þì óó ýñâýë áóñàä äóðûí X õýðýãñë³³äèéã øààðääàãã³é. Xpdf áàãöûã ñóóëãàõûí òóëä ýíý òóøààëûã àæèëëóóëíà: # pkg_add -r xpdf
Áàãö áàéõã³é þì óó ýñâýë òà ïîðòûí öóãëóóëãà àøèãëàõûã èë³³ä ³çýæ áàéãàà áîë äîîð äóðäñàíûã õèéíý: # cd /usr/ports/graphics/xpdf # make install clean
167
Chapter 6 Øèðýýíèé ïðîãðàìóóä
Ñóóëãàö äóóññàíû äàðàà òà Xpdf-ã àæèëëóóëæ õóëãàíû áàðóóí òîâ÷èéã àøèãëàæ öýñèéã èäýâõæ³³ëæ áîëíî. 6.4.4 GQview GQview íü çóðãèéí ìåíåæåð þì. Òà àéëûã ãàíö äàðàëòààð ³çýõ, ãàäààä çàñâàðëàã÷èéã àæèëëóóëàõ, çóðãèéã æèæãýýð óðüä÷èëàí ³ç³³ëýõ çýðýã îëîí ç³éëñèéã õèéæ áîëîõ þì. Ýíý íü áàñ slideshow áóþó öîìî㠳糳ëýõ ãîðèì áîëîí àéëûí çàðèì íýã ³íäñýí ³éëäë³³äòýé. Òà çóðãèéí öóãëóóëãóóäûã óäèðäàæ äàâòàãäàæ áàéãààã íü õÿëáàðõàí îëæ áîëíî. GQview íü á³ðýí äýëãýöýýð ³ç³³ëýõ áîëîí èíòåðíàöèîíàë÷ëàëûã äýìæäýã.
Õýðýâ òà GQview áàãöûã ñóóëãàõûã õ³ñýæ áàéãàà áîë äîîð äóðäñàíûã õèéíý:
# pkg_add -r gqview
Áàãö áàéõã³é þì óó ýñâýë òà ïîðòûí öóãëóóëãà àøèãëàõûã èë³³ä ³çýæ áàéãàà áîë äîîð äóðäñàíûã õèéíý: # cd /usr/ports/graphics/gqview # make install clean
6.5
Ñàíõ³³
Õýðýâ ÿìàð íýãýí øàëòãààíààð òà °°ðèéí õóâèéí ñàíõ³³ã FreeBSD øèðýýíèé êîìïüþòåð äýýðýý óäèðäàõûã õ³ñýæ áàéãàà áîë õ³÷èðõýã, àøèãëàõàä õÿëáàð, ñóóëãàõàä áýëýí çàðèì íýã ïðîãðàìóóä áàéäàã. Òýäãýýðèéí çàðèì íýã íü Quicken® ýñâýë Excel áàðèìòóóäàä õýðýãëýãääýãòýé àäèë ò°ð°ë á³ðèéí àéëûí õýëáýðøèëò³³äòýé íèéöòýé áàéäàã. Ýíý õýñýã íü ýäãýýð ïðîãðàìóóäûã àâ÷ ³çýõ áîëíî:
Ïðîãðàìûí íýð GnuCash Gnumeric Abacus KMyMoney
Øààðäëàãàòàé ýõ ³³ñâýð³³ä áàãà áàãà áàãà áàãà
Ïîðòîîñ ñóóëãàõ õ³íä õ³íä õ°íã°í õ³íä
îë õàìààðëóóä GNOME GNOME Tcl/Tk KDE
6.5.1 GnuCash GnuCash íü ýöñèéí õýðýãëýã÷äýä õýðýãëýõýä õÿëáàð, áàñ õ³÷èðõýã ïðîãðàìóóäûí áîëîìæèéã îëãîõ GNOME-èéí ÷àðìàéëòûí íýã õýñýã þì. GnuCash-èéí òóñëàìæòàé òà °°ðèéí îðëîãî áîëîí çàðëàãóóä, áàíêíû äàíñíóóä áîëîí õóâüöààíóóäàà õÿíàæ ÷àäàõ þì. Ýíý íü õÿëáàð èíòåðýéñòýéãýýñ ãàäíà ìàø ìýðãýæëèéí ïðîãðàì þì. GnuCash íü óõààëàã ðåãèñòð, ñèñòåìèéí øàòàëñàí á³ðòãýë³³ä, ãàðûí îëîí õóðäàñãàã÷èä áîëîí àâòîìàòààð ã³éöýýõ àðãóóäòàé áàéäàã. Ýíý íü ãàíö ã³éëãýýã õýä õýäýí, èë³³ äýëãýðýíã³é õýñã³³äýä õóâààæ ÷àääàã. GnuCash íü Quicken QIF àéëóóäûã èìïîðò õèéí íèéë³³ëæ ÷àääàã. Ì°í îëîí óëñûí
168
Chapter 6 Øèðýýíèé ïðîãðàìóóä
îãíîî áîëîí ì°íã°í òýìäýãòèéí õýëáýð³³äòýé àæèëëàæ áàñ ÷àääàã áàéíà. °ðèéí ñèñòåì äýýðýý GnuCash-èéã ñóóëãàõûí òóëä äîîð äóðäñàíûã õèéíý: # pkg_add -r gnucash
Õýðýâ áàãö áàéõã³é áàéãàà áîë òà ïîðòûí öóãëóóëãûã àøèãëàæ áîëíî: # cd /usr/ports/finance/gnucash # make install clean
6.5.2 Gnumeric Gnumeric íü õ³ñíýãòòýé àæèëëàäàã ïðîãðàì á°ã°°ä GNOME øèðýýíèé îð÷íû õýñýã þì. Ýíý íü õýðýãëýõýä õÿëáàð, îëîí äàðààëëûí õóâüä àâòîìàòààð ä³³ðãýõ ñèñòåì á³õèé ³³ðíèé õýëáýðèéí äàãóó õýðýãëýã÷èéí îðóóëæ áàéãàà ç³éëèéã àâòîìàòààð “òààõ” áîëîìæòîé áàéäàã. Áàñ Excel, Lotus 1-2-3, ýñâýë Quattro Pro çýðýã õýä õýäýí ò³ãýýìýë õýëáýðøèëò³³äýýñ àéëóóäûã èìïîðò õèéæ ÷àääàã. Gnumeric íü çóðàã çóðàõ math/guppi ïðîãðàìûí òóñëàìæòàé çóðàã çóðàëòûã äýìæäýã. Áàñ ìàø îëîí òîîíû öóã á³òýýãäñýí óíêöóóäòàé á°ã°°ä òîî, ì°íã°í òýìäýãò, îãíîî, öàã çýðýã îëîí, á³õ ýíãèéí ³³ðíèé õýëáýð³³äèéã ç°âø°°ðä°ã. Gnumeric-èéã áàãöààñ ñóóëãàõûí òóëä äîîð äóðäñàíûã õèéíý:
# pkg_add -r gnumeric
Õýðýâ áàãö áàéõã³é áîë òà äîîð äóðäñàíûã õèéí ïîðòûí öóãëóóëãûã àøèãëàæ áîëíî: # cd /usr/ports/math/gnumeric # make install clean
6.5.3 Abacus Abacus íü æèæèã á°ã°°ä àøèãëàõàä õÿëáàð õ³ñíýãòòýé àæèëëàõ ïðîãðàì þì. Ýíý íü ñòàòèñòèê, ñàíõ³³ áîëîí ìàòåìàòèê çýðýã õýä õýäýí ñàëáàðò õýðýãòýé, °°ðò íü öóã á³òýýãäñýí óíêöóóäòàé áàéäàã. Ýíý íü Excel àéëûí õýëáýðøèëòèéã èìïîðò, ýêñïîðò õèéæ ÷àääàã. Ì°í Abacus íü PostScript ãàðàëòààð ãàðãàæ ÷àääàã áàéíà. Abacus-èéã áàãö õýëáýðýýð íü ñóóëãàõûí òóëä äîîð äóðäñàíûã àæèëëóóëíà:
# pkg_add -r abacus
Õýðýâ áàãö áàéõã³é áîë òà äîîð äóðäñàíûã õèéí ïîðòûí öóãëóóëãûã àøèãëàæ áîëíî: # cd /usr/ports/deskutils/abacus # make install clean
6.5.4 KMyMoney KMyMoney íü KDE-ä çîðèóëñàí õóâèéí ñàíõ³³ãèéí ìåíåæåð þì. KMyMoney íü àðèëæààíû çîðèëãîîð
õèéãäñýí õóâèéí ñàíõ³³ãèéí ìåíåæåð ïðîãðàìóóäàä áàéäàã á³õ ë ÷óõàë áîëîìæóóäûã °°ðò°° àãóóëñàí 169
Chapter 6 Øèðýýíèé ïðîãðàìóóä
áàéäàã. Áàñ àøèãëàõàä õÿëáàð, äàõèí îðóóëàõ ç°â á³ðòãýëèéí ñèñòåì çýðýã áîëîìæóóäûã íü äóðäàæ áîëîõ þì. KMyMoney íü ñòàíäàðò Quicken Interchange Format (QIF) á³õèé àéëóóäààñ èìïîðò õèéæ ÷àääàãààñ ãàäíà õ°ð°íã° îðóóëàëòûã õÿíàõ, îëîí ò°ðëèéí ì°íã°í òýìäýãò³³äòýé àæèëëàæ ÷àääàã á°ã°°ä áàÿëàã òàéëàíãóóäûã ãàðãàæ ÷àääàã. OFX èìïîðò õèéõ áîëîìæóóä íü áàñ òóñäàà çàëãààñûí òóñëàìæòàé õèéãäýæ áîëäîã áàéíà. KMyMoney-ã áàãö õýëáýðýýñ ñóóëãàõûí òóëä äàðààõèéã õèéíý: # pkg_add -r kmymoney2
Õýðýâ áàãö áàéõã³é áîë ïîðòûí öóãëóóëãààñ ñóóëãàæ áîëíî: # cd /usr/ports/finance/kmymoney2 # make install clean
6.6
ijãíýëò
FreeBSD íü ISP-óóäûí äóíä °°ðèéí àæèëëàãàà áîëîí íàéäâàðòàé áàéäëààðàà àëäàðòàé áàéäàã ÷ ãýñýí ò³³íèéã °ä°ð òóòàì øèðýýíèé êîìïüþòåð áîëãîí àøèãëàõàä áàðàã ë áýëýí áîëæýý. Áàãöóóä (http://www.FreeBSD.org/where.html) ýñâýë ïîðòóóä (http://www.FreeBSD.org/ports/index.html) õýëáýðýýð
õýäýí ìÿíãàí ïðîãðàìóóäòàé áîëîõîîð °°ðèéí ÷èíü á³õ õýðýãöýýã õàíãàñàí ò°ãñ øèðýýíèé êîìïüþòåðèéã òà á³òýýæ áîëîõ þì. Ýíý á³ëýãò àâ÷ ³çñýí øèðýýíèé á³õ ïðîãðàìóóäûí òîéìûã ýíä äóðäàâ:
Ïðîãðàìûí íýð
Áàãöûí íýð
Ïîðòûí íýð
Opera
opera
www/opera
Firefox KOffice
firefox
www/firefox
koffice-kde3
editors/koffice-kde3
AbiWord GIMP
abiword
editors/abiword
gimp
graphics/gimp
OpenOffice.org Acrobat Reader
openoffice
editors/openoffice-1.1
acroread
print/acroread7
gv Xpdf
gv
print/gv
xpdf
graphics/xpdf
GQview
gqview
graphics/gqview
GnuCash Gnumeric
gnucash
finance/gnucash
gnumeric
math/gnumeric
Abacus KMyMoney
abacus
deskutils/abacus
kmymoney2
finance/kmymoney2
170
Chapter 7
Ìóëüòèìåäèà
Çàñâàðëàñàí îññ Ëèïïåðò. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 7.1
Åð°íõèé àãóóëãà
FreeBSD íü òàíä °°ðèéí êîìïüþòåðààñ ãàðàõ °íä°ð ÷àíàðûí ãàðàëòàä ñýòãýë õàíàìæòàé áàéõ áîëîìæèéã îëãîæ ò°ð°ë á³ðèéí äóóíû êàðòóóäûã äýìæäýã. Ýíý íü àóäèîã MPEG Àóäèî Äàâõàðãà 3 (MP3), WAV, áîëîí Ogg Vorbis çýðýã áóñàä îëîí õýëáýðøèëò³³äýýð áè÷ëýã õèéõ áîëîí òîãëóóëàõ ÷àäâàðòàé áàéäàã. FreeBSD-èéí ïîðòûí öóãëóóëãà íü òàíû áè÷èãäñýí àóäèîã çàñâàðëàõ, äóóíû í°ë°°ëë³³äèéã íýìýõ áîëîí çàëãàãäñàí MIDI ò°õ°°ð°ìæ³³ä õÿíàõûã ç°âø°°ð°õ ïðîãðàìóóäûã áàñ àãóóëäàã.
Çàðèì íýã òóðøèëòûí òóñëàìæòàéãààð FreeBSD íü âèäåî àéëóóä áîëîí DVD-³³äèéã òîãëóóëàõûã äýìæèæ ÷àääàã. Ò°ð°ë á³ðèéí âèäåî ç°°â°ðë°ã÷èéã êîä÷èëîõ, õ°ðâ³³ëýõ, áîëîí òîãëóóëàõ ïðîãðàìóóäûí òîî äóóíû ïðîãðàìóóäûí òîîòîé õàðüöóóëàõ þì áîë õÿçãààðëàãäìàë áàéäàã. Æèøýý íü, ³³íèéã áè÷èæ áàéõ ³åä, audio/sox-òîé àäèë õýëáýðøèëò³³äèéí õîîðîíä õ°ðâ³³ëýõýä õýðýãëýãäýõ äàõèí êîä÷èëîõ ñàéí ïðîãðàì FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéõã³é áàéãàà áèëýý. ýõäýý ýíý òàëáàð äàõü ïðîãðàì õàíãàìæèéí áàéäàë õóðäàöòàé °°ð÷ë°ãä°æ áàéíà. Ýíý á³ëýã íü òàíû äóóíû êàðòûã òîõèðóóëàõàä øààðäëàãàòàé àëõìóóäûã òàéëáàðëàõ áîëíî. X11-èéí (Chapter 5) òîõèðãîî áîëîí ñóóëãàö íü òàíû âèäåî òîíîã ò°õ°°ð°ìæèéí àñóóäëóóäûã àëü õýäèéí çîõèöóóëñàí áàéäàã áîëîâ÷ èë³³ ñàéí òîãëóóëàõûí òóëä çàðèì íýãýí íàðèéí òîõèðóóëãóóä õèéõ õýðýãòýé áàéæ áîëîõ þì. Ýíý á³ëãèéã óíøèæ äóóññàíû äàðàà òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: Òàíû äóóíû êàðò ÷èíü òàíèãäñàí áàéõààð °°ðèéí ñèñòåìýý õýðõýí òîõèðóóëàõ òàëààð. • Òàíû êàðò àæèëëàæ áàéãààã øàëãàõ àðãóóä. • °ðèéí äóóíû òîõèðãîîíû àëäààã õýðõýí îëæ çàñâàðëàõ òàëààð. • MP3-óóä áîëîí áóñàä àóäèîã õýðõýí òîãëóóëàõ áà êîä÷èëîõ òàëààð. • X ñåðâåðýýð âèäåî õýðõýí äýìæèãäñýí òàëààð. • Ñàéí ³ð ä³í °ãä°ã çàðèì íýãýí òîãëóóëàã÷/êîä÷èëîã÷ ïîðòóóä. • DVD-³³ä, .mpg áîëîí .avi àéëóóäûã õýðõýí òîãëóóëàõ òàëààð. • CD áîëîí DVD-ýýñ àéëóóä óðóó àãóóëãûã õýðõýí àâàõ òàëààð. • TV êàðò õýðõýí òîõèðóóëàõ òàëààð. • ijðñ ñêàí õèéã÷èéã õýðõýí òîõèðóóëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
•
Øèíý ö°ìèéã õýðõýí òîõèðóóëæ ñóóëãàõ òàëààð ìýäýõ (Chapter 8). Warning: mount(8) òóøààëààð àóäèî CD-³³äèéã õîëáîõûã îðîëäîõ íü õàìãèéí ãàéã³éäýý àëäààíä, õàìãèéí ìóóäàà ö°ìèéí ñ³éðýëä õ³ðãýæ áîëîõ þì. Ýäãýýð ç°°â°ðë°ã÷èä íü åðäèéí ISO àéëûí ñèñòåì³³äýýñ ÿëãààòàé òóñãàé êîä÷èëîëóóäòàé áàéäàã.
171
Chapter 7 Ìóëüòèìåäèà
7.2
Äóóíû êàðòûã òîõèðóóëàõ
Õóâü íýìýð áîëãîí îðóóëñàí Ìîçåñ Ìóð. FreeBSD 5.X-ä çîðèóëæ °ðã°æ³³ëñýí Ìàðê Ôîíâèë. 7.2.1
Ñèñòåìèéã òîõèðóóëàõ
Ýõëýõýýñýý °ìí° òà °°ðò°° áàéãàà êàðòûíõàà çàãâàð, àøèãëàæ áàéãàà áè÷èë ñõåì áîëîí PCI ýñâýë ISA êàðòíû àëèí áîëîõûã ìýäýõ øààðäëàãàòàé. FreeBSD íü ò°ð°ë á³ðèéí PCI ýñâýë ISA êàðòóóäûã äýìæäýã. Òîíîã ò°õ°°ð°ìæèéí òýìäýãëýãýý (http://www.FreeBSD.org/releases/7.1R/hardware.html)íèé äýìæèãäñýí àóäèî ò°õ°°ð°ìæ³³äèéí æàãñààëòûã øàëãàæ °°ðèéí êàðòûã äýìæèãäñýí ýñýõèéã ³çýýðýé. Òîíîã ò°õ°°ð°ìæèéí òýìäýãëýãýý íü òàíû êàðòûã ÿìàð äðàéâåð äýìæäýãèéã áàñ õýëýõ áîëíî. °ðèéí äóóíû ò°õ°°ð°ìæèéã àøèãëàõûí òóëä òîõèðîõ ò°õ°°ð°ìæèéí äðàéâåðèéã òà à÷ààëàõ õýðýãòýé áîëíî. ³íèéã õî¼ð àðãûí àëü íýãýýð õèéæ áîëíî. Õàìãèéí àìàðõàí àðãà áîë kldload(8) òóøààëààð °°ðèéí êàðòíûõàà ö°ìèéí ìîäóëèéã òóøààëûí ì°ð°°ñ: # kldload snd_emu10k1
ãýæ à÷ààëàõ þì óó ýñâýë /boot/loader.conf àéëä òîõèðîõ ì°ðèéã èíãýæ íýìýí äóóäàæ áîëíî: snd_emu10k1_load="YES"
Ýäãýýð æèøýýí³³ä íü Creative SoundBlaster® Live! äóóíû êàðòàíä çîðèóëàãäñàí þì. Áóñàä áàéãàà äóóäàãäàæ áîëîõ äóóíû ìîäóëèóä /boot/defaults/loader.conf-ä æàãñààãäñàí áàéäàã. Õýðýâ òà àëü äðàéâåðèéã àøèãëàõàà ìýäýõã³é ýðãýëçýæ áàéâàë snd_driver ìîäóëèéã äóóäàæ ³çýæ áîëîõ þì: # kldload snd_driver
Ýíý íü õàìãèéí ò³ãýýìýë äðàéâåðóóäûã íýã óäàà à÷ààëäàã ìåòàäðàéâåð þì. Ýíý íü ç°â äðàéâåðèéã õàéõûã õóðäàñãàäàã. Äóóíû á³õ äðàéâåðóóäûã /boot/loader.conf àéëààð à÷ààëàõ áàñ áîëîìæòîé áàéäàã. snd_driver ìåòàäðàéâåðèéã äóóäñàíû äàðàà òà °°ðèéí äóóíû êàðòäàà ÿìàð äðàéâåð ñîíãîãäñîíûã îëîõûã õ³ñâýë /dev/sndstat àéëûã cat /dev/sndstat òóøààëûí òóñëàìæòàé øàëãàæ áîëîõ þì. Õî¼ð äàõü àðãà íü °°ðèéí äóóíû êàðòûí äýìæëýãèéã °°ðèéí ö°ìä°° ýìõýòãýõ ÿâäàë þì. Äîîðõ õýñýã íü ýíý àðãààð °°ðèéí òîíîã ò°õ°°ð°ìæèä çîðèóëàí äýìæëýã íýìýõýä øààðäëàãàòàé ìýäýýëëèéã °ãí°. °ðèéí ö°ìèéã äàõèí ýìõýòãýõ òóõàé äýëãýðýíã³é ìýäýýëëèéã Chapter 8-ñ ³çíý ³³. 7.2.1.1 Äóóíû äýìæëýãòýé ö°ìèéã òîõèðóóëàõ
Ýõëýýä õèéõ ¼ñòîé ç³éë íü àóäèî òîãòîëöîîíû äðàéâåð sound(4)-ã ö°ì óðóó íýìýõ ÿâäàë þì. Èíãýõèéí òóëä òà äàðààõ ì°ðèéã ö°ìèéí òîõèðãîîíû àéëäàà íýìýõ õýðýãòýé áîëíî: device sound
Äàðàà íü òà °°ðèéí äóóíû êàðòäàà çîðèóëæ äýìæëýã íýìýõ õýðýãòýé. Òèéì áîëîõîîð êàðòûã ÿìàð äðàéâåð äýìæäýãèéã ìýäýõ õýðýãòýé. °ðèéí äóóíû êàðòûí ç°â äðàéâåðèéã òîäîðõîéëîõûí òóëä Òîíîã ò°õ°°ð°ìæèéí òýìäýãëýãýý (http://www.FreeBSD.org/releases/7.1R/hardware.html)íèé äýìæèãäñýí 172
Chapter 7 Ìóëüòèìåäèà
àóäèî ò°õ°°ð°ìæ³³äèéí æàãñààëòûã øàëãàõ õýðýãòýé. Æèøýý íü Creative SoundBlaster Live! äóóíû êàðò íü snd_emu10k1(4) äðàéâåðààð äýìæèãäñýí áàéäàã. Ýíý êàðòàíä çîðèóëæ äýìæëýã íýìýõèéí òóëä äîîð äóðäñàíûã àøèãëàíà: device snd_emu10k1
Õýðõýí àøèãëàõ òàëààð äðàéâåðèéí ãàðûí àâëàãûí õóóäàñíààñ óíøèõàà ìàðòóóçàé. Äýìæèãäñýí äóóíû äðàéâåðóóäûí ö°ìèéí òîõèðãîîíû ç°â áè÷èãëýëèéã /usr/src/sys/conf/NOTES àéëààñ áàñ îëæ áîëíî. PnP áèø ISA äóóíû êàðòóóä íü ö°ìèéã êàðòûí òîõèðóóëãóóäûí (IRQ, I/O ïîðò, ãýõ ìýò) òóõàé ìýäýýëýëòýé íü òàíààñ øààðäàæ áîëîõ þì. Ýíý íü á³õ PnP áèø ISA äóóíû êàðòóóäûí õóâüä ³íýí áàéäàã. ³íèéã /boot/device.hints àéëûí òóñëàìæòàé õèéäýã. Ñèñòåìèéã à÷ààëàõ ³åä loader(8) íü ýíý àéëûã óíøèæ òîõèðóóëãóóäûã ö°ì óðóó äàìæóóëäàã. Æèøýý íü õóó÷èí Creative SoundBlaster 16 ISA PnP áèø êàðò snd_sbc(4) äðàéâåðèéã snd_sb16-òàé öóã àøèãëàõ áîëíî. Ýíý êàðòíû õóâüä äàðààõ ì°ð³³äèéã ö°ìèéí òîõèðãîîíû àéëä íýìýõ õýðýãòýé: device snd_sbc device snd_sb16
á°ã°°ä áàñ äîîð äóðäñàíûã /boot/device.hints-ä íýìýõ õýðýãòýé: hint.sbc.0.at="isa" hint.sbc.0.port="0x220" hint.sbc.0.irq="5" hint.sbc.0.drq="1" hint.sbc.0.flags="0x15"
Ýíý òîõèîëäîëä êàðò íü 0x220 I/O ïîðò áîëîí IRQ 5-ûã àøèãëàæ áàéíà. /boot/device.hints àéëä àøèãëàñàí ç°â áè÷èãëýëèéí òàëààð sound(4) äðàéâåðèéí ãàðûí àâëàãûí õóóäàñ áîëîí àøèãëàõ ãýæ áàéãàà äðàéâåðèéí ãàðûí àâëàãûí õóóäñàíä °ã³³ëñýí áàéäàã. Äýýð ³ç³³ëñýí òîõèðóóëãóóä íü àíõäàã÷óóä þì. Çàðèì òîõèîëäîëä òà IRQ þì óó ýñâýë áóñàä òîõèðóóëãóóäûã °°ðèéí êàðòäàà òààðóóëàí °°ð÷ë°õ õýðýã ãàð÷ áîëîõ þì. Ýíý êàðòíû òàëààð äýëãýðýíã³é ìýäýýëëèéã snd_sbc(4) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. 7.2.2
Äóóíû êàðòûã òåñò õèéõ
°ð÷èëñ°í ö°ìèéã äàõèí à÷ààëñíû äàðàà ýñâýë øààðäëàãàòàé ìîäóëèéã äóóäñàíû äàðàà äóóíû êàðò íü èéìýðõ³³ãýýð òàíû ñèñòåìèéí ìýäýãäëèéí áóåðò (dmesg(8)) ãàð÷ èðýõ ¼ñòîé: pcm0: port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0 pcm0: [GIANT-LOCKED] pcm0:
Äóóíû êàðòûí ò°ë°âèéã /dev/sndstat àéëûí òóñëàìæòàé øàëãàæ áîëíî: # cat /dev/sndstat
FreeBSD Audio Driver (newpcm) Installed devices: pcm0: at io 0xd800, 0xdc80 irq 5 bufsz 16384
173
Chapter 7 Ìóëüòèìåäèà kld snd_ich (1p/2r/0v channels duplex default)
Òàíû ñèñòåìýýñ ãàðàõ ãàðàëò °°ð °°ð áàéæ áîëíî. Õýðýâ ÿìàð ÷ pcm ò°õ°°ð°ìæ³³ä ãàð÷ èðýõã³é áàéâàë áóöààä óðüä íü þó õèéñíèéãýý äàõèí øàëãàõ õýðýãòýé. °ðèéí ö°ìèéí òîõèðãîîíû àéëûã äàõèí øàëãàæ ç°â ò°õ°°ð°ìæèéí äðàéâåð ñîíãîãäñîí ýñýõèéã øàëãààðàé. Íèéòëýã àñóóäëóóä Section 7.2.2.1 õýñýãò æàãñààãäñàí áàéãàà. Õýðýâ á³ãä ç³ãýýð áîëâîë îäîî òà àæèëëàãààòàé äóóíû êàðòòàé áàéõ ¼ñòîé. Õýðýâ òàíû CD-ROM ýñâýë DVD-ROM õ°ò÷èéí äóóíû ãàðàëòûí õîëáîã÷ òàíû äóóíû êàðòòàé ç°â õîëáîãäñîí áîë òà õ°ò°÷ä°° CD õèéæ ò³³íèéã cdcontrol(1)-îîð òîãëóóëæ áîëíî: % cdcontrol -f /dev/acd0 play 1
audio/workman
çýðýã ò°ð°ë á³ðèéí ïðîãðàìóóä íü èë³³ í°õ°ðñ°ã èíòåðýéñèéí áîëîìæòîé áàéäàã. Òà
MP3 àóäèî àéëóóä ñîíñîõûí òóëä audio/mpg123 çýðýã ïðîãðàìûã ñóóëãàõûã õ³ñýæ áîëîõ þì.
Êàðòûã õóðäàí òåñò õèéõ °°ð íýã àðãà áîë /dev/dsp óðóó °ã°ãä°ë èéìýðõ³³ ìàÿãààð èëãýýõ ÿâäàë þì: % cat filename > /dev/dsp
Ýíä áàéãàà filename íü ÿìàð ÷ àéë áàéæ áîëíî. Ýíý òóøààëûí ì°ð íü øóóãèàí ³³ñãýõ ¼ñòîé á°ã°°ä ýíý íü óã äóóíû êàðò àæèëëàæ áàéãààã áàòàëæ áàéãàà þì. Äóóíû êàðòûí õîëèã÷èéí ò³âøèíã³³äèéã mixer(8) òóøààëààð °°ð÷èëæ áîëíî. Èë³³ äýëãýðýíã³éã mixer(8) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. 7.2.2.1 Íèéòëýã àñóóäëóóä
Àëäàà “sb_dspwr(XX) timed out” “bad irq XX” “xxx: gus pcm not attached, out of memory” “xxx: can’t open /dev/dsp!”
7.2.3
Øèéäýë I/O ïîðò ç°â òîõèðóóëàãäààã³é. IRQ áóðóó òîõèðóóëàãäñàí. Òîõèðóóëàãäñàí IRQ áîëîí äóóíû IRQ àäèë áàéãàà ýñýõèéã øàëãàíà. Ò°õ°°ð°ìæèéí àøèãëàõ õàíãàëòòàé ñàíàõ îé áàéõã³é áàéíà. °ð ïðîãðàì ò°õ°°ð°ìæèéã îíãîðõîé áàðüæ áàéãàà ýñýõèéã fstat | grep dsp òóøààëààð øàëãàíà. Äóðäàõàä èë³³äýõã³é õýðãèéí ýçýä áîë esound áîëîí KDE-èéí äóóíû äýìæëýã³³ä þì.
Äóóíû îëîí ýõ³³äèéã õýðýãëýõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìóíèø ×îïðà. esound ýñâýë artsd íü çàðèì íýã ïðîãðàìóóäòàé äóóíû ò°õ°°ð°ìæèéã õóâààëöàõûã äýìæäýãã³é á°ã°°ä ýíý òîõèîëäîëä çàðèìäàà çýðýã òîãëóóëàõ ÷àäâàðòàé äóóíû îëîí ýõ³³äòýé áàéõ òóéëûí ñîíèðõîë áàéäàã. FreeBSD íü sysctl(8) õýðýãñëèéí òóñëàìæòàé èäýâõæ³³ëæ áîëîõ Âèðòóàë Äóóíû Ñóâãóóä ûí òóñëàìæòàé ³³íèéã õèéõ áîëîìæèéã òàíä îëãîäîã. Âèðòóàë ñóâãóóä íü ö°ìä äóóã õîëèõ çàìààð
174
Chapter 7 Ìóëüòèìåäèà
°°ðèéí äóóíû êàðòûí òîãëóóëàëòûã îëîí áîëãîõûã òàíä ç°âø°°ðä°ã. Âèðòóàë ñóâãóóäûí òîîã òîõèðóóëàõ õî¼ð sysctl-èéí õóâüñàã÷ áàéäàã á°ã°°ä õýðýâ òà root õýðýãëýã÷ áîë èéìýðõ³³ ìàÿãààð ³³íèéã òîõèðóóëæ áîëíî: # sysctl hw.snd.pcm0.vchans=4 # sysctl hw.snd.maxautovchans=4
Äýýðõ æèøýý íü ä°ðâ°í âèðòóàë ñóâãèéã õóâààðèëæ áàéãàà á°ã°°ä ýíý òîî íü °ä°ð òóòìûí õýðýãëýýíä çîðèóëàãäñàí ïðàêòèê òîî þì. hw.snd.pcm0.vchans íü pcm0-èéí âèðòóàë ñóâãóóäûí òîî á°ã°°ä ò°õ°°ð°ìæèéã çàëãàñíû äàðàà òîõèðóóëàõ áîëîìæòîé áîëäîã. hw.snd.maxautovchans íü kldload(8) àøèãëàí çàëãàãäàõ ³åä øèíý àóäèî ò°õ°°ð°ìæèä °ã°ãä°õ âèðòóàë ñóâãóóäûí òîî þì. pcm ò°õ°°ð°ìæ íü òîíîã ò°õ°°ð°ìæèéí äðàéâåðóóäààñ òóñäàà äóóäàãäàæ áîëîõ ó÷ðààñ hw.snd.maxautovchans íü äàðàà íü çàëãàãäàõ ò°õ°°ð°ìæ³³äýä °ã°ãä°õ âèðòóàë ñóâãóóäûí òîîã õàäãàëäàã. Note: Ò°õ°°ð°ìæèéã
àøèãëàæ áàéõàä òà âèðòóàë ñóâãóóäûí òîîã °°ð÷èëæ ÷àäàõã³é. Ýõëýýä õ°ãæèì òîãëóóëàã÷èä þì óó ýñâýë äóóíû äýìîíóóä çýðýã ò°õ°°ð°ìæèéã àøèãëàæ áàéãàà ïðîãðàìóóäûã õààõ õýðýãòýé.
Õýðýâ òà devfs(5)-èéã àøèãëàõã³é áàéãàà áîë °°ðèéí ïðîãðàìóóäàà /dev/dsp0.x óðóó çààæ °ã°õ õýðýãòýé áîëîõ á°ã°°ä äýýðõ æèøýýí äýýðõ øèã hw.snd.pcm.0.vchans 4 ãýæ òîõèðóóëàãäñàí áîë x íü 0-ýýñ 3-èéí õîîðîíä áàéíà. devfs(5) àøèãëàæ áàéãàà ñèñòåì äýýð äýýðõ íü /dev/dsp0-èéã õ³ñýõ ïðîãðàìä ìýäýãäýëã³éãýýð àâòîìàòààð õóâààðèëàãäàõ áîëíî. 7.2.4
Õîëèã÷èéí ñóâãóóäûí àíõäàã÷ óòãóóäûã òîõèðóóëàõ
Õóâü íýìýð áîëãîí îðóóëñàí Æîçå Ýë-ýéýñ. °ð °°ð õîëèã÷èéí ñóâãóóäûí àíõäàã÷ óòãóóä íü pcm(4) äðàéâåðèéí ýõ êîäîíä áè÷èãäýæ õèéãäñýí áàéäàã. Õîëèã÷èéí àæèëëóóëàõ ÿâöàä ñàíàãäñàí óòãóóäûã òîõèðóóëàõ áîëîìæèéã îëãîäîã îëîí ò°ðëèéí ïðîãðàìóóä áîëîí äýìîíóóä áàéäàã áîëîâ÷ ýíý íü öýâýð øèéäýë áèø þì. Õîëèã÷èéí àíõäàã÷ óòãóóäûã äðàéâåðèéí ò³âøèíä òîõèðóóëæ áîëäîã. ³íèéã /boot/device.hints àéëä òîõèðîõ óòãóóäûã òîäîðõîéëîí õèéäýã. °ð°° õýëáýë: hint.pcm.0.vol="50"
Ýíý íü pcm(4) ìîäóëü à÷ààëàãäàõ ³åä äóóíû ñóâãèéí ÷àíãûã àíõäàã÷ óòãà 50 ãýæ òîõèðóóëàõ áîëíî. 7.3 MP3
àóäèî
Õóâü íýìýð áîëãîí îðóóëñàí Øåðí Ëè. MP3 (MPEG Äàâõàðãà 3 Àóäèî) íü CD-òýé îéðîëöîî äóóíû ÷àíàðò õ³ðäýã á°ã°°ä ýíý áîëîìæèéã òàíû FreeBSD àæëûí ñòàíö àøèãëàõã³éãýýð ³ëäýõ ÿìàð íýã øàëòãààí áàéõ ¼ñã³é þì.
175
Chapter 7 Ìóëüòèìåäèà
7.3.1 MP3
òîãëóóëàã÷èä
Õàìãèéí àëäàðòàé X11 MP3 òîãëóóëàã÷ áîë XMMS (X Multimedia System) þì. Nullsoft-èéí Winamp-òàé GUI íü áàðàã ë àäèëõàí áîëîõîîð Winamp-èéí àðüñíóóäûã XMMS-ä àøèãëàæ áîëäîã. XMMS íü °°ðèéí ãýñýí çàëãààñûí äýìæëýãòýé áàñ áàéäàã. XMMS íü multimedia/xmms ïîðòîîñ ýñâýë áàãöààñ ñóóëãàãäàæ áîëäîã. XMMS-èéí èíòåðýéñ íü õÿëáàð á°ã°°ä òîãëóóëàõ æàãñààëò, ãðàèêèéí òýíö³³ëýã÷ áîëîí °°ð îëîí áîëîìæóóäòàé áàéäàã. Winamp-èéã ìýääýã õ³ì³³ñ XMMS-èéã àøèãëàõàä õÿëáàðûã îëæ ìýäýõ áîëíî. audio/mpg123 íü °°ð íýã, òóøààëûí ì°ðèéí MP3 òîãëóóëàã÷ þì. mpg123-èéã òóøààëûí ì°ð°°ñ äóóíû ò°õ°°ð°ìæ áîëîí MP3 àéëûã çààæ °ã°í äîîð ³ç³³ëñýí øèã àæèëëóóëæ áîëíî: # mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. Uses code from various people. See ’README’ for more! THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreatestHits.mp3 ... MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo /dev/dsp1.0-
7.3.2 CD
èéã °°ðèéí ñèñòåì äýýðõ dsp ò°õ°°ð°ìæ°°ð ñîëèõ øààðäëàãàòàé.
Àóäèî çàìóóäûã àâàõ íü
CD ýñâýë CD çàìûã MP3 óðóó êîä÷èëîõîîñîî °ìí° CD äýýðõ àóäèî °ã°ãäëèéã õàòóó õ°ò°÷ óðóóãàà àâàõ ¼ñòîé. Ò³³õèé CDDA (CD Digital Audio) °ã°ãäëèéã WAV àéëóóä óðóó õóóëàí ³³íèéã õèéäýã.
sysutils/cdrtools öóãëóóëãûí cdda2wav õýðýãñýë íü CD-³³äýýñ àóäèî ìýäýýëýë áîëîí òýäãýýðòýé õîëáîîòîé ìýäýýëëèéã àâàõàä õýðýãëýãääýã. Õ°ò°÷èä àóäèî CD áàéõàä äàðààõ òóøààëûã (root-ýýð) àæèëëóóëæ á³õ CD-ã òóñ òóñäàà (çàì òóñ á³ðèéã) WAV àéëóóäàä àâ÷ áîëíî: # cdda2wav -D 0,1,0 -B
cdda2wav íü ATAPI (IDE) CDROM õ°ò÷³³äèéã äýìæèõ áîëíî. IDE õ°ò÷°°ñ àâàõûí òóëä SCSI íýãæèéí äóãààðóóäûí îðîíä ò°õ°°ð°ìæèéí íýðèéã çààõ õýðýãòýé. Æèøýý íü 7-ð çàìûã IDE õ°ò÷°°ñ àâàõûí òóëä: # cdda2wav -D /dev/acd0 -t 7
òîõèðóóëãà íü cdrecord -scanbus òóøààëûí ãàðàëòòàé òààð÷ áàéãàà SCSI ò°õ°°ð°ìæ èéã çààíà. Çàìóóäûã àâàõûí òóëä -t òîõèðóóëãûã äîîð ³ç³³ëñýí øèã àøèãëàíà:
-D 0,1,0 0,1,0-
176
Chapter 7 Ìóëüòèìåäèà # cdda2wav -D 0,1,0 -t 7
Ýíý æèøýý íü àóäèî CDROM-èéí äîëäóãààð çàìûã àâ÷ áàéíà. Õýñýã çàìóóäûã àâàõûí òóëä, æèøýý íü, íýãýýñ äîëîî õ³ðòýëõ çàìûã àâàõûí òóëä õ³ðýýã çààæ °ãí°: # cdda2wav -D 0,1,0 -t 1+7
dd(1) õýðýãñýë ATAPI õ°ò÷³³ä äýýðõ àóäèî çàìóóäûã ãàðãàæ àâàõàä áàñ àøèãëàãäàæ áîëíî. Ýíý áîëîìæèéí òàëààð äýëãýðýíã³éã Section 18.6.5-ñ óíøèíà óó.
óóäûã êîä÷èëîõ
7.3.3 MP3-
í°° ³åä ñîíãîæ áàéãàà mp3 êîä÷èëîã÷ áîë Lame þì. Lame íü audio/lame ïîðòûí ìîäíîîñ îëäîæ áîëíî. Àâñàí WAV àéëóóäûã àøèãëàí äàðààõ òóøààë audio01.wav -ã audio01.mp3 áîëãîí õ°ðâ³³ëíý: # lame -h -b 128 \ --tt "Foo Song Title" \ --ta "FooBar Artist" \ --tl "FooBar Album " \ --ty "2001" \ --tc "Ripped and encoded by Foo" \ --tg "Genre" \ audio01.wav audio01.mp3
128 êáèò íü àøèãëàãäàæ áàéãàà ñòàíäàðò MP3 áèòèéí õóðä þì øèã áàéãàà þì. Îëîí õ³ì³³ñ èë³³ °íä°ð ÷àíàðûí 160 ýñâýë 192 ãýñýí õóðäóóäàä ñýòãýë õàíàìæòàé áàéäàã. Áèòèéí õóðä °íä°ð áîëîõ òóñàì MP3 èë³³ èõ äèñêíèé õýìæýýã àøèãëàõ áîëîâ÷ ÷àíàð °íä°ð áîëäîã. -h òîõèðóóëãà íü “èë³³ °íä°ð ÷àíàðòàé áîëîâ÷ áàãà çýðýã óäààí” ãîðèìûã èäýâõæ³³ëäýã. --t-ýýð ýõýëñýí òîõèðóóëãóóä ID3 ìýäýýëë³³äèéã çààäàã á°ã°°ä ýíý íü MP3 àéë äîòîð îðóóëàõ äóóíû ìýäýýëëèéã èõýâ÷ëýí àãóóëäàã. Íýìýëò êîä÷èëîõ òîõèðóóëãóóäûã lame-èéí ãàðûí àâëàãûí õóóäàñíààñ ëàâëàí îëæ áîëíî.
óóäûã äåêîä õèéõ
7.3.4 MP3-
Àóäèî CD-ã MP3-óóäààñ øàðàõûí òóë òýäãýýð íü øàõàãäààã³é WAV õýëáýðøèëò óðóó õ°ðâ³³ëýãäýõ ¼ñòîé. XMMS áîëîí mpg123 íü MP3-èéí ãàðàëòûã øàõààã³é àéëûí õýëáýðøèëò óðóó ãàðãàõûã äýìæäýã. XMMS-ýýð äèñê óðóó áè÷èõäýý: 1. 2. 3. 4. 5. 6.
XMMS-èéã àæèëëóóëíà.
Öîíõîí äýýð áàðóóí òîâ÷ëóóðûã äàðæ XMMS-èéí öýñèéã ãàðãàíà. Options-îîñ Preference-èéã ñîíãîíî. àðàëòûí Çàëãààñûã (Output Plugin) “Disk Writer Plugin” áîëãîí °°ð÷èëí°. Configure-ã äàðíà. Øàõàãäààã³é àéëóóäûã áè÷èõ ñàíã îðóóëíà (ýñâýë browse-èéã ñîíãîíî).
177
Chapter 7 Ìóëüòèìåäèà MP3 àéëûã XMMS óðóó, äóóíû ÷àíãûã 100% áîëãîí EQ òîõèðãîîíóóäûã õààæ åðäèéíõ°°ð°° äóóäíà. 8. Play-ã äàðíà — XMMS íü MP3 òîãëóóëæ áàéãàà þì øèãýýð ãàðàõ á°ã°°ä ãýõäýý õ°ãæèì ñîíñîãäîõã³é. Ýíý íü ³íýíäýý MP3-èéã àéë óðóó òîãëóóëæ áàéãàà þì. 9. MP3-óóäûã äàõèí ñîíñîõûí òóëä àíõäàã÷ àðàëòûí Çàëãààñûã áóöààæ °ìí° íü áàéñàí øèãýýð òîõèðóóëàõàà ìàðòóóçàé. mpg123-ààð stdout óðóó áè÷èõ: 7.
òóøààëûã àæèëëóóëíà XMMS íü àéëûã WAV õýëáýðøèëòýýð áè÷äýã áîë mpg123 íü MP3-èéã ò³³õèé PCM àóäèî °ã°ãä°ë áîëãîí õ°ðâ³³ëäýã. Ýäãýýð õýëáýðøèëò³³äèéã cdrecord-ä àóäèî CD-³³ä õèéõèéí òóëä àøèãëàæ áîëíî. Òà ò³³õèé PCM-èéã burncd(8)-ä àøèãëàõ ¼ñòîé. Õýðýâ òà WAV àéëóóäûã àøèãëàâàë çàì áîëãîíû ýõýíä áîãèíî òèê ãýñýí ÷èìýýã ìýäðýõ á°ã°°ä ýíý ÷èìýý íü WAV àéëûí òîëãîé þì. Òà WAV àéëûí òîëãîéã SoX õýðýãñýë àøèãëàí àðèëãàæ áîëíî (³³íèéã audio/sox ïîðòîîñ ýñâýë áàãöààñ ñóóëãàæ áîëíî):
1.
mpg123 -s audio01.mp3 > audio01.pcm
% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw
FreeBSD äýýð CD øàðàã÷èéã àøèãëàõ òóõàé èë³³ äýëãýðýíã³é ìýäýýëëèéã Section 18.6-ñ óíøèíà óó.
7.4
Âèäåî òîãëóóëàõ
Õóâü íýìýð áîëãîí îðóóëñàí îññ Ëèïïåðò. Âèäåî òîãëóóëàõ íü ìàø øèíý, õóðäàöòàé õ°ãæèæ áàéãàà õýðýãëýýíèé òàëáàð þì. Õ³ëýýöòýé áàéãààðàé. Äóóíû õóâüä õèéãäñýí øèã á³ãä àñóóäàëã³é àæèëëàõã³é áàéæ áîëîõ þì. Ýõëýõýýñýý °ìí° °°ðèéí âèäåî êàðòûí çàãâàð áîëîí àøèãëàæ áàéãàà áè÷èë ñõåìèéã òà ìýäýõ øààðäëàãàòàé. Xorg áîëîí XFree86 íü ò°ð°ë á³ðèéí âèäåî êàðòóóäûã äýìæäýã áîëîâ÷ ö°°õ°í íü ñàéí òîãëóóëàõ àæèëëàãààòàé áàéäàã. °ðèéí êàðòûã àøèãëàí X ñåðâåðèéí äýìæñýí °ðã°òã°ë³³äèéí æàãñààëòûã àâàõûí òóëä X11-èéã àæèëëàæ áàéõàä íü xdpyinfo(1) òóøààëûã àøèãëàõ õýðýãòýé. Åð íü áîãèíî õýìæýýíèé MPEG àéëòàé áàéõ íü ç³éòýé á°ã°°ä ò°ð°ë á³ðèéí òîãëóóëàã÷ áîëîí òîõèðóóëãóóäûã øàëãàõàä òåñò àéë ìàÿãààð àøèãëàãäàæ áîëîõ þì. Çàðèì íýãýí DVD òîãëóóëàã÷èä àíõäàã÷ààð /dev/dvd-ä DVD ç°°â°ðë°ã÷èéã õàéõ þì óó ýñâýë ýíý ò°õ°°ð°ìæèéí íýðèéã òýäãýýðò áè÷èãäñýí áàéõ ¼ñòîé ãýæ ³çäýã áîëîõîîð òà ñèìáîëûí õîëáîîñûã òîõèðîõ ò°õ°°ð°ìæ³³ä óðóó õèéæ °ã°õ íü àøèãòàé áàéæ áîëîõ þì: # ln -sf /dev/acd0 /dev/dvd # ln -sf /dev/acd0 /dev/rdvd
devfs(5)-èéí õèéãäñýí ÷àíàðààñ õàìààðààä ýäãýýð øèã ãàðààð õèéãäñýí õîëáîîñóóä íü ñèñòåìèéã äàõèí à÷ààëàõàä ³ëääýãã³é. °ðèéí ñèñòåìèéã à÷ààëàõàä àâòîìàòààð ñèìáîëûí õîëáîîñóóä ³³ñãýõèéí òóëä äàðààõ ì°ð³³äèéã /etc/devfs.conf àéëä íýìíý: link acd0 dvd link acd0 rdvd
178
Chapter 7 Ìóëüòèìåäèà
Ì°í òóñãàé DVD-ROM óíêöóóäûã àæèëëóóëàõûã øààðääàã DVD øèðëýëòèéã áóöààõ ³éëäýë íü DVD ò°õ°°ð°ìæ äýýð áè÷èõ ç°âø°°ðëèéã øààðääàã. Õóâààëöñàí ñàíàõ îéí X11 èíòåðýéñèéã °ðã°òã°æ ñàéæðóóëàõûí òóëä çàðèì sysctl(8) õóâüñàã÷äûí óòãóóäûã èõýñãýõ øààðäëàãàòàé áàéäàã: kern.ipc.shmmax=67108864 kern.ipc.shmall=32768
7.4.1
Âèäåî áîëîìæóóäûã òîäîðõîéëîõ íü
X11 äýýð âèäåî㠳糳ëýõ õýä õýäýí áîëîìæèò àðãóóä áàéäàã. ßã þó àæèëëàõ íü ãîë÷ëîí òîíîã ò°õ°°ð°ìæ°°ñ õàìààðíà. Äîîð òàéëáàðëàñàí àðãà á³ð òîíîã ò°õ°°ð°ìæ°°ñ õàìààðààä ÷àíàðûí õóâüä ÿíç á³ð áàéíà. Õî¼ðäóãààðò X11 äýýð âèäåîã àìü îðóóëàõ íü ñ³³ëèéí ³åä ìàø èõ àíõààðàë òàòàæ áàéãàà ñýäýâ á°ã°°ä Xorg, þì óó ýñâýë XFree86-èéí õóâèëáàð á³ðò ÷óõàë ñàéæðóóëàëò õèéãäñýí áàéæ áîëîõ þì. Íèéòëýã âèäåî èíòåðýéñ³³äèéã äóðäâàë: 1. X11: õóâààëöñàí ñàíàõ îéã àøèãëàõ åðäèéí X11 ãàðàëò.
2. XVideo: Äóðûí X11-èéí ä³ðñëýãäýõ áîëîìæòîé ç³éë äýýð âèäåîã äýìæäýã X11 èíòåðýéñèéí °ðã°òã°ë. 3. SDL: Simple Directmedia Layer áóþó ýíãèéí Directmedia äàâõàðãà.
4. DGA: Direct Graphics Access áóþó øóóä ãðàèêèéí õàíäàëò.
5. SVGAlib: äîîä ò³âøíèé êîíñîëûí ãðàèê äàâõàðãà. 7.4.1.1 XVideo
Xorg áîëîí XFree86 4.X íü âèäåîã òóñãàé õóðäàñãóóðààð ä³ðñëýãäýõ³éö îáüåêòóóä äýýð øóóä ³ç³³ëýõèéã ç°âø°°ðä°ã XVideo (áàñ Xvideo, Xv, xv ãýãääýã) ãýãääýã °ðã°òã°ëòýé áàéäàã. Ýíý °ðã°òã°ë íü äîîä ò³âøíèé ÷àíàð ìóóòàé ìàøèí äýýð ÷ ãýñýí âèäåîã ñàéí ÷àíàðòàé òîãëóóëàõ áîëîìæèéã îëãîäîã. ðã°òã°ë àæèëëàæ áàéãàà ýñýõèéã øàëãàõûí òóëä xvinfo òóøààëûã àøèãëàíà: % xvinfo
Õýðýâ ³ð ä³í èéìýðõ³³ õàðàãäâàë XVideo íü òàíû êàðòíû õóâüä äýìæèãäñýí áàéíà: X-Video Extension version 2.2 screen #0 Adaptor #0: "Savage Streams Engine" number of ports: 1 port base: 43 operations supported: PutImage supported visuals: depth 16, visualID 0x22 depth 16, visualID 0x23 number of attributes: 5 "XV_COLORKEY" (range 0 to 16777215) client settable attribute
179
Chapter 7 Ìóëüòèìåäèà client gettable attribute (current value "XV_BRIGHTNESS" (range -128 to 127) client settable attribute client gettable attribute (current value "XV_CONTRAST" (range 0 to 255) client settable attribute client gettable attribute (current value "XV_SATURATION" (range 0 to 255) client settable attribute client gettable attribute (current value "XV_HUE" (range -180 to 180) client settable attribute client gettable attribute (current value maximum XvImage size: 1024 x 1024 Number of image formats: 7 id: 0x32595559 (YUY2) guid: 59555932-0000-0010-8000-00aa00389b71 bits per pixel: 16 number of planes: 1 type: YUV (packed) id: 0x32315659 (YV12) guid: 59563132-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) id: 0x30323449 (I420) guid: 49343230-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) id: 0x36315652 (RV16) guid: 52563135-0000-0000-0000-000000000000 bits per pixel: 16 number of planes: 1 type: RGB (packed) depth: 0 red, green, blue masks: 0x1f, 0x3e0, 0x7c00 id: 0x35315652 (RV15) guid: 52563136-0000-0000-0000-000000000000 bits per pixel: 16 number of planes: 1 type: RGB (packed) depth: 0 red, green, blue masks: 0x1f, 0x7e0, 0xf800 id: 0x31313259 (Y211) guid: 59323131-0000-0010-8000-00aa00389b71 bits per pixel: 6 number of planes: 3 type: YUV (packed) id: 0x0 guid: 00000000-0000-0000-0000-000000000000 bits per pixel: 0 number of planes: 0
is 2110)
is 0)
is 128)
is 128)
is 0)
180
Chapter 7 Ìóëüòèìåäèà type: RGB (packed) depth: 1 red, green, blue masks: 0x0, 0x0, 0x0
Æàãñààãäñàí õýëáýðøèëò³³ä (YUV2, YUV12, ãýõ ìýò) íü XVideo-èéí øèéäýë á³ðò áàéäàãã³é á°ã°°ä òýäãýýðèéí ýíý áàéõã³é ÿâäàë íü çàðèì íýã òîãëóóëàã÷äàä ñààä áîëæ áîëîõûã ñàíààðàé. Õýðýâ ³ð ä³í èéìýðõ³³ õàðàãäàæ áàéâàë: X-Video Extension version 2.2 screen #0 no adaptors present
XVideo òàíû êàðòûí õóâüä äýìæèãäýýã³é áàéõ ìàãàäëàëòàé.
Õýðýâ XVideo íü òàíû êàðòûí õóâüä äýìæèãäýýã³é áàéâàë àìèëóóëæ áàéãàà âèäåî òîîöîîëîëòûí øààðäëàãóóäûã òàíû äýëãýö õàíãàõ íü óëàì èë³³ õýö³³ áîëíî ãýñýí ³ã þì. Òàíû âèäåî êàðò áîëîí ïðîöåññîðîîñ õàìààðààä ìàãàäã³é òà ñýòãýë õàíàõóéö ³ð ä³íä õ³ð÷ áîëîõ þì. Àæèëëàãààã ñàéæðóóëàõ àðãóóäûí òàëààð òà Section 7.4.3 õýñãýýñ íýìýëò óíøëàãà õèéõ øààðäëàãàòàé áîëæ áîëîõ þì. 7.4.1.2 Simple Directmedia Layer áóþó Ýíãèéí Directmedia äàâõàðãà
Simple Directmedia Layer áóþó SDL íü Microsoft Windows, BeOS, áîëîí UNIX-èéí õîîðîíä õ°ðâ³³ëýõ
äàâõàðãà áàéõààð çîðèóëàãäñàí á°ã°°ä èíãýñíýýð äóó áîëîí ãðàèêèéí ³ð àøèãòàé õýðýãëýýã áèé áîëãîæ òàâöàí õîîðîíä àæèëëàõ ïðîãðàìóóäûã õ°ãæ³³ëýõ áîëîìæòîé áîëñîí þì. SDL äàâõàðãà íü òîíîã ò°õ°°ð°ìæèéã äîîä ò³âøèíä õèéñâýðëýõ áîëîìæèéã îëãîäîã á°ã°°ä ýíý íü çàðèìäàà X11 èíòåðýéñýýñ èë³³ ³ð ä³íòýé áàéäàã. SDL íü devel/sdl12-ñ îëäîæ áîëíî. 7.4.1.3 Direct Graphics Access áóþó Øóóä ðàèêèéí Õàíäàëò
Direct Graphics Access áóþó Øóóä ðàèêèéí Õàíäàëò íü X11 °ðã°òã°ë á°ã°°ä ïðîãðàìä X ñåðâåðèéã îðõèí °íã°ð÷ framebuffer-èéã øóóä °°ð÷ë°õ áîëîìæèéã îëãîäîã. Ýíý íü ýíý õóâààëöàëä í°ë°°ë°õ äîîä
ò³âøíèé ñàíàõ îéí òààðóóëàëò äýýð òóëãóóðëàäàã áîëîõîîð ³³íèéã àøèãëàæ áàéãàà ïðîãðàìóóä ýýð àæèëëàõ ¼ñòîé áàéäàã. DGA °ðã°òã°ë íü dga(1)-ààð òåñò õèéãäýæ õóðä, àæèëëàãààíû õóâüä øàëãàãäàæ áîëíî. dga àæèëëàæ áàéõàä òîâ÷ëóóð äàðàõ áîëãîíä äýëãýöèéí °íã°í³³äèéã °°ð÷èëä°ã. àðàõûí òóëä q-ã äàðíà. root-
7.4.2
Âèäåîòîé õîëáîîòîé ïîðòóóä áîëîí áàãöóóä
Ýíý õýñýã íü FreeBSD-èéí ïîðòûí öóãëóóëãà äàõü âèäåî òîãëóóëàõàä àøèãëàæ áîëîõ ïðîãðàì õàíãàìæóóäûã õýëýëöýõ áîëíî. Âèäåî òîãëóóëàõ íü ïðîãðàì õàíãàìæèéí õ°ãæ³³ëýëòèéí ìàø èäýâõòýé òàëáàð á°ã°°ä ò°ð°ë á³ðèéí ïðîãðàìóóäûí áîëîìæóóä íü ýíä °ãñ°í òàéëáàðààñ çàðèì òàëààðàà ç°ðæ áîëîõ þì. Ýöýñò íü FreeBSD äýýð àæèëëàäàã îëîí âèäåî ïðîãðàìóóä íü Ëèíóêñèéí ïðîãðàìóóä ìàÿãààð õ°ãæ³³ëýãäñýí áàéäãèéã ìýäýõ íü ÷óõàë þì. Ýäãýýð ïðîãðàìóóäûí îëîíõè íü áåòà ÷àíàðûõ õýâýýð áàéãàà áèëýý. FreeBSD äýýð âèäåî áàãöóóäàä ó÷èð÷ áîëîõ àñóóäëóóäûí çàðèìûã äóðäâàë:
181
Chapter 7 Ìóëüòèìåäèà 1. ßìàð íýã ïðîãðàìûí ³³ñãýñýí àéëûã °°ð íýã íü òîãëóóëæ ÷àäàõã³é áàéõ.
2. °ðèéí ³³ñãýñýí àéëûã òîãëóóëæ ÷àäàõã³é áàéõ.
3. Òóõàéí ìàøèí á³ð äýýð á³òýýãäñýí, õî¼ð °°ð ìàøèí äýýðõ íýã ïðîãðàì èæèë àéëûã °°ð°°ð òîãëóóëàõ.
4. ijðñíèé õýìæýýã °°ð÷ë°õ çýðýã ìàø õÿëáàð ø³³ëò íü àëäààòàé õýìæýý °°ð÷ë°õ äýã æóðìààñ áîëæ ìàø ìóó ³çýãäë³³äýä õ³ðãýäýã.
5. Ïðîãðàì áàéíãà core ³³ñãýäýã.
6. Áàðèìò ïîðòòîé öóã ñóóãääàãã³é á°ã°°ä ò³³íèéã íýã áîë âýá äýýðýýñ þì óó ýñâýë ïîðòûí work ñàíãààñ îëæ áîëäîã.
Ýäãýýð ïðîãðàìóóäûí îëîíõè íü “Ëèíóêñ-èçì”èéã õàðóóëäàã. Ëèíóêñ òàðõàöóóä äàõü çàðèì ñòàíäàðò ñàíãóóäûí õèéãäñýí àðãà ýñâýë ïðîãðàì çîõèîã÷äûí òîîöñîí Ëèíóêñèéí ö°ìèéí çàðèì áîëîìæóóäààñ áîëîîä àñóóäëóóä ãàð÷ áîëíî ãýñýí ³ã þì. Ýäãýýð àñóóäëóóä íü çàðèìäàà àíçààðàãääàãã³é á°ã°°ä ïîðò àð÷ëàã÷èä ýäãýýðèéã òîéðîí ãàðñàí øèéäë³³äèéã õèéñýí áàéäàã. ýõäýý ýíý íü äîîðõ àñóóäëóóäàä õ³ðãýæ áîëçîøã³é þì: 1. Ïðîöåññîðûí øèíæ ÷àíàðóóäûã èëð³³ëýõ /proc/cpuinfo-èéí õýðýãëýý.
2. Äóóñàõäàà ïðîãðàìûã á³ðì°ñ°í ò°ãñã°õèéí îðîíä ãàöààäàã óðñãàëóóäûí (threads) áóðóó õýðýãëýý.
3. Ïðîãðàìòàé öóã èõýâ÷ëýí àøèãëàãääàã ïðîãðàì õàíãàìæ FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéõã³é áàéõ.
Îäîîãîîð ýäãýýð ïðîãðàìóóäûí õ°ãæ³³ëýã÷èä íü ïîðò õèéõýä øààðäàãäàõ òîéðîí ãàðàõ àðãà çàìóóäûã áàãàñãàõûí òóëä ïîðò àð÷ëàã÷èäòàé õàìòðàí àæèëëàæ áàéãàà áèëýý. 7.4.2.1 MPlayer
MPlayer íü ñàÿõàí õ°ãæ³³ëýãäñýí á°ã°°ä õóðäàöòàé õ°ãæ³³ëýãäýæ áàéãàà âèäåî òîãëóóëàã÷ þì. MPlayer áàãèéí çîðèëãî íü õóðä áîëîí Ëèíóêñ áà áóñàä Þíèêñóóä äýýðõ óÿí õàòàí ÷àíàð þì. Ýíý
ò°ñ°ë íü áàãèéã ³íäýñëýã÷ òýð ³åä áàéñàí òîãëóóëàã÷óóäûí ìóó òîãëóóëàõ àæèëëàãààíààñ çàëõñàí ³åä ³³ññýí áàéíà. Çàðèì íü äèçàéíûã ñàéæðóóëæ ãðàèê èíòåðýéñ õèéãäñýí ãýæ õýëæ áîëîõ þì. ýõäýý òà òóøààëûí ì°ðèéí òîõèðóóëãóóä áîëîí òîâ÷ëóóðóóäûí õÿíàëòàä äàñààä èðýõýä ýíý íü õàðèí ìàø ñàéí àæèëëàäàã. 7.4.2.1.1 MPlayer-èéã á³òýýõ
MPlayer íü multimedia/mplayer ñàíä áàéðëàäàã. MPlayer íü á³òýýõ ÿâöàä ò°ð°ë á³ðèéí òîíîã
ò°õ°°ð°ìæèéí øàëãàëòóóäûã ã³éöýòãýæ íýã ñèñòåìýýñ í°ã°°ä õ°ðâ³³ëýãäýõã³é õî¼ðòüí àéëûã ãàðãàäàã. Òèéìýýñ õî¼ðòûí áàãöûã àøèãëàëã³éãýýð ïîðòîîñ á³òýýõ íü ÷óõàë þì. Ì°í Makefile-ä òàéëáàðëàñíààð á³òýýëòèéí ýõýíä make òóøààëä õýä õýäýí òîõèðóóëãóóäûã çààæ °ã÷ áîëäîã: # cd /usr/ports/multimedia/mplayer # make
N - O - T - E Take a careful look into the Makefile in order to learn how to tune mplayer towards you personal preferences! For example, make WITH_GTK1
182
Chapter 7 Ìóëüòèìåäèà builds MPlayer with GTK1-GUI support. If you want to use the GUI, you can either install /usr/ports/multimedia/mplayer-skins or download official skin collections from http://www.mplayerhq.hu/homepage/dload.html
Èõýíõ õýðýãëýã÷äýä àíõäàã÷ ïîðòûí òîõèðóóëãóóä õàíãàëòòàé áàéõ ¼ñòîé. ýõäýý õýðýâ òàíä XvID êîäåê õýðýãòýé áîë òóøààëûí ì°ð°íä WITH_XVID òîõèðóóëãûã çààæ °ã°õ õýðýãòýé. Àíõäàã÷ DVD ò°õ°°ð°ìæèéã áàñ WITH_DVD_DEVICE òîõèðóóëãààð òîäîðõîéëæ áîëîõ á°ã°°ä àíõäàã÷ààð /dev/acd0 àøèãëàãäàõ áîëíî. ³íèéã áè÷èæ áàéõ ³åä MPlayer ïîðò íü °°ðèéí HTML áàðèìò áîëîí õî¼ð àæèëëàõ àéë mplayer, áîëîí mencoder òóøààëóóäàà á³òýýäýã áàéñàí á°ã°°ä ñ³³ëèéí òóøààë íü âèäåîã äàõèí êîä÷èëîõ õýðýãñýë þì. MPlayer-èéí HTML áàðèìò íü ìàø ìýäýýëýë ñàéòàé áàéäàã. Õýðýâ óíøèã÷ ýíý á³ëýãò äóðäñàí âèäåî òîíîã ò°õ°°ð°ìæ áîëîí èíòåðýéñ³³äèéí òóõàé ìýäýýëýë äóòóó áàéãààã ìýäâýë MPlayer-èéí áàðèìò íü õàðèí ìàø á³ðýí ã³éöýä íýìýãäýë áîëîõ þì. Õýðýâ òà UNIX äýýðõ âèäåî äýìæëýãèéí òàëààð ìýäýýëýë õàéæ áàéãàà áîë MPlayer-èéí áàðèìòûã öàã çàâ ãàðãàí çààâàë ÷ ³ã³é óíøèõ õýðýãòýé. 7.4.2.1.2 MPlayer àøèãëàõ
MPlayer-èéí ÿìàð ÷ õýðýãëýã÷ °°ðèéí ãýðèéí ñàíäàà .mplayer äýä ñàíã ³³ñãýõ ¼ñòîé. Ýíý øààðäëàãàòàé äýä ñàíã ³³ñãýõèéí òóëä òà äàðààõ òóøààëûã áè÷èæ áîëíî: % cd /usr/ports/multimedia/mplayer % make install-user
èéí òóøààëûí òîõèðóóëãóóä ãàðûí àâëàãûí õóóäñàíä äóðäñàí áàéäàã. Á³ð èë³³ äýëãýðýíã³éã HTML áàðèìòààñ ³çýæ áîëíî. Ýíý õýñýãò áèä ö°°í õýäýí íèéòëýã õýðýãëýýã òàéëáàðëàõ áîëíî.
mplayer-
testfile.avi çýðýã àéëûã òîãëóóëàõûí òóëä -vo òîõèðóóëãààð ò°ð°ë á³ðèéí âèäåî èíòåðýéñ³³äèéí àëü íýãèéã îðóóëæ °ãí°: % mplayer -vo xv testfile.avi % mplayer -vo sdl testfile.avi % mplayer -vo x11 testfile.avi # mplayer -vo dga testfile.avi # mplayer -vo ’sdl:dga’ testfile.avi
Ýäãýýð á³õ òîõèðóóëãóóäûã á³ãäèéã òóðøèæ ³çýõ íü ç³éòýé. Ýäãýýðèéí õàðüöàíãóé àæèëëàãàà íü îëîí õ³÷èí ç³éë³³äýýñ øàëòãààëäàã á°ã°°ä òîíîã ò°õ°°ð°ìæ°°ñ èõýýõýí õàìààð÷ °°ð °°ð áàéíà. DVD-ýýñ òîãëóóëàõûí òóëä testfile.avi-ã dvd://N -dvd-device DEVICE ì°ð°°ð ñîëèõ õýðýãòýé. Ýíä áàéãàà N íü òîãëóóëàõ ãàð÷ãèéí äóãààð á°ã°°ä DEVICE íü DVD-ROM-ä çîðèóëñàí ò°õ°°ð°ìæèéí öýã þì. Æèøýý íü /dev/dvd-èéí 3-ð ãàð÷ãèéã òîãëóóëàõûí òóëä äîîð äóðäñàíûã àæèëëóóëíà: # mplayer -vo xv dvd://3 -dvd-device /dev/dvd
183
Chapter 7 Ìóëüòèìåäèà Note: Àíõäàã÷ DVD ò°õ°°ð°ìæèéã MPlayer ïîðòûã WITH_DVD_DEVICE òîõèðóóëãààð á³òýýæ áàéõ ³åä òîäîðõîéëæ áîëäîã. Àíõäàã÷ààð ýíý ò°õ°°ð°ìæ íü /dev/acd0 þì. Èë³³ äýëãýðýíã³é ìýäýýëëèéã ïîðòûí Makefile àéëààñ îëæ áîëíî.
Çîãñîîõ, ïàóç àâàõ, óðàãøëóóëàõ ãýõ ìýòèéã õèéõèéí òóëä òîâ÷ëóóðóóäûí òàëààð ³çýõ õýðýãòýé á°ã°°ä èíãýõèéí òóëä mplayer -h òóøààëûã àæèëëóóëàõ þì óó ýñâýë ãàðûí àâëàãûí õóóäñûã óíøèõ íü ç³éòýé þì. Òîãëóóëàõàä õýðýãòýé ÷óõàë íýìýëò òîõèðóóëãóóä íü: á³ðýí äýëãýöèéí ãîðèìä øèëæ³³ëäýã -fs -zoom áîëîí àæèëëàãààíä òóñàëäàã -framedrop òîõèðóóëãóóä þì. mplayer-èéí òóøààëûí ì°ðèéã èõ óðò áîëãîõã³éí òóëä .mplayer/config àéë ³³ñãýýä àíõäàã÷ òîõèðóóëãóóäûã òýíä òîõèðóóëàõ õýðýãòýé: vo=xv fs=yes zoom=yes
Ò°ãñã°ëä íü mplayer íü DVD ãàð÷ãèéã .vob àéë óðóó ãàðãàõàä õýðýãëýãäýæ áîëäîã. DVD-ýýñ õî¼ð äàõü ãàð÷ãèéã ãàðãàæ àâàõûí òóëä ³³íèéã áè÷íý: # mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd
àðàëòûí àéë out.vob íü MPEG áàéõ á°ã°°ä ýíý õýñýãò òàéëáàðëàãäñàí áóñàä áàãöóóäààð óäèðäàãäàæ áîëîõ þì. 7.4.2.1.3 mencoder mencoder-èéã àøèãëàõààñàà °ìí° HTML áàðèìòààñ òîõèðóóëãóóäòàé òàíèëöàõ íü ç³éòýé þì. àðûí àâëàãûí õóóäàñ áàéäàã áîëîâ÷ HTML áàðèìòã³éãýýð ýíý íü òèéì ÷ òóñòàé áèø þì. ×àíàð, áèòèéí áàãà õóðäûã ñàéæðóóëàõ áîëîí õýëáýðøèëò³³äèéã °°ð÷ë°õ òîîëæ áàðøã³é àðãóóä áàéäàã á°ã°°ä ýäãýýð àðãóóäûí çàðèì íü ñàéí, ìóó àæèëëàãààíû õîîðîíä ÿëãàà ãàðãàæ áîëîõ þì. Òàíä òóñëàõ õýä õýäýí æèøýý ýíä áàéíà. Ýõëýýä ýíãèéí õóóëáàð: % mencoder input.avi -oac copy -ovc copy -o output.avi
Òóøààëûí ì°ðèéí áóðóó õîñëîëóóä íü mplayer-ýýð ÷ òîãëóóëàõ áîëîìæã³é àéë ãàðãàõàä õ³ðãýæ áîëîõ þì. Òèéìýýñ õýðýâ òà àéë óðóó ãàðãàæ àâàõûã õ³ñâýë mplayer-èéí -dumpfile-èéã àøèãëààðàé. input.avi-ã MPEG4 êîäåê óðóó MPEG3 àóäèî êîä÷èëîëòîéãîîð õ°ðâ³³ëýõèéí òóëä (audio/lame øààðäëàãàòàé): % mencoder input.avi -oac mp3lame -lameopts br=192 \ -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi
Ýíý íü mplayer áîëîí xine òîãëóóëàõ áîëîìæòîé ãàðàëòûã ³³ñãýíý. DVD ãàð÷ãèéã øóóä äàõèí êîä÷èëîõûí òóëä input.avi àéëûí îðîíä dvd://1 -dvd-device /dev/dvd ì°ðèéã òàâüæ root ýðõýýð àæèëëóóëàõ õýðýãòýé. Ýõíèé óäààäàà òà °°ðèéí õèéñýí ç³éëäýý ñýòãýë õàíàìæã³é áàéõ ìàãàäëàëòàé áîëîõîîð ãàð÷ãèéã àéë óðóó ãàðãàæ àéë äýýðýý àæèëëàõûã ç°âë°ä°ã.
184
Chapter 7 Ìóëüòèìåäèà 7.4.2.2 xine âèäåî òîãëóóëàã÷
xine âèäåî òîãëóóëàã÷ íü àëü ÷ òàëààñàà ç°âõ°í á³ãäèéã áàãòààñàí âèäåî øèéäýë áàéõ çîðèëãîòîé ò°ñ°ë
áèø á°ã°°ä ýíý íü áàñ äàõèí àøèãëàãäàõ áîëîìæòîé ³íäñýí ñàí áîëîí çàëãààñóóäààð °ðã°òã°õ áîëîìæòîé ìîäóëü÷ëàãäñàí àæèëëàõ àéëóóäûã ³³ñãýõ çîðèëãîòîé ò°ñ°ë þì. Ýíý íü áàãö áîëîí multimedia/xine ãýñýí ïîðò õýëáýðýýð áàéäàã. xine òîãëóóëàã÷ íü áàñ ë á³ðýí ã³éöýä áîëîâñðîîã³é áàéãàà áèëýý. Õýäèé òèéì ÷ ãýñýí ñàéíààð ýõýëæ áàéãàà þì. Ïðàêòèêò xine íü õóðäàí âèäåî êàðòòàé CPU þì óó àëü ýñâýë XVideo °ðã°òã°ëèéí äýìæëýãèéã øààðääàã. GUI íü àøèãëàãäàæ áîëîõîîð áîëîâ÷ áîëõè þì. ³íèéã áè÷èæ áàéõ ³åä CSS êîä÷èëîë õèéãäñýí DVD-³³äèéã òîãëóóëàõ xine-òàé öóã èðäýã îðîëòûí ìîäóëü áàéãààã³é. ³íä çîðèóëàí á³òýýãäñýí ìîäóëèóäòàé ãóðàâäàã÷ òàëûí á³òýýëò³³ä áàéäàã áîëîâ÷ ýäãýýðèéí àëü íü ÷ FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéäàãã³é. MPlayer-òýé õàðüöóóëàõ þì áîë xine íü õýðýãëýã÷èéí õóâüä èë³³ã õèéäýã áîëîâ÷ í°ã°° òàëààðàà õýðýãëýã÷èä çàðèì íýã èë³³ íàðèéí òààðóóëàõ õÿíàëòûí áîëîìæèéã °ãä°ãã³é þì. xine âèäåî òîãëóóëàã÷ íü XVideo èíòåðýéñ³³ä äýýð õàìãèéí ñàéí àæèëëàäàã. Àíõäàã÷ààð xine òîãëóóëàã÷ íü ãðàèê õýðýãëýã÷èéí èíòåðýéñ ýõë³³ëýõ áîëíî. Äàðàà íü òóõàéí àéëûã îíãîéëãîõäîî öýñ³³äèéã àøèãëàæ áîëíî: % xine
°ð°°ð, GUI-ã³éãýýð äàðààõ òóøààë àøèãëàí àéëûã íýí äàðóé òîãëóóëàõààð àæèëëóóëæ áîëíî: % xine -g -p mymovie.avi
7.4.2.3 transcode áóþó êîä õîîðîíä õ°ðâ³³ëýã÷ õýðýãñë³³ä
transcode ïðîãðàì õàíãàìæ íü òîãëóóëàã÷ áèø, õàðèí âèäåî áîëîí àóäèî àéëóóäûã äàõèí êîä÷èëîõîä çîðèóëàãäñàí õýðýãñë³³äèéí öóãëóóëãà þì. stdin/stdout óðñãàëûí èíòåðýéñ³³äèéí õàìòààð òóøààëûí ì°ðèéí õýðýãñë³³äèéã àøèãëàí transcode-îîð âèäåî àéëóóäûã íèéë³³ëýõ, ýâäýðñýí àéëóóäûã çàñàõ áîëîìæòîé áîëäîã. multimedia/transcode ïîðòûã á³òýýæ áàéõ ÿâöàä îëîí òîîíû òîõèðóóëãóóäûã çààæ °ã÷ áîëäîã á°ã°°ä áèä äàðààõ òóøààëûí ì°ðèéã transcode-èéã á³òýýõýä àøèãëàõûã ç°âë°ä°ã: # make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \ WITH_MJPEG=yes -DWITH_XVID=yes
Ñàíàë áîëãîãäñîí òîõèðóóëãóóä èõýíõ õýðýãëýã÷äèéí õóâüä õàíãàëòòàé áàéõ ¼ñòîé. transcode-èéí áàãòààìæóóäûã õàðóóëàõûí òóëä DivX àéëûã PAL MPEG-1 àéë (PAL VCD) óðóó õýðõýí õ°ðâ³³ëýõèéã õàðóóëàõ íýã æèøýý㠳糳ëüå: % transcode -i input.avi -V --export_prof vcd-pal -o output_vcd % mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa
àðàõ MPEG àéë output_vcd.mpg-ã MPlayer-ýýð òîãëóóëàõ áîëîìæòîé áàéíà. Òà àéëûã á³ð Âèäåî CD õèéõèéí òóëä CD-R ç°°â°ðë°ã÷ óðóó øàðæ áîëîõ á°ã°°ä ýíý òîõèîëäîëä òà multimedia/vcdimager áîëîí sysutils/cdrdao ïðîãðàìóóäûã ñóóëãàæ àøèãëàõ õýðýãòýé áîëíî.
185
Chapter 7 Ìóëüòèìåäèà transcode-ä çîðèóëñàí ãàðûí àâëàãûí õóóäàñ áàéäàã áîëîâ÷ òà èë³³ ìýäýýëýë áîëîí æèøýýí³³äèéí òàëààð transcode wiki (http://www.transcoding.org/cgi-bin/transcode)-ñ áàñ ëàâëàõ õýðýãòýé.
7.4.3
Íýìýëò óíøèõ ç³éëñ
FreeBSD-ä çîðèóëñàí ò°ð°ë á³ðèéí âèäåî ïðîãðàì õàíãàìæèéí áàãöóóä õóðäàöòàé õ°ãæèæ áàéíà. Îéðûí èðýýä³éä ýíä äóðäñàí àñóóäëóóäûí îëîíõè íü øèéäýãäýõ ìàãàäëàë òóí °íä°ð þì. Òýð áîëòîë FreeBSD-èéí A/V áîëîìæóóäûã àëü áîëîõ èõýýð àâàõûã õ³ñýæ áàéãàà õ³ì³³ñ öóãòàà õýä õýäýí FAQ
áîëîí çààâðóóäààñ óíøñàí ç³éëñýýðýý ìýäëýãýý õóâààëöàæ °°ð °°ð ö°°í õýäýí ïðîãðàìóóä àøèãëàõ õýðýãòýé þì. Ýíýõ³³ õýñýã íü òèéì íýìýëò ìýäýýëë³³äèéã óíøèã÷äàä °ã°õ çîðèëãîîð áè÷èãäñýí þì. MPlayer-èéí áàðèìò (http://www.mplayerhq.hu/DOCS/) íü òåõíèêèéí õóâüä ìàø ñàéí ìýäýýëýëòýé þì. UNIX-èéí âèäåîíû òàëààð °íä°ð ò³âøíèé òóðøëàãàòàé áîëîõûã õ³ññýí õýí á³õýí ýäãýýð áàðèìòóóäààñ ç°âë°ã°° àâàõ íü ç³éòýé þì. MPlayer-èéí çàõèäëûí æàãñààëò íü áàðèìòûã óíøààã³é õ³ì³³ñò òèéì ÷ í°õ°ðñ°ã áóñ áàéäàã ó÷ðààñ òýäýíä àëäààíû ìýäýãäë³³äèéã èëãýýõýýð ò°ë°âë°æ áàéãàà áîë ò³ð àçíààä RTFM (read the fine manual ýñâýë read the fucking manual). xine HOWTO (http://dvd.sourceforge.net/xine-howto/en_GB/html/howto.html) íü á³õ òîãëóóëàã÷èéí õóâüä åð°íõèé áàéäàã àæèëëàãààíû ñàéæðóóëàëòûí òóõàé á³ëãèéã àãóóëäàã. Ò°ãñã°ëä íü óíøèã÷äûí òóðøèæ áîëîõ çàðèì èðýýä³éòýé ïðîãðàìóóä áàéäàã: •
ïîðò õýëáýðýýð áàñ áàéäàã Avifile (http://avifile.sourceforge.net/). multimedia/ogle ïîðò õýëáýðýýð áàñ áàéäàã Ogle (http://www.dtek.chalmers.se/groups/dvd/).
•
Xtheater (http://xtheater.sourceforge.net/)
•
DVD àãóóëãûã çîõèîõîä çîðèóëàãäñàí íýýëòòýé ýõ áàãö multimedia/dvdauthor.
• multimedia/avifile
7.5
ÒÂ êàðòóóäûã òîõèðóóëàõ
Àíõëàí õóâü íýìýð áîëãîí îðóóëñàí Æîçå Ýë-ýéýñ. ðã°æ³³ëæ òîõèðóóëñàí Ìàðê Ôîíâèë. 7.5.1
Òàíèëöóóëãà
Ò êàðòóóä íü °°ðèéí êîìïüþòåð äýýð öàöàæ áàéãàà þì óó ýñâýë êàáåëèéí Ò ³çýõ áîëîìæèéã òàíä îëãîäîã. Òýäãýýðèéí èõýíõ íü íèéëìýë âèäåîã RCA þì óó ýñâýë S-âèäåî îðîëòîîð õ³ëýýí àâäàã á°ã°°ä ýäãýýð êàðòóóäûí çàðèì íü ÔÌ ðàäèî òààðóóëàã÷òàé (tuner) èðäýã. FreeBSD íü Brooktree Bt848/849/878/879 ýñâýë Conexant CN-878/Fusion 878a Âèäåî Áàðèõ (capture) áè÷èë ñõåìèéã bktr(4) äðàéâåðòàé öóã àøèãëàí PCI äýýð ñóóðèëñàí Ò êàðòóóäûí äýìæëýãèéã õàíãàäàã. Òà äýìæèãäñýí òààðóóëàã÷òàé öóã èðñýí õàâòàíã áàñ øàëãàõ õýðýãòýé. Äýìæèãäñýí òààðóóëàã÷äûí æàãñààëòûí òàëààð bktr(4) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó.
186
Chapter 7 Ìóëüòèìåäèà
7.5.2
Äðàéâåð íýìýõ
°ðèéí êàðòûã àøèãëàõûí òóëä bktr(4) äðàéâåðèéã äóóäàõ õýðýãòýé áîëîõ á°ã°°ä äàðààõ ì°ðèéã /boot/loader.conf àéëä èíãýæ íýìýí ³³íèéã õèéæ áîëíî: bktr_load="YES"
°ð°°ð, Ò êàðòûí äýìæëýãèéã °°ðèéí ö°ìä ñòàòèêààð ýìõýòãýæ áîëîõ á°ã°°ä ýíý òîõèîëäîëä °°ðèéí ö°ìèéí òîõèðãîîíäîî äàðààõ ì°ð³³äèéã íýìíý: device bktr device iicbus device iicbb device smbus
Êàðòûí á³ðýëäýõ³³í³³ä I2C øóãàìààð õîîðîíäîî õîëáîãääîã áîëîõîîð ýäãýýð íýìýëò ò°õ°°ð°ìæèéí äðàéâåðóóä íü øààðäëàãàòàé áàéäàã. Äàðàà íü øèíý ö°ì°° á³òýýæ ñóóëãàõ õýðýãòýé. Äýìæëýã òàíû ñèñòåìä íýìýãäñýíèé äàðàà òà °°ðèéí ìàøèíûã äàõèí à÷ààëàõ õýðýãòýé. À÷ààëàõ ïðîöåññèéí ³åýð òàíû Ò êàðò äîîð äóðäñàíòàé ò°ñòýéã°°ð ãàð÷ èðýí õàðàãäàõ ¼ñòîé: bktr0: mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0 iicbb0: on bti2c0 iicbus0: on iicbb0 master-only iicbus1: on iicbb0 master-only smbus0: <System Management Bus> on bti2c0 bktr0: Pinnacle/Miro TV, Philips SECAM tuner.
Ìýäýýæ ýäãýýð ìýäýãäë³³ä íü òàíû òîíîã ò°õ°°ð°ìæ°°ñ õàìààð÷ °°ð áàéæ áîëíî. ýõäýý òà òààðóóëàã÷ ç°â îëäñîí ýñýõèéã øàëãàõ ¼ñòîé; çàðèì íýã îëäñîí ïàðàìåòð³³äèéã sysctl(8) MIB-³³ä áîëîí ö°ìèéí òîõèðãîîíû àéëûí òîõèðóóëãóóäààð äàðæ °°ð÷ë°õ áîëîìæòîé õýâýýð áàéäàã. Æèøýý íü õýðýâ òà òààðóóëàã÷èéã Philips SECAM òààðóóëàã÷ óðóó áîëãîõûã õ³ñâýë °°ðèéí ö°ìèéí òîõèðãîîíû àéëäàà äàðààõ ì°ðèéã íýìýõ õýðýãòýé: options OVERRIDE_TUNER=6
ýñâýë òà sysctl(8)-èéã øóóä àøèãëàæ áîëíî: # sysctl hw.bt848.tuner=6
Áàéäàã òîõèðóóëãóóäûí òàëààð äýëãýðýíã³éã bktr(4) ãàðûí àâëàãûí õóóäàñ áîëîí /usr/src/sys/conf/NOTES àéëààñ ³çíý ³³. 7.5.3
Àøèãòàé ïðîãðàìóóä
°ðèéí Ò êàðòûã àøèãëàõûí òóëä òà äàðààõ ïðîãðàìóóäûí àëü íýãèéã ñóóëãàõ õýðýãòýé: íü öîíõîí-äýýðõ-Ò áîëîí ä³ðñ/àóäèî/âèäåî áàðèõ (capture) áîëîìæóóäûã îëãîäîã. multimedia/xawtv íü áàñ Ò ïðîãðàì á°ã°°ä fxtv-òýé àäèë áîëîìæóóäòàé áàéäàã. misc/alevt íü Âèäåîòåêñò/Òåëåòåêñòèéã äåêîä õèéí ³ç³³ëäýã. audio/xmradio íü çàðèì íýã Ò êàðòòàé öóã èðäýã ÔÌ ðàäèî òààðóóëàã÷èéã àøèãëàõ ïðîãðàì þì.
• multimedia/fxtv • • •
187
Chapter 7 Ìóëüòèìåäèà
íü ðàäèî òààðóóëàã÷óóäàä çîðèóëñàí øèðýýíèé ýâòýéõýí ïðîãðàì þì. Èë³³ îëîí ïðîãðàìóóä FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéäàã. • audio/wmtune
7.5.4
Àëäààã îëæ çàñâàðëàõ
Òà °°ðèéí Ò êàðòàíäàà ÿìàð íýã àñóóäàë îëîõ þì áîë òà ýõëýýä âèäåî áàðèõ áè÷èë ñõåì áà òààðóóëàã÷ íü bktr(4) äðàéâåðààð ÿã äýìæèãäñýí ýñýõ áîëîí òà ç°â òîõèðãîîíû ñîíãîëòóóäûã äàìæóóëñàí ýñýõýý øàëãàõ õýðýãòýé. °ðèéí Ò êàðòûí òóõàé ò°ð°ë á³ðèéí àñóóëòóóä áîëîí èë³³ äýìæëýãèéí òàëààð òà freebsd-multimedia (http://lists.FreeBSD.org/mailman/listinfo/freebsd-multimedia) çàõèäëûí æàãñààëòàä õàíäàæ ò³³íèé àðõèâûã íü àøèãëàæ áîëîõ þì. 7.6
ijðñ ñêàí õèéã÷èä
Áè÷ñýí Ìàðê Ôîíâèë. 7.6.1
Òàíèëöóóëãà
FreeBSD äýýð ä³ðñ ñêàí õèéã÷äýä õàíäàõ áîëîìæèéã FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéäàã SANE (Scanner Access Now Easy áóþó Ñêàí õèéã÷èä õàíäàõ Õàíäàëò Îäîî Àìàðõàí ãýãäýõ) API îëãîäîã. SANE íü FreeBSD-èéí çàðèì ò°õ°°ð°ìæèéí äðàéâåðóóä àøèãëàí ñêàí õèéã÷èéí òåõíèê õàíãàìæèä õàíääàã. FreeBSD íü SCSI áîëîí USB ñêàí õèéã÷äèéã äýìæäýã. ßìàð íýã òîõèðãîî õèéõýýñýý °ìí° òàíû ñêàí õèéã÷ SANE-ýýð äýìæèãäñýí ýñýõèéã øàëãààðàé. SANE íü ñêàí õèéã÷èéí äýìæëýã áîëîí ò³³íèé
ò°ëâèéí òóõàé ìýäýýëëýýð òàíûã õàíãàõ äýìæèãäñýí ò°õ°°ð°ìæ³³ä (http://www.sane-project.org/sane-supported-devices.html)èéí æàãñààëòòàé áàéäàã. uscanner(4) ãàðûí àâëàãûí õóóäàñ íü äýìæèãäñýí USB ñêàí õèéã÷äèéí æàãñààëòûã áàñ àãóóëäàã. 7.6.2
Ö°ìèéí òîõèðãîî
Äýýð äóðäñàíààð SCSI áîëîí USB èíòåðýéñ³³ä íü äýìæèãäñýí áàéäàã. Òàíû ñêàí õèéã÷èéí èíòåðýéñýýñ áîëîîä °°ð °°ð ò°õ°°ð°ìæèéí äðàéâåðóóä øààðäàãääàã. 7.6.2.1 USB èíòåðýéñ
GENERIC ö°ì íü àíõäàã÷ààð USB ñêàí õèéã÷äèéã äýìæèõýä øààðäëàãàòàé ò°õ°°ð°ìæèéí äðàéâåðóóäûã àãóóëäàã. Ö°ìèéã °°ð°° òîõèðóóëàí àøèãëàõ áîë äàðààõ ì°ð³³ä °°ðèéí ö°ìèéí òîõèðãîîíû àéëä áàéãàà ýñýõèéã øàëãàõ õýðýãòýé: device device device device
usb uhci ohci uscanner
Òàíû ýõ õàâòàí äýýðõ USB áè÷èë ñõåìýýñ õàìààð÷ òàíä ç°âõ°í device uhci þì óó ýñâýë device ohci ì°ðèéí àëü íýã õýðýãòýé áîëíî. ýõäýý õî¼óëàíã íü ö°ìèéí òîõèðãîîíäîî áàéëãàõ íü àþóëã³é þì.
188
Chapter 7 Ìóëüòèìåäèà
Õýðýâ òà °°ðèéí ö°ìèéã äàõèí á³òýýõèéã õ³ñýõã³é áàéãàà á°ã°°ä òàíû ö°ì ÷èíü GENERIC áàéãàà áîë kldload(8) òóøààë àøèãëàí uscanner(4) ò°õ°°ð°ìæèéí äðàéâåðèéã øóóä äóóäàæ áîëíî: # kldload uscanner
Ýíý ìîäóëèéã ñèñòåì ýõëýõ áîëãîíä äóóäàõûí òóëä äàðààõ ì°ðèéã /boot/loader.conf àéëä íýìíý: uscanner_load="YES"
Ç°â ö°ì°°ð äàõèí à÷ààëñíû äàðàà þì óó ýñâýë øààðäëàãàòàé ìîäóëèéã äóóäñàíû äàðàà °°ðèéí USB ñêàí õèéã÷èéã çàëãàíà. Òàíû ñêàí õèéã÷èéã òàíüæ áàéãàà㠳糳ëýõ ì°ð ñèñòåìèéí ìýäýãäëèéí áóåðò (dmesg(8)) ãàð÷ èðýõ ¼ñòîé: uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2
Ýíý íü áèäíèé ñêàí õèéã÷ /dev/uscanner0 ò°õ°°ð°ìæèéí öýãèéã àøèãëàæ áàéãààã õàðóóëæ áàéíà. 7.6.2.2 SCSI èíòåðýéñ
Õýðýâ òàíû ñêàí õèéã÷ SCSI èíòåðýéñòýé èðñýí áîë ÿìàð SCSI õÿíàã÷ õàâòàíã àøèãëàõàà ìýäýõ íü ÷óõàë þì. Àøèãëàãäàõ SCSI áè÷èë ñõåìýýñ õàìààðààä òà °°ðèéí ö°ìèéí òîõèðãîîíû àéëàà òààðóóëàõ õýðýãòýé áîëíî. GENERIC ö°ì íü õàìãèéí ò³ãýýìýë SCSI õÿíàã÷óóäûã äýìæäýã. NOTES àéëûã óíøèæ °°ðèéí ö°ìèéí òîõèðãîîíû àéëä ç°â ì°ðèéã íýìñýí ýñýõýý øàëãààðàé. SCSI õóâèðãàã÷ äðàéâåðààñ ãàäíà òà °°ðèéí ö°ìèéí òîõèðãîîíû àéëäàà äàðààõ ì°ð³³äòýé áàéõ õýðýãòýé: device scbus device pass
Òàíû ö°ì ç°â ýìõýòãýãäýæ ñóóëãàãäñàíû äàðàà à÷ààëàõ ³åä òà ñèñòåìèéí ìýäýãäëèéí áóåðò ò°õ°°ð°ìæèéã õàðæ ÷àäàæ áàéõ ¼ñòîé: pass2 at aic0 bus 0 target 2 lun 0 pass2: Fixed Scanner SCSI-2 device pass2: 3.300MB/s transfers
Òàíû ñêàí õèéã÷ ñèñòåìèéã à÷ààëàõ ³åä àñààã³é áàéñàí ÷ ãýñýí ãàðààð camcontrol(8) òóøààëûí òóñëàìæòàé SCSI øóãàìûí õàéëòûã õèéæ èëð³³ëýõ áîëîìæòîé áàéäàã: # camcontrol rescan all
Re-scan Re-scan Re-scan Re-scan
of of of of
bus bus bus bus
0 1 2 3
was was was was
successful successful successful successful
Äàðàà íü ñêàí õèéã÷ SCSI ò°õ°°ð°ìæ³³äèéí æàãñààëòàä ãàð÷ èðýõ áîëíî: # camcontrol devlist
at at at at
scbus0 scbus0 scbus1 scbus2
target target target target
5 6 2 0
lun lun lun lun
0 0 0 0
(pass0,da0) (pass1,da1) (pass3) (pass2,cd0)
189
Chapter 7 Ìóëüòèìåäèà SCSI ò°õ°°ð°ìæ³³äèéí òóõàé äýëãýðýíã³é ìýäýýëýë scsi(4) áîëîí camcontrol(8) ãàðûí àâëàãûí õóóäàñíóóäàä áàéäàã.
7.6.3 SANE
òîõèðãîî
SANE ñèñòåì íü õî¼ð õýñýãò õóâààãääàã: ýäãýýð íü àðûí õýñýã (graphics/sane-backends) áîëîí óðä õýñýã (graphics/sane-frontends) þì. Àðûí õýñýã íü ñêàí õèéã÷èä °°ðò íü õàíäàõ õàíäàëòûã îëãîäîã. SANE-èé äýìæèãäñýí ò°õ°°ð°ìæ³³ä (http://www.sane-project.org/sane-supported-devices.html)èéí æàãñààëò òàíû ä³ðñ ñêàí õèéã÷èéã ÿìàð àðûí õýñýã äýìæèõèéã çààäàã. Òà °°ðèéí ò°õ°°ð°ìæèéã àøèãëàæ ÷àääàã áàéõûí òóëä °°ðèéí ñêàí õèéã÷èéí õóâüä ç°â àðûí õýñãèéã òîäîðõîéëîõ íü çàéëøã³é øààðäëàãàòàé þì. Óðä õýñýã íü ãðàèê õàéëò õèéõ èíòåðýéñèéí áîëîìæèéã îëãîäîã (xscanimage). Ýõíèé àëõàì íü graphics/sane-backends ïîðò þì óó ýñâýë áàãöûã ñóóëãàõ ÿâäàë þì. Äàðàà íü sane-find-scanner òóøààë àøèãëàí SANE ñèñòåìýýð ñêàí õèéã÷èéí èëð³³ëýëòèéã øàëãàíà: # sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3
àðàëò íü ñêàí õèéã÷èéí èíòåðýéñèéí ò°ð°ë áîëîí ñèñòåìä ñêàí õèéã÷èéã çàëãàõàä õýðýãëýãäñýí ò°õ°°ð°ìæèéí öýãèé㠳糳ëýõ áîëíî. éëäâýðëýã÷ áîëîí á³òýýãäýõ³³íèé çàãâàð ãàð÷ èðýõã³é áàéæ áîëîõ á°ã°°ä ýíý íü òèéì ÷óõàë áèø þì. Note: Çàðèì USB ñêàí õèéã÷èä íü òàíààñ firmware äóóäàæ à÷ààëàõûã øààðääàã á°ã°°ä ýíý íü àðûí õýñãèéí ãàðûí àâëàãûí õóóäñàíä òàéëáàðëàãäñàí áàéãàà. Òà sane-find-scanner(1) áîëîí sane(7) ãàðûí àâëàãûí õóóäàñíóóäûã áàñ óíøèõ õýðýãòýé þì.
Îäîî áèä ñêàí õèéã÷èéã ñêàí õèéõ óðä õýñãýýð òàíèãäàõ ýñýõèéã íü øàëãàõ õýðýãòýé. Àíõäàã÷ààð SANE àðûí õýñã³³ä íü scanimage(1) ãýãääýã òóøààëûí ì°ðèéí õýðýãñýëòýé èðäýã. Ýíý òóøààë íü òàíä ò°õ°°ð°ìæ³³äèéã æàãñààæ òóøààëûí ì°ð°°ñ ä³ðñ ýçýìøèëòèéã õèéõèéã ç°âø°°ðä°ã. -L òîõèðóóëãà íü ñêàí õèéã÷èéí ò°õ°°ð°ìæ³³äèéã æàãñààõàä õýðýãëýãääýã: # scanimage -L
device ‘snapscan:/dev/pass3’ is a AGFA SNAPSCAN 600 flatbed scanner
àðàëò áàéõã³é þì óó ýñâýë ñêàí õèéã÷ òàíèãäñàíã³é ãýñýí ìýäýãäýë íü scanimage(1) íü ñêàí õèéã÷èéã òàíüæ ÷àäààã³éã õàðóóëíà. Õýðýâ èíãýñýí áîë òà àðûí õýñãèéí òîõèðãîîíû àéëûã çàñâàðëàæ àøèãëàãäàõ ñêàí õèéã÷ ò°õ°°ð°ìæèéã òîäîðõîéëîõ õýðýãòýé. /usr/local/etc/sane.d/ ñàí á³õ àðûí õýñãèéí òîõèðãîîíû àéëóóäûã àãóóëäàã. Ýíý òàíèëòûí àñóóäàë çàðèì íýã USB ñêàí õèéã÷äèéí õóâüä òîõèîëääîã. Æèøýý íü Section 7.6.2.1-ä õýðýãëýãäñýí USB ñêàí õèéã÷òýé áàéõàä sane-find-scanner òóøààëûã àæèëëóóëàõàä äàðààõ ìýäýýëëèéã áèäýíä °ã°õ áîëíî: # sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0
Ñêàí õèéã÷ íü ç°â îëäñîí á°ã°°ä USB èíòåðýéñèéã àøèãëàí /dev/uscanner0 ò°õ°°ð°ìæèéí öýãò çàëãàãäñàí áàéíà. Îäîî áèä ñêàí õèéã÷ ç°â òàíèãäñàí ýñýõèéã øàëãàæ áîëíî:
190
Chapter 7 Ìóëüòèìåäèà # scanimage -L
No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages).
Ñêàí õèéã÷ íü òàíèãäààã³é áîëîõîîð áèä /usr/local/etc/sane.d/epson.conf àéëûã çàñâàðëàõ õýðýãòýé áîëíî. Àøèãëàãäñàí ñêàí õèéã÷èéí çàãâàð íü EPSON Perfection® 1650 áàéñàí, òýãýõýýð áèä epson àðûí õýñãèéã ñêàí õèéã÷èéã àøèãëàõûã ìýäëýý. Àðûí õýñã³³äèéí òîõèðãîîíû àéëóóä äàõü òóñëàõ òàéëáàðóóäûã óíøèõàà ìàðòóóçàé. Ì°ðèéí °°ð÷ë°ëò³³ä íü èõ ýíãèéí: òàíû ñêàí õèéã÷èéí õóâüä áóðóó èíòåðýéñòýé á³õ ì°ð³³äèéã òàéëáàð áîëãîíî (áèäíèé õóâüä, áèäíèé ñêàí õèéã÷ USB èíòåðýéñèéã àøèãëàäàã áîëîõîîð scsi ãýñýí ³ãýýñ ýõýëñýí á³õ ì°ð³³äèéã òàéëáàð áîëãîíî), äàðàà íü àéëûí ò°ãñã°ëä àøèãëàãäàõ èíòåðýéñ áîëîí ò°õ°°ð°ìæèéí öýãèéã çààñàí ì°ðèéã íýìíý. Ýíý òîõèîëäîëä áèä äàðààõ ì°ðèéã íýìíý: usb /dev/uscanner0
Èë³³ äýëãýðýíã³é ìýäýýëýë áîëîí õýðýãëýýíèé ç°â ñèíòàêñûí òàëààð àðûí õýñãèéí òîõèðãîîíû àéëä áàéãàà òàéëáàðóóä áîëîí àðûí õýñãèéí ãàðûí àâëàãûí õóóäàñíààñ óíøèõàà ìàðòóóçàé. Áèä îäîî ñêàí õèéã÷ òàíèãäñàí ýñýõèéã øàëãàæ áîëíî: # scanimage -L
device ‘epson:/dev/uscanner0’ is a Epson GT-8200 flatbed scanner
Áèäíèé USB ñêàí õèéã÷ òàíèãäëàà. éëäâýðëýã÷ áîëîí çàãâàð íü ñêàí õèéã÷èéíõòýé òààðàõã³é áàéâàë ýíý íü òèéì ÷óõàë áèø þì. Áîäîëöîæ ³çýõ ãîë ò³ëõ³³ð ç³éë íü áèäýíä ç°â àðûí õýñãèéí íýð áîëîí ç°â ò°õ°°ð°ìæèéí öýãèéã °ãä°ã ‘epson:/dev/uscanner0’ òàëáàð þì. scanimage -L òóøààë ñêàí õèéã÷èéã õàðæ ÷àääàã áîëñíû äàðàà òîõèðãîî äóóñíà. Ò°õ°°ð°ìæ íü îäîî ñêàí õèéõýä áýëýí áîëñîí áàéíà. scanimage(1) íü ä³ðñ ýçýìøèëòèéã òóøààëûí ì°ð°°ñ õèéõèéã áèäýíä ç°âø°°ðä°ã áîëîâ÷ ä³ðñ ñêàí õèéõäýý ãðàèê õýðýãëýã÷èéí èíòåðýéñ àøèãëàõûã ýðõýìëýõ íü ç³éòýé þì. SANE íü õÿëáàð áîëîâ÷ ³ð àøèãòàé ãðàèê èíòåðýéñèéã ñàíàë áîëãîäîã: ýíý íü xscanimage (graphics/sane-frontends) þì. Xsane (graphics/xsane) íü °°ð íýã àëäàðòàé ãðàèê ñêàí õèéã÷ óðä õýñýã þì. Ýíý óðä õýñýã íü ò°ð°ë á³ðèéí ñêàí õèéã÷ ãîðèì (îòî õóóëáàð õèéõ, àêñ, ãýõ ìýò), °íã°íèé çàñâàð, á°°í°°ð ñêàí õèéõ ãýõ ìýò äýâøèëòýò áîëîìæóóäûã ñàíàë áîëãîäîã. Ýäãýýð ïðîãðàìóóä íü GIMP çàëãààñ áîëæ àøèãëàãäàõ áîëîìæòîé áàéäàã. 7.6.4
Áóñàä õýðýãëýã÷äýä ñêàí õèéã÷èä õàíäàõ áîëîìæèéã °ã°õ
ìí°õ á³õ ³éëäë³³äèéã root ç°âø°°ðë³³äýýð õèéñýí áèëýý. ýõäýý °°ð õýðýãëýã÷äýä ñêàí õèéã÷èä õàíäàõ áîëîìæèéã °ã°õ õýðýã òàíä áàéæ áîëîõ þì. Ñêàí õèéã÷èéí àøèãëàäàã ò°õ°°ð°ìæèéí öýãò õàíäàõàä óíøèõ áîëîí áè÷èõ ç°âø°°ðë³³ä õýðýãëýã÷èä õýðýãòýé áîëíî. Æèøýý íü áèäíèé USB ñêàí õèéã÷ operator á³ëãèéí ýçýìøäýã /dev/uscanner0 ò°õ°°ð°ìæèéí öýãèéã àøèãëàæ áàéíà. Õýðýãëýã÷ joe-ã operator á³ëýãò íýìýõ íü ñêàí õèéã÷èéã àøèãëàõûã ò³³íä ç°âø°°ð°õ áîëíî: # pw groupmod operator -m joe
191
Chapter 7 Ìóëüòèìåäèà
Èë³³ äýëãýðýíã³éã pw(8) ãàðûí àâëàãûí õóóäàñíààñ óíøèíà óó. Òà /dev/uscanner0 ò°õ°°ð°ìæèéí öýãò áè÷èõ ç°âø°°ðë³³äèéã (0660 ýñâýë 0664) áàñ òîõèðóóëàõ õýðýãòýé. Àíõäàã÷ààð ç°âõ°í operator á³ëýã íü ò°õ°°ð°ìæèéí öýãèéã óíøèæ ÷àääàã. /etc/devfs.rules àéëä äàðààõ ì°ð³³äèéã íýìæ ³³íèéã õèéæ áîëíî: [system=5] add path uscanner0 mode 660
Äàðàà íü äàðààõ ì°ðèéã /etc/rc.conf àéëä íýìæ ìàøèíûã äàõèí à÷ààëíà: devfs_system_ruleset="system"
Ýäãýýð ì°ðí³³äèéí òóõàé äýëãýðýíã³é ìýäýýëëèéã devfs(8) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. Note: Ìýäýýæ àþóëã³é áàéäëûí øàëòãààíóóäààñ áîëîîä òà õýðýãëýã÷èéã ÿìàð íýãýí á³ëýã óðóó ÿëàíãóÿà operator á³ëýã óðóó íýìýõýýñýý °ìí° äàõèí áîäîõ õýðýãòýé.
192
Chapter 8 FreeBSD
ö°ìèéã òîõèðóóëàõ íü
Øèíý÷èëæ äàõèí á³òöèéã °°ð÷èëñ°í Æèì Ìîê. Àíõëàí õóâü íýìýð áîëãîæ îðóóëñàí Æýéê Õýìáè. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 8.1
Åð°íõèé àãóóëãà
Ö°ì íü FreeBSD ³éëäëèéí ñèñòåìèéí ãîë ç³ðõ þì. Ýíý íü ñàíàõ îéã óäèðäàõ, àþóëã³é áàéäëûí õÿíàëòóóäûã õèéõ, ñ³ëæýýíä õîëáîãäîõ, äèñê óðóó õàíäàõ çýðýã îëîí ³éëäë³³äèéã õàðèóöàí õèéäýã. FreeBSD óëàì èë³³ äèíàìèêààð òîõèðóóëàãäàõ áîëñîí áîëîâ÷ çàðèì òîõèîëäîëä ö°ìèéã äàõèí òîõèðóóëæ õ°ðâ³³ëýõ øààðäëàãà ãàðäàã. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: Òà ìàãàäã³é ÿàãààä °°ðò òîõèðóóëñàí ö°ì á³òýýõ õýðýãòýé òàëààð. • Ö°ìèéí òîõèðãîîíû àéëûã õýðõýí áè÷èõ ýñâýë áàéãàà òîõèðãîîíû àéëûã õýðõýí °°ð÷ë°õ òàëààð. • Ö°ìèéí òîõèðãîîíû àéëûã õýðõýí àøèãëàæ øèíý ö°ì ³³ñãýæ á³òýýõ òàëààð. • Øèíý ö°ìèéã õýðõýí ñóóëãàõ òàëààð. • Õýðýâ þì áóðóóãààð ýðãýâýë õýðõýí àëäààã îëîõ òàëààð. Ýíýõ³³ á³ëãèéí æèøýýí³³ä äýõ òóøààëóóä íü àìæèëòòàé áîëîõûí òóëä root ýðõýýð àæèëëàõ ¼ñòîé. •
8.2
ßàãààä °°ð÷ë°í òîõèðóóëñàí ö°ì á³òýýõ õýðýãòýé âý?
Óëàìæëàëààð áîë FreeBSD íü “monolithic” ö°ìòýé áàéñàí áàéíà. Ýíý íü ö°ì òîîòîé õýäýí ò°õ°°ð°ìæ³³äèéí æàãñààëòûã äýìæñýí íýã òîì ïðîãðàì áàéñàí ãýñýí ³ã á°ã°°ä õýðýâ òà ö°ìèéí àæèëëàãààã °°ð÷ë°õ áîë øèíý ö°ì õ°ðâ³³ëæ äàðàà íü êîìïüþòåðàà øèíý ö°ì°°ð à÷ààëàí ýõë³³ëýõ øààðäëàãàòàé áàéñàí áèëýý. í°°ä°ð FreeBSD íü ö°ìèéí èõýíõ àæèëëàãààãàà øààðäëàãûí äàãóó äèíàìèêààð à÷ààëäàã áà ö°ì°°ñ áóöààæ áóóëãàõ áîëîìæ á³õèé ìîäóëèóäààð òóñãààðëàãäñàí çàãâàð óðóó øèëæèæ áàéíà. Ýíý íü ö°ì øèíý òîíîã ò°õ°°ð°ìæèä (ç°°âðèéí êîìïüþòåð äýõ PCMCIA êàðòóóä çýðýã) äàñàí çîõèöîæ ò³³íèéã õóðäàí õ³ðòýýìæòýé áîëãîõ, ýñâýë ö°ì àíõ õ°ðâ³³ëýãäýõäýý ö°ìä õýðýãã³é áàéñàí øèíý àæèëëàãààã ö°ìä áèé áîëãîõ áîëîìæèéã á³ðä³³ëäýã. ³íèéã ìîäóëü÷ëàãäñàí ö°ì õýìýýäýã þì. Òýãñýí ÷ ãýñýí çàðèì ñòàòèê ö°ìèéí òîõèðãîîã çààâàë õèéõ øààðäëàãàòàé. Çàðèì òîõèîëäîëä àæèëëàãàà íü ö°ìòýé íÿãò õîëáîîòîé ó÷ðààñ äèíàìèêààð à÷ààëàõààð õèéõ áîëîìæã³é áàéäàã þì. Áàñ ýíý íü ýíãèéíýýð áîë òýð ³éë àæèëëàãààíä çîðèóëæ äèíàìèêààð à÷ààëàõ ìîäóëèéã áè÷èõ öàã õýíä ÷ îëäîîã³é áàéæ áîëîõ þì. °ð÷ë°í òîõèðóóëñàí ö°ì á³òýýõ íü BSD õýðýãëýã÷èéí õóâüä õàìãèéí ÷óõàë òýñâýðëýí äàâæ ãàðàõ àæèëëàãààíóóäûí íýã þì. Ýíý ïðîöåññ íü öàã èõ çàðöóóëàõ áîëîâ÷ òàíû FreeBSD ñèñòåìä îëîí àøèã °ã°õ áîëíî.ðã°í õ³ðýýíèé òîíîã ò°õ°°ð°ìæ³³äèéã äýìæèõ ¼ñòîé GENERIC ö°ìòýé õàðüöóóëàõàä °°ð÷ë°í òîõèðóóëñàí ö°ì íü ç°âõ°í òàíû PC-íèé òîíîã ò°õ°°ð°ìæ³³äèéã äýìæäýã. Ýíý íü äàðààõ õýä õýäýí àøèãòàé:
193
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü •
•
•
Õóðäàí à÷ààëàõ õóãàöàà. Ö°ì íü òàíû ñèñòåì äýõ òîíîã ò°õ°°ð°ìæ³³äèéã ç°âõ°í øàëãàõ ó÷ðààñ ñèñòåìèéã à÷ààëàõ õóãàöàà ìýäýãäýõ³éö áàãàñäàã. Ñàíàõ îéí àøèãëàëò áàãàñíà. °ð÷ë°í òîõèðóóëñàí ö°ì íü èõýíõäýý GENERIC ö°ì°°ñ áàãà ñàíàõ îéã àøèãëàäàã á°ã°°ä ýíý íü èõ ÷óõàë þì, ÿàãààä ãýâýë ö°ì ³ðãýëæ æèíõýíý ñàíàõ îéä áàéæ áàéõ øààðäëàãàòàé áàéäàã. Èéì ó÷ðààñ °°ð÷èëñ°í ö°ì íü áàãà õýìæýýíèé RAM-òàé ñèñòåì äýýð ÿëàíãóÿà àøèãòàé áàéäàã. Íýìýëò òîíîã ò°õ°°ð°ìæèéí äýìæëýã. Äóóíû êàðòóóä çýðýã GENERIC ö°ìä áàéõã³é ò°õ°°ð°ìæ³³äèéí äýìæëýãèéã íýìýõ áîëîìæèéã òàíä °°ð÷ë°í òîõèðóóëñàí ö°ì îëãîíî.
8.3
Ñèñòåìèéí òîíîã ò°õ°°ð°ìæ õàéæ îëîõ íü
Áè÷ñýí Òîì °³äñ. Ö°ìèéí òîõèðãîî óðóó îðæ ³çýýä àëäàõààñàà °ìí° ìàøèíûõàà òîíîã ò°õ°°ð°ìæèéí á³ðòãýëèéã îëæ àâàõ íü óõààëàã ÿâäàë þì. FreeBSD íü ³íäñýí ³éëäëèéí ñèñòåì áèø òîõèîëäîëä áàéãàà ³éëäëèéí ñèñòåìèéí òîõèðãîîã õàðàí á³ðòãýëèéí æàãñààëòûã õÿëáàðõàí ³³ñãýæ áîëíî. Æèøýý íü Microsoft-èéí Device Manager áóþó ò°õ°°ð°ìæèéí ìåíåæåð íü ñóóëãàãäñàí ò°õ°°ð°ìæ³³äèéí òàëààðõ ÷óõàë ìýäýýëëèéã èõýâ÷ëýí àãóóëäàã. Device Manager íü control panel áóþó õÿíàëòûí ñàìáàðò áàéðëàäàã. Note: Microsoft Windows-èéí çàðèì õóâèëáàðóóäàä System ãýñýí ä³ðñ áàéäàã á°ã°°ä ýíý íü Device Manager óðóó õàíäàõ áîëîìæòîé äýëãýöèéã õàðóóëäàã.
Õýðýâ °°ð ³éëäëèéí ñèñòåì ìàøèí äýýð áàéõã³é áîë àäìèíèñòðàòîð ýíý ìýäýýëëèéã °°ð°° îëîõ õýðýãòýé áîëíî. Íýã àðãà íü dmesg(8) õýðýãñýë áîëîí man(1) òóøààëóóäûã àøèãëàõ ÿâäàë þì. FreeBSD äýýð èõýíõ ò°õ°°ð°ìæèéí äðàéâåðóóä íü äýìæèãäñýí òîíîã ò°õ°°ð°ìæ³³äèéí æàãñààëòûã õàðóóëñàí ãàðûí àâëàãûí õóóäàñòàé áàéäàã á°ã°°ä à÷ààëàõ ³åä øàëãàæ áàéõ ÿâöàä îëäñîí òîíîã ò°õ°°ð°ìæèéã õàðóóëäàã. Æèøýý íü äàðààõ ì°ð³³ä íü psm äðàéâåð õóëãàíà îëñîí ãýäãèéã õàðóóëæ áàéíà: psm0: psm0: psm0: psm0:
irq 12 on atkbdc0 [GIANT-LOCKED] [ITHREAD] model Generic PS/2 mouse, device ID 0
Ýíý äðàéâåð íü °°ð÷ë°í òîõèðóóëàõ ö°ìèéí òîõèðãîîíû àéëä îðñîí áàéõ ýñâýë loader.conf(5) àøèãëàí à÷ààëàãäñàí áàéõ õýðýãòýé áîëíî. Çàðèì òîõèîëäîëä dmesg-ýýñ ãàð÷ áàéãàà °ã°ãä°ë íü à÷ààëàëòûí øàëãàëò, èëð³³ëýëòèéí ãàðàëòûã áèø ç°âõ°í ñèñòåìèéí ìýäýãäë³³äèé㠳糳ëäýã. Ýäãýýð òîõèîëäëóóäàä /var/run/dmesg.boot àéëûã ³çýí ãàðàëòûã îëæ àâ÷ áîëíî. Òîíîã ò°õ°°ð°ìæèéã îëîõ °°ð íýã àðãà áîë èë³³ äýëãýðýíã³é ãàðàëòû㠳糳ëäýã pciconf(8) õýðýãñëèéã àøèãëàõ ÿâäàë þì. Æèøýý íü: ath0@pci0:3:0:0: vendor = device = class = subclass =
class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00 ’Atheros Communications Inc.’ ’AR5212 Atheros AR5212 802.11abg wireless’ network ethernet
194
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü pciconf -lv àøèãëàí îëæ àâñàí ýíý áÿöõàí ìýäýýëýë íü ath äðàéâåð óòàñã³é Ethernet ò°õ°°ð°ìæèéã îëñíûã õàðóóëæ áàéíà. man ath òóøààëûã àøèãëàâàë ath(4) ãàðûí àâëàãûí õóóäñûã õàðóóëàõ áîëíî. Àøèãòàé ìýëýýëýë îëæ àâàõûí òóëä man(1) óðóó -k òóãèéã °ã°í àøèãëàæ áîëíî. Äýýðõýýñ èíãýæ °ã÷ áîëíî: # man -k Atheros
Òóõàéí íýã ³ã àãóóëñàí ãàðûí àâëàãûí õóóäñûí æàãñààëòûã îëæ àâàõûí òóëä: ath(4) ath_hal(4)
- Atheros IEEE 802.11 wireless network driver - Atheros Hardware Access Layer (HAL)
Òîíîã ò°õ°°ð°ìæèéí æàãñààëòààð çýâñýãëýñíýýð ö°ìèéã °°ð÷ë°í òîõèðóóëæ á³òýýõ ïðîöåññ íü àðàé õÿëáàð áîëíî. 8.4
Ö°ìèéí äðàéâåðóóä, äýä ñèñòåì³³ä, áîëîí ìîäóëèóä
°ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýõèéí °ìí° òýãæ õèéõ øàëòãààíàà áîäîæ ³çýõ õýðýãòýé. Õýðýâ òóñãàéëñàí òîíîã ò°õ°°ð°ìæèéí äýìæëýã õýðýãòýé áàéãàà áîë òýð íü ìîäóëü õýëáýðýýð àëü õýäèéí áàéæ áàéæ áîëîõ þì. Ö°ìèéí ìîäóëèóä íü /boot/kernel ñàíä áàéõ á°ã°°ä àæèëëàæ áàéãàà ö°ìä kldload(8)-ã àøèãëàí äèíàìèêààð äóóäàæ áîëäîã. Ö°ìèéí á³õ äðàéâåðóóäûí èõýíõ íü òóñãàé ìîäóëü áîëîí ãàðûí àâëàãûí õóóäàñòàé áàéäàã. Æèøýý íü ñ³³ëèéí õýñýã ath ãýñýí óòàñã³é Ethernet äðàéâåðèéí òàëààð äóðäñàí áàéäàã. Ýíý ò°õ°°ð°ìæ íü °°ðèéí ãàðûí àâëàãàäàà äàðààõ ìýäýýëëèéã àãóóëñàí áàéäàã: Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): if_ath_load="YES"
Çààâðûí äàãóó /boot/loader.conf àéëä if_ath_load="YES" ì°ðèéã íýìñíýýð ýíý ìîäóëèéã à÷ààëàõ ³åä äèíàìèêààð äóóäàõ áîëîìæèéã èäýâõæ³³ëíý. ýõäýý çàðèì òîõèîëäîëä õîëáîîòîé ìîäóëü áàéäàãã³é. Ýíý íü çàðèì íýã äýä ñèñòåì³³ä áîëîí ìàø ÷óõàë äðàéâåðóóäûí õóâüä áîäèò á°ã°°ä æèøýý íü fast file system (FFS) áóþó ò³ðãýí àéëûí ñèñòåì íü ö°ìä çààâàë áàéõ øààðäëàãàòàé òîõèðóóëãà þì. Ì°í ñ³ëæýýíèé äýìæëýãèéí (INET) õóâüä èéì áàéíà. Õàðàìñàëòàé íü äðàéâåð øààðäëàãàòàé ýñýõèéã õýëýõ öîðûí ãàíö çàì íü ìîäóëèéã íü øàëãàõ ÿâäàë þì. Warning: Ò°õ°°ð°ìæ ýñâýë òîõèðóóëãûí ö°ìä öóã á³òýýãäñýí äýìæëýãèéã óñòãàæ ýâäýðõèé ö°ìòýé ³ëäýõ íü èõ õÿëáàð þì. Æèøýý íü ata(4) äðàéâåðèéã ö°ìèéí òîõèðãîîíû àéëààñ àâ÷èõ þì áîë ATA äèñêèéí õ°ò°÷³³ä íü loader.conf-ä òóñãàé ì°ð íýìýëã³éãýýð ýõëýí à÷ààëàõã³é áàéæ áîëîõ þì. Õýðýâ ýðãýëçýæ áàéãàà áîë ìîäóëèéã øàëãààä äàðàà íü åðä°° ë äýìæëýãèéã ö°ìä ³ëäýýõ õýðýãòýé.
195
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
8.5
°ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýõ áà ñóóëãàõ íü
Ýõëýýä ö°ì á³òýýõ ñàíãààð àÿëàÿ. Äóðäñàí á³õ ñàíãóóäààñ ãîë íü /usr/src/sys ñàí áàéõ á°ã°°ä /sys ãýñýí çàìààð áàñ õàíäàõ áîëîìæòîé. Ýíä áàéãàà õýä õýäýí äýä ñàíãóóä ö°ìèéí °°ð °°ð õýñã³³äèéã èëýðõèéëýõ á°ã°°ä áèäíèé çîðèëãîä õàìãèéí ÷óõàë íü òàíû °°ð÷ë°í òîõèðóóëàõ ö°ìèéí òîõèðãîîã çàñâàðëàõ arch/conf ñàíãóóä áîëîí òàíû ö°ì á³òýýãäýõ øàòíû òàëáàð compile ñàí þì. arch íü i386, alpha, amd64, ia64, powerpc, sparc64, ýñâýë pc98 (ßïîíä èõ àøèãëàãääàã PC òîíîã ò°õ°°ð°ìæèéí °°ð íýã õ°ãæ³³ëýëòèéí ñàëáàð) çýðãèéã ò°ë°°ëä°ã. Òóõàéí àðõèòåêòóðûí ñàí äîòîðõ êîä ç°âõ°í òýð àðõèòåêòóðòàé õîëáîîòîé; áóñàä êîäûí õýñýã íü FreeBSD ïîðò õèéãäýõ áîëîìæ á³õèé á³õ òàâöàíãóóäûí õóâüä àäèë ìàøèíààñ ÷°ë°°ò êîä áàéíà. Ñàíãèéí á³òöèéí ëîãèê çîõèîí áàéãóóëàëò íü äýìæëýã õèéãäñýí ò°õ°°ð°ìæ, àéëûí ñèñòåì áîëîí °°ðèéí äýä ñàíä áàéãàà òîõèðóóëãà á³ðòýé õàìò áàéãààã õàðæ áîëíî. Ýíý á³ëýã æèøýýí äýýð òàíûã i386 àðõèòåêòóð àøèãëàæ áàéãàà ãýæ àâ÷ ³çíý. Õýðýâ ýíý íü òàíû õóâüä °°ð áàéõ þì áîë òà °°ðèéí ñèñòåìèéí àðõèòåêòóðûí õóâüä çàìóóäûí íýðí³³ääýý òîõèðîõ °°ð÷ë°ëò³³äèéã õèéãýýðýé. Note: Õýðýâ òàíû ñèñòåì äýýð /usr/src/sys ñàí áàéõã³é áîë ö°ìèéí ýõ ñóóãààã³é áàéíà. ³íèéã õàìãèéí õÿëáàð àðãààð õèéõèéí òóëä root ýðõýýð sysinstall àæèëëóóëæ Configure ñîíãîîä, äàðàà íü Distributions ñîíãîîä, src ñîíãîîä, äàðàà íü base áîëîí sys-ã ñîíãîæ òàòàæ àâíà. Õýðýâ òà sysinstall -ä äóðã³é áà “àëáàí ¼ñíû” FreeBSD CDROM-ä õàíäàõ áîëîìæòîé áîë òóøààëûí ì°ð°°ñ ýõèéã áàñ ñóóëãàæ áîëíî: # # # # #
mount /cdrom mkdir -p /usr/src/sys ln -s /usr/src/sys /sys cat /cdrom/src/ssys.[a-d]* | tar -xzvf cat /cdrom/src/sbase.[a-d]* | tar -xzvf -
Äàðàà íü arch/conf ñàí óðóó øèëæýýä GENERIC òîõèðãîîíû àéëûã òà °°ðèéí ö°ìä°° °ã°õ íýð óðóó õóóë. Æèøýý íü: # cd /usr/src/sys/i386 /conf # cp GENERIC MYKERNEL
Óëàìæëàëààð áîë ýíý íýð íü á³ãä òîì ³ñãýýð áàéäàã, õýðýâ òà îëîí °°ð °°ð ò°ðëèéí FreeBSD ìàøèíóóäûí àæèëëàãààã õÿíàäàã áîë ìàøèíóóäûíõàà íýðýýð íýðëýõ íü çîõèìæòîé þì. Áèä ýíý æèøýýíèéõýý çîðèëãîîð MYKERNEL ãýæ íýðëýå. Tip: °ðèéí ö°ìèéí òîõèðãîîíû àéëàà øóóä /usr/src äîîð õàäãàëàõ íü áóðóó áàéæ áîëîõ þì. Õýðýâ òà àñóóäëóóäòàé òóëãàð÷ áàéãàà áîë /usr/src -èéã óñòãààä ë äàõèæ ýõëýõ íü çîðèãòîé àëõàì áàéæ áîëîõ þì. ýõäýý ³³íèéã õèéãýýä õýäýí ñåêóíäûí äàðàà ë òà °°ðèéí °°ð÷ë°í òîõèðóóëñàí ö°ìèéí òîõèðãîîíû àéëàà óñòãàñàí áîëîõîî ìýäýõ áîëíî. Ì°í GENERIC àéëûã øóóä çàñâàðëàõ õýðýãã³é á°ã°°ä äàðààãèéí óäàà °°ðèéí ýõ ìîäûã øèíý÷ëýõ ³éëäëèéã õèéõýä äàðàãäàí õóóëàãäàæ òàíû ö°ìèéí °°ð÷ë°ëò àëäàãäàæ ìàãàäã³é. Òà ö°ìèéí òîõèðãîîíû àéëàà °°ð ãàçàð õàäãàëæ äàðàà íü i386 ñàí äàõü àéë óðóó òýìäýãò õîëáîîñ ³³ñãýæ áîëíî. Æèøýý íü: # cd /usr/src/sys/i386 /conf # mkdir /root/kernels # cp GENERIC /root/kernels/MYKERNEL
196
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü # ln -s /root/kernels/MYKERNEL
Îäîî MYKERNEL-èéã °°ðèéí äóðòàé òåêñò çàñâàðëàã÷ äýýð çàñààðàé. Õýðýâ òà ä°íã°æ ýõýëæ áàéãàà áîë áàéãàà öîðûí ãàíö çàñâàðëàã÷ íü vi áàéæ áîëîõ á°ã°°ä ò³³íèéã ýíä òàéëáàðëàõàä õýòýðõèé ò°â°ãòýé áîëîâ÷ íîìûí æàãñààëòàä áàéãàà °°ð îëîí íîìíóóäàä áè÷ñýí áàéãàà. ýõäýý FreeBSD íü ee ãýäýã õÿëáàð çàñâàðëàã÷èéã ñàíàë áîëãîäîã á°ã°°ä õýðýâ òà ýõëýí ñóðàã÷ áîë ýíý íü òàíû ñîíãîõ çàñâàðëàã÷ áàéõ áîëíî. °ðèéí òîõèðãîîã òóñãàõ ýñâýë GENERIC àéëààñ °°ðèéí õèéñýí °°ð÷ë°ëò³³äýýñ ÿëãàõûí òóëä äýýä õýñýãò áàéãàà ì°ð³³äèéã ÷°ë°°òýé °°ð÷ë°°ðýé. Õýðýâ òà SunOS ýñâýë °°ð BSD ³éëäëèéí ñèñòåìèéí äîîð ö°ì á³òýýæ áàéñàí áîë ýíý àéëûí èõýíõ õýñýã íü ìàø òàíèë áàéõ áîëíî. Õýðýâ òà DOS çýðýã °°ð ³éëäëèéí ñèñòåìýýñ èðæ áàéãàà áîë í°ã°° òàëààñàà GENERIC òîõèðãîîíû àéë ò°â°ãòýé þì øèã ñàíàãäàæ áîëîõ á°ã°°ä Òîõèðãîîíû àéë õýñãèéí òàéëáàðóóäûã óäààí íóõàöòàé äàãààðàé. Note: Õýðýâ òà FreeBSD ò°ñëèéí õàìãèéí ñ³³ëèéí ýõýýð °°ðèéí ýõ ìîäîî ñ³³ëèéí ³åèéí õýëáýðò àâ÷èðñàí áîë øèíý÷ëýõ øàòóóäàà õýðýãæ³³ëæ ýõëýõýýñýý °ìí° /usr/src/UPDATING àéëûã ³ðãýëæ øàëãàæ áàéõ íü ÷óõàë þì. Ýíý àéë íü øèíý÷èëñýí ýõ êîä äîòîðõ òóñãàé àíõààðàë øààðäëàãàòàé ÷óõàë àñóóäëóóä ýñâýë õýñã³³äèéí òàëààð òàéëáàðëàäàã. /usr/src/UPDATING íü ³ðãýëæ òàíû FreeBSD õóâèëáàðòàé òààðäàã á°ã°°ä ýíý ãàðûí àâëàãààñ èë³³ øèíý ìýäýýëýëòýé, ñ³³ëèéí ³åèéíõ áàéäàã.
Òà ö°ìä çîðèóëàí ýõ êîäîî õ°ðâ³³ëýõ øààðäëàãàòàé.
Ö°ìèéã á³òýýõ íü 1.
/usr/src
ñàí óðóó îðíî:
# cd /usr/src
2.
Ö°ìèéã õ°ðâ³³ëíý: # make buildkernel KERNCONF=MYKERNEL
3.
Øèíý ö°ìèéã ñóóëãàíà: # make installkernel KERNCONF=MYKERNEL
Note: Ö°ìèéã á³òýýõýä ã³éöýä FreeBSD-èéí ýõ ìîä áàéõ øààðäëàãàòàé.
Tip: Àíõäàã÷ààð °°ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýõýä á³õ
ö°ìèéí ìîäóëèóä áàñ á³òýýãäýíý. Õýðýâ òà ö°ìèéã õóðäàí øèíý÷ëýõèéã ýñâýë ç°âõ°í °°ð÷ë°í òîõèðóóëñàí ìîäóëèóäûã á³òýýõèéã õ³ñýæ áàéãàà áîë ö°ìèéã á³òýýæ ýõëýõýýñýý °ìí° /etc/make.conf àéëûã çàñâàðëàõ õýðýãòýé: MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
Ýíý õóâüñàã÷ íü á³ãäèéã áèø á³òýýõ ìîäóëèóäûí æàãñààëòûã òîäîðõîéëäîã. WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs
197
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
Ýíý õóâüñàã÷ íü á³òýýõ ïðîöåññîä îðóóëàõã³é áàéõ ìîäóëèóäûí æàãñààëòûã òîäîðõîéëäîã. Ö°ìèéã á³òýýõ ïðîöåññèéí ÿâöàä òàíä õýðýã áîëîõóéö áóñàä õóâüñàã÷óóäûí òóõàéä make.conf(5) ãàðûí àâëàãûí õóóäñàíä õàíäàæ ³çíý ³³.
Øèíý ö°ì /boot/kernel ñàíä /boot/kernel/kernel íýðýýð õóóëàãäàõ á°ã°°ä õóó÷èí ö°ì íü /boot/kernel.old/kernel óðóó õóóëàãäàíà. Îäîî ñèñòåìèéã óíòðààãààä øèíý ö°ìèéã àøèãëàí äàõèí à÷ààë. Õýðýâ ÿìàð íýã þì áîëîõã³é áîëáîë ýíý á³ëãèéí ò°ãñã°ëä áàéãàà àëäààã îëæ çàñâàðëàõ çààâàð òàíä õýðýãòýé áàéæ áîëîõ þì. Òàíû øèíý ö°ì à÷ààëàõã³é òîõèîëäîëä õýðõýí ñýðãýýõ òàëààð òàéëáàðëàñàí õýñãèéã çààâàë óíøààðàé. Note: À÷ààëàõ loader(8) áà òîõèðãîî çýðýã à÷ààëàõ ïðîöåññòîé õîëáîîòîé áóñàä àéëóóä /boot -ä õàäãàëàãäàíà. óðàâäàã÷ ýòãýýäèéí ýñâýë °°ð÷ë°í òîõèðóóëñàí ìîäóëèóä /boot/kernel-ä áàéðëàõ á°ã°°ä
ãýõäýý ìîäóëèóäûã õ°ðâ³³ëñýí ö°ìèéí àäèë ñ³³ëèéí ³åèéí õýëáýðò áàéëãàõ íü ìàø ÷óõàë ãýäãèéã õýðýãëýã÷èä ìýäýõ øààðäëàãàòàé. Õ°ðâ³³ëñýí ö°ìòýé õàìò àæèëëóóëàõààðã³é ìîäóëèóä íü òîãòâîðã³é áàéäàë ýñâýë áóðóó àæèëëàãààíä õ³ðãýæ áîëçîøã³é þì.
8.6
Òîõèðãîîíû àéë
FreeBSD 6.X -ä çîðèóëàí øèíý÷èëñýí Æîýë Äàëü.
Òîõèðãîîíû àéëûí åð°íõèé õýëáýð íü ìàø ýíãèéí áèëýý. Ì°ð áîëãîí ò³ëõ³³ð ³ã á°ã°°ä íýã áîëîí õýä õýäýí íýìýëò °ã°ãäë°°ñ òîãòîíî. Àìàðõàí áîëãîõ ³³äíýýñ èõýíõ ì°ð³³ä íü ç°âõ°í íýã íýìýëò °ã°ãä°ëòýé áàéíà. # òýìäýãòèéí àðä áàéãàà ç³éëñ òàéëáàð á°ã°°ä õàÿãäàæ òîîöîãäîíî. Äàðààõ õýñýãò ò³ëõ³³ð ³ã áîëãîíûã GENERIC -ä æàãñààñàí äàðààëëààð íü òàéëáàðëàæ áàéíà. Àðõèòåêòóðààñ õàìààðàëòàé òîõèðóóëãóóä áîëîí ò°õ°°ð°ìæèéí ÿäðààìààð æàãñààëòûí òàëààð GENERIC àéë áàéãàà ñàíãèéí íýãýí àäèë ñàíä áàéðëàõ NOTES àéëààñ ³çíý ³³. Àðõèòåêòóðààñ õàìààðàëã³é òîõèðóóëãóóäûí òàëààð /usr/src/sys/conf/NOTES àéëààñ ³çíý ³³. Note: Òåñò õèéõ çîðèëãîîð èõýíõäýý á³õ áàéãàà òîõèðóóëãóóä root ýðõýýð àæèëëóóëíà:
àãóóëñàí àéëûã á³òýýõäýý äàðààõ òóøààëûã
# cd /usr/src/sys/i386 /conf && make LINT
Äàðààõ æèøýý íü øààðäëàãàòàé áîë òîäîòãîõ çîðèëãîîð îðóóëñàí ò°ð°ë á³ðèéí íýìýëò òàéëáàð á³õèé GENERIC ö°ìèéí òîõèðãîîíû àéë þì. Ýíý æèøýý íü òàíû /usr/src/sys/i386/conf/GENERIC äàõü õóóëáàðòàé èõ îéðõîí òààðàõ ¼ñòîé. machine i386
Ýíý íü ìàøèíû àðõèòåêòóð þì. Ýíý íü alpha, amd64, i386, ia64, pc98, powerpc, ýñâýë sparc64 -èéí àëü íýã áàéõ ¼ñòîé. cpu cpu cpu
I486_CPU I586_CPU I686_CPU
198
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
Äàðààõ òîõèðóóëãà íü òàíû ñèñòåìä áàéãàà CPU-èéí ò°ðëèéã çààíà. Òà îëîí CPU ì°ðòýé áàéæ áîëîõ áîëîâ÷ (õýðýâ, æèøýý íü òà I586_CPU ýñâýë I686_CPU õî¼ðûí àëèéã àøèãëàõàà ñàéí ìýäýõã³é áàéãàà áîë) °°ð÷ë°í òîõèðóóëñàí ö°ìèéí õóâüä ç°âõ°í áàéãàà CPU-ãýý çààõ íü ç³éòýé þì. Õýðýâ òà °°ðèéí CPU-èéí ò°ðëèéã ñàéí ìýäýõã³é áàéãàà áîë /var/run/dmesg.boot àéëûã øàëãàæ à÷ààëàõ ³åèéí ìýäýýëë³³äèéã ³çýæ áîëíî. ident
GENERIC
Ýíý íü ö°ìèéã òîäîðõîéëîõ íýð þì. Õýðýâ òà ò³ð³³íèé æèøýýí³³äýä äóðäñàí çààâðóóäûã äàãàñàí áîë °°ðèéí ö°ìèéã íýðëýñýí øèãýý °°ð°°ð õýëáýë MYKERNEL õýìýýí °°ð÷ë°õ õýðýãòýé. ident ì°ðä îðóóëñàí óòãà íü òàíûã ö°ìèéã à÷ààëàõ ³åä õýâëýãäýí ãàðàõ ó÷èð òà °°ðèéí åðäèéí ö°ì°°ñ øèíý ö°ì°° òóñàä íü õàäãàëàõûã õ³ñâýë øèíý ö°ìä°° °°ð íýð °ã°õ íü àøèãòàé áàéäàã (°°ð°°ð õýëáýë òà òóðøèëòûí ö°ì á³òýýõèéã õ³ñâýë). #To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices.
device.hints(5) íü ò°õ°°ð°ìæ³³äèéí äðàéâåðóóäûí òîõèðóóëãóóäûã õèéõýä àøèãëàãäàíà. loader(8)-èéí à÷ààëàõ ³å øàëãàõ àíõäàã÷ áàéðëàë íü /boot/device.hints áàéíà. hints òîõèðóóëãûã àøèãëààä òà ýäãýýð ç°âë°ã°°í³³äèéã ñòàòèêààð õ°ðâ³³ëæ áîëíî. Òýãýõýä /boot äîòîð device.hints àéë ³³ñãýõ øààðäëàãàã³é áîëîõ þì. makeoptions
DEBUG=-g
# Build kernel with gdb(1) debug symbols
FreeBSD -ã á³òýýõ åðäèéí ïðîöåññ íü äèáàã (debug) õèéõ ìýäýýëëèéã àãóóëäàã á°ã°°ä ö°ìèéã á³òýýõ ³åä -g òîõèðóóëãûã gcc(1) óðóó °ãñí°°ð äèáàã (debug) õèéõ ìýäýýëýë èäýâõæäýã. options
SCHED_4BSD
# 4BSD scheduler
FreeBSD -èéí óëàìæëàëò, àíõäàã÷ ñèñòåìèéí ò°ë°âë°ã÷/õóâààðèëàã÷. ³íèéã ³ëäýý. options
PREEMPTION
# Enable kernel thread preemption
Ö°ì äýõ óðñãàëóóäûã (thread) °°ð èë³³ °íä°ð äàâóó ýðõòýé óðñãàëóóäààð ñîëèõ áîëîìæèéã á³ðä³³ëíý. Ýíý íü õàðèëöàí àæèëëàõ áîëîí òàñëàõ óðñãàëóóäûã (interrupt threads) õ³ëýýëãýëã³éãýýð àëü áîëîõ ò³ðãýí àæèëëóóëàõàä òóñàëäàã. options
INET
# InterNETworking
ѳëæýýíèé äýìæëýã. ѳëæýýíä õîëáîãäîõã³é ÷ ãýñýí ýíý òîõèðãîîã ³ëäýýãýýðýé. Èõýíõ ïðîãðàìóóä ýðãýí õîëáîãäîõ (loopback áóþó °°ð°°ð õýëáýë °°ðèéí PC äîòîð ñ³ëæýýíèé õîëáîëò õèéõ) ñ³ëæýýã øààðääàã ó÷èð ýíý íü ³íäñýíäýý çàéëøã³é øààðäëàãàòàé. options
INET6
# IPv6 communications protocols
Ýíý íü IPv6 õîëáîîíû ïðîòîêîëóóäûã èäýâõæ³³ëäýã. options
FFS
# Berkeley Fast Filesystem
Ýíý íü ýíãèéí õàòóó äèñêíèé àéëûí ñèñòåì. Ýíý òîõèðóóëãûã õàòóó äèñêíýýñ à÷ààëàõ áîë ³ëäýýãýýðýé. options
SOFTUPDATES
# Enable FFS Soft Updates support
199
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
Ýíý òîõèðóóëãà íü Ç°°ë°í Øèíý÷ëýë³³äèéã ö°ì èäýâõæ³³ëäýã á°ã°°ä äèñê óðóó áè÷èõ õàíäàëòûã õóðäàñãàõàä òóñàëäàã. Õýäèéãýýð ýíý áîëîìæèéã ö°ì°°ð õàíãàäàã áîëîâ÷ äèñê äýýð èäýâõæ³³ëýõ øààðäëàãàòàé. Òàíû ñèñòåìèéí äèñêí³³ä äýýð Ç°°ë°í Øèíý÷ëýë³³ä èäýâõæñýí ýñýõèéã mount(8) -èéí ³ð ä³íãýýð õÿíààðàé. Õýðýâ òà soft-updates òîõèðóóëãûã îëæ õàðàõã³é áàéãàà áîë tunefs(8) (îäîî áàéãàà ñèñòåìèéí õóâüä) ýñâýë newfs(8) (øèíý àéëûí ñèñòåìèéí õóâüä) àøèãëàí èäýâõæ³³ëýõ õýðýãòýé. options
UFS_ACL
# Support for access control lists
Ýíý òîõèðóóëãà íü õàíäàëòûã õÿíàõ æàãñààëòûí äýìæëýãèéã ö°ìä èäýâõæ³³ëäýã. Ýíý íü °ðã°òã°ñ°í øèíæ ÷àíàðóóä áà UFS2-èéã àøèãëàõàä òóëãóóðëàæ áàéãàà á°ã°°ä ýíý áîëîìæèéí òàëààð Section 14.12 äýýð äýëãýðýíã³é òàéëáàðëàñàí áàéäàã. ACL-³³ä ýõýíäýý èäýâõæ³³ëñýí áàéäàã á°ã°°ä õýðýâ óðüä íü àéëûí ñèñòåì äýýð àøèãëàãäàæ áàéñàí áîë õàíäàëòûã õÿíàõ æàãñààëòûã óñòãàæ àéëóóäûã õàìãààëñàí àðãûã óðüä÷èëàí òààæ áîëøã³é áàéäàëò õ³ðãýäýã ó÷èð ýíý òîõèðóóëãûã õààæ áîëîõã³é. options
UFS_DIRHASH
# Improve performance on big directories
Ýíý òîõèðóóëãà íü íýìýãäýë ñàíàõ îéã çàðëàãàäàæ òîì ñàíãóóäàä õèéõ äèñêíèé ³éëäë³³äèéã õóðäàñãàõ àæèëëàãààã îðóóëäàã. Òà òîì ñåðâåð ýñâýë õàðèëöàí àæèëëàõ àæëûí ñòàíöàä çîðèóëæ ýíý òîõèðóóëãûã åð°íõèéä°° õàäãàëàõ õýðýãòýé á°ã°°ä õýðýâ òà FreeBSD-ã ñàíàõ îé ÷óõàë æèæèã ñèñòåì áà äèñêíèé õàíäàëòûí õóðäíû à÷ õîëáîãäîë áàãàòàé ãàëò õàíà ìýòèéí ñèñòåì äýýð àøèãëàæ áàéãàà áîë óñòãààðàé. options
MD_ROOT
# MD is a potential root device
Ýíý òîõèðóóëãà íü ñàíàõ îé äýýð òóëãóóðëàñàí, root ò°õ°°ð°ìæ áîëæ àøèãëàãäàõ âèðòóàë äèñêíèé äýìæëýãèéã èäýâõæ³³ëäýã. options options options
NFSCLIENT NFSSERVER NFS_ROOT
# Network Filesystem Client # Network Filesystem Server # NFS usable as /, requires NFSCLIENT
ѳëæýýíèé àéëûí ñèñòåì. Õýðýâ òà TCP/IP-ààð UNIX àéëûí ñåðâåðýýñ õóâààëòûã õîëáîëò õèéõ ò°ë°âë°ã°°ã³é áîë ýäãýýðèéã òàéëáàð áîëãîí õààæ áîëíî. options
MSDOSFS
# MSDOS Filesystem
MS-DOS àéëûí ñèñòåì. Õýðýâ òà DOS õýëáýðæ³³ëñýí õàòóó äèñêíèé õóâààëòûã à÷ààëàõ ³åä õîëáîëò õèéõ ò°ë°âë°ã°°ã³é áîë ³³íèéã àéëã³éãýýð òàéëáàð áîëãîí õààæ áîëíî. Ýíý íü äýýð òàéëáàðëàñíû äàãóó ýõíèé óäàà DOS õóâààëòûã õîëáîëò õèéõýä àâòîìàòààð à÷ààëàãäàõ áîëíî. Ì°í ìàø ñàéí emulators/mtools ïðîãðàì õàíãàìæ íü õîëáîëò áîëîí ñàëãàëò õèéëã³éãýýð DOS óÿí äèñêí³³äýä õàíäàõ áîëîìæèéã á³ðä³³ëäýã (ýíý íü MSDOSFS-èéã îãò øààðääàãã³é). options
CD9660
# ISO 9660 Filesystem
CDROM-óóäàä çîðèóëñàí ISO 9660 àéëûí ñèñòåì. Õýðýâ òà CDROM õ°òë°ã÷ áàéõã³é ýñâýë CD-ýýñ °ã°ãäëèéã õààÿà õîëáîëò õèéäýã áîë (òàíûã àíõ °ã°ãäëèéí CD-ã õîëáîëò õèéõ ³åä äèíàìèêààð à÷ààëàãääàã ó÷ðààñ) òàéëáàð áîëãîæ õààæ áîëíî. Äóóíû CD-³³ä ýíý àéëûí ñèñòåìèéã õýðýãëýäýãã³é. options
PROCFS
# Process filesystem (requires PSEUDOFS)
200
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
Ïðîöåññèéí àéëûí ñèñòåì. Ýíý íü ps(1) øèã ïðîãðàìóóä ïðîöåññóóäûí àæèëëàæ áàéãàà òàëààð äýëãýðýíã³é ìýäýýëýë òàíä °ã°õ áîëîìæèéã á³ðä³³ëäýã /proc äýýð õîëáîëò õèéãäñýí “õóóðàì÷” àéëûí ñèñòåì þì. Èõýíõ äèáàã õèéõ áà ìîíèòîð õèéõ õýðýãñë³³ä PROCFS -ã³éãýýð àæèëëàõààð õèéãäñýí áàéäàã: ñóóëãàëòóóä íü ýíý àéëûí ñèñòåìèéã àíõäàã÷ààð õîëáîëò õèéõã³é, òèéìýýñ PROCFS-èéã àøèãëàõ íü èõýíõ òîõèîëäîëä øààðäëàãàã³é áàéäàã. options
PSEUDOFS
# Pseudo-filesystem framework
6.X ö°ì³³ä PROCFS àøèãëàæ áàéãàà áîë áàñ PSEUDOFS äýìæëýãèéã îðóóëàõ øààðäëàãàòàé. options
GEOM_GPT
# GUID Partition Tables.
Ýíý òîõèðóóëãà íü íýã äèñê äýýð èõ îëîí òîîíû õóâààëò áàéõ áîëîìæèéã àâ÷èðíà. options
COMPAT_43
# Compatible with BSD 4.3 [KEEP THIS!]
4.3BSD-òýé íèéöòýé áàéõ. ³íèéã ýíý ÷èãýýð îðõè; õýðýâ ³³íèéã òàéëáàð áîëãîæ õààâàë çàðèì ïðîãðàìóóä ñîíèí àæèëëàæ ýõýëíý. options
COMPAT_FREEBSD4
# Compatible with FreeBSD4
Ýíý òîõèðóóëãà íü FreeBSD 5.X i386 áà Alpha ñèñòåì³³ä äýýð FreeBSD-èéí õóó÷èí õóâèëáàðóóä äýýð õ°ðâ³³ëýãäñýí, õóó÷èí ñèñòåìèéí äóóäëàãóóäûí èíòåðýéñ³³äèéã àøèãëàäàã ïðîãðàìóóäûã äýìæèõýä øààðäëàãàòàé. Ýíý òîõèðóóëãûã õóó÷èí ïðîãðàìóóä àøèãëàæ áîëçîøã³é á³õ i386 áîëîí Alpha ñèñòåì³³ä äýýð àøèãëàõûã ç°âë°æ áàéíà; ia64 áà Sparc64 çýðýã 5.X äýýð ç°âõ°í äýìæëýã õèéãäñýí òàâöàíãóóä ýíý òîõèðóóëãûã øààðääàãã³é. options
COMPAT_FREEBSD5
# Compatible with FreeBSD5
Ýíý òîõèðóóëãà íü FreeBSD 5.X ñèñòåìèéí äóóäëàãûí èíòåðýéñ³³äèéã àøèãëàäàã, FreeBSD 5.X õóâèëáàðóóä äýýð ýìõýòãýãäñýí ïðîãðàìóóäûã FreeBSD 6.X áîëîí ò³³íýýñ äàðàà ³åèéí õóâèëáàðóóä äýýð äýìæèõýä øààðäëàãàòàé. options
SCSI_DELAY=5000
# Delay (in ms) before probing SCSI
Ýíý íü ö°ìèéã SCSI ò°õ°°ð°ìæ³³äèéã øàëãàæ ýõëýõýýñ °ìí° 5 ñåêóíä ò³ð çîãñîîíî. Õýðýâ òà ç°âõ°í IDE õàòóó äèñêòýé áîë ³³íèéã îðõèæ áîëíî, ýñðýã òîõèîëäîëä à÷ààëàëòûã õóðäàñãàõûí òóëä ýíý òîîã áàãàñãàæ áîëíî. Ìýäýýæ òà ³³íèéã õèéãýýä FreeBSD òàíû SCSI ò°õ°°ð°ìæ³³äèéã òàíèõã³é áîë òà äàõèí ³³íèéã èõýñãýæ áîëíî. options
KTRACE
# ktrace(1) support
Ýíý íü äèáàã õèéõýä àøèãòàé, ö°ìèéí ïðîöåññèéã äàãàõ áîëîìæèéã èäýâõæ³³ëäýã. options
SYSVSHM
# SYSV-style shared memory
Ýíý òîõèðóóëãà íü System V õóâààëöñàí ñàíàõ îéí áîëîìæ á³ðä³³ëäýã. Ýíý áîëîìæèéí °ðã°í õýðýãëýýí³³äèéí íýã íü X äýõ XSHM °ðã°òã°ë á°ã°°ä ³³íèéã ãðàèê èõ øààðääàã îëîí ïðîãðàìóóä àâòîìàòààð èë³³ õóðä àâàõûí òóëä àøèãëàäàã. Õýðýâ òà X àøèãëàäàã áîë ³³íèéã çààâàë îðóóëàõûã õ³ñýõ áîëíî. options
SYSVMSG
# SYSV-style message queues
201
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü System V ìýäýýëë³³äèéí äýìæëýã. Ýíý òîõèðóóëãà íü ç°âõ°í õýäõýí çóóí áàéòûã ö°ìä íýìäýã. options
SYSVSEM
# SYSV-style semaphores
System V ñåìàîðûí äýìæëýã. Íýã èõ °ðã°í àøèãëàãääàãã³é áîëîâ÷ õýäõýí çóóí áàéòûã ö°ìä íýìäýã. Note: ipcs(1) òóøààëûí -p òîõèðóóëãà íü ýäãýýð System V áîëîìæ á³ðèéã àøèãëàñàí ïðîöåññóóäûã æàãñààäàã.
options
_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
Æèíõýíý-õóãàöààíû (real-time) °ðã°òã°ë³³ä 1993 îíû POSIX®-ä íýìýãäñýí.Ïîðòóóäûí öóãëóóëãààñ çàðèì ïðîãðàìóóä ýäãýýðèéã àøèãëàäàã (StarOffice). options
KBD_INSTALL_CDEV
# install a CDEV entry in /dev
Ýíý òîõèðóóëãà íü ãàðûí ò°õ°°ð°ìæèéí öýãèéã /dev-ä ³³ñãýõ áîëîìæèéã îëãîõîä øààðäëàãàòàé áàéäàã. options
ADAPTIVE_GIANT
# Giant mutex is adaptive.
Giant ãýäýã íü õàðèëöàí íýãèéãýý îðóóëàõã³é áàéõ çàð÷ìûí (óíòàõ ìóòåêñ) íýð á°ã°°ä ýíý íü ö°ìèéí èõ ýõ ³³ñâýð³³äèéã õàìãààëäàã. í°°ä°ð ýíý íü ³éë àæèëëàãààíû ñààòàæ áàéãàà õ³ëýýí àâàõ áîëîìæã³é õýñýã á°ã°°ä ³³íèéã ýõ ³³ñâýð á³ðèéã õàìãààëàõ öîîæóóäààð èäýâõòýéãýýð ñîëüæ áàéãàà áèëýý. ADAPTIVE_GIANT òîõèðóóëãà íü õýñýã á³ëýã ìóòåêñóóäàä Giant-èéã àäàïòèâààð ýðãýõýýð îðóóëäàã. Ýíý íü óðñãàë (thread) Giant ìóòåêñèéã öîîæëîõûã õ³ñýæ áàéõ ³åä, ãýõäýý ýíý íü °°ð CPU äýýð óðñãàëààð öîîæëîãäñîí áàéíà, ýõíèé óðñãàë öîîæ ñóëðàõûã õ³ëýýí àæèëëàñààð áàéíà. Õýâèéí ³åä óðñãàë óíòàà áàéäàëä ýðãýæ îðîõ á°ã°°ä °°ðèéí äàðààãèéí àæèëëàõ áîëîìæèéã õ³ëýýíý. Òà èòãýëã³é áàéãàà áîë ³³íèéã îðõèíî óó. Note: FreeBSD 8.0-CURRENT áîëîí ò³³íýýñ õîæóó ³åèéí õóâèëáàðóóäàä á³õ ìóòåêñóóä íü
NO_ADAPTIVE_MUTEXES òîõèðóóëãàòàéãààð á³òýýãäýæ çîõèöîõ ÷àäâàðã³é ãýæ òîõèðóóëàãäààã³é ë áîë àíõäàã÷ààð àäàïòèâ áóþó çîõèöîõ ÷àäâàðòàé áàéäàã. Èéìýýñ îäîî Giant íü çîõèöîõ ÷àäâàðòàé á°ã°°ä ADAPTIVE_GIANT òîõèðóóëãà íü ö°ìèéí òîõèðãîîíîîñ õàñàãäñàí þì.
device
apic
# I/O APIC
apic ò°õ°°ð°ìæ íü I/O APIC-èéã òàñàëäàë õ³ðãýõýä àøèãëàõ áîëîìæèéã íýýäýã. apic ò°õ°°ð°ìæ íü UP áîëîí SMP ö°ì³³äýä õî¼óëàíä íü àøèãëàãäàæ áîëîõ á°ã°°ä ãýõäýý SMP ö°ìä çàéëøã³é øààðäëàãàòàé. options SMP ì°ðèéã íýìæ îëîí ïðîöåññîðûí äýìæëýãèéã îðóóëíà óó. Note: apic ò°õ°°ð°ìæ íü ç°âõ°í i386 àðõèòåêòóð äýýð áàéäàã á°ã°°ä ýíý òîõèðãîîíû ì°ðèéã áóñàä àðõèòåêòóðóóä äýýð àøèãëàõ ¼ñã³é þì.
device
eisa
Õýðýâ òà EISA ýõ õàâòàíòàé áîë ³³íèéã îðóóëààðàé. Ýíý íü EISA øóãàìûí á³õ ò°õ°°ð°ìæ³³äèéí õóâüä àâòîìàò èëð³³ëýëò áîëîí òîõèðãîîíû äýìæëýãèéã íýýæ °ãä°ã.
202
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü device
pci
Õýðýâ òà PCI ýõ õàâòàíòàé áîë ³³íèéã îðóóëààðàé. Ýíý íü PCI êàðòóóäûã àâòîìàò èëð³³ëýëò áîëîí PCI-ààñ ISA øóãàì óðóó ãàðàõ äýìæëýãèéã íýýæ °ãä°ã. # Floppy drives device fdc
Ýíý íü óÿí äèñê õ°òë°ã÷èéí õÿíàã÷. # ATA and ATAPI devices device ata
Ýíý äðàéâåð á³õ ATA áîëîí ATAPI ò°õ°°ð°ìæ³³äèéã äýìæäýã. Îð÷èí ³åèéí ìàøèíóóäûí á³õ PCI ATA/ATAPI ò°õ°°ð°ìæ³³äèéã èëð³³ëýõèéí òóëä ç°âõ°í íýã device ata ì°ð òàíû ö°ìä õýðýãòýé. device
Ýíý íü device device
Ýíý íü device device
Ýíý íü device device
Ýíý íü device device
Ýíý íü device options
atadisk ata
ì°ðòýé öóã ATA äèñêíèé ò°õ°°ð°ìæ³³äýä õýðýãòýé.
ataraid ata
# ATAPI floppy drives
ì°ðòýé öóã ATA óÿí äèñêíèé õ°òë°ã÷³³äýä õýðýãòýé.
atapist ata
# ATAPI CDROM drives
ì°ðòýé öóã ATA CDROM õ°òë°ã÷³³äýä õýðýãòýé.
atapifd ata
# ATA RAID drives
ì°ðòýé öóã ATA RAID õ°òë°ã÷³³äýä õýðýãòýé.
atapicd ata
# ATA disk drives
# ATAPI tape drives
ì°ðòýé öóã ATA ñîðîíçîí õàëüñíû õ°òë°ã÷³³äýä õýðýãòýé.
ATA_STATIC_ID
# Static device numbering
Ýíý íü õÿíàã÷èéí äóãààðûã ñòàòèê áîëãîõ á°ã°°ä ýíýíã³éãýýð ò°õ°°ð°ìæèéí äóãààðóóä äèíàìèêààð °ã°ãää°ã. # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. device amd # AMD 53C974 (Teckram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic
203
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü device device
sym trm
# NCR/Symbios Logic (newer chipsets + those of ‘ncr’) # Tekram DC395U/UW/F DC315U adapters
device device device device device
adv adw aha aic bt
# # # # #
device device device
ncv nsp stg
# NCR 53C500 # Workbit Ninja SCSI-3 # TMC 18C30/18C50
Advansys SCSI adapters Advansys wide SCSI adapters Adaptec 154x SCSI adapters Adaptec 15[012]x SCSI adapters, AIC-6[23]60. Buslogic/Mylex MultiMaster SCSI adapters
SCSI õÿíàã÷óóä. Òàíû ñèñòåìä áàéõã³é áàéãààã òàéëáàð áîëãîí õààíà óó. Õýðýâ òà ç°âõ°í IDE ñèñòåìòýé áîë ýäãýýð ì°ð³³äèéã á³ãäèéã óñòãàæ áîëíî. *_REG_PRETTY_PRINT ì°ð³³ä íü °°ð °°ðèéíõ°° òîõèðîõ äðàéâåðóóäàä çîðèóëàãäñàí äèáàã õèéõ òîõèðóóëãóóä þì. # SCSI peripherals device scbus device ch device da device sa device cd device pass device ses
# # # # # # #
SCSI bus (required for SCSI) SCSI media changers Direct Access (disks) Sequential Access (tape etc) CD Passthrough device (direct SCSI access) SCSI Environmental Services (and SAF-TE)
SCSI çàõûí ò°õ°°ð°ìæ³³ä. Äàõèí õýëýõýä òàíû ñèñòåìä áàéõã³é áàéãààã òàéëáàð áîëãîí õààãààðàé ýñâýë òà ç°âõ°í IDE òîíîã ò°õ°°ð°ìæòýé áîë ýäãýýð ì°ð³³äèéã á³ãäèéã óñòãàæ áîëíî. Note: USB umass(4) äðàéâåð áîëîí áóñàä ö°°í õýäýí äðàéâåðóóä æèíõýíý SCSI ò°õ°°ð°ìæ³³ä áèø áîëîâ÷ SCSI äýä ñèñòåìèéã àøèãëàäàã. Òèéì áîëîõîîð õýðýâ ö°ìèéí òîõèðãîîíä òèéì äðàéâåðóóä îðñîí áàéâàë SCSI äýìæëýãèéã óñòãààã³é ýñýõýý øàëãààðàé.
# RAID controllers interfaced to the SCSI subsystem device amr # AMI MegaRAID device arcmsr # Areca SATA II RAID device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x device rr232x # Highpoint RocketRAID 232x device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac device aacp device ida device mfi
# # # #
Adaptec FSA RAID SCSI passthrough for aac (requires CAM) Compaq Smart RAID LSI MegaRAID SAS
204
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü device device device
mlx pst twe
# Mylex DAC960 family # Promise Supertrak SX6000 # 3ware ATA RAID
Äýìæèãäñýí RAID õÿíàã÷óóä. Õýðýâ òàíä ýäãýýðýýñ íýã íü ÷ áàéõã³é áîë òàéëáàð áîëãîí õààæ ýñâýë óñòãàæ áîëíî. # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller
àðûí õÿíàã÷ (atkbdc) AT ãàð áà PS/2 çàãâàðûí çààã÷ ò°õ°°ð°ìæ³³äýä I/O ³éë÷èëãýýí³³äèéã õàíãàäàã. Ýíý õÿíàã÷èéã ãàðûí äðàéâåð (atkbd) áîëîí PS/2 çààã÷ ò°õ°°ð°ìæèéí äðàéâåð (psm) øààðääàã. device
atkbd
# AT keyboard
äðàéâåð íü atkbdc õÿíàã÷òàé öóã AT ãàðûí õÿíàã÷èä çàëãàñàí AT 84 ãàð áîëîí AT °ðã°æ³³ëñýí ãàðóóäàä õàíäàõ áîëîìæ îëãîäîã. atkbd
device
psm
# PS/2 mouse
Õýðýâ òàíû õóëãàíà PS/2 ïîðò óðóó çàëãàãäàæ áàéãàà áîë ýíý ò°õ°°ð°ìæèéã àøèãëàíà óó. device
kbdmux
# keyboard multiplexer
Îëîí ãàð çàëãàõ áîëîìæèéí àíõíû äýìæëýã. Õýðýâ òà ñèñòåì äýýðýý íýãýýñ îëîí ãàð àøèãëàõã³é áîë ýíý ì°ðèéã àþóëã³éãýýð óñòãàæ áîëíî. device
vga
# VGA video card driver
Âèäåî êàðòûí äðàéâåð. device
splash
# Splash screen and screen saver support
Ýõëýõ ³å äýõ õîðîìõîí çóóð ãàðàõ äýëãýö! Äýëãýö àìðààã÷èä íü ³³íèéã áàñ øààðääàã. # syscons is the default console driver, resembling an SCO console device sc
íü àíõäàã÷ êîíñîëèéí äðàéâåð á°ã°°ä SCO êîíñîëûã äóóðàéäàã. Èõýíõ á³ðýí äýëãýöèéí ïðîãðàìóóä êîíñîë óðóó termcap çýðýã òåðìèíàëèéí °ã°ãäëèéí áààçûí ñàíãèéí òóñëàìæòàéãààð õàíääàã á°ã°°ä ³³íèéã àøèãëàõ ýñýõ ýñâýë VT220-òàé íèéöòýé êîíñîë äðàéâåð áîëîõ vt-èéã àøèãëàõ ýñýõ íü õàìààã³é þì. Òà íýâòýðñíèé äàðàà á³ðýí äýëãýöèéí ïðîãðàìóóä ýíý êîíñîë äýýð àæèëëàõäàà àñóóäàëòàé áàéâàë °°ðèéí TERM õóâüñàã÷àà scoansi áîëãîîðîé.
sc
# Enable this for the pcvt (VT220 compatible) console driver #device vt #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor
Ýíý íü VT100/102-òîé àðàãøààãàà íèéöòýé, VT220-òîé íèéöòýé êîíñîë äðàéâåð þì. Ýíý íü sc-òýé íèéöã³é çàðèì ç°°âðèéí êîìïüþòåð äýýð ñàéí àæèëëàäàã. Òà íýâòýðñíèé äàðàà °°ðèéí TERM õóâüñàã÷àà vt100 ýñâýë vt220 áîëãîîðîé. Ì°í ýíý äðàéâåð íü sc ò°õ°°ð°ìæ³³äýä çîðèóëñàí termcap ýñâýë terminfo îðóóëãóóä èõýíõäýý áàéõã³é áàéäàã àñàð îëîí òîîíû °°ð °°ð ìàøèíóóä óðóó
205
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
ñ³ëæýýãýýð äàìæèí õîëáîãäîõ ³åä àøèãòàé áàéæ áîëíî — vt100 íü âèðòóàëààð äóðûí òàâöàí äýýð áàéõ ¼ñòîé. device
agp
Õýðýâ òà ñèñòåì äýýðýý AGP êàðòòàé áîë ³³íèéã îðóóëíà óó. Ýíý íü AGP áîëîí AGP GART-èéí äýìæëýãèéã ýäãýýð áîëîìæóóäààñ òîãòñîí õàâòàíä çîðèóëæ íýýíý. # Power management support (see NOTES for more options) #device apm
Òýæýýëèéí Íàðèéí Óäèðäëàãûí äýìæëýã. Ç°°âðèéí êîìïüþòåðóóäàä àøèãòàé, ãýõäýý ýíý íü GENERIC-ä àíõäàã÷ààð õààëòòàé áàéäàã. # Add suspend/resume support for the i8254. device pmtimer
APM áîëîí ACPI çýðýã òýæýýë óäèðäàõ ³éë ÿâöóóäàä çîðèóëñàí òàéìåð ò°õ°°ð°ìæèéí äðàéâåð. # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support device cbb # cardbus (yenta) bridge device pccard # PC Card (16-bit) bus device cardbus # CardBus (32-bit) bus
PCMCIA äýìæëýã. Ç°°âðèéí êîìïüþòåð àøèãëàæ áàéãàà áîë ýíý òàíä õýðýãòýé. # Serial (COM) ports device sio
# 8250, 16[45]50 based serial ports
Ýäãýýð íü MS-DOS/Windows åðò°íö°ä COM ïîðòóóä õýìýýãääýã ñåðèàë ïîðòóóä þì . Note: Õýðýâ òà COM4 äýýð äîòóóð ìîäåìòîé á°ã°°ä COM2 äýýð ñåðèàë ïîðòòîé áîë FreeBSD -ýýñ õàíäàõûí òóëä òà ìîäåìèéí IRQ-ã 2 (îéëãîõîä àìàðã³é òåõíèêèéí øàëòãààíààð, IRQ2 = IRQ 9) áîëãîæ °°ð÷ë°õ õýðýãòýé. Õýðýâ òà îëîí ïîðòòîé ñåðèàë êàðòòàé áîë °°ðèéí /boot/device.hints àéëä íýìýõ ç°â óòãóóäûí òàëààð äýëãýðýíã³é ìýäýýëëèéã sio(4) ãàðûí àâëàãààñ øàëãààðàé. Çàðèì âèäåî êàðòóóä (S3 áè÷èë ñõåì äýýð ³íäýñëýñí³³äèéã äóðäàæ áîëíî) 0x*2e8 õýëáýðòýé IO õàÿãóóäûã àøèãëàäàã á°ã°°ä îëîí õÿìä ñåðèàë êàðòóóä 16-áèò õàÿãèéí çàéã á³ðýí äåêîä õèéæ ÷àääàãã³é ó÷èð ýíý íü òýäãýýð êàðòòàé ç°ð÷èëä°æ COM4 ïîðòûã áàðàã ë àøèãëàõ áîëîìæã³é áîëãîäîã. Ñåðèàë ïîðò áîëãîí áóñäààñ ÿëãààòàé IRQ -òàé áàéõ (õóâààëöñàí òàñàëäàë àøèãëàõûã äýìæäýã îëîí ïîðòòîé êàðòóóäûí íýãèéã àøèãëàæ áàéãààãààñ áóñàä òîõèîëäîëä) øààðäëàãàòàé ó÷èð COM3 áîëîí COM4-èéí àíõäàã÷ IRQ-³³äèéã àøèãëàæ áîëîõã³é.
# Parallel port device ppc
Ýíý íü ISA-øóãàìûí ïàðàëëåë ïîðò èíòåðýéñ þì. device
ppbus
# Parallel port bus (required)
Ïàðàëëåë ïîðòûí øóãàìûí äýìæëýãèéã õàíãàäàã.
206
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü device
lpt
# Printer
Ïàðàëëåë ïîðò õýâëýã÷³³äèéí äýìæëýã. Note: Ïàðàëëåë õýâëýã÷èéí äýìæëýãèéã íýýõýä äýýðõ ãóðàâ ãóðâóóëàà øààðäëàãàòàé.
device
plip
# TCP/IP over parallel
Ýíý íü ïàðàëëåë ñ³ëæýýíèé èíòåðýéñä çîðèóëñàí äðàéâåð þì. device
ppi
# Parallel port interface device
Åð°íõèé-çîðèóëàëòûí I/O (“geek port”) + IEEE1284 I/O. #device
vpo
# Requires scbus and da
Ýíý íü Iomega Zip õ°òë°ã÷èä çîðèóëàãäñàí þì. scbus áîëîí da äýìæëýãèéã øààðääàã. EPP 1.9 ãîðèìä áàéãàà ïîðòóóäûí òóñëàìæòàé õàìãèéí ñàéí àæèëëàãààíä õ³ðäýã. #device
puc
Õýðýâ òà puc(4) öàâóó äðàéâåðààð äýìæèãääýã “ä³ëèé” ñåðèàë ýñâýë ïàðàëëåë PCI êàðòòàé áîë ýíý ò°õ°°ð°ìæèéã òàéëáàð áîëãîñíûã áîëèóëààðàé. # PCI Ethernet NICs. device de device em device ixgb device txp device vx
# # # # #
DEC/Intel DC21x4x (“Tulip”) Intel PRO/1000 adapter Gigabit Ethernet Card Intel PRO/10GbE Ethernet Card 3Com 3cR990 (“Typhoon”) 3Com 3c590, 3c595 (“Vortex”)
Ò°ð°ë á³ðèéí PCI ñ³ëæýýíèé êàðòóóäûí äðàéâåðóóä. Ýäãýýðýýñ òàíû ñèñòåìä áàéõã³éã òàéëáàð áîëãîí õààæ ýñâýë óñòãààðàé. # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the ’device miibus’ line in order to use these NICs! device miibus # MII bus support
MII øóãàìûí äýìæëýã íü çàðèì PCI 10/100 Ethernet NIC-³³äýä øààðäëàãàòàé á°ã°°ä òóõàéëáàë MII-ä íèéöòýé äàìæóóëàã÷-õ³ëýýí àâàã÷óóä ýñâýë MII-òýé àäèë àæèëëàäàã äàìæóóëàã÷-õ³ëýýí àâàã÷èéí õÿíàëòûí èíòåðýéñ³³äèéã äóðäàæ áîëíî. device miibus ì°ðèéã ö°ìèéí òîõèðãîîíä íýìñíýýð åðäèéí miibus API áîëîí òóñäàà äðàéâåðààð äýìæèãäýýã³é PHY-óóäàä çîðèóëñàí åðäèéí äðàéâåð çýðýã á³õ PHY äðàéâåðóóäûí äýìæëýãèéã îðóóëàõ áîëíî. device device device device device device device device
bce bfe bge dc fxp lge msk nge
# # # # # # # #
Broadcom BCM5706/BCM5708 Gigabit Ethernet Broadcom BCM440x 10/100 Ethernet Broadcom BCM570xx Gigabit Ethernet DEC/Intel 21143 and various workalikes Intel EtherExpress PRO/100B (82557, 82558) Level 1 LXT1001 gigabit ethernet Marvell/SysKonnect Yukon II Gigabit Ethernet NatSemi DP83820 gigabit ethernet
207
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü device device device device device device device device device device device device device device device device
nve pcn re rl sf sis sk ste stge ti tl tx vge vr wb xl
# # # # # # # # # # # # # # # #
nVidia nForce MCP on-board Ethernet Networking AMD Am79C97x PCI 10/100 (precedence over ’lnc’) RealTek 8139C+/8169/8169S/8110S RealTek 8129/8139 Adaptec AIC-6915 (“Starfire”) Silicon Integrated Systems SiS 900/SiS 7016 SysKonnect SK-984x & SK-982x gigabit Ethernet Sundance ST201 (D-Link DFE-550TX) Sundance/Tamarack TC9021 gigabit Ethernet Alteon Networks Tigon I/II gigabit Ethernet Texas Instruments ThunderLAN SMC EtherPower II (83c170 “EPIC”) VIA VT612x gigabit ethernet VIA Rhine, Rhine II Winbond W89C840F 3Com 3c90x (“Boomerang”, “Cyclone”)
MII øóãàìûí õÿíàã÷èéí êîäûã àøèãëàäàã äðàéâåðóóä. # ISA Ethernet NICs. pccard NICs included. device cs # Crystal Semiconductor CS89x0 NIC # ’device ed’ requires ’device miibus’ device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards device ex # Intel EtherExpress Pro/10 and Pro/10+ device ep # Etherlink III based cards device fe # Fujitsu MB8696x based cards device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. device lnc # NE2100, NE32-VL Lance Ethernet cards device sn # SMC’s 9000 series of Ethernet chips device xe # Xircom pccard Ethernet # ISA devices that use the old ISA shims #device le
ISA Ethernet äðàéâåðóóä. Àëü êàðòóóä àëü äðàéâåðààð äýìæèãääýã òàëààð äýëãýðýíã³éã /usr/src/sys/i386/conf/NOTES-ýýñ õàðíà óó. # Wireless NIC cards device wlan
# 802.11 support
802.11-èéí åð°íõèé äýìæëýã. Ýíý ì°ð íü óòàñã³é ñ³ëæýýíä øààðäëàãàòàé. device device device
wlan_wep wlan_ccmp wlan_tkip
# 802.11 WEP support # 802.11 CCMP support # 802.11 TKIP support
802.11 ò°õ°°ð°ìæ³³äýä çîðèóëàãäñàí êðèïòîãðà äýìæëýã. Õýðýâ òà øèðëýëò áîëîí 802.11i íóóöëàëûí ïðîòîêîëóóäûã àøèãëàõààð øèéäñýí áîë ýäãýýð ì°ð³³ä øààðäëàãàòàé. device device device device
an # Aironet 4500/4800 802.11 wireless NICs. ath # Atheros pci/cardbus NIC’s ath_hal # Atheros HAL (Hardware Access Layer) ath_rate_sample # SampleRate tx rate control for ath
208
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü device device device #device
awi ral wi wl
# # # #
BayStack 660 and others Ralink Technology RT2500 wireless NICs. WaveLAN/Intersil/Symbol 802.11 wireless NICs. Older non 802.11 Wavelan wireless NIC.
Ò°ð°ë á³ðèéí óòàñã³é ñ³ëæýýíèé êàðòóóäûí äýìæëýã. # Pseudo devices device loop
# Network loopback
Ýíý íü TCP/IP-ä çîðèóëñàí °°ðò°° ýðãýí õîëáîãäîõ åð°íõèé ò°õ°°ð°ìæ þì. Õýðýâ òà localhost (°°ð°°ð áàñ 127.0.0.1) óðóó telnet ýñâýë FTP õèéâýë ýíý íü òàíü óðóó ýíý ò°õ°°ð°ìæ°°ð ýðãýæ èðíý.Ýíý íü çàéëøã³é øààðäëàãàòàé . device
random
# Entropy device
Øèðëýëòèéí õóâüä àþóëã³é äóðûí òîî ³³ñãýã÷. device
ether
# Ethernet support
Òàíä Ethernet êàðò áàéãàà òîõèîëäîëä ç°âõ°í ether õýðýãòýé. Ýíý íü åð°íõèé Ethernet ïðîòîêîëûí êîäûã àãóóëäàã. device
sl
# Kernel SLIP
íü SLIP-èéí äýìæëýã þì. Ýíý íü õÿëáàð ñóóëãàæ òîõèðóóëäàã, ìîäåìîîñ ìîäåì óðóó õîëáîëò õèéõýä èë³³ çîõèöñîí, èë³³ ÷àäàëòàé PPP-ýýð áàðàã á³õýëäýý ñîëèãäñîí þì.
sl
device
ppp
# Kernel PPP
Ýíý íü äàéë-àï õîëáîëòûí ö°ì äýõ PPP äýìæëýãò çîðèóëàãäñàí. Ì°í tun-èéã àøèãëàæ èë³³ óÿí õàòàí ÷àíàð áîëîí øààðäëàãààð çàëãàõ çýðýã áîëîìæóóä á³õèé PPP-èéí õýðýãëýã÷èéí òàëáàðûí ïðîãðàì ìàÿãààð õèéãäñýí õóâèëáàð ÷ áàñ áàéäàã. device
tun
# Packet tunnel.
Ýíý õýðýãëýã÷èéí òàëáàðûí PPP ïðîãðàì õàíãàìæèä àøèãëàãääàã. Äýëãýðýíã³é ìýäýýëëèéã ýíý íîìûí PPP õýñãýýñ ³çíý ³³. device
pty
# Pseudo-ttys (telnet etc)
Ýíý íü “ïñåâäî-òåðìèíàë” ýñâýë æèíõýíý áèø (simulated) íýâòðýõ ïîðò þì. Ýíý íü èðæ áàéãàà telnet áîëîí rlogin ñåññ³³ä, xterm, áîëîí Emacs çýðýã áóñàä ïðîãðàìóóäàä àøèãëàãääàã. device
md
# Memory “disks”
Ñàíàõ îéí äèñê ïñåâäî-ò°õ°°ð°ìæ³³ä. device
gif
# IPv6 and IPv4 tunneling
Ýíý íü IPv4 äýýã³³ðõ IPv6, IPv6 äýýã³³ðõ IPv4, IPv4 äýýã³³ðõ IPv4, áîëîí IPv6 äýýã³³ðõ IPv6 õîîëîéíóóäûã õèéäýã. gif ò°õ°°ð°ìæ íü “àâòî-êëîí” õèéõ ÷àäâàðòàé á°ã°°ä ò°õ°°ð°ìæèéí öýã³³äèéã õýðýãöýýãýýðýý ³³ñãýäýã.
209
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü device
faith
# IPv6-to-IPv4 relaying (translation)
Ýíý ïñåâäî-ò°õ°°ð°ìæ íü ò³³í óðóó èëãýýñýí ïàêåòóóäûã áàðüæ àâààä IPv4/IPv6 õóâèðãàã÷ äýìîí óðóó çàìûã °°ð÷ë°í ÿâóóëäàã. # The ‘bpf’ device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that ’bpf’ is required for DHCP. device bpf # Berkeley packet filter
Ýíý íü Áåðêëè Ïàêåò س³ã÷ þì. Ýíý ïñåâäî-ò°õ°°ð°ìæ íü öàöàæ áàéãàà ñ³ëæýýí (°°ð°°ð õýëáýë Ethernet) äýõ á³õ ïàêåòóóäûã áàðüæ àâäàã, á³ãäèéã ñîíñîõ ãîðèìä ñ³ëæýýíèé èíòåðýéñ³³äèéã øèëæ³³ëýõ áîëîìæ îëãîäîã. Ýäãýýð ïàêåòóóäûã äèñêýíä õàäãàëàõ áîëîí ýñâýë tcpdump(1) ïðîãðàìààð øàëãàæ áîëíî. Note: Àíõäàã÷ ÷èãë³³ëýã÷èéí (ãàðö) áîëîí áóñàä IP õàÿãèéã dhclient(8) îëæ àâàõàä bpf(4) ò°õ°°ð°ìæèéã áàñ àøèãëàäàã. Õýðýâ òà DHCP àøèãëàæ áàéãàà áîë ³³íèéã òàéëáàð áîëãîëã³é îðõèîðîé.
# USB support device device device device #device device device device device device device device device device # USB Ethernet, device device device device device device
uhci ohci ehci usb udbp ugen uhid ukbd ulpt umass ums ural urio uscanner requires mii aue axe cdce cue kue rue
# # # # # # # # # # # # # #
UHCI PCI->USB interface OHCI PCI->USB interface EHCI PCI->USB interface (USB 2.0) USB Bus (required) USB Double Bulk Pipe devices Generic “Human Interface Devices” Keyboard Printer Disks/Mass storage - Requires scbus and da Mouse Ralink Technology RT2500USB wireless NICs Diamond Rio 500 MP3 player Scanners
# # # # # #
ADMtek USB Ethernet ASIX Electronics USB Ethernet Generic USB over Ethernet CATC USB Ethernet Kawasaki LSI USB Ethernet RealTek RTL8150 USB Ethernet
Ò°ð°ë á³ðèéí USB ò°õ°°ð°ìæ³³äèéí äýìæëýã. # FireWire support device firewire device sbp device fwe
# FireWire bus code # SCSI over FireWire (Requires scbus and da) # Ethernet over FireWire (non-standard!)
Ò°ð°ë á³ðèéí Firewire ò°õ°°ð°ìæ³³äèéí äýìæëýã. FreeBSD-èéí äýìæäýã íýìýëò ò°õ°°ð°ìæ³³äèéí òàëààð äýëãýðýíã³é ìýäýýëëèéã /usr/src/sys/i386/conf/NOTES àéëààñ ³çíý ³³. 210
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
8.6.1
Òîì ñàíàõ îéí òîõèðóóëãóóä (PAE)
Òîì ñàíàõ îé á³õèé ìàøèíóóä Õýðýãëýã÷+Ö°ìèéí Âèðòóàë õàÿãèéí çàéí (KVA) 4 ãèãàáàéò õÿçãààðààñ èõ óðóó õàíäàõ øààðäëàãàòàé áàéäàã. Ýíý õÿçãààðààñ áîëîîä Èíòåë Pentium Pro áîëîí ñ³³ëèéí ³åèéí CPU-³³äýä 36 áèòèéí èçèê õàÿãèéí çàéä õàíäàõ äýìæëýãèéã íýìñýí. Intel Pentium Pro áîëîí ñ³³ëèéí ³åèéí CPU-³³äèéí Ôèçèê Õàÿãèéí ðã°òã°ë (PAE) áîëîìæ íü 64 ãèãàáàéò õ³ðòýëõ ñàíàõ îéí òîõèðãîîã ç°âø°°ðä°ã. FreeBSD íü ýíýõ³³ áîëîìæèéã FreeBSD-èéí îäîî áàéãàà á³õ ãàðãàñàí õóâèëáàðóóäûí ö°ìèéí òîõèðãîîíû PAE òîõèðóóëãààð äýìæäýã. Èíòåëèéí ñàíàõ îéí àðõèòåêòóðûí õÿçãààðààñ áîëæ 4 ãèãàáàéòààñ äýýø áîëîí äîîø ñàíàõ îéí ÿëãàà áàéõã³é. 4 ãèãàáàéòààñ äýýøõè ñàíàõ îé íü àøèãëàæ áîëîõ ñàíàõ îéí ñàíä íýìýãääýã. PAE äýìæëýãèéã ö°ìä íýýõäýý ö°ìèéí òîõèðãîîíû àéëä äàðààõ ì°ðèéã íýìíý: options
PAE
Note: FreeBSD äýõ PAE äýìæëýã ç°âõ°í Intel IA-32 ïðîöåññîðóóäàä áàéäàã. Ì°í FreeBSD äýõ PAE äýìæëýã íü °ðã°í øàëãàãäààã³é á°ã°°ä FreeBSD-èéí áóñàä òîãòâîðòîé áîëîìæóóäòàé õàðüöóóëàõàä áåòà ÷àíàðûíõàä òîîöîãääîã.
FreeBSD äýõ PAE äýìæëýã íü ö°°í õýäýí õÿçãààðóóäòàé: •
VM çàéí 4 ãèãàáàéòààñ èë³³ä ïðîöåññ õàíäàæ ÷àäàõã³é.
bus_dma(9) èíòåðýéñ àøèãëàäàãã³é ò°õ°°ð°ìæèéí äðàéâåðóóä PAE-ã èäýâõæ³³ëñýí ö°ì äýýð °ã°ãäëèéí ýâäðýëèéã ³³ñãýõ á°ã°°ä àøèãëàõûã ç°âë°ä°ãã³é þì. Èéì ó÷ðààñ PAE-ã èäýâõæ³³ëñýí ö°ì äýýð àæèëëàäàãã³é á³õ äðàéâåðóóäûã îðóóëààã³é PAE ö°ìèéí òîõèðãîîíû àéë FreeBSD-ä áàéäàã. • Çàðèì íýã òîõèðóóëãóóä ñàíàõ îéí ýõ ³³ñâýðèéí õýðýãëýýã èçèê ñàíàõ îéí õýìæýýãýýð òîäîðõîéëäîã. Ýäãýýð òîõèðóóëãóóä íü PAE ñèñòåìèéí èõ ñàíàõ îéãîîñ áîëæ õýðýãöýýã³é èë³³ ñàíàõ îéã ãàðãàäàã. Òèéì íýã æèøýýí³³äèéí íýã íü sysctl-èéí kern.maxvnodes òîõèðóóëãà á°ã°°ä ýíý íü ö°ì äýõ õàìãèéí èõ áàéæ áîëîõ vnode-óóäûí òîîã õÿíàäàã. Ýíý áîëîí áóñàä òîõèðóóëãóóäûí óòãûã áîëîìæèéí óòãààð òààðóóëàõûã ç°âë°æ áàéíà. • Ìàãàäã³é ö°ìèéí âèðòóàë õàÿãèéí (KVA) çàéã èõýñãýõ ýñâýë KVA-èéí øàâõàëòàä õ³ðãýõã³éí òóëä áàéíãà èõ àøèãëàãääàã (äýýð äóðäñàíûã õàðíà óó) ö°ìèéí ýõ ³³ñâýðèéí õýìæýýã áàãàñãàõ øààðäëàãàòàé áàéæ áîëîõ þì. KVA_PAGES ö°ìèéí òîõèðóóëãà íü KVA çàéã èõýñãýõýä àøèãëàãäàæ áîëíî. Àæèëëàãàà áîëîí òîãòâîðòîé áàéäëûã õàíãàõ ³³äíýýñ tuning(7) ãàðûí àâëàãàòàé òàíèëöàõûã ç°âë°æ áàéíà. pae(4) ãàðûí àâëàãà íü FreeBSD-èéí PAE äýìæëýãèéí òóõàé õàìãèéí ñ³³ëèéí ³åèéí ìýäýýëëèéã àãóóëäàã. •
8.7
Õýðýâ ÿìàð íýã þì áóðóóòâàë
°ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýæ áàéõ ³åä 4 ò°ðëèéí àñóóäàë ãàð÷ áîëçîøã³é áàéäàã. Òýäãýýð íü:
211
Chapter 8 FreeBSD ö°ìèéã òîõèðóóëàõ íü
àìæèëòã³é áîëîõ: Õýðýâ òàíûã ö°ìèéí òàéëáàðûã config(8)-ò °ã°õ°ä òóøààë àìæèëòã³é áîëáîë òà õàà íýãòýý ýíãèéí àëäàà õèéñýí áîëîâ óó. Àç áîëîõîä config(8) àñóóäàëòàé áàéãàà ì°ðèéí äóãààðûã õýâëýõ ó÷èð òà àëäààòàé ì°ðèéã õóðäàí îëîõ áîëíî. Æèøýý íü, õýðýâ òà äîîð äóðäñàíûã õàðâàë:
config
config: line 17: syntax error
Ò³ëõ³³ð ³ã ç°â áè÷èãäñýí ýñýõèéã GENERIC ö°ì áîëîí áóñàä áàðèìòààñ õàðüöóóëàí øàëãàæ ³çýýðýé. make àìæèëòã³é áîëîõ: Õýðýâ make òóøààë àìæèëòã³é áîëáîë ýíý èõýâ÷ëýí ö°ìèéí òàéëáàð äàõü config(8)-èéí îëæ ÷àäàõààðã³é òèéì ÷ íîöòîé áóñ àëäààã äîõèîëäîã. Äàõèí õýëýõýä, °°ðèéí òîõèðãîîã íÿãòëààðàé, òýãýýä õýðýâ òà àñóóäëûã øèéäýæ ÷àäàõã³é áîë FreeBSD åð°íõèé àñóóëòóóä çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions) óðóó °°ðèéí ö°ìèéí òîõèðãîîòîé öàõèì çàõèäàë èëãýýãýýðýé, èíãýõýä õóðäàí øèíæèëãýý õèéãäýõ áîëíî. Ö°ì à÷ààëàõã³é áàéõ: Õýðýâ òàíû øèíý ö°ì à÷ààëàõã³é áîë ýñâýë òàíû ò°õ°°ð°ìæ³³äèéã òàíèõã³é áàéãàà áîë á³³ öî÷èðä! Àç áîëîõîä FreeBSD íèéöã³é ö°ì³³äýýñ ñýðãýõýä çîðèóëñàí ìàø ñàéí ìåõàíèçìòàé áàéäàã. Åðä°° ë FreeBSD-èéí à÷ààëàã÷ààñ à÷ààëàõ ö°ì°° ñîíãîíî. Ñèñòåìèéí à÷ààëàõ ìåíþ ãàð÷ èðýõ ³åä òà ³³íä õàíäàõ áîëîìæòîé áîëíî. “Escape to a loader prompt” òîõèðóóëãà 6-ûí òîîã ñîíãî. Òóøààë õ³ëýýõ ì°ð°í äýýð unload kernel ãýæ áè÷ýýä boot /boot/kernel.old/kernel ýñâýë ç°â à÷ààëàõ °°ð áóñàä ö°ìèéí àéëûí íýðèéã áè÷ýýðýé. Ö°ìèéã äàõèí òîõèðóóëàõ ÿâöäàà àæèëëàäàã ö°ìèéã ãàðûí äîð õàäãàëæ áàéõ íü ³ðãýëæ óõààëàã ñàíàà áàéäàã. Ñàéí ö°ìèéã à÷ààëñíûõàà äàðàà òà °°ðèéí òîõèðãîîíû àéëàà äàõèí øàëãàæ ö°ì°° äàõèí á³òýýõýýð îðîëäîîðîé. Íýã òóñ äýì áîëîõ ýõ ³³ñâýð áîë áóñàä ç³éëñýýñ ãàäíà àìæèëòòàé à÷ààëàëò á³ð äýõ ö°ìèéí á³õ ìýäýýëë³³äèéí áè÷ëýãèéã õèéäýã /var/log/messages àéë þì. Ì°í dmesg(8) òóøààë íü ñ³³ëèéí à÷ààëàëò äàõü ö°ìèéí ìýäýýëë³³äèéã õýâëýäýã. Note: Õýðýâ òà ö°ìèéã á³òýýõýä àñóóäàëòàé áàéãàà áîë GENERIC áîëîí °°ð áóñàä àæèëëàäàã ö°ìèéã äàðààãèéí á³òýýõ ÿâöàä óñòãàãäàõààðã³é °°ð íýðòýéãýýð ãàðûí äîð õàäãàëæ áàéãààðàé. Òà kernel.old -ä íàéäàæ áîëîõã³é, ó÷èð íü øèíý ö°ìèéã ñóóëãàõ ÿâöàä kernel.old íü õàìãèéí ñ³³ëä ñóóëãàãäñàí á°ã°°ä ìàãàäã³é àæèëëàãààã³é òèéì ö°ì°°ð äàðàãäàí áè÷èãääýã. Àæèëëàäàã ö°ìèéã ç°â /boot/kernel áàéð óðóó àëü áîëîõ õóðäàí øèëæ³³ëýýðýé, ýñâýë ps(1) çýðýã òóøààëóóä ç°â àæèëëàõã³é áàéæ ìàãàäã³é þì. Èíãýõèéí òóëä ñàéí ö°ì áàéãàà ñàíãèéí íýðèéã °°ð÷ë°°ðýé: # mv /boot/kernel /boot/kernel.bad # mv /boot/kernel.good /boot/kernel
Ö°ì àæèëëàõ áîëîâ÷ ps(1) àæèëëàõã³é áîëîõ: Õýðýâ òà ñèñòåìèéí õýðýãñë³³ä á³òýýñýí õóâèëáàðààñ °°ð ö°ìèéí õóâèëáàðûã ñóóëãàñàí áîë, æèøýý íü -RELEASE äýýð -CURRENT ö°ì á³òýýñýí áîë ñèñòåìèéí ò°ëâèéí òóøààëóóä áîëîõ ps(1) áîëîí vmstat(8) çýðýã íü àæèëëàõàà áîëüíî. Òà °°ðèéí ö°ìòýéã°° àäèë õóâèëáàðûí ýõ ìîäòîé á³òýýãäñýí åðò°íöèéã äàõèí õ°ðâ³³ëæ ñóóëãàõ õýðýãòýé. Ýíý íü íýã øàëòãààí á°ã°°ä åð°íõèéä°° ³éëäëèéí ñèñòåìèéí áóñàä ç³éëñýýñ °°ð õóâèëáàðûí ö°ìèéã àøèãëàõ íü òèéì ÷ ñàéí ñàíàà áèø þì.
212
Chapter 9
Õýâëýëò
Õóâü íýìýð áîëãîí îðóóëñàí Øîí Êåëëè. Äàõèí á³òöèéã °°ð÷èëæ øèíý÷èëñýí Æèì Ìîê. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä and Øàãäàðûí Íàöàãäîðæ. 9.1
Åð°íõèé àãóóëãà
FreeBSD äýýð õàìãèéí õóó÷èí öîõèäîã õýâëýã÷äýýñ àâàõóóëààä õàìãèéí ñ³³ëèéí õýâëýã÷èä õ³ðòýë, ì°í òýäãýýðèéí õîîðîíä áàéãàà õýâëýã÷èä çýðýã ò°ð°ë á³ðèéí õýâëýã÷äèéã õýâëýõýä àøèãëàæ áîëäîã á°ã°°ä ýíý íü òàíû àæèëëàæ áàéãàà ïðîãðàìóóäààñ °íä°ð ÷àíàðûí õýâëýñýí ãàðàëòûã á³òýýõ áîëîìæ îëãîõ þì. FreeBSD-ã áàñ ñ³ëæýýí äýõ õýâëýõ ñåðâåð áîëãîí òîõèðóóëæ áàñ áîëäîã; ýíý áîëîìæèä FreeBSD íü áóñàä FreeBSD êîìïüþòåðóóä, Windows áîëîí Mac OS õîñòóóä çýðýã ò°ð°ë á³ðèéí áóñàä êîìïüþòåðóóäààñ õýâëýõ àæëóóäûã õ³ëýýí àâäàã. FreeBSD íü ç°âõ°í íýã àæëûã òóõàéí ³åä õýâëýõèéã áàòàëãààæóóëæ èõýíõ õýâëýëòèéã àëü õýðýãëýã÷èä áîëîí ìàøèíóóä õèéæ áàéãàà òàëààð ñòàòèñòèêóóä öóãëóóëæ õýíèé õýâëýñýí ç³éë õýíèéõ áîëîõû㠳糳ëýõ “ñóðòàë÷èëãàà” õóóäàñíóóäûã á³òýýõ çýðýã îëîí ³éëäëèéã õèéæ ÷àääàã. Ýíý á³ëãèéã óíøèæ äóóññàíû äàðàà òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: •
FreeBSD-èéí õýâëýã÷èéí ò³ð õàäãàëàã÷èéã õýðõýí òîõèðóóëàõ òàëààð.
Èðæ áàéãàà áàðèìòóóäûã òàíû õýâëýã÷èä îéëãîäîã õýâëýõ õýëáýðøèëòýä îðóóëæ õ°ðâ³³ëýõ çýðýã òóñãàé õýâëýõ àæëóóäûã °°ð°°ð çîõèöóóëäàã õýâëýõ ø³³ëò³³ð³³äèéã õýðõýí ñóóëãàõ òàëààð. • Òîëãîé ýñâýë ñóðòàë÷èëãàà õóóäàñíóóäûã °°ðèéí õýâëýõ ç³éë äýýðýý õýðõýí èäýâõæ³³ëýõ òàëààð. • Áóñàä êîìïüþòåðóóä óðóó õîëáîãäñîí õýâëýã÷äýýð õýðõýí õýâëýõ òàëààð. • ѳëæýýíä øóóä õîëáîãäñîí õýâëýã÷äýýð õýðõýí õýâëýõ òàëààð. • Õýâëýõ àæëóóäûí õýìæýýã õÿçãààðëàõ áîëîí çàðèì õýðýãëýã÷äèéã õýâëýõèéã áîëèóëàõ çýðýã õýâëýã÷èéí õÿçãààðëàëòóóäûã õýðõýí õÿíàõ òàëààð. • Õýâëýã÷èéí ñòàòèñòèêóóä áîëîí õýâëýã÷èéí õýðýãëýýíä çîðèóëñàí á³ðòãýëèéã õýðõýí õàäãàëæ áàéõ òàëààð. • Õýâëýõ àñóóäëóóäûã õýðõýí îëæ çàñâàðëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
•
Øèíý ö°ìèéã õýðõýí òîõèðóóëæ ñóóëãàõ òàëààð ìýäýõ (Chapter 8).
9.2
Òàíèëöóóëãà
FreeBSD äýýð õýâëýã÷äèéã àøèãëàõûí òóëä òà òýäãýýðèéã LPD ò³ð õàäãàëàõ ñèñòåì áóþó åðä°° ë LPD
ãýæ áàñ íýðëýãääýã Áåðêëèãèéí øóãàìàí õýâëýã÷èéí ò³ð õàäãàëàõ ñèñòåìòýé àæèëëàõààð áîëãîæ òîõèðóóëæ áîëîõ þì. Ýíý íü FreeBSD äýýðõ ñòàíäàðò õýâëýã÷ õÿíàã÷ ñèñòåì þì. Ýíý á³ëýã íü LPD-ã òàíèëöóóëæ ò³³íèé òîõèðãîîã òàéëáàðëàõ áîëíî.
213
Chapter 9 Õýâëýëò
Õýðýâ òà LPD þì óó ýñâýë áóñàä õýâëýã÷èéí ò³ð õàäãàëàõ ñèñòåìèéã ìýääýã áîë íäñýí òîõèðóóëãà õýñýã óðóó øóóä îðîõûã õ³ñýæ áîëîõ þì. LPD íü õîñòûí õýâëýã÷äèéí òàëààð á³ãäèéã õÿíàäàã. Ýíý íü õýä õýäýí ç³éëñèéã õàðèóöäàã: Çàëãàãäñàí õýâëýã÷èä áîëîí ñ³ëæýýí äýõ °°ð õîñòóóäàä çàëãàãäñàí õýâëýã÷äýä õàíäàõ õàíäàëòûã õÿíàäàã. • Ôàéëóóä õýâëýõýýð °ã°õ áîëîìæèéã õýðýãëýã÷äýä ç°âø°°ðä°ã; ýäãýýð °ã°ëò³³ä íü jobs áóþó àæëóóä ãýãääýã. • Õýâëýã÷ áîëãîíû õóâüä queue áóþó äàðààëëûã çîõèöóóëæ îëîí õýðýãëýã÷èä íýãýí çýðýã õýâëýã÷èä õàíäàõ õàíäàëòààñ ñýðãèéëäýã. • Õýðýãëýã÷èä õýâëýñýí òîî òîìøã³é îëîí þìíààñ °°ðñäèéí õýâëýñýí àæëóóäûã õÿëáàðõàí îëäîã áàéõûí òóëä ýíý íü òîëãîé õóóäàñíóóäûã (áàñ ñóðòàë÷èëãàà ýñâýë òýñðýëò õóóäñóóä ãýãääýã) õýâëýäýã. • Öóâàà ïîðòóóä äýýð õîëáîãäñîí õýâëýã÷äèéí õîëáîîíû ïàðàìåòð³³äýä àíõààðëàà õàíäóóëäàã. • °ð õîñò äýýð áàéãàà LPD ò³ð õàäãàëàã÷ óðóó ñ³ëæýýãýýð àæëóóä èëãýýæ ÷àääàã. • Ò°ð°ë á³ðèéí õýâëýã÷èéí õýëí³³ä ýñâýë õýâëýã÷èéí áîëîìæóóäàä çîðèóëæ õýâëýõ àæëóóäûã õýëáýðø³³ëýõ òóñãàé ø³³ëò³³ð³³äèéã àæèëëóóëæ ÷àääàã. • Õýâëýã÷èéí õýðýãëýýã á³ðòãýæ ÷àääàã. Òîõèðãîîíû àéë (/etc/printcap) áîëîí òóñãàé ø³³ëò³³ð ïðîãðàìóóä àøèãëàí îëîí ò°ðëèéí õýâëýã÷ òîíîã ò°õ°°ð°ìæ³³äèéí õóâüä äýýð äóðäñàíóóäûí çàðèìóóä áîëîí á³ãäèéã õèéäýã áàéõààð LPD ñèñòåìèéã òà èäýâõæ³³ëæ ÷àäíà. •
9.2.1
ßàãààä çààâàë ò³ð õàäãàëàã÷èéã àøèãëàõ ¼ñòîé ãýæ
Òà ñèñòåìèéíõýý öîðûí ãàíö õýðýãëýã÷ áîë õàíäàëòûí õÿíàëò, òîëãîé õóóäàñíóóä ýñâýë õýâëýã÷èéí á³ðòãýë òàíä õýðýããã³é áàéõàä ÿàãààä çààâàë ò³ð õàäãàëàã÷èéí òàëààð ñàíàà çîâîõ ¼ñòîé ãýæ òà ãàéõàæ áàéæ áîëîõ þì. Õýâëýã÷ óðóó øóóä õàíäàëòûã èäýâõæ³³ëýõ áîëîìæòîé áàéäàã áîëîâ÷ òà ò³ð õàäãàëàã÷èéã ÿìàð ÷ áàéñàí àøèãëàõ ¼ñòîé, ó÷èð íü: • •
•
LPD íü àæëóóäûã àðä õýâëýäýã; òà °ã°ãäëèéã õýâëýã÷ óðóó õóóëàãäàõûã õ³ëýýõ õýðýãã³é þì.
LPD íü îãíîî/öàã á³õèé òîëãîé íýìýõ ýñâýë òóñãàé àéëûí õýëáýðøèëòýýñ (TEX DVI àéë çýðýã)
õýâëýã÷èéí îéëãîõ õýëáýðøèëò óðóó õ°ðâ³³ëäýã ø³³ëò³³ð³³äýýð äàìæóóëàí õýâëýãäýõ àæëûã òîõèðîìæòîéãîîð àæèëëóóëäàã. Òà ãàðààðàà ýäãýýð àëõìóóäûã õèéõ øààðäëàãàã³é þì. Õýâëýõ áîëîìæ á³õèé ÷°ë°°òýé, àðèëæààíû îëîí ïðîãðàìóóä íü òàíû ñèñòåì äýýðõ ò³ð õàäãàëàã÷òàé ÿðèëöàõûã èõýâ÷ëýí õ³ëýýæ áàéäàã. Ò³ð õàäãàëàã÷ ñèñòåìèéã òîõèðóóëñíààð òàíä áàéãàà áîëîí òàíû ñ³³ëä ñóóëãàæ áîëîõ áóñàä ïðîãðàì õàíãàìæóóäûã èë³³ àìàðõíààð òà äýìæèõ áîëíî.
214
9.3
íäñýí òîõèðóóëãà
Chapter 9 Õýâëýëò
LPD ò³ð õàäãàëàõ ñèñòåìòýé õýâëýã÷äèéã àøèãëàõûí òóëä °°ðèéí õýâëýã÷èéí òîíîã ò°õ°°ð°ìæ áîëîí LPD ïðîãðàì õàíãàìæèéã òîõèðóóëàõ õýðýãòýé áîëíî. Ýíý áàðèìò íü òîõèðãîîíû õî¼ð ò³âøèíã òàéëáàðëàäàã: •
•
Õýâëýã÷èéã õýðõýí õîëáîõûã ñóðàõûí òóëä Õýâëýã÷èéí õÿëáàð òîõèðãîî õýñãèéã ³çýæ LPD-ä õýðõýí ò³³íòýé õîëáîî òîãòîîõûã õýëæ õýâëýã÷ óðóó öýâýð òåêñò àéëóóäûã õýâëýõ. Ò°ð°ë á³ðèéí òóñãàé àéëûí õýëáýðøèëò³³äèéã õýðõýí õýâëýõ, òîëãîé õóóäàñíóóäûã õýðõýí õýâëýõ, ñ³ëæýýãýýð õýðõýí õýâëýõ, õýâëýã÷äýä õàíäàõ õàíäàëòûã õýðõýí õÿíàõ áîëîí õýðõýí õýâëýã÷èéí á³ðòãýëèéã õèéõèéã ñóðàõûí òóëä Õýâëýã÷èéí èë³³ íàðèéí òîõèðãîî õýñãèéã ³çýõ.
9.3.1
Õýâëýã÷èéí õÿëáàð òîõèðãîî
Ýíý õýñýã íü õýâëýã÷èéã àøèãëàõûí òóëä õýâëýã÷èéí òîíîã ò°õ°°ð°ìæ áîëîí LPD ïðîãðàì õàíãàìæèéã õýðõýí òîõèðóóëàõûã õýëæ °ãí°. Ýíý íü ³íäñýí îéëãîëòóóäàä ñóðãàíà: Òîíîã ò°õ°°ð°ìæèéí òîõèðãîî õýñýã íü õýâëýã÷èéã òàíû êîìïüþòåð äýýðõ ïîðò óðóó õîëáîõ çàðèì çààâðóóäûã °ãä°ã. • Ïðîãðàì õàíãàìæèéí òîõèðãîî õýñýã íü LPD ò³ð õàäãàëàã÷èéí òîõèðãîîíû àéëûã (/etc/printcap) õýðõýí òîõèðóóëàõû㠳糳ëäýã. Õýâëýõ °ã°ãäëèéã õ³ëýýí àâàõäàà êîìïüþòåðèéí ëîêàë èíòåðýéñ³³äèéã áèø ñ³ëæýýíèé ïðîòîêîëûã àøèãëàäàã õýâëýã÷èéã òà òîõèðóóëæ áàéãàà áîë ѳëæýýíä õîëáîãäñîí °ã°ãäëèéí óðñãàëûí èíòåðýéñ³³äòýé õýâëýã÷èä õýñãèéã ³çíý ³³. Ýíý õýñýã íü “Õýâëýã÷èéí õÿëáàð òîõèðãîî” ãýãääýã áîëîâ÷ ÿã ³íýíäýý íýëýýí ò°â°ãòýé þì. Õýâëýã÷èéã °°ðèéí êîìïüþòåð áîëîí LPD ò³ð õàäãàëàã÷òàé öóã àæèëëóóëíà ãýäýã õàìãèéí õýö³³ õýñýã þì. Òîëãîé õóóäàñíóóä áîëîí á³ðòãýë õèéõ çýðýã äýâøèëòýò òîõèðóóëãóóä íü õýâëýã÷èéã àæèëëóóëñíû äàðàà íýëýýí àìàðõàí áàéäàã.
•
9.3.1.1 Òîíîã ò°õ°°ð°ìæèéí òîõèðãîî
Ýíý õýñýã íü °°ðèéí PC-òýé õýâëýã÷ õîëáîõ ò°ð°ë á³ðèéí àðãóóäûí òàëààð õýëäýã. Ýíý íü ïîðòóóä áà êàáåëèóäûí òàëààð áîëîí FreeBSD-ã õýâëýã÷òýé õàðèëöäàã áîëãîõûí òóëä òàíä õýðýã áîëîõ ö°ìèéí òîõèðãîîíû òàëààð áàñ °ã³³ëíý. Õýðýâ òà °°ðèéí õýâëýã÷èéã àëü õýäèéí õîëáîñîí á°ã°°ä °°ð ³éëäëèéí ñèñòåì äýýð ò³³ãýýð àìæèëòòàé õýâëýñýí áîë Ïðîãðàì õàíãàìæèéí òîõèðãîî õýñýã óðóó àëãàñàæ áîëîõ þì.
9.3.1.1.1 Ïîðòóóä áà êàáåëèóä
PC äýýð àøèãëàãäàõ çîðèóëàëòòàé õóäàëäààëæ áàéãàà õýâëýã÷èä íü åð°íõèéä°° äîîðõ ãóðâàí èíòåðýéñèéí àëü íýã þì óó ýñâýë îëîí èíòåðýéñòýé èðäýã: •
Öóâàà èíòåðýéñ³³ä áóþó áàñ RS-232 ýñâýë COM ïîðòóóä ãýãääýã èíòåðýéñ³³ä íü °ã°ãäëèéã õýâëýã÷ óðóó èëãýýõäýý òàíû êîìïüþòåð äýýðõ öóâàà ïîðòûã àøèãëàäàã. Öóâàà èíòåðýéñ³³ä íü êîìïüþòåðèéí àæ ³éëäâýðëýëä ò³ãýýìýë áàéäàã á°ã°°ä êàáåëèóä íü áýëýí áàéæ áàéäãààñ ãàäíà õèéõýä õÿëáàð áàéäàã. Öóâàà èíòåðýéñ³³ä íü çàðèìäàà òóñãàé êàáåëèóäûã øààðääàã á°ã°°ä òàíààñ
215
Chapter 9 Õýâëýëò
ò°â°ãòýé õîëáîîíû ñîíãîëòóóäûã òîõèðóóëàõûã øààðäàæ áîëîõ þì. Èõýíõ PC-íèé öóâàà ïîðòóóä íü õàìãèéí èõ äàìæóóëàõ õóðäíû õóâüä 115200 bps õóðäòàé áàéäàã á°ã°°ä èõ òîì ãðàèê õýâëýõ àæëûã ³³ãýýð õèéõ íü ïðàêòèêèéí õóâüä ò°â°ãòýé áîëãîäîã. • Çýðýãöýý èíòåðýéñ³³ä íü °ã°ãäëèéã õýâëýã÷ óðóó èëãýýõäýý òàíû êîìïüþòåðèéí çýðýãöýý ïîðòûã àøèãëàäàã. Çýðýãöýý èíòåðýéñ³³ä íü PC-èéí çàõ çýýëä íèéòëýã áàéäàã á°ã°°ä RS-232 öóâààãààñ èë³³ õóðäàí áàéäàã. Êàáåëèóä íü áàéäàã áîëîâ÷ ãàðààð õèéõýä èë³³ ò°â°ãòýé áàéäàã. Çýðýãöýý èíòåðýéñ³³äýä õîëáîîíû ñîíãîëòóóä èõýâ÷ëýí áàéäàãã³é áîëîõîîð òýäãýýðèéí òîõèðãîîã ìàø õÿëáàð áîëãîäîã. Çýðýãöýý èíòåðýéñ³³ä íü õýâëýã÷èéí õîëáîã÷èéí ò°ðëèéí íýðýýð íýðëýãäñýí “Centronics” èíòåðýéñ³³ä ãýæ çàðèìäàà õýëýãääýã. • Universal Serial Bus áóþó Óíèâåðñàë Öóâàà Øóãàì ãýãääýã USB èíòåðýéñ³³ä íü çýðýãöýý áîëîí RS-232 öóâàà èíòåðýéñ³³äýýñ á³ð èë³³ õóðäààð àæèëëàæ ÷àääàã. Êàáåëèóä íü õÿëáàð á°ã°°ä õÿìä áàéäàã. USB íü RS-232 áîëîí Çýðýãöýý èíòåðýéñ³³äýýñ õýâëýõèéí õóâüä èë³³ õ³÷èðõýã áîëîâ÷ UNIX ñèñòåì³³ä äýýð òèéì ÷ ñàéí äýìæèãäñýí áàéäàãã³é. Ýíý àñóóäëûã òîéðîí ãàðàõûí òóëä îëîí õýâëýã÷èä áàéäàã USB áîëîí Çýðýãöýý èíòåðýéñ³³äòýé òèéì õýâëýã÷ õóäàëäàí àâàõ ÿâäàë þì. Åð°íõèéä°° çýðýãöýý èíòåðýéñ³³ä íü ç°âõ°í íýã òàëûí õîëáîîã (êîìïüþòåðààñ õýâëýã÷ óðóó) ñàíàë áîëãîäîã áîë öóâàà áîëîí USB íü õî¼ð òàëûí õîëáîîã °ãä°ã. Øèíý çýðýãöýý ïîðòóóä (EPP áîëîí ECP) áîëîí õýâëýã÷èä íü IEEE-1284 íèéöòýé êàáåëü àøèãëàæ áàéãàà áîë FreeBSD äýýð õî¼ð òàë óðóó ÷èãëýñýí õîëáîîã õèéæ ÷àääàã. Çýðýãöýý ïîðòîîð õýâëýã÷ óðóó ÷èãëýñýí õî¼ð òàëûí õîëáîîã åð°íõèéä°° õî¼ð àðãûí àëü íýãýýð õèéäýã. Ýõíèé àðãà íü õýâëýã÷èéí àøèãëàäàã õóâèéí õýëýýð ÿðüäàã FreeBSD-èéí °°ð÷ë°í á³òýýñýí õýâëýã÷èéí äðàéâåðèéã õýðýãëýäýã. Ýíý íü áýõýí õýâëýã÷äýä íèéòëýã áàéäàã á°ã°°ä áýõíèé ò³âøèí áîëîí áóñàä ò°ëâèéí ìýäýýëëèé㠳糳ëýõýä õýðýãëýãääýã. Õî¼ð äàõü àðãûã õýâëýã÷ PostScript-ã äýìæäýã ³åä àøèãëàäàã. PostScript àæëóóä íü æèíõýíýäýý õýâëýã÷ óðóó èëãýýñýí ïðîãðàìóóä þì; òýäãýýð íü öààñ á³òýýõ åð°°ñ°° øààðäëàãàã³é á°ã°°ä ³ð ä³íã³³äèéã êîìïüþòåð óðóó øóóä áóöààæ áîëîõ þì. PostScript íü PostScript ïðîãðàì äàõü àëäààíóóä, ýñâýë öààñ ãàöñàí çýðýã àñóóäëóóäûã êîìïüþòåðò õýëýõèéí òóëä õî¼ð òàëûí õîëáîîã áàñ àøèãëàäàã. Òàíû õýðýãëýã÷èä òèéì ìýäýýëëèéã àâààä òàëàðõàõ áàéõ. Áàñ PostScript õýâëýã÷èéí õóâüä ³ð àøèãòàé á³ðòãýë õèéõ õàìãèéí øèëäýã àðãà íü õî¼ð òàëûí õîëáîîã øààðääàã: õýâëýã÷ýýñ õóóäàñíû òîîã (°°ðèéí àìüäðàëûí õóãàöààíäàà íèéò õè÷íýýí õóóäàñ õýâëýñýí òàëààð) òà àñóóæ äàðàà íü õýðýãëýã÷èéí àæëûã èëãýýæ òýãýýä äàõèàä õóóäàñíû òîîã àñóóäàã. Õî¼ð óòãûí íýãýýñ í°ã°°ã õàñààä õýðýãëýã÷ýýñ õè÷íýýí öààñíû ò°ëá°ð àâàõûã òà ìýäýõ áîëíî. 9.3.1.1.2 Çýðýãöýý ïîðòóóä
Õýâëýã÷èéã çýðýãöýý èíòåðýéñ àøèãëààä çàëãàõûí òóëä Centronics êàáåëèéã õýâëýã÷ áîëîí êîìïüþòåðèéí õîîðîíä õîëáîíî. Õýâëýã÷, êîìïüþòåð ýñâýë õî¼óëàíòàé íü öóã èðñýí çààâðóóä òàíä á³ðýí ã³éöýä çààâàð °ã°õ ¼ñòîé. Êîìïüþòåð äýýðýý àëü çýðýãöýý ïîðòûã àøèãëàñíàà ñàíàõ õýðýãòýé. Ýõíèé çýðýãöýý ïîðò íü FreeBSD-ä ppc0 áàéõ á°ã°°ä õî¼ð äàõü ppc1 ãýõ ìýòýýð áàéíà. Õýâëýã÷èéí ò°õ°°ð°ìæèéí íýð ì°í àäèë ñõåìèéã àøèãëàäàã: /dev/lpt0 íü ýõíèé çýðýãöýý ïîðò äýýðõ õýâëýã÷ ãýõ ìýòýýð áàéíà.
216
Chapter 9 Õýâëýëò 9.3.1.1.3 Öóâàà ïîðòóóä
Öóâàà èíòåðýéñ³³äèéã àøèãëàí õýâëýã÷èéã çàëãàõäàà ç°â öóâàà êàáåëèéã õýâëýã÷ áîëîí êîìïüþòåðèéí õîîðîíä õîëáîíî. Õýâëýã÷, êîìïüþòåð ýñâýë õî¼óëàíòàé íü öóã èðñýí çààâðóóä òàíä á³ðýí ã³éöýä çààâàð °ã°õ ¼ñòîé. Õýðýâ òà “ç°â öóâàà êàáåëü” íü þó âý ãýäýãò ýðãýëçýæ áàéâàë òà äàðààõ áîëîìæóóäààñ àëü íýãèéã òóðøèæ ³çýõèéã õ³ñýæ áîëîõ þì: Ìîäåìèéí êàáåëü íü êàáåëèéí íýã òàëä áàéãàà õîëáîã÷èéí ç³³ á³ðèéã í°ã°° òàëä áàéãàà õîëáîã÷èéí õàðãàëçàõ ç³³íä øóëóóõàí õîëáîäîã. Ýíý ò°ðëèéí êàáåëèéã “DTE-ýýñ DCE” êàáåëü ãýæ áàñ íýðëýäýã. • null-ìîäåì êàáåëü íü çàðèì ç³³í³³äèéã øóóä øóëóóõíààð, çàðèìóóäûã íü õîîðîíä íü ñîëáèäîã (æèøýý íü °ã°ãäëèéã õ³ëýýí àâàõûí òóëä °ã°ãäëèéã èëãýýäýã) á°ã°°ä çàðèìûã íü äîòðîî õîëáîã÷ á³ðèéí òàã äîòîð áîãèíî õîëáîäîã. Ýíý ò°ðëèéí êàáåëèéã “DTE-ýýñ DTE” êàáåëü ãýæ áàñ íýðëýäýã. • Çàðèì íýã õîâîð õýâëýã÷äýä øààðäàãääàã öóâàà õýâëýã÷èéí êàáåëü íü null-ìîäåì êàáåëüòàé àäèë áîëîâ÷ äîòðîî áîãèíî õîëáîõûí îðîíä çàðèì äîõèîíóóäûã °°ðñäèéí ýñðýã òàëäàà èëãýýäýã. Òà õýâëýã÷èéí õóâüä õîëáîîíû ïàðàìåòð³³äèéã áàñ òîõèðóóëàõ õýðýãòýé á°ã°°ä ýäãýýðèéã õýâëýã÷ äýýðõ í³³ðýí òàëûí õÿíàëòóóä þì óó ýñâýë DIP øèëæ³³ëýã÷äýýð õèéäýã. Òàíû êîìïüþòåð áîëîí õýâëýã÷ äýìæäýã õàìãèéí èõ bps-èéã (bits per second áóþó ñåêóíäýä äàìæèõ áèòèéí òîî, çàðèìäàà baud õóðä ) ñîíãîõ õýðýãòýé. 7 þì óó ýñâýë 8 °ã°ãäëèéí áèò; áàéõã³é (none), òýãø (even), ýñâýë ñîíäãîé (odd) parity; áîëîí 1 ýñâýë 2 ñòîï áèòèéã ñîíãîõ õýðýãòýé. Áàñ óðñãàë õÿíàõ ïðîòîêîëûã ñîíãîõ õýðýãòýé: áàéõã³é (none) þì óó àëü ýñâýë XON/XOFF (áàñ “in-band” ýñâýë “software” ãýãääýã) óðñãàë õÿíàëòûã ñîíãîõ õýðýãòýé. Äàðààõ ïðîãðàì õàíãàìæèéí òîõèðãîîíä çîðèóëæ ýäãýýð òîõèðóóëãóóäûã ñàíàõ õýðýãòýé. •
9.3.1.2 Ïðîãðàì õàíãàìæèéí òîõèðãîî
Ýíý õýñýã íü FreeBSD äýýð LPD ò³ð õàäãàëàõ ñèñòåìýýð õýâëýõýä øààðäëàãàòàé ïðîãðàì õàíãàìæèéí òîõèðóóëãûã òàéëáàðëàäàã. Ýíä øààðäëàãàòàé àëõìóóäûã äóðäàâ: 1. 2.
3. 4.
Õýâëýã÷èéí õóâüä àøèãëàæ áàéãàà ïîðòîä çîðèóëæ øààðäëàãàòàé áîë °°ðèéí ö°ìèéã òîõèðóóëíà; Òàíû þó õèéõ ¼ñòîéã Ö°ìèéí òîõèðãîî õýñýã õýëæ °ãí°. Õýðýâ òà çýðýãöýý ïîðò àøèãëàæ áàéãàà áîë çýðýãöýý ïîðòûíõîî õóâüä õîëáîîíû ãîðèìûã òîõèðóóëàõ õýðýãòýé; Çýðýãöýý ïîðòûí õóâüä õîëáîîíû ãîðèìûã òîõèðóóëàõ íü õýñãýýñ äýëãýðýíã³éã ³çýýðýé. éëäëèéí ñèñòåì °ã°ãäëèéã õýâëýã÷ óðóó èëãýýæ ÷àäàæ áàéãàà ýñýõèéã òåñò õèéíý. ³íèéã õýðõýí õèéõ òóõàé çàðèì íýãýí ç°âë°ã°°í³³äèéã Õýâëýã÷èéí õîëáîîíóóäûã øàëãàõ íü õýñýã °ãä°ã. /etc/printcap àéëûã çàñàæ õýâëýã÷äýý çîðèóëæ òîõèðóóëíà. ³íèéã õýðõýí õèéõ òàëààð ñ³³ëä íü ýíý á³ëãýýñ îëîõ áîëíî.
9.3.1.2.1 Ö°ìèéí òîõèðãîî
éëäëèéí ñèñòåìèéí ö°ì òóñãàéëñàí õýäýí ò°õ°°ð°ìæ³³äòýé àæèëëàõààð ýìõýòãýãäñýí áàéäàã. Òàíû õýâëýã÷èä çîðèóëàãäñàí öóâàà áîëîí çýðýãöýý èíòåðýéñ íü ýäãýýðèéí íýã õýñýã þì. Òèéì áîëîõîîð
217
Chapter 9 Õýâëýëò
õýðýâ òàíû ö°ì èíãýæ òîõèðóóëàãäààã³é áîë íýìýëò öóâàà ýñâýë çýðýãöýý ïîðòûí äýìæëýãèéã íýìýõ õýðýãòýé áàéæ áîëîõ þì. Òàíû àøèãëàæ áàéãàà ö°ì öóâàà èíòåðýéñèéã äýìæèæ áàéãàà ýñýõèéã ìýäýõèéí òóëä äîîð äóðäñàíûã áè÷íý: # grep sioN /var/run/dmesg.boot
Ýíä áàéãàà N íü òýãýýñ ýõëýõ öóâàà ïîðòûí äóãààð þì. Õýðýâ òà äîîð äóðäñàíòàé ò°ñòýé ãàðàëòûã õàðâàë: sio2 at port 0x3e8-0x3ef irq 5 on isa sio2: type 16550A
ö°ì íü ïîðòûã äýìæäýã ãýñýí ³ã þì. Ö°ì íü çýðýãöýý èíòåðýéñèéã äýìæäýã ýñýõèéã ìýäýõèéí òóëä äîîð äóðäñàíûã áè÷íý: # grep ppcN /var/run/dmesg.boot
Ýíä áàéãàà N íü òýãýýñ ýõëýõ çýðýãöýý ïîðòûí äóãààð þì. Õýðýâ òà äîîð äóðäñàíòàé ò°ñòýé ãàðàëòûã õàðâàë: ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold
ö°ì íü ïîðòûã äýìæäýã ãýñýí ³ã þì. Òàíû õýâëýã÷äýý çîðèóëàí àøèãëàæ áàéãàà çýðýãöýý ýñâýë öóâàà ïîðòûã ³éëäëèéí ñèñòåì òàíüæ õýðýãëýäýã áàéõûí òóëä òà °°ðèéí ö°ìèéã äàõèí òîõèðóóëàõ õýðýãòýé áîëæ áîëîõ þì. Öóâàà ïîðòîä çîðèóëæ äýìæëýã íýìýõèéí òóëä ö°ìèéí òîõèðãîîíû òóõàé õýñãèéã ³çíý ³³. Çýðýãöýý ïîðòîä çîðèóëæ äýìæëýã íýìýõèéí òóëä òýð õýñãèéã áîëîí äàðààãèéí õýñãèéã ³çíý ³³. 9.3.1.3 Çýðýãöýý ïîðòûí õóâüä õîëáîîíû ãîðèìûã òîõèðóóëàõ íü
Çýðýãöýý èíòåðýéñèéã àøèãëàæ áàéõäàà FreeBSD íü õýâëýã÷èéí õóâüä òàñàëäëààð çîõèöóóëàãäàõ þì óó ýñâýë áàéíãà øàëãàõ õîëáîîíû àëèéã àøèãëàõûã òà ñîíãîæ áîëíî. FreeBSD äýýðõ åðäèéí õýâëýã÷èéí ò°õ°°ð°ìæèéí äðàéâåð (lpt(4)) íü ïîðòûí áè÷èë ñõåìèéã ppc(4) äðàéâåðààð õÿíàäàã ppbus(4) ñèñòåìèéã àøèãëàäàã. àðãà íü GENERIC ö°ìä àíõäàã÷ áàéäàã. Ýíý àðãàíä ³éëäëèéí ñèñòåì íü õýâëýã÷ °ã°ãä°ë õ³ëýýí àâàõàä õýçýý áýëýí áàéãààã òîäîðõîéëîõûí òóëä IRQ øóãàìûã àøèãëàäàã. • polled áóþó áàéíãà øàëãàõ àðãà íü ³éëäëèéí ñèñòåìä õýâëýã÷ýýñ °ã°ãä°ë õ³ëýýí àâàõàä áýëýí áàéãàà ýñýõèéã íü äàâòàëòòàéãààð àñóóõûã çààæ °ãä°ã. Áýëýí ãýæ õàðèóëáàë ö°ì èë³³ °ã°ãä°ë èëãýýäýã. Òàñàëäëààð çîõèöóóëàãäàõ àðãà íü èõýâ÷ëýí õóðäàí áàéäàã áîëîâ÷ íàíäèí IRQ øóãàìûã èõýýð àøèãëàäàã. Çàðèì øèíý HP õýâëýã÷èä íü çàðèì (ÿã òîäîðõîé îéëãîãäîîã³é) õóãàöààíû àñóóäëóóäààñ áîëîîä òàñàëäëûí ãîðèìä ç°â àæèëëàäàãã³é ãýãääýã. Ýäãýýð õýâëýã÷äýä áàéíãà øàëãàõ ãîðèì •
interrupt-driven áóþó òàñàëäëààð çîõèöóóëàãäàõ
218
Chapter 9 Õýâëýëò
õýðýãòýé. Àëü àæèëëàæ áàéãààã íü ë òà àøèãëàõ õýðýãòýé. Çàðèì õýâëýã÷èä íü àëü àëèí äýýð íü àæèëëàäàã áîëîâ÷ òàñàëäëûí ãîðèì àñàð óäààí áàéäàã. Òà õîëáîîíû ãîðèìûã õî¼ð àðãààð òîõèðóóëæ áîëíî: ö°ìèéã òîõèðóóëàõ çàìààð ýñâýë lptcontrol(8) ïðîãðàì àøèãëàí õèéæ áîëíî. Ö°ìèéã òîõèðóóëàõ çàìààð õîëáîîã òîõèðóóëàõäàà: 1.
°ðèéí ö°ìèéí òîõèðãîîíû àéëàà çàñâàðëàíà. ppc0 îðóóëãûã õàéíà. Õýðýâ òà õî¼ð äàõü çýðýãöýý ïîðòûã òîõèðóóëæ áàéãàà áîë ppc1-ã àøèãëààðàé. óðàâ äàõü ïîðòûí õóâüä ppc2 ãýõ ìýòýýð àøèãëàíà. • Õýðýâ òà òàñàëäëààð çîõèöóóëàãäàõ ãîðèìûã õ³ñýæ áàéãàà áîë äàðààõ ì°ðèéã: hint.ppc.0.irq="N "
àéëä çàñâàðëàæ N -èé îðîíä ç°â IRQ äóãààðûã ñîëèõ õýðýãòýé. Ö°ìèéí òîõèðãîîíû àéë ppc(4) äðàéâåðèéã áàñ àãóóëñàí áàéõ ¼ñòîé:
/boot/device.hints
device ppc •
Õýðýâ òà áàéíãà øàëãàäàã ãîðèìûã õ³ñýæ áàéâàë °°ðèéí /boot/device.hints àéëààñ äàðààõ ì°ðèéã àðèëãàíà: hint.ppc.0.irq="N "
Çàðèì òîõèîëäîëä ýíý íü FreeBSD äýýð ïîðòûã áàéíãà øàëãàõ ãîðèìä îðóóëàõàä õàíãàëòã³é áàéäàã. Èõýíõäýý ýíý íü acpi(4) äðàéâåðààñ ãàðäàã á°ã°°ä ýíý íü ò°õ°°ð°ìæ³³äèéã øàëãàæ áîëîí çàëãàæ ÷àääàã áîëîõîîð õýâëýã÷èéí ïîðò óðóó õàíäàõ ãîðèìûã õÿíàæ ÷àääàã áàéíà. Ýíý àñóóäëûã çàñâàðëàõûí òóëä òà °°ðèéí acpi(4) òîõèðãîîã øàëãàõ õýðýãòýé. 2. Ôàéëûã õàäãàëíà. Äàðàà íü ö°ìä òîõèðãîî õèéí á³òýýæ ö°ìèéã ñóóëãààä äàõèí à÷ààëíà. Èë³³ äýëãýðýíã³éã ö°ìèéí òîõèðãîî õýñãýýñ ³çíý ³³. Õîëáîîíû ãîðèìûã lptcontrol(8)-ð òîõèðóóëàõûí òóëä: 1.
Äîîð äóðäñàíûã áè÷èæ: # lptcontrol -i -d /dev/lptN
ä çîðèóëæ òàñàëäëààð çîõèöóóëàãäàõ ãîðèìûã òîõèðóóëíà. Äîîð äóðäñàíûã áè÷èæ:
lptN -
2.
# lptcontrol -p -d /dev/lptN
ä çîðèóëæ áàéíãà øàëãàõ ãîðèìûã òîõèðóóëíà. Ýäãýýð òóøààëóóäûã °°ðèéí /etc/rc.local àéëä íýìæ òàíû ñèñòåìèéã à÷ààëàõ áîëãîíä ãîðèìûã òîõèðóóëäàã áàéõààð õèéæ áîëîõ þì. Èë³³ ìýäýýëëèéã lptcontrol(8)-ñ ³çíý ³³. lptN -
9.3.1.4 Õýâëýã÷èéí õîëáîîã øàëãàõ íü
Ò³ð õàäãàëàã÷ ñèñòåìèéã òîõèðóóëàõààñàà °ìí° òà ³éëäëèéí ñèñòåìèéã °ã°ãäëèéã àìæèëòòàéãààð °°ðèéí õýâëýã÷ óðóó èëãýýæ ÷àäàæ áàéãàà ýñýõèéã øàëãàõ õýðýãòýé. Õýâëýã÷èéí õîëáîî áîëîí ò³ð õàäãàëàã÷ ñèñòåìèéã òóñàä íü äèáàã õèéõ íü õàìààã³é õÿëáàð áàéäàã.
219
Chapter 9 Õýâëýëò
Õýâëýã÷èéã òåñò õèéõèéí òóëä áèä ÿìàð íýã òåêñò ò³³í ³ð³³ èëãýýíý. Èëãýýãäñýí òýìäýãò³³äèéã òýð äàðóé íü õýâëýõ õýâëýã÷äèéí õóâüä lptest(1) ïðîãðàì ò°ãñ áàéäàã: ýíý íü á³õ 96 õýâëýõ áîëîìæòîé ASCII òýìäýãò³³äèéã 96 ì°ð°íä ³³ñãýäýã. PostScript (ýñâýë áóñàä õýëýí äýýð ñóóðèëñàí) õýâëýã÷èéí õóâüä áèäýíä èë³³ ò°â°ãòýé òåñò õýðýãòýé. Äîîð äóðäñàíòàé ò°ñòýé æèæèã PostScript ïðîãðàì õàíãàëòòàé áàéõ áîëíî: %!PS 100 100 moveto 300 300 lineto stroke 310 310 moveto /Helvetica findfont 12 scalefont setfont (Is this thing working?) show showpage
Äýýðõ PostScript êîäûã àéëä õèéãýýä äîîðõ õýñã³³äýä ãàð÷ áàéãàà æèøýýí³³äýä ³ç³³ëñýí øèãýýð àøèãëàæ áîëíî. Note: Ýíý áàðèìò íü õýâëýã÷èéí õýë ãýäãèéã Hewlett Packard-èéí PCL áèø õàðèí PostScript-òýé àäèë õýëèéã õýëæ áàéãàà þì. PCL íü ìóíäàã àæèëëàãààòàé áîëîâ÷ òà öýâýð òåêñòèéã °°ðèéíõ íü escape (çóãòàõ) äàðààëëóóäòàé íü õîëüæ áîëäîã. PostScript íü öýâýð òåêñòèéã øóóä õýâëýæ ÷àääàãã³é á°ã°°ä ýíý íü òóñãàé çîõèöóóëàëòóóä õèéæ °ã°õ ¼ñòîé òèéì õýâëýã÷èéí õýë þì.
9.3.1.4.1 Çýðýãöýý õýâëýã÷èéã øàëãàõ íü
Ýíý õýñýã íü çýðýãöýý ïîðò óðóó õîëáîãäñîí õýâëýã÷òýé FreeBSD õîëáîãäîæ ÷àäàõ ýñýõèéã õýðõýí øàëãàõûã õýëæ °ã°õ áîëíî. Çýðýãöýý ïîðò äýýðõ õýâëýã÷èéã òåñò õèéõèéí òóëä: 1. 2.
su(1) àøèãëàí root áîëíî.
Õýâëýã÷ óðóó °ã°ãä°ë èëãýýíý. • Õýðýâ õýâëýã÷ öýâýð òåêñò õýâëýæ ÷àääàã áîë lptest(1)-ã àøèãëàíà. Äîîð äóðäñàíûã áè÷íý: # lptest > /dev/lptN
•
Ýíä áàéãàà N íü òýãýýñ ýõëýõ çýðýãöýý ïîðòûí äóãààð þì. Õýðýâ õýâëýã÷ PostScript ýñâýë áóñàä õýâëýã÷èéí õýëèéã îéëãîäîã áîë æèæèã ïðîãðàì õýâëýã÷ óðóó èëãýýõ õýðýãòýé. Äîîð äóðäñàíûã áè÷íý: # cat > /dev/lptN
Òýãýýä ì°ð ì°ð°°ð ïðîãðàìûã àíõààðàëòàé îðóóëàõ õýðýãòýé. Ó÷èð íü RETURN ýñâýë ENTER äàðñíû äàðàà òà çàñâàðëàæ ÷àäàõã³é áîëîõ þì. Ïðîãðàìàà îðóóëæ äóóñààä CONTROL+D þì óó ýñâýë àéëûí ò°ãñã°ë òîâ÷ëóóð ÿìàð áàéíà òýðèéã äàðàõ õýðýãòýé. Ì°í °°ð°°ð ïðîãðàìûã àéëä õèéæ äîîð äóðäñàíûã áè÷èí °ã÷ áîëíî: # cat
file > /dev/lptN
Ýíä áàéãàà file íü òàíû èëãýýõèéã õ³ñýæ áàéãàà ïðîãðàìûã àãóóëñàí àéëûí íýð þì. Òà ÿìàð íýãýí ç³éë õàðàõ ¼ñòîé. Òåêñò ç°â õàðàãäàõã³é áàéâàë ñàíàà çîâñíû õýðýãã³é; áèä èéìýðõ³³ ç³éëñèéã ñ³³ëä íü çàñàõ áîëíî.
220
Chapter 9 Õýâëýëò 9.3.1.4.2 Öóâàà õýâëýã÷èéã øàëãàõ íü
Ýíý õýñýã íü öóâàà ïîðò óðóó õîëáîãäñîí õýâëýã÷òýé FreeBSD õîëáîãäîæ ÷àäàõ ýñýõèéã õýðõýí øàëãàõûã õýëæ °ã°õ áîëíî. Öóâàà ïîðò äýýðõ õýâëýã÷èéã òåñò õèéõäýý: 1.
su(1) àøèãëàí root áîëíî.
2.
/etc/remote
àéëûã çàñâàðëàíà. Äàðààõ ì°ðèéã íýìíý:
printer:dv=/dev/port:br#bps-rate:pa=parity
Ýíä áàéãàà port íü öóâàà ïîðòîä (ttyd0, ttyd1, ãýõ ìýò) çîðèóëñàí ò°õ°°ð°ìæèéí îðóóëãà, bps-rate íü õýâëýã÷èéí õîëáîãäîõ ñåêóíäýä èëãýýõ áèòèéí õóðä, áîëîí parity íü õýâëýã÷èéí øààðääàã parity þì (even, odd, none, ýñâýë zero). Öóâàà øóãàìààð ãóðàâ äàõü öóâàà ïîðò óðóó 19200 bps õóðäààð parity áàéõã³éãýýð õîëáîãäñîí õýâëýã÷èä çîðèóëñàí æèøýý îðóóëãà ýíä áàéíà: printer:dv=/dev/ttyd2:br#19200:pa=none
3.
tip(1) àøèãëàí õýâëýã÷ óðóó õîëáîãäîíî. Äîîð äóðäñàíûã áè÷íý: # tip printer
4.
Õýðýâ ýíý àëõàì íü àæèëëàõã³é áîë /etc/remote àéëûã äàõèí çàñâàðëàæ /dev/ttydN -èéí îðîíä /dev/cuaaN -ã àøèãëàæ ³çýýðýé. ã°ãäëèéã õýâëýã÷ óðóó èëãýýíý. • Õýðýâ õýâëýã÷ öýâýð òåêñò õýâëýæ ÷àääàã áîë lptest(1)-ã àøèãëàíà. Äîîð äóðäñàíûã áè÷íý: % $lptest •
Õýðýâ õýâëýã÷ PostScript ýñâýë áóñàä õýâëýã÷èéí õýëèéã îéëãîäîã áîë æèæèã ïðîãðàì õýâëýã÷ óðóó èëãýýõ õýðýãòýé. Ïðîãðàìûã ì°ð ì°ð°°ð ìàø àíõààðàëòàéãààð áè÷èæ îðóóëàõ õýðýãòýé. Ó÷èð íü àðèëãàõ áîëîí áóñàä çàñâàðëàõ òîâ÷ëóóðóóä õýâëýã÷èéí õóâüä ÷óõàë áàéæ áîëîõ þì. Òà ïðîãðàìûã á³ãäèéã íü õ³ëýýæ àâñàí ãýæ õýâëýã÷èä òàíèóëàõûí òóëä òóñãàé àéëûí ò°ãñã°ë òîâ÷ëóóðûã õýâëýã÷èä çîðèóëæ îðóóëàõ õýðýãòýé. PostScript-èéí õýâëýã÷äèéí õóâüä CONTROL+D äàðíà. Ì°í °°ð°°ð òà ïðîãðàìûã àéëä õèéæ äîîð äóðäñàíûã áè÷èí îðóóëæ áîëíî: % >file
Ýíä áàéãàà file íü ïðîãðàìûã àãóóëæ áàéãàà àéëûí íýð þì. tip(1) àéëûã èëãýýñíèé äàðàà øààðäëàãàòàé àéëûí ò°ãñã°ë òîâ÷ëóóðûã äàðàõ õýðýãòýé. Òà ÿìàð íýãýí ç³éë õýâëýãäýõèéã õàðàõ ¼ñòîé. Òåêñò ç°â õàðàãäàõã³é áàéâàë ñàíàà çîâñíû õýðýãã³é; áèä èéìýðõ³³ ç³éëñèéã ñ³³ëä íü çàñàõ áîëíî. 9.3.1.5 Ò³ð õàäãàëàã÷èéã èäýâõæ³³ëýõ íü: /etc/printcap àéë
Ýíý ³åä òàíû õýâëýã÷ çàëãàãäàæ òàíû ö°ì ò³³íòýé õîëáîãäîõîîð òîõèðóóëàãäñàí (õýðýâ øààðäëàãàòàé áîë) á°ã°°ä òà õýâëýã÷ óðóóãàà çàðèì ýíãèéí °ã°ãäëèéã èëãýýæ ÷àääàã áàéíà. Îäîî áèä òàíû õýâëýã÷ óðóó õàíäàõ õàíäàëòûã õÿíàõûí òóëä LPD-ã òîõèðóóëàõàä áýëýí áîëëîî.
221
Chapter 9 Õýâëýëò
Òà /etc/printcap àéëûã çàñâàðëàæ LPD-ã òîõèðóóëíà. LPD ò³ð õàäãàëàã÷ ñèñòåì íü ò³ð õàäãàëàã÷ àøèãëàãäàõ áîëãîíä ýíý àéëûã óíøäàã ó÷èð ýíý àéë óðóó õèéãäñýí øèíý÷ëýë øóóä í°ë°°ë°õ áîëíî. printcap(5) àéëûí õýëáýðøèëò õÿëáàðõàí. /etc/printcap àéëä çàñâàð õèéõäýý °°ðèéí äóðòàé òåêñò çàñâàðëàã÷èéã àøèãëàõ õýðýãòýé. Õýëáýðøèëò íü /usr/share/misc/termcap áîëîí /etc/remote çýðýã áóñàä áîëîìæèéí àéëóóäòàé ò°ñòýé áàéäàã. Õýëáýðøèëòèéí òóõàé á³ðýí ìýäýýëëèéã cgetent(3)-ñ ³çíý ³³. Ýíãèéí ò³ð õàäãàëàã÷èéí òîõèðãîî äàðààõ àëõìóóäààñ òîãòîíî: 1. 2. 3. 4.
5. 6.
Õýâëýã÷èä çîðèóëæ íýð (áîëîí õýäýí òîõèðîìæòîé alias-óóäûã) ñîíãîæ /etc/printcap àéëä õèéæ °ãí°; Íýðëýõ òóõàé äýëãýðýíã³é ìýäýýëëèéã Õýâëýã÷èéã íýðëýõ íü õýñãýýñ ³çíý ³³. sh áîëîìæèéã îðóóëàí òîëãîé õóóäàñíóóäûã áîëèóëàõ õýðýãòýé (àíõäàã÷ààð èäýâõòýé áàéäàã); Äýëãýðýíã³é ìýäýýëëèéã Òîëãîé õóóäàñíóóäûã äàðàõ íü õýñãýýñ ³çíý ³³. Ò³ð õàäãàëàõ ñàíã ³³ñãýæ ò³³íèé áàéðëàëûã sd áîëîìæîîð çààæ °ã°õ õýðýãòýé; Äýëãýðýíã³é ìýäýýëëèéã Ò³ð õàäãàëàõ ñàíã ³³ñãýõ íü õýñãýýñ ³çíý ³³. Õýâëýã÷èä çîðèóëæ àøèãëàõààð /dev îðóóëãûã òîõèðóóëæ lp áîëîìæîîð /etc/printcap àéëä ò³³íèéã òýìäýãëýõ õýðýãòýé; Äýëãýðýíã³é ìýäýýëëèéã Õýâëýã÷èéí ò°õ°°ð°ìæèéã òàíèõ íü õýñãýýñ ³çíý ³³. Õýðýâ õýâëýã÷ öóâàà ïîðò äýýð áàéãàà áîë õîëáîîíû ïàðàìåòð³³äèéã Ò³ð õàäãàëàã÷èéí õîëáîîíû ïàðàìåòð³³äèéã òîõèðóóëàõ íü õýñýãò õýëýëöñýí ms# áîëîìæîîð òîõèðóóëàõ õýðýãòýé. Öýâýð òåêñò îðóóëàõ ø³³ëò³³ðèéã ñóóëãàíà; Äýëãýðýíã³éã Òåêñò ø³³ã÷èéã ñóóëãàõ íü õýñãýýñ ³çíý ³³. lpr(1) òóøààëààð ÿìàð íýã þì õýâëýæ òåñò õèéíý. Èë³³ äýëãýðýíã³éã Òóðøèõ íü áîëîí Àëäààã îëæ çàñâàðëàõ õýñã³³äýýñ ³çíý ³³. Note: PostScript õýâëýã÷èä çýðýã õýëýí äýýð ñóóðèëñàí õýâëýã÷èä öýâýð òåêñòèéã øóóä õýâëýæ ÷àääàãã³é. Äýýð
áîëîí äàðààãèéí õýñã³³äýä òàéëáàðëàñàí ýíãèéí òîõèðãîî íü õýðýâ òà èéì õýâëýã÷ ñóóëãàæ áàéãàà áîë òàíûã ç°âõ°í õýâëýã÷èéí îéëãîäîã àéëûã õýâëýíý ãýæ òîîöäîã.
Õýðýãëýã÷èä íü öýâýð òåêñòèéã òàíû ñèñòåìä ñóóëãàãäñàí äóðûí õýâëýã÷ óðóó °ã÷ õýâëýæ áîëíî ãýæ èõýâ÷ëýí áîääîã. LPD óðóó çàëãàãäñàí ïðîãðàìóóä °°ðñäèéí õýâëýëòèéã õèéõäýý áàñ èíãýæ òîîöäîã. Õýðýâ òà òèéì õýâëýã÷ ñóóëãàæ õýâëýã÷èéí õýë äýýð àæëóóäàà õýâëýõ áîëîí öýâýð òåêñò àæëóóäûã õýâëýæ ÷àääàã áàéõûã õ³ñýæ áàéãàà áîë äýýð äóðäñàí ýíãèéí òîõèðãîîíä íýìýëò àëõàì íýìæ °ã°õ çàéëøã³é øààðäëàãàòàé: öýâýð òåêñòýýñ PostScript óðóó àâòîìàòààð õ°ðâ³³ëýõ ïðîãðàìûã ñóóëãàõ õýðýãòýé. Öýâýð òåêñò àæëóóäûã PostScript õýâëýã÷èä äýýð òààðóóëàõ íü ãýæ íýðëýãäñýí õýñýã ³³íèéã õýðõýí õèéõèéã õýëæ °ãí°. 9.3.1.5.1 Õýâëýã÷èéã íýðëýõ íü
Ýõíèé (õÿëáàð) àëõàì áîë °°ðèéí õýâëýã÷èä çîðèóëæ íýð ñîíãîõ ÿâäàë þì. Àæèëëàãààòàé íü õîëáîãäóóëæ þì óó ýñâýë ýòãýýä ÷àìèí íýð ñîíãîõ íü ÿã ³íýíäýý õàìààã³é þì. Ó÷èð íü òà õýâëýã÷èä çîðèóëæ áàñ õýä õýäýí alias áóþó °°ð íýðñèéã °ã÷ áîëîõ þì. /etc/printcap-ä òîäîðõîéëîãäñîí õýâëýã÷äèéí õàìãèéí áàãààð áîäîõîä àëü íýã lp ãýñýí alias-òàé áàéõ ¼ñòîé. Ýíý íü àíõäàã÷ õýâëýã÷èéí íýð þì. Õýðýâ õýðýãëýã÷äýä PRINTER îð÷íû õóâüñàã÷ áàéõã³é þì óó
222
Chapter 9 Õýâëýëò
ýñâýë LPD òóøààëóóäûã °ã°õ òóøààëûí ì°ð°íä õýâëýã÷èéí íýðèéã çààæ °ã°°ã³é áîë lp íü òýäãýýðèéí àøèãëàæ ñóðñàí àíõäàã÷ õýâëýã÷ áîëîõ þì. Õýâëýã÷èéí õàìãèéí ñ³³ëèéí alias-ä õýâëýã÷èéí á³ðýí òàéëáàðûã ³éëäâýðëýã÷ áîëîí çàãâàðûã îðóóëàí °ã°õ íü íèéòëýã ïðàêòèê áàéäàã. Íýð áîëîí çàðèì íèéòëýã alias-óóäûã ñîíãîñíûõîî äàðàà òýäãýýðèéã /etc/printcap àéëä õèéæ °ã°õ õýðýãòýé. Õýâëýã÷èéí íýð õàìãèéí ç³³í áàãàíààñ ýõëýõ ¼ñòîé. Alias áîëãîíûã áîñîî øóãàìààð òóñãààðëàæ õàìãèéí ñ³³ëèéí alias-èéí àðä òîäîðõîéëîõ öýã òàâüíà. Äàðààõ æèøýýí äýýð õî¼ð õýâëýã÷èéã (Diablo 630 øóãàìûí õýâëýã÷ áîëîí Panasonic KX-P4455 PostScript ëàçåðèéí õýâëýã÷) òîäîðõîéëîõ /etc/printcap àéëààñ áèä ýõëýõ áîëíî: # # /etc/printcap for host rose # rattan|line|diablo|lp|Diablo 630 Line Printer: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
Ýíý æèøýýí äýýð ýõíèé õýâëýã÷ íü rattan ãýæ íýðëýãäñýí á°ã°°ä line, diablo, lp, áîëîí Diablo 630 ãýñýí óóäòàé áàéíà. Ýíý íü lp alias-òàé áîëîõîîð ýíý íü áàñ àíõäàã÷ õýâëýã÷ þì. Õî¼ð äàõü íü ãýæ íýðëýãäñýí á°ã°°ä ps, PS, S, panasonic, áîëîí Panasonic KX-P4455 ãýñýí óóäòàé áàéíà.
aliasLine Printer bamboo PostScript v51.4 alias-
9.3.1.5.2 Òîëãîé õóóäàñíóóäûã äàðàõ íü
LPD ò³ð õàäãàëàõ ñèñòåì íü àæèë á³ðèéí õóâüä àíõäàã÷ààð òîëãîé õóóäàñ õýâëýäýã. Òîëãîé õóóäàñ íü òîì ñàéõàí ³ñãýýð áè÷èãäñýí àæëûã õ³ññýí õýðýãëýã÷èéí íýð, àæèë èðñýí õîñò áîëîí àæëûí íýðèéã àãóóëäàã. Õàðàìñàëòàé íü ýíý á³õ íýìýëò òåêñò íü ýíãèéí õýâëýã÷èéí òîõèðãîîã äèáàã õèéõ çàìä ñààä áîëäîã ó÷èð áèä òîëãîé õóóäàñíóóäûã äàðæ õààõ áîëíî.
Òîëãîé õóóäàñíóóäûã äàðàõûí òóëä /etc/printcap àéë äàõü õýâëýã÷èéí îðóóëãàä sh áîëîìæèéã íýìýõ õýðýãòýé. Ýíä sh íýìñýí /etc/printcap àéëûí æèøýý áàéíà: # # /etc/printcap for host rose - no header pages anywhere # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:
Áèäíèé ç°â õýëáýðøèëò õýðõýí õýðýãëýñíèéã õàðààðàé: ýõíèé ì°ð íü õàìãèéí ç³³í òàëûí áàãàíààñ ýõýëæ äàðàà äàðàà÷èéí ì°ð³³ä íü õîéø çàé àâàãäñàí áàéíà. Îðóóëãà äàõü ñ³³ëèéí ì°ð°°ñ áóñàä ì°ð á³ð óðàãø íàëóó òýìäýãòýýð ò°ãññ°í áàéíà. 9.3.1.5.3 Ò³ð õàäãàëàõ ñàíã ³³ñãýõ íü
Ò³ð õàäãàëàã÷èéí ýíãèéí òîõèðãîîí äàõü äàðààãèéí àëõàì íü õýâëýãäýõ àæëóóä õýâëýãäýõ õ³ðòëýý áàéäàã, ò³ð õàäãàëàã÷èéí áóñàä äýìæëýãèéí àéëóóä áàñ áàéäàã ò³ð õàäãàëàõ ñàí ã ³³ñãýõ ÿâäàë þì.
223
Chapter 9 Õýâëýëò
Ò³ð õàäãàëàõ ñàíãèéí õóâüñàìòãàéãààñ áîëîîä ýäãýýð ñàíãóóäûã /var/spool-ä õèéõ íü çóðøèë áîëñîí ç³éë þì. Ò³ð õàäãàëàõ ñàíãóóäûí àãóóëãûã çààâàë í°°öë°õ ÷ áàñ øààðäëàãàã³é þì. Òýäãýýðèéã ³³ñãýõ íü mkdir(1) òóøààëûã àæèëëóóëàõòàé àäèë õÿëáàð þì. Äîîð ³ç³³ëñýí øèã õýâëýã÷èéí íýðòýé àäèë íýðýýð ñàíã ³³ñãýõ íü áàñ çóðøèë áîëñîí áàéäàã: # mkdir /var/spool/printer-name
ýõäýý òà ñ³ëæýýíäýý èõ îëîí õýâëýã÷èäòýé áîë ò³ð õàäãàëàõ ñàíãóóäàà ç°âõ°í LPD-ýýð õýâëýõèéí òóëä í°°ö°ëñ°í íýã ñàíãèéí äîîð õèéõèéã õ³ñýæ áîëîõ þì. Áèä rattan áîëîí bamboo ãýñýí õî¼ð æèøýý õýâëýã÷äýý çîðèóëæ ³³íèéã õèéõ áîëíî: # mkdir /var/spool/lpd # mkdir /var/spool/lpd/rattan # mkdir /var/spool/lpd/bamboo
Note: Õýðýãëýã÷äèéí õýâëýõ àæëûí íóóöëàëûí òàëààð òà áîäîæ áàéãàà áîë ò³ð õàäãàëàõ ñàíä îëîí íèéò õàíäàõ áîëîìæã³é áîëãîæ ò³³íèéã õàìãààëàõûã õ³ñýæ áîëîõ þì. Ò³ð õàäãàëàõ ñàíãóóäûã daemon õýðýãëýã÷ áîëîí daemon á³ëýã ýçýìøèæ, °°ð õýíýýð ÷ áèø ç°âõ°í ýäãýýðýýð óíøèãäàõ, áè÷èãäýõ, áîëîí õàéëò õèéãäýõ áîëîìæòîé áàéõ ¼ñòîé. Áèä ³³íèéã °°ðñäèéí æèøýý õýâëýã÷äýä çîðèóëæ õèéõ áîëíî: # # # #
chown daemon:daemon /var/spool/lpd/rattan chown daemon:daemon /var/spool/lpd/bamboo chmod 770 /var/spool/lpd/rattan chmod 770 /var/spool/lpd/bamboo
Ò°ãñã°ëä íü òà ýäãýýð ñàíãóóäûí òàëààð LPD ïðîãðàìä /etc/printcap àéë àøèãëàí õýëæ °ã°õ õýðýãòýé. Ò³ð õàäãàëàõ ñàíãèéí çàìûã sd áîëîìæòîé öóã çààæ °ãí°: # # /etc/printcap for host rose - added spooling directories # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:
Õýâëýã÷èéí íýð ýõíèé áàãàíààñ ýõýëæ õàðèí õýâëýã÷èéã òàéëáàðëàõ áóñàä á³õ îðóóëãóóä äîãîë ì°ð°°ñ ýõýëæ ì°ð á³ðèéí ò°ãñã°ë óðàãø íàëóó òýìäýãòýýð ò°ãñ°õ ¼ñòîé. Õýðýâ òà ò³ð õàäãàëàõ ñàíã sd-ýýð çààæ °ã°õã³é áîë ò³ð õàäãàëàõ ñèñòåì íü àíõäàã÷ààð /var/spool/lpd-ã àøèãëàõ áîëíî. 9.3.1.5.4 Õýâëýã÷ ò°õ°°ð°ìæèéã òàíèõ íü
Òîíîã ò°õ°°ð°ìæèéí òîõèðãîî õýñýãò áèä ïîðò áîëîí òîõèðîõ /dev ñàíã FreeBSD íü õýâëýã÷òýé õîëáîãäîõäîî àøèãëàõûã ìýäëýý. Îäîî áèä LPD-ä òýð ìýäýýëëèéã õýëíý. Ò³ð õàäãàëàõ ñèñòåì íü õýâëýõ àæèëòàé áàéãàà ³åäýý ø³³ã÷ ïðîãðàìûí °ìí°°ñ çààñàí ò°õ°°ð°ìæèéã îíãîéëãîõ áîëíî (ø³³ã÷ ïðîãðàì íü °ã°ãäëèéã õýâëýã÷ óðóó äàìæóóëàõûã õàðèóöäàã). lp áîëîìæ àøèãëàí /etc/printcap àéëä /dev îðóóëãûí çàìûã æàãñààæ °ãí°.
224
Chapter 9 Õýâëýëò
Áèäíèé àæèëëàõ æèøýýí äýýð rattan íü ýõíèé çýðýãöýý ïîðò äýýð, bamboo íü çóðãàà äàõü öóâàà ïîðò äýýð áàéãàà ãýæ ³çüå; ýíä /etc/printcap àéëä õèéãäýõ íýìýëò³³ä áàéíà: # # /etc/printcap for host rose - identified what devices to use # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:
Õýðýâ òà °°ðèéí /etc/printcap àéë äýýðýý õýâëýã÷äýý çîðèóëæ lp áîëîìæèéã çààæ °ã°õã³é áîë LPD íü àíõäàã÷ààð /dev/lp-ã àøèãëàõ áîëíî. /dev/lp íü îäîîãîîð FreeBSD äýýð áàéõã³é áàéãàà. Õýðýâ òàíû ñóóëãàæ áàéãàà õýâëýã÷ çýðýãöýý ïîðò óðóó õîëáîãäñîí áîë Òåêñò ø³³ã÷èéã ñóóëãàõ íü õýñýã óðóó àëãàñààðàé. ã³é áîë äàðààãèéí õýñýã äýõ çààâðóóäûã äàãàõàà áèòãèé ìàðòààðàé. 9.3.1.5.5 Ò³ð õàäãàëàã÷èéí õîëáîîíû ïàðàìåòð³³äèéã òîõèðóóëàõ íü
Çýðýãöýý ïîðòóóä äýýðõ õýâëýã÷äèéí õóâüä LPD íü bps õóðä, parity, áîëîí áóñàä öóâàà õîëáîîíû ïàðàìåòð³³äèéã õýâëýã÷ óðóó °ã°ãä°ë èëãýýäýã ø³³ã÷ ïðîãðàìûí °ìí°°ñ òîõèðóóëæ ÷àääàã. Ýíý íü äàâóó òàëóóäòàé, ó÷èð íü: Ýíý íü /etc/printcap àéëûã çàñâàðëàí °°ð õîëáîîíû ïàðàìåòð³³äèéã òóðøèõ áîëîìæèéã òàíä îëãîäîã; òà ø³³ã÷ ïðîãðàìûã äàõèí ýìõýòãýõ øààðäëàãàã³é. • Ýíý íü °°ð °°ð öóâàà õîëáîîíû òîõèðóóëãóóäòàé áàéæ áîëîõ îëîí õýâëýã÷äýä çîðèóëæ íýã ø³³ã÷ ïðîãðàìûã àøèãëàõààð áîëãîæ ò³ð õàäãàëàõ ñèñòåìèéã èäýâõæ³³ëäýã. Äàðààõ /etc/printcap áîëîìæóóä íü lp áîëîìæèä æàãñààãäñàí ò°õ°°ð°ìæèéí öóâàà õîëáîîíû ïàðàìåòð³³äèéã õÿíàäàã:
•
br#bps-rate
Ò°õ°°ð°ìæèéí õîëáîîíû õóðäûã bps-rate áîëãîæ òîõèðóóëàõ á°ã°°ä bps-rate íü ñåêóíäýä 50,
75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, ýñâýë 115200 áèò áàéæ áîëíî. ms#stty-mode
Ò°õ°°ð°ìæèéã îíãîéëãîñíû äàðàà òåðìèíàë ò°õ°°ð°ìæèä çîðèóëæ ñîíãîëòóóäûã òîõèðóóëíà. stty(1) íü áàéæ áîëîõ ñîíãîëòóóäûã òàéëáàðëàäàã. lp áîëîìæîîð çààãäñàí ò°õ°°ð°ìæèéã LPD îíãîéëãîõ ³åä ýíý íü ò°õ°°ð°ìæèéí ³ç³³ëýëò³³äèéã ms# áîëîìæîîð çààãäñàíààð òîõèðóóëäàã. Òóõàéëáàë, stty(1) ãàðûí àâëàãûí õóóäñàíä òàéëáàðëàãäñàí áàéãàà parenb, parodd, cs5, cs6, cs7, cs8, cstopb, crtscts, áîëîí ixon ãîðèìóóä þì. Çóðãàà äàõü öóâàà ïîðò äýýð °°ðñäèéí æèøýý õýâëýã÷ýý íýìüå. Áèä bps õóðäûã 38400 ãýæ òîõèðóóëíà. îðèìûí õóâüä áèä -parenb òîõèðóóëãààð parity áàéõã³é, cs8 òîõèðóóëãààð 8 áèò òýìäýãò³³ä, clocal
225
Chapter 9 Õýâëýëò
òîõèðóóëãààð ìîäåìèéí õÿíàëò áàéõã³é, crtscts òîõèðóóëãààð òîíîã ò°õ°°ð°ìæèéí óðñãàëûí õÿíàëò áàéõã³é ãýæ òîõèðóóëàõ áîëíî: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:
9.3.1.5.6 Òåêñò ø³³ã÷èéã ñóóëãàõ íü
Îäîî áèä õýâëýã÷ óðóó àæëóóä èëãýýõèéí òóëä ÿìàð òåêñòèéí ø³³ã÷èéã àøèãëàõûã LPD-ä õýëýõýä áýëýí áîëëîî. Îðîëòûí ø³³ã÷ ãýæ áàñ íýðëýãääýã Òåêñò ø³³ã÷ íü õýâëýõ àæèë áàéõàä LPD-èéí àæèëëóóëäàã ïðîãðàì þì. LPD íü õýâëýã÷èä çîðèóëæ òåêñò ø³³ã÷èéã àæèëëóóëàõäàà ø³³ã÷èéí ñòàíäàðò îðîëòûã õýâëýõ àæèë óðóó òîõèðóóëæ °ãä°ã á°ã°°ä ñòàíäàðò ãàðàëòûã lp áîëîìæîîð çààãäñàí õýâëýã÷èéí ò°õ°°ð°ìæ óðóó òîõèðóóëäàã. س³ã÷ íü ñòàíäàðò îðîëòîîñ àæëûã óíøèæ õýâëýã÷èä çîðèóëæ øààðäëàãàòàé îð÷óóëãûã õèéæ ³ð ä³íã ñòàíäàðò ãàðàëò óðóó áè÷èõýýð õèéãäñýí áàéäàã. Èíãýñíýýð õýâëýãäýõ áîëíî. Òåêñò ø³³ã÷èéí òóõàé äýëãýðýíã³é ìýäýýëëèéã س³ã÷èä õýñãýýñ ³çíý ³³. Áèäíèé ýíãèéí õýâëýã÷èéí òîõèðãîîíû õóâüä òåêñò ø³³ã÷ íü õýâëýã÷ óðóó àæëûã èëãýýõèéí òóëä /bin/cat òóøààëûã àæèëëóóëàõ æèæèã á³ðõ³³ëèéí ñêðèïò áàéæ áîëîõ þì. FreeBSD íü óñòãàõ áîëîí äîîãóóð çóðàõ çýðýã òýìäýãòèéí óðñãàëóóäòàé ñàéí àæèëëàæ ÷àääàãã³é õýâëýã÷äýä çîðèóëñàí òýäãýýð òýìäýãò³³äèéã çîõèöóóëäàã lpf ãýñýí °°ð ø³³ã÷òýé èðäýã. Òýãýýä ìýäýýæ òà õ³ññýí °°ð áóñàä ø³³ã÷ ïðîãðàìûã àøèãëàæ áîëíî. lpf ø³³ã÷ íü lpf: òåêñòèéí ø³³ã÷ õýñýãò äýëãýðýíã³é òàéëáàðëàãäñàí áàéãàà. Ýõëýýä /usr/local/libexec/if-simple ãýñýí á³ðõ³³ëèéí ñêðèïòèéã ýíãèéí òåêñò ø³³ã÷ áîëãî¼. Ýíý àéëäàà °°ðèéí äóðòàé çàñâàðëàã÷àà àøèãëàí äàðààõ òåêñòèéã îðóóëúÿ: #!/bin/sh # # if-simple - Simple text input filter for lpd # Installed in /usr/local/libexec/if-simple # # Simply copies stdin to stdout. Ignores all filter arguments. /bin/cat && exit 0 exit 2
Ôàéëûã àæèëëàõ áîëîìæòîé áîëãîíî: # chmod 555 /usr/local/libexec/if-simple
/etc/printcap /etc/printcap
àéëä if áîëîìæîîð ³³íèéã çààæ LPD-ä àøèãëàõ ¼ñòîéã íü õýëæ °ãí°. Áèä ³³íèéã æèøýý àéë äàõü îäîîãîîð áèäýíä áàéãàà °°ðñäèéí õî¼ð õýâëýã÷äýý íýìýõ áîëíî:
# # /etc/printcap for host rose - added text filter # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple:
226
Chapter 9 Õýâëýëò bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\ :if=/usr/local/libexec/if-simple:
Note: if-simple
ñêðèïòèéí õóóëáàðûã /usr/share/examples/printing ñàíãààñ îëæ áîëíî.
9.3.1.5.7 LPD-ã èäýâõæ³³ëýõ
lpd(8) íü lpd_enable õóâüñàã÷ààð õÿíàãääàã /etc/rc-ñ àæèëëàäàã. Ýíý õóâüñàã÷èéí àíõäàã÷ óòãà íü NO áàéäàã. Òýãæ õèéãýýã³é áàéãàà áîë òà:
lpd_enable="YES"
ì°ðèéã /etc/rc.conf àéëä íýìæ °°ðèéí ìàøèíûã äàõèí à÷ààëàõ þì óó ýñâýë åðä°° ë lpd(8)-ã àæèëëóóëàõ õýðýãòýé. # lpd
9.3.1.5.8 Òóðøèõ íü
Òà ýíãèéí LPD òîõèðãîîíû ò°ãñã°ëä õ³ðëýý. Õàðàìñàëòàé íü áàÿð õ³ðãýõ àðàé ë áîëîîã³é áàéíà. Ó÷èð íü áèä òîõèðãîîã òåñò õèéæ àñóóäàë áàéâàë çàñâàðëàõ õýðýãòýé õýâýýð áàéãàà áèëýý. Òîõèðãîîã òåñò õèéõèéí òóëä ÿìàð íýãýí þì õýâëýõèéã îðîëäîæ ³çýýðýé. LPD ñèñòåìýýð õýâëýõèéí òóëä àæëûã õýâëýõýýð èëãýýäýã lpr(1) òóøààëûã àøèãëàíà. Òà lpr(1)-ã Õýâëýã÷èéí õîëáîîã øàëãàõ íü õýñýãò òàíèëöóóëñàí lptest(1) ïðîãðàìòàé öóã õàìòàòãàí ÿìàð íýã òåñò òåêñò ³³ñãýõèéí òóëä àøèãëàæ áîëíî. Ýíãèéí LPD òîõèðãîîã òåñò õèéõèéí òóëä: Äîîð äóðäñàíûã áè÷íý: # lptest 20 5 | lpr -Pprinter-name
Ýíä áàéãàà printer-name íü /etc/printcap àéëä çààãäñàí õýâëýã÷èéí íýð (ýñâýë alias) þì. Àíõäàã÷ õýâëýã÷èéã òåñò õèéõèéí òóëä lpr(1)-ã ÿìàð íýãýí -P íýìýëò °ã°ãä°ëã³éãýýð áè÷èõ õýðýãòýé. Äàõèí õýëýõýä PostScript-ã õ³ëýýæ áàéäàã õýâëýã÷èéã òåñò õèéæ áàéãàà áîë lptest(1)-ã àøèãëàõûí îðîíä PostScript ïðîãðàìûã òýð õýë äýýð íü èëãýýõ õýðýãòýé. Èíãýõèéí òóëä òà ïðîãðàìûã àéëä õèéæ lpr file ãýæ áè÷èæ áîëíî. PostScript õýâëýã÷èéí õóâüä òà ïðîãðàìûí ³ð ä³íã àâàõ ¼ñòîé. Õýðýâ òà lptest(1)-ã àøèãëàæ áàéãàà áîë òàíû àâñàí ³ð ä³í èéìýðõ³³ õàðàãäàõ ¼ñòîé: !"#$%&’()*+,-./01234 "#$%&’()*+,-./012345 #$%&’()*+,-./0123456 $%&’()*+,-./01234567 %&’()*+,-./012345678
227
Chapter 9 Õýâëýëò
Õýâëýã÷èéã öààø òåñò õèéõèéí òóëä èë³³ òîì ïðîãðàìóóäûã (õýëýí äýýð ñóóðèëñàí õýâëýã÷äèéí õóâüä) òàòàæ àâàõ þì óó ýñâýë lptest(1)-ã °°ð íýìýëò °ã°ãäë³³äòýé àæèëëóóëæ ³çýýðýé. Æèøýý íü lptest 80 60 òóøààë íü ì°ð á³ðòýý 80 òýìäýãòòýé 60 ì°ðèéã ³³ñãýõ áîëíî. Õýðýâ õýâëýã÷ àæèëëààã³é áîë Àëäààã îëæ çàñâàðëàõ õýñãèéã ³çíý ³³.
9.4
Õýâëýã÷èéí èë³³ íàðèéí òîõèðãîî
Ýíý õýñýãò îíöãîé çàãâàð÷ëàãäñàí àéëûã ø³³ã÷èä, õóóäàñíû òîëãîé õýñýã, ñ³ëæýýãýýð õýâëýõ ì°í õýâëýã÷èéã õýðýãëýõ ýðõ áîëîí õÿçãààðëàëò ãýñýí ç³éë³³äèéí òóõàé çààâàðëàõ áîëíî. 9.4.1
س³ëò³³ð³³ä
Õýäèéãýýð LPD íü ñ³ëæýýíèé ïðîòîêîë, äàðààëàë, õàíäàëòûí õÿíàëò ãýõ ìýò÷èëýí õýâëýëòèéí àñóóäëóóäûã õàðèóöäàã ÷ æèíõýíý àæëûã íü ø³³ëò³³ð³³ä õèéäýã. س³ëò³³ð³³ä íü òóñãàé ïðîãðàìóóä á°ã°°ä õýâëýã÷èéí ò°õ°°ð°ìæ³³ä áîëîí îíöãîé øààðäëàãóóäûã íü õàðèóöàæ áàéäàã. Áèä õàìãèéí ýíãèéí ñóóëãàö õèéõ ³åä èõ àìàðõàí á°ã°°ä áàðàã á³õ õýâëýã÷èä òîõèðäîã òåêñò ø³³ëò³³ð ñóóëãàñàí áèëýý. (Òåêñò ø³³ëò³³ð ñóóëãàõ íü õýñýãò). Õýâëýõ ò°ðëèéí õóâèðãàëò, õýâëýã÷èéí îíöãîé øèíæ ÷àíàð çýðýã äàâóó ÷àíàðóóäûã íü õýðýãëýõèéí òóëä òàíä ø³³ëò³³ðèéã ç°â îéëãîõ øààðäëàãà ãàðíà. Èéì àæëóóäûã ç°âõ°í ø³³ëò³³ð õèéäýã. Òýãýýä ìóó ìýäýý íü þó âý ãýõýýð òýäãýýð á³ãäèéã òà òîäîðõîéëæ °ã°õ ¼ñòîé. Ñàéí ìýäýý íü þó âý ãýõýýð òýäãýýðèéí èõýíõ íü áîëîìæòîé áýëýí áàéäàã á°ã°°ä õýðýâ áè÷èõýýð áîë òóí àìàðõàí áè÷èãääýã þì. Ì°í ò³³í÷ëýí FreeBSD /usr/libexec/lpr/lpf ãýäýã íýðòýé, áàðàã á³õ õýâëýã÷èä åðäèéí òåêñò õýâëýæ ÷àääàã ø³³ëò³³ðòýé èðäýã. (ýíý íü àéë äîòîð áàéãàà çàé áîëîí òîì çàé àâàëòóóäûã òàíüäàã á°ã°°ä ì°í ýðõ ³³ñãýõ ãýýä ò³³íèé ÷àääàã á³õ ç³éë íü ³³ãýýð äóóñäàã) FreeBSD-í ïîðòûí öóãëóóëãà äîòîð õýä õýäýí ø³³ëò³³ð áîëîí ø³³ëò³³ðèéí á³ðäýë õýñã³³ä áàéäàã. Ýíý õýñýãò òàíä òàíèëöóóëàõ ç³éëñ³³äèéã õàðóóëúÿ: •
•
•
س³ëò³³ð õýðõýí àæèëëàäàã âý õýñýãò õýâëýõ ÿâöàä ø³³ëò³³ð ÿìàð ³³ðýã ã³éöýòãýäýã òàëààð òàéëáàðëàõûã îðîëäîõ áîëíî. LPD õýâëýõ ³åäýý ø³³ëò³³ðèéã “õ°øèãíèé öààíà” õýðõýí àøèãëàäàã òàëààð òà ýíä îéëãîõ áîëíî. ³íèéã ìýäñýíýýð õýðýâ °°ð ³åä òà îëîí ø³³ëò³³ð ñóóëãàõ ³åä õ³íäðýë ãàðâàë äàâàí òóóëàõàä òàíü õýðýã áîëíî. LPD íü õýâëýã÷ á³ðèéã àíõíû òîõèðóóëãààðàà åðäèéí òåêñòèéã õýâëýæ ÷àäíà ãýæ àâ÷ ³çäýã. Ýíý íü åðäèéí òåêñòèéã øóóä õýâëýæ ÷àääàãã³é PostScript õýâëýã÷èä (ýñâýë áóñàä ïðîãðàìûí õýë äýýð ³íäýñëýñýí õýâëýã÷èä ) äýýð õ³íäðýë ãàðãàäàã. PostScript õýâëýã÷èä äýýð åðäèéí òåêñò õýâëýäýã áîëîõ õýñýãò èéìýðõ³³ õ³íäðýëèéã äàâàí òóóëàõ òàëààð õýëýõ áîëíî. Õýðýâ òàíä PostScript õýâëýã÷ áàéäàã áîë ýíý õýñãèéã óíøààðàé. PostScript íü ìàø îëîí ïðîãðàìûí ãàðàëò áîëæ áàéäàã. Òýð á³³ õýë çàðèì õ³ì³³ñ øóóä PostScript áè÷èæ ÷àääàã. Õàðàìñàëòàé íü PostScript õýâëýã÷ íàð ³íýòýé. PostScript áèø ò°ðëèéí õýâëýã÷èéã PostScript ìýò õýðýãëýõ õýñýãò òàíä PostScript °ã°ãäëèéã PostScript áèø ò°ðëèéí õýâëýã÷ äýýð õýâëýæ áîëäîã òàëààð çààâàðëàõ áîëíî. Õýðýâ òàíä PostScript õýâëýã÷ áàéõã³é áîë ýíý õýñãèéã òà óíøààðàé.
228
Chapter 9 Õýâëýëò •
•
•
Õóâèðãàã÷ ø³³ëò³³ð³³ä õýñýã òàíä îíöãîé ò°ðëèéí àéëóóä áîëîõ ãðàèê ýñâýë °°ð ò°ðëèéí áè÷èãëýëòýé àéëóóäûã õýðõýí òàíû õýâëýã÷èéí îéëãîäîã ò°ð°ë ð³³ õóâèðãàæ õýâëýõ òàëààð °ã³³ëýõ áîëíî. Ýíý õýñãèéã óíøñàíû äàðàà, òà æèøýý íü õýðýãëýã÷èä lpr -t òóøààë °ã°í troff °ã°ãä°ë õýâëýõ ýñâýë lpr -d òóøààë °ã°í TEX DVI °ã°ãä°ë õýâëýõ ýñâýë lpr -v òóøààë °ã°í çóðàã ò°ðëèéí àéë õýâëýõ çýðýã ç³éë³³äèéã ìýäýõ áîëíî. Ýíý õýñãèéã çààâàë óíøèõ õýðýãòýé ãýæ òàíä ç°âë°æ áàéíà. àðàëòûí ø³³ëò³³ð õýñýã íü LPD-í íýã èõ õýðýãëýãääýã øèíæ ÷àíàðóóä áîëîõ ãàðàëòûí ø³³ëò³³ð³³äèéí òóõàé °ã³³ëýõ áîëíî: Òà õóóäàñíû òîëãîé õýñãèéã õýâëýæ áîëæ ë áàéâàë (Õóóäàñíû òîëãîé õýñýã õýñýãò õàðíà óó) ýíý õýñãèéã òà àëãàñàæ áîëíî. lpf: òåêñò ø³³ëò³³ð õýñýãò FreeBSD-òýé õàìò íýëýýí ò°ãñ àæèëëàãààòàé ì°ð°°ð íü õýâëýäýã (ëàçåð õýâëýã÷ íàð ì°ð ì°ð°°ð íü õýâëýäýã òóóçàí õýâëýã÷ øèã àæèëëàäàã) lpf òåêñò ø³³ëò³³ðèéí òóõàé °ã³³ëýõ áîëíî. Õýðýâ òà õýâëýã÷èéíõýý ýðõèéã ò³ðãýí áýëýí áîëãîõ ýñâýë òàíû õýâëýã÷ õîîñîí çàéã óòàà áàéíà ãýæ õ³ëýýæ àâààä áàéâàë òà ÿàõ àðãàã³é lpf-òýé àæèëëàõ õýðýã ãàðíà. Note: Äîîðõ õýñýãò õàðóóëàõ ÿíç á³ðèéí ñêðèïòèéí õóóëáàðûã /usr/share/examples/printing ñàíãààñ îëæ áîëíî.
9.4.1.1 س³ëò³³ð õýðõýí àæèëëàäàã âý
ìí° äóðäñàíààð ø³³ëò³³ð íü õýâëýã÷òýé õîëáîãäîõ ò°õ°°ð°ìæ°°ñ ÷°ë°°òýé õýñãèéã çîõèöóóëàõ LPD-ýýð ýõë³³ëýãäýí àæèëëàäàã ïðîãðàì þì. Àæèë äàõü àéëûã LPD õýâëýõèéã õ³ñýõäýý ø³³ëò³³ð ïðîãðàìûã ýõë³³ëäýã. Ýíý íü ø³³ëò³³ðèéí ñòàíäàðò îðîëòûã õýâëýõ àéë óðóó, °°ðèéí ñòàíäàðò ãàðàëòûã õýâëýã÷ óðóó, °°ðèéí ñòàíäàðò àëäààã àëäàà á³ðòãýõ àéë (/etc/printcap àéë äàõü lf áîëîìæèä ýñâýë àíõäàã÷ààð /dev/console) óðóó òîõèðóóëäàã. LPD àëü ø³³ëò³³ðèéã ýõë³³ëýõ áîëîí /etc/printcap àéëä þó áàéãàà áîëîí lpr(1) òóøààëûí ì°ð äýõ àæèëä çîðèóëæ õýðýãëýã÷ ÿìàð íýìýëò °ã°ãäë³³ä çààñíààñ ø³³ëò³³ðèéí íýìýëò °ã°ãäë³³ä õàìààðäàã. Æèøýý íü õýðýâ õýðýãëýã÷ lpr -t òóøààë áè÷ñýí áîë LPD íü õ³ðýõ õýâëýã÷èéí tf áîëîìæèä æàãñààãäñàí troff ø³³ëò³³ðèéã ýõë³³ëýõ áîëíî. Õýðýâ õýðýãëýã÷ öýâýð òåêñòèéã õýâëýõèéã õ³ññýí áîë ýíý íü if ø³³ëò³³ðèéã ýõë³³ëýõ áàéñàí (ýíý íü áàðàã ë ³íýí þì: äýëãýðýíã³éã àðàëòûí ø³³ëò³³ð³³ä õýñãýýñ ³çíý ³³). /etc/printcap àéëä çààæ °ã÷ áîëîõ ãóðâàí ò°ðëèéí ø³³ëò³³ð áàéäàã: •
òåêñò ø³³ëò³³ð áóþó îðîëòûí ø³³ëò³³ð ãýæ LPD áàðèìòàä òîëãîé ýðã³³ëìýýð íýðëýãäñýí ø³³ëò³³ð íü åðäèéí òåêñò õýâëýëòèéã çîõèöóóëäàã. ³íèéã àíõäàã÷ ø³³ëò³³ð ãýæ áîäîõ õýðýãòýé. LPD íü õýâëýã÷ á³ðèéã öýâýð òåêñòèéã àíõäàã÷ààð õýâëýæ ÷àääàã ãýæ òîîöäîã á°ã°°ä óñòãàõ òýìäýãò³³ä, tab-óóä ýñâýë áóñàä òóñãàé òýìäýãò³³ä õýâëýã÷èéã áóäëèóëàõã³é áàéëãàõàä ñàíàà òàâèõ íü òåêñò ø³³ëò³³ðèéí àæèë þì. Õýðýâ òà õýâëýã÷èéí õýðýãëýýíèé õóâüä á³ðòãýëòýé òèéì îð÷èíä áàéãàà áîë òåêñò ø³³ëò³³ð íü õýâëýãäñýí ì°ð³³äèéí òîîã òîîëæ òýð òîîãîî õýâëýã÷èéí äýìæäýã íýã õóóäñàí äàõü ì°ðèéí òîîòîé æèøèæ õýâëýñýí õóóäàñíóóäûã áàñ á³ðòãýõ ¼ñòîé. Òåêñò ø³³ëò³³ðèéã äàðààõ íýìýëò °ã°ãäëèéí æàãñààëòòàé ýõë³³ëäýã: filter-name [-c] -w width -l length -i indent -n login -h host acct-file
ýíä áàéãàà
229
Chapter 9 Õýâëýëò -c
íü àæèë lpr
-l
òóøààëààð èëãýýãäñýí áîë ãàð÷ èðíý
width
íü /etc/printcap àéëä çààãäñàí pw (õóóäàñíû °ðã°í) áîëîìæèéí óòãà þì. Àíõäàã÷ààð 132 áàéíà length
íü pl (õóóäàñíû óðò) áîëîìæèéí óòãà á°ã°°ä àíõäàã÷ààð 66 áàéíà indent
íü lpr
-i
òóøààëààñ °ã°ãä°õ äîãîë ì°ðíèé õýìæýý þì. Àíõäàã÷ààð 0 áàéíà
login
íü àéëûã õýâëýæ áàéãàà õýðýãëýã÷èéí á³ðòãýë þì host
íü àæëûã èëãýýñýí õîñòûí íýð þì acct-file
íü af áîëîìæèéí á³ðòãýëèéí àéëûí íýð þì. •
Õóâèðãàõ ø³³ëò³³ð íü òóñãàé àéëûí õýëáýðøèëòèéã õýâëýã÷èéí öààñàí äýýð àìèëóóëæ ÷àäàõ õýëáýðøèëò óðóó õóâèðãàäàã. Æèøýý íü ditroff ìàÿã õèéãäñýí °ã°ãäëèéã øóóä õýâëýæ áîëäîãã³é áîëîâ÷ ditroff °ã°ãäëèéã õýâëýã÷èéí îéëãîæ õýâëýõ õýëáýð óðóó õóâèðãàõ ditroff àéëóóäàä çîðèóëñàí õóâèðãàõ ø³³ëò³³ðèéã òà ñóóëãàæ áîëîõ þì. Òýäãýýðèéí òàëààð á³ãäèéã Õóâèðãàõ ø³³ëò³³ð³³ä õýñýã õýëæ °ãä°ã. Õýðýâ òàíä õýâëýã÷èéí á³ðòãýë õèéëò õýðýãòýé áîë õóâèðãàõ ø³³ëò³³ð³³ä áàñ á³ðòãýë õèéõ õýðýãòýé áîëíî. Õóâèðãàõ ø³³ëò³³ð³³äèéã äàðààõ íýìýëò °ã°ãäë³³äòýé ýõë³³ëäýã: filter-name -x pixel-width -y pixel-height -n login -h host acct-file
•
ýíä áàéãàà pixel-width íü px áîëîìæèéí óòãà (àíõäàã÷ààð 0) á°ã°°ä pixel-height íü py áîëîìæèéí óòãà þì (àíõäàã÷ààð 0). àðàëòûí ø³³ëò³³ð íü ø³³õ òåêñò áàéõã³é áàéõ þì óó ýñâýë òîëãîé õóóäàñíóóä èäýâõòýé áàéõ òîõèîëäîëä ç°âõ°í àøèãëàãääàã. Áèäíèé òóðøëàãà äýýðýýñ õàðàõàä ãàðàëòûí ø³³ëò³³ð³³ä õîâîð àøèãëàãääàã. àðàëòûí ø³³ëò³³ð³³ä õýñýã òýäãýýðèéã òàéëáàðëàäàã. àðàëòûí ø³³ëò³³ðò ç°âõ°í õî¼ð íýìýëò °ã°ãä°ë áàéäàã: filter-name -w width -l length
ýäãýýð íü òåêñò ø³³ëò³³ðèéí -w áîëîí -l íýìýëò °ã°ãäë³³äòýé àäèë þì. س³ëò³³ð³³ä íü áàñ äàðààõ ãàðàõ ò°ë°âòýéã°°ð ãàðàõ ¼ñòîé: exit 0
س³ëò³³ð àéëûã àìæèëòòàé õýâëýñýí òîõèîëäîëä.
230
Chapter 9 Õýâëýëò exit 1
س³ëò³³ð àéëûã õýâëýæ ÷àäààã³é áîëîâ÷ LPD-ãýýð àéëûã äàõèí õýâë³³ëýõýýð îðîëäîõûã õ³ññýí. LPD íü ø³³ëò³³ð ýíý ò°ë°âòýé ãàðñàí áîë ò³³íèéã äàõèí ýõë³³ëýõ áîëíî. exit 2
س³ëò³³ð àéëûã õýâëýæ ÷àäààã³é á°ã°°ä LPD-ãýýð àéëûã äàõèí õýâë³³ëýõèéã õ³ñýýã³é.
LPD-íü àéëûã ãàðãàæ õàÿõ áîëíî.
FreeBSD õóâèëáàðòàé öóã èðäýã òåêñò ø³³ëò³³ð /usr/libexec/lpr/lpf íü õóóäàñíû °ðã°í áîëîí óðòûí íýìýëò °ã°ãäë³³äèéã àøèãëàí õýçýý form feed èëãýýõ áîëîí õýâëýã÷èéí õýðýãëýýã õýðõýí á³ðòãýõèéã òîäîðõîéëäîã. Ýíý íü á³ðòãýëèéí îðóóëãóóäûã áè÷èõèéí òóëä íýâòðýëò, õîñò áîëîí àéëûí íýìýëò °ã°ãäë³³äèéí á³ðòãýë õèéëòèéã àøèãëàäàã.
Õýðýâ òà ø³³ëò³³ð õóäàëäàæ àâàõûã õ³ñýæ áàéãàà áîë òýäãýýð íü LPD-òýé íèéöòýé ýñýõèéã íü ³çýýðýé. Õýðýâ òèéì áîë òýäãýýð íü äýýð òàéëáàðëàñàí íýìýëò °ã°ãäëèéí æàãñààëòóóäûã äýìæèõ ¼ñòîé. Òà åðäèéí õýðýãëýýíä çîðèóëæ ø³³ëò³³ð³³ä áè÷èõ ò°ë°âë°ã°°òýé áàéãàà áîë äýýðõ íýìýëò °ã°ãäëèéí æàãñààëò áîëîí ãàðàõ êîäóóäûã äýìæäýãýýð òýäãýýðèéã õèéãýýðýé. 9.4.1.2 PostScript® õýâëýã÷èä äýýð öýâýð òåêñò àæëóóäûã òààðóóëàõ íü
Òà °°ðèéí êîìïüþòåð áîëîí PostScript (ýñâýë áóñàä õýëýí äýýð ñóóðèëñàí) õýâëýã÷èéíõýý ç°âõ°í öîðûí ãàíö õýðýãëýã÷ á°ã°°ä °°ðèéí õýâëýã÷ óðóóãàà öýâýð òåêñòèéã õýçýý ÷ èëãýýõã³é, òàíû õýâëýã÷ óðóó öýâýð òåêñòèéã èëãýýõèéã õ³ñäýã ò°ð°ë á³ðèéí ïðîãðàìóóäûí áîëîìæóóäûã õýçýý ÷ àøèãëàõã³é ãýæ àìëàõ þì áîë òà ýíý õýñãèéí òàëààð ñàíàà åð°°ñ°° çîâîõ õýðýãã³é þì. ýõäýý òà PostScript áîëîí öýâýð òåêñò àæëóóäûã õýâëýã÷ óðóó èëãýýõèéã õ³ñýæ áàéãàà áîë °°ðèéí õýâëýã÷èéí òîõèðãîîã íýí äàðóé íýìýõ õýðýãòýé þì. Èíãýõèéí òóëä èðæ áàéãàà àæèë öýâýð òåêñò ³³ ýñâýë PostScript ³³ ãýäãèéã èëð³³ëýõ òåêñò ø³³ëò³³ðòýé áàéíà. Á³õ PostScript àæëóóä %!-ààð (áóñàä õýâëýã÷èéí õýëí³³äèéí õóâüä °°ðèéí õýâëýã÷èéí áàðèìòûã ³çíý ³³) ýõëýõ ¼ñòîé. Õýðýâ òýäãýýð íü àæèë äàõü ýõíèé õî¼ð òýìäýãò áàéãàà áîë áèä PostScript-èéã àøèãëàæ àæëûí ³ëäñýí õýñãèéã øóóä äàìæóóëæ áîëíî. Õýðýâ òýäãýýð íü àéë äàõü ýõíèé õî¼ð òýìäýãò áèø áîë ø³³ëò³³ð òåêñòèéã PostScript óðóó õóâèðãàæ ³ð ä³íã õýâëýõ áîëíî. ³íèéã áèä õýðõýí õèéõ âý? Õýðýâ òàíä öóâàà õýâëýã÷ áàéãàà áîë ³³íèéã õèéõ àãóó àðãà íü lprps-ã ñóóëãàõ ÿâäàë þì. lprps íü õýâëýã÷òýé õî¼ð òàëûí õîëáîîã õèéäýã PostScript õýâëýã÷èéí ø³³ëò³³ð þì. Ýíý íü õýâëýã÷èéí ò°ëâèéí àéëûã õýâëýã÷èéí äýëãýðýíã³é ìýäýýëëýýð øèíý÷èëäýã. Èíãýñíýýð õýðýãëýã÷èä áîëîí àäìèíèñòðàòîðóóä õýâëýã÷èéí ò°ë°âèéã ÿã ÿìàð áàéãààã (“toner low” ýñâýë “paper jam” ãýõ çýðýã) õàðàõ áîëîìæòîé áîëîõ þì. ýõäýý èë³³ ÷óõàë ç³éë áîë ýíý íü èðæ áàéãàà àæëûã öýâýð òåêñò ýñýõèéã èëð³³ëæ PostScript óðóó õ°ðâ³³ëýõ textps (lprps-òýé öóã èðäýã °°ð ïðîãðàì) òóøààëûã äóóääàã psif ãýãääýã ïðîãðàìûã àãóóëäàã ÿâäàë þì. Äàðàà íü õýâëýã÷ óðóó àæëûã èëãýýõèéí òóëä lprps òóøààëûã ýíý íü àøèãëàäàã. lprps íü FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéäàã (Ïîðòûí öóãëóóëãà á³ëãèéã ³çíý ³³). Àøèãëàõ öààñíû õýìæýýíèé äàãóó print/lprps-a4 áîëîí print/lprps-letter ïîðòûí àëü íýãèéã ñóóëãàæ òà áîëíî. lprps-ã ñóóëãàñíû äàðàà lprps-èéí õýñýã áîëîõ psif ïðîãðàìä çàìûã çààæ °ã°õ õýðýãòýé. Õýðýâ òà lprps-ã ïîðòûí öóãëóóëãààñ ñóóëãàñàí áîë äîîð äóðäñàíûã /etc/printcap àéë äàõü öóâàà PostScript õýâëýã÷èéí îðóóëãàä àøèãëàõ õýðýãòýé: :if=/usr/local/libexec/psif:
231
Chapter 9 Õýâëýëò LPD-ä õýâëýã÷èéã óíøèõ-áè÷èõ ãîðèìîîð îíãîéëãîõ áîëîìæ îëãîõûí òóëä rw áîëîìæ íü áàñ îðñîí áàéõ øààðäëàãàòàé. Õýðýâ òàíä çýðýãöýý PostScript õýâëýã÷ áàéãàà (á°ã°°ä òèéìýýñ lprps-ä õýðýãòýé õî¼ð òàëûí õîëáîîã õýâëýã÷òýé öóã àøèãëàæ ÷àäàõã³é áàéãàà) áîë òà äàðààõ á³ðõ³³ëèéí ñêðèïòèéã òåêñò ø³³ëò³³ð ìàÿãààð àøèãëàæ áîëíî: #!/bin/sh # # psif - Print PostScript or plain text on a PostScript printer # Script version; NOT the version that comes with lprps # Installed in /usr/local/libexec/psif # IFS="" read -r first_line first_two_chars=‘expr "$first_line" : ’\(..\)’‘ if [ "$first_two_chars" = "%!" ]; then # # PostScript job, print it. # echo "$first_line" && cat && printf "\004" && exit 0 exit 2 else # # Plain text, convert it, then print it. # ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 exit 2 fi
Äýýðõ ñêðèïò äýýð áàéãàà textps íü öýâýð òåêñòèéã PostScript óðóó õóâèðãàõààð áèäíèé òóñäàà ñóóëãàñàí ïðîãðàì þì. Òà äóðûí òåêñòýýñ-PostScript óðóó õóâèðãàäàã õ³ññýí ïðîãðàìàà àøèãëàæ áîëíî. FreeBSD-èéí ïîðòûí öóãëóóëãà (Ïîðòûí öóãëóóëãà á³ëãèéã ³çíý ³³) íü °ðã°í áîëîìæòîé òåêñòýýñ-PostScript óðóó õóâèðãàäàã a2ps ãýãääýã ïðîãðàìûã àãóóëäàã á°ã°°ä òà ìàãàäã³é ³³íèéã ñóäëàõûã õ³ñýæ áîëîõ þì. 9.4.1.3 PostScript áèø õýâëýã÷èä äýýð PostScript ä³ð ³ç³³ëýõ
PostScript íü °íä°ð ÷àíàðûí ìàÿã òîõèðóóëàëò áîëîí õýâëýëòýä çîðèóëàãäñàí àëáàí ¼ñíû ñòàíäàðò þì. PostScript íü ãýõäýý ³íýòýé ñòàíäàðò þì. Aladdin Enterprises-èéí à÷ààð õàðèí ÷°ë°°òýé PostScript-òýé ò°ñòýé, FreeBSD äýýð àæèëëàäàã Ghostscript ãýãääýã ïðîãðàì áàéäàã. Ghostscript íü èõýíõ PostScript àéëóóäûã óíøèæ ÷àääàã á°ã°°ä òýäãýýðèéí õóóäàñíóóäûã PostScript áèø õýâëýã÷äèéí îëîí çàãâàðóóäûã îðîëöóóëààä ò°ð°ë á³ðèéí ò°õ°°ð°ìæ³³ä ð³³ àìèëóóëæ ÷àääàã. Ghostscript-ã ñóóëãàæ °°ðèéí õýâëýã÷èéí õóâüä òóñãàé òåêñòèéí ø³³ëò³³ðèéã àøèãëàí òà °°ðèéí PostScript áèø õýâëýã÷èéã æèíõýíý PostScript õýâëýã÷ øèãýýð àæèëëóóëàõ áîëîìæòîé áàéäàã.
Ghostscript íü FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéäàã. Îëîí õóâèëáàð áàéäàã á°ã°°ä õàìãèéí èõýýð àøèãëàãääàã õóâèëáàð íü print/ghostscript-gpl þì.
232
Chapter 9 Õýâëýëò PostScript øèã ä³ð ³ç³³ëýõèéí òóëä PostScript àéë õýâëýæ áàéíà óó ãýäãèéã èëð³³ëýõ òåêñò ø³³ëò³³ð áèäýíä áàéíà. Õýðýâ ýíý íü òèéì áèø áîë ø³³ëò³³ð íü àéëûã õýâëýã÷ óðóó øóóä äàìæóóëíà; ³ã³é áîë ýíý íü àéëûã õýâëýã÷èéí îéëãîäîã õýëáýð óðóó ýõëýýä õóâèðãàõ Ghostscript-ã àøèãëàõ áîëíî.
Ýíä æèøýý áàéíà: äàðààõ ñêðèïò íü Hewlett Packard DeskJet 500 õýâëýã÷äýä çîðèóëñàí òåêñò ø³³ëò³³ð þì. Áóñàä õýâëýã÷äèéí õóâüä -sDEVICE íýìýëò °ã°ãäëèéã ñîëüæ gs (Ghostscript) òóøààë óðóó °ã°õ õýðýãòýé. (Ghostscript-èéí òóõàéí ³åèéí ñóóëãàöûí äýìæäýã ò°õ°°ð°ìæ³³äèéí æàãñààëòûã àâàõûí òóëä gs -h ãýæ áè÷èõ õýðýãòýé.) #!/bin/sh # # ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500 # Installed in /usr/local/libexec/ifhp # # Treat LF as CR+LF (to avoid the "staircase effect" on HP/PCL # printers): # printf "\033&k2G" || exit 2 # # Read first two characters of the file # IFS="" read -r first_line first_two_chars=‘expr "$first_line" : ’\(..\)’‘ if [ "$first_two_chars" = "%!" ]; then # # It is PostScript; use Ghostscript to scan-convert and print it. # /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \ -sOutputFile=- - && exit 0 else # # Plain text or HP/PCL, so just print it directly; print a form feed # at the end to eject the last page. # echo "$first_line" && cat && printf "\033&l0H" && exit 0 fi exit 2
Ò°ãñã°ëä íü òà ø³³ëò³³ðèéí LPD-ä if áîëîìæèéí òóñëàìæòàé ìýäýãäýõ õýðýãòýé: :if=/usr/local/libexec/ifhp:
Èíãýýä ë áîëëîî. Òà lpr plain.text áîëîí lpr àìæèëòòàéãààð õýâëýãäýõ áîëíî.
whatever.ps
ãýæ áè÷èæ áîëîõ á°ã°°ä õîþóëàà
233
Chapter 9 Õýâëýëò 9.4.1.4 Õóâèðãàõ ø³³ëò³³ð³³ä
Õýâëýã÷èéí ýíãèéí òîõèðãîî õýñýãò òàéëáàðëàñàí ýíãèéí òîõèðãîîã äóóñãàñíû äàðàà ìàãàäã³é òàíû õàìãèéí ýõýíä õèéõèéã õ³ññýí ç³éë ÷èíü °°ðèéí äóðòàé àéëûí õýëáýðøèëò³³äýä (öýâýð ASCII òåêñòýýñ ãàäíà) çîðèóëæ õóâèðãàõ ø³³ëò³³ð³³äèéã ñóóëãàõ ÿâäàë áàéæ áîëîõ þì. 9.4.1.4.1 Õóâèðãàõ ø³³ëò³³ð³³äèéã ÿàãààä ñóóëãàõ ¼ñòîé âý?
Õóâèðãàõ ø³³ëò³³ð³³ä íü ò°ð°ë á³ðèéí àéëóóäûã õýâëýõýä àìàð áîëãîäîã. Æèøýý íü áèä TEX õýâ ìàÿã òîõèðóóëàõ ñèñòåìòýé èõ àæèëëàäàã á°ã°°ä áèäýíä PostScript õýâëýã÷ áàéíà ãýæ áîäú¼. TEX-ýýñ DVI àéëûã ³³ñãýõ áîëãîíä áèä DVI àéëûã PostScript óðóó õóâèðãàëã³éãýýð øóóä õýâëýæ ÷àäàõã³é. Òóøààëûí äàðààëàë èéìýðõ³³ õèéãäýíý: % dvips seaweed-analysis.dvi % lpr seaweed-analysis.ps
DVI àéëóóäàä çîðèóëñàí õóâèðãàõ ø³³ëò³³ðèéã ñóóëãàæ LPD-ýýð °°ðñ°ää°° çîðèóëàí õèéëãýæ áèä ãàðààð õóâèðãàõ àëõìûã àëãàñàæ áîëíî. Îäîî, DVI àéëûã àâàõ áîëãîíä áèäýíä õýâëýõýä íýã àëõàì äóòóó áàéõ áîëíî: % lpr -d
seaweed-analysis.dvi
Áèäýíä çîðèóëæ DVI àéëûí õóâèðãàëòûã õèéõ LPD ïðîãðàìä -d òîõèðóóëãûã çààæ °ãí°. Õýëáýðø³³ëýõ áîëîí õóâèðãàõ òîõèðóóëãóóä õýñýã õóâèðãàõ òîõèðóóëãóóäûã æàãñààñàí áàéãàà. Òàíû õ³ñýõ õýâëýã÷èéí äýìæèõ õóâèðãàõ òîõèðóóëãà á³ðò çîðèóëæ õóâèðãàõ ø³³ëò³³ð ñóóëãàæ ò³³íèé çàìûã /etc/printcap àéëä çààæ °ãí°. Õóâèðãàõ ø³³ëò³³ð íü ýíãèéí õýâëýã÷èéí òîõèðãîîí äàõü (Òåêñò ø³³ëò³³ðèéã ñóóëãàõ íü õýñãèéã ³çíý ³³) òåêñò ø³³ëò³³ðòýé ò°ñòýé. ßëãàà íü öýâýð òåêñò õýâëýõèéí îðîíä ýíý ø³³ëò³³ð íü àéëûã õýâëýã÷èéí îéëãîäîã õýëáýðøèëò óðóó õóâèðãàäàã. 9.4.1.4.2 Àëü õóâèðãàõ ø³³ëò³³ð³³äèéã áè ñóóëãàõ ¼ñòîé âý?
Òà àøèãëàõ õóâèðãàõ ø³³ëò³³ð³³äýý ñóóëãàõ ¼ñòîé. Õýðýâ òà ìàø èõ DVI °ã°ãäëèéã õýâëýõ áîë DVI õóâèðãàõ ø³³ëò³³ð õýðýãëýãäýíý. Õýðýâ òàíä ìàø èõ troff õýâëýõ õýðýãòýé áîë òà troff ø³³ëò³³ðèéã ñóóëãàõûã õ³ñýõ áàéõ. Äàðààõ õ³ñíýãòýä LPD-èéí àæèëëàäàã ø³³ëò³³ð³³ä, òýäãýýðèéí /etc/printcap àéë äàõü áîëîìæèéí îðóóëãóóä áîëîí òýäãýýðèéã lpr òóøààëààð õýðõýí äóóäàõ òàëààð äóðäñàí áîëîé:
Ôàéëûí ò°ð°ë
/etc/printcap
áîëîìæ
lpr
òîõèðóóëãà
cifplot DVI
cf
-c
df
-d
plot ditroff
gf
-g
nf
-n
rf
-f
tf
-f
vf
-v
if
none, -p, or -l
FORTRAN òåêñò troff raster
öýâýð òåêñò Áèäíèé æèøýýí äýýðõ lpr
-d
òóøààëûã àøèãëàõ íü õýâëýã÷èéí õóâüä /etc/printcap àéë äàõü 234
Chapter 9 Õýâëýëò
ò³³íèé îðóóëãàä df áîëîìæ õýðýãòýé ãýñýí ³ã þì. Áóñàä õ³ì³³ñ ìàãàäã³é ìàðãàæ áîëîõ þì. ýõäýý FORTRAN òåêñò áîëîí plot çýðýã õýëáýðøèëò³³ä íü ìàãàäã³é õóó÷èðñàí õýëáýðøèëò³³ä þì. Òà °°ðèéí òàëäàà ýäãýýð øèíý îéëãîëòóóä þì óó ýñâýë åðä°° ë °°ð÷ë°í òîõèðóóëñàí ø³³ëò³³ð³³äèéã ñóóëãàæ àëü íýã õýëáýðøèëòèéí ñîíãîëòóóäûã °ã÷ áîëîõ þì. Æèøýý íü òà Printerleaf àéëóóäûã (Interleaf øèðýýíèé õýâëýõ ïðîãðàìààñ ãàðàõ àéëóóä) øóóä õýâëýõèéã õ³ñ÷ýý. ýõäýý plot àéëóóäûã õýçýý ÷ õýâëýõã³é ãýæ áîäú¼. Òýãâýë òà gf áîëîìæèéí äîîð Printerleaf õóâèðãàõ ø³³ëò³³ðèéã ñóóëãàæ lpr -g òóøààë íü “Printerleaf àéëóóäûã õýâëýõ” ãýñýí ³ã áîëîõûã °°ðèéí õýðýãëýã÷èääýý ñóðãàõ õýðýãòýé áîëîõ þì. 9.4.1.4.3 Õóâèðãàõ ø³³ëò³³ð³³äèéã ñóóëãàõ íü
Õóâèðãàõ ø³³ëò³³ð³³ä íü ³íäñýí FreeBSD ñóóëãàöààñ ãàäíà ñóóëãàõ ïðîãðàìóóä á°ã°°ä /usr/local ñàí äîòîð áàéðëàíà. /usr/local/libexec ñàí íü ò³ãýýìýë õýðýãëýãääýã áàéðëàë þì. Ó÷èð íü òýäãýýð íü LPD-èéí ç°âõ°í àæèëëóóëàõ òóñãàé ïðîãðàìóóä þì; åðäèéí õýðýãëýã÷èä íü òýäãýýðèéã õýçýý ÷ àæèëëóóëàõ õýðýãã³é þì. Õóâèðãàõ ø³³ëò³³ðèéã èäýâõæ³³ëýõèéí òóëä /etc/printcap àéëä õ³ðýõ õýâëýã÷èéí õóâüä òîõèðîõ áîëîìæèéí äîîð ò³³íèé çàìûã çààæ °ã°õ ÿâäàë þì. Áèäíèé æèøýýí äýýð bamboo ãýæ íýðëýãäñýí õýâëýã÷èéí îðóóëãàä DVI õóâèðãàõ ø³³ëò³³ðèéã áèä íýìýõ áîëíî. bamboo õýâëýã÷èéí õóâüä øèíý df áîëîìæèéã îðóóëñàí /etc/printcap àéëûí æèøýýã ýíä äàõèí ³ç³³ëýâ: # # /etc/printcap for host rose - added df filter for bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
DVI ø³³ëò³³ð íü /usr/local/libexec/psdf ãýæ íýðëýãäñýí á³ðõ³³ëèéí ñêðèïò þì. Ýíä òýð ñêðèïòèé㠳糳ëýâ: #!/bin/sh # # psdf - DVI to PostScript printer filter # Installed in /usr/local/libexec/psdf # # Invoked by lpd when user runs lpr -d # exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"
Ýíý ñêðèïò íü dvips-ã ø³³ëò³³ðèéí ãîðèìä (-f íýìýëò °ã°ãä°ë) õýâëýõ àæèë áîëîõ ñòàíäàðò îðîëò äýýð àæèëëóóëäàã. Äàðàà íü PostScript õýâëýã÷èéí ø³³ëò³³ð lprps-ã
235
Chapter 9 Õýâëýëò (PostScript õýâëýã÷èä äýýð òåêñò àæëóóäûã òààðóóëàõ íü õýñãèéã ³çíý ³³) LPD-èéí ýíý ñêðèïò óðóó äàìæóóëñàí íýìýëò °ã°ãäë³³äòýé öóã ýõë³³ëíý. lprps òóøààë íü õýâëýñýí õóóäàñíóóäûã á³ðòãýõèéí òóëä òýäãýýð íýìýëò °ã°ãäë³³äèéã àøèãëàõ áîëíî. 9.4.1.4.4 Õóâèðãàõ ø³³ëò³³ðèéí çàðèì æèøýýí³³ä
Õóâèðãàõ ø³³ëò³³ð³³äèéã ñóóëãàõ òîãòìîë àëõìóóä áàéäàãã³é áîëîõîîð ýíý õýñýãò çàðèì íýã àæèëëàäàã æèøýýí³³äèéã ýíä äóðäúÿ. Ýäãýýðèéã °°ðèéí ø³³ëò³³ðèéã õèéõäýý çààâàð áîëãîí àøèãëààðàé. Òîõèðîõîîð áîë øóóä àøèãëàõ õýðýãòýé. Ýíý æèøýý ñêðèïò íü Hewlett Packard LaserJet III-Si õýâëýã÷èä çîðèóëñàí raster (ÿã ³íýíäýý GIF àéë) õóâèðãàõ ø³³ëò³³ð þì: #!/bin/sh # # hpvf - Convert GIF files into HP/PCL, then print # Installed in /usr/local/libexec/hpvf PATH=/usr/X11R6/bin:$PATH; export PATH giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \ && exit 0 \ || exit 2
Ýíý íü GIF àéëûã ç°°ãä°õ anymap óðóó, ãàðñíûã íü ç°°ãä°õ graymap óðóó, ãàðñíûã íü ç°°ãä°õ bitmap óðóó, òýð ãàðñíûã íü LaserJet/PCL-òýé íèéöòýé °ã°ãä°ëä õóâèðãàæ àæèëëàäàã. Äýýðõ ø³³ëò³³ðèéã àøèãëàæ áàéãàà õýâëýã÷èä çîðèóëñàí îðóóëãàòàé /etc/printcap àéëûã ýíä ³ç³³ëýâ: # # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/hpif:\ :vf=/usr/local/libexec/hpvf:
Äàðààõ ñêðèïò íü bamboo ãýæ íýðëýãäñýí PostScript õóâèëàã÷èéí groff ìàÿã òîõèðóóëàõ ñèñòåìýýñ troff °ã°ãä°ëä çîðèóëñàí õóâèðãàõ ø³³ëò³³ð þì: #!/bin/sh # # pstf - Convert groff’s troff data into PS, then print. # Installed in /usr/local/libexec/pstf # exec grops | /usr/local/libexec/lprps "$@"
Äýýðõ ñêðèïò íü õýâëýã÷òýé õèéõ õîëáîîã çîõèöóóëàõûí òóëä lprps-ã äàõèí àøèãëàäàã. Õýðýâ õýâëýã÷ çýðýãöýý ïîðò äýýð áàéãàà áîë áèä ýíý ñêðèïòèéã õàðèí àøèãëàõ áîëíî: #!/bin/sh # # pstf - Convert groff’s troff data into PS, then print.
236
Chapter 9 Õýâëýëò # Installed in /usr/local/libexec/pstf # exec grops
Èíãýýä ë áîëëîî. س³ëò³³ðèéã èäýâõæ³³ëýõèéí òóëä áèä äàðààõ îðóóëãûã /etc/printcap àéëä íýìýõ õýðýãòýé: :tf=/usr/local/libexec/pstf:
Õóó÷èí ãàðóóäûã FORTRAN-ñ è÷èõýä õ³ðãýõ æèøýýã ýíä ³ç³³ëýâ. Ýíý íü öýâýð òåêñòèéã øóóä õýâëýæ ÷àäàõ äóðûí õýâëýã÷èä çîðèóëñàí FORTRAN-òåêñò ø³³ëò³³ð þì. Áèä ³³íèéã teak õýâëýã÷èä çîðèóëæ ñóóëãàõ áîëíî: #!/bin/sh # # hprf - FORTRAN text filter for LaserJet 3si: # Installed in /usr/local/libexec/hprf # printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0 exit 2
Òýãýýä áèä ýíý ø³³ëò³³ðèéã èäýâõæ³³ëýõèéí òóëä teak õýâëýã÷èä çîðèóëæ /etc/printcap àéëä ýíý ì°ðèéã íýìýõ áîëíî: :rf=/usr/local/libexec/hprf:
Ýíä ñ³³ëèéí á°ã°°ä çàðèì òàëààðàà ò°â°ãòýé æèøýý áàéíà. Áèä DVI ø³³ëò³³ðèéã °ìí° òàíèëöóóëñàí LaserJet õýâëýã÷ teak-ä íýìýõ áîëíî. Ýõëýýä àìàðõàí õýñýã íü: /etc/printcap àéëûã DVI ø³³ëò³³ðèéí áàéðëàëààð øèíý÷ëýõ ÿâäàë þì: :df=/usr/local/libexec/hpdf:
Îäîî õýö³³ õýñýã íü: ø³³ëò³³ð õèéõ ÿâäàë þì. ³íèé òóëä áèäýíä DVI-ýýñ-LaserJet/PCL óðóó õóâèðãàõ ïðîãðàì õýðýãòýé. FreeBSD-èéí ïîðòûí öóãëóóëãàä (see Ïîðòûí öóãëóóëãà) íýã áàéäàã: print/dvi2xx. Ýíý ïîðòûã ñóóëãàõ íü áèäýíä õýðýãòýé ïðîãðàì dvilj2p-ã °ãä°ã. Ýíý íü DVI-ã LaserJet IIp, LaserJet III, áîëîí LaserJet 2000-òàé íèéöòýé êîäóóä óðóó õóâèðãàäàã. dvilj2p íü ø³³ëò³³ð hpdf-ã íýëýýí ò°â°ãòýé áîëãîäîã. Ó÷èð íü dvilj2p íü ñòàíäàðò îðîëòîîñ óíøèæ ÷àääàãã³é. Ýíý íü àéëûí íýðòýé àæèëëàõûã õ³ñäýã. Þó íü á³ð ìóó âý ãýõýýð àéëûí íýð íü .dvi ãýæ ò°ãñ°õ ¼ñòîé. Òýãýõýýð /dev/fd/0-ã ñòàíäàðò îðîëòîä çîðèóëæ àøèãëàõ íü àñóóäàëòàé áîëíî. Áèä ò³ð çóóðûí àéëûí íýðèéã (.dvi-ààð ò°ãññ°í) /dev/fd/0 óðóó áîëãîæ õîëáîîñ ³³ñãýí ýíý àñóóäëûã òîéðîí ãàð÷ áîëîõ þì. Èíãýñíýýð dvilj2p òóøààëûã ñòàíäàðò îðîëòîîñ óíøóóëàõ þì. Àñóóäàëòàé íýã ç³éë íü áèä /tmp-ã ò³ð çóóðûí õîëáîîñò àøèãëàæ áîëîõã³é ÿâäàë þì. Ñèìáîëûí õîëáîîñóóäûã bin õýðýãëýã÷ áîëîí á³ëýã ýçýìøäýã. Òýãýýä /tmp ñàíä íààëòòàé (sticky) áèò òîõèðóóëàãäñàí áàéäàã. س³ëò³³ð íü õîëáîîñ ³³ñãýæ ÷àäàõ áîëîâ÷ õîëáîîñ íü °°ð õýðýãëýã÷èä õàðüÿàëàãäàõ áîëîõîîð äóóññàíûõàà äàðàà öýâýðëýæ óñòãàæ ÷àääàãã³é þì. Õàðèí ø³³ëò³³ð íü ò³ð õàäãàëàõ ñàí (/etc/printcap àéëä sd áîëîìæîîð çààãäñàí) áîëîõ îäîî àæèëëàæ áàéãàà ñàíä ñèìáîëûí õîëáîîñ ³³ñãýõ áîëíî . Ýíý íü ø³³ëò³³ðèéí àæëàà õèéõ ò°ãñ ãàçàð þì. ßëàíãóÿà èë³³ èõ ÷°ë°°òýé äèñêíèé çàé /tmp ñàí äîòîðõîîñ èë³³ ò³ð õàäãàëàõ ñàíä (çàðèìäàà) áàéäàã.
237
Chapter 9 Õýâëýëò
Èíãýýä ýöýñò íü ø³³ëò³³ð ýíý áàéíà: #!/bin/sh # # hpdf - Print DVI data on HP/PCL printer # Installed in /usr/local/libexec/hpdf PATH=/usr/local/bin:$PATH; export PATH # # Define a function to clean up our temporary files. These exist # in the current directory, which will be the spooling directory # for the printer. # cleanup() { rm -f hpdf$$.dvi } # # Define a function to handle fatal errors: print the given message # and exit 2. Exiting with 2 tells LPD to do not try to reprint the # job. # fatal() { echo "$@" 1>&2 cleanup exit 2 } # # If user removes the job, LPD will send SIGINT, so trap SIGINT # (and a few other signals) to clean up after ourselves. # trap cleanup 1 2 15 # # Make sure we are not colliding with any existing files. # cleanup # # Link the DVI input file to standard input (the file to print). # ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0" # # Make LF = CR+LF # printf "\033&k2G" || fatal "Cannot initialize printer" # # #
Convert and print. Return value from dvilj2p does not seem to be reliable, so we ignore it.
238
Chapter 9 Õýâëýëò # dvilj2p -M1 -q -e- dfhp$$.dvi # # Clean up and exit # cleanup exit 0
9.4.1.4.5 Àâòîìàò õóâèðãàëò: Õóâèðãàã÷ ø³³ëò³³ðòýé èæèëõýí ø³³ëò³³ð³³ä
Ýäãýýð á³õ õóâèðãàã÷ ø³³ëò³³ð³³ä íü òàíû õýâëýõ îð÷èíä òàíü ìàø îëîí àæëûã ã³éöýòãýæ °ãä°ã ÷ õýðýãëýã÷äèéã òýäíýýñ àëü íýãèéã íü õýðýãëýõèéã øààðääàã (lpr(1)-í òóøààëûí ì°ð°í äýýð). Õýðýâ òàíû õýðýãëýã÷èä êîìïüþòåð äýýð ñàéí ãàðøààã³é õ³ì³³ñ áîë èéìýðõ³³ ø³³ëò³³ðèéí ñîíãîëòóóä òýä íàðûã çàëõààõ áîëíî. Á³ð ìóóäàæ áîëîõ í°õö°ë þó ãýâýë áóðóó ñîíãîñîí ø³³ëò³³ðèéã áóðóó àéëä õýðýãëýñíýýð õýâëýã÷ýýð îëîí çóóí õóóäàñ ³ð ä³íã³é õýâëýãäýõ ÿâäàë þì. Àíõíààñàà õóâèðãàã÷ ø³³ëò³³ð³³äèéã ñóóëãàõààñàà °ìí° ýõëýýä òà ýíãèéí òåêñò ø³³ëò³³ðèéã ñóóëãààä (àíõäàã÷ ø³³ëò³³ð ) õýâëýãäýõ àéëûí ò°ðëèéã íü òàíèàä õýðýãòýé ø³³ëò³³ðèéã õýðýãëýõ íü ç³éòýé. file ãýõ ìýòèéí õýðýãñë³³ä èéìýðõ³³ ç³éëä àøèãëàãäàæ áîëîõ þì. Ìýäýýæ çàðèì àéëûí ò°ðëèéã õîîðîíä íü ÿëãàõàä áýðõ áîëîâ÷ ìýäýýæ òýäýíä çîðèóëæ òà ø³³ëò³³ð ³³ñãýæ áîëíî. FreeBSD-í ïîðòûí öóãëóóëãà äîòîð apsfilter (print/apsfilter) íýðòýé àâòîìàò õóâèðãàëò õèéäýã òåêñò ø³³ëò³³ð áèé. Ýíý ø³³ëò³³ð íü ýíãèéí òåêñò, PostScript, DVI áîëîí áàðàã á³õ ë ò°ðëèéí àéëóóäûã òàíüæ òýäýíä òîõèðñîí ø³³ëò³³ðèéã íü àâòîìàòààð àæèëëóóëäàã. 9.4.1.5 àðàëòûí ø³³ëò³³ð³³ä
LPD ò³ð õàäãàëàã÷ ñèñòåìä áèä íàðûí íýýãýýã³é áàñ íýã ø³³ëò³³ðèéí ò°ð°ë áèé. àðàëòûí ø³³ëò³³ð
ãýã÷ íü òåêñò ø³³ëò³³ð øèã ç°âõ°í ýíãèéí òåêñò õýâëýõ çîðèóëàëòòàé á°ã°°ä ìàø îëîí ç³éëèéã õÿëáàðøóóëñàí áàéäàã. Õýðýâ òà òåêñò ø³³ëò³³ð õýðýãëýýã³é ì°ðòë°° ãàðàëòûí ø³³ëò³³ð õýðýãëýæ áàéãàà áîë:
•
• •
LPD íü õýâëýãäýõ àéë áîëãîíä ø³³ëò³³ð àæèëëóóëàëã³éãýýð ãàðàëòûí ø³³ëò³³ðèéã íýã óäàà ë ýõë³³ëäýã. LPD íü ãàðàëòûí ø³³ëò³³ðò çîðèóëæ àéëûí ýõëýë áîëîí ò°ãñã°ëèéã ìýäýýëýõ àëáà áàéõã³é.
LPD íü õýðýãëýã÷èéí áîëîí êîìïüþòåðèéí íýâòðýõ ýðõèéã äàìæóóëäàãã³é áîëîõîîð á³ðòãýë õèéõ çîðèóëàëò áàéäàãã³é. íýí õýðýãòýý áîë ýíý íü åðä°° õî¼ð óòãà àâäàã:
ø³³ëò³³ðèéí-íýð -w°ðã°í -lóðò
Ýíä °ðã°í íü pw-í øèíæ ÷àíàð á°ã°°ä óðò íü pl-í øèíæ ÷àíàð þì. àðàëòûí ø³³ëò³³ðèéí àìàð÷ëàëä áàñ íàéäàõ õýðýãã³é. Õýðýâ õýâëýãäýõ àéëóóäûã òóñäàà õóóäàñíààñ ýõë³³ëýõèéã òà õ³ñýæ áàéãàà áîë ãàðàëòûí ø³³ëò³³ð àæèëëàõã³é . ³íä òåêñò ø³³ëò³³ð (áàñ îðîëòûí ø³³ëò³³ð ãýæ íýðëýäýã) õýðýãëýõ õýðýãòýé áà Òåêñò ø³³ëò³³ðèéã ñóóëãàõ íü õýñãýýñ õàðíà óó. Ì°í öààøëààä ³íýí ÷àíàðòàà áîë ãàðàëòûí ø³³ëò³³ð³³ä íü áàéò õýëáýðýýð óðñàæ áàéãàà
239
Chapter 9 Õýâëýëò
õýâëýãäýõ ç³éëñýýñ îíöãîé òýìäýãò³³äèéã ÿëãàæ LPD-í íýðèéí °ìí°°ñ äîõèî èëãýýõ ìàÿãààð àæèëëàäàã íýëýýí ò°â°ãòýé ñèñòåì þì. Õýðýâ òà òîëãîé õóóäàñíóóäûã õýâëýõèéã õ³ñýæ escape äàðààëëóóä þì óó ýñâýë ýõë³³ëýõ ì°ð³³äèéã èëãýýõ õýðýãòýé áîë ãàðàõ ø³³ëò³³ð íü øààðäëàãàòàé þì. ( ýõäýý õýðýâ òà òîëãîé õóóäàñíóóäûã õ³ñýæ áàéãàà õýðýãëýã÷èéí á³ðòãýëýýñ ò°ëá°ð àâàõ õ³ñýëòýé áàéãàà áîë ýíý íü äýìèé ç³éë þì. Ó÷èð íü LPD íü ãàðàëòûí ø³³ëò³³ðò ÿìàð ÷ õýðýãëýã÷ þì óó ýñâýë õîñòûí ìýäýýëëèéã °ãä°ãã³é þì.) Íýã õýâëýã÷ äýýð LPD íü ãàðàëòûí ø³³ëò³³ð áîëîí òåêñò ýñâýë áóñàä ø³³ëò³³ð³³äèéã ç°âø°°ðä°ã. Èéì òîõèîëäîëä LPD íü ç°âõ°í òîëãîé õóóäñûã õýâëýõèéí òóëä ãàðàëòûí ø³³ëò³³ðèéã ýõë³³ëýõ áîëíî (Òîëãîé õóóäàñíóóä õýñãèéã ³çíý ³³). Òýãýýä LPD íü õî¼ð áàéòûã ø³³ëò³³ð ð³³ èëãýýæ ãàðàëòûí ø³³ëò³³ð íü °°ðèéã°° çîãñîîíî ãýæ òîîöäîã: ýäãýýð õî¼ð áàéò íü ASCII 031 äàðàà íü ASCII 001 þì. àðàëòûí ø³³ëò³³ð íü ýäãýýð õî¼ð áàéòûã (031, 001) õàðààä °°ðò°° SIGSTOP èëãýýæ çîãñîõ ¼ñòîé. LPD áóñàä ø³³ëò³³ðèéã àæèëëóóëæ äóóññàíû äàðàà ãàðàëòûí ø³³ëò³³ðò SIGCONT èëãýýæ ò³³íèéã äàõèí ýõë³³ëýõ áîëíî. Õýðýâ ãàðàëòûí ø³³ëò³³ð áàéãàà áîëîâ÷ òåêñò ø³³ëò³³ð áàéõã³é á°ã°°ä LPD öýâýð òåêñò àæèë äýýð àæèëëàæ áàéãàà áîë LPD íü àæëûã õèéõèéí òóëä ãàðàëòûí ø³³ëò³³ðèéã àøèãëàäàã. ìí° õýëñýí÷ëýí ãàðàëòûí ø³³ëò³³ð íü àæëûí àéë á³ðèéã äàðààëëààð form feed-³³ä ýñâýë áóñàä öààñíû äýâøèëò çýðýã õ°íäë°íãèéí îðîëöîîã³éãýýð õýâëýõ á°ã°°ä ýíý íü òàíû õ³ñýæ áàéãàà ç³éë áèø áàéæ áîëîõ þì. Áàðàã á³õ òîõèîëäîëä òàíä òåêñò ø³³ëò³³ð õýðýãòýé. lpf ãýæ òàíä óðüä íü òåêñò ø³³ëò³³ð õýìýýí òàíèëöóóëñàí ø³³ëò³³ð áàñ ãàðàëòûí ø³³ëò³³ð áîëîí àæèëëàäàã. Õýðýâ òàíä ÿìàð íýãýí óðñãàëààñ áàéò òàíüæ êîä èëãýýõ ãàðàëòûí ø³³ëò³³ð áè÷èëã³éãýýð ò³ðãýí-áîëîâ÷-áóëòàð ø³³ëò³³ð õýðýãòýé áîë lpf-ã õýðýãëýýðýé. Òà ì°í á³ðõ³³ë äýýð ñêðèïò áè÷èæ õýâëýã÷èä øààðäëàãàòàé àíõäàã÷ óòãóóäûã íü lpf-ààð òîõèðóóëæ áàñ áîëíî. 9.4.1.6 lpf: Òåêñò ø³³ëò³³ð
FreeBSD õî¼ðòûí ò³ãýýëòòýé öóã èðäýã /usr/libexec/lpr/lpf ïðîãðàì íü ãàðàëòàä (lpr -i òóøààëààð èëãýýãäñýí àæèë) äîãîë ãàðãàõ, ³ñãýí òýìäýãò³³äèéã äàìæóóëàõûã ç°âø°°ð°õ (lpr -l òóøààëààð èëãýýãäñýí àæèë), àæèë äàõü óñòãàõ òýìäýãò³³ä áîëîí tab-óóäàä çîðèóëæ õýâëýõ áàéðëàëûã òààðóóëàõ áîëîí õýâëýñýí õóóäàñíóóäûã á³ðòãýæ ÷àääàã òåêñò ø³³ëò³³ð (îðîëòûí ø³³ëò³³ð) þì. Ýíý íü áàñ ãàðàëòûí ø³³ëò³³ð øèã àæèëëàæ ÷àääàã.
íü îëîí õýâëýõ îð÷íóóäàä òîõèðäîã. Õýäèéãýýð ýíý íü õýâëýã÷ óðóó ýõë³³ëýõ äàðààëëóóäûã èëãýýõ áîëîìæã³é áîëîâ÷ õýðýãòýé ýõë³³ëýëòèéã õèéæ lpf-ã àæèëëóóëàõ á³ðõ³³ëèéí ñêðèïò áè÷èõèéã õÿëáàð áîëãîäîã. Õóóäñûí á³ðòãýëèéã lpf-ýýð ç°â õèéëãýõèéí òóëä /etc/printcap àéë äàõü pw áîëîí pl áîëîìæóóäàä ç°â óòãóóäûã îðóóëàõ õýðýãòýé. Õóóäñàíä õè÷íýýí òåêñò áàãòàõ áîëîí õýðýãëýã÷èéí àæèëä õè÷íýýí õóóäàñ áàéãààã òîäîðõîéëîõûí òóëä ýíý íü ýäãýýð óòãóóäûã àøèãëàäàã. Õýâëýã÷èéí á³ðòãýëèéí òóõàé äýëãýðýíã³é ìýäýýëëèéã Õýâëýã÷èéí õýðýãëýýã á³ðòãýõ íü õýñãýýñ ³çíý ³³. lpf
9.4.2
Òîëãîé õóóäàñíóóä
Õýðýâ òà ìàø èõ õýðýãëýã÷òýé á°ã°°ä á³ãä ò°ð°ë á³ðèéí õýâëýã÷ àøèãëàæ áàéãàà áîë òà ìàãàäã³é òîëãîé õóóäàñíóóä ûã àøèãëàõûã õ³ñýæ áîëîõ þì.
240
Chapter 9 Õýâëýëò
Òîëãîé õóóäàñíóóä, áàñ ñóðòàë÷èëãàà ýñâýë òýñðýõ õóóäàñíóóä ãýãääýã õóóäàñíóóä íü õóóäñóóä õýâëýãäñýíèé äàðàà àæëóóä íü õýíä õàìààðàõûã òîäîðõîéëäîã. Òýäãýýð íü èõýâ÷ëýí òîì, òîä ³ñãýýð, ìàãàäã³é ÷èìñýí õ³ðýýí³³äòýéãýýð õýâëýãääýã. Èíãýñíýýð õýâëýñýí îëîí õóóäàñíóóä äîòðîîñ õýðýãëýã÷äèéí àæëóóäûã áàãòààñàí æèíõýíý áàðèìò áîëîí ÿëãàðäàã. Ýíý íü õýðýãëýã÷äýä °°ðñäèéí àæëóóäûã õóðäàí îëîõ áîëîìæèéã îëãîäîã. Òîëãîé õóóäàñíû èëýðõèé ñóë òàë íü àæèë áîëãîíû õóâüä èë³³ õóóäàñ õýâëýãääýã ÿâäàë á°ã°°ä òýäíèé ò³ð çóóðûí àøèã õýäõýí ìèíóò ³ðãýëæèëæ òóí óäàëã³é òýäãýýðèéã õîãèéí ñàâ ýñâýë õîãèéí îâîîí äîòîð îðîõûã õàðæ áîëîõ þì. (Òîëãîé õóóäàñíóóä íü àéë áîëãîíòîé áèø, àæèë áîëãîíòîé öóã ÿâäãèéã ñàíààðàé. Òýãýõýýð öààñ äýìèé ³ðýõ íü òèéì ÷ èõ ìóó áèø áàéæ áîëîõ þì.) Õýðýâ òàíû õýâëýã÷ öýâýð òåêñòèéã øóóä õýâëýæ ÷àääàã áîë LPD ñèñòåì íü òàíû õýâëýñýí ç³éë³³äýä òîëãîé õóóäàñíóóäûã àâòîìàòààð °ã÷ ÷àääàã. Õýðýâ òàíä PostScript õýâëýã÷ áàéãàà áîë òîëãîé õóóäñûã ³³ñãýõèéí òóëä òàíä ãàäààä ïðîãðàì õýðýãòýé áîëîõ þì; PostScript õýâëýã÷èä äýýðõ òîëãîé õóóäàñíóóä õýñãèéã ³çíý ³³. 9.4.2.1 Òîëãîé õóóäàñíóóäûã èäýâõæ³³ëýõ íü
Õýâëýã÷èéí ýíãèéí òîõèðãîî õýñýãò áèä /etc/printcap àéëä sh-èéã (“suppress header” áóþó òîëãîéã äàðàõ ãýñýí óòãàòàé) çààæ °ã°í òîëãîé õóóäàñíóóäûã áîëèóëñàí. Õýâëýã÷èéí õóâüä òîëãîé õóóäàñíóóäûã èäýâõæ³³ëýõèéí òóëä åðä°° ë sh áîëîìæèéã óñòãàõ õýðýãòýé. Õýòýðõèé àìàðõàí ñàíàãäàæ áàéíà, òèéì ³³? Òàíû ç°â. Òà õýâëýã÷ óðóó ýõë³³ëýõ ì°ð³³äèéã èëãýýõèéí òóëä ãàðàëòûí ø³³ëò³³ðèéã °ã°õ õýðýãòýé áîëæ áîëîõ þì. Ýíä Hewlett Packard PCL-òýé íèéöòýé õýâëýã÷äýä çîðèóëñàí æèøýý ãàðàëòûí ø³³ëò³³ð áàéíà: #!/bin/sh # # hpof - Output filter for Hewlett Packard PCL-compatible printers # Installed in /usr/local/libexec/hpof printf "\033&k2G" || exit 2 exec /usr/libexec/lpr/lpf
àðàëòûí ø³³ëò³³ðèéí çàìûã of áîëîìæèä çààæ °ã°õ õýðýãòýé. Äýëãýðýíã³é ìýäýýëëèéã àðàëòûí ø³³ëò³³ð³³ä õýñãýýñ ³çíý ³³. Áèäíèé óðüä íü òàíèëöóóëñàí teak õýâëýã÷èä çîðèóëñàí æèøýý /etc/printcap àéë ýíä áàéíà; áèä òîëãîé õóóäàñíóóäûã èäýâõæ³³ëæ äýýðõ ãàðàëòûí ø³³ëò³³ðèéã íýìñýí: # # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/hpif:\ :vf=/usr/local/libexec/hpvf:\ :of=/usr/local/libexec/hpof:
Îäîî õýðýãëýã÷ teak óðóó àæëóóäàà õýâëýõýä àæèë áîëãîíòîé òîëãîé õóóäàñ õ³ëýýí àâàõ áîëíî. Õýðýâ õýðýãëýã÷èä °°ðñäèéí õýâëýñýí ç³éëñýý õàéõàä öàã çàðöóóëàõûã õ³ñýæ áàéãàà áîë òîëãîé
241
Chapter 9 Õýâëýëò
õóóäàñíóóäûã äàðæ àæëàà lpr -h òóøààëààð èëãýýæ áîëíî; lpr(1)-èéí òîõèðóóëãóóäûí òàëààð äýëãýðýíã³éã Òîëãîé õóóäàñíû òîõèðóóëãóóä õýñãýýñ ³çíý ³³. Note: LPD íü òîëãîé õóóäàñíû äàðàà form feed òýìäýãò õýâëýäýã. Õýðýâ òàíû õýâëýã÷ õóóäñàà ãàðãàõûí òóëä
°°ð òýìäýãò þì óó ýñâýë °°ð òýìäýãò³³äèéí äàðààëàë àøèãëàäàã áîë òýäãýýðèéã /etc/printcap àéëä ff áîëîìæîîð çààæ °ã°õ õýðýãòýé.
9.4.2.2 Òîëãîé õóóäàñíóóäûã õÿíàõ íü
Òîëãîé õóóäàñíóóäûã èäýâõæ³³ëñíýýð LPD íü õýðýãëýã÷, õîñò, áîëîí àæëûã òàíèóëàõ òîì ³ñã³³äòýé óðò òîëãîé á³õèé õóóäñûã ³³ñãýõ áîëíî. Ýíä æèøýý áàéíà (kelly íü “outline” ãýñýí íýðòýé àæëûã rose-ñ õýâëýæýý): k k k k k k k k k kk k k k k k
o o o o
oooo o o o o oooo
r rrr rr r r r r
ll l l l l l l l lll
ll l l l l l l l lll
u u u u uu uuu u
t t ttttt t t t t t tt
ll l l l l l l l lll
oooo o o o o
ssss s ss ss s s
eeee e e eeeeee e e e eeee
u u u u u
o o o o
s
y y y y y
y y y y yy yyy y y y y yyyy
i ii i i i i iii
n nnn nn n n n n n n n n n
eeee e e eeeeee e e e eeee
eeee e e eeeeee e e e
242
Chapter 9 Õýâëýëò r
oooo
ssss
eeee
Job: outline Date: Sun Sep 17 11:04:58 1995
LPD íü àæëûã øèíý õóóäñàí äýýð ýõë³³ëýõèéí òóëä ýíý òåêñòèéí äàðàà form feed-ã íýìäýã (/etc/printcap äàõü õ³ðýõ õýâëýã÷èéí îðóóëãàä sf (form feed-ã äàðàõ) áàéõã³é áîë).
Õýðýâ òà õ³ñýæ áàéãàà áîë LPD íü áîãèíî òîëãîé õèéæ ÷àääàã; /etc/printcap àéëä sb-ã (short banner áóþó áîãèíî ñóðòàë÷èëãàà) çààæ °ã°õ õýðýãòýé. Òîëãîé õóóäàñ èéìýðõ³³ õàðàãäàõ áîëíî:
rose:kelly
Job: outline
Date: Sun Sep 17 11:07:51 1995
Áàñ àíõäàã÷ààð LPD íü ýõëýýä òîëãîé õóóäñûã äàðàà íü àæëûã õýâëýäýã. Ýñðýãýýð áîëãîõûí òóëä /etc/printcap àéëä hl-ã (header last áóþó òîëãîé ñ³³ëä) çààæ °ã°õ õýðýãòýé. 9.4.2.3 Òîëãîé õóóäàñíóóäûã á³ðòãýõ íü
LPD-í °°ðò íü ñóóãäñàí òîëãîé õóóäàñíóóä íü õýâëýëòýä á³ðòãýë òîîöîî õèéõ øààðäëàãàòàé ³åä ³íýã³é áàéõ çàð÷ìûã øààðääàã.
ßàãààä? Ó÷èð íü ãàðàëòûí ø³³ëò³³ð áîë òîëãîé õóóäàñ õýâëýãäýõ ³åä àæèëëàäàã òóñäàà áèåý äààñàí ãàäààä ïðîãðàì á°ã°°ä á³ðòãýë õèéæ áîëîõ þì øèã áîëîâ÷ õýðýãëýã÷ þì óó êîìïüþòåðèéí òóõàé ÿìàð ÷ á³ðòãýëèéí ìýäýýëëýýð õàíãàãääàãã³é ó÷èð õýí äýýð ÿìàð òîîöîî á³ðòãýë õèéõýý ìýäýæ ÷àääàãã³é. Ç°âõ°í òåêñò ø³³ëò³³ðèéã °°ð÷èëæ “õóóäàñíû òîîã íýãýýð íýìýõ” þì óó ýñâýë õóâèðãàõ ÿìàð íýãýí ø³³ëò³³ðèéã (õýðýãëýã÷ þì óó êîìïüþòåðèéí ìýäýýëýëòýé) õýðýãëýã÷ lpr -h ãýñýí òóøààëààð äàðæ áîëäîã. Äàðàãäñàí ÷ ãýñýí òýäãýýð òîëãîé õóóäàñíóóä á³ðòãýë òîîöîî õèéæ áàéäàã. íäñýíäýý îð÷íû õóâüñàã÷äàä äàññàí õýðýãëýã÷äýä lpr -h òóøààë èë³³ àÿòàéõàí áàéæ áîëîõ áîëîâ÷ øààðäëàãàòàé ãýñýí ³ã áèø áèëýý. س³ëò³³ð á³ð °°ðñäèéí ãýñýí òîëãîé õóóäàñ ³³ñãýõ íü òèéì õàíãàëòòàé øèéäýë áàñ áèø (õýäèéãýýð òóñ á³ðäýý ò°ëá°ð òîîöîî õèéæ ÷àäàõ áàéñàí ÷ ). Õýðýâ õýðýãëýã÷ lpr -h òóøààëààð òîëãîé õóóäñûã äàðñàí ÷ LPD íü ø³³ëò³³ð³³ä ð³³ -h ãýñýí ñîíãîëòûí òàëààð ÿìàð ÷ ìýäýýëýë ÿâóóëäàãã³é áîëîõîîð ò°ëá°ð òîîöîî õèéãäñýýð áàéõ áîëíî. Òýãýõýýð òàíä ÿìàð ñîíãîëòóóä áàéíà âý? Òà äàðààõ ç³éëñèéã õèéõ áîëîìæòîé: • •
LPD-í çàð÷ìûã õ³ëýýí ç°âø°°ð÷ òîëãîé õóóäñàíä ò°ëá°ð òîîöîõã³é áîëîõ.
LPRng ãýõ ìýòèéí LPD-í èæèë ò°ðëèéí ò³ð õàäãàëàã÷äûã õýðýãëýõ. Ò³ð õàäãàëàã÷èäòàé èæèë ò°ðëèéí õàäãàëàã÷èä õýñýãò LPD-ã îðëóóëæ áîëîõ ò³ð õàäãàëàã÷äûí òàëààð °ã³³ëñýí áóé.
243
Chapter 9 Õýâëýëò •
àéã³é ñýðãýëýí ãàðàëòûí ø³³ëò³³ð áè÷èõ. àðàëòûí ø³³ëò³³ð ãýäýã íü åðäèéí ³åä áîë õýâëýã÷èéã òîõèðóóëàõ þì óó ýñâýë ýíãèéí òýìäýãò õóâèðãóóð õèéäýã ïðîãðàì þì. Èéì ø³³ëò³³ð íü òîëãîé õóóäàñ áîëîí ýíãèéí òåêñò çýðýãò òóí òààðäàã ( õýðýâ òýíä ÿìàð ÷ òåêñò (îðîëòûí) ø³³ëò³³ð áàéõã³é áîë). ýõäýý õýðýâ òýíä ýíãèéí òåêñò õýâëýõ òåêñò ø³³ëò³³ð áàéãàà áîë LPD íü ãàðàëòûí ø³³ëò³³ðèéã ç°âõ°í òîëãîé õóóäñàíä àæèëëóóëäàã. Òýãýýä ãàðàëòûí ø³³ëò³³ð íü òîëãîé õóóäàñíààñ LPD-í ³³ñãýñýí õýðýãëýã÷ áîëîí êîìïüþòåðò òîîöñîí òîîöîîã ñàëãàæ àâ÷ ÷àääàã. Ýíý àðãàíä áóé íýã õ³íäðýë áîë ãàðàëòûí ø³³ëò³³ð íü ÿìàð á³ðòãýëèéí àéë õýðýãëýõýý ìýäýõã³éä áàéãàà þì (ýíý àéë íü af òîõèðãîîãîîð äàìæèãääàãã³é). ýâ÷ õýðýâ òàíä áýëýí á³ðòãýë àéë áàéãàà áîë òýäãýýðèéã ãàðàëòûí ø³³ëò³³ð äîòîð áè÷èæ °ã÷ áîëíî. Òîîöîîã ñàëãàæ àâàõ õýñýãò íýìýð áîëãîõûí òóëä sh (short header áóþó áîãèíî òîëãîé) òîõèðãîîã /etc/printcap àéë äîòîð îðóóëàõ íü ç³éòýé. Òýãýýä ÷ ýíý á³õýí òàíä ò°â°ãòýé ñàíàãäàæ ìàãàäã³é á°ã°°ä õýðýãëýã÷èä òîëãîé õóóäñàíä ò°ëá°ð òîîöäîãã³é °ã°°ì°ð ñ³ëæýý çîõèöóóëàã÷èéã èë³³ä ³çýæ áàñ áîëîõ þì.
9.4.2.4 PostScript õýâëýã÷ äýýðõ òîëãîé õóóäàñíóóä
ìí° °ã³³ëñíýýð LPD íü ìàø îëîí õýâëýã÷äýä çîðèóëæ ýíãèéí òåêñò òîëãîé õóóäàñ ³³ñãýæ ÷àääàã. Ìýäýýæ PostScript íü ýíãèéí òåêñòèéã øóóä õýâëýæ ÷àääàãã³é áîëîõîîð LPD-í ýíý øèíæ ÷àíàð áàðàã õýðýãã³é áèëýý. Òîëãîé õóóäàñ áàéëãàõ íýã àðãà áîë õóâèðãàõ ø³³ëò³³ð áîëãîí òîëãîé õóóäàñ ³³ñãýõ þì. Èíãýõèéí òóëä ø³³ëò³³ð³³ä íü õýðýãëýã÷ áîëîí êîìïüþòåðèéí ìýäýýëëèéã õ³ëýýæ àâààä òîëãîé õóóäàñ ³³ñãýäýã áàéõààð çîõèöóóëàõ õýðýãòýé. Ýíý àðãûí íýã ìóó òàë íü õýðýãëýã÷èä lpr -h òóøààë àøèãëàñàí ÷ òîëãîé õóóäàñòàé õóóäàñ õýâëýýä áàéõ áîëíî. Ýíý àðãûã æààõàí ñóäàëæ ³çýöãýýå. Äàðààõ ñêðèïò ãóðâàí óòãà õ³ëýýæ àâààä(õýðýãëýã÷èéí íýâòðýõ íýð, êîìïüþòåðèéí íýð, õýâëýãäýõ àæëûí íýð) PostScript òîëãîé õóóäàñ ³³ñãýæ áàéíà: #!/bin/sh # # make-ps-header - make a PostScript header page on stdout # Installed in /usr/local/libexec/make-ps-header # # # These are PostScript units (72 to the inch). # whatever size paper you are using: # page_width=612 page_height=792 border=72
Modify for A4 or
# # Check arguments # if [ $# -ne 3 ]; then echo "Usage: ‘basename $0‘ <user> <job>" 1>&2 exit 1 fi # #
Save these, mostly for readability in the PostScript, below.
244
Chapter 9 Õýâëýëò # user=$1 host=$2 job=$3 date=‘date‘ # # Send the PostScript code to stdout. # exec cat <<EOF %!PS % % Make sure we do not interfere with user’s job that will follow % save % % Make a thick, unpleasant border around the edge of the paper. % $border $border moveto $page_width $border 2 mul sub 0 rlineto 0 $page_height $border 2 mul sub rlineto currentscreen 3 -1 roll pop 100 3 1 roll setscreen $border 2 mul $page_width sub 0 rlineto closepath 0.8 setgray 10 setlinewidth stroke 0 setgray % % Display user’s login name, nice and large and prominent % /Helvetica-Bold findfont 64 scalefont setfont $page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto ($user) show % % Now show the boring particulars % /Helvetica findfont 14 scalefont setfont /y 200 def [ (Job:) (Host:) (Date:) ] { 200 y moveto show /y y 18 sub def } forall /Helvetica-Bold findfont 14 scalefont setfont /y 200 def [ ($job) ($host) ($date) ] { 270 y moveto show /y y 18 sub def } forall % % That is it % restore
245
Chapter 9 Õýâëýëò showpage EOF
Îäîî ÿìàð ÷ õóâèðãàõ ø³³ëò³³ð áîëîí òåêñò ø³³ëò³³ð³³ä íü ýíý ñêðèïòèéã äóóäàæ òîëãîé õóóäàñ ³³ñãýæ õýâëýæ áîëíî. Ýíä îäîî °ìí° ³ç³³ëæ áàéñàí DVI õóâèðãàõ ø³³ëò³³ðèéã æààõàí °°ð÷èëæ òîëãîé õóóäàñ ³³ñãýõèéã õàðóóëàâ: #!/bin/sh # # psdf - DVI to PostScript printer filter # Installed in /usr/local/libexec/psdf # # Invoked by lpd when user runs lpr -d # orig_args="$@" fail() { echo "$@" 1>&2 exit 2 } while getopts "x:y:n:h:" option; do case $option in x|y) ;; # Ignore n) login=$OPTARG ;; h) host=$OPTARG ;; echo "LPD started ‘basename $0‘ wrong." 1>&2 *) exit 2 ;; esac done [ "$login" ] || fail "No login name" [ "$host" ] || fail "No host name" ( /usr/local/libexec/make-ps-header $login $host "DVI File" /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args
Õýðýãëýã÷èéí íýð áîëîí êîìïüþòåðèéí íýðèéã õýðõýí ñàëãàæ àâ÷ áàéãààã àíõààðàõ õýðýãòýé. Áóñàä ø³³ëò³³ð äýýð èéì ñàëãàëò õèéõ íü èæèëõýí. Òåêñò ø³³ëò³³ð íü õýðýãëýã÷èéí íýð áîëîí êîìïüþòåðèéí íýðèéã àðàé °°ð àðãààð ñàëãàæ àâäàã. (س³ëò³³ð õýðõýí àæèëëàäàã âý õýñãýýñ õàðíà óó). ìí° °ã³³ëñíèé äàãóó äýýð ³ç³³ëñýí ýíý çàãâàð íü õýäèéãýýð òóí ýíãèéí á³òýýãäñýí ÷ ãýñýí “suppress header page” ñîíãîëòûã ( -h ñîíãîëò) lpr äýýð õîðüäîã. Õýðýâ õýðýãëýã÷èä æààõàí õýìíýõèéã õ³ññýí ÷ (ýñâýë òîëãîé õóóäàñíû ò°ëá°ðò °ã°õ õýäýí ò°ãð°ã°°) ø³³ëò³³ð áîëãîí òîëãîé õóóäàñ õýâëýäýã áîëîõîîð äýýðõ àðãûã õýðýãëýýä ³ð ä³í °ã°õã³é. Õýâëýãäýõ á³ð òîëãîé õóóäñûã õîðèõûí òóëä Òîëãîé õóóäàñíû òîîöîî á³ðòãýë õýñýãò ³ç³³ëñýí äàðààõ áÿöõàí àðãûã õýðýãëýíý: ãàðàëòûí ø³³ëò³³ð áè÷ýýä ò³³ãýýðýý LPD-í ³³ñãýñýí òîëãîé õýñãèéã ñàëãàæ àâàí PostScript õóâèëáàðûã íü ³³ñãýõ. Õýðýâ õýðýãëýã÷ lpr -h òóøààë õýðýãëýâýë LPD òîëãîé õýñýã
246
Chapter 9 Õýâëýëò
³³ñãýõã³é á°ã°°ä áàñ òàíû ãàðàëòûí ø³³ëò³³ðèéã àæèëëóóëàõã³é. Áóñàä ³åä ãàðàëòûí ø³³ëò³³ð íü LPD-ñ òåêñòèéã óíøààä ò³³íä òîõèðñîí PostScript òîëãîé õóóäñûã õýâëýã÷èä °ãä°ã. Õýðýâ òàíä öóâàà õîëáîëòòîé PostScript õýâëýã÷ áàéãàà áîë lprps-ã òà õýðýãëýæ áîëîõ á°ã°°ä ýíý íü äýýð ÿðüñàí ç³éëèéã ã³éöýòãýæ ÷àääàã psof íýðòýé ãàðàëòûí ø³³ëò³³ðòýé õàìò èðäýã. Òýìäýãëýæ õýëýõýä, psof íü òîëãîé õóóäñàíä òîîöîî áîääîãã³é. 9.4.3
ѳëæýýãýýð õýâëýõ
FreeBSD íü õýâëýõ àæëûã àëñàä áóé êîìïüþòåð ðóó èëãýýæ ñ³ëæýýãýýð õýâëýõèéã áàñ äýìæäýã. ѳëæýýãýýð õýâëýõ íü õî¼ð ç³éëèéã õàìàð÷ áàéäàã. •
•
Àëñàä áóé êîìïüþòåðò çàëãàãäñàí õýâëýã÷ ð³³ õàíäàõ. Òà íýã õýâëýã÷èéã íýã êîìïüþòåð äýýð òîõèðîõ öóâàà þì óó çýðýãöýý õîëáîëòîîð õýâëýã÷èéã çàëãàíà. Äàðàà íü òà LPD-ã ñóóëãàæ àëñàä áóé êîìïüþòåð óã õýâëýã÷ çàëãàãäñàí êîìïüþòåð ðóó õàíäàæ áîëîõûã òîõèðóóëíà. Àëñàä áóé êîìïüþòåðò çàëãàãäñàí õýâëýã÷ õýñýãò ³³íèéã õýðõýí õèéõ òàëààð çààâàðëàñàí áèé. Øóóä ñ³ëæýýíä çàëãàãäñàí õýâëýã÷ ð³³ õàíäàõ. Èéì õýâëýã÷ íü åðäèéí öóâàà þì óó ýñâýë çýðýãöýý õîëáîëòûí èíòåðýéñýýñ ãàäíà (ýñâýë îðîíä íü) ñ³ëæýýíèé çàëãóóðòàé áàéäàã. Èéì õýâëýã÷ äàðààõ ìàÿãààð àæèëëàäàã: • Õýâëýã÷ LPD-í äàìæóóëàõ ïðîòîêîëûã òàíüæ îéëãîõ áà àëñààñ èð³³ëñýí àæëóóäàä äàðààëàë ³³ñãýæ ÷àääàã. Èéì òîõèîëäîëä óã õýâëýã÷ íü °°ð äýýðýý LPD ñóóëãàñàí åðäèéí êîìïüþòåð øèã àæèëëàõ áîëíî. Àëñàä áóé êîìïüþòåðò çàëãàãäñàí õýâëýã÷èä õýñýãò èéìýðõ³³ õýâëýã÷èéã õýðõýí òîõèðóóëàõ òàëààð õàðíà óó. • Õýâëýã÷ íü ñ³ëæýýãýýð °ã°ãäëèéã óðñãàë ìýò õ³ëýýæ àâäàã òèéì ò°ðëèéí õîëáîëò äýìæäýã áàéæ áîëîõ þì. Ýíý òîõèîëäîëä òà íýã êîìïüþòåðò óã õýâëýã÷èéã “çàëãààä” ñóóëãàñàí êîìïüþòåð íü èðæ áóé àæëóóäûã ò³ð õàäãàëàõ õàðèóöëàãûã íü äààæ õýâëýã÷ ð³³ãýý °ã°ãäëèéã óðñãàæ áàéõààð òîõèðóóëàõ õýðýãòýé. ѳëæýýíèé °ã°ãäëèéí óðñãàë õîëáîëòûí ò°õ°°ð°ìæòýé õýâëýã÷èä õýñýãò èéì ò°ðëèéí õýâëýã÷èéã õýðõýí ñóóëãàõ òàëààð çààâàðëàñàí áàéãàà.
9.4.3.1 Àëñàä áóé êîìïüþòåðò çàëãàãäñàí õýâëýã÷èä
LPD-ä °°ðò íü °°ð ãàçàð LPD (ýñâýë LPD-òýé çîõèìæòîé) àæèëëàæ áàéãàà ìàøèí ðóó õýâëýõ àæëûã èëãýýæ ÷àääàã àæèëëàãàà áàéäàã. Ýíý øèíæ ÷àíàðûã àøèãëàæ òà °°ð êîìïüþòåðò õýâëýã÷ýý çàëãààä ò³³íä °°ð ãàçðààñ õàíäàæ áîëîõ áîëîìæ íýýæ °ã÷ áàéíà. Ýíý àðãà íü ì°í LPD äàìæóóëàõ ïðîòîêîëûã îéëãîäîã õýâëýã÷èä äýýð áàñ àæèëëàíà .
Èéìýðõ³³ àëñààñ õýâëýõ àæèëëàãààã ã³éöýòãýõèéí òóëä ýõëýýä õýâëýã÷ýý õýâëýã÷èéí ýçýí áîëãîæ íýã ìàøèíä Õýâëýã÷ ñóóëãàõ ýíãèéí ÿâö õýñýãò çààñíû äàãóó çàëãàõ õýðýãòýé. Øààðäëàãàòàé áîë Õýâëýã÷èéí íýìýëò òîõèðãîî õýñýãò çààñàí òîõèðãîîã õèéæ áîëíî. Õýâëýã÷ýý õýâëýæ áàéãààã íü ìàãàäëààä LPD òîõèðãîîã ç°âø°°ðñ°í ýñýõèéã øàëãàõ õýðýãòýé. Ì°í remote host äîòîð local host íü LPD ³éë÷èëãýýã õýðýãëýõ ýðõòýé ýñýõèéã øàëãààðàé (Àëñàä áóé õîñòîä õýâëýõ õÿçãààðëàëò õèéõ õýñýãò õàðíà óó). Õýðýâ òà ñ³ëæýýíèé êàðòòàé á°ã°°ä LPD ïðîòîêîë äýìæäýã õýâëýã÷ õýðýãëýæ áàéãàà áîë äýýð °ã³³ëñíýýð õýâëýã÷èéí ýçýí áîëîí õýâëýã÷èéí íýð íü óã òîõèðóóëæ áóé õýâëýã÷èéí íýð áàéõ ¼ñòîé.
247
Chapter 9 Õýâëýëò
Õýâëýã÷òýé õàìò èðñýí ³éëäâýðëýã÷èéíõ íü ãàðûí àâëàãààñ õýâëýã÷èéíõ íü òóõàé ýñâýë ñ³ëæýýíèé ò°õ°°ð°ìæèéíõ íü òóõàé ìýäýýëëèéã õàðààðàé. Tip: Õýðýâ òà Hewlett Packard Laserjet õýâëýã÷ õýðýãëýæ áàéãàà áîë text íýðòýé õýâëýã÷ íü àâòîìàòààð LF-ã CRLF ðóó õóâèðãàäàã áîëîõîîð hpif ñêðèïò õýðýãëýõ øààðäëàãàã³é.
Äàðàà íü õýâëýã÷ ð³³ õàíäàõ ãýæ áóé í°ã°° ìàøèíû /etc/printcap àéë äîòîð äàðààõ ç³éëñèéã îðóóëæ °ãä°ã: 1. Õ³ññýí íýðýý îðóóëíà. Àëñàä áóé êîìïüþòåðèéí íýðýíä äàâõàð íýð °ã÷ îðóóëàí àìàð÷èëæ áîëîõ þì. 2. lp òîõèðãîîã õîîñîí îðõèíî. (:lp=:).
3. Ò³ð õàäãàëàõ ñàí ³³ñãýæ ò³³íèé áàéðøëûã sd õýñýãò çààæ °ãä°ã. LPD íü àëñàä áóé õýâëýã÷ ð³³ àæëóóäûã èëãýýõýýñýý °ìí° ýíý ñàíä õàäãàëäàã. 4. Õýâëýã÷èéí ýçíèé íýðèéã rm õýñýãò áè÷èæ °ãí°.
õîëáîãäñîí õýâëýã÷èéí íýðèéã rp õýñýãò îðóóëíà. Èíãýýä áîëîõ íü òýð. Òà õóâèðãàõ ø³³ëò³³ð, öààñíû õýìæýý ãýõ ìýòèéã /etc/printcap àéë äîòîð îðóóëàõ øààðäëàãàã³é. Ýíä íýã æèøýý òàòúÿ. rose íýðòýé ìàøèí bamboo áîëîí rattan ãýñýí õî¼ð õýâëýã÷òýé. Áèä îäîî orchid ìàøèíûã óã õýâëýã÷èä ð³³ õàíäàæ áîëäîã áîëãîæ òîõèðóóëöãààÿ. Ýíä ( Òîëãîé õóóäñûã ç°âø°°ð°õ õýñãýýñ äàõèí àâàâ) orchid ìàøèíû /etc/printcap àéë õýðõýí õàðàãäàæ áàéãààã õàðóóëàâ. Óã ìàøèíä °ìí° íü teak íýðòýé ìàøèí òîõèðóóëàãäñàí áàéãàà á°ã°°ä áèä rose ìàøèíû õî¼ð õýâëýã÷èéã íýìýõ áîëíî: 5. Õýâëýã÷èéí ýçýíä
# # #
/etc/printcap for host orchid - added (remote) printers on rose
# # teak is local; it is connected directly to orchid: # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/ifhp:\ :vf=/usr/local/libexec/vfhp:\ :of=/usr/local/libexec/ofhp: # # rattan is connected to rose; send jobs for rattan to rose: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: # # bamboo is connected to rose as well: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\
248
Chapter 9 Õýâëýëò :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:
Äàðàà íü áèä orchid äýýð ò³ð õàäãàëàõ ñàí íýìýõ õýðýãòýé: # mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo # chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo # chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo
Îäîî orchid äýýðõ õýðýãëýã÷èä rattan áîëîí bamboo õýâëýã÷äèéã õýðýãëýæ ÷àäíà. Æèøýý íü orchid äýýðõ õýðýãëýã÷ äàðààõ òóøààë °ãâ°ë: % lpr -P bamboo -d
sushi-review.dvi
äýýðõ LPD ñèñòåì õýâëýõ àæëóóäûã /var/spool/lpd/bamboo ãýñýí ò³ð õàäãàëàã÷ ðóó õóóëíà. Ýíý õýâëýãäýõ àæèë íü DVI àéë áàéñíûã òà àíçààðíà óó. rose ìàøèíä bamboo ò³ð õàäãàëàõ ñàí ³³ñýíã³³ò õî¼ð ìàøèíû LPD-óóä õîîðîíäîî óã àéëûã rose ìàøèí óðóó äàìæóóëäàã. Äàðàà íü óã àéë rose-í äàðààëàëä î÷èæ çîãñîîä õýâëýãäýõ õ³ðòëýý õ³ëýýãäýíý. Ýíý àéë DVI-ñ PostScript óðóó (bamboo íü PostScript õýâëýã÷ ó÷èð) rose äýýð õóâèðãàãäàíà. orchid
9.4.3.2 ѳëæýýãýýð °ã°ãäëèéã óðñãàë õýëáýðýýð äàìæóóëäàã õîëáîëòòîé õýâëýã÷èä
Èõýíõ òîõèîëäîëä, õýâëýã÷äýä çîðèóëæ ñ³ëæýýíèé ò°õ°°ð°ìæ àâàõ ³åä òàíä õî¼ð ñîíãîëò áèé: ò³ð õàäãàëàã÷òàé (èë³³ ³íýòýé), ýñâýë öóâàà þì óó çýðýãöýý õîëáîëòîîð õîëáîãäñîí ìýò °ã°ãäëèéã õýâëýã÷ ð³³ øóóä èëãýýäýã (õÿìä ³íýòýé). Ýíý õýñýãò õÿìä ³íýòýéã íü àâ÷ õýëýëöýíý. íýòýéã íü Àëñàä áóé êîìïüþòåðò õîëáîãäñîí õýâëýã÷èä õýñãýýñ õàðààðàé. /etc/printcap àéëä ÿìàð öóâàà þì óó ýñâýë ÿìàð çýðýãöýý õîëáîëò õýðýãëýõèéã çààæ °ãä°ã á°ã°°ä (õýðýâ òà öóâàà õîëáîëòîîð õîëáîñîí áîë ) ÿìàð äàâòàìæààð èëãýýõ, ÿìàð óðñãàë õÿíàã÷ àøèãëàõ, èëãýýõ çàâñàðëàãàà, øèíý ì°ð òýìäãèéã õýðõýí õóâèðãàõ ãýõ ìýò÷èëýí ìàø îëîí ç³éëèéã òîõèðóóëæ áîëíî. Õýðýâ õýâëýã÷ TCP/IP ïîðò þì óó ýñâýë °°ð ñ³ëæýýíèé ïîðò ÷àãíàæ áàéãàà õýâëýã÷èéã ýíä çààæ °ã°õ áîëîìæã³é. ѳëæýýíä õîëáîãäñîí õýâëýã÷ ð³³ èëãýýõèéí òóëä òåêñò áîëîí õóâèðãàõ ø³³ëò³³ðýýð äóóäàãäàæ áîëäîã õîëáîëòûí ïðîãðàì òà áè÷èõ õýðýãòýé. Ýíä íýã æèøýý ³ç³³ëüå. netprint íýðòýé ñêðèïò íü á³õ °ã°ãäëèéã åðäèéí îðîëòîîñ àâààä ñ³ëæýýíä õîëáîãäñîí õýâëýã÷ ð³³ èëãýýõ áîëíî. Õýâëýã÷ õîëáîãäñîí êîìïüþòåðèéí íýðèéã íü ýõíèé óòãààð àâàõ á°ã°°ä õî¼ð äàõü óòãààðàà ÷àãíàæ áóé ïîðòûí äóãààðûã netprint-ä °ãí°. Òýìäýãëýæ õýëýõýä, ýíý íü ç°âõ°í íýã ÷èãëýëòýé õîëáîëò (FreeBSD-ñ õýâëýã÷ ð³³) á°ã°°ä èõýíõ ñ³ëæýýíèé õýâëýã÷èä õî¼ð òèéø ÷èãëýñýí õîëáîëòûã äýìæäýã áîëîõîîð òýð ÷àíàðûã íü òà ì°í àøèãëàæ áîëîõ þì (õýâëýã÷èéí ò°ë°â áàéäëûã ìýäýõ, á³ðòãýë õèéõ ãýõ ìýò). #!/usr/bin/perl # # netprint - Text filter for printer attached to network # Installed in /usr/local/libexec/netprint # $#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>"; $printer_host = $ARGV[0]; $printer_port = $ARGV[1]; require ’sys/socket.ph’;
249
Chapter 9 Õýâëýëò ($ignore, $ignore, $protocol) = getprotobyname(’tcp’); ($ignore, $ignore, $ignore, $ignore, $address) = gethostbyname($printer_host); $sockaddr = pack(’S n a4 x8’, &AF_INET, $printer_port, $address); socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol) || die "Can’t create TCP/IP stream socket: $!"; connect(PRINTER, $sockaddr) || die "Can’t contact $printer_host: $!"; while (<STDIN>) { print PRINTER; } exit 0;
Äàðàà íü áèä ýíý ñêðèïòèéã ÿíç á³ðèéí ø³³ëò³³ðòýé õàìò õýðýãëýæ áîëíî. ѳëæýýíä Diablo 750-N òóóçàí õýâëýã÷ õîëáîãäñîí áàéíà ãýæ àâ÷ ³çüå. Õýâëýã÷ õýâëýãäýõ °ã°ãäëèéã 5100 ãýñýí ïîðòûí äóãààð äýýð õ³ëýýæ àâíà. Õýâëýã÷èéí õîëáîãäñîí êîìïüþòåðèéí íýð íü scrivener. Îäîî ýíý õýâëýã÷èä äàðààõ òåêñò ø³³ëò³³ð õýðýãëýå: #!/bin/sh # # diablo-if-net - Text filter for Diablo printer ‘scrivener’ listening # on port 5100. Installed in /usr/local/libexec/diablo-if-net # exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100
9.4.4
Õýâëýã÷ õýðýãëýõ õÿçãààðëàëò
Ýíý õýñýãò õýâëýã÷ õýðýãëýëòèéã õÿçãààðëàõ òàëààð °ã³³ëýõ áîëíî. LPD ñèñòåì õýâëýã÷èéã ãàäààä ñ³ëæýý þì óó äîòîîäîîñ õýí îëîí õóâèëàõ, õýð çýðýã òîì õýìæýýíèé àæèë õýâëýæ áîëîõ, õýâëýã÷èéí äàðààëàë õýð óðò áàéõ ¼ñòîé çýðãèéã çààæ °ã÷ áîëíî. 9.4.4.1 Îëîí õýâëýëòèéã õÿçãààðëàõ
LPD íü õýðýãëýã÷äýä íýã àéëûã îëîí õýâëýõèéã àìàð÷èëæ °ãä°ã. Õýðýãëýã÷ íàð lpr -#5 (æèøýý áîëãîæ) òóøààëààð àéëûã òàâàí óäàà õóâèëæ ÷àäíà. ³íèé ñàéí ýñýõ íü òàíààñ õàìààðíà.
Õýðýâ èíãýæ îëîí õóâèëàõ íü öàã áîëîí öààñíû äàéñàí þì áàéíà ãýæ ³çýæ áàéãàà áîë -# ñîíãîëòûã lpr(1) äýýð õîðüæ áîëîõ á°ã°°ä èíãýõèéí òóëä sc ñîíãîëòûã /etc/printcap àéë äîòîð îðóóëæ °ãí°. Õýðýâ õýðýãëýã÷ -# ñîíãîëòòîé õýâëýõ òóøààë èëãýýâýë äàðààõ ìýäýãäëèéã õàðàõ áîëíî:
lpr: multiple copies are not allowed
Õýðýâ òà àëñûí õýâëýã÷ òîõèðóóëñàí áàéâàë (Àëñûí êîìïüþòåðò õîëáîãäñîí õýâëýã÷èä õýñãýýñ õàðíà óó) sc ñîíãîëòûã àëñàä áóé êîìïüþòåðèéí /etc/printcap àéë äîòîð õèéæ °ã°õã³é áîë õýðýãëýã÷èä õ³ññýí òîîãîîðîî õóâèëæ ÷àäñààð áàéõ áîëíî. Ýíä íýã æèøýý àâöãààÿ. Äàðààõ àéë áîë àëñàä áóé rose êîìïüþòåðèéí /etc/printcap àéë. Õýâëýã÷ rattan íü íýëýýí °ã°°ì°ð á°ã°°ä õýí õ³ññýíä íü õóâèëæ °ãä°ã áàéõàä ëàçåð õýâëýã÷ bamboo íü íýëýýí õàðàì÷ áîëîõîîð °°ðò°° sc òîõèðãîîã àãóóëæ áàéíà: # #
/etc/printcap for host rose - restrict multiple copies on bamboo
250
Chapter 9 Õýâëýëò # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Îäîî sc òîõèðãîîã ì°í orchid êîìïüþòåðèéí /etc/printcap àéë äîòîð îðóóëæ °ã°õ õýðýãòýé (áèä °°ðñä°° ýíý êîìïüþòåð äýýð áàéãàà áîëîõîîð teak õýâëýã÷ äýýð îëîí õóóëáàð õèéõèéã õîðèõ áîëíî): # # /etc/printcap for host orchid - no multiple copies for local # printer teak or remote printer bamboo teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\ :if=/usr/local/libexec/ifhp:\ :vf=/usr/local/libexec/vfhp:\ :of=/usr/local/libexec/ofhp: rattan|line|diablo|lp|Diablo 630 Line Printer:\ :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:
òîõèðãîîã õýðýãëýñíýýð lpr -# òóøààëûí õýðýãëýýã õîðèõ áîëîâ÷ lpr(1) òóøààëûí îëîí óäààãèéí õýðýãëýý þì óó ýñâýë íýã óäààãèéí õýâëýãäýõ àæèëä íýã àéëûã äàðààõ ìàÿãààð îëîí èëãýýõèéã õîðèõ áîëîìæã³é:
sc
% lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
³íèéã õîðèõ îëîí àðãà áèé á°ã°°ä òà ÷°ë°°òýé îðîëäîí ³çýõ õýðýãòýé (³ë òîîìñîðëîõ àðãûã îðóóëààä). 9.4.4.2 Õýâëýã÷ ð³³ õàíäàõ õàíäàëòûã õÿçãààðëàõ
UNIX-í á³ëýãëýë áîëîí /etc/printcap àéëûí rg òîõèðãîîã àøèãëàñíààð ÿìàð õýâëýã÷ ð³³ õýí õàíäàæ þì õýâëýæ áîëîõûã òà òîõèðóóëæ áîëäîã. Íýã òîäîðõîé á³ëýãò õýðýãëýã÷äýý õàìðóóëæ îðóóëààä òýð á³ëãèéíõýý íýðèéã rg òîõèðãîîíä áè÷èæ °ã°°ä ë áîëîõ íü òýð. Õýðýâ óã á³ëýãò õàìààðààã³é õýðýãëýã÷ (root-ã îðóóëààä) òóõàéí õÿíàëòòàé õýâëýã÷ ð³³ þì õýâëýõèéã îðîëäîõ ³åä äîîðõ ìýäýãäëèéã õàðóóëàõ áîëíî: lpr: Not a member of the restricted group
251
Chapter 9 Õýâëýëò sc (suppress multiple copies áóþó îëîí õóóëáàðûã õîðèõ) òîõèðãîîíû àäèëààð àëñûí êîìïüþòåðóóä òàíû õýâëýã÷ ð³³ õàíäàõààð õýðýâ òà ç°âø°°ðñ°í áîë rg-ã òîõèðóóëàõ õýðýãòýé áîëíî. (Àëñûí êîìïüþòåðò ñóóãäñàí õýâëýã÷èä õýñãýýñ õàðíà óó) Æèøýý íü, ÿìàð ÷ õýðýãëýã÷ rattan õýâëýã÷ ð³³ õàíäàæ ÷àäàõààð, õàðèí artists á³ëãèéí õýðýãëýã÷èä ç°âõ°í bamboo õýâëýã÷èéã õýðýãëýæ áîëíî ãýæ ³çüå. Ýíä áèäíèé òàíèë rose êîìïüþòåðèéí /etc/printcap àéëûã õàðóóëæ áàéíà: # # /etc/printcap for host rose - restricted group for bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf: /etc/printcap àéëûí ( orchid ìàøèíû) òîõèðãîîã îðõèå. Ìýäýýæ orchid äýýðõ õýí ãóàé ÷ bamboo-ã õýðýãëýæ ÷àäàõã³é. Ìàãàäã³é orchid äýýðõ îíöãîé õýðýãëýã÷äèéã õýâëýã÷ ð³³ õàíäàõ ýðõ îëãîæ áîëîõ þì. ã³é ÷ áàéñàí áîëîõ þì :) Note: Õýâëýã÷ á³ðä ç°âõ°í íýã ë õÿçãààðëàõ á³ëýã áàéæ áîëíî.
9.4.4.3 Õýâëýãäýõýýð èëãýýãäýõ àéëûí õýìæýýã õÿçãààðëàõ
Õýðýâ òàíä õýâëýã÷ õýðýãëýõ ýðõòýé õýâëýã÷èä áàéãàà áîë òýäãýýðèéí õýâëýõ àéëä íü õýìæýýã íü õÿçãààðëàõ òîõèðãîî õèéõèéã õ³ñýæ áîëîõ þì. Õýäèéãýýð àéë ñèñòåì äýýðõ õýâëýã÷èéí ò³ð õàäãàëàã÷èéí ñàíä õàíãàëòòàé çàé áàéãàà ÷ ãýñýí õýðýãëýã÷ á³ðä òîõèðñîí òîäîðõîé õýìæýýã çààæ °ã°õ øààðäëàãà ãàð÷ ìàãàäã³é. LPD íü mx òîõèðãîîíä çààæ °ãñ°í áàéòûí õýìæýýãýýð õýâëýãäýõ àæëûí õýìæýýã õÿçãààðëàõ áîëîìæ °ãä°ã. Õýìæèõ íýãæ íü BUFSIZ-ä çààæ °ãñ°í áàãöûí õýìæýý áàéäàã áà íýã áàãö íü 1024 áàéò áàéäàã áèëýý. Õýðýâ òà ýíý òîõèðãîîíä òýãèéí òîî áè÷èõ þì áîë àéëûí õýìæýýíä õÿçãààð òàâèõã³é áîëíî. ýõäýý òà ÿìàð ÷ mx òîõèðãîî çààæ °ã°°ã³é áîë àíõäàã÷ õÿçãààðëàëò íü 1000 áàãö áàéäàã. Note: Ýíý õÿçãààðëàëò íü õýâëýãäýõ ãýæ áóé àéëä
ãýñýí ³ã áèø.
õàìààòàé áîëîõîîñ õýâëýãäýõ á³õ àæëóóäûã õÿçãààðëàíà
LPD íü õýâëýãäýõ àéë íü õÿçãààðëàñàí õýìæýýíýýñ èõ àéë èðâýë òàòãàëçäàãã³é õàðèí õÿçãààð õ³ðòýëõ õýìæýýã íü õýâëýõ äàðààëàëä îðóóëæ °ãä°ã á°ã°°ä òýð õýñýã íü õýâëýãääýã. ëäñýí õýñýã íü öóöëàãäàõ áîëíî. Èéìýðõ³³ õÿçãààðëàëò íü ç°â áóðóó ýñýõ íü òàíû øèéäýë áèëýý.
252
Chapter 9 Õýâëýëò
Áèäíèé æèøýý áîëñîí rattan áîëîí bamboo íàð äýýðýý õÿçãààðëàëò õèéæ ³çýöãýýå. artists-í PostScript àéëóóä èõ õýìæýýòýé áàéõ õàíäëàãàòàé áàéäàã áîëîõîîð òýäãýýðèéã òàâàí ìåãàáàéòààñ õýòðýõã³é ãýæ õÿçãààðëàÿ. Ýíãèéí òåêñò àéëä õàðèí ÿìàð ÷ õÿçãààðëàëò °ã°õã³é áàéÿ: # # #
/etc/printcap for host rose
# # No limit on job size: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:mx#0:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple: # # Limit of five megabytes: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Ç°âõ°í äîòîîä õýðýãëýã÷äýä èéì õÿçãààðëàëò õýðýãæèõ áîëíî ãýäãèéã äàõèí ñàíóóëúÿ. Õýðýâ òà àëñàä áóé õýâëýã÷èä èéì õÿçãààðëàëò õèéâýë àëñààñ õàíäàãäàæ áóé õýðýãëýã÷äýä ýíý õÿçãààðëàëò õ³÷èíã³é. ³íèéã áèåë³³ëýõèéí òóëä àëñàä áóé ìàøèíû /etc/printcap àéë äîòîð mx òîõèðãîîã çààæ °ã°õ ¼ñòîé. Àëñàä áóé êîìïüþòåð äýýð õîëáîãäñîí õýâëýã÷èä õýñãýýñ àëñûí õýâëýëò õèéõ òàëààð óíøààðàé. Àëñàä áóé õýâëýã÷èä õÿçãààðëàëò òàâèõ °°ð íýã îíöãîé àðãà áàéäàã. Àëñûí õîñò äýýð õýâëýõ ³éëäëèéã õÿçãààðëàõ õýñãýýñ äýëãýðýíã³é óíøèíà óó. 9.4.4.4 Àëñààñ õîñò äýýð õýâëýõ ³éëäëèéã õÿçãààðëàõ
LPD íü àëñûí êîìïüþòåðààñ èëãýýãäñýí õýâëýõ àæëûã áàñ õÿíàæ áîëäîã áîëîìæ îëãîäîã:
Êîìïüþòåðýýð íü õÿçãààðëàõ Äîòîîä LPD ðóó ÿìàð êîìïüþòåð õàíäàæ áîëîõûã /etc/hosts.equiv áîëîí /etc/hosts.lpd àéëä çààæ °ãñí°°ð õÿíàæ áîëäîã. LPD íü ñàÿíû õî¼ð àéëûí àëü íýãýíä íü õýâëýëò õ³ññýí êîìïüþòåðèéí íýð áàéãàà ýñýõèéã øàëãàäàã. Õýðýâ íýð íü áàéõã³é áîë LPD óã õ³ñýëòýýñ òàòãàëçäàã. Óã àéëûí çàãâàð áîë òóí ýíãèéí. /etc/hosts.equiv àéë íü ì°í ruserok(3) ïðîòîêîëä õýðýãëýãääýã á°ã°°ä rsh(1) áîëîí rcp(1) çýðýã ïðîãðàìä í°ë°°ëä°ã áîëîõîîð òóí áîëãîîìæòîé õýðýãëýõèéã ñàíóóëæ áàéíà. Æèøýý íü, rose êîìïüþòåð äýýðõ /etc/hosts.lpd àéë: orchid violet madrigal.fishbaum.de
253
Chapter 9 Õýâëýëò
Ýíý íü òýãýõýýð rose êîìïüþòåð íü orchid, violet, áîëîí madrigal.fishbaum.de çýðýã êîìïüþòåðààñ õýâëýõ õ³ñýëò õ³ëýýæ àâ÷ áîëíî ãýñýí ³ã. Õýðýâ ýäãýýðýýñ °°ð êîìïüþòåðóóä rose-í LPD ðóó õàíäàõûã õ³ñâýë òýð õ³ñýëò íü òàòãàëçàãäàõ áîëíî. Õýìæýýãýýð íü õÿçãààðëàõ Ò³ð õàäãàëàã÷ ñàíä áàéðëàæ áîëîõ àéëóóäûí õýìæýý íü õýä õ³ðòýë áàéæ áîëîõûã õÿíàæ áîëäîã. Äîòîîä õýâëýã÷èä çîðèóëñàí ò³ð õàäãàëàõ ñàí äîòîð minfree íýðòýé àéë ³³ñãýõ õýðýãòýé. Óã àéë äîòîð àëñààñ èðñýí õýâëýãäýõ àæëûí õýìæýý íü õè÷íýýí äèñêíèé áàãöààð (512 áàéò) áàéæ áîëîõ äóãààðûã áè÷èæ °ãä°ã. Èíãýñíýýð àëñààñ õýðýãëýõ õýðýãëýã÷èä òàíû äèñêèéã ä³³ðãýõýýñ ñýðãèéëíý. Òà ýíý àéëûã àøèãëàñíààð áàñ òîäîðõîé äîòîîä õýðýãëýã÷äýä äàâóó ýðõèéí äàðààëàë òîãòîîæ áîëäîã áà minfree àéëä çààæ °ãñ°í õýìæýýíýýñ õýòýðñýí õýìæýýãýýð íü äàðààëàë òîãòîîäîã. Æèøýý áîëãîæ minfree àéëûã bamboo õýâëýã÷èä çîðèóëæ íýìæ ³çüå. Áèä /etc/printcap àéë äýýð äàäëàãà õèéõ á°ã°°ä õýâëýã÷èä çîðèóëñàí ò³ð õàäãàëàã÷ òîõèðóóëñàí õýñãèéã íü îëæ õàðöãààÿ. Èíãýýä bamboo-í îðóóëãûã õàðóóëúÿ: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ :if=/usr/local/libexec/psif:\ :df=/usr/local/libexec/psdf:
Ò³ð õàäãàëàõ ñàíã sd òîõèðãîîíû õýñýãò çààæ °ãñ°í áàéíà. Îäîî LPD-í àëñààñ èëãýýãäñýí õýâëýãäýõ àæèëä çîðèóëæ ãóðâàí ìåãàáàéò õýìæýýã (6144 äèñêíèé áàãö) çààæ °ãöã°°å. : # echo 6144 > /var/spool/lpd/bamboo/minfree
Õýðýãëýã÷ýýð íü õÿçãààðëàõ Òà ÿìàð õýðýãëýã÷ àëñààñ õýâëýõ õ³ñýëò òàâüæ áîëîõûã /etc/printcap àéë äîòîð rs òîõèðãîîíû õýñýãò çààæ °ãä°ã. Õýðýâ äîòîîä õýâëýã÷èéí îðóóëãûí õýñýãò rs ãýæ õàðàãäâàë LPD íü àëñààñ õýâëýõ õ³ñýëò èëãýýñýí êîìïüþòåðèéí õýðýãëýã÷ õýðýâ äîòîîä êîìïüþòåð äýýðõ íýâòðýõ ýðõòýé èæèëõýí íýðòýé õýðýãëýã÷ áàéâàë ç°âø°°ð°ë °ã÷ õýâë³³ëíý. Áóñàä òîõèîëäîëä LPD íü òóõàé àæëûã õýâëýõýýñ òàòãàëçàíà. Ýíý òîõèðãîî íü (æèøýýëáýë) íýã õýâëýã÷èéã õóâààæ õýðýãëýäýã îëîí ñàëáàðòàé áàéãóóëëàãàä àøèãëàãäàæ áîëîõ á°ã°°ä çàðèì õýðýãëýã÷èä íü õýä õýäýí ñàëáàðò õàðüÿàëàãääàã áîë óã õýðýãëýã÷èä ýðõ °ãñí°°ð °°ðèéíõ°° áàéãàà ñàëáàðààñ °°ð ñàëáàðò áóé õýâëýã÷èä õýâëýõ àæèë èëãýýõ ìàÿãààð àøèãëàæ áîëîõ þì. Õýðýâ òà òýäãýýð õýðýãëýã÷äèéã ç°âõ°í òàíû õýâëýã÷èéã ë õýðýãëýõ á°ã°°ä áóñàä ç³éëñèéã àøèãëóóëàõã³é ãýæ áîäîæ áàéãàà áîë òýä íàðò ýõëýë ñàí áàéõã³é á°ã°°ä /usr/bin/false ãýñýí õýðýãëýãäýõã³é á³ðõ³³ëòýé “õÿçãààðëàãäìàë” á³ðòãýë ³³ñãýõ õýðýãòýé. 9.4.5
Õýâëýã÷èéí õýðýãëýýíä á³ðòãýë òîîöîõ
Çà òýãýõýýð òà õýâëýëò áîëãîíä ì°íã° òîîöîõ øààðäëàãà áàéã. Öààñ áîëîí õýâëýõ õîðíóóäûã ì°íã°°ð àâäàã áîëîõîîð ÿàãààä áîëîõã³é ãýæ? Ì°í äýýðýýñ íü õýâëýã÷èéí ýä àíãè áàéíãà õ°ä°ëæ ýâäðýõ ìàãàäëàëòàé áàéäàã áîëîõîîð õýâëýã÷ýý òîðäîõ íü áàñ ³íýòýé áèëýý. Òà õýâëýã÷ýý àð÷èëæ õóóäàñ
254
Chapter 9 Õýâëýëò
áîëãîíäîî (ýñâýë õóóäàñíû õýñýã á³ðä, ãàð÷èã á³ðä, ýñâýë þó ÷ áàéñàí ÿàõàâ) ì°íã° òîîöîõûã õ³ñýâ. Òýãýõýýð òà ÿàæ õýâëýãäñýí õóóäàñ áîëãîíä ì°íã° òîîöîæ ÷àäàõ âý? ýõäýý, æààõàí òààã³é ìýäýý íü þó âý ãýõýýð LPD ò³ð õàäãàëàã÷ ãóàé èéìýðõ³³ òàëûí ³éë÷èëãýý õèéõäýý òóí òààðóó þì. Èéìýðõ³³ á³ðòãýë òîîöîî íü õýâëýã÷ýý õýðõýí àøèãëàõààñ èõ õàìààðäàã á°ã°°ä õýâëýãäýõ çàãâàð, ì°í òàíû õýâëýã÷ýýñýý ì°íã° îëáîðëîõ øààðäëàãààñ èõ øàëòãààëíà. Á³ðòãýë òîîöîî õèéõèéí òóëä òà õýâëýã÷èéíõýý òåêñò ø³³ëò³³ðèéã °°ð÷ë°õ õýðýãòýé (ýíãèéí òåêñò àæëààñ ì°íã° òîîöîõûí òóëä) á°ã°°ä ì°í õóâèðãàã÷ ø³³ëò³³ð³³äèéã áàñ (ì°í áóñàä àéë ò°ðë³³äýýñ) °°ð÷ë°õ øààðäëàãàòàé. Ýíãèéí ø³³ëò³³ð àøèãëààä òà á³ðòãýë òîîöîî õèéæ ÷àäàõã³é. س³ëò³³ð õýñãèéã õàðíà óó. Åð°íõèéä°° á³ðòãýë òîîöîî õèéæ áîëîõ õî¼ð àðãà áèé: å÷ëýí á³ðòãýë òîîöîõ ãýäýã áîë òóí àìàðõàí á°ã°°ä áàéíãà õýðýãëýãääýã àðãà. Õýí íýãýí õýâëýõ ³åä õýðýãëýã÷èéí íýð, êîìïüþòåðèéí íýð, ì°í õýâëýñýí õóóäàñíû äóãààð çýðãèéã á³ðòãýë àéëä õàäãàëäàã. Õýâëýã÷äýý çîðèóëñàí íýãæèéíõ íü òîîöîîã òà ñàðààð, ýñâýë æèëýýð, ýñâýë °°ðèéíõ°° çààñàí õóãàöààãààð õýðýãëýã÷ á³ðèéí õóâüä òîõèðñîí æàãñààëò àâ÷ áîëäîã. Èíãýæ á³ðòãýë òîîöîî õèéãýýä óã àéëûã öýâýðëýæ äàðààãèéí ³åýð íü ì°í òîîöîî õèéõýýð áýëòãýíý. • Öàãààð á³ðòãýæ òîîöîõ ãýäýã íü æààõàí õýö³³ áîëîõîîð íýëýýí áàãà õýðýãëýãääýã. Ýíý àðãàíä õýðýãëýã÷äèéã õýâëýæ ýõëýíã³³ò òîîöîî õèéäýã ø³³ëò³³ð áàéäàã. Äèñêíèé õýìæýý õÿçãààðëàã÷òàé èæèëõýí ýíý á³ðòãýë òîîöîî íü õàðüöàíãóé øóëóóõàí ã³éöýòãýãääýã. Òà õýðýãëýã÷äèéí á³ðòãýëä çààãäñàí õýìæýý äóóñàõ ä°õ°õ°°ð õýâë³³ëýõã³é áîëãîæ áîëîõîîñ ãàäíà õýðýãëýã÷äýä °°ðñäèéí “õýâëýõ õóâèéã” øàëãàæ òîõèðóóëàõ áîëîìæèéã îëãîí òîõèðóóëæ áîëîõ þì. ýâ÷ ýíý àðãà íü õýðýãëýã÷èéí á³ðòãýë áîëîí òýäãýýðèéí õÿçãààðëàñàí õýìæýýã ì°ðä°õèéí òóëä çàðèì °ã°ãäëèéí áààç ðóó õàíäàõ øààðäëàãàòàé áàéäàã. Òà øààðäàãäàõ ø³³ëò³³ð³³äèéã, ì°í á³ðòãýæ òîîöîî õèéõ êîäûã íü õàíãàæ ÷àäàæ ë áàéâàë LPD ò³ð õàäãàëàã÷ ñèñòåì íü °ìí° òàéëáàðëàñàí õî¼ð àðãûã äýìæäýã. Á³ðòãýæ òîîöîõ àðãàíä áàñ îíöãîé òàë áàéäàã. Æèøýý íü òà ³å÷èëæ ³³ ýñâýë öàãààð òîîöîõ óó ãýäãýý ñîíãîæ áîëíî. Òà ÿìàð ìýäýýëëèéã á³ðòãýæ áè÷èõýý ñîíãîíî: õýðýãëýã÷èéí íýð, êîìïüþòåðèéí íýð, õýâëýñýí ò°ð°ë, õýâëýãäñýí õóóäàñíû òîî, çàãâàð, õýð óäààí õýðýãëýñýí ãýõ ìýò. Òà ø³³ëò³³ð³³äèéã °°ð÷èëæ ýäãýýð ìýäýýëëèéã õàäãàëäàã áîëãîõ õýðýãòýé. •
9.4.5.1 Õýâëýëòýä òîîöîî õèéõ ò³ðãýí á°ã°°ä áîõèð àðãà
FreeBSD íü á³ðòãýë òîîöîî õèéõýä õýðýãëýãäýõ õî¼ð ³å÷ëýí òîîöîî õèéäýã ïðîãðàìòàé õàìò èðäýã. Òýäãýýð íü lpf òåêñò ø³³ëò³³ð³³ä á°ã°°ä lpf: Òåêñò ø³³ëò³³ð õýñýãò òàéëáàðëàãäñàí áàéãàà. Í°ã°°õ íü pac(8) á°ã°°ä ýíý íü õýâëýëòèéí á³ðòãýë òîîöîî õèéõ àéëä áóé îðóóëãóóäûã öóãëóóëäàã ïðîãðàì.
س³ëò³³ðèéí õýñýãò òàéëáàðëàñíû äàãóó (س³ëò³³ð³³ä), LPD íü òåêñò áîëîí õóâèðãàã÷ ø³³ëò³³ðèéã á³ðòãýë àéëòàé íü õàìò ø³³ëò³³ðèéí òóøààëûí ì°ðí°°ñ ýõë³³ëäýã. س³ëò³³ð íü èíãýæ òóøààëûí ì°ðí°°ñ àâñàí óòãààð õààíà á³ðòãýë àéëä îðóóëàõ âý ãýäãýý ìýääýã. Ýíý àéëûí íýð íü /etc/printcap àéë äîòîðõ af òîõèðãîîíä çààãäñàí áàéäàã áà õýðýâ àéëûíõ íü çàì íü ÿã íàðèéâ÷èëæ çààãäààã³é áàéãàà áîë ò³ð õàäãàëàã÷èéí ñàíãèéí áàéðëàëòàé õàðüöàíãóé õýëáýðýýð ì°í çààæ °ã÷ áîëíî. LPD íü lpf-ã õóóäàñíû °ðã°í áîëîí °íäðèéí óòãàòàé íü (pw áîëîí pl òîõèðãóóëààñ àâ÷) ýõë³³ëäýã. lpf íü ýäãýýð óòãûã àøèãëàæ õè÷íýýí õóóäàñ õýâëýãäýõ âý ãýäãèéã òîäîðõîéëäîã. Ôàéëûã õýâëýã÷ ð³³ èëãýýñíèé äàðàà á³ðòãýë òîîöîîíû àéëä òîîöîî õèéõ óòãà íü îðóóëàãääàã. Ýíý îðóóëãà íü äàðààõ ìàÿãòàé áàéäàã:
255
Chapter 9 Õýâëýëò 2.00 3.00 3.00 5.00 2.00
rose:andy rose:kelly orchid:mary orchid:mary orchid:zhang
Òà áîëæ °ãâ°ë õýâëýã÷ áîëãîíä òóñ òóñàä íü á³ðòãýë òîîöîîíû àéë õ°òë°õ õýðýãòýé. Ó÷èð íü lpf-ä ÿìàð ÷ ò³ãæèæ çîõèöóóëäàã øèíæ ÷àíàð áàéõã³é áîëîõîîð õî¼ð lpf-óóä íýã àéëä õàíäàõ òîõèîëäîëä ì°ðã°ëä°°í ³³ñýæ áîëçîøã³é. Òóñ òóñàä íü á³ðòãýë òîîöîîíû àéë õ°òë°õ àìàð àðãà áîë /etc/printcap äîòîð af=acct ãýñýí òîõèðãîîã îðóóëàõ õýðýãòýé. Äàðàà íü õýâëýã÷èä çîðèóëñàí ò³ð õàäãàëàõ ñàí á³ðä acct ãýñýí àéë õ°òë°ãä°õ áîëíî. Õýðýãëýã÷äýýñ õýâëýëòèéí ò°ëá°ðèéã øààðäàõ ³åäýý pac(8) ïðîãðàìûã àæèëëóóëàõ õýðýãòýé. Òîîöîî õèéõ õýâëýã÷èéíõýý ò³ð õàäãàëàõ ñàíä îðîíãóóòàà pac ãýñýí òóøààë àæèëëóóëàõàä áîëíî. Äàðàà íü äîëëàðààð òîîöñîí äàðààõ ìàÿãèéí ³ð ä³íã õàðàõ áîëíî: Login orchid:kelly orchid:mary orchid:zhang rose:andy rose:kelly rose:mary rose:root total
pages/feet 5.00 31.00 9.00 2.00 177.00 87.00 26.00 337.00
runs 1 3 1 1 104 32 12
$ $ $ $ $ $ $
price 0.10 0.62 0.18 0.04 3.54 1.74 0.52
154
$
6.74
pac(8)-òàé õàìò õàâñðóóëæ õýðýãëýäýã ñîíãîëòóóäûã æàãñààæ õàðóóëúÿ: -Põýâëýã÷
Ýíý íü òîîöîî áîäîõ õýâëýã÷ èéã çààæ °ãí°. /etc/printcap àéë äîòîðõ af ñîíãîëòîä ÿã íàðèéâ÷èëñàí àéëûí çàì çààæ °ãñ°í ³åä ë ýíý íü õýðýãæäýã. -c
Õýðýãëýã÷äèéí íýðýýð áèø ³íýýð íü ýðýìáýëæ õàðóóëäàã. -m
Òîîöîî õèéõ àéëààñ êîìïüþòåðèéí íýðèéã àëãàñàæ õàðóóëäàã. Èéì ³åä alpha êîìïüþòåð äýýðõ smith íýðòýé õýðýãëýã÷ gamma êîìïüþòåð äýýðõ smith íýðòýé õýðýãëýã÷ýýñ ÿëãàðäàãã³é. -p³íý /etc/printcap àéëä áóé pc òîõèðóóëãàä çààæ °ãñ°í ³íèéí îðîíä íýãæ õóóäàñ áîëãîíûã ³íý ýýð ³íýëæ äîëëàðààð òîîöäîã á°ã°°ä ýñâýë õî¼ð öåíòýýð ( àíõäàã÷ õýìæýý íü) òîîöíî. Òà ýíý ³íý -ã áóòàðõàé òîîí õýëáýðýýð áàñ áè÷èæ áîëíî. -r
Ýðýìáýëýõ äàðààëëûã ýñðýãýýð ³éëäýíý.
256
Chapter 9 Õýâëýëò -s
Ò°ëá°ð òîîöîîíû ä³ãíýñýí õóóäàñ ³³ñãýæ á³ðòãýë òîîöîîíû àéëûã áîãèíîñãîäîã. õýðýãëýã÷ ...
Ç°âõ°í çààæ °ãñ°í õýðýãëýã÷èéí á³ðòãýë òîîöîîã õàðóóëíà. pac(8) áîëîâñðóóëñàí àíõäàã÷ òîîöîîíä ÿíç á³ðèéí êîìïüþòåðààñ õýâëýñýí õýðýãëýã÷ á³ðä õóóäàñíûõ íü äóãààðûã õàðóóëäàã. Õýðýâ òàíä êîìïüþòåðèéí íýð õàðóóëàõ øààðäëàãà áàéõã³é (õýðýãëýã÷ ÿíç á³ðèéí ìàøèíààñ õýâëýñýí áàéæ áîëíî) ãýæ ³çâýë pac -m ãýñýí òóøààëààð äîîðõ ìàÿãààð ³ð ä³íã õàðàõ áîëíî: Login andy kelly mary root zhang total
pages/feet 2.00 182.00 118.00 26.00 9.00 337.00
runs 1 105 35 12 1
$ $ $ $ $
price 0.04 3.64 2.36 0.52 0.18
154
$
6.74
Äîëëàðûí õýìæýýã òîîöîõûí òóëä pac(8) íü /etc/printcap äîòîðõ pc òîõèðãîîíû óòãûã àøèãëàäàã (àíõäàã÷ óòãà íü õóóäàñ áîëãîíä 200, ýñâýë 2 öåíò ãýæ áàéäàã). Ýíý òîõèðóóëãàä õóóäàñ á³ðä þì óó ýñâýë àëõàì á³ðä òîîöîõ öåíò³³äèéã çààæ °ãä°ã. Òà ýíý óòãûã pac(8)-ã àæèëëóóëàõäàà -p ãýñýí õàâñðàëò ñîíãîëòîîð äàðæ õýðýãëýæ áîëäîã. -p ñîíãîëòîä õýðýãëýõ óòãà íü öåíòýýð áèø äîëëàðààð áàéõ ¼ñòîé. Æèøýý íü, # pac -p1.50
ãýñíýýð õóóäàñ á³ð íýã äîëëàð òàâèí öåíò áîëæ áàéíà. Òà ýíý òîõèðãîîã àøèãëàæ ³íýõýýð àøèã îëæ áîëîõ þì ø³³. Ýöýñò íü pac -s ãýæ òóøààñíààð ä³ãíýñýí òîîöîîã ä³íãèéí á³ðòãýë àéë óðóó õàäãàëàõ á°ã°°ä ýíý àéë íü õýâëýã÷èéí òîîöîîíû àéëûí íýðèéí àðä íü _sum ãýæ çàëãàãäñàí íýðòýé àéë áîëæ õàäãàëàãäàíà. Äàðàà íü á³ðòãýëèéí àéëûã áîãèíîñãîäîã. Õýðýâ òà pac(8)-ã äàõèí àæèëëóóëáàë ýíý íü ä³ãíýëò àéëààñ íèéò óòãûã óíøèæ àâààä åðäèéí òîîöîîíû àéëààñ àâñàí óòãàí äýýð íýìýýä åð°íõèé íèéò íèéëáýðèéã õàðóóëàõ áîëíî. 9.4.5.2 Õýâëýãäñýí õóóäàñíû òîîã ÿàæ òîîöîõ âý?
Á³ð àëñààñ á³ðòãýë õèéëòèéã ç°â õèéæ ã³éöýòãýõèéí òóëä àæèë õýð èõ öààñ àøèãëàäãèéã òà òîäîðõîéëæ ÷àääàã áàéõ õýðýãòýé. Ýíý íü õýâëýã÷èéí á³ðòãýë õèéëòèéí ³íäñýí àñóóäàë þì. Öýâýð òåêñò àæëóóäûí õóâüä ýíý àñóóäëûã øèéäýõ íü òèéì ÷ õýö³³ áèø þì: òà àæèëä õè÷íýýí ì°ð áàéãààã òîîëæ òýð òîîãîî òàíû õýâëýã÷ íýã õóóäñàíäàà õè÷íýýí ì°ðèéã äýìæäýãòýé õàðüöóóëàõ õýðýãòýé. Ì°ð³³äèéã äàâõàð õýâëýäýã àéë äàõü óñòãàõ òýìäýãò³³ä ýñâýë íýã áóþó õýä õýäýí íýìýëò ì°ð³³ä áîëäîã óðò ëîãèê ì°ð³³äèéã áîäîëöîõîî ìàðòóóçàé. Òåêñò ø³³ëò³³ð lpf (lpf: Òåêñò ø³³ëò³³ð õýñýãò òàíèëöóóëàãäñàí) íü á³ðòãýë õèéõäýý ýäãýýð ç³éëñèéã áîäîëöäîã. Á³ðòãýë õèéõ õýðýãòýé òåêñò ø³³ëò³³ð òà áè÷èæ áàéãàà áîë lpf-èéí ýõ êîäûã òà ìàãàäã³é ³çýõèéã õ³ñýæ áîëîõ þì. Òýãýõýýð òà áóñàä àéëûí õýëáýðøèëò³³äòýé õýðõýí àæèëëàõ âý?
257
Chapter 9 Õýâëýëò DVI-ààñ-LaserJet ýñâýë DVI-ààñ-PostScript ðóó õèéõ õ°ðâ³³ëýëòèéí õóâüä dvilj ýñâýë dvips òóøààëààñ ãàðàõ îíîøëîãîîíû ãàðàëòûã òà °°ðèéí ø³³ëò³³ðýýð îðóóëæ õè÷íýýí õóóäàñíóóä õ°ðâ³³ëýãäñýíèéã õàéæ îëæ áîëîõ þì. Áóñàä àéëûí õýëáýðøèëò³³ä áîëîí õ°ðâ³³ëýõ ïðîãðàìóóäûí õóâüä òà ýäãýýðòýé ò°ñòýé ç³éëñèéã õèéæ ÷àäàõ ¼ñòîé. ýõäýý õýâëýã÷ íü òýäãýýð á³õ õóóäàñíóóäûã æèíõýíýäýý õýâëýõã³é áàéæ áîëîõ ñóë òàë ýíý àðãóóäàä àæèãëàãääàã. Æèøýý íü öààñ ãàöàõ, õîð äóóñàõ, ýñâýë äýëáýðñýí õýð íü õýðýãëýã÷èä ò°ëá°ð íîîãäóóëñàí õýâýýð áàéæ áîëîõ çýðãèéã äóðäàæ áîëîõ þì. Òýãýõýýð òà þó õèéæ ÷àäàõ âý? Ç°â á³ðòãýë õèéõ öîðûí ãàíö íàéäâàðòàé àðãà áàéäàã. Õè÷íýýí öààñ àøèãëàäàã áîëîõîî õýëæ ÷àääàã õýâëýã÷ àâààä öóâàà øóãàìààð þì óó ýñâýë ñ³ëæýýãýýð çàëãàõ õýðýãòýé. Áàðàã á³õ PostScript õýâëýã÷³³ä ³³íèéã äýìæäýã. Áóñàä çàãâàðóóä áàñ èíãýæ ÷àääàã (æèøýý íü ñ³ëæýýíä õîëáîãäñîí Imagen laser õýâëýã÷³³ä). Õýâëýã÷³³äèéã àæèë á³ðèéã õýâëýñíèéõýý äàðàà õóóäàñíûõàà õýðýãëýýã àâ÷ ç°âõ°í òýð óòãà äýýðýý ³íäýñëýí á³ðòãýëèéí ìýäýýëëýý á³ðòã³³ëäýã áîëãîõûí òóëä ýäãýýð õýâëýã÷³³äèéí õóâüä ø³³ëò³³ð³³äèéã °°ð÷ë°õ õýðýãòýé. Ì°ð òîîëîõ ýñâýë àëäààã³é àéë øàëãàëò øààðäëàãàã³é þì. Ìýäýýæ òà ³ðãýëæ °ã°°ì°ð áàéæ á³õ õýâëýëòèéã ³íýã³é áîëãîæ áîëîõ þì.
Õýâëýã÷äèéã àøèãëàõ íü
9.5
Ýíý õýñýãò òàíû FreeBSD äýýð òîõèðóóëñàí õýâëýã÷èéã õýðõýí õýðýãëýõ òàëààð °ã³³ëýõ áîëíî. Õýðýãëýã÷èéí àøèãëàæ áîëîõ òóøààëóóä íü: lpr(1)
Õýâëýõ ³éëäëèéã ã³éöýòãýäýã lpq(1)
Õýâëýã÷èéí õýâëýõ äàðààëëûã øàëãàäàã lprm(1)
Õýâëýã÷èéí õýâëýõ äàðààëëààñ óñòãàäàã Ýíä ì°í óäèðäàæ çîõèöóóëàõ òóøààëóóä áàéäàã. Òýð íü Õýâëýã÷äèéã çîõèöóóëàõ õýñýãò °ã³³ëñýí lpc(8) òóøààë þì. lpr(1), lprm(1), ì°í lpq(1) ãýñýí ýäãýýð òóøààëóóä íü á³ãäýýðýý -P õýâëýã÷èéí-íýð ãýñýí ñîíãîëò àâäàã á°ã°°ä ³³ãýýðýý /etc/printcap àéëä áóé õýâëýã÷/äàðààëàëòàé àæèëëàäàã. Ýíý íü õýâëýã÷èéí àæëûã íýìýõ, óñòãàõ ýñâýë õýâëýãäýæ áàéãàà àæëûã øàëãàõ çýðýãò õýðýãëýãääýã. Õýðýâ òà -P ñîíãîëò õýðýãëýäýãã³é áîë PRINTER ãýñýí îð÷íû õóâüñàã÷èéí óòãûã ýíý òóøààë õýðýãëýäýã. Ýöýñò íü õýðýâ òàíä PRINTER îð÷íû õóâüñàã÷ çàðëàãäààã³é áîë lp íýðòýé õýâëýã÷èéã àíõäàã÷ õýâëýã÷ ãýæ õàíääàã. Ýíä àíõäàã÷ õýâëýã÷ ãýäýã íü PRINTER îð÷íû õóâüñàã÷ äîòîð áóé õýâëýã÷ þì óó ýñâýë óã îð÷íû õóâüñàã÷èä õýâëýã÷ çààãäààã³é áàéâàë lp ãýñýí íýðòýé õýâëýã÷ áàéíà ãýæ àâ÷ ³çýõèéã õýëæ áàéãàà þì. 9.5.1
Õýâëýõ àæèëëàãàà
Ôàéëûã õýâëýõèéí òóëä:
258
Chapter 9 Õýâëýëò % lpr
filename ...
Ýíý íü æàãñààæ °ãñ°í àéëóóäûã àíõäàã÷ õýâëýã÷ ð³³ èëãýýæ õýâëýäýã. Õýðýâ òà ÿìàð ÷ àéë çààæ °ã°°ã³é áîë lpr(1) íü ãàðíààñ îðóóëàõ óòãóóäûã õýâëýã÷ ð³³ èëãýýäýã. Æèøýý íü äàðààõ òóøààë íü ñèñòåìèéí ÷óõàë àéëóóäûã õýâëýíý: % lpr /etc/host.conf /etc/hosts.equiv
Õýâëýã÷èéã îíöãîéëæ ñîíãîõûã õ³ñâýë : % lpr -P printer-name
filename ...
Äàðààõ æèøýýí äýýð òóõàéí áàéãàà ñàíãèéí àéëóóäûã æàãñààæ rattan íýðòýé õýâëýã÷ ð³³ èëãýýõèéõ õàðóóëàõ áîëíî: % ls -l | lpr -P rattan
ßìàð ÷ àéëûí æàãñààëò °ã°°ã³é áîëîõîîð lpr(1) òóøààë íü ls -l òóøààëûí ãàðàëòûã °°ðèéíõ°° îðóóëãà ãýæ àâ÷ ³çñýí áàéíà. lpr(1) òóøààë íü àéë õóâèðãàëò õèéõ, îëîí õóóëáàðëàæ õýâëýõ ãýõ ìýò÷èëýí ìàø îëîí ò°ðëèéí ñîíãîëò õ³ëýýí àâ÷ õýâëýõ ³éëäëèéíõýý çàãâàðûã °°ð÷èëæ ÷àääàã. Õýâëýõ ñîíãîëòóóä õýñãýýñ íýìýëò ìýäýýëë³³äèéã óíøèíà óó. 9.5.2
Õýâëýæ áóé àæëûã øàëãàõ
lpr(1) òóøààëààð õýâëýãäýõ ç³éëñ LPD ò³ð õàäãàëàã÷ äýýð î÷äîã á°ã°°ä òýäãýýðèéã åð°íõèéä íü “õýâëýãäýõ àæèë” ãýæ íýðëýäýã. Õýâëýã÷ áîëãîíä õýâëýãäýõ ¼ñòîé àæëóóä æàãñààãäñàí áàéäàã á°ã°°ä
òàíû õýâëýõèéã õ³ññýí þì òàíü áóñàä õýðýãëýã÷èäòýé àäèëõàí õýâëýãäýõ äàðààëàëä ýýëæýý õ³ëýýãýýä çîãñîæ áàéäàã. Õýâëýã÷ íü èðñýí ç³éëñèéã õýí-ò³ð³³ëæ-èðíý ò³³íèéã-ò³ð³³ëæ-õýâëýíý ãýñýí çàð÷èì áàðèìòàëæ õýâëýäýã. Àíõäàã÷ õýâëýã÷èéí äàðààëëûã õàðóóëàõûí òóëä lpq(1) òóøààëûã áè÷äýã. Õýðýâ õýâëýã÷ýýð íü ñîíãîæ õàðàõûã õ³ñâýë -P ñîíãîëò õýðýãëýäýã. Æèøýýëáýë % lpq -P bamboo
ãýñýí òóøààë íü bamboo íýðòýé õýâëýã÷ äýýð áàéãàà õýâëýõ äàðààëëûã õàðäàã. Äîîðõ õýñýãò lpq òóøààëûí ãàðàëòûã õàðóóëàâ: bamboo Rank active 2nd 3rd
is ready Owner kelly kelly mary
and printing Job Files 9 /etc/host.conf, /etc/hosts.equiv 10 (standard input) 11 ...
Total Size 88 bytes 1635 bytes 78519 bytes
Ýíý íü bamboo õýâëýã÷èä ãóðâàí àéë æàãñààãäàí ýýëæýý õ³ëýýæ áàéãààã õàðóóëñàí áàéíà. Ýõíèé ýýëæèò àæëûã kelly õýðýãëýã÷ èëãýýñýí á°ã°°ä “õýâëýõ äóãààð íü” 9 áàéíà. Õýâëýõ àæèë áîëãîí äàâòàãäààã³é °°ðèéí ãýñýí äóãààð àâäàã. Òà õýâëýõ äàðààëëûí ýíý äóãààðûã õýðýãñýõã³é áàéæ áîëîõ ÷ ãýñýí õýðýâ õýâëýõ àæëûã öóöëàõ õýðýã ãàðâàë óã äóãààðûã ìýäýæ áàéõ íü òàíä õýðýãòýé áèëýý. Ýíý òàëààð Õýâëýõ àæëûã óñòãàõ õýñãýýñ õàðíà óó.
259
Chapter 9 Õýâëýëò
Åñ ãýñýí äóãààðòàé õýâëýõ àæèë íü õî¼ð øèðõýã àéëààñ á³òñýí áàéíà. lpr(1) òóøààëä õýðýâ îëîí àéë °ãñ°í áîë òýäãýýðèéã íýã àæèëä òîîöäîã. Ýíý àæèë íü îäîîãèéí èäýâõèòýé àæèë (“Rank” íýðòýé áàãàíàä active ãýæ áè÷ñýí áàéãààã àíõààðíà óó) á°ã°°ä õýâëýã÷ ÿã îäîî ò³³íèéã õýâëýæ áàéíà ãýñýí ³ã. Õî¼ð äàõü àæèë íü ñòàíäàðò îðóóëãààñ lpr(1) òóøààë óðóó èëãýýãäñýí àæèë áàéíà. óðàâ äàõü àæèë íü mary õýðýãëýã÷ýýñ èëãýýãäñýí á°ã°°ä íýëýýí èõ õýìæýýíèéõ þì áàéíà. Ôàéëûí íýðèéí óðò íü èõ áàéãàà ó÷ðààñ lpq(1) íü ò³³íèéã ãóðâàí öýãýýð òîâ÷èëæ õàðóóëñàí áàéíà. lpq(1) òóøààëûí ãàðàëòûí õàìãèéí ýõíèé ì°ð áàñ ÷óõàë óòãà èëýðõèéëäýã íü: õýâëýã÷ ÿã îäîî þó õèéæ áàéãààã (ÿäàæ õýâëýã÷èéí þó õèéæ áàéãààã LPD í°õ°ð áîäîæ áàéãààã) õàðóóëäàã. lpq(1) òóøààë íü ì°í -l ñîíãîëòûã äýìæäýã á°ã°°ä ýíý íü óðòàñãàñàí æàãñààëòûã õàðóóëäàã þì. Äîîð lpq -l òóøààëûí ãàðàëòûã õàðóóëàâ: waiting for bamboo to become ready (offline ?) kelly: 1st [job 009rose] /etc/host.conf 73 bytes /etc/hosts.equiv 15 bytes kelly: 2nd [job 010rose] (standard input)
1635 bytes
mary: 3rd [job 011rose] /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
9.5.3
Õýâëýõ àæëûã óñòãàõ
Õýðýâ òà õýâëýå ãýñýí áîäëîî °°ð÷èëá°ë lprm(1) òóøààëààð õýâëýãäýõ àæëûã óñòãàæ áîëíî. Ì°í òà lprm(1) òóøààëààð õýâëýãäýæ áàéãàà àæëûã áàñ óñòãàæ áîëäîã áîëîâ÷ çàðèì õýñýã íü õýâëýãäýæ ìàãàäã³é þì. Àíõäàã÷ õýâëýã÷ýýñ àæèë óñòãàõûí òóëä ýõëýýä lpq(1) òóøààë õýðýãëýæ äàðààëëûíõ íü äóãààðûã íü ìýääýã. Òýãýýä äàðàà íü: % lprm job-number
Õýâëýãäýõ àæëûã õýâëýã÷èéí íýðèéã íü îíöãîéëæ õàíäàí óñòãàõûí õ³ñâýë -P ñîíãîëò õýðýãëýíý. Äàðààõ òóøààë íü bamboo íýðòýé õýâëýã÷ýýñ 10 äóãààðòàé àæëûã óñòãàíà: % lprm -P bamboo 10
lprm(1) òóøààëûí õýä õýäýí òîâ÷ëîë áèé: lprm -
Òàíä õàìààòàé á³õ õýâëýãäýõ àæëûã óñòãàäàã (àíõäàã÷ õýâëýã÷ýýñ). lprm õýðýãëýã÷
ä õàìààòàé á³õ àæëûã óñòãàíà (àíõäàã÷ õýâëýã÷ýýñ). Ñóïåð õýðýãëýã÷ ìýäýýæ á³õ õýðýãëýã÷äèéí àæëûã óñòãàæ áîëîõ á°ã°°ä õýðýâ òà áèø áîë ç°âõ°í °°ðèéíõ°° ë àæëûã óñòãàíà. Õýðýãëýã÷ -
260
Chapter 9 Õýâëýëò lprm
ßìàð ÷ äàðààëëûí äóãààð, õýðýãëýã÷èéí íýð, ýñâýë - ñîíãîëò çýðãèéã îðóóëààã³é áîë òàíä õàìààòàé ÿã îäîî õýâëýã÷ äýýð èäýâõèòýé áàéãàà àæëûã lprm(1) óñòãàäàã. Ñóïåð õýðýãëýã÷ áîë ÿã îäîî èäýâõèòýé áàéãàà õýíèé ÷ äàðààëàë áàéñàí ãýñýí óñòãàíà. Äýýðõ òîâ÷ëîëóóäûã -P ñîíãîëò àøèãëàí õýâëýã÷èéí íýð çààæ °ã°í ÿìàð íýãýí õýâëýã÷ ð³³ îíöãîéëîí õàíäàæ áîëäîã. Æèøýýëáýë äàðààõ òóøààë íü rattan õýâëýã÷ýýñ òóõàéí õýðýãëýã÷èéí á³õ äàðààëëûã óñòãàíà: % lprm -P rattan -
Note: Õýðýâ òà ñ³ëæýýíèé îð÷èíä àæèëëàæ áàéãàà áîë lprm(1) òóøààë íü °°ð èæèë íýðòýé õýâëýã÷ °°ð ìàøèíä çàëãààòàé áàéñàí ÷ ç°âõ°í èëãýýñýí êîìïüþòåðèéí ë äàðààëëûã óñòãàõàä ç°âø°°ðä°ã. Äîîðõ æèøýýíä ³³íèéã òîäðóóëàâ: % lpr -P rattan % rlogin orchid % lpq -P rattan
Rank Owner active seeyan 2nd kelly
myfile
Job Files 12 ... 13 myfile
Total Size 49123 bytes 12 bytes
% lprm -P rattan 13
rose: Permission denied % logout % lprm -P rattan 13
dfA013rose dequeued cfA013rose dequeued
9.5.4
Ýíãèéí òåêñòýýñ °°ð ç³éëñ õýâëýõ íü: Õýâëýõ ñîíãîëòóóä
lpr(1) òóøààë íü òåêñò çàãâàð÷ëàõ, çóðàã àéëûã °°ð õýëáýðò õóâèðãàõ, îëîí õóóëáàð õèéõ, õýâëýãäýæ áàéãàà àéëóóä óðóó õàíäàõ ãýõ ìýò÷èëýí ìàø îëîí ñîíãîëòòîé. Ýíý õýñýãò òýð òóõàé çààâàðëàõ áîëíî. 9.5.4.1 Õýëáýðø³³ëýõ áîëîí õóâèðãàõ ñîíãîëòóóä
Äàðààõ lpr(1)-í ñîíãîëòóóä íü õýâëýãäýõ àæëûí õýëáýðø³³ëýëòèéã õÿíàäàã. Ýäãýýð ñîíãîëòóóäûã õýðýâ òàíû õýâëýõ ç³éëñ òàíü ýíãèéí òåêñò õýëáýðòýé áèø þì óó ýñâýë òåêñòýý pr(1) õýðýãñýë àøèãëàí °°ð÷èëæ õýâëýõ ³åä õýðýãëýíý. Æèøýýëáýë äàðààõ òóøààë íü fish-report.dvi íýðòýé DVI ò°ðëèéí àéëûã (TEX ò°ðëèéí áè÷èëòèéí ñèñòåìèéí) bamboo õýâëýã÷ ð³³ ÿâóóëíà: % lpr -P bamboo -d
fish-report.dvi
Ýíý ñîíãîëò íü õýâëýãäýõ ãýæ áóé á³õ àéëä õýðýãæäýã áîëîõîîð æèøýý íü òà DVI áîëîí ditroff àéëóóäûã õàìò õýâëýã÷ ð³³ èëãýýæ áîëîõã³é. Ò³³íèé îðîíä àéëóóäûã òóñàä íü òóñäàà ñîíãîëòòîé èëãýýõ õýðýãòýé.
261
Chapter 9 Õýâëýëò Note: -p áîëîí -T ñîíãîëòóóäààñ áóñàä á³õ ñîíãîëòóóäàä õýâëýã÷ äýýð ñóóãäñàí õ°ðâ³³ëæ õóâèðãàäàã ø³³ã÷ àæèëëàãàà øààðäàãääàã. Æèøýý íü -d ñîíãîëò DVI õ°ðâ³³ëæ õóâèðãàäàã ø³³ëò øààðääàã. Õóâèðãàã÷ ø³³ëò³³ð³³ä õýñýãò òîäîðõîé °ã³³ëñýí áóé.
-c
cifplot àéëóóäûã õýâëýíý. -d
DVI àéëóóäûã õýâëýíý. -f
FORTRAN òåêñò àéëóóäûã õýâëýíý. -g
plot ò°ðëèéí çóðàã ãðàèê àéëóóäûã õýâëýíý. -i òîî
àðàëòûã òîî ãîîð çàé àâ÷ õýâëýíý. Õýðýâ òà òîî îðóóëàõã³é òóøààâàë 8 ãýñýí çàéãààð õýâëýíý. Ýíý ñîíãîëò ç°âõ°í òîäîðõîé õýäýí ø³³ëò³³ðòýé ë àæèëëàäàã. Note: -i ñîíãîëò áîëîí òîî õî¼ðûí çàâñàð ÿìàð ÷ çàé áàéæ áîëîõã³é.
-l
Òåêñò àéëä áóé çàðèì õÿíàã÷ òýìäýãò³³äòýé íü øóóä ³ñýã÷ëýí õýâëýíý. -n
ditroff (ò°õ°°ð°ìæ áîëãîíîîñ õàìààðàëã³é troff) °ã°ãäëèéã õýâëýíý. -p
Õýâëýõýýñýý °ìí° ýíãèéí òåêñòèéã pr(1) õýðýãñëýýð õýëáýðø³³ëäýã. Íýìýëò ìýäýýëëèéã pr(1) ãàðûí àâëàãààñ õàðíà óó. -T ãàð÷èã
pr(1) õóóäàñíû òîëãîé õýñýãò àéëûí íýðèéã áàéðëóóëàõûí îðîíä çààæ °ãñ°í àð÷èã -ã õýâëýäýã. Ýíý ñîíãîëò íü ãýõäýý ç°âõ°í -p ñîíãîëò õýðýãëýñýí ³åä ë õýðýãæäýã. -t
troff °ã°ãäëèéã õýâëýíý.
262
Chapter 9 Õýâëýëò -v
raster °ã°ãäëèéã õýâëýíý.
Æèøýý: Äàðààõ òóøààë íü ls(1)-í ãàðûí àâëàãûã àÿòàéõàí çàãâàð÷ëààä àíõäàã÷ õýâëýã÷ýýð õýâëýíý: % zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t
zcat(1) òóøààë íü ls(1) ãàðûí àâëàãûí ýõ øàõñàí àéëûã íü çàäëààä GNU troff õýëáýðò îðóóëäàã troff(1) òóøààë óðóó äàìæóóëíà. Óã õýëáýðò îðóóëñíû äàðàà lpr(1) ðóó äàìæèãäàõ á°ã°°ä ýíý íü õýâëýõ àæëûã LPD ò³ð õàäãàëàã÷ óðóó èëãýýäýã. Áèä -t ñîíãîëò lpr(1) äýýð õýðýãëýñýí áîëîõîîð ò³ð õàäãàëàã÷ õýâëýãäýõ ³åä GNU troff ãàðàëòûã õýâëýã÷èéí îéëãîõ õýëáýðò õóâèðãàæ õýâëýíý. 9.5.4.2 Õýâëýëòýä õàíäàõ ñîíãîëòóóä
lpr(1) òóøààëä °ãñ°í äàðààõ ñîíãîëòóóä LPD äýýðõ õýâëýãäýõ àæëóóäàä îíöãîéëæ õàíääàã:
-# õóóëáàðëàõ-òîî
Ç°âõ°í íýã óäàà õýâëýãäýõ àæëóóäûã õóóëáàðëàõ-òîî ãîîð õóâèëäàã. Ñèñòåì õÿíàæ çîõèöóóëàã÷ àëáàòàé õ³í ìàãàäã³é õýâëýã÷èéí èíãýæ àõèí äàõèí õóóëáàðëàæ õýâëýõèéí îðîíä õóâèëàõ îòî õóóëáàð ³³ñãýýä ò³³íèéãýý øóóä áóóëãàõ ñîíãîëò ñàíàë òàíä òàâüæ áîëîõ þì. Îëîí õóóëáàðëàëòûã õÿçãààðëàõ õýñýãò òîäîðõîé çààñàí áàéãàà. Äîîðõ æèøýýí äýýð parser.c àéëûã ãóðàâ, parser.h àéëûã ì°í ãóðàâ õóâèëæ àíõäàã÷ õýâëýã÷ ð³³ õýâëýæ áàéíà: % lpr -#3
parser.c parser.h
-m
Õýâëýõ àæèë äóóññàíû äàðàà çàõèà èëãýýíý. Õýâëýãäýõ àæèë äóóññàíû äàðàà LPD ñèñòåì òàíû á³ðòãýë ð³³ çàõèà ÿâóóëäàã. Çàõèàí äîòðîî òàíû õýâëýõ àæèëëàãàà àìæèëòòàé áîëñîí ýñâýë àëäàà ãàðñàí òóõàé ìýäýãääýã á°ã°°ä àëäàà ãàðñàí áàéâàë (ãîëäóó) ÿìàð àëäàà ãàðñíûã íü áè÷ñýí áàéäàã. -s
Ò³ð õàäãàëàã÷ ñàí óðóó õóóëàõã³éãýýð óã àéëóóäàä òýìäýãò õîëáîîñ ³³ñãýäýã. Õýðýâ òà òîì õýìæýýíèé àéë õýâëýõ ãýæ áàéãàà áîë ýíý ñîíãîëò òàíä òóí õýðýã áîëíî. Èíãýñíýýð ò³ð õàäãàëàã÷èä áóé äèñêíèé õýìæýýã õýìíýäýã ( òàíû òîì õýìæýýíèé àéë ò³ð õàäãàëàã÷èéí õýìæýýíýýñ õýòýð÷ ò³³íòýé çýðýãöýý îðøèõ çàé óðóó èë³³äýæ ãàðàõ àþóëòàé). LPD ì°í õýâëýõ àéëûã õóóëàõ ãýæ öàã çàðöóóëàõã³é ò³ðãýí áàéõ áîëíî. Íýã ñóë òàë áèé: LPD íü õýâëýãäýõ àéë óðóó øóóä õàíäàæ áàéãàà áîëîõîîð õýâëýãäýæ äóóñàõààñ íààø òà óã àéëûã çàñâàðëàæ ÷àäàõã³é áàéõ áîëíî. Note: Õýðýâ òà ñ³ëæýýãýýð °°ð õýâëýã÷ ð³³ õýâëýæ áàéãàà áîë LPD íü óã êîìïüþòåðààñ àëñàä áóé õýâëýã÷ ð³³ àéëûã õóóëäàã áîëîõîîð -s ñîíãîëò íü äîòîîä çàéãàà õýìíýõýýñ áèø àëñàä áóé êîìïüþòåðèéí äèñêíèé çàéã õýìíýäýãã³é. ýâ÷ èéì áàéñàí ÷ õýðýãòýé ñîíãîëò áèëýý.
263
Chapter 9 Õýâëýëò -r
Ò³ð õàäãàëàã÷ óðóó õóóëñíû äàðàà þì óó ýñâýë -s ñîíãîëò õýðýãëýæ õýâëýñíèé äàðàà óã àéëûã óòñãàíà. Ýíý ñîíãîëòûã òóí áîëãîîìæòîé õýðýãëýíý ³³! 9.5.4.3 Õóóäàñíû òîëãîé õýñãèéã çàãâàð÷ëàõ ñîíãîëòóóä
lpr(1) òóøààëä õýðýãëýñýí ýäãýýð ñîíãîëòóóä íü õóóäàñíû òîëãîé õýñýãò õýâëýãääýã òåêñòèéã çààæ °ã°õ°ä õýðýãëýãääýã. Õýðýâ õóóäàñíû òîëãîé õýñãèéã °°ð ïðîãðàì °°ð÷èëí° ãýæ çààñàí áàéâàë ýíý ñîíãîëò õ³÷èíã³é áîëäîã. Õóóäàñíû òîëãîé õýñýã õýñýãò ýíý òàëààð òîäîðõîé °ã³³ëñýí áàéãàà.
-C òåêñò
Òîëãîé õýñýãò áàéäàã êîìïüþòåðèéí íýðèéã çààæ °ãñ°í òåêñò ýýð îðëóóëäàã. Åðäèéí ³åä áîë óã õýâëýõ àæëûã èëãýýñýí êîìïüþòåðèéí íýð áàéäàã.
-J òåêñò
Òîëãîé õýñýãò áàéäàã õýâëýõ àæëûí íýðèéã çààæ °ãñ°í òåêñò ýýð îðëóóëäàã. Åðäèéí ³åä àæëûí íýð íü õýâëýõ àéëûí íýð áàéäàã áà õýðýâ òà êîíñîëèéí ñòàíäàðò îðóóëãà õýðýãëýñýí áîë stdin ãýæ áàéäàã.
-h
Òîëãîé õýñýãã³é õýâëýíý. Note: Õýðýâ °°ð ïðîãðàìààð òîëãîé õýñýã íü áýëòãýãäñýí áîë ýíý ñîíãîëò çàðèì òîõèîëäîëä õ³÷èíã³é áîëäîã. Õóóäàñíû òîëãîé õýñýã õóóäñàíä ýíý òóõàé òàéëáàðëàñàí áóé
9.5.5
Õýâëýã÷äèéã çîõèöóóëàõ
Õýâëýã÷äèéã çîõèöóóëàã÷èéí ç³ãýýñ òýäãýýðèéã ñóóëãàæ øàëãàõàä ³³ðýãòýé áàéäàã. lpc(8) òóøààë àøèãëàí õýâëýã÷òýéãýý òà îëîí àðãààð õàðèëöàæ ÷àäíà. lpc(8) òóøààë àøèãëàí Õýâëýã÷èéã ýõë³³ëýõ áîëîí çîãñîîõ • Õýâëýãäýõ äàðààëëûã õîðèõ áîëîí ç°âø°°ð°õ • Äàðààëàëä áóé õýâëýãäýõ àæëûí ýýëæ äàðààã °°ð÷ë°õ Ýõëýýä æààõàí òîäðóóëöãààÿ: Õýðýâ õýâëýã÷ çîãññîí áîë äàðààëàëä áóé ÿìàð ÷ àæëûã õýâëýõã³é. Õýðýãëýã÷èä õýâëýõ àæèë èëãýýæ áîëîõ á°ã°°ä òèéì àæëóóä á³ãä äàðààëàëä íýìýãäýæ õýâëýã÷èéã ýõëýõ õ³ðòýë þì óó ýñâýë äàðààëëûã öýâýðëýõ õ³ðòýë òýíä õàäãàëàãäàíà. Õýðýâ äàðààëàë õîðèãäñîí áîë ÿìàð ÷ õýðýãëýã÷ (root õýðýãëýã÷ýýñ áóñàä) õýâëýã÷ ð³³ þì èëãýýæ ÷àäàõã³é. Äàðààëàë ç°âø°°ð°ãäñ°í ³åä ë õýâëýõ àæèë õ³ëýýæ àâäàã. Õýâëýã÷ ýõëýõ ³åäýý ì°í õîðèãäñîí äàðààëëûã õîîñîðòîë íü õýâëýíý. •
264
Chapter 9 Õýâëýëò lpc(8) òóøààëûã õýðýãëýõèéí òóëä òà root ýðõòýé áàéõ õýðýãòýé áàéäàã. Ýíãèéí õýðýãëýã÷èä áîë lpc(8) òóøààëûã õýâëýã÷èéí ò°ë°â áàéäàë þì óó ýñâýë ãàöñàí õýâëýã÷èéã ýõë³³ëýõýä õýðýãëýíý.
Ýíä lpc(8) òóøààëûí íýãòãýñýí æàãñààëòûã õàðóóëàâ. Èõýíõ òóøààëóóäàä îíöãîéëîí õýâëýã÷ ð³³ õàíäàõûí òóëä õýâëýã÷èéí-íýð íýìæ °ãä°ã. Õýðýâ òà all ãýæ õýâëýã÷èéí-íýð -í îðîíä °ãâ°ë /etc/printcap àéë æàãñààëòòàé áóé á³õ õýâëýã÷èéã èëýðõèéëýõ áîëíî. abort õýâëýã÷èéí-íýð
Îäîîãèéí õýâëýæ áàéãàà àæëûã öóöëààä õýâëýã÷èéã çîãñîîíî. Õýðýâ äàðààëàë õîðèãäîîã³é áîë õýðýãëýã÷èä õýâëýõ ç³éëñ èëãýýæ áàéæ áîëíî. clean õýâëýã÷èéí-íýð
Õýâëýã÷èéí ò³ð õàäãàëàã÷èä áóé õóó÷èí àéëóóäûã óñòãàíà. LPD óã àéëûã ÿìàð íýãýí øàëòãààíû óëìààñ óñòãààã³é áàéæ áîëîõ þì. Ýíý íü õýâëýõ ³åä àëäàà ãàðàõ, ýñâýë çîõèîí áàéãóóëàõ çàðèì ³éëäýë õèéãäýõ ãýõ ìýò ÿíç á³ðèéí øàëòãààí áàéæ áîëíî. Ýíý òóøààë ò³ð õàäãàëàã÷ ñàíä õàìààðàõã³é àéëóóäûã øàëãàæ îëîîä óñòãàäàã. disable õýâëýã÷èéí-íýð
Øèíýýð èðýõ àæëóóäàä äàðààëëûã õîðüíî. Õýðýâ õýâëýã÷ òóõàéí ³åä õýâëýæ áàéâàë äàðààëàëä ³ëäñýí áàéãàà ç³éëñ³³äèéã õýâëýäýã. Ñóïåð õýðýãëýã÷ (root) äàðààëàë õîðèãäñîí áàéñàí ÷ õýâëýõ ç³éë èëãýýäýã. Ýíý òóøààë øèíý õýâëýã÷èéí ñóóëãàö þì óó ø³³ëòèéã øàëãàõàä èõ õýðýãòýé. Æèøýý íü õýâëýõ äàðààëëûã õîðèîä root ýðõýýð õýâëýæ òóðøèæ áîëíî. Áóñàä õýðýãëýã÷èä äàðààëëûã èäýâõæèõ õ³ðòýë äàðààëàë óðóó àæèë èëãýýæ ÷àäàõã³é. down õýâëýã÷èéí-íýð ìýäýýëýë
Õýâëýã÷èéã óíòðààíà. disable òóøààëûã stop-òàé õàìò õýðýãëýñýíòýé èæèë. Õýðýâ õýðýãëýã÷ õýâëýã÷èéí lpq(1) þì óó ýñâýë lpc status òóøààë õýðýãëýí ò°ë°â áàéäëûã ìýäüå ãýñýí ³åä óã çààæ °ãñ°í ìýäýýëýë õàðóóëàãääàã. enable õýâëýã÷èéí-íýð
Õýâëýã÷èéí äàðààëëûã ç°âø°°ðä°ã. Õýðýãëýã÷ õýâëýã÷ ð³³ þì èëãýýæ áîëîõ áîëîâ÷ õýâëýã÷ ýõëýõýýñ íààø õýâëýãäýõã³é. help òóøààë
ûí õýðýãëýõ òóñëàìæèéã õàðóóëäàã. Õýðýâ òóøààë áè÷èëã³éãýýð òóøààâàë áîëîìæòîé á³õ òóøààëûí åð°íõèé ìýäýýëëèéã õàðóóëíà. òóøààë
restart õýâëýã÷èéí-íýð
Õýâëýã÷èéã ýõë³³ëäýã. Åðäèéí õýðýãëýã÷èä ýíý òóøààëûã õýðýâ ÿìàð íýãýí òîõèîëäëîîð LPD ãàöñàí ³åä õýâëýã÷èéã ýõë³³ëýõýä õýðýãëýæ áîëäîã áîëîâ÷ stop þì óó down òóøààë õýðýãëýí àæèëëàæ áàéãàà õýâëýã÷èéã çîãñîîæ ÷àääàãã³é. restart òóøààë íü abort òóøààëûã start òóøààëòàé õýðýãëýñýíòýé èæèëõýí. start õýâëýã÷èéí-íýð
Õýâëýã÷èéã ýõë³³ëíý. Õýâëýã÷ äàðààëàëä áàéãàà àæëóóäûã õýâëýæ ýõýëäýã.
265
Chapter 9 Õýâëýëò stop õýâëýã÷èéí-íýð
Õýâëýã÷èéã çîãñîîíî. Õýâëýã÷ ÿã õýâëýæ áàéñàí àæëàà äóóñãààä äàðààëàëä áàéãàà àæëóóäûã õýâëýëã³éãýýð çîãñîíî. Õýâëýã÷ çîãññîí áàéñàí ÷ õýðýãëýã÷èä õýâë³³ëýõ àæëàà äàðààëàëä èëãýýæ áîëíî. topq õýâëýã÷èéí-íýð àæèë-ýñâýë-õýðýãëýã÷èéí-íýð
íýðòýé õýâëýã÷èéí äàðààëàëä áàéãàà àæëóóäûí õàìãèéí äýýä õýñýãò íü çààæ °ãñ°í õýðýãëýã÷èéí àæëûã îðóóëäàã. Ýíý òóøààëûã all ãýæ õýâëýã÷èéí-íýð -í îðîíä õýðýãëýõ áîëîìæã³é.
õýâëýã÷èéí-íýð õýðýãëýã÷èéí-íýð
up õýâëýã÷èéí-íýð down òóøààëûí ýñðýãýýð óã õýâëýã÷èéã øèíýýð ýõë³³ëäýã. start òóøààëûã enable-òàé õýðýãëýñýíòýé èæèëõýí. lpc(8) íü äýýðõ òóøààëóóäûã òóøààë áè÷èõ ì°ðí°°ñ õ³ëýýæ àâäàã. Õýðýâ òà ÿìàð ÷ òóøààë îðóóëààã³é áîë lpc(8) íü exit þì óó quit, ýñâýë end-of-file òýìäýãò èëãýýõ õ³ðòýë ãàðíààñ òóøààë îðóóëæ àæèëëàõ õàðèëöàõ ãîðèìä øèëæäýã.
9.6
Õýâëýã÷èéí ñòàíäàðò ò³ð õàäãàëàã÷èäòàé èæèë õàäãàëàã÷èä
Õýðýâ òà ýíý ãàðûí àâëàãûã ýõíýýñ íü óíøèæ áàéãàà áîë FreeBSD-òýé öóã èðäýã ò³ð õàäãàëàõ ñèñòåì áîëîõ LPD-èéí òàëààð á³õ ë ìýäýæ áîëîõ ç³éëñèéã îäîî ñóðñàí áàéõ ¼ñòîé. Òà ³³íèé îëîíõè äóòàãäàëòàé òàëóóäûã ³íýëæ ÷àäàõ áàéõ. Ýíý íü äàðààõ àñóóëòàíä õ³ðãýäýã: “°ð ÿìàð (FreeBSD-òýé àæèëëàäàã) ò³ð õàäãàëàõ ñèñòåì³³ä áàéäàã âý?” LPRng LPRng áóþó “LPR: the Next Generation” ãýãääýã äàðàà ³åèéí ñèñòåì íü PLP-èéã äàõèí áè÷ñýí õóâèëáàð þì. Ïàòðèê Ïàóýë áîëîí Æàñòèí Ìýéñîí (PLP-èéí ãîë àð÷ëàã÷) íàð íèéëýí LPRng-ã õèéñýí þì. LPRng-èéí ãîë ñàéò áîë http://www.lprng.org/ þì. CUPS CUPS áóþó Common UNIX Printing System íü UNIX äýýð òóëãóóðëàñàí ³éëäëèéí ñèñòåì³³äýä çîðèóëñàí ç°°ãä°æ áîëîõ õýâëýõ äàâõàðãûí áîëîìæèéã îëãîäîã. Ýíý íü á³õ UNIX ³éëäâýðëýã÷èä áîëîí õýðýãëýã÷äýä çîðèóëæ ñòàíäàðò õýâëýõ øèéäëèéã äýìæèõèéí òóëä Easy Software Products-ààñ õ°ãæ³³ëýãäñýí þì.
CUPS íü Internet Printing Protocol (IPP) áóþó Èíòåðíýòèéí Õýâëýõ Ïðîòîêîëûã àøèãëàæ õýâëýõ àæëóóä áîëîí äàðààëëóóäûã óäèðäàõ ³íäñýý áîëãîäîã. Line Printer Daemon (LPD) áóþó Øóãàìûí Õýâëýã÷èéí Äýìîí, Server Message Block (SMB) áóþó Ñåðâåðèéí Ìýäýãäëèéí Áëîê, áîëîí AppSocket (JetDirect ãýãääýã) ïðîòîêîëóóä íü áàãàñãàñàí àæèëëàãààòàéãààð áàñ äýìæèãäñýí áàéäàã. CUPS íü àìüäðàëä áàéõ UNIX äýýðõ õýâëýëòèéã äýìæèõèéí òóëä ñ³ëæýýíèé õýâëýã÷ îëîõ (browsing) áîëîí PostScript Printer Description (PPD) áóþó PostScript Õýâëýã÷èéí Òàéëáàð äýýð ñóóðèëñàí õýâëýõ òîõèðóóëãóóäûã íýìäýã. CUPS-èéí ãîë ñàéò íü http://www.cups.org/ þì.
266
9.7
Àëäààã îëæ çàñâàðëàõ
Chapter 9 Õýâëýëò
lptest(1) ïðîãðàìûí òóñëàìæòàéãààð ýíãèéí øàëãàõ ³éëäýë õèéæ äóóñàõàä òà ç°â õýâëýãäñýí õ³ññýí ³ð ä³íä áèø õàðèí äàðààõ àëäààíóóäòàé òóëãàð÷ áîëçîøã³é þì:
Õýâëýæ áîëæ áàéíà, ãýõäýý õýñýã õóãàöààíû äàðàà þì óó ýñâýë àíõíààñàà õóóäàñíû òàë õýñãèéã õýâëýýä çîãñîõ. Õýâëýã÷ äýýä õýñãèéã íü õýâëýýä õýñýã õóãàöààíû äàðàà þó ÷ õèéõã³é áîëîõ. Èéì ³åä òà õýâëýã÷ äýýðõ PRINT REMAINING ýñâýë FORM FEED òîâ÷ äàðæ ³ëäñýí õýñãèéã íü õýâëýõ ýñýõèéã õàðàõ õýðýãòýé. Õýðýâ õýâëýã÷ °°ð õýâëýõ þì áàéãàà ýñýõèéã õ³ëýýãýýä áàéãàà òèéì í°õö°ëä îðâîë õýâëýã÷ ð³³ FORM FEED òýìäãèéã èëãýýñíýýð (ýñâýë ÿìàð íýãýí þì) óã àñóóäàë øèéäýãäýæ áîëîõ þì. °ðèéíõ°° ò³ð õàäãàëàã÷ äýýð îðæ èðñýí °ã°ãäëèéã øóóä õýâëýäýã õýâëýã÷äýä èéìýðõ³³ àðãà õýðýãëýõýä õàíãàëòòàé áèëýý. Õýðýâ °ìí°õ õóóäàñ íü õóóäàñíû òàë õ³ðòýë áàéãààä äàðààãèéí õóóäàñ íü øèíýýð õóóäàñíààñ ýõëýõ áàéñàí áîëîîä äóóññàí õóóäàñíû òàë õýñãýýñ õýâëýõã³é áàéãààä áàéõ í°õö°ë ³³ññýí áàéæ áîëçîøã³éã øàëãàõàä ì°í èë³³äýõã³é. /usr/local/libexec/if-simple á³ðõ³³ëèéí ñêðèïòýä îðóóëñàí äàðààõ îðóóëãà íü õýâëýõ ³éëäëèéí äàðàà õýâëýã÷ ð³³ õóóäàñ äóóññàí òýìäýãò èëãýýíý: #!/bin/sh # # if-simple - Simple text input filter for lpd # Installed in /usr/local/libexec/if-simple # # Simply copies stdin to stdout. Ignores all filter arguments. # Writes a form feed character (\f) after printing job. /bin/cat && printf "\f" && exit 0 exit 2
ýõäýý ýíý íü “õà÷èðõàëòàé í°ë°°” ³³ñãýæ áîëîõ þì. Òà äàðààõ ç³éëñèéã õóóäñàí äýýðýý õàðàõ áîëíî: !"#$%&’()*+,-./01234 "#$%&’()*+,-./012345 #$%&’()*+,-./0123456
Ýíý íü òàíûã øèíý ì°ð èëýðõèéëäýã òýìäýãò õ°ðâ³³ëýãäýýã³é óëìààñ °í°°õ õà÷èðõàëòàé í°ë°°íèé õîõèðîã÷ íü áîëñîí áàéíà ãýäãèéã èëýðõèéëæ áàéíà. UNIX ò°ðëèéí ³éëäëèéí ñèñòåì³³ä ì°ð äóóññàíûã èëýðõèéëýõèéí òóëä ASCII-í 10 ãýñýí äóãààðûã áóþó line feed (LF) ãýñýí íýã ë òýìäýãò õýðýãëýäýã. Õàðèí MS-DOS, OS/2®, áîëîí áóñàä ³éëäëèéí ñèñòåì³³ä ASCII-í 10 áà ASCII-í 13 (CR áóþó øèíý ì°ð ýõëýõ) ãýñýí õî¼ð òýìäãèéã õàìòàä íü õýðýãëýäýã. Èõýíõ õýâëýã÷ íàð øèíý ì°ðèéã èëýðõèéëýõäýý MS-DOS-í øèéäëèéã õýðýãëýäýã. Õýðýâ òà FreeBSD-ñ õýâëýõýýð áîë òàíû òåêñò³³ä ç°âõ°í ì°ð äóóññàí òýìäýãò ë àãóóëñàí áàéãàà. Ì°ð äóóññàí òýìäýãòèéã õýâëýã÷ õ³ëýýæ àâàíãóóòàà õóóäñàà íýã ì°ð°°ð äýýøë³³ëñýí ì°ðòë°° ÿã òóõàéí áàéðëàëäàà äàðààãèéí òýìäýãò èðýõèéã õ³ëýýæ çîãñäîã. Ýíý ³åä ë øèíý ì°ð ãýñýí òýìäýãò èðæ áàéæ õýâëýã÷èéí òîëãîé ç³³í õýñýã ð³³ãýý ã³éäýã áèëýý. FreeBSD íü äàðààõ ìàÿãààð õýâëýõèéã õýâëýã÷ýýñ õ³ñäýã:
267
Chapter 9 Õýâëýëò
Õýâëýã÷ CR òýìäýã õ³ëýýæ àâëàà Õýâëýã÷ LF òýìäýãò õ³ëýýæ àâëàà
Õýâëýã÷ CR ãýæ õýâëýâ Õýâëýã÷ CR + LF ãýæ õýâëýõ
³íèéã çàëðóóëàõ õýäýí àðãà áèé: • Õýâëýã÷èéíõýý òîõèðóóëãûí öîíõûã àøèãëàí ýäãýýð òýìäýãòèéã °°ð°°ð õ°ðâ³³ëæ îéëãîõîîð òîõèðóóëàõ. Èéìýðõ³³ òîõèðãîî áàéäàã ýñýõèéã õýâëýã÷èéíõýý ãàðûí àâëàãàä õàðàõ õýðýãòýé. Note: Õýðýâ òà ñèñòåìýý
øèíýýð à÷ààëàõäàà FreeBSD-ýýñ °°ð äàâõàð ñóóñàí ³éëäëèéí ñèñòåì ð³³ îðâîë òóõàéí ³éëäëèéí ñèñòåìäýý òîõèðóóëæ CR áîëîí LF òýìäýãòèéí õ°ðâ³³ëýõ òîõèðãîîã äàõèí õèéõ õýðýã ãàð÷ ìàãàäã³é þì.
•
•
FreeBSD-í öóâàà õîëáîëòûí òàíèóëàã÷ ïðîãðàì íü àâòîìàòààð LF òýìäýãòèéã CR+LF òýìäýãò ð³³ õóâèðãàäàã. Ìýäýýæ ýíý íü ç°âõ°í öóâàà õîëáîëòîîð õîëáîãäñîí õýâëýã÷ äýýð àæèëëàíà.
Ýíý øèíæ ÷àíàðûã èäýâõæ³³ëýõèéí òóëä ms# õýðýãñëèéã àøèãëàí onlcr ãîðèìûã õýâëýã÷èéí /etc/printcap àéë äîòîð îðóóëæ °ã°õ õýðýãòýé. Õýâëýã÷èéí àëãàñàæ áîëäîã escape code òýìäýãò èëãýýæ õýâëýã÷èéã LF òýìäýãò èëãýýãäñýí ãýæ îéëãóóëæ áîëîõ þì. Õýâëýã÷èéí ãàðûí àâëàãààñ èéì òýìäýãò äýìæäýã ýñýõèéã õàðàõ õýðýãòýé. Õýðýâ òà òîõèðîõ òèéì òýìäýãò îëñîí áîë òåêñò ø³³ã÷ ïðîãðàìûã °°ð÷èëæ ýõëýýä òýð òýìäýãòèéã èëãýýãýýä äàðàà íü õýâëýõ ç³éëñèéã èëãýýõýýð çàñàõ õýðýãòýé. Ýíä Hewlett-Packard PCL õýâëýã÷èéí îéëãîäîã àëãàñàæ áîëäîã òýìäýãòèéí òåêñò ø³³ã÷ æèøýýã òàòàæ ³ç³³ëýâ. Ýíý ø³³ã÷ íü LF òýìäýãòèéã LF áà CR ãýæ õ°ðâ³³ëýýä õýâëýã÷ ð³³ õýâëýõ àæëûã èëãýýæ äàðàà íü ì°ð äóóññàí òýìäýãòèéã èëãýýæ õýâëýõ àæèë äóóññàíûã ìýäýãääýã. Ýíý íü áàðàã á³õ Hewlett Packard õýâëýã÷äýä òîõèðäîã. #!/bin/sh # # hpif - Simple text input filter for lpd for HP-PCL based printers # Installed in /usr/local/libexec/hpif # # Simply copies stdin to stdout. Ignores all filter arguments. # Tells printer to treat LF as CR+LF. Ejects the page when done. printf "\033&k2G" && cat && printf "\033&l0H" && exit 0 exit 2
Ýíä orchid íýðòýé êîìïüþòåðèéí /etc/printcap àéëûí æèøýýã õàðóóëæ áàéíà. Ýíä teak íýðòýé Hewlett Packard LaserJet 3Si õýâëýã÷èéã çýðýãöýý õîëáîëòîîð õîëáîñîí áàéãàà. Ýíä °ìí° ³ç³³ëñýí ñêðèïòèéã òåêñò ø³³ã÷ýý áîëãîæ õýðýãëýñýí áàéãàà: # # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ :if=/usr/local/libexec/hpif:
268
Chapter 9 Õýâëýëò
Ýíý íü ì°ð³³äèéã äàâõàðëàí õýâëýæ áàéõ. Õýâëýã÷ ì°ð°° äýýøë³³ëñýíã³é. Á³õ ì°ð³³ä äýýä ì°ð°íä äàâõàðëàãäàæ õýâëýãäýâ. Ýíý õ³íäðýë íü °í°°õ õà÷èðõàëòàé í°ë°°íèé “ýñðýã” í°ë°°ë°ë á°ã°°ä àðàé áàãà òîõèîëääîã. FreeBSD-í ì°ðèéí ò°ãñã°ë èëýðõèéëñýí LF òýìäýãò íü CR òýìäýãòýýð ñîëèãäîîä ì°ð°° øèíýýð àõèóëàëã³é õóóäàñíû ýõýíä î÷èæ äàõèí õýâëý÷èõñýí áàéíà. Õýâëýã÷èéí òîõèðóóëãûí öîíõ àøèãëàí LF áîëîí CR òýìäýãò³³äèéã äàðààõ ìàÿãààð õ°ðâ³³ëýõýýð òîõèðóóëàõ õýðýãòýé:
Õýâëýã÷èéí õ³ëýýæ àâàëò
Õýâëýã÷èéí õýâëýëò
CR
CR
LF
CR + LF
Õýâëýã÷ òýìäýãò ãýýõ ³çýãäýë. Õýâëýã÷ õýâëýõ ³åäýý ì°ð°íä çàðèì òýìäýãò³³äèéã õýâëýõã³é áîëäîã. Ýíý õ³íäðýë íü õýâëýã÷ àæèëëàõã³é áîëîõ ýñâýë ìàø èõ òýìäýãò ãýýæ ýõëýõ çýðãýýñ èë³³ äîð ³çýãäýë þì. Õ³íäðýëèéí øàëòãààí íü öóâàà õîëáîëòîîð êîìïüþòåðèéí èëãýýñýí õóðäòàé õýâëýã÷èéí õýâëýõ õóðä òààðàõã³é áàéãààãààñ ³³ñäýã (èéì õ³íäðýë çýðýãöýý õîëáîñîí õýâëýã÷äýä òóëãàðäàãã³é). Ýíý õ³íäðýëèéã äàâàõ õî¼ð àðãà áèé: • Õýðýâ õýâëýã÷ íü XON/XOFF ãýñýí óðñãàë çîõèöóóëàã÷èéã äýìæäýã áîë ms# øèíæ ÷àíàðûã àøèãëàí ixon ãîðèìûã FreeBSD äýýð õýðýãëýõýýð òààðóóëàõ õýðýãòýé. • Õýðýâ õýâëýã÷ íü Request to Send (Èëãýýõèéã Õ³ñýõ) / Clear to Send (Èëãýýõäýý öýâýðëýõ) hardware handshake áóþó òîíîã ò°õ°°ð°ìæèéí òîõèðîëöîîã (èõýâ÷ëýí RTS/CTS ãýãääýã) äýìæäýã áîë ms# áîëîìæèä crtscts ãîðèìûã çààæ °ã°õ õýðýãòýé. Òîíîã ò°õ°°ð°ìæèéí óðñãàë çîõèöóóëàã÷èä òààðóóëæ öóâàà õîëáîëòîî ç°â õîëáîñîí ýñýõýý ìàãàäëàõ õýðýãòýé. Õîã õýâëýõ ³çýãäýë. Õýâëýã÷ õ³ññýí òåêñòèéã õýâëýõèéí îðîíä õîã õýâëýýä ýõëýâ. Ýíý íü öóâàà õîëáîëò áóðóó õîëáîãäñîíîîñ ³³ñäýã ³çýãäýë. Äàìæóóëàõ õóðäíû äàâòàìæèéí br øèíæ ÷àíàðûã øàëãààä ms# øèíæ ÷àíàðààð °ã°ãä°ë òýãøèëæ èëãýýíý ãýõ çýðýã /etc/printcap àéëä áàéãàà òîõèðãîîòîé òîõèð÷ áóé ýñýõèéã øàëãàõ õýðýãòýé. Þó ÷ áîëîõã³é áàéõ. Õýðýâ þó ÷ áîëîõã³é áàéâàë õ³íäðýë íü õýâëýã÷èä áèø FreeBSD-ä áàéæ áîëîõ þì. /etc/printcap àéëä á³ðòãýë àéë õýðýãëýíý ãýñýí (lf) øèíæ ÷àíàðûã íýìýõ õýðýãòýé. Æèøýý íü ýíä rattan îðóóëãàíä lf øèíæ ÷àíàð íýìæ áàéíà: rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple:\ :lf=/var/log/rattan.log
269
Chapter 9 Õýâëýëò
Òýãýýä äàõèàä õýâëýõ ãýýä îðîëäîîä ³ç. àð÷ áîëçîøã³é àëäààíû ìýäýãäýë áàéãàà ýñýõèéã á³ðòãýëèéí àéëààñ (áèäíèé æèøýýí äýýð /var/log/rattan.log) øàëãàõ õýðýãòýé. Ìýäýãäë³³äýýñ õàìààð÷ àñóóäëûã çàñàõûã îðîëäîõ õýðýãòýé. Õýðýâ òà lf øèíæ ÷àíàð çààæ °ã°°ã³é áîë, LPD íü /dev/console àéëûã àíõäàã÷ ãýæ àâ÷ ³çíý.
270
Chapter 10
Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Äàõèí çîõèîí áàéãóóëæ õýñã³³äèéã øèíý÷èëñýí Æèì Ìîê. Àíõëàí õóâü íýìýð áîëãîí îðóóëñàí Áðàéí Í. Õýíäè and è÷ ̼ðè. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 10.1
Åð°íõèé àãóóëãà
FreeBSD íü Ëèíóêñèéã îðóóëààä õýä õýäýí áóñàä UNIX ò°ñò ³éëäëèéí ñèñòåì³³äòýé õî¼ðòûí íèéëýìæòýé áàéäàã. Òà ìàãàäã³é FreeBSD ÿàãààä Ëèíóêñ õî¼ðòûí àéëóóäûã àæèëëóóëæ ÷àääàã áàéõ õýðýãòýé âý? ãýæ °°ð°°ñ°° àñóóæ áîëîõ þì. Ýíý àñóóëòûí õàðèóëò èõ ýíãèéí. Ëèíóêñ íü òîîöîîëîõ åðò°íö äýõ õàìãèéí ñ³³ëèéí ³åèéí “õàëóóí ç³éë” áîëîõîîð îëîí êîìïàíèóä áîëîí õ°ãæ³³ëýã÷èä ç°âõ°í Ëèíóêñä çîðèóëæ õ°ãæ³³ëäýã. Òýãýõýýð áèäíèé FreeBSD õýðýãëýã÷èä ýäãýýð êîìïàíèóä áîëîí õ°ãæ³³ëýã÷äýýñ °°ðñäèéí ïðîãðàìóóääàà çîðèóëæ FreeBSD-èéí õóâèëáàðóóä áè÷èõèéã øàëãààõààñ °°ð àðãàã³éä õ³ðãýäýã. îë àñóóäàë íü ýäãýýð êîìïàíèóäûí èõýíõ íü °°ðñäèéíõ íü á³òýýãäýõ³³í áàñ FreeBSD äýýðõ õóâèëáàðòàé áàéñàí áîë õýð îëîí õ³ì³³ñ àøèãëàõûã ÿã ³íýíäýý áîäîæ áàéãààã³é á°ã°°ä èõýíõ íü ç°âõ°í Ëèíóêñä çîðèóëæ õ°ãæ³³ëýëò õèéñýýð áàéäàã. Òýãýõýýð FreeBSD õýðýãëýã÷èä þó õèéõ âý? ßã ýíý ³åä Ëèíóêñèéí õî¼ðòûí íèéëýìæ õýðýã áîëäîã áèëýý. Òîâ÷õîíäîî íèéëýìæ íü FreeBSD õýðýãëýã÷äýä Ëèíóêñèéí á³õ ïðîãðàìóóäûí îéðîëöîîãîîð 90%-èéã çàñâàðã³éãýýð àæèëëóóëàõ áîëîìæèéã îëãîäîã. Ýäãýýðò StarOffice, Netscape-èéí Ëèíóêñèéí õóâèëáàð, Adobe Acrobat, RealPlayer, VMware™, Oracle, WordPerfect®, Doom, Quake çýðýã îëîí ïðîãðàìóóä îðíî. Çàðèì òîõèîëäîëä Ëèíóêñèéí õî¼ðòûí àéëóóä íü Ëèíóêñ äýýð áàéãààãààñ èë³³ õóðäàí FreeBSD äýýð àæèëëàäàã òîõèîëäîë ãàðñàí áàéíà. ýõäýý çàðèì íýã Ëèíóêñä ç°âõ°í çîðèóëàãäñàí ³éëäëèéí ñèñòåìèéí áîëîìæóóä FreeBSD äýýð äýìæèãäýýã³é áàéäàã. Õýðýâ Ëèíóêñèéí õî¼ðòûí àéëóóä íü âèðòóàë 8086 ãîðèìûã èäýâõæ³³ëýõ çýðýã ç°âõ°í i386-ä çîðèóëñàí äóóäëàãóóäûã èõýýð àøèãëàæ áàéãàà ³åä àæèëëàäàãã³é. Ýíý á³ëãèéã óíøèæ äóóññàíû äàðàà òà äàðààõ ç³éëñèéã ìýäýõ áîëíî:
°ðèéí ñèñòåì äýýð Ëèíóêñèéí õî¼ðòûí íèéëýìæèéã õýðõýí èäýâõæ³³ëýõ òàëààð. • Ëèíóêñèéí íýìýëò õóâààëöñàí ñàíãóóäûã õýðõýí ñóóëãàõ òàëààð. • °ðèéí FreeBSD ñèñòåì äýýð Ëèíóêñèéí ïðîãðàìóóäûã õýðõýí ñóóëãàõ òàëààð. • FreeBSD äýýðõ Ëèíóêñèéí íèéëýìæèéí øèéäëèéí íàðèéí ó÷ðóóäûí òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
•
óðàâäàã÷äûí á³òýýñýí ïðîãðàì õàíãàìæóóäûã õýðõýí ñóóëãàõ òàëààð ìýäýõ (Chapter 4).
10.2
Ñóóëãàëò
Ëèíóêñèéí õî¼ðòûí íèéëýìæ àíõäàã÷ààð èäýâõòýé áàéäàãã³é. Ýíý àæèëëàãààã õàìãèéí õÿëáàðààð èäýâõæ³³ëýõèéí òóëä ëèíóêñ KLD îáüåêòèéã (“Kernel LoaDable îáüåêò”) äóóäàõ ÿâäàë þì. Òà ýíý ìîäóëèéã äàðààõ òóøààëûã root ýðõýýð àæèëëóóëæ äóóäàæ áîëíî: # kldload linux
271
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Õýðýâ òà Ëèíóêñèéí íèéëýìæèéã ³ðãýëæ èäýâõæ³³ëýõèéã õ³ñýæ áàéãàà áîë äàðààõ ì°ðèéã /etc/rc.conf àéëä íýìýõ õýðýãòýé: linux_enable="YES"
KLD äóóäàãäñàí ýñýõèéã øàëãàõûí òóëä kldstat(8) òóøààëûã àøèãëàæ áîëíî: % kldstat
Id Refs Address Size 1 2 0xc0100000 16bdb8 7 1 0xc24db000 d000
Name kernel linux.ko
Õýðýâ ÿìàð íýãýí øàëòãààíààñ áîëîîä òà KLD-ã õ³ñýõã³é ýñâýë äóóäàæ ÷àäàõã³é áàéãàà áîë options òîõèðóóëãûã °°ðèéí ö°ìèéí òîõèðãîîíû àéëäàà íýìæ Ëèíóêñèéí õî¼ðòûí íèéëýìæèéã ñòàòèêààð õîëáîæ áîëîõ þì. Äàðàà íü Chapter 8 õýñýãò òàéëáàðëàñíû äàãóó °°ðèéí øèíý ö°ìèéã ñóóëãàõ õýðýãòýé. COMPAT_LINUX
10.2.1
Ëèíóêñèéí àæèëëàõ ³åèéí ñàíãóóäûã ñóóëãàõ íü
linux_base ïîðò þì óó ýñâýë òýäãýýðèéã ãàðààð ñóóëãàõ ãýñýí õî¼ð àðãûí àëü íýãýýð ³³íèéã õèéæ áîëîõ
þì.
10.2.1.1 linux_base ïîðòûã ñóóëãàæ àøèãëàõ
Àæèëëàõ ³åèéí ñàíãóóäûã ñóóëãàõàä àøèãëàõ õàìãèéí õÿëáàð àðãà íü ýíý þì. Ýíý íü ÿìàð íýãýí ïîðòûã Ïîðòûí öóãëóóëãà (/usr/ports/)àñ ñóóëãàæ áàéãààòàé àäèë þì. Åðä°° ë äîîð äóðäñàíûã õèéõ õýðýãòýé: # cd /usr/ports/emulators/linux_base-fc4 # make install distclean
Òà îäîî àæèëëàäàã Ëèíóêñèéí õî¼ðòûí íèéëýìæòýé áîëñîí áàéõ ¼ñòîé. Çàðèì ïðîãðàìóóä ñèñòåìèéí ñàíãóóäûí áóðóó áàãà õóâèëáàðóóäûí òàëààð ãîìäîëëîæ áîëîõ þì. ýõäýý ýíý íü åð°íõèéä°° àñóóäàë áèø áàéäàã. Note: Ò°ð°ë á³ðèéí Ëèíóêñ òàðõàöóóäûí ÿíç á³ðèéí õóâèëáàðóóäàä òîõèðîõ emulators/linux_base ïîðòûí îëîí õóâèëáàðóóä áàéæ áîëîõ þì. Òàíû ñóóëãàõûã õ³ñýæ áàéãàà Ëèíóêñèéí ïðîãðàìóóäûí øààðäëàãûã àëü áîëîõ îéð õàíãàæ áàéãàà òèéì ïîðòûã òà ñóóëãàõ øààðäëàãàòàé.
10.2.1.2 Ñàíãóóäûã ãàðààð ñóóëãàõ
Õýðýâ òà “ïîðòûí” öóãëóóëãà ñóóëãààã³é áîë ñàíãóóäûã ãàðààð ñóóëãàæ áîëíî. Ïðîãðàìûí õàìààðäàã Ëèíóêñèéí õóâààëöñàí ñàíãóóä áîëîí àæèëëàõ ³åèéí õîëáîã÷ (linker) òàíä õýðýãòýé áîëíî. Òà áàñ “ñ³³äýð root” ñàí áóþó /compat/linux ñàíã °°ðèéí FreeBSD ñèñòåì äýýð Ëèíóêñèéí ñàíãóóäàä çîðèóëæ ³³ñãýõ õýðýãòýé áîëíî. FreeBSD äýýð àæèëëàæ áàéãàà Ëèíóêñèéí ïðîãðàìóóäûí îíãîéëãîñîí äóðûí õóâààëöñàí ñàíãóóä ýíý ìîäûã ýõëýýä õàéäàã. Òýãýõýýð õýðýâ Ëèíóêñèéí ïðîãðàì æèøýý íü /lib/libc.so-ã äóóäâàë FreeBSD ýõëýýä /compat/linux/lib/libc.so-ã îíãîéëãîõûã îðîëäîõ á°ã°°ä
272
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
õýðýâ áàéõã³é áîë /lib/libc.so-ã îðîëäîõ áîëíî. Õóâààëöñàí ñàíãóóä íü Ëèíóêñèéí ld.so òóøààëààð ãàð÷ áàéãàà çàìóóäàä áèø õàðèí ñ³³äýð ìîä /compat/linux/lib-ò ñóóëãàãäàõ ¼ñòîé. Åð°íõèéä°° òàíûã Ëèíóêñèéí ïðîãðàì °°ðèéí FreeBSD ñèñòåìä ñóóëãàõ ýõíèé ö°°õ°í õýäýí óäààä ç°âõ°í Ëèíóêñèéí õî¼ðòûí àéëóóäûí õàìààðäàã õóâààëöñàí ñàíãóóäûã õàéõ õýðýãòýé áîëíî. Õýñýã õóãàöààíû äàðàà òà °°ðèéí ñèñòåì äýýðýý ÿìàð íýãýí èë³³ àæèëëàãààã³éãýýð øèíýýð èìïîðò õèéãäñýí Ëèíóêñèéí õî¼ðòûí àéëóóäûã àæèëëóóëæ ÷àäàõ Ëèíóêñèéí õóâààëöñàí ñàíãóóäûí õàíãàëòòàé îëîíëîãòîé áîëñîí áàéõ áîëíî. 10.2.1.3 Íýìýëò õóâààëöñàí ñàíãóóäûã õýðõýí ñóóëãàõ âý
ïîðòûã ñóóëãàñàí ÷ ãýñýí òàíû ïðîãðàì õóâààëöñàí ñàíãóóä áàéõã³é áàéíà ãýýä ãîìäîëëîîä áàéâàë ÿàõ âý? Ëèíóêñèéí õî¼ðòûí àéëóóäàä ÿìàð õóâààëöñàí ñàíãóóä õýðýãòýéã ÿàæ ìýäýõ âý, òýäãýýðèéã õààíààñ àâàõ âý? íäñýíäýý 2 áîëîìæ áàéäàã (ýäãýýð çààâðóóäûã äàãàæ áàéõäàà òà °°ðèéí FreeBSD ñèñòåì äýýðýý root áàéõ õýðýãòýé áîëíî). Ëèíóêñ ñèñòåìä õàíäàõ áîëîìæòîé áîë ïðîãðàìä ÿìàð õóâààëöñàí ñàíãóóä õýðýãòýéã ìýäýýä òýäãýýðèéã °°ðèéí FreeBSD ñèñòåì óðóó õóóëàõ õýðýãòýé. Äîîðõ æèøýýã õàðíà óó: linux_base
Òà FTP àøèãëàí Doom ãýñýí Ëèíóêñèéí õî¼ðòûí àéëûã àâ÷ °°ð°° õàíäàæ áîëîõ Ëèíóêñ ñèñòåì äýýðýý áàéðëóóëñàí ãýæ ³çüå. Òà òýãýýä ³³íèé øààðääàã õóâààëöñàí ñàíãóóäûã ldd linuxdoom òóøààë àøèãëàí èéìýðõ³³ãýýð øàëãàæ áîëíî: % ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
Òà ñ³³ëèéí áàãàíàä áàéãàà á³õ àéëóóäûã àâ÷ ýõíèé áàãàíàä áàéãàà íýðñèéã òýäãýýð óðóó çààñàí ñèìáîëûí õîëáîîñóóä áîëãîí /compat/linux äîòîð áàéðëóóëàõ õýðýãòýé. Ýíý íü òà °°ðèéí FreeBSD ñèñòåìäýý ýöñèéí ýöýñò ýäãýýð àéëóóäòàé áîëíî ãýñýí ³ã þì: /compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0 /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29 Note: Õýðýâ òà ldd òóøààëûí ãàðàëòûí ýõíèé áàãàíàòàé Ëèíóêñèéí õóâààëöñàí ñàíãèéí ãîë çàëðóóëàëòûí äóãààð òààðñàí òèéì Ëèíóêñèéí õóâààëöñàí ñàíòàé áàéãàà áîë ñ³³ëèéí áàãàíàä áàéãàà àéëóóäûã °°ðèéí ñèñòåì óðóó õóóëàõ øààðäëàãàã³é á°ã°°ä òàíä áàéãàà ÷èíü àæèëëàõ ¼ñòîéã ñàíààðàé. Õýðýâ øèíý õóâèëáàð áîë õóâààëöñàí ñàíã ÿìàð ÷ áàéñàí õóóëàõûã ç°âë°ä°ã. Òà øèíý óðóó çààñàí ñèìáîëûí õîëáîîñ ³³ñãýñíèéõýý äàðàà õóó÷èíã óñòãàæ áîëíî. Òýãýõýýð õýðýâ ýäãýýð ñàíãóóä òàíû °°ðèéí ñèñòåìä áàéãàà: /compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27
á°ã°°ä øèíý ñàí íü ldd òóøààëûí ãàðàëòûí äàãóó ñ³³ëèéí õóâèëáàðûã øààðäàíà ãýæ áàéãààã ìýäâýë: libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29
Õýðýâ ò°ãñ°æ áàéãàà òîîí äýýð ç°âõ°í íýã þì óó ýñâýë õî¼ð õóâèëáàð õóó÷èí áàéãàà áîë /lib/libc.so.4.6.29-ã áàñ õóóëæ ñàíààãàà çîâîîãîîä õýðýãã³é á°ã°°ä ïðîãðàì íü íýëýýí õóó÷èí
273
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
õóâèëáàðòàé ç³ãýýð àæèëëàõ ¼ñòîé þì. ýõäýý õýðýâ òà õ³ñýæ áàéãàà áîë libc.so-ã ÿìàð ÷ áàéñàí ãýñýí ñîëèõîîð øèéäýæ áîëîõ á°ã°°ä ýíý íü òàíûã äîîðõòîé ³ëäýýõ áîëíî: /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Note: Ñèìáîëûí õîëáîîñûí àðãà íü ç°âõ°í Ëèíóêñ õî¼ðòûí àéëóóäàä õýðýãòýé áàéäàã. FreeBSD-èéí àæèëëàõ ³åèéí õîëáîã÷ íü òààðàõ ãîë çàëðóóëàëòûí äóãààðóóäûã õàéõ òàëààð °°ð°° ñàíàà òàâüäàã áîëîõîîð òà ñàíàà çîâîõ õýðýãã³é þì.
10.2.2
Ëèíóêñèéí ELF õî¼ðòûí àéëóóäûã ñóóëãàõ
ELF õî¼ðòûí àéëóóä íü çàðèìäàà “branding” áóþó “òàìãàëàõ” íýìýëò àëõìûã øààðääàã. Õýðýâ òà òàìãàëààã³é ELF õî¼ðòûí àéëûã àæèëëóóëàõûã îðîëäâîë äîîð äóðäñàíòàé ò°ñòýé àëäààã õ³ëýýí àâàõ áîëíî: % ./my-linux-elf-binary
ELF binary type not known Abort
FreeBSD ö°ìä FreeBSD ELF õî¼ðòûí àéëûã Ëèíóêñèéí õî¼ðòûí àéëààñ ÿëãàõàä òóñëàõûí òóëä brandelf(1) õýðýãñëèéã àøèãëàíà. % brandelf -t Linux my-linux-elf-binary
í°°ä°ð GNU õýðýãñëèéí öóãëóóëãà íü ELF õî¼ðòûí àéëóóäàä àâòîìàòààð òîõèðîõ òàìãàëàëòûí ìýäýýëëèéã áàéðëóóëäàã. Òýãýõýýð ýíý àëõàì íü èðýýä³éä áàðàã ë õýðýãã³é áîëîõ ¼ñòîé þì. 10.2.3
Õîñòûí íýð òàíèã÷èéã òîõèðóóëàõ
Õýðýâ DNS àæèëëàõã³é áàéâàë ýñâýë òà èéì ìýäýãäýë õ³ëýýí àâáàë: resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword
Òà äàðààõ ì°ð³³äèéã àãóóëñàí /compat/linux/etc/host.conf àéëûã òîõèðóóëàõ õýðýãòýé áîëíî: order hosts, bind multi on
Ýíä áàéãàà
íü
ã ýõëýýä õàéæ äàðàà íü DNS-èéã õàéíà ãýæ çààæ áàéíà. ñóóãààã³é ³åä Ëèíóêñèéí ïðîãðàìóóä FreeBSD-èéí /etc/host.conf-ã îëæ íèéöã³é FreeBSD-èéí áè÷ëýã áàéíà ãýæ ãîìäîëëîõ áîëíî. Õýðýâ òà /etc/resolv.conf àéë àøèãëàí íýðèéí ñåðâåðèéã òîõèðóóëààã³é áîë bind ãýñýí ³ãèéã óñòãàõ õýðýãòýé. order /etc/hosts/compat/linux/etc/host.conf
274
10.3 Mathematica®
ñóóëãàõ íü
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Mathematica 5.X-ä çîðèóëæ øèíý÷èëñýí Áîðèñ Õîëëàñ.
Ýíý áàðèìò íü Mathematica 5.X-èéí Ëèíóêñ õóâèëáàðûã FreeBSD ñèñòåì óðóó ñóóëãàõ ïðîöåññèéã òàéëáàðëàõ áîëíî. Mathematica ýñâýë Mathematica for Students-èéí Ëèíóêñèéí õóâèëáàðûã http://www.wolfram.com/ äýõ Wolfram-ààñ çàõèàëæ áîëíî. 10.3.1 Mathematica
ñóóëãàã÷èéã àæèëëóóëàõ
Ýõëýýä Mathematica-èéí Ëèíóêñ õî¼ðòûí àéëóóä Ëèíóêñèéí ABI-ã àøèãëàíà ãýäãèéã òà FreeBSD-ä õýëæ °ã°õ õýðýãòýé. Èíãýæ õèéõ õàìãèéí õÿëáàð àðãà áîë á³õ òàìãàëààã³é õî¼ðòûí àéëóóäûí õóâüä àíõäàã÷ ELF òàìãàëàëòûã Ëèíóêñ áîëãîí äàðààõ òóøààëààð òîõèðóóëàõ ÿâäàë þì: # sysctl kern.fallback_elf_brand=3
Ýíý íü òàìãàëààã³é ELF õî¼ðòûí àéëóóä Ëèíóêñèéí ABI-ã àøèãëàíà ãýæ áîäîõîä FreeBSD-ã õ³ðãýõ á°ã°°ä òà ñóóëãàã÷èéã CDROM-îîñ øóóä àæèëëóóëàõ áîëîìæòîé áîëîõ ¼ñòîé. Îäîî MathInstaller àéëûã °°ðèéí õàòóó õ°ò°÷ óðóó õóóëàõ õýðýãòýé: # mount /cdrom # cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/
á°ã°°ä ýíý àéë äàõü ýõíèé ì°ðíèé /bin/sh-ã /compat/linux/bin/sh ãýæ ñîëèõ õýðýãòýé. Ýíý íü ñóóëãàã÷ sh(1)-èéí Ëèíóêñèéí õóâèëáàðûã àæèëëóóëàõààð áîëãîæ áàéãàà þì. Äàðàà íü Linux) ãýñýí á³ãäèéã FreeBSD) ãýäãýýð òåêñò çàñâàðëàã÷ààð þì óó ýñâýë äîîðõ äàðààãèéí õýñýãò áàéãàà ñêðèïòýýð ñîëèõ õýðýãòýé. éëäëèéí ñèñòåìèéã òîäîðõîéëîõûí òóëä uname -s òóøààëûã äóóääàã Mathematica ñóóëãàã÷èä FreeBSD-ã Ëèíóêñ ò°ñò ³éëäëèéí ñèñòåì ãýæ ³çýõèéã ýíý íü õýëæ °ãí°. MathInstaller-ã àæèëëóóëàõàä îäîî Mathematica-ã ñóóëãàõ áîëíî.
èéí àæèëëóóëàõ áîëîìæòîé àéëóóäûã °°ð÷ë°õ
10.3.2 Mathematica-
Ñóóëãàõ ÿâöàä Mathematica-èéí ³³ñãýñýí á³ðõ³³ëèéí ñêðèïò³³äèéã àøèãëàõààñàà °ìí° °°ð÷ë°õ õýðýãòýé. Õýðýâ òà Mathematica-èéí àæèëëóóëàõ áîëîìæòîé àéëóóäûã áàéðëóóëàõ ñàíä /usr/local/bin-ã ñîíãîñîí áîë òà ýíý ñàíä math, mathematica, Mathematica, áîëîí MathKernel ãýæ íýðëýãäñýí àéëóóä óðóó çààãäñàí ñèìáîëûí õîëáîîñóóäûã îëîõ áîëíî. Ýäãýýð á³ðò Linux) ãýäãèéã FreeBSD) ãýäãýýð òåêñò çàñâàðëàã÷ààð þì óó ýñâýë äîîðõ á³ðõ³³ëèéí ñêðèïòýýð ñîëèõ õýðýãòýé: #!/bin/sh cd /usr/local/bin for i in math mathematica Mathematica MathKernel do sed ’s/Linux)/FreeBSD)/g’ $i > $i.tmp sed ’s/\/bin\/sh/\/compat\/linux\/bin\/sh/g’ $i.tmp > $i rm $i.tmp chmod a+x $i done
275
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
10.3.3
°ðèéí Mathematica íóóö ³ãèéã îëæ àâàõ
Mathematica-ã ýõíèé óäàà ýõë³³ëýõýä òàíààñ íóóö ³ã àñóóõ áîëíî. Õýðýâ òà Wolfram-ààñ íóóö ³ãýý àâ÷ àìæààã³é áàéãàà áîë °°ðèéí “ìàøèíû ID”-ã àâàõûí òóëä ñóóëãàöûí ñàíä mathinfo-ã àæèëëóóëàõ õýðýãòýé. Ýíý ìàøèíû ID íü òàíû ýõíèé Ethernet êàðòíû MAC õàÿã äýýð òóëãóóðëàñàí áîëîõîîð Mathematica-èéí °°ðèéí õóóëáàðûã òà °°ð ìàøèíóóä äýýð àæèëëóóëæ ÷àäàõã³é þì. Wolfram-ä öàõèì çàõèäëààð ÷ þì óó ýñâýë óòàñ, àêñààð á³ðòã³³ëýõ ³åäýý òà “ìàøèíû ID”-àà òýäýíä °ã°õ á°ã°°ä òýä á³ëýã òîîíóóäààñ òîãòîõ õàðãàëçàõ íóóö ³ã á³õèé õàðèó °ã°õ áîëíî.
10.3.4 Mathematica
í³³ðýí õýñãèéã ñ³ëæýýãýýð àæèëëóóëàõ
Mathematica íü òýìäýãò³³äèé㠳糳ëýõèéí òóëä àëü ÷ ñòàíäàðò ³ñãèéí ìàÿãóóäûí îëîíëîãóóäàä áàéäàãã³é òóñãàé ³ñãèéí ìàÿãóóäûã àøèãëàäàã (èíòåãðàëóóä, íèéëáýð³³ä, ðåê ³ñã³³ä ãýõ ìýò.). X ïðîòîêîë íü ýäãýýð ³ñãèéí ìàÿãóóäûã °°ð äýýðýý ëîêàëààð ñóóëãàõûã øààðääàã. Ýíý íü CDROM þì óó ýñâýë Mathematica ñóóëãàãäñàí õîñòîîñ ýäãýýð ³ñãèéí ìàÿãóóäûí õóóëáàðûã °°ðèéí ëîêàë ìàøèí óðóó õóóëíà ãýñýí ³ã þì. Ýäãýýð ³ñãèéí ìàÿãóóä íü CDROM-èéí /cdrom/Unix/Files/SystemFiles/Fonts ñàí, ýñâýë òàíû õàòóó õ°ò÷èéí /usr/local/mathematica/SystemFiles/Fonts ñàíä èõýâ÷ëýí õàäãàëàãääàã. ñãèéí æèíõýíý ìàÿãóóä íü Type1 áîëîí X äýä ñàíãóóäàä áàéðëàäàã. Äîîð òàéëáàðëàñàí òýäãýýðèéã àøèãëàõ õýä õýäýí àðãóóä áàéäàã. Ýõíèé àðãà íü òýäãýýðèéã /usr/X11R6/lib/X11/fonts äàõü áàéãàà ³ñãèéí ìàÿãèéí ñàíãóóäûí àëü íýã óðóó õóóëàõ ÿâäàë þì. Ýíý íü ³ñãèéí ìàÿãèéí íýðñèéã íýìæ, ýõíèé ì°ð°í äýýð ³ñãèéí ìàÿãóóäûí òîîã °°ð÷èëæ fonts.dir àéëûã çàñâàðëàõûã øààðäàíà. Ì°í °°ð°°ð òà òýäãýýðèéã õóóëñàí ñàíä mkfontdir(1) òóøààëûã àæèëëóóëæ áàñ ÷àäàõ ¼ñòîé þì. ³íèéã õèéõ õî¼ð äàõü àðãà íü ñàíãóóäûã /usr/X11R6/lib/X11/fonts óðóó õóóëàõ ÿâäàë þì: # # # # # # # # # #
cd /usr/X11R6/lib/X11/fonts mkdir X mkdir MathType1 cd /cdrom/Unix/Files/SystemFiles/Fonts cp X/* /usr/X11R6/lib/X11/fonts/X cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1 cd /usr/X11R6/lib/X11/fonts/X mkfontdir cd ../MathType1 mkfontdir
Îäîî øèíý ³ñãèéí ìàÿãèéí ñàíãóóäàà °°ðèéí ³ñãèéí ìàÿãèéí çàìäàà íýìíý: # xset fp+ /usr/X11R6/lib/X11/fonts/X # xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 # xset fp rehash
Õýðýâ òà Xorg ñåðâåðèéã àøèãëàæ áàéãàà áîë ýäãýýð ³ñãèéí ìàÿãèéí ñàíãóóäûã °°ðèéí xorg.conf àéëäàà íýìýí àâòîìàòààð äóóäàãäàõààð òîõèðóóëæ áîëíî. Note: XFree86 ñåðâåð³³äèéí õóâüä òîõèðãîîíû àéë íü XF86Config
áàéíà.
276
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Õýðýâ òàíä /usr/X11R6/lib/X11/fonts/Type1 ãýãäñýí ñàí áàéõã³é áàéãàà áîë òà äýýðõ æèøýýí äýýðõ MathType1 ñàíãèéí íýðèéã Type1 áîëãîí °°ð÷èëæ áîëíî. 10.4 Maple™
ñóóëãàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ààðîí Êàïëàí. Òóñàëñàí îáåðò ýòøìàí. Maple™ íü Mathematica-òàé ò°ñòýé àðèëæààíû çîðèóëàëòûí ìàòåìàòèêèéí ïðîãðàì þì. Òà ýíý ïðîãðàìûã http://www.maplesoft.com/-ñ õóäàëäàí àâ÷ äàðàà íü òýíäýý ëèöåíçèéí àéë àâàõûí òóëä á³ðòã³³ëýõ õýðýãòýé. Ýíý ïðîãðàì õàíãàìæèéã FreeBSD äýýð ñóóëãàõûí òóëä ýäãýýð õÿëáàð àëõìóóäûã äàãàíà óó. 1.
2.
3.
4.
á³ðõ³³ëèéí ñêðèïòèéã á³òýýãäýõ³³íèé òàðõàöààñ àæèëëóóëíà. Ñóóëãàö ïðîãðàìààñ õ³ñýõýä “RedHat” òîõèðóóëãûã ñîíãîîðîé. Åðäèéí ñóóëãàöûí ñàí íü /usr/local/maple áàéæ áîëîõ þì. Õýðýâ òà òýãæ õèéãýýã³é áîë Maple Waterloo Software (http://register.maplesoft.com/) êîìïàíèàñ Maple-ä çîðèóëæ ëèöåíç çàõèæ ò³³íèéãýý /usr/local/maple/license/license.dat ñàí óðóó õóóëàõ õýðýãòýé. Maple-òàé öóã èðäýã INSTALL_LIC ñóóëãàöûí á³ðõ³³ëèéí ñêðèïòèéã àæèëëóóëæ FLEXlm ëèöåíç ìåíåæåðèéã ñóóëãàõ õýðýãòýé. Ëèöåíçèéí ñåðâåðò çîðèóëæ °°ðèéí ìàøèíûõàà àíõäàã÷ õîñòûí íýðèéã çààæ °ãí°. /usr/local/maple/bin/maple.system.type àéëûã äîîð äóðäñàíààð í°õ°°ñ õèéõ õýðýãòýé:
INSTALL
----- snip -----------------Sun Jul 8 16:35:33 2001 *** maple.system.type.orig --- maple.system.type Sun Jul 8 16:35:51 2001 *************** *** 72,77 **** --- 72,78 ---# the IBM RS/6000 AIX case MAPLE_BIN="bin.IBM_RISC_UNIX" ;; + "FreeBSD"|\ "Linux") # the Linux/x86 case # We have two Linux implementations, one for Red Hat and ----- snip end of patch -----
ì°ðèéí äàðàà ÿìàð ÷ õîîñîí çàé áàéõ ¼ñã³éã ñàíààðàé. Ýíýõ³³ í°õ°°ñ íü “FreeBSD”-ã Ëèíóêñ ñèñòåìèéí ò°ð°ë ìàÿãààð òàíèõûã Maple-ä çààäàã. bin/maple á³ðõ³³ëèéí ñêðèïò íü bin/maple.system.type á³ðõ³³ëèéí ñêðèïòèéã äóóäàæ òýð íü ýðãýýä ³éëäëèéí ñèñòåìèéí íýðèéã îëîõûí òóëä uname -a òóøààëûã äóóääàã. OS-èéí íýðýýñ õàìààðààä ýíý íü àëü õî¼ðòûí àéëóóäàà àøèãëàõàà îëîõ áîëíî. Ëèöåíçèéí ñåðâåðèéã ýõë³³ëíý. /usr/local/etc/rc.d/lmgrd.sh ãýæ ñóóëãàãäñàí äàðààõ ñêðèïò íü lmgrd-ã ýõë³³ëýõ õÿëáàð àðãà þì:
"FreeBSD"|\
5.
277
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ ----- snip -----------#! /bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX export PATH LICENSE_FILE=/usr/local/maple/license/license.dat LOG=/var/log/lmgrd.log case "$1" in start) lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2 echo -n " lmgrd" ;; stop) lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2 ;; *) echo "Usage: ‘basename $0‘ {start|stop}" 1>&2 exit 64 ;; esac exit 0 ----- snip ------------
6.
Maple-èéã òåñòýýð ýõë³³ëíý: % cd /usr/local/maple/bin % ./xmaple
Îäîî àæèëëàæ áàéõ ¼ñòîé. Maplesoft óðóó òà FreeBSD-èéí ýõ õóâèëáàðûã õ³ñýæ áàéãààãàà áè÷èõýý ìàðòóóçàé! 10.4.1 •
Ò³ãýýìýë àñóóäëóóä
FLEXlm ëèöåíçèéí ìåíåæåðòýé àæèëëàõàä ò°â°ãòýé áàéæ áîëîõ þì. Ýíý òóõàé íýìýëò áàðèìòûã http://www.globetrotter.com/ õàÿãààñ îëæ áîëíî.
íü ëèöåíçèéí àéëûã õýòýðõèé ãîëæ øèëäýã, áàñ õýðýâ ÿìàð íýãýí àñóóäàë áàéâàë core àéë ³³ñãýõ äóðòàéãààðàà àëäàðòàé ïðîãðàì þì. Ç°â ëèöåíçèéí àéë èéìýðõ³³ õàðàãäàõ ¼ñòîé:
• lmgrd
# ======================================================= # License File for UNIX Installations ("Pointer File") # ======================================================= SERVER chillig ANY #USE_SERVER VENDOR maplelmg FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \ PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \ ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
278
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ SN=XXXXXXXXX Note: Ýíä ñåðèàë äóãààð áîëîí ò³ëõ³³ðèéã ’X’ áîëãîñîí áàéíà. chillig
íü õîñòûí íýð þì.
Ëèöåíçèéí àéëûã çàñâàðëàõäàà “FEATURE” ì°ðèéã (ýíý íü ëèöåíçèéí ò³ëõ³³ðýýð õàìãààëàãäñàí áàéäàã) îðîëäîõã³é áîë ÿìàð ÷ àñóóäàë ãàðàõã³é àæèëëàõ áîëíî. 10.5 MATLAB®
ñóóëãàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Äýí Ïýëëýã. Ýíý áàðèìò íü MATLAB® version 6.5-èéí Ëèíóêñèéí õóâèëáàðûã FreeBSD ñèñòåì óðóó ñóóëãàõ ïðîöåññèéã òàéëáàðëàõ áîëíî. Java Virtual Machine™-ã òîîöîõã³é þì áîë ýíý íü ìàø ñàéí àæèëëàäàã (Section 10.5.3-ã ³çíý ³³). MATLAB-èéí Ëèíóêñèéí õóâèëáàðûã http://www.mathworks.com äýõ MathWorks-ñ øóóä çàõèàëæ áîëíî. Ëèöåíçèéí àéëûã àâàõ þì óó ýñâýë õýðõýí ³³ñãýõ çààâðûã áàñ àâàõàà ìàðòóóçàé. Òýíä áàéõäàà òýäíèé ïðîãðàì õàíãàìæèéí FreeBSD õóâèëáàðûã õ³ñýæ áàéãààãàà ìýäýãäýýðýé. 10.5.1 MATLAB
ñóóëãàõ íü
MATLAB-ã ñóóëãàõûí òóëä äîîð äóðäñàíûã õèéíý: 1.
Ñóóëãàöûí CD-ã õèéæ õîëáîíî. Ñóóëãàöûí ñêðèïòèéí ç°âë°ñí°°ð root áîëíî. Ñóóëãàõ ñêðèïòèéã ýõë³³ëýõèéí òóëä äîîð äóðäñàíûã áè÷íý: # /compat/linux/bin/sh /cdrom/install
Tip: Ñóóëãàã÷ íü ãðàèê îð÷íûõ þì. Õýðýâ òà äýëãýö îíãîéëãîæ ÷àäàõã³é áàéíà ãýñýí àëäààíóóä àâáàë ãýæ áè÷èõ õýðýãòýé á°ã°°ä ýíä áàéãàà USER íü òàíû su(1) õèéñýí õýðýãëýã÷ þì.
setenv HOME ~USER
2.
MATLAB-èéí root ñàíã àñóóõàä äîîð äóðäñàíûã áè÷íý: /compat/linux/usr/local/matlab. Tip: Ñóóëãàõ ïðîöåññèéí ³ëäñýí õýñýãò õÿëáàðààð áè÷äýã áàéõûí òóëä °°ðèéí á³ðõ³³ëèéí õ³ëýýõ ì°ð°í äýýð ³³íèéã áè÷íý: set MATLAB=/compat/linux/usr/local/matlab
3.
MATLAB ëèöåíçèéã àâ÷ áàéõäàà çààâàðëàñíû äàãóó ëèöåíçèéí àéëûã çàñâàðëàíà. Tip: °ðèéí äóðòàé çàñâàðëàã÷àà àøèãëàí òà ýíý àéëûã óðüä÷èëàí áýëäýæ, ñóóëãàã÷ òàíààñ ³³íèéã çàñâàðëàõûã àñóóõààñ °ìí° $MATLAB/license.dat óðóó õóóëíà.
4.
Ñóóëãàõ ïðîöåññèéã ã³éöýýíý.
279
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Ýíä õ³ðýõýä òàíû MATLAB ñóóëãàëò äóóññàí áàéíà. ³íèéã òàíû FreeBSD ñèñòåì óðóó õîëáîõûí òóëä äàðààõ àëõìóóä íü “õèéæ” °ãä°ã. 10.5.2 1.
Ëèöåíçèéí Ìåíåæåðèéí ýõë³³ëýëò
Ëèöåíçèéí ìåíåæåðèéí ñêðèïò³³äýä çîðèóëæ ñèìáîëûí õîëáîîñóóäûã ³³ñãýíý: # ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW # ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW
2.
ò ýõë³³ëýõ àéëûã ³³ñãýíý. Äîîðõ æèøýý íü ò³ãýýãäñýí èéí °°ð÷ë°ãäñ°í õóâèëáàð þì. °ð÷ë°ëò³³ä íü àéëûí áàéðëàëóóä áîëîí Ëèíóêñèéí ýìóëÿö äîîð àæèëëàõ ëèöåíçèéí ìåíåæåðèéí ýõë³³ëýëò áàéíà.
/usr/local/etc/rc.d/flexlm.sh$MATLAB/etc/rc.lm.glnx86-
#!/bin/sh case "$1" in start) if [ -f /usr/local/etc/lmboot_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo ’MATLAB_lmgrd’ fi ;; stop) if [ -f /usr/local/etc/lmdown_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1 fi ;; ) * echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 Important: Ôàéëûã àæèëëóóëàõààð áîëãîõ ¼ñòîé: # chmod +x /usr/local/etc/rc.d/flexlm.sh
Òà äýýðõ username-ã °°ðèéí ñèñòåì äýýðõ ç°â õýðýãëýã÷ýýð ñîëèõ ¼ñòîé (root áèø). 3.
Ëèöåíçèéí ìåíåæåðèéã äàðààõ òóøààëààð ýõë³³ëíý: # /usr/local/etc/rc.d/flexlm.sh start
èéí àæèëëàõ ³åèéí îð÷íûã õîëáîõ
10.5.3 Java-
Java Runtime Environment (JRE) áóþó Àæèëëàõ ³åèéí îð÷íû õîëáîîñûã FreeBSD äýýð àæèëëàæ áàéãàà óðóó çààæ °°ð÷ë°õ õýðýãòýé: # cd $MATLAB/sys/java/jre/glnx86/ # unlink jre; ln -s ./jre1.1.8 ./jre
280
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
èéí ýõë³³ëýõ ñêðèïòèéã ³³ñãýõ
10.5.4 MATLAB1.
Äàðààõ ýõë³³ëýõ ñêðèïòèéã /usr/local/bin/matlab-ä áàéðëóóëíà: #!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"
2.
Òýãýýä chmod
+x /usr/local/bin/matlab
òóøààëûã áè÷íý.
Tip: Òàíû emulators/linux_base õóâèëáàðààñ øàëòãààëààä ýíý ñêðèïòèéã àæèëëóóëàõàä àëäàà ãàð÷ áîëîõ þì. ³íýýñ ñýðãèéëýõèéí òóëä /compat/linux/usr/local/matlab/bin/matlab àéëûã çàñâàðëàæ äîîðõ: if [ ‘expr "$lscmd" : ’.*->.*’‘ -ne 0 ]; then
(13.0.1 õóâèëáàð äýýð ýíý íü 410-ð ì°ð°íä áàéíà) ì°ðèéã èíãýæ °°ð÷ë°õ õýðýãòýé: if test -L $newbase; then
èéí çîãñîîõ ñêðèïòèéã ³³ñãýõ
10.5.5 MATLAB-
MATLAB-èéí ç°â äóóñäàãã³é àñóóäëûã øèéäýõýä äàðààõ ç³éëñèéã õèéõ õýðýãòýé. 1.
$MATLAB/toolbox/local/finish.m
àéë ³³ñãýæ ò³³íä ãàíö ì°ð íýìíý:
! $MATLAB/bin/finish.sh Note: $MATLAB
íü ³ã þì.
Tip: Òýð ñàí äîòðîî ãàðàõààñ °ìí° °°ðèéí àæëûí òàëáàðûã õàäãàëàõ áîëîìæèéã îëãîõ finishsav.m áîëîí finishdlg.m àéëóóäûã òà îëîõ áîëíî. Õýðýâ òà òýäãýýðèéí àëü íýãèéã àøèãëàæ áàéãàà áîë äýýðõ ì°ðèéã save òóøààëûí äàðàà íýí äàðóé îðóóëàõ õýðýãòýé.
2.
äîîð äóðäñàíûã àãóóëñàí $MATLAB/bin/finish.sh àéëûã ³³ñãýíý: #!/usr/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0
3.
Ôàéëûã àæèëëàõ áîëîìæòîé áîëãîíî: # chmod +x $MATLAB/bin/finish.sh
281
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
èéã àøèãëàõ
10.5.6 MATLAB-
Ýíä õ³ðýõýä òà matlab ãýæ áè÷èí ³³íèéã àøèãëàæ ýõëýõýä áýëýí áîëñîí áàéíà. 10.6 Oracle®
ñóóëãàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìàðñåë Ìóóëåíààð. 10.6.1
Îðøèë
Ýíý áàðèìò íü Ëèíóêñä çîðèóëñàí Oracle 8.0.5 áîëîí Oracle 8.0.5.1 Enterprise Edition-ã FreeBSD ìàøèí óðóó ñóóëãàõ ïðîöåññèéã òàéëáàðëàõ áîëíî. 10.6.2
Ëèíóêñèéí îð÷íûã ñóóëãàõ
Òà emulators/linux_base áîëîí devel/linux_devtools ïðîãðàìóóä ïîðòûí öóãëóóëãààñ ñóóñàí ýñýõèéã øàëãààðàé. Òà ýäãýýð ïîðòûí õóâüä àñóóäàëòàé áàéãàà áîë áàãöóóä þì óó ýñâýë ïîðòûí öóãëóóëãàä áàéãàà õóó÷èí õóâèëáàðóóäûã àøèãëàõ õýðýãòýé áîëæ áîëîõ þì. Õýðýâ òà óõààëàã àãåíòèéã àæèëëóóëàõûã õ³ñýæ áàéãàà áîë Red Hat Tcl áàãö: tcl-8.0.3-20.i386.rpm-ã áàñ ñóóëãàõ õýðýãòýé áîëíî. Àëáàí ¼ñíû RPM ïîðòòîé (archivers/rpm) áàãöóóäûã ñóóëãàõ åð°íõèé òóøààë áîë: # rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package
package-
èéí ñóóëãàëò ÿìàð ÷ àëäàà ³³ñãýõ ¼ñã³é.
10.6.3 Oracle
îð÷íûã ³³ñãýõ
Oracle-ã ñóóëãàõààñàà °ìí° òà òîõèðîõ îð÷íûã òîõèðóóëàõ õýðýãòýé. Ýíý áàðèìò íü Oracle-ã ñóóëãàõ çààâàðò òàéëáàðëàñíûã áèø Ëèíóêñä çîðèóëñàí Oracle-ã FreeBSD äýýð àæèëëóóëàõûí òóëä ÿã þó õèéõèéã ç°âõ°í òàéëáàðëàäàã. 10.6.3.1 Ö°ìèéã òààðóóëàõ
Oracle-ã ñóóëãàõ çààâàðò òàéëáàðëàñíààð õóâààëöñàí ñàíàõ îéí õàìãèéí èõ õýìæýýã òîõèðóóëàõ õýðýãòýé. FreeBSD äýýð SHMMAX-ã áèòãèé àøèãëààðàé. SHMMAX íü åðä°° ë SHMMAXPGS áîëîí PGSIZE-ñ òîîöîîëîãäîí ãàðãàãääàã. Òèéì áîëîõîîð SHMMAXPGS-ã òîäîðõîéë. Áóñàä á³õ òîõèðóóëãóóä çààâàðò òàéëáàðëàñíû äàãóó àøèãëàãäàæ áîëíî. Æèøýý íü: options options options options options options
SHMMAXPGS=10000 SHMMNI=100 SHMSEG=10 SEMMNS=200 SEMMNI=70 SEMMSL=61
Ýäãýýð òîõèðóóëãóóäûã °°ðèéí Oracle-èéí õýðýãëýýíä òààðóóëæ òîõèðóóëàõ õýðýãòýé. 282
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Ì°í ö°ìèéí òîõèðãîîíû àéëäàà äàðààõ òîõèðóóëãóóäòàé áàéãàà ýñýõýý áàñ øàëãààðàé: options SYSVSHM #SysV shared memory options SYSVSEM #SysV semaphores options SYSVMSG #SysV interprocess communication
10.6.3.2 Oracle á³ðòãýë
°ð áóñàä á³ðòãýë ³³ñãýäýã øèãýý oracle á³ðòãýë ³³ñãýíý. oracle á³ðòãýë íü Ëèíóêñèéí á³ðõ³³ë °ã°õ øààðäëàãàòàé öîðûí ãàíö òóñãàé á³ðòãýë þì. /etc/shells àéëä /compat/linux/bin/bash-ã íýìýýä oracle õýðýãëýã÷èéí á³ðõ³³ëèéã /compat/linux/bin/bash ãýæ òîõèðóóëíà. 10.6.3.3 Îð÷èí
ORACLE_HOME áîëîí ORACLE_SID çýðýã åðäèéí Oracle õóâüñàã÷óóäààñ ãàäíà òà äàðààõ îð÷íû õóâüñàã÷óóäûã òîõèðóóëàõ ¼ñòîé:
Õóâüñàã÷
Óòãà
LD_LIBRARY_PATH
$ORACLE_HOME/lib
CLASSPATH
$ORACLE_HOME/jdbc/lib/classes111.zip
PATH
/compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin
Á³õ îð÷íû õóâüñàã÷óóäûã .profile-ä òîõèðóóëàõûã ç°âë°ä°ã. ³éöýä æèøýý áîë äàðààõ áàéíà: ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin export PATH
èéã ñóóëãàõ
10.6.4 Oracle-
Ëèíóêñèéí ýìóëÿòîðûí õàéõðàìæã³é á³ðýí á³òýí áóñ áàéäëààñ áîëîîä ñóóëãàã÷èéã ýõë³³ëýõýýñýý °ìí° òà .oracle ñàíã /var/tmp äîòîð ³³ñãýõ õýðýãòýé áîëäîã. ³íèéã oracle õýðýãëýã÷ ýçýìøèõýýð áîëãîõ õýðýãòýé. Òà Oracle-ã ÿìàð ÷ àñóóäàëã³éãýýð ñóóëãàæ ÷àäàõ ¼ñòîé. Õýðýâ òàíä àñóóäëóóä ó÷èðâàë ýõëýýä °°ðèéí Oracle òàðõàö áà/ýñâýë òîõèðãîîã øàëãàõ õýðýãòýé! Oracle-ã ñóóëãàñíûõàà äàðàà òà äàðààõ õî¼ð äýä õýñýãò òàéëáàðëàñàí í°õ°°ñ³³äèéã õèéæ °ã°õ õýðýãòýé.
283
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Áàéíãà ó÷èðäàã àñóóäàë áîë TCP ïðîòîêîëûí õóâèðãàã÷ ç°â ñóóëãàãäààã³é áàéäàã ÿâäàë þì. ³íýýñ áîëîîä òà ÿìàð ÷ TCP ñîíñîã÷ ýõë³³ëæ ÷àäàõã³é. Äàðààõ ³éëäë³³ä íü ýíý àñóóäëûã øèéäýõýä òóñàëäàã: # # # # # #
cd $ORACLE_HOME/network/lib make -f ins_network.mk ntcontab.o cd $ORACLE_HOME/lib ar r libnetwork.a ntcontab.o cd $ORACLE_HOME/network/lib make -f ins_network.mk install
root.sh-
ã äàõèí àæèëëóóëàõàà áèòãèé ìàðòààðàé!
10.6.4.1 root.sh-ä í°õ°°ñ õèéõ
Oracle-ã ñóóëãàæ áàéõàä root ýðõýýð õèéãäýõ øààðäëàãàòàé çàðèì ³éëäë³³ä root.sh ãýæ íýðëýãäñýí á³ðõ³³ëèéí ñêðèïòýä áè÷èãäñýí áàéäàã. Ýíý ñêðèïò íü orainst ñàíä áè÷èãäñýí áàéäàã. chown òóøààëûí ç°â áàéðëàëûã àøèãëàõààð áîëãîæ äàðààõ í°õ°°ñèéã root.sh-ä õèéõ õýðýãòýé, ýñâýë °°ð°°ð ñêðèïòèéã Ëèíóêñèéí ýõ á³ðõ³³ë äýýð àæèëëóóëàõ õýðýãòýé.
*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---# This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script
CD-ýýñ Oracle-ã òà ñóóëãàõã³é ³åä root.sh-ä çîðèóëñàí ýõèéã í°õ°æ áîëíî. ³íèéã rthd.sh ãýäýã á°ã°°ä ýõ ìîäíû orainst ñàíä áàéðëàäàã. 10.6.4.2 genclntsh-ä í°õ°°ñ õèéõ
genclntsh ñêðèïò íü õóâààëöñàí ãàíö êëèåíòèéí ñàíã ³³ñãýõýä àøèãëàãääàã. ç³³ëáýð³³äèéã á³òýýæ áàéõàä ³³íèéã àøèãëàäàã. PATH-í òîäîðõîéëîëòûã òàéëáàð áîëãîõûí òóëä äàðààõ í°õ°°ñèéã õèéõ õýðýãòýé: *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** #
284
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ # Explicit path to ensure that we’re using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---# # Explicit path to ensure that we’re using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst
ã àæèëëóóëàõ
10.6.5 Oracle-
Çààâðóóäûã äàãàñíû äàðàà òà Oracle-ã Ëèíóêñ äýýð àæèëëóóëæ áàéãàà þì øèã àæèëëóóëæ ÷àäàõ ¼ñòîé. 10.7 SAP® R/3®
ñóóëãàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Õîëãýð Êèïï. Ýõ õóâèëáàðûã SGML ð³³ õ°ðâ³³ëñýí Âàëåíòèíî Âàøåòòî. FreeBSD àøèãëàí SAP ñèñòåì³³äèéã ñóóëãàõ íü SAP-èéí äýìæèõ áàãààð äýìæèãääýãã³é —òýäãýýð íü ç°âõ°í áàòàëãààæñàí òàâöàíãóóäûí õóâüä äýìæëýã ñàíàë áîëãîäîã. 10.7.1
Îðøèë
Ýíý áàðèìò íü FreeBSD áîëîí Oracle-èéí ñóóëãàëòûã îðóóëààä Ëèíóêñä çîðèóëñàí SAP R/3 System-ã Oracle Database-òýé öóã FreeBSD ìàøèí äýýð ñóóëãàõ áîëîìæèò àðãûã òàéëáàðëàõ áîëíî. Õî¼ð °°ð òîõèðãîîã òàéëáàðëàíà: • •
FreeBSD 4.3-STABLE äýýð Oracle 8.0.5-òàé öóã SAP R/3 4.6B (IDES) FreeBSD 4.5-STABLE äýýð Oracle 8.1.7-òàé öóã SAP R/3 4.6C
Ýíý áàðèìò íü á³õ ÷óõàë àëõìóóäûã èë³³ äýëãýðýíã³é òàéëáàðëàõûã îðîëääîã ÷ ãýñýí Oracle áîëîí SAP R/3-èéí ñóóëãàëòûí çààâðóóäûã îðëîõ çîðèëãîîð õèéãäýýã³é þì. SAP-ä çîðèóëñàí SAP R/3 Ëèíóêñèéí õóâèëáàðòàé èðäýã áàðèìòûã áîëîí Oracle-òàé õîëáîîòîé àñóóëòóóä, Oracle áîëîí SAP OSS-èéí ýõ ³³ñâýð³³äèéã ³çíý ³³. 10.7.2
Ïðîãðàì õàíãàìæ
Äàðààõ CD-ROM-óóä íü SAP ñóóëãàëòóóäàä àøèãëàãääàã:
285
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.2.1 SAP R/3 4.6B, Oracle 8.0.5
Íýð
Äóãààð
Òàéëáàð KERNEL 51009113 SAP Ö°ì Oracle / Ñóóëãàëò / AIX, Ëèíóêñ, Solaris RDBMS 51007558 Oracle / RDBMS 8.0.5.X / Ëèíóêñ EXPORT1 51010208 IDES / DB-Export / 6 Äèñêíèé 1-ð Äèñê EXPORT2 51010209 IDES / DB-Export / 6 Äèñêíèé 2-ð Äèñê EXPORT3 51010210 IDES / DB-Export / 6 Äèñêíèé 3-ð Äèñê EXPORT4 51010211 IDES / DB-Export / 6 Äèñêíèé 4-ð Äèñê EXPORT5 51010212 IDES / DB-Export / 6 Äèñêíèé 5-ð Äèñê EXPORT6 51010213 IDES / DB-Export / 6 Äèñêíèé 6-ð Äèñê Ì°í áèä Oracle 8 Ñåðâåð (Ëèíóêñèéí Ö°ìèéí Õóâèëáàð 2.0.33-ò çîðèóëñàí óðüä÷èëñàí õóâèëáàð 8.0.5) CD-ã àøèãëàñàí áà ýíý íü òèéì ÷ øààðäëàãàòàé áèø á°ã°°ä áàñ FreeBSD 4.3-STABLE (4.3 RELEASE-ñ ä°íã°æ õýä õîíîã °íã°ð÷ áàéñàí) õóâèëáàðûã àøèãëàñàí. 10.7.2.2 SAP R/3 4.6C SR2, Oracle 8.1.7
Íýð
Äóãààð
Òàéëáàð KERNEL 51014004 SAP Ö°ì Oracle / SAP Ö°ìèéí Õóâèëáàð 4.6D / DEC, Ëèíóêñ RDBMS 51012930 Oracle 8.1.7/ RDBMS / Ëèíóêñ EXPORT1 51013953 Õóâèëáàð 4.6C SR2 / Export / 4 Äèñêíèé 1-ð Äèñê EXPORT1 51013953 Õóâèëáàð 4.6C SR2 / Export / 4 Äèñêíèé 2-ð Äèñê EXPORT1 51013953 Õóâèëáàð 4.6C SR2 / Export / 4 Äèñêíèé 3-ð Äèñê EXPORT1 51013953 Õóâèëáàð 4.6C SR2 / Export / 4 Äèñêíèé 4-ð Äèñê LANG1 51013954 Õóâèëáàð 4.6C SR2 / Õýë / DE, EN, FR / 3 Äèñêíèé 1-ð Äèñê Ñóóëãàõûã õ³ññýí õýëýýñ õàìààð÷ õýëíèé íýìýëò CD-³³ä õýðýã áîëæ áîëîõ þì. Ýíä áèä DE áîëîí EN ( åðìàí áîëîí Àíãëè) õýë³³äèéã àøèãëàæ áàéãàà, òèéì áîëîõîîð ç°âõ°í õýëíèé ýõíèé CD õýðýãòýé þì. Òýìäýãëýí õýëýõýä á³õ ä°ðâ°í EXPORT CD-³³äèéí äóãààð àäèë áàéíà. Õýëíèé ãóðâàí CD-³³ä áàñ àäèë äóãààðòàé áàéíà (ýíý íü 4.6B IDES õóâèëáàðûí CD äóãààðëàëòààñ °°ð þì). ³íèéã áè÷èæ áàéõ
286
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
³åä ñóóëãàëò íü FreeBSD 4.5-STABLE (20.03.2002) õóâèëáàð äýýð àæèëëàæ áàéãàà áîëíî. 10.7.3 SAP
òýìäýãëýë³³ä
SAP R/3-èéã ñóóëãàõààñàà °ìí° äàðààõ òýìäýãëýãýýí³³äèéã óíøèõ õýðýãòýé. Ýíý íü áàñ ñóóëãàæ áàéõ ÿâöàä àøèãòàé áîëîõ íü òîãòîîãäñîí: 10.7.3.1 SAP R/3 4.6B, Oracle 8.0.5
Äóãààð 0171356 0201147 0373203 0072984 0130581 0144978 0162266
Íýð Ëèíóêñ äýýðõ SAP ïðîãðàì õàíãàìæ: íäñýí òàéëáàðóóä INST: UNIX - Oracle äýýðõ 4.6C R/3 Inst. Øèíý÷ëýë / Øèëæ³³ëýëò Oracle 8.0.5 --> 8.0.6/8.1.6 ËÈÍÓÊÑ Oracle-ä çîðèóëñàí Digital UNIX 4.0B Õóâèëáàð R3SETUP-èéí DIPGNTAB àëõàì çîãñîõ Òàíû ñèñòåì ç°â ñóóëãàãäààã³é áàéíà Windows NT / W2K äýýðõ R3SETUP-ä çîðèóëñàí àñóóëòóóä áîëîí çààâðóóä
10.7.3.2 SAP R/3 4.6C, Oracle 8.1.7
Äóãààð 0015023 0045619 0171356 0195603 0212876 0300900 0377187 0387074 0387077 0387078
Íýð Õ³ñíýãò TCPDB (RSXP0004) (EBCDIC)-ã ýõë³³ëýõ Õýä õýäýí õýë³³ä áîëîí ³ñãèéí õýëáýð³³äòýé R/3 Ëèíóêñ äýýðõ SAP ïðîãðàì õàíãàìæ: íäñýí òàéëáàðóóä RedHat 6.1 Enterprise õóâèëáàð: Ìýäýãäýæ áàéãàà àñóóäëóóä Àðõèâëàõ øèíý õýðýãñýë SAPCAR Ëèíóêñ: àðãàñàí DELL òîíîã ò°õ°°ð°ìæ RedHat 6.2: ÷óõàë òýìäýãëýãýýí³³ä INST: UNIX äýýðõ R/3 4.6C SR2 ñóóëãàëò INST: UNIX - Oracle äýýðõ R/3 4.6C SR2 Inst. UNIX äýýðõ SAP ïðîãðàì õàíãàìæ: OS-èéí õàìààðëóóä 4.6C SR2
287
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
10.7.4
Òîíîã ò°õ°°ð°ìæèéí øààðäëàãóóä
SAP R/3 System-èéí ñóóëãàëòàä äàðààõ ò°õ°°ð°ìæ³³ä õàíãàëòòàé. éëäâýðëýëèéí çîðèëãîîð àøèãëàõàä ìýäýýæ èë³³ òîäîðõîé õýìæýýí³³ä øààðäëàãàòàé:
Á³ðýëäýõ³³í 4.6B 4.6C Ïðîöåññîð 2 x 800MHz Pentium III 2 x 800MHz Pentium III Ñàíàõ îé 1GB ECC 2GB ECC Õàòóó äèñêíèé çàé 50-60GB (IDES) 50-60GB (IDES) éëäâýðëýëä òîì êýø, °íä°ð õóðäòàé äèñêíèé õàíäàëò (SCSI, RAID òîíîã ò°õ°°ð°ìæèéí õÿíàã÷), USV áîëîí ECC-RAM á³õèé Xeon ïðîöåññîðóóäûã àøèãëàõûã ç°âë°ä°ã. Õàòóó äèñêíèé èõ õýìæýýíèé çàé íü ñóóëãàõ ÿâöàä 27 GB õýìæýýòýé ìýäýýëëèéí áààçûí àéëóóäûã ³³ñãýäýã óðüä÷èëàí òîõèðóóëñàí IDES ñèñòåìýýñ áîëäîã. Ýíý çàé íü ýõíèé ³éëäâýðëýëèéí ñèñòåì áîëîí ïðîãðàìûí °ã°ãäë³³äýä áàñ õàíãàëòòàé áàéäàã. 10.7.4.1 SAP R/3 4.6B, Oracle 8.0.5
Äàðààõ òîíîã ò°õ°°ð°ìæ àøèãëàãäñàí: 2 øèðõýã 800 MHz Pentium III ïðîöåññîð á³õèé õî¼ð ïðîöåññîð ñóóëãàæ áîëîõ õàâòàí, 29160 Ultra160 SCSI àäàïòåð (40/80 GB DLT ñîðîíçîí õàëüñíû õ°ò°÷ áîëîí CDROM-ä õàíäàõûí òóëä) Mylex® AcceleRAID™ (2 ñóâàã, 32 MB RAM-òàé firmware 6.00-1-00) àøèãëàãäñàí. Mylex RAID õÿíàã÷ óðóó õî¼ð 17 GB õàòóó äèñê (òîëèí òóñãàë õèéãäñýí) áîëîí ä°ðâ°í 36 GB õàòóó äèñê (RAID ò³âøèí 5) çàëãàãäñàí áîëíî. 10.7.4.2 SAP R/3 4.6C, Oracle 8.1.7
Ýíý ñóóëãàëòàä Dell™ PowerEdge™ 2500 àøèãëàãäñàí: õî¼ð 1000 MHz Pentium III ïðîöåññîð (256 kB Êýø) á³õèé õî¼ð ïðîöåññîð ñóóëãàæ áîëîõ õàâòàí, 2 GB PC133 ECC SDRAM, 128 MB ñàíàõ îéòîé PERC/3 DC PCI RAID Õÿíàã÷ áîëîí EIDE DVD-ROM õ°ò°÷ àøèãëàãäñàí. RAID õÿíàã÷ óðóó õî¼ð 18 GB õàòóó äèñê (òîëèí òóñãàë õèéãäñýí) áîëîí ä°ðâ°í 36 GB õàòóó äèñê (RAID ò³âøèí 5) çàëãàãäñàí áîëíî.
èéí ñóóëãàëò
10.7.5 FreeBSD-
Òà ýõëýýä FreeBSD ñóóëãàõ õýðýãòýé. ³íèéã õèéõ õýä õýäýí àðãà áàéãàà á°ã°°ä äýëãýðýíã³é ìýäýýëëèéã Section 2.13-ñ óíøèíà óó. 10.7.5.1 Äèñêíèé ä³ð çóðàã
Õÿëáàð áàéëãàõûí òóëä èæèë äèñêíèé áàéðøëûã SAP R/3 46B áîëîí SAP R/3 46C SR2 ñóóëãàëòàä õýðýãëýñýí. Ñóóëãàëò °°ð °°ð òîíîã ò°õ°°ð°ìæèí (/dev/da áîëîí /dev/amr, òýãýõýýð õýðýâ AMI MegaRAID®-ã àøèãëàæ áàéãàà áîë /dev/da0s1a-èéí îðîíä /dev/amr0s1a-ã õàðàõ áîëíî) äýýð õèéãäñýí áîëîõîîð ç°âõ°í ò°õ°°ð°ìæèéí íýðñ °°ð÷ë°ãäñ°í:
Ôàéëûí ñèñòåì
Õýìæýý (1k-áëîê)
Õýìæýý (GB)
Õîëáîãäñîí ãàçàð
/dev/da0s1a
1.016.303
1
/
6
swap
/dev/da0s1b
288
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Ôàéëûí ñèñòåì
Õýìæýý (1k-áëîê)
Õýìæýý (GB)
Õîëáîãäñîí ãàçàð
/dev/da0s1e
2.032.623 8.205.339
2 8
/var
45 2
/compat/linux/oracle
/dev/da1s1f
45.734.361 2.032.623
/dev/da1s1g
2.032.623
2
/compat/linux/usr/sap
/dev/da0s1f /dev/da1s1e
/usr
/compat/linux/sapmnt
Óðüäààð Mylex þì óó ýñâýë PERC/3 RAID ïðîãðàì õàíãàìæààð õî¼ð ëîãèê õ°ò÷èéã òîõèðóóëæ ýõë³³ëýõ õýðýãòýé. Ïðîãðàì õàíãàìæ íü BIOS-èéí à÷ààëàõ ³åä ýõë³³ëýãäýæ áîëäîã. Ýíýõ³³ äèñêíèé áàéðøèë íü SAP-èéí ç°âë°äã°°ñ øàë îíäîî áàéãààã ñàíààðàé. SAP íü Oracle äýä ñàíãóóäûã (áîëîí áóñàä çàðèìûã) òóñàä íü õîëáîõûã ñàíàë áîëãîäîã — áèä õÿëáàð áàéõ ³³äíýýñ òýäãýýðèéã æèíõýíý äýä ñàíãóóä ìàÿãààð ³³ñãýõýýð øèéäñýí þì. 10.7.5.2 make world áîëîí øèíý ö°ì
Õàìãèéí ñ³³ëèéí -STABLE ýõèéã òàòàæ àâàõ õýðýãòýé. °ðèéí ö°ìèéí òîõèðãîîíû àéëàà òîõèðóóëñíû äàðàà åðò°íö áîëîí °°ðèéí °°ð÷èëñ°í ö°ì°° äàõèí á³òýýõ õýðýãòýé. Ýíä òà áàñ SAP R/3 áîëîí Oracle-èéí øààðääàã ö°ìèéí ïàðàìåòð³³äèéã îðóóëàõ õýðýãòýé. 10.7.6
Ëèíóêñèéí îð÷íûã ñóóëãàõ
10.7.6.1 Ëèíóêñèéí ³íäñýí ñèñòåìèéí ñóóëãàõ
Ýõëýýä linux_base ïîðòûã ñóóëãàõ õýðýãòýé (root ýðõýýð): # cd /usr/ports/emulators/linux_base # make install distclean
10.7.6.2 Ëèíóêñèéí õ°ãæ³³ëýëòèéí îð÷èíã ñóóëãàõ
Section 10.6-ä äóðäñàíû äàãóó FreeBSD äýýð Oracle-ã ñóóëãàõûã õ³ñýæ áàéãàà áîë Ëèíóêñèéí õ°ãæ³³ëýëòèéí îð÷èí õýðýãòýé: # cd /usr/ports/devel/linux_devtools # make install distclean
Ëèíóêñèéí õ°ãæ³³ëýëòèéí îð÷èí ç°âõ°í SAP R/3 46B IDES ñóóëãàëòàä çîðèóëàãäàí ñóóãäñàí. Oracle DB íü FreeBSD ñèñòåì äýýð äàõèí õîëáîîñ õèéãäýýã³é áîë ýíý íü øààðäëàãàã³é þì. Ëèíóêñ ñèñòåìýýñ Oracle-èéí tar á°ìá°ãèéã àøèãëàæ áàéãàà òîõèîëäîë íü ýíý þì. 10.7.6.3 Øààðäëàãàòàé RPM-³³äèéã ñóóëãàõ
ïðîãðàìûã ýõë³³ëýõèéí òóëä PAM äýìæëýã õýðýãòýé. FreeBSD 4.3-STABLE äýýðõ ýõíèé SAP ñóóëãàëòûí ³åä áèä PAM-èéã øààðäëàãàòàé á³õ áàãöóóäòàé íü ñóóëãàõûã îðîëäñîí á°ã°°ä ýöýñò íü PAM áàãöûí ñóóëãàëòûã õèéñýí þì. ³íèé ä³íä ýíý íü àæèëëàñàí. SAP R/3 4.6C SR2-èéí õóâüä áèä R3SETUP
289
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ PAM RPM-èéí ñóóëãàëòûã øóóä õèéñýí áà ýíý íü áàñ àæèëëàñàí þì. Òèéì áîëîõîîð õàìààðàëòàé áàãöóóä õýðýãã³é áàéõ: # rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ pam-0.68-7.i386.rpm
Oracle 8.0.5-èéí õóâüä óõààëàã àãåíòèéã àæèëëóóëàõûí òóëä áèä RedHat Tcl áàãö tcl-8.0.5-30.i386.rpm-ã ñóóëãàõ õýðýãòýé áîëñîí (òýãýõã³é áîë Oracle-ã ñóóëãàõ ÿâöàä äàõèí õîëáîîñ ³³ñãýëò àæèëëàõã³é áîëíî). Oracle-èéí äàõèí õîëáîîñ ³³ñãýëòèéí òàëààð áóñàä çàðèì àñóóäëóóä áàéäàã áîëîâ÷ ýíý íü FreeBSD-òýé õîëáîîòîé áèø Oracle Ëèíóêñèéí àñóóäàë þì. 10.7.6.4 Çàðèì íýãýí íýìýëò ç°âë°ìæ³³ä
ã
linprocfs- /etc/fstab
óðóó íýìýõ íü ñàéí ñàíàà áàéæ áîëîõ á°ã°°ä äýëãýðýíã³é ìýäýýëëèéã
linprocfs(5) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Òîõèðóóëàõ °°ð íýã ïàðàìåòð íü /etc/sysctl.conf-ä õèéãääýã kern.fallback_elf_brand=3 òîõèðãîî þì.
10.7.7 SAP R/3
îð÷èíã ³³ñãýõ
10.7.7.1 Øààðäëàãàòàé àéëûí ñèñòåì³³ä áîëîí õîëáîëòûí öýã³³äèéã ³³ñãýõ
Õÿëáàð ñóóëãàëòûí õóâüä äàðààõ àéëûí ñèñòåì³³äèéã ³³ñãýõýä õàíãàëòòàé:
õîëáîõ öýã
õýìæýý GB
/compat/linux/oracle
45 GB
/compat/linux/sapmnt
2 GB 2 GB
/compat/linux/usr/sap
Çàðèì íýãýí õîëáîîñóóäûã áàñ ³³ñãýõ øààðäëàãàòàé. Òýãýõã³é áîë SAP ñóóëãàã÷ õîëáîîñóóäûã øàëãàæ ãîìäîëëîõ áîëíî: # ln -s /compat/linux/oracle /oracle # ln -s /compat/linux/sapmnt /sapmnt # ln -s /compat/linux/usr/sap /usr/sap
Ñóóëãàëòûí ÿâö äàõü áîëçîøã³é àëäààíû ìýäýãäýë (ýíä Ñèñòåì PRD áîëîí SAP R/3 4.6C SR2 ñóóëãàëòòàé öóã): INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200 Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to /sapmnt/PRD/exe. Creating if it does not exist... WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400 Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The program cannot go on as long as this link exists at this location. Move the link to another location.
290
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 can not setup link ’/usr/sap/PRD/SYS/exe/dbg’ with content ’/sapmnt/PRD/exe’
10.7.7.2 Õýðýãëýã÷èä áîëîí ñàíãóóäûã ³³ñãýõ
SAP R/3-ä õî¼ð õýðýãëýã÷ áîëîí ãóðâàí á³ëýã õýðýãòýé. Õýðýãëýã÷èéí íýðñ ãóðâàí ³ñãýýñ òîãòîõ SAP ñèñòåìèéí ID-ñ (SID) õàìààðíà. Ýäãýýð SID-³³äèéí çàðèì íü SAP-ð í°°öë°ãäñ°í (æèøýý íü SAP áîëîí NIX. Á³ðýí æàãñààëòûí òàëààð äýëãýðýíã³éã SAP-èéí áàðèìòààñ ³çíý ³³). IDES ñóóëãàëòûí õóâüä áèä IDS-ã 4.6C SR2 ñóóëãàëòûí õóâüä ñèñòåì íü ³éëäâýðëýëèéí õýðýãëýýíä çîðèóëàãäñàí áîëîõîîð PRD-ã àøèãëàñàí. Òèéìýýñ áèä äàðààõ á³ëã³³äòýé áàéíà (á³ëãèéí ID-óóä °°ð áàéæ áîëîõ á°ã°°ä ýäãýýð íü åðä°° ë áèäíèé ñóóëãàëòàíäàà àøèãëàñàí óòãóóä þì):
á³ëãèéí ID
á³ëãèéí íýð
100
dba
òàéëáàð
Data Base Administrator áóþó ã°ãäëèéí Áààçûí Àäìèíèñòðàòîð 101 sapsys SAP Ñèñòåì 102 oper ã°ãäëèéí Áààçûí Îïåðàòîð Àíõäàã÷ Oracle ñóóëãàëòûí õóâüä ç°âõ°í dba á³ëýã àøèãëàãäàíà. oper á³ëýã ìàÿãààð dba á³ëãèéã áàñ çàðèì íü àøèãëàäàã (èë³³ ìýäýýëëèéã Oracle áîëîí SAP áàðèìòààñ ³çíý ³³). Áèäýíä áàñ äàðààõ õýðýãëýã÷èä õýðýãòýé:
õýðýãëýã÷èéí ID õýðýãëýã÷èéí åð°íõèé íýð íýð
á³ëýã
íýìýëò á³ëã³³ä òàéëáàð
1000
idsadm/prdadm
sid adm
sapsys
oper
àäìèíèñòðàòîð
1002
oraids/oraprd
orasid
dba
oper
Oracle
SAP
àäìèíèñòðàòîð adduser(8)-ýýð õýðýãëýã÷èä íýìýõ íü “SAP àäìèíèñòðàòîð”ûí õóâüä äàðààõ (á³ðõ³³ë áîëîí ãýðèéí ñàí ãýäãèéã ñàíààðàé) îðóóëãóóäûã øààðääàã: Name: sid adm Password: ****** Fullname: SAP Administrator SID Uid: 1000 Gid: 101 (sapsys) Class: Groups: sapsys dba HOME: /home/sid adm Shell: bash (/compat/linux/bin/bash)
á°ã°°ä “Oracle àäìèíèñòðàòîð”ûí õóâüä: Name: orasid Password: ******
291
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ Fullname: Oracle Administrator SID Uid: 1002 Gid: 100 (dba) Class: Groups: dba HOME: /oracle/sid Shell: bash (/compat/linux/bin/bash) dba áîëîí oper á³ëã³³äèéã õî¼óëàíã òà àøèãëàæ áàéãàà áîë ýíý íü áàñ oper á³ëãèéã îðóóëñàí áàéõ ¼ñòîé.
10.7.7.3 Ñàíãóóäûã ³³ñãýõ
Ýäãýýð ñàíãóóä íü òóñäàà àéëûí ñèñòåì³³ä ìàÿãààð èõýâ÷ëýí ³³ñãýãääýã. Òàíû øààðäëàãóóäààñ ýíý íü øóóä õàìààðàõ þì. Òýäãýýð íü á³ãä íýã RAID 5 äýýð áàéðëàæ áàéãàà áîëîõîîð áèä òýäãýýðèéã ýíãèéí ñàíãóóä ìàÿãààð ³³ñãýõýýð ñîíãîñîí þì: Ýõëýýä áèä çàðèì ñàíãóóäûí ýçýìøèã÷èä áîëîí ýðõ³³äèéã òîõèðóóëíà (root õýðýãëýã÷ýýð): # # # # #
chmod chmod chown chown chmod
775 /oracle 777 /sapmnt root:dba /oracle sid adm:sapsys /compat/linux/usr/sap 775 /compat/linux/usr/sap
Äàðàà íü áèä ñàíãóóäûã orasid õýðýãëýã÷ýýð ³³ñãýíý. Ýäãýýð íü á³ãäýýðýý /oracle/SID-èéí äýä ñàíãóóä áàéõ áîëíî: # # # # # #
su - orasid cd /oracle/SID mkdir mirrlogA mirrlogB origlogA origlogB mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6 mkdir saparch sapreorg exit
Oracle 8.1.7 ñóóëãàëòûí õóâüä çàðèì íýãýí íýìýëò ñàíãóóä õýðýãòýé: # # # # # # # #
su - orasid cd /oracle mkdir 805_32 mkdir client stage mkdir client/80x_32 mkdir stage/817_32 cd /oracle/SID mkdir 817_32
Note: client/80x_32 ñîëèîðîé.
ñàí ÿã ýíý íýðòýéãýýð àøèãëàãääàã. x-ã ÿìàð íýãýí òîî þì óó ýñâýë °°ð ç³éëýýð áèòãèé
óðàâ äàõü øàòàíä áèä sidadm õýðýãëýã÷ýýð ñàíãóóäûã ³³ñãýíý:
292
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ # # # # #
su - sid adm cd /usr/sap mkdir SID mkdir trans exit
10.7.7.4 /etc/services àéë äàõü îðóóëãóóä
SAP R/3 íü /etc/services àéëä çàðèì íýãýí îðóóëãóóäûã øààðääàã á°ã°°ä FreeBSD äýýð ñóóëãàæ áàéõ ÿâöàä ç°â°°ð òîõèðóóëàãääàãã³é. Äàðààõ îðóóëãóóäûã íýìíý ³³ (òàíä õàìãèéí áàãàäàà òîõèîëäëûí äóãààðòàé òîõèðîõ îðóóëãóóä õýðýãòýé. Ýíý òîõèîëäîëä 00 áàéíà. Á³õ îðóóëãóóäûã 00-ñ ýõëýýä 99 õ³ðòýë dp, gw, sp áîëîí ms-ò çîðèóëæ íýìýõ íü àþóëã³é þì). Õýðýâ òà SAProuter þì óó ýñâýë SAP OSS-ò õàíäàõ õýðýãòýé áîëâîë òàíä áàñ 99 õýðýãòýé áîëîõ á°ã°°ä ó÷èð íü ïîðò 3299 íü ñèñòåì äýýðõ SAProuter ïðîöåññèéí õóâüä èõýâ÷ëýí àøèãëàãääàã: sapdp00 sapgw00 sapsp00 sapms00 sapmsSID sapgw00s
3200/tcp 3300/tcp # 3400/tcp # 3500/tcp # 3600/tcp # 4800/tcp
# SAP Dispatcher. SAP Gateway.
3200 3300 + 3400 + 3500 + SAP Message Server. 3600 + # SAP Secure Gateway 4800
+ Instance-Number Instance-Number Instance-Number Instance-Number Instance-Number + Instance-Number
10.7.7.5 Øààðäëàãàòàé ëîêàëóóä
SAP íü àíõäàã÷ RedHat ñóóëãàöàä áàéäàãã³é õî¼ð ëîêàëûã õàìãèéí áàãàäàà øààðääàã. SAP íü øààðäëàãàòàé RPM-³³äèéã òýäãýýðèéí FTP ñåðâåðýýñ (õýðýâ òà OSS õàíäàëòòàé ³éë÷ë³³ëýã÷ áîë ýíý íü õàíäàõ áîëîìæòîé áàéíà) òàòàæ àâàõ áîëîìæòîéãîîð ñàíàë áîëãîäîã. Õýðýãòýé RPM-³³äèéí æàãñààëòûí òàëààð 0171356 òýìäýãëýãýýã ³çíý ³³. Åðä°° ë òîõèðîõ õîëáîîñóóäûã (æèøýý íü de_DE áîëîí en_US-ñ) ³³ñãýõ áàñ áîëîìæòîé áàéäàã áîëîâ÷ áèä ³³íèéã ³éëäâýðëýëèéí ñèñòåì äýýð ç°âë°ä°ãã³é (ãýõäýý ýíý íü IDES ñèñòåìòýé îäîîãîîð ÿìàð ÷ àñóóäàëã³é àæèëëàñàí). Äàðààõ ëîêàëóóä õýðýãòýé: de_DE.ISO-8859-1 en_US.ISO-8859-1
³íòýé àäèë õîëáîîñóóäûã ³³ñãýíý: # cd /compat/linux/usr/share/locale # ln -s de_DE de_DE.ISO-8859-1 # ln -s en_US en_US.ISO-8859-1
Õýðýâ òýäãýýð íü áàéõã³é áîë ñóóëãàöûí ÿâöàä çàðèì àñóóäëóóä ãàðàõ áîëíî. Õýðýâ ýäãýýðèéã òýãýýä äàðàà íü (ç°ð÷èæ áàéãàà àëõìóóäûí STATUS-ã OK áîëãîí CENTRDB.R3S àéëä òîõèðóóëæ) äàõèí îðõèãäóóëáàë çàðèì íýã íýìýëò îðîëäëîãîã³éãýýð SAP ñèñòåì óðóó íýâòðýí îðîõ áîëîìæã³é áîëíî.
293
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.7.6 Ö°ìèéã òààðóóëàõ
SAP R/3 ñèñòåì³³ä íü ìàø èõ ýõ ³³ñâýð³³ä øààðääàã. Òèéì áîëîõîîð áèä äàðààõ ïàðàìåòð³³äèéã ö°ìèéí òîõèðãîîíû àéëä íýìñýí áèëýý: # Set these for memory pigs (SAP and Oracle): options MAXDSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)" # System V options needed. options SYSVSHM #SYSV-style shared memory options SHMMAXPGS=262144 #max amount of shared mem. pages #options SHMMAXPGS=393216 #use this for the 46C inst.parameters options SHMMNI=256 #max number of shared memory ident if. options SHMSEG=100 #max shared mem.segs per process options SYSVMSG #SYSV-style message queues options MSGSEG=32767 #max num. of mes.segments in system options MSGSSZ=32 #size of msg-seg. MUST be power of 2 options MSGMNB=65535 #max char. per message queue options MSGTQL=2046 #max amount of msgs in system options SYSVSEM #SYSV-style semaphores options SEMMNU=256 #number of semaphore UNDO structures options SEMMNS=1024 #number of semaphores in system options SEMMNI=520 #number of semaphore identifiers options SEMUME=100 #number of UNDO keys
SAP-ñ èðñýí áàðèìòàí äýýð õàìãèéí áàãà óòãóóäûã çààñàí áàéäàã. Ëèíóêñä çîðèóëñàí òàéëáàð áàéäàãã³é ó÷ðààñ èë³³ ìýäýýëëèéã HP-UX õýñãýýñ (32-áèò) ³çíý ³³. 4.6C SR2 ñóóëãàöàä çîðèóëñàí ñèñòåì íü èë³³ èõ ãîë ñàíàõ îéòîé áîëîõîîð õóâààëöñàí ñåãìåíò íü SAP áîëîí Oracle-èéí õóâüä èë³³ òîì áàéæ áîëîõ þì. Òèéì áîëîõîîð èë³³ èõ òîîíû õóâààëöñàí ñàíàõ îéí õóóäñóóäûã ñîíãîõ õýðýãòýé. Note: i386 äýýðõ FreeBSD-èéí àíõäàã÷ ñóóëãàëòàä MAXDSIZ áîëîí DFLDSIZ-ã õàìãèéí èõäýý 1 GB áîëãîõ õýðýãòýé. Òýãýõã³é áîë “ORA-27102: out of memory” áîëîí “Linux Error: 12: Cannot allocate memory” çýðýã õà÷èðõàëòàé àëäààíóóä ãàð÷ áîëçîøã³é þì.
ã ñóóëãàõ
10.7.8 SAP R/3-
10.7.8.1 SAP CDROM-óóäûã áýëòãýõ
Ñóóëãàëòûí ÿâöàä îëîí CDROM-óóäûã õîëáîæ, ñàëãàõ áîëäîã. Òàíûã îëîí CDROM õ°ò÷³³äòýé ãýæ ³çâýë òà òýäãýýðèéã á³ãäèéã õîëáîæ áîëîõ þì. Áèä CDROM-óóäûí àãóóëãûã õàðãàëçàõ ñàíãóóäàä õóóëàõààð øèéäñýí þì: /oracle/SID /sapreorg/cd-name
Ýíä áàéãàà
íü áîëîí
ñóóëãàöûí õóâüä KERNEL, RDBMS, EXPORT1, EXPORT2, EXPORT3, äèñêí³³äèéí àëü íýã á°ã°°ä 4.6C SR2 ñóóëãàöûí õóâüä KERNEL, RDBMS, áîëîí äèñêí³³äèéí àëü íýã áàéíà. Õîëáîãäñîí CD-³³ä äýýðõ á³õ
cd-name 4.6B/IDES EXPORT4, EXPORT5 EXPORT6 LANG DISK1, DISK2, DISK3, DISK4
294
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
àéëûí íýðñ òîìîîð áàéõ ¼ñòîé, àëü ýñâýë õîëáîëò õèéõäýý -g òîõèðóóëãûã àøèãëàõ õýðýãòýé. Òèéì áîëîõîîð äàðààõ òóøààëóóäûã àøèãëàõ õýðýãòýé: # mount_cd9660 -g /dev/cd0a /mnt # cp -R /mnt/* /oracle/SID /sapreorg/cd-name # umount /mnt
10.7.8.2 Ñóóëãàëòûí ñêðèïòèéã àæèëëóóëàõ
Ýõëýýä òà install ñàíã áýëäýõ õýðýãòýé: # cd /oracle/SID /sapreorg # mkdir install # cd install
Òýãýýä ñóóëãàõ ñêðèïò ýõëýõ á°ã°°ä á³õ õîëáîîòîé àéëóóäûã install ñàí óðóó õóóëàõ áîëíî: # /oracle/SID /sapreorg/KERNEL/UNIX/INSTTOOL.SH
IDES ñóóëãàö (4.6B) íü á³ðýí °°ð÷ë°í òîõèðóóëàãäñàí SAP R/3 ³ç³³ëýõ ñèñòåìòýé èðäýã áîëîõîîð ãóðâàí EXPORT CD-íèé îðîíä çóðãàà áàéäàã. Ýíý ³åä ñóóëãàõ çàãâàð CENTRDB.R3S íü IDES ò°â òîõèîëäîëä çîðèóëàãäààã³é õàðèí ñòàíäàðò ò°â òîõèîëäëûí (R/3 áîëîí ìýäýýëëèéí áààç) õóâüä
çîðèóëàãäñàí áàéõ ó÷ðààñ EXPORT1 ñàíãèéí õàðãàëçàõ CENTRDB.R3S àéëûã õóóëàõ õýðýãòýé á°ã°°ä òýãýõã³é áîë R3SETUP òóøààë ç°âõ°í ãóðâàí EXPORT CD-ã àñóóõ áîëíî. Øèíý SAP 4.6C SR2 õóâèëáàð ä°ðâ°í EXPORT CD-òýé èðäýã. Ñóóëãàëòûí àëõìóóäûã õÿíàäàã ïàðàìåòðèéí àéë íü CENTRAL.R3S áàéíà. ìí°õ õóâèëáàðóóäòàé õàðüöóóëàõ þì áîë ìýäýýëëèéí áààçòàé ýñâýë áààçã³é ò°â òîõèîëäîëä çîðèóëàãäñàí ñóóëãàëòûí òóñäàà çàãâàð áàéäàãã³é. SAP íü ìýäýýëëèéí áààçûí ñóóëãàöàä çîðèóëæ òóñäàà çàãâàð àøèãëàæ áàéíà. Ñóóëãàëòûã äàðàà íü äàõèí ýõë³³ëýõèéí òóëä àíõíû àéëòàé äàõèí ýõë³³ëýõ íü õàíãàëòòàé áàéäàã. Ñóóëãàëòûí ³åä áîëîí äàðàà SAP íü hostname òóøààëààñ á³ðýí òàíèãäñàí äîìýéí íýðèéã áèø ç°âõ°í êîìïüþòåðèéí íýðèéã áóöààõûã øààðääàã. Õîñòûí íýðèéã òààðóóëàõ þì óó ýñâýë orasid áîëîí sidadm (áîëîí root õýðýãëýã÷ýýð õèéñýí ñóóëãàëòûí àëõìóóäûí ³åä ÿäàæ root) õýðýãëýã÷äýä çîðèóëæ alias hostname=’hostname -s’ òóøààëààð alias áóþó °°ð íýðèéã òîõèðóóëàõ õýðýãòýé. SAP ñóóëãàöûí ³åä ñóóëãàãäñàí õî¼ð õýðýãëýã÷èéí .profile áîëîí .login àéëóóäûã òààðóóëàõ áîëîìæ áàñ áàéäàã. 10.7.8.3 R3SETUP 4.6B-ã ýõë³³ëíý LD_LIBRARY_PATH
ç°â òîõèðóóëàãäñàí ýñýõèéã øàëãààðàé:
# export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib
Ñóóëãàëòûí ñàíãààñ R3SETUP òóøààëûã root ýðõýýð ýõë³³ëíý: # cd /oracle/IDS/sapreorg/install # ./R3SETUP -f CENTRDB.R3S
Äàðàà íü ñêðèïò çàðèì àñóóëòóóä àñóóíà (õààëòàíä àíõäàã÷èä áàéõ á°ã°°ä îðîëò ³³íèé äàðàà õèéãäýíý):
295
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Àñóóëò
Àíõäàã÷
Îðîëò
Enter SAP System ID Enter SAP Instance Number
[C11] [00]
IDSEnter Enter
Enter SAPMOUNT Directory
[/sapmnt]
Enter
Enter name of SAP central host Enter name of SAP db host
[troubadix.domain.de] [troubadix]
Enter Enter
Select character set [1] (WE8DEC) Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6
Enter 1Enter
Extract Oracle Client archive Enter path to KERNEL CD
[1] (Yes, extract) [/sapcd]
Enter /oracle/IDS/sapreorg/KERNEL
Enter path to RDBMS CD Enter path to EXPORT1 CD
[/sapcd] [/sapcd]
/oracle/IDS/sapreorg/RDBMS /oracle/IDS/sapreorg/EXPORT1
Directory to copy EXPORT1 CD Enter path to EXPORT2 CD
[/oracle/IDS/sapreorg/CD4_DIR] [/sapcd]
Enter /oracle/IDS/sapreorg/EXPORT2
Directory to copy EXPORT2 CD Enter path to EXPORT3 CD
[/oracle/IDS/sapreorg/CD5_DIR] [/sapcd]
Enter /oracle/IDS/sapreorg/EXPORT3
Directory to copy EXPORT3 CD Enter path to EXPORT4 CD
[/oracle/IDS/sapreorg/CD6_DIR] [/sapcd]
Enter /oracle/IDS/sapreorg/EXPORT4
Directory to copy EXPORT4 CD Enter path to EXPORT5 CD
[/oracle/IDS/sapreorg/CD7_DIR] [/sapcd]
Enter /oracle/IDS/sapreorg/EXPORT5
Directory to copy EXPORT5 CD Enter path to EXPORT6 CD
[/oracle/IDS/sapreorg/CD8_DIR] [/sapcd]
Enter /oracle/IDS/sapreorg/EXPORT6
Directory to copy EXPORT6 CD
[/oracle/IDS/sapreorg/CD9_DIR]
Enter
Enter amount of RAM for SAP + DB Service Entry Message Server [3600]
850Enter (in Megabytes) Enter
Enter Group-ID of sapsys Enter Group-ID of oper
[101] [102]
Enter Enter
Enter Group-ID of dba Enter User-ID of sid adm
[100] [1000]
Enter Enter
Enter User-ID of orasid Number of parallel procs
[1002] [2]
Enter Enter
Õýðýâ òà CD-³³äèéã °°ð áàéðëàëóóä óðóó õóóëààã³é áîë SAP ñóóëãàã÷ õýðýãòýé CD-ãýý (CD äýýðõ LABEL.ASC àéëààð òàíèãääàã) îëæ ÷àäàõã³é á°ã°°ä òàíààñ CD-ã õèéí õîëáîæ õîëáîõ öýãèéã îðóóëàõûã àñóóõ áîëíî. CENTRDB.R3S íü àëäààòàé áàéæ áîëîõ þì. Áèäíèé òîõèîëäîëä ýíý íü EXPORT4 CD-ã äàõèí õ³ñýõ áîëîâ÷ ç°â ò³ëõ³³ðèé㠳糳ëñýí (6_LOCATION, äàðàà íü 7_LOCATION ãýõ ìýò.), òýãýõýýð ç°â óòãóóäûã îðóóëàí ³ðãýëæë³³ëæ áîëîõ þì. Äîîð äóðäñàí çàðèì àñóóäëóóäûã òîîöîõã³é þì áîë á³ãä Oracle ìýäýýëëèéí áààçûí ïðîãðàì õàíãàìæèéã ñóóëãàõ õýðýãòýé áîëîõ õ³ðòýë øóëóóí ÿâàõ ¼ñòîé.
296
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.8.4 R3SETUP 4.6C SR2-ã ýõë³³ëíý LD_LIBRARY_PATH
óòãà áàéíà:
ç°â òîõèðóóëàãäñàí ýñýõèéã øàëãààðàé. Ýíý íü Oracle 8.0.5-òàé 4.6B ñóóëãàöààñ °°ð
# export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib
Ñóóëãàëòûí ñàíãààñ R3SETUP òóøààëûã root õýðýãëýã÷ýýð ýõë³³ëíý: # cd /oracle/PRD/sapreorg/install # ./R3SETUP -f CENTRAL.R3S
Äàðàà íü ñêðèïò çàðèì àñóóëòóóä àñóóíà (õààëòàíä àíõäàã÷èä áàéõ á°ã°°ä îðîëò ³³íèé äàðàà õèéãäýíý):
Àñóóëò
Àíõäàã÷
Îðîëò
Enter SAP System ID
[C11]
PRDEnter
Enter SAP Instance Number Enter SAPMOUNT Directory
[00] [/sapmnt]
Enter Enter
Enter name of SAP central host Enter Database System ID
[majestix] [PRD]
Enter PRDEnter
Enter name of SAP db host Select character set
[majestix] [1] (WE8DEC)
Enter Enter
Enter Oracle server version (2) Oracle 8.1.7 Extract Oracle Client archive [1] (Yes, extract)
Enter
Enter path to KERNEL CD [/sapcd] Enter amount of RAM for SAP + DB 2044
/oracle/PRD/sapreorg/KERNEL 1800Enter (in Megabytes)
Service Entry Message Server Enter Group-ID of sapsys
[3600] [100]
Enter Enter
Enter Group-ID of oper Enter Group-ID of dba
[101] [102]
Enter Enter
Enter User-ID of oraprd Enter User-ID of prdadm
[1002] [1000]
Enter Enter
LDAP support Installation step completed Choose installation service
2Enter
3Enter (no support) [1] (continue) [1] (DB inst,file)
Enter Enter
Ñóóëãàëòûí ÿâöàä OSUSERDBSID_IND_ORA (orasid õýðýãëýã÷èéã ³³ñãýõ) ³å áîëîí OSUSERSIDADM_IND_ORA (sid adm õýðýãëýã÷èéã ³³ñãýõ) ³åä õýðýãëýã÷äèéã ³³ñãýõýä àëäàà °ã÷ áàéíà. Äîîð äóðäñàí çàðèì àñóóäëóóäûã òîîöîõã³é þì áîë á³ãä Oracle ìýäýýëëèéí áààçûí ïðîãðàì õàíãàìæèéã ñóóëãàõ õýðýãòýé áîëîõ õ³ðòýë øóëóóí ÿâàõ ¼ñòîé.
297
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
ã ñóóëãàõ
10.7.9 Oracle 8.0.5-
Ëèíóêñ áîëîí Oracle DB-èéí áîëçîøã³é àñóóäëóóäûí òàëààð õàðãàëçàõ SAP-èéí òýìäýãëýãýýí³³ä áîëîí Oracle-èéí Readme àéëóóäûã ³çíý ³³. Á³õ àñóóäëóóäûí èõýíõ íü íèéöã³é ñàíãóóäààñ áîëäîã. Oracle ñóóëãàõ òóõàé äýëãýðýíã³é ìýäýýëëèéã Oracle ñóóëãàõ íü á³ëãýýñ ëàâëàíà óó. 10.7.9.1 Oracle 8.0.5-ã orainst-ýýð ñóóëãàõ
Õýðýâ Oracle 8.0.5 àøèãëàãäàõ áîëâîë àìæèëòòàé äàõèí õîëáîõîä çàðèì íýìýëò ñàíãóóä õýðýãòýé. Oracle 8.0.5 íü õóó÷èí glibc-òýé (RedHat 6.0) õîëáîãäñîí áàéäàã áîëîõîîð òýð þì. ýõäýý RedHat 6.1 íü øèíý glibc àøèãëàäàã. Òýãýõýýð õîëáîëò àæèëëàõûã áàòàëãààæóóëàõûí òóëä òà äàðààõ íýìýëò áàãöóóäûã ñóóëãàõ õýðýãòýé: • compat-libs-5.2-2.i386.rpm • compat-glibc-5.2-2.0.7.2.i386.rpm • compat-egcs-5.2-1.0.3a.1.i386.rpm • compat-egcs-c++-5.2-1.0.3a.1.i386.rpm • compat-binutils-5.2-2.9.1.0.23.1.i386.rpm
Öààøõè ìýäýýëëèéí òàëààð õàðãàëçàõ SAP-èéí òýìäýãëýãýýí³³ä áîëîí Oracle-èéí Readme àéëóóäûã ³çíý ³³. Õýðýâ ýíý íü ñîíãîëò áèø áîë (ñóóëãàõ ÿâöàä áèäýíä ³³íèéã øàëãàõ õàíãàëòòàé õóãàöàà áàéãààã³é) àíõíû õî¼ðòûí àéëóóä þì óó ýñâýë àíõíû RedHat ñèñòåìýýñ äàõèí õîëáîãäñîí õî¼ðòûí àéëóóäûã àøèãëàæ áîëîõ þì. Óõààëàã àãåíòèéã ýìõýòãýõèéí òóëä RedHat Tcl áàãö ñóóëãàãäñàí áàéõ ¼ñòîé. Õýðýâ òà tcl-8.0.3-20.i386.rpm àéëûã àâ÷ ÷àäàõã³é áàéãàà áîë RedHat 6.1-ä çîðèóëàãäñàí tcl-8.0.5-30.i386.rpm çýðýã øèíý áàñ áàéæ áîëîõ þì. Äàõèí õîëáîõîîñ áóñäààðàà ñóóëãàëò íü øóëóóõàí þì: # # # # # #
su - oraids export TERM=xterm export ORACLE_TERM=xterm export ORACLE_HOME=/oracle/IDS cd $ORACLE_HOME/orainst_sap ./orainst
Ïðîãðàì õàíãàìæ ñóóëãàãäàõ õ³ðòýë á³õ äýëãýö äýýð áàéãààã Enter äàðæ áàòàëãààæóóëàõ õýðýãòýé. ýõäýý Oracle On-Line Text Viewer ãýäãèéã ñîíãîñíîî áîëèóëàõ õýðýãòýé, ó÷èð íü ýíý íü Ëèíóêñ äýýð áàéäàãã³é. Oracle äàðàà íü áàéãàà gcc, egcs áîëîí i386-redhat-linux-gcc -³³äèéí îðîíä i386-glibc20-linux-gcc-ýýð äàõèí õîëáîãäîõûã õ³ñäýã. Õóãàöààíààñ áîëîîä áèä Oracle 8.0.5 PreProduction õóâèëáàðûí õî¼ðòûí àéëóóäûã àøèãëàõààð øèéäñýí þì. Ó÷èð íü òýð ³åä RDBMS CD-ýýñ õóâèëáàðûã àæèëëóóëàõ ýõíèé îðîëäëîãî àìæèëòã³é áîëñîí, áàñ ç°â RPM-³³äèéã îëæ òýäãýýðò õàíäàõ íü àéìøãèéí õàð äàðñàí ç³³ä øèã áàéñàí çýðãýýñ áîëñîí þì.
298
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.9.2 Ëèíóêñä (Ö°ì 2.0.33) çîðèóëñàí Oracle 8.0.5 Pre-production Release-ã ñóóëãàõ
Ýíý ñóóëãàëò íü èõ àìàðõàí. CD-ã õîëáîæ ñóóëãàã÷èéã ýõë³³ëíý. Ýíý íü Oracle-èéí ãýðèéí ñàíãèéí áàéðëàëûã àñóóõ á°ã°°ä á³õ õî¼ðòûí àéëóóäûã òýíä õóóëàõ áîëíî. ýõäýý áèä °°ðñäèéí °ìí°õ RDBMS ñóóëãàëòûí àéëóóäûí ³ëäýãäë³³äèéã óñòãààã³é áîëíî. Äàðàà íü Oracle ìýäýýëëèéí áààçûã ÿìàð ÷ àñóóäàëã³éãýýð ýõë³³ëæ áîëíî. 10.7.10 Oracle 8.1.7
Ëèíóêñèéí tar á°ìá°ãèéã ñóóëãàõ
Ëèíóêñ ñèñòåì äýýðõ ñóóëãàëòûí ñàíãààñ ³³ñãýñýí oracle81732.tgz tar á°ìá°ã°° àâààä /oracle/SID /817_32/ óðóó áóöààæ çàäëàõ õýðýãòýé.
èéí ñóóëãàöûã ³ðãýëæë³³ëýõ
10.7.11 SAP R/3-
Ýõëýýä idsamd (sidadm) áîëîí oraids (orasid) õýðýãëýã÷äèéí îð÷íû òîõèðãîîíóóäûã øàëãàõ õýðýãòýé. Òýäãýýð íü îäîî á³ãä hostname òóøààëûã àøèãëàæ áàéãàà .profile, .login áîëîí .cshrc àéëóóäòàé áàéõ ¼ñòîé. Ñèñòåìèéí õîñòûí íýð á³ðýí òàíèãäàõ íýð áîë òà hostname òóøààëûã hostname -s òóøààëààð á³õ ãóðâàí àéë äîòîð °°ð÷ë°õ õýðýãòýé. 10.7.11.1 Ìýäýýëëèéí áààçûã äóóäàõ
Äàðàà íü R3SETUP òóøààëûã äàõèí ýõë³³ëýõ þì óó ýñâýë ³ðãýëæë³³ëæ áîëíî (ãàðàõûã ñîíãîñîí ýñýõýýñ õàìààð÷). R3SETUP íü äàðàà íü õ³ñíýãòèéí òàëáàðóóäûã ³³ñãýæ °ã°ãäëèéã (46B IDES-èéí õóâüä EXPORT1-ñ EXPORT6, 46C-èéí õóâüä DISK1-ñ DISK4) ìýäýýëëèéí áààç óðóó R3load òóøààëààð äóóäíà. Ìýäýýëëèéí áààç äóóäàãäàæ äóóññàíû äàðàà (õýäýí öàã áîëæ áîëíî) çàðèì íóóö ³ãñèéã àñóóäàã. Òåñò ñóóëãàëòóóäàä õ³í á³õíèé ìýääýã àíõäàã÷ íóóö ³ãñèéã àøèãëàæ áîëîõ þì (õýðýâ àþóëã³é áàéäàë ÷óõàë áîë °°ðèéã àøèãëààðàé!):
Àñóóëò
Îðîëò
Enter Password for sapr3 Confirum Password for sapr3
sapEnter sapEnter
Enter Password for sys Confirm Password for sys
change_on_installEnter change_on_installEnter
Enter Password for system Confirm Password for system
managerEnter managerEnter
Ýíý ³åä áèä 4.6B ñóóëãàæ áàéõ ÿâöàä dipgntab òóøààëûí õóâüä ö°°í àñóóäëóóäòàé òóëãàðñàí. 10.7.11.2 Ñîíñîã÷
Oracle ñîíñîã÷èéã orasid õýðýãëýã÷ýýð äàðààõ ìàÿãààð ýõë³³ëíý:
% umask 0; lsnrctl start
Òýãýõã³é áîë ñîêåòóóä íü ç°â ç°âø°°ðë³³äã³é áàéõ ó÷ðààñ ORA-12546 àëäààã òà õàðæ áîëîõ þì. SAP
299
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
Òýìäýãëýãýý 072984-ã ³çíý ³³. 10.7.11.3 MNLS õ³ñíýãò³³äèéã øèíý÷ëýõ
Õýðýâ òà Latin-1 áèø õýë³³äèéã SAP ñèñòåì óðóó èìïîðò õèéõýýð ò°ë°âë°æ áàéãàà áîë Multi National Language Support õ³ñíýãò³³ä áóþó Îëîí íäýñòíèé Õýëíèé Äýìæëýãèéí õ³ñíýãò³³äèéã øèíý÷ëýõ õýðýãòýé. Ýíý íü SAP OSS Òýìäýãëýãýýí³³ä 15023 áîëîí 45619-ä òàéëáàðëàãäñàí áàéãàà. ã³é áîë ýíý àñóóëòûã SAP ñóóëãàëòûí ÿâöàä îðõèæ áîëíî. Note: Õýðýâ òàíä MNLS õýðýãã³é áîë õ³ñíýãò TCPDB-ã øàëãàæ ýõë³³ëýëò õèéãäýýã³é áîë ýõë³³ëýõ øààðäëàãà õýâýýð áàéñààð áàéõ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã SAP òýìäýãëýãýý 0015023 áîëîí 0045619-ñ ³çíý ³³.
10.7.12
Ñóóëãàëòûí äàðààõ àëõìóóä
10.7.12.1 SAP R/3-èéí ëèöåíç ò³ëõ³³ðèéã õ³ñíý
Òà °°ðèéí SAP R/3 ëèöåíç ò³ëõ³³ðèéã õ³ñýõ õýðýãòýé. Ñóóëãàëòûí ³åä ñóóëãàãäñàí ò³ð çóóðûí ëèöåíç íü ç°âõ°í ä°ðâ°í äîëîî õîíîã õ³÷èíòýé áàéäàã áîëîõîîð èíãýõ õýðýãòýé þì. Ýõëýýä òîíîã ò°õ°°ð°ìæèéí ò³ëõ³³ðèéã àâàõ õýðýãòýé. idsadm õýðýãëýã÷ýýð íýâòýð÷ saplicense òóøààëûã äóóäíà:
# /sapmnt/IDS/exe/saplicense -get
saplicense òóøààëûã ïàðàìåòð³³äã³é äóóäàõ íü òîõèðóóëãóóäûí æàãñààëòû㠳糳ëäýã. Ëèöåíçèéí ò³ëõ³³ðèéã àâñíûõàà äàðàà ³³íèéã äàðààõ òóøààëûã àøèãëàí ñóóëãàæ áîëíî: # /sapmnt/IDS/exe/saplicense -install
Òýãýýä òà äàðààõ óòãóóäûã îðóóëàõ øààðäëàãàòàé áîëíî: SAP SYSTEM ID CUSTOMER KEY INSTALLATION NO EXPIRATION DATE LICENSE KEY
= = = = =
SID, 3 chars hardware key, 11 chars installation, 10 digits yyyymmdd, usually "99991231" license key, 24 chars
10.7.12.2 Õýðýãëýã÷äèéã ³³ñãýõ
Êëèåíò 000 äîòîð õýðýãëýã÷ ³³ñãýíý (çàðèì àæëóóäûí õóâüä êëèåíò 000 äîòîð õèéõèéã øààðääàã, ãýõäýý sap* áîëîí ddic õýðýãëýã÷äýýñ °°ð õýðýãëýã÷ýýð). Õýðýãëýã÷èéí íýðèéí õóâüä áèä wartung (ýñâýë Àíãëèàð service) ãýæ èõýâ÷ëýí ñîíãîäîã. Øààðäëàãàòàé õóâèéí òîõèðãîîíóóä íü sap_new áîëîí sap_all þì. Àþóëã³é áàéäëûã íýìýëòýýð õàíãàæ á³õ êëèåíò³³ä äîòîðõ àíõäàã÷ õýðýãëýã÷äèéí íóóö ³ãñèéã °°ð÷ë°õ õýðýãòýé (ýäãýýð õýðýãëýã÷äýä sap* áîëîí ddic îðíî).
300
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.12.3 Òýýâýðëýëòèéí ñèñòåì, õóâèéí òîõèðãîî, ³éëäëèéí ãîðèìóóä ãýõ ìýòèéã òîõèðóóëàõ ddic
áîëîí sap* õýðýãëýã÷ýýñ °°ð êëèåíò 000 äîòîð äîîð äóðäñàíûã õàìãèéí áàãàäàà õèéõ õýðýãòýé:
Àæèë Øèëæ³³ëãý Òýýâýðëýëòèéí ñèñòåìèéã òîõèðóóëíà, °°ð°°ð STMS õýëáýë Òóñäàà àæèëëàõ Òýýâýðëýëòèéí Äîìýéí ìàÿãààð Ñèñòåìèéí õóâüä õóâèéí òîõèðãîîã ³³ñãýíý / RZ10 çàñâàðëàíà éëäëèéí ãîðèìóóä áîëîí òîõèîëäëóóäûã àð÷èëíàRZ04 Ýäãýýð áîëîí áóñàä á³õ ñóóëãàëòûí äàðààõ àëõìóóä íü SAP-ã ñóóëãàõ çààâðóóäàä äýëãýðýíã³é òàéëáàðëàãäñàí áàéãàà. 10.7.12.4 initsid .sap (initIDS.sap) àéëûã çàñâàðëàíà
/oracle/IDS/dbs/initIDS.sap àéë SAP-èéí í°°ö õóâèéí òîõèðãîîã àãóóëäàã. Ýíä àøèãëàãäàõ ñîðîíçîí õàëüñíû õýìæýý, øàõàëòûí ò°ð°ë ãýõ çýðãèéã òîäîðõîéëîõ õýðýãòýé. sapdba / brbackup òóøààëààð ³³íèéã àæèëëóóëàõûí òóëä áèä äàðààõ óòãóóäûã °°ð÷èëñ°í: compress = hardware archive_function = copy_delete_save cpio_flags = "-ov --format=newc --block-size=128 --quiet" cpio_in_flags = "-iuv --block-size=128 --quiet" tape_size = 38000M tape_address = /dev/nsa0 tape_address_rew = /dev/sa0
Òàéëáàðóóä: compress: Áèäíèé àøèãëàõ ñîðîíçîí õàëüñ áîë HP DLT1 á°ã°°ä ýíý íü òîíîã ò°õ°°ð°ìæèéí øàõàëòûã õèéäýã. archive_function: Ýíý íü Oracle-èéí àðõèâ á³ðòãýë³³äèéã õàäãàëàõ àíõäàã÷ ³éëäëèéã òîäîðõîéëäîã: øèíý á³ðòãýëèéí àéëóóä íü ñîðîíçîí õàëüñàíä õàäãàëàãäàæ àëü õýäèéí õàäãàëàãäñàí á³ðòãýëèéí àéëóóä íü äàõèí õàäãàëàãäàæ äàðàà íü óñòãàãääàã. Õýðýâ òàíä ìýäýýëëèéí áààçûã ñýðãýýõ õýðýã áàéãàà á°ã°°ä àëü íýã àðõèâûí ñîðîíçîí õàëüñ ìóóäñàí áîë ýíý íü èõ îëîí àñóóäëààñ ñýðãèéëýõ þì. cpio_flags: Àíõäàã÷ íü áëîêèéí õýìæýýã 5120 áàéò áîëãîæ òîõèðóóëäàã -B òîõèðóóëãûã àøèãëàõ ÿâäàë þì. DLT ñîðîíçîí õàëüñíóóäûí õóâüä HP íü õàìãèéí áàãààð áîäîõîä 32 K áëîêèéí õýìæýýòýé áàéõûã ç°âë°ä°ã, òèéì áîëîõîîð áèä 64 K-ä çîðèóëæ --block-size=128 òîõèðóóëãûã àøèãëàñàí. Áèäýíä 65535-ñ èõ inode äóãààðóóä áàéãàà áîëîõîîð --format=newc òîõèðóóëãà õýðýãòýé. ѳ³ëèéí òîõèðóóëãà --quiet íü õýðýãòýé á°ã°°ä òýãýõã³é áîë cpio òóøààë õàäãàëñàí áëîêóóäûí òîîã ãàðãàñíû äàðàà brbackup òóøààë ãîìäîëëîõ áîëíî. cpio_in_flags: Ñîðîíçîí õàëüñíààñ °ã°ãäëèéã áóöààæ äóóäàõàä òóãíóóä õýðýãòýé. Õýëáýðøèëò àâòîìàòààð òàíèãääàã.
301
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ tape_size: Ýíý íü ñîðîíçîí õàëüñíû ò³³õèé õàäãàëàëòûí áàãòààìæèéã èõýâ÷ëýí °ãä°ã. Àþóëã³é áàéäëûí ³³äíýýñ (áèä òîíîã ò°õ°°ð°ìæèéí øàõàëòûã àøèãëàæ áàéãàà) óã óòãà íü æèíõýíý óòãààñ õàìààã³é áàãà áàéíà. tape_address: cpio òóøààëä àøèãëàãäàõ äàõèí áóöààãääàãã³é ò°õ°°ð°ìæ áàéíà. tape_address_rew: cpio òóøààëä àøèãëàãäàõ áóöààãäàæ áîëîõ ò°õ°°ð°ìæ áàéíà.
10.7.12.5 Ñóóëãàëòûí äàðààõ òîõèðãîîíû àñóóäëóóä
Ñóóëãàëòûí äàðàà äàðààõ SAP ïàðàìåòð³³äèéã òààðóóëàõ õýðýãòýé (IDES 46B, 1 GB ñàíàõ îéä çîðèóëñàí æèøýýí³³ä):
Íýð
Óòãà
ztta/roll_extension
250000000
abap/heap_area_dia abap/heap_area_nondia
300000000 400000000
em/initial_size_MB em/blocksize_kB
256 1024
ipc/shm_psize_40
70000000
SAP Òýìäýãëýãýý 0013026:
Íýð
Óòãà
ztta/dynpro_area
2500000
SAP Òýìäýãëýãýý 0157246:
Íýð
Óòãà
rdisp/ROLL_MAXFS rdisp/PG_MAXFS
16000 30000
Note: Äýýðõ ïàðàìåòð³³äòýé 1 ãèãàáàéò ñàíàõ îéòîé ñèñòåì äýýð ñàíàõ îéí èéìýðõ³³ õýðýãëýýã îëæ õàðæ áîëîõ þì: Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free
10.7.13
Ñóóëãàëòûí ³åèéí àñóóäëóóä
10.7.13.1 Àñóóäëûã çàñâàðëàñíû äàðàà R3SETUP-ã äàõèí ýõë³³ëíý
R3SETUP òóøààë àëäàà ãàðâàë çîãñäîã. Õýðýâ òà õàðãàëçàõ á³ðòãýëèéí àéëóóäûã ³çýæ àëäààã çàññàí áîë R3SETUP òóøààëûã äàõèí ýõë³³ëýõ õýðýãòýé. Èíãýõèéí òóëä R3SETUP-èéí ãîìäîëëîñîí ñ³³ëèéí
302
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
àëõàìä çîðèóëæ èõýâ÷ëýí REPEAT-èéã òîõèðóóëãà áîëãîí ñîíãîíî. R3SETUP-ã äàõèí ýõë³³ëýõèéí òóëä ò³³íèéã åðä°° ë õàðãàëçàõ R3S àéëòàé íü ýõë³³ëíý, 4.6B-èéí õóâüä: # ./R3SETUP -f CENTRDB.R3S
ýñâýë 4.6C-èéí õóâüä # ./R3SETUP -f CENTRAL.R3S
áàéõ á°ã°°ä àëäàà CENTRAL.R3S þì óó ýñâýë DATABASE.R3S àéëä ãàðñíààñ ³ë õàìààðàõ þì. Note: Çàðèì àëõìóóä äýýð R3SETUP òóøààë íü ìýäýýëëèéí áààç áîëîí SAP ïðîöåññóóä íü ýõëýýä àæèëëàæ áàéãàà ãýæ ³çäýã (òýäãýýð íü àëü õýäèéí ã³éöýòãýñýí àëõìóóä þì). Àëäààíóóä ãàðàõàä, æèøýý íü ìýäýýëëèéí áààçûã ýõë³³ëæ áîëîõã³é áàéâàë àëäààíóóäûã çàñâàðëàñíû äàðàà R3SETUP-ã äàõèí ýõë³³ëýõýýñýý °ìí° òà ìýäýýëëèéí áààç áîëîí SAP-èéã ãàðààðàà ýõë³³ëýõ õýðýãòýé. Oracle ñîíñîã÷ õýðýâ (æèøýý íü ñèñòåìèéã øààðäëàãààð äàõèí à÷ààëñíààñ áîëîîä) çîãññîí áîë ò³³íèéã áàñ (orasid õýðýãëýã÷ýýð umask 0; lsnrctl start òóøààëààð) äàõèí ýõë³³ëýõýý áèòãèé ìàðòààðàé.
10.7.13.2 R3SETUP-èéí ³å äýõ OSUSERSIDADM_IND_ORA
Õýðýâ R3SETUP ýíý ³å äýýð ãîìäîëëîæ áàéâàë òýð ³åä R3SETUP-èéí àøèãëàãäñàí çàãâàð àéëûã çàñâàðëàõ õýðýãòýé (CENTRDB.R3S (4.6B) ýñâýë CENTRAL.R3S ýñâýë DATABASE.R3S (4.6C)). [OSUSERSIDADM_IND_ORA]-ã îëîõ þì óó ýñâýë ç°âõ°í STATUS=ERROR îðóóëãûã õàéæ äàðààõ óòãóóäûã çàñâàðëàõ õýðýãòýé: HOME=/home/sid adm (was empty) STATUS=OK (had status ERROR)
Äàðàà íü òà R3SETUP-ã äàõèí ýõë³³ëæ áîëíî. 10.7.13.3 R3SETUP-èéí ³å äýõ OSUSERDBSID_IND_ORA
Ìàãàäã³é R3SETUP òóøààë áàñ ýíý ³åä ãîìäîëëîõ áàéõ. Ýíä áàéãàà àëäàà íü OSUSERSIDADM_IND_ORA ³å äýõ àëäààòàé ò°ñòýé þì. Òýð ³åä R3SETUP-èéí àøèãëàãäñàí çàãâàð àéëûã çàñâàðëàõ õýðýãòýé (CENTRDB.R3S (4.6B) ýñâýë CENTRAL.R3S ýñâýë DATABASE.R3S (4.6C)). [OSUSERDBSID_IND_ORA]-ã îëîõ þì óó ýñâýë ç°âõ°í STATUS=ERROR îðóóëãûã õàéæ òýð õýñýã äýõ äàðààõ óòãûã çàñâàðëàõ õýðýãòýé: STATUS=OK
Äàðàà íü R3SETUP-ã äàõèí ýõë³³ëíý.
303
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.13.4 Oracle-èéí ñóóëãàëòûí ³å äýõ “oraview.vrf FILE NOT FOUND”
Òà ñóóëãàëòûã ýõë³³ëýõýýñýý °ìí° Oracle On-Line Text Viewer ñîíãîëòûã áîëèóëààã³é áàéíà. Ýíý òîõèðóóëãà íü Ëèíóêñ äýýð áàéäàãã³é ÷ ãýñýí ñóóëãàãäàõààð òýìäýãëýãäñýí áàéäàã. Oracle ñóóëãàëòûí öýñýí äîòîð ýíý á³òýýãäýõ³³íèéã ñîíãîñíîî áîëèóëààä ñóóëãàëòûã äàõèí ýõë³³ëýõ õýðýãòýé. 10.7.13.5 R3SETUP, RFC ýñâýë SAPgui Ýõëýëèéí ³å äýõ “TEXTENV_INVALID”
Õýðýâ ýíý àëäàà ãàðñàí áîë ç°â ëîêàë áàéõã³é áàéíà. SAP òýìäýãëýãýý 0171356 íü ñóóëãàõàä øààðäëàãàòàé RPM-³³äèéã æàãñààñàí áàéäàã (°°ð°°ð õýëáýë RedHat 6.1-ò çîðèóëñàí saplocales-1.0-3, saposcheck-1.0-1). Òà R3SETUP òóøààë ãîìäîëëîõ á³ðò á³õ õàìààðàëòàé àëäààíóóäûã õàÿæ õàðãàëçàõ STATUS òîõèðóóëãûã ERROR ãýäãýýñ OK áîëãîí (CENTRDB.R3S àéëä) òîõèðóóëæ R3SETUP-ã äàõèí ýõë³³ëñýí áîë SAP ñèñòåì íü ç°â òîõèðóóëàãäàõã³é á°ã°°ä õýäèé ñèñòåìèéã ýõë³³ëæ áîëîõ ÷ ãýñýí òà äàðàà íü ñèñòåìä SAPgui ïðîãðàìààð õîëáîãäîæ ÷àäàõã³é áîëíî. Ëèíóêñèéí õóó÷èí SAPgui-ààð õîëáîãäîõûã îðîëäîõîä äàðààõ ìýäýãäë³³äèéã °ãñ°í: Sat May 5 14:23:14 2001 *** ERROR => no valid userarea given [trgmsgo. 0401] Sat May 5 14:23:22 2001 *** ERROR => ERROR NR 24 occured [trgmsgi. 0410] *** ERROR => Error when generating text environment. [trgmsgi. 0435] *** ERROR => function failed [trgmsgi. 0447] *** ERROR => no socket operation allowed [trxio.c 3363] Speicherzugriffsfehler
Ýíý àæèëëàãàà íü SAP R/3-èéí ëîêàëûã ç°â çààæ °ã÷ ÷àäàõã³é áàéäàë áîëîí áàñ °°ðèéã°° ç°â òîõèðóóëæ ÷àäàõã³é (çàðèì ìýäýýëëèéí áààçûí õ³ñíýãò³³äýä îðóóëãóóä áàéõã³é) áàéäëààñ áîëäîã. SAP óðóó õîëáîãäîæ ÷àääàã áàéõûí òóëä DEFAULT.PFL àéëä äàðààõ îðóóëãóóäûã íýìíý (Òýìäýãëýãýý 0043288-ã ³çíý ³³): abap/set_etct_env_at_new_mode = 0 install/collate/active = 0 rscp/TCP0B = TCP0B
SAP ñèñòåìèéã äàõèí ýõë³³ëíý. Óëñòàé õîëáîîòîé õýëíèé òîõèðãîîíóóä õ³ññýíýýð àæèëëàõã³é áàéñàí ÷ ãýñýí îäîî òà ñèñòåì óðóó õîëáîãäîæ ÷àäíà. Óëñûí òîõèðãîîíóóäûã ç°â áîëãîñíû (ç°â ëîêàëûã çààæ °ãñíèé) äàðàà ýäãýýð îðóóëãóóäûã DEFAULT.PFL àéëààñ àðèëãàæ SAP ñèñòåìèéã äàõèí ýõë³³ëæ áîëíî.
10.7.13.6 ORA-00001
Ýíý àëäàà íü FreeBSD äýýðõ Oracle 8.1.7 äýýð ç°âõ°í ãàðäàã. ³íèé øàëòãààí íü Oracle ìýäýýëëèéí áààç °°ðèéãýý ç°â ýõë³³ëæ ÷àäàõã³é, ñèñòåì äýýð ñåìàîðóóä áîëîí õóâààëöñàí ñàíàõ îéã ³ëäýýí ñ³éðäýã ÿâäàë þì. Ìýäýýëëèéí áààçûã ýõë³³ëýõ äàðààãèéí îðîëäëîãî òýãýýä ORA-00001 àëäààã áóöààäàã. ipcs -a òóøààëààð òýäãýýðèéã îëæ ipcrm òóøààëààð óñòãàõ õýðýãòýé.
304
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.13.7 ORA-00445 (Àðûí ïðîöåññ PMON ýõëýýã³é)
Ýíý àëäàà íü Oracle 8.1.7 äýýð ãàðäàã. Ýíý àëäàà íü ìýäýýëëèéí áààç prdadm õýðýãëýã÷ýýð åðäèéí startsap ñêðèïòýýð (æèøýý íü startsap_majestix_00) ýõë³³ëýãäñýí áîë ãàðäàã. Áîëîìæèò òîéðîí ãàðàõ çàì íü oraprd õýðýãëýã÷ýýð svrmgrl òóøààëûí òóñëàìæòàé ìýäýýëëèéí áààçûã ýõë³³ëýõ ÿâäàë þì: % svrmgrl
SVRMGR> connect internal; SVRMGR> startup; SVRMGR> exit
10.7.13.8 ORA-12546 (Ñîíñîã÷èéã ç°â ç°âø°°ðë³³äòýé ýõë³³ëýõ) oraids
õýðýãëýã÷ýýð Oracle ñîíñîã÷èéã äàðààõ òóøààëààð ýõë³³ëíý:
# umask 0; lsnrctl start
Èíãýõã³é áîë ñîêåòóóä íü ç°â ç°âø°°ðë³³äã³éí óëìààñ òà ORA-12546 àëäàà õàðæ áîëîõ þì. SAP òýìäýãëýãýý 0072984-ã ³çíý ³³. 10.7.13.9 ORA-27102 (Out of Memory áóþó ñàíàõ îé õ³ðýëöýõã³é)
áîëîí DFLDSIZ òîõèðóóëãóóäûí õóâüä 1 GB-ñ (1024x1024x1024) èõ õýìæýýòýé óòãóóäûã àøèãëàõààð îðîëäîõ ³åä ýíý àëäàà ãàðñàí. Ì°í “Linux Error 12: Cannot allocate memory” áóþó ñàíàõ îéã õóâààðèëæ ÷àäàõã³é áàéíà ãýñýí àëäààã áèä áàñ àâñàí. MAXDSIZ
10.7.13.10 R3SETUP-èéí ³å äýõ [DIPGNTAB_IND_IND]
Åð°íõèéä°° SAP òýìäýãëýãýý 0130581-ã ³çíý ³³ (R3SETUP àëõàì DIPGNTAB ò°ãññ°í). IDES-òýé õîëáîîòîé ñóóëãàëòûí ³åä ÿìàð íýã øàëòãààíààñ áîëîîä ñóóëãàõ ïðîöåññ ç°â SAP ñèñòåìèéí íýð “IDS”-ã àøèãëàëã³é õîîñîí ì°ð ""-ã àøèãëàäàã. Çàìóóä íü äèíàìèêààð SID-ã (ýíý òîõèîëäîëä IDS) àøèãëàí ³³ñãýãääýã ó÷ðààñ ýíý íü ñàíãóóäàä õàíäàõ ³åä çàðèì íýã æèæèã àñóóäëóóäàä õ³ðãýäýã. Äîîð äóðäñàí óðóó õàíäàõûí îðîíä: /usr/sap/IDS/SYS/... /usr/sap/IDS/DVMGS00
äàðààõ çàìóóäûã àøèãëàñàí: /usr/sap//SYS/... /usr/sap/D00
Ñóóëãàëòûã ³ðãýëæë³³ëýõèéí òóëä áèä õîëáîîñ áîëîí íýìýëò ñàí ³³ñãýñýí: # pwd
/compat/linux/usr/sap # ls -l
total 4 drwxr-xr-x 3
idsadm sapsys 512 May 5 11:20 D00
305
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ drwxr-x--x lrwxr-xr-x drwxrwxr-x drwxrwxr-x
5 1 2 11
idsadm root idsadm idsadm
sapsys sapsys sapsys sapsys
512 May 7 May 5 512 May 512 May
5 11:35 IDS 11:35 SYS -> IDS/SYS 5 13:00 tmp 4 14:20 trans
SAP òýìäýãëýãýýí³³ä (0029227 áîëîí 0008401) ³³íèéã òàéëáàðëàäãèéã áèä áàñ îëñîí þì. Áèä ýäãýýð àñóóäëóóäûí àëèéã ÷ SAP 4.6C ñóóëãàëòààñ îëæ õàðààã³é. 10.7.13.11 R3SETUP-èéí ³å äýõ [RFCRSWBOINI_IND_IND]
SAP 4.6C-ã ñóóëãàæ áàéõàä ýíý àëäàà íü ñóóëãàëòûí ýõýí ³åä ãàðñàí °°ð àëäààíààñ áîëæ ãàðñàí àëäàà áàéñàí. Ýíý òîõèîëäîëä òà õàðãàëçàõ á³ðòãýëèéí àéëóóäûã ³çýæ æèíõýíý àñóóäëûã çàñâàðëàõ õýðýãòýé.
Á³ðòãýëèéí àéëóóäûã ³çñýíèé äàðàà õýðýâ ýíý àëäàà íü õàðèí ç°â áîë (SAP òýìäýãëýãýýí³³äèéã øàëãàíà óó) ç°ð÷ñ°í àëõìûí STATUS òîõèðóóëãûã ERROR ãýäãýýñ OK óðóó (àéë CENTRDB.R3S) áîëãîæ òîõèðóóëàí R3SETUP-ã äàõèí ýõë³³ëæ áîëíî. Ñóóëãàëòûí äàðàà òà øèëæ³³ëãý SE38-ààñ òàéëàí RSWBOINS-ã àæèëëóóëàõ õýðýãòýé. RFCRSWBOINI áîëîí RFCRADDBDIF ³å³³äèéí òóõàé íýìýëò ìýäýýëëèéã SAP òýìäýãëýãýý 0162266-ñ ³çíý ³³. 10.7.13.12 R3SETUP-èéí ³å äýõ [RFCRADDBDIF_IND_IND]
Ýíä èæèë õÿçãààðëàëòóóä àøèãëàãäàíà: á³ðòãýëèéí àéëóóäûã ³çýæ ýíý àëäàà íü óðüäíû °°ð àñóóäëóóäààñ áîëñîí ýñýõèéã øàëãàíà. Õýðýâ òà SAP òýìäýãëýãýý 0162266 õàìààð÷ áàéãààã áàòàëáàë ç°ð÷ñ°í àëõìûí STATUS òîõèðóóëãûã ERROR ãýäãýýñ OK óðóó (àéë CENTRDB.R3S) áîëãîæ òîõèðóóëàí R3SETUP-ã äàõèí ýõë³³ëýõ õýðýãòýé. Ñóóëãàëòûí äàðàà òà øèëæ³³ëãý SE38-ààñ òàéëàí RADDBDIF-ã àæèëëóóëàõ õýðýãòýé. 10.7.13.13 sigaction sig31: File size limit exceeded áóþó àéëûí õýìæýýíèé õÿçãààð èë³³äñýí
Ýíý àëäàà íü SAP-èéí ïðîöåññóóä disp+work-ã ýõë³³ëýõ ³åä ãàðäàã. Õýðýâ SAP-ã startsap ñêðèïòýýð ýõë³³ëýõýä äýä ïðîöåññóóä íü äàðàà íü ýõë³³ëýãäýõ á°ã°°ä ýäãýýð íü áóñàä á³õ SAP ïðîöåññóóäûã ýõë³³ëýõ áîõèð àæëûã õèéæ ñàëäàã. ³íèé ³ð ä³íä ñêðèïò íü °°ð°° ÿìàð íýã ç³éë áóðóó áîëîõûã àíçààðäàãã³é. SAP-èéí ïðîöåññóóä ç°â ýõýëñýí ýñýõèéã øàëãàõûí òóëä ps ax | grep SID òóøààëààð ïðîöåññèéí ò°ë°âèéã ³çýõ õýðýãòýé. Ýíý íü òàíä Oracle áîëîí SAP-èéí á³õ ïðîöåññóóäûí æàãñààëòûã õàðóóëäàã. Õýðýâ çàðèì ïðîöåññóóä áàéõã³é þì óó ýñâýë òà SAP ñèñòåì óðóó õîëáîãäîæ ÷àäàõã³é áàéâàë /usr/sap/SID /DVEBMGSnr/work/ ñàíä áàéõ õàðãàëçàõ á³ðòãýëèéí àéëóóäûã ³çýõ õýðýãòýé. çýõ àéëóóä íü dev_ms áîëîí dev_disp þì. Oracle áîëîí SAP-èéí àøèãëàñàí õóâààëöñàí ñàíàõ îéí õýìæýý ö°ìèéí òîõèðãîîíû àéëä òààðóóëñíààñ èë³³ ãàðâàë ýíä äîõèî 31 ãàðàõ á°ã°°ä èë³³ òîì óòãûã àøèãëàæ ýíý àñóóäëûã øèéäýæ áîëíî: # larger value for 46C production systems: options SHMMAXPGS=393216 # smaller value sufficient for 46B: #options SHMMAXPGS=262144
306
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ 10.7.13.14 saposcol òóøààëûí ýõëýë àìæèëòã³é áîëñîí
saposcol ïðîãðàìä (õóâèëáàð 4.6D) çàðèì àñóóäëóóä áàéäàã. SAP ñèñòåì íü ñèñòåìèéí àæèëëàãààíû òóõàé °ã°ãäëèéã öóãëóóëàõûí òóëä saposcol-ã àøèãëàäàã. Ýíý ïðîãðàì íü SAP ñèñòåìèéã àøèãëàõàä õýðýãã³é áîëîõîîð ýíý àñóóäëûã æèæèã ãýæ òîîöîæ áîëîõ þì. Õóó÷èí õóâèëáàðóóä (4.6B) íü àæèëëàäàã áîëîâ÷ á³õ °ã°ãäëèéã öóãëóóëäàãã³é (îëîí äóóäëàãóóä íü 0-ã áóöààõ áîëíî, æèøýý íü CPU-èéí õýðýãëýýíèé õóâüä).
10.8
Íýìýëò ñýäâ³³ä
Õýðýâ òà Ëèíóêñèéí õî¼ðòûí íèéëýìæ õýðõýí àæèëëàäãèéã ìýäýõèéã õ³ñýæ áàéãàà áîë ýíý õýñýã íü òàíû óíøèõûã õ³ñýæ áàéãàà õýñýã þì. Äîîð áè÷èãäñýí ç³éëèéí èõýíõ íü Òýððè Ëýìáýðò -èéí FreeBSD chat çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-chat) ðóó áè÷ñýí öàõèì çàõèäàë (Message ID: <[email protected] >) äýýð òóëãóóðëàñàí áàéãàà. 10.8.1
Õýðõýí àæèëëàäàã âý?
FreeBSD íü “execution class loader” áóþó àæèëëóóëàõ àíãèëàë äóóäàã÷ ãýãääýã õèéñâýðëýëòòýé áàéäàã. Ýíý íü execve(2) ñèñòåìèéí äóóäëàãà óðóó õèéãäýõ øààíòàã þì.
Þó áîëäîã âý ãýõýýð FreeBSD íü ÿìàð íýãýí á³ðõ³³ëèéí òàéëáàðëàã÷èä ýñâýë á³ðõ³³ëèéí ñêðèïò³³äèéã àæèëëóóëàõûí òóëä #! äóóäàã÷ óðóó îðäîã íýã äóóäàã÷èéí îðîíä äóóäàã÷äûí æàãñààëòòàé áàéäàã. Óëàìæëàëààð áîë UNIX òàâöàíãèéí äóóäàã÷ íü õî¼ðòûí àéëûã ñèñòåìä ìýäýãäýæ áàéãàà ýñýõèéã ìýäýõèéí òóëä øèäýò òîîã (åð°íõèéä°° àéëûí ýõíèé 4 ýñâýë 8 áàéò) øàëãàäàã á°ã°°ä õýðýâ ìýäýãäýæ áàéâàë õî¼ðòûí äóóäàã÷èéã àæèëëóóëäàã ãàíö äóóäàã÷ þì. Õýðýâ ýíý íü ñèñòåìä çîðèóëàãäñàí õî¼ðòûí ò°ð°ë áèø áîë execve(2) äóóäëàãà àìæèëã³é áîëîí áóöàæ á³ðõ³³ë ³³íèéã á³ðõ³³ëèéí òóøààëóóä ìàÿãààð àæèëëóóëæ ýõëýõèéã îðîëääîã. “Òóõàéí ³åèéí á³ðõ³³ë ÿìàð áàéãàà” ò³³íèéã àíõäàã÷ ãýæ òààìàãëàäàã. Äàðàà íü ýõíèé õî¼ð òýìäýãò³³äèéã øàëãàõ çàñâàðûã (hack) sh(1)-ä çîðèóëæ õèéñýí á°ã°°ä õýðýâ òýäãýýð íü :\n áîë ýíý íü csh(1) á³ðõ³³ëèéã àæèëëóóëäàã (ýíý çàñâàðûã SCO àíõëàí õèéñýí ãýæ áèä èòãýäýã). Ò°ãñã°ëèéí äàðààõ äàðààãèéí õîîñîí çàéíû äàðàà áàéäàã òýìäýãò³³äèéí äàðàà /bin/sh óðóó áóöäàã òýìäýãò³³ä áàéäàã áîëîõîîð îäîî FreeBSD þó õèéäýã âý ãýõýýð äóóäàã÷äûí æàãñààëòààð òàéëáàðëàã÷äûí òàëààð ìýääýã åð°íõèé #! äóóäàã÷òàé ÿâäàã. Ëèíóêñèéí ABI äýìæëýãèéí õóâüä FreeBSD íü øèäýò òîîã ELF õî¼ðòûí àéë ãýæ õàðäàã (îäîîãîîð ýíý íü FreeBSD, Solaris, Ëèíóêñ áîëîí ELF ä³ðñíèé ò°ð°ë á³õèé áóñàä OS-èéã õîîðîíä íü ÿëãàäàãã³é). ELF äóóäàã÷ íü òóñãàé òàìãà õàéäàã á°ã°°ä ýíý íü ELF ä³ðñ äýõ òàéëáàð õýñýã þì. Ýíý íü SVR4/Solaris ELF õî¼ðòûí àéëóóäàä áàéäàãã³é. Ëèíóêñ õî¼ðòûí àéëóóä íü àæèëëàõûí òóëä òýäãýýð íü brandelf(1)-ýýð Ëèíóêñ ãýæ òàìãàëàãäàõ ¼ñòîé áàéäàã: # brandelf -t Linux file
307
Chapter 10 Ëèíóêñèéí Õî¼ðòûí Íèéëýìæ
³íèéã õèéñíèé äàðàà ELF äóóäàã÷ íü àéëä Ëèíóêñ òàìãûã õàðàõ áîëíî. ELF äóóäàã÷ Ëèíóêñ òàìãûã õàðàõ ³åä äóóäàã÷ proc á³òýö äýõ çààã÷èéã ñîëüäîã. Ýíý çààã÷ààð á³õ ñèñòåìèéí äóóäëàãóóä èíäåêñëýãääýã (óëàìæëàëò UNIX ñèñòåì äýýð ýíý íü ñèñòåìèéí äóóäëàãóóäûã àãóóëàõ sysent[] á³òöèéí ìàññèâ áàéõ þì). ³íýýñ ãàäíà ïðîöåññ íü äîõèîíû òðàìïëèíèé êîäîíä çîðèóëñàí çàíãà âåêòîðûã òóñãàéëàí çîõèöóóëàõàä áîëîí Ëèíóêñèéí ö°ìèéí ìîäóëèàð çîõèöóóëàãääàã áóñàä õýä õýäýí (æèæèã) çàñâàðóóäàä çîðèóëàãäàæ òýìäýãëýãääýã. Ëèíóêñ ñèñòåìèéí äóóäëàãûí âåêòîð íü áóñàä ç³éë³³äýýñ ãàäíà ö°ìèéí ìîäóëüä õàÿãóóä íü áàéäàã sysent[] îðóóëãóóäûí æàãñààëòûã àãóóëäàã. Ñèñòåìèéí äóóäëàãà Ëèíóêñèéí õî¼ðòûí àéëààð äóóäàãäàõàä çàíãà êîä ñèñòåìèéí äóóäëàãûí óíêö çààã÷èéí õàÿãèéã proc á³òöýýñ àâ÷ FreeBSD-èéí áèø Ëèíóêñèéí ñèñòåìèéí äóóäëàãûí îðóóëãûí öýã³³äèéã àâäàã. Ì°í Ëèíóêñ ãîðèì íü õàéëòûã äèíàìèêààð äàõèí ýõë³³ëäýã ; ýíý íü àéëûí ñèñòåìèéí õîëáîëòóóä äàõü union òîõèðóóëãà (unionfs àéëûí ñèñòåìèéí ò°ð°ë áèø !) õèéäýã òýð ç³éë þì. Ýõëýýä /compat/linux/original-path ñàí äàõü àéëûã õàéõ á°ã°°ä äàðàà íü õýðýâ ýíý íü àìæèëòã³é áîëâîë õàéëò /original-path ñàíä õèéãääýã. Ýíý íü áóñàä õî¼ðòûí àéëóóäûã øààðääàã õî¼ðòûí àéëóóäûã àæèëëàæ ÷àäàõààð (°°ð°°ð õýëáýë Ëèíóêñèéí õýðýãñëèéí öóãëóóëãà á³ãäýýðýý Ëèíóêñèéí ABI äýìæëýãèéí äîîð àæèëëàæ ÷àääàã áàéõààð) áîëãîäîã. Ëèíóêñèéí õî¼ðòûí àéëóóä íü òîõèðîõ Ëèíóêñèéí õî¼ðòûí àéëóóä áàéõã³é áîë FreeBSD-èéí õî¼ðòûí àéëóóäûã äóóäàæ àæèëëóóëæ áàñ ÷àäíà ãýñýí ³ã á°ã°°ä Ëèíóêñèéí õî¼ðòûí àéëóóäûã Ëèíóêñ äýýð àæèëëàõã³é áàéãààã íü õýëæ ÷àäàõààðã³é áîëãîõûí òóëä òà uname(1) òóøààëûã /compat/linux ñàíä áàéðëóóëæ áîëíî ãýñýí ³ã þì. íäñýíäýý Ëèíóêñèéí ö°ì FreeBSD ö°ìä áàéäàã; ö°ìèéí ³ç³³ëäýã á³õ ³éë÷èëãýýí³³äèéã õèéäýã, äîîð íü îðøèõ ò°ð°ë á³ðèéí óíêöóóä íü FreeBSD-èéí ñèñòåìèéí äóóäëàãûí õ³ñíýãòèéí îðóóëãóóä áîëîí Ëèíóêñèéí ñèñòåìèéí äóóäëàãûí õ³ñíýãòèéí îðóóëãóóäòàé èæèë áàéäàã: àéëûí ñèñòåìèéí ³éëäë³³ä, âèðòóàë ñàíàõ îéí ³éëäë³³ä, äîõèî õ³ðãýëò, System V IPC, ãýõ ìýò. . . Öîðûí ãàíö ÿëãàà íü FreeBSD-èéí õî¼ðòûí àéëóóä FreeBSD-èéí öàâóó óíêöóóäûã, Ëèíóêñèéí õî¼ðòûí àéëóóä Ëèíóêñèéí öàâóó óíêöóóäûã àâäàã ÿâäàë þì (èõýíõ õóó÷èí OS-³³ä ç°âõ°í °°ðñäèéí öàâóó óíêöóóäòàé áàéñàí: äóóäëàãà õèéæ áàéãàà ïðîöåññèéí proc á³òýö äýõ äèíàìèêààð ýõë³³ëýãäñýí çààã÷ààð õèéãäñýí óíêöóóäûí õàÿãóóäûí îðîíä ñòàòèê ãëîáàë sysent[] á³òöèéí ìàññèâ äàõü óíêöóóäûí õàÿãóóäòàé áàéñàí). Àëü íü ýõ FreeBSD ABI âý? Ýíý íü õàìààã³é þì. íäñýíäýý öîðûí ãàíö ÿëãàà íü (ç°âõ°í îäîîãîîð; ýäãýýð íü èðýýä³éí õóâèëáàðóóäàä àìàðõàí °°ð÷ë°ãä°æ áîëîõ á°ã°°ä ìàãàäã³é ³³íèé äàðààãààð õèéãäýõ áàéõ) FreeBSD-èéí öàâóó óíêöóóä íü ö°ìä ñòàòèêààð õîëáîãäñîí áàéäàã á°ã°°ä Ëèíóêñèéí öàâóó óíêöóóä íü ñòàòèêààð õîëáîãäîæ ýñâýë òýäãýýðò ö°ìèéí ìîäóëèéí òóñëàìæòàéãààð õàíäàæ áîëäîã ÿâäàë þì. Òèéìýý, ãýõäýý ýíý íü æèíõýíý ýìóëÿö ì°í ³³? ã³é ýý. Ýíý íü ABI øèéäýë áîëîõîîñ ýìóëÿö áèø þì. ßìàð ÷ ýìóëÿòîð (ýñâýë ä³ð ³ç³³ëýã÷ (simulator) (äàðààãèéí àñóóëòûã àñóóëãàõã³éí òóëä)) îðîëöîîã³é. Òýãýõýýð ÿàãààä ýíý íü çàðèìäàà “Ëèíóêñ ýìóëÿö” ãýãääýã þì áý? FreeBSD-ã õóäàëäàõàä õýö³³ áîëãîõûí òóëä! Òèéìýý, þó áîëæ áàéãààã òàéëáàðëàæ áàéãààãààñ °°ð ç³éëã³é áàéõ òýð ³åä óëàìæëàëò øèéäýë õèéãäñýí áîëîõîîð òýð þì; õýðýâ òà êîäûã ýìõýòãýýã³é ýñâýë ìîäóëèéã äóóäààã³é áîë Ëèíóêñèéí õî¼ðòûí àéëóóäûã FreeBSD àæèëëóóëäàã ãýæ õýëýõ íü ³íýí áèø á°ã°°ä þó äóóäàãäñàíûã òàéëáàðëàõ ³ã õýðýãòýé áàéñàí áîëîõîîð —“Ëèíóêñ ýìóëÿòîð” ãýñýí ³ã ãàðñàí þì.
308
III. Ñèñòåìèéí Óäèðäëàãà
FreeBSD ãàðûí àâëàãûí ³ëäñýí á³ëã³³ä íü FreeBSD ñèñòåìèéí óäèðäëàãûí á³õ îéëãîëòóóäûã õàìðàõ áîëíî. Á³ëýã á³ðèéí ýõýíä, óã á³ëãèéã óíøñàíààð òàíû þó ñóð÷ àâàõûã òàéëáàðëàõ á°ã°°ä óíøèæ ýõëýõýýñ °ìí° þóã ìýäñýí áàéõ ¼ñòîéã áàñ õýëæ °ã°õ áîëíî. Ýäãýýð á³ëã³³ä íü òàíä ìýäýýëýë õýðýãòýé ³åä óíøèãäàõààð çîðèóëàãäñàí þì. Òà ÿìàð íýãýí òîäîðõîé äàðààëëààð óíøèõ õýðýãã³é á°ã°°ä FreeBSD àøèãëàæ ýõëýõýýñýý °ìí° á³ãäèéã íü óíøèõ øààðäëàãàã³é áîëíî.
Chapter 11
Òîõèðãîî áà Òààðóóëàëò
Õîéíî äóðäñàí çààâàð áîëîí ãàðûí àâëàãà äýýð òóëãóóðëàí áè÷ñýí Øåðí Ëè. Çààâðûã áè÷ñýí Ìàéê Ñìèò. tuning(7)-ã áè÷ñýí Ìýòò Äèëëîí. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 11.1
Åð°íõèé àãóóëãà
FreeBSD-èéí õàìãèéí ÷óõàë ç³éë³³äèéí íýã íü ñèñòåìèéí òîõèðãîî þì. Ç°â ñèñòåìèéí òîõèðãîî íü èðýýä³éí øèíý÷ëýëò³³äèéí ³åä òîëãîéí °â÷èí ãàðãàõã³é áàéõàä òóñàëíà. Ýíý á³ëýã FreeBSD
ñèñòåìèéã òààðóóëàõàä õýðýãëýãääýã çàðèì íýã ïàðàìåòð³³ä áîëîí òîõèðãîîíû ïðîöåññèéí òàëààð èë³³ òàéëáàðëàõ áîëíî. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî:
Ôàéëûí ñèñòåì³³ä áîëîí õóâààëòóóäòàé õýðõýí ³ð àøèãòàé àæèëëàõ òàëààð. • rc.conf òîõèðãîî áîëîí /usr/local/etc/rc.d ýõëýëèéí ñèñòåì³³äèéí ³íäñ³³ä. • ѳëæýýíèé êàðòûã õýðõýí òîõèðãîî áîëîí òåñò õèéõ òàëààð. • ѳëæýýíèé ò°õ°°ð°ìæ äýýðýý âèðòóàë õîñòóóä õýðõýí òîõèðóóëàõ òàëààð. • /etc äýõ ò°ð°ë á³ðèéí òîõèðãîîíû àéëûã õýðõýí àøèãëàõ òàëààð. • sysctl õóâüñàã÷óóäûã àøèãëàí FreeBSD-èéã õýðõýí òààðóóëàõ òàëààð. • Äèñêíèé õóðäàí àæèëëàãààã õýðõýí òààðóóëàõ áîëîí ö°ìèéí õÿçãààðóóäûã õýðõýí °°ð÷ë°õ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
• •
UNIX áîëîí FreeBSD-èéí ³íäñèéã îéëãîõ (Chapter 3).
Ö°ìèéí òîõèðãîî/õ°ðâ³³ëýëòèéí ³íäñ³³äèéí òàëààð îéëãîëòòîé áàéõ (Chapter 8).
11.2
Ýõíèé Òîõèðãîî
11.2.1
Õóâààëòûí áàéðëàë
11.2.1.1 íäñýí Õóâààëòóóä
bsdlabel(8) áîëîí sysinstall(8) àøèãëàí àéëûí ñèñòåì³³äèéã áàéðëóóëàõäàà õàòóó õ°òë°ã÷³³ä °ã°ãäëèéã äîòîîä çàìóóäààñ èë³³ ãàäíàõ çàìóóäààñ õóðäàí øèëæ³³ëäãèéã ñàíààðàé. Òèéìýýñ æèæèã,
áàéíãà õàíääàã àéëûí ñèñòåì³³ä õ°òë°ã÷èéí ãàäíà òàë óðóó îéðõîí áàéõ ¼ñòîé á°ã°°ä /usr çýðýã òîì õóâààëòóóä äèñêèéí äîòîð òàë óðóó áàéõ õýðýãòýé. Õóâààëòóóäûã èéìýðõ³³ äàðààëëààð áàéðëóóëàõ íü ç°â þì: root, swap, /var, /usr. /var õóâààëòûí õýìæýý ò°ë°âë°ñ°í ìàøèíû õýðýãëýýã òóñãàäàã. /var àéëûí ñèñòåì íü øóóäàíãèéí õàéðöãóóä, á³ðòãýëèéí àéëóóä, áîëîí ïðèíòåðèéí spool àãóóëäàã. Øóóäàíãèéí õàéðöãóóä áîëîí á³ðòãýëèéí àéëóóä õè÷íýýí õýðýãëýã÷ áàéãàà áîëîí ÿìàð õóãàöààíä á³ðòãýëèéí àéëóóä áàéõààñ
310
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
õàìààðààä ò°ñ°°ë°øã³é õýìæýýíä õ³ðòýë èõñýæ áîëäîã. Èõýíõ õýðýãëýã÷äèéí õóâüä /var-ä íýã ãèãàáàéò ñóë çàé áàéõàä õàíãàëòòàé áàéäàã. Note: /var/tmp-ä èõýýõýí õýìæýýíèé äèñêèéí çàé øààðäàãääàã ö°°õ°í òîõèîëäîë áàéäàã. Øèíý ïðîãðàì õàíãàìæèéã pkg_add(1) àøèãëàí ñóóëãàõàä áàãöëàõ õýðýãñë³³ä áàãöûí ò³ð çóóðûí õóóëáàðûã /var/tmp-ä çàäàëäàã. /var/tmp-ä õàíãàëòòàé äèñêèéí ÷°ë°°òýé çàé áàéõã³é áîë Firefox ýñâýë OpenOffice çýðýã òîìîîõîí ïðîãðàì õàíãàìæèéí áàãöóóäûã ñóóëãàõàä ò°â°ãòýé áàéæ áîëîõ þì. /usr õóâààëò ports(7) öóãëóóëãà (áàéëãàõûã ç°âë°ä°ã), áîëîí ýõ êîä (çààâàë áèø) çýðýã ñèñòåìèéã äýìæèõýä øààðäëàãàòàé èõýíõ àéëóóäûã àãóóëäàã. Ïîðòóóä áîëîí ³íäñýí ñèñòåìèéí ýõ³³äèéã ñóóëãàëòûí ³åä ñîíãîõ áîëîìæòîé áîëîâ÷ áèä ýíý õóâààëòàä õàìãèéí áàãààð áîäîõîä 2 ãèãàáàéò áàéõûã ç°âë°ä°ã. Õóâààëòûí õýìæýýã ñîíãîõäîî çàéí øààðäëàãûã áîäîõ õýðýãòýé. Íýã õóâààëò íü áàðàã ë àøèãëàãäàõã³é áàéõàä í°ã°° íü çàéã³é áîëæ áàéõ íü àñóóäàë þì. Note: sysinstall(8)-èéí Auto-defaults
õóâààëòûí õýìæýýã °ã°ã÷ íü çàðèìäàà /var áîëîí / õóâààëòóóäàä áîëîìæîîñ áàãà õýìæýýã ñîíãîäãèéã çàðèì õýðýãëýã÷èä îëñîí áàéíà. Õóâààëòûã óõààëãààð õàðàìã³é õèéãýýðýé.
11.2.1.2 Swap Õóâààëò
Swap õóâààëòûí õýìæýý ñèñòåìèéí ñàíàõ îéã (RAM) õî¼ð äàõèí àâñàí õýìæýýòýé áàéõ ¼ñòîé. Æèøýýëáýë ìàøèí 128 ìåãàáàéò ñàíàõ îéòîé áîë swap àéë 256 ìåãàáàéò áàéõ ¼ñòîé. Áàãà ñàíàõ îéòîé ñèñòåì³³ä èõ swap-òàé áîë èë³³ õóðäàí àæèëëàæ áîëîõ þì. 256 ìåãàáàéòààñ áàãà swap-èéã õýðýãëýõèéã ç°âë°ä°ãã³é á°ã°°ä ñàíàõ îéí °ðã°òã°ë õýðýãòýé. Ö°ìèéí VM õóóäàñëàõ àëãîðèòìóóä íü áàãààð áîäîõîä ãîë ñàíàõ îéã õî¼ð äàõèí àâñàíòàé òýíöýõ swap õóâààëòòàé áàéõ ³åä õàìãèéí õóðäàí àæèëëàõààð òààðóóëàãäñàí áàéäàã. Õýòýðõèé áàãà swap òîõèðóóëàõ íü VM õóóäàñ ñêàí õèéõ êîäûã ³ð àøèãã³éòýëä õ³ðãýæ èë³³ ñàíàõ îé õîæèì íýìýõýä àñóóäàë ³³ñãýæ áîëîõ þì.
Îëîí SCSI äèñêí³³ä á³õèé (ýñâýë îëîí IDE äèñêí³³ä °°ð °°ð õÿíàã÷óóä äýýð àæèëëàæ áàéãàà) òîìîîõîí ñèñòåì³³äýä swap-èéã õ°òë°ã÷ áîëãîí äýýð (4 õ°òë°ã÷ õ³ðòýë) òîõèðóóëàõûã ç°âë°ä°ã. Swap õóâààëòóóä íü îéðîëöîîãîîð àäèëõàí õýìæýýíèé áàéõ øààðäëàãàòàé. Ö°ì äóðûí õýìæýýòýé àæèëëàæ ÷àäàõ áîëîâ÷ äîòîîä °ã°ãäëèéí á³òö³³ä õàìãèéí òîì swap õóâààëòûã 4 äàõèí àâñàíòàé àäèë õýìæýýãýýð òîìðîõ áîëîìæòîé. Swap õóâààëòóóäûã îéðîëöîîãîîð àäèë õýìæýýòýé áàéëãàõ íü swap çàéã äèñêí³³äèéí äàãóó îíîâ÷òîéãîîð ñóäàë ³³ñãýõ áîëîìæèéã ö°ìä îëãîäîã. Swap èõ àøèãëàãääàãã³é áàéñàí ÷ ãýñýí òîì swap õýìæýý áàéæ áîëíî. Õ³÷ýýð äàõèí à÷ààëàãäàõ ³åä äàãàæ õààãäñàí ïðîãðàìààñ °ã°ãäëèéã ñýðãýýõ íü àìàðõàí áàéæ áîëîõ þì. 11.2.1.3 ßàãààä Õóâààõ õýðýãòýé ãýæ?
Çàðèì õýðýãëýã÷èä ãàíö òîì õóâààëò áàéõàä áîëíî ãýæ áîääîã, ãýõäýý ýíý íü ÿàãààä áóðóó áîëîõ õýä õýäýí øàëòãààí áèé. Íýãä³ãýýðò õóâààëò áîëãîí °°ð °°ð àæèëëàãààíû øèíæ ÷àíàðóóäòàé á°ã°°ä òýäãýýðèéã òóñãààðëàñíààð àéëûí ñèñòåìèéã òýäãýýðò òààðóóëàõ áîëîìæèéã îëãîäîã. Æèøýý íü root áîëîí /usr õóâààëòóóä áàéíãà áè÷èãäýõýýñýý èë³³ èõýâ÷ëýí óíøèãääàã. Õàðèí óíøèëò áîëîí áè÷èëò /var áîëîí /var/tmp-ä áàéíãà õèéãääýã.
311
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Ñèñòåìèéã ç°â õóâààñíààð à÷ààëàëòàé õóâààëòóóäàä õèéñýí æèæèã áè÷èëòýýð ãàðñàí õýñýãëýëò èë³³äýæ áàéíãà óíøèãääàã õóâààëòóóä óðóó õàëüäàãã³é. Áè÷èëò-à÷ààëñàí õóâààëòóóäûã äèñêíèé èðìýã óðóó áàéðëóóëàõ íü áè÷èëò èõýâ÷ëýí õèéãääýã õóâààëòóóä äàõü I/O àæèëëàãààã õóðäàñãàäàã. Òîì õóâààëòóóäàä I/O-í õóðäàí àæèëëàãàà õýðýãòýé áàéæ áîëîõ ÷ òýäãýýðèéã äèñêíèé èðìýã óðóó èë³³òýé îéðòóóëàõ íü /var-èéã èðìýã óðóó øèëæ³³ëñíýýñ èë³³ ìýäýãäýõ³éö õóðäàí àæèëëàãààíä õ³ðãýõã³é. Ýöýñò íü íàéäâàðòàé áàéäëûã áîäîõ ¼ñòîé. Èõýâ÷ëýí óíøèãääàã, æèæèã, öýâýðõýí root õóâààëò õýö³³ ñ³éðýë áîëîõîä ñýðãýõ áîëîìæ íü õàìààã³é èë³³ áàéíà.
11.3
îë Òîõèðãîî
Ñèñòåìèéí òîõèðãîîíû ìýäýýëýë /etc/rc.conf äîòîð áàéäàã. Ýíý àéë íü °ðã°í õ³ðýýíèé, çàð÷ìûí õóâüä ñèñòåìèéã ýõëýõ ³åä ñèñòåìèéã òîõèðóóëàõàä àøèãëàãääàã òîõèðãîîíû ìýäýýëë³³äýýñ òîãòîíî. ³íèé íýð íü øóóä óòãûã òîäîðõîéëíî; ýíý íü rc* àéëóóäàä çîðèóëñàí òîõèðãîîíû ìýäýýëýë þì. Àäìèíèñòðàòîð /etc/defaults/rc.conf-èéí àíõäàã÷ óòãóóäûã rc.conf àéëä °°ð÷èëæ îðóóëàõ õýðýãòýé. Àíõäàã÷óóäûí àéë /etc óðóó õóóëàãäàõ ¼ñã³é - ýíý íü æèøýý áèø àíõäàã÷ óòãóóäûã àãóóëäàã. Á³õ ñèñòåìèéí õîëáîãäîëòîé °°ð÷ë°ëò³³ä rc.conf àéëä °°ðò íü õèéãäýõ ¼ñòîé. Óäèðäëàãûí íýìýëò à÷ààëëûã áàéíãà áàãà áàéëãàõûí òóëä ñàéò äàãóóõ òîõèðãîîã ñèñòåìèéí òóñãàéëñàí òîõèðãîîíîîñ òóñãààðëàõ õýä õýäýí ñòðàòåãè êëàñòåð õèéãäñýí ïðîãðàìóóäàä áàéæ áîëîõ þì. Ñàéòûí äàãóóõ òîõèðãîîã /etc/rc.conf.site çýðýã °°ð àéëä áàéðëóóëæ äàðàà íü ýíý àéëûã ç°âõ°í ñèñòåìèéí òóñãàéëñàí ìýäýýëëèéã àãóóëäàã /etc/rc.conf-ä îðóóëàõûã ç°âë°ä°ã. rc.conf íü sh(1)-ýýð óíøèãääàã áîëîõîîð ³³íèéã õèéõýä àìàðõàí áàéíà. Æèøýý íü: •
rc.conf: . /etc/rc.conf.site hostname="node15.example.com" network_interfaces="fxp0 lo0" ifconfig_fxp0="inet 10.1.1.1"
•
rc.conf.site: defaultrouter="10.1.1.254" saver="daemon" blanktime="100"
Äàðàà íü rc.conf.site àéë ñèñòåì áîëãîíä rsync ýñâýë àäèë ïðîãðàìààð ò³ãýýãäýæ áîëîõ á°ã°°ä õàðèí rc.conf àéë íü °°ð °°ð õýâýýð áàéõ áîëíî. sysinstall(8) ýñâýë make world àøèãëàí ñèñòåìèéã øèíý÷ëýõýä rc.conf àéëûã äàðæ áè÷èõã³é, òýãýõýýð ñèñòåìèéí òîõèðãîîíû ìýäýýëýë õàÿãäàõã³é. 11.4
Ïðîãðàìûí Òîõèðãîî
Åð°íõèéä°° ñóóëãàñàí ïðîãðàìóóä íü °°ðèéí ä³ðýì ãýõ ìýò îíöëîãòîé °°ð °°ðèéí òîõèðãîîíû àéëóóäòàé áàéäàã. Ýäãýýð àéëóóäûã áàãö óäèðäàõ õýðýãñë³³äýýð àìàðõàí îëæ óäèðäàæ áîëîõîîð ³íäñýí ñèñòåìýýñ òóñàä íü áàéëãàõ íü ÷óõàë þì.
312
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Åð°íõèéä°° ýäãýýð àéëóóä íü /usr/local/etc äîòîð ñóóëãàãääàã. Ïðîãðàì èõ îëîí òîîíû òîõèðãîîíû àéëóóäòàé òîõèîëäîëä òýäãýýðèéã àãóóëæ äýä ñàí ³³ñãýãäýíý. Èõýíõäýý ïîðò ýñâýë áàãö ñóóõàä æèøýý òîõèðãîîíû àéëóóä áàñ ñóóäàã. Ýäãýýð íü èõýíõäýý .default äàãàâðààð òàíèãääàã. Õýðýâ ïðîãðàìûí õóâüä òîõèðãîîíû àéëóóä áàéõã³é áàéâàë òýäãýýðèéã .default àéëóóäûã õóóëæ ³³ñãýíý. Æèøýý íü /usr/local/etc/apache ñàíä áàéãàà àéëóóäûã ³çüå: -rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--
1 1 1 1 1 1 1 1 1 1
root root root root root root root root root root
wheel wheel wheel wheel wheel wheel wheel wheel wheel wheel
2184 2184 9555 9555 12205 12205 2700 2700 7980 7933
May May May May May May May May May May
20 20 20 20 20 20 20 20 20 20
1998 1998 1998 1998 1998 1998 1998 1998 1998 1998
access.conf access.conf.default httpd.conf httpd.conf.default magic magic.default mime.types mime.types.default srm.conf srm.conf.default
Ôàéëûí õýìæýýí³³ä íü ç°âõ°í srm.conf àéë °°ð÷ë°ãäñ°íèéã õàðóóëæ áàéíà. Apache ïîðòûí äàðààãèéí øèíý÷ëýë ýíý °°ð÷ë°ãäñ°í àéëûã äàðæ õóóëàõã³é. 11.5
éë÷èëãýýí³³äèéã ýõë³³ëýõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. Îëîí õýðýãëýã÷èä Ïîðòóóäûí Öóãëóóëãààñ ãóðàâäàã÷ ïðîãðàì õàíãàìæóóäûã FreeBSD äýýð ñóóëãàõààð ñîíãîäîã. Èõýíõ òîõèîëäîëä ïðîãðàì õàíãàìæèéã ñèñòåì à÷ààëàõàä ýõë³³ëýõýýð òîõèðóóëàõ øààðäëàãàòàé áàéæ áîëîõ þì. mail/postfix ýñâýë www/apache13 çýðýã ³éë÷èëãýýí³³ä íü ñèñòåìèéã à÷ààëàõàä ýõë³³ëæ áîëîõ ïðîãðàì õàíãàìæèéí áàãöóóäûí ç°âõ°í õî¼ðõîí æèøýý þì. Ýíý õýñýãò ãóðàâäàã÷ ïðîãðàì õàíãàìæèéã àæèëëóóëàõ ïðîöåäóðûí òàëààð òàéëáàðëàõ áîëíî. FreeBSD äýýð cron(8) çýðýã èõýíõ ³éë÷èëãýýí³³ä ñèñòåìèéí ýõë³³ëýõ ñêðèïò³³äèéí òóñëàìæòàé ýõýëäýã. Ýäãýýð ñêðèïò³³ä FreeBSD ýñâýë ³éëäâýðëýã÷èéí õóâèëáàðààñ õàìààðàí °°ð °°ð áàéíà; ãýõäýý õàìãèéí ÷óõàë àâ÷ ³çýõ ç³éë íü òýäãýýðèéí ýõëýõ òîõèðãîîã ýíãèéí ýõë³³ëýõ ñêðèïò³³äýýð õèéõ áîëîìæòîé ÿâäàë þì. rc.d-ýýñ °ìí° ïðîãðàì õàíãàìæóóä ýíãèéí ýõë³³ëýõ ñêðèïòýý ñèñòåìèéí ýõë³³ëýõ ñêðèïò³³äèéí óíøäàã /usr/local/etc/rc.d ñàíä õèéäýã áàéñàí. Äàðàà íü ýäãýýð ñêðèïò³³ä íü ñèñòåìèéí à÷ààëàëòûí ñ³³ëèéí øàòóóäàä àæèëëàäàã. Îëîí õóâü õ³ì³³ñ õóó÷èí òîõèðãîîíû çàãâàðûã øèíý ñèñòåì óðóó íèéë³³ëýõ ãýæ îëîí öàãèéã çàðñààð áàéãàà áîëîâ÷ çàðèì ãóðàâäàã÷ õýðýãñë³³ä ñêðèïòýý äýýð äóðäñàí ñàí óðóó õèéõèéã øààðäñàí õýâýýð áàéãàà þì. Ñêðèïò³³äèéí ãîë ÿëãààíóóä íü rc.d àøèãëàæ áàéãàà ýñýõýýñ õàìààðíà. FreeBSD 5.1-ýýñ °ìí° õóó÷èí òîõèðãîîíû çàãâàð àøèãëàãäàæ áàéñàí á°ã°°ä áàðàã á³õ ë òîõèîëäëóóäàä øèíý çàãâàðûí ñêðèïò³³ä ÷ áàñ ç³ãýýð àæèëëàõ þì. Ñêðèïò á³ð çàðèì õàìãèéí áàãà øààðäëàãûã õàíãàõ ¼ñòîé áîëîâ÷ èõýíõäýý FreeBSD-èéí õóâèëáàðààñ õàìààðíà. Ñêðèïò á³ð ñèñòåì äýýð àæèëëàõ áîëîìæòîé áàéõ ¼ñòîé á°ã°°ä ³³íèéã chmod òóøààë àøèãëàí ãàíö 555 ýðõèéã çààí õèéæ áîëíî. Ì°í õàìãèéí áàãààð áîäîõîä ïðîãðàìûã ýõë³³ëýõ áîëîí çîãñîîõ òîõèðóóëãóóä áàéõ ¼ñòîé.
313
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Õàìãèéí ýíãèéí ýõë³³ëýõ ñêðèïò ÿã ýíýí øèã õàðàãäàõ áîëîâ óó: #!/bin/sh echo -n ’ utility’ case "$1" in start) /usr/local/bin/utility ;; stop) kill -9 ‘cat /var/run/utility.pid‘ ;; ) * echo "Usage: ‘basename $0‘ {start|stop}" >&2 exit 64 ;; esac exit 0
Ýíý ñêðèïò utility õýìýýãäñýí ïðîãðàìä çîðèóëàãäñàí çîãñîîõ áîëîí ýõë³³ëýõ òîõèðóóëãàòàé áàéíà. àðààð èíãýæ ýõë³³ëæ áîëíî: # /usr/local/etc/rc.d/utility start
Á³õ ãóðàâäàã÷ ïðîãðàì õàíãàìæóóä rc.conf-ä ì°ð áàéõûã øààðääàãã³é áîëîâ÷ áàðàã ë °ä°ð áîëãîí øèíý ïîðò ýíý òîõèðãîîã àâàõààð °°ð÷ë°ãä°æ áàéíà. Òóõàéí ïðîãðàìûí òàëààð äýëãýðýíã³é ìýäýýëëèéã ñóóëãàëòûí ñ³³ëèéí äýëãýöýä ãàðãàñàí ³ð ä³íãýýñ øàëãààðàé. Çàðèì ãóðàâäàã÷ ïðîãðàì õàíãàìæóóä ïðîãðàìûã rc.d-òýé öóã àøèãëàõûã ç°âø°°ðä°ã ýõë³³ëýõ ñêðèïò³³äòýé áàéäàã; ãýõäýý ýíý íü äàðààãèéí õýñýãò õýëýëöýãäýíý. 11.5.1
Ïðîãðàìûí ðã°òã°ñ°í Òîõèðãîî
Îäîîãèéí FreeBSD-èéí rc.d-ã àãóóëäàã íü ïðîãðàìûí ýõë³³ëýõ òîõèðãîîã èë³³ õÿëáàð, áîëîìæòîé áîëãîñîí. rc.d õýñýãò õýëýëöñýí ò³ëõ³³ð ³ã³³äèéã àøèãëàí ïðîãðàìóóä æèøýý íü DNS çýðýã çàðèì ³éë÷èëãýýí³³äèéí äàðàà àæèëëàõààð òîõèðóóëàãäàæ áîëíî; ýõë³³ëýõ ñêðèïò³³äýä õàòóóãààð áè÷èãäñýí òóãóóäûí îðîíä rc.conf-îîð íýìýëò òóãóóäûã °ã°õèéã ç°âø°°ð÷ áîëîõ ãýõ ìýò. íäñýí ñêðèïò äàðààõ áàéäëààð õàðàãäàæ áîëíî: #!/bin/sh # # PROVIDE: utility # REQUIRE: DAEMON # KEYWORD: shutdown # # DO NOT CHANGE THESE DEFAULT VALUES HERE # SET THEM IN THE /etc/rc.conf FILE # utility_enable=${utility_enable-"NO"} utility_flags=${utility_flags-""}
314
Chapter 11 Òîõèðãîî áà Òààðóóëàëò utility_pidfile=${utility_pidfile-"/var/run/utility.pid"} . /etc/rc.subr name="utility" rcvar=‘set_rcvar‘ command="/usr/local/sbin/utility" load_rc_config $name pidfile="${utility_pidfile}"
start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args run_rc_command "$1"
Ýíý ñêðèïò íü °ã°ãäñ°í utility-ã daemon ³éë÷èëãýýíèé äàðàà àæèëëóóëàõààð òîõèðóóëàãäñàí. Ì°í PID, ýñâýë ïðîöåññèéí ID àéëûã çààõ áîëîí äàãàõ àðãûã áàñ õàíãàäàã. Ýíý ïðîãðàì äàðààõ ì°ðèéã /etc/rc.conf àéëä îðóóëæ áîëíî: utility_enable="YES"
Ýíýõ³³ àðãà íü òóøààëûí ì°ðèéí íýìýëò °ã°ãäë³³äèéã èë³³ õÿëáàðààð óäèðäàõ áîëîìæèéã ç°âø°°ðä°ã á°ã°°ä /etc/rc.subr äàõü àíõäàã÷ óíêöóóäûã îðóóëàõ, rcorder(8) õýðýãñýëòýé íèéöòýé áàéõ, áîëîí rc.conf àéëûí òóñëàìæòàé õÿëáàðààð òîõèðãîî õèéõ áîëîìæèéã áàñ õàíãàäàã. 11.5.2
éë÷èëãýýí³³äèéã ýõë³³ëýõèéí òóëä ³éë÷èëãýýí³³äèéã àøèãëàõ íü
POP3 ñåðâåð äýìîíóóä, IMAP çýðýã áóñàä ³éë÷èëãýýí³³ä inetd(8) àøèãëàí ýõýëæ áîëäîã. Ýíý íü
Ïîðòóóäûí Öóãëóóëãààñ /etc/inetd.conf àéëä íýìýãäýõ ì°ð á³õèé ýñâýë îäîîãèéí áàéãàà ì°ð³³äèéí íýãíýýñ òàéëáàðûã áîëèóëæ èäýâõæ³³ëäýã ³éë÷èëãýýíèé õýðýãñëèéã ñóóëãàñíààð õýðýãæäýã. inetd áîëîí ò³³íèé òîõèðãîîòîé àæèëëàõ òàëààð inetd õýñýãò ã³íçãèé òàéëáàðëàñàí áàéãàà áîëíî. Çàðèì òîõèîëäîëä cron(8) àøèãëàí ñèñòåìèéí ³éë÷èëãýýí³³äèéã ýõë³³ëýõ íü èë³³ àøèãòàé áàéæ áîëîõ þì. Ýíý àðãà íü õýä õýäýí äàâóó òàëóóäòàé á°ã°°ä ó÷èð íü cron ýäãýýð ïðîöåññóóäûã crontab-í àéëûí ýçýìøèã÷èéí ýðõýýð àæèëëóóëäàã. Ýíý íü åðäèéí õýðýãëýã÷äýä çàðèì ïðîãðàìóóäûã ýõë³³ëæ àæèëëàãààã õàíãàõ áîëîìæèéã îëãîäîã. cron õýðýãñýë @reboot ãýñýí áóñäàä áàéõã³é áîëîìæèéã îëãîäîã á°ã°°ä öàã õóãàöààã çààõ õýñýãò àøèãëàãäàõ áîëîìæòîé. Ýíý íü ñèñòåìèéã ýõë³³ëýõ ÿâöàä cron(8) ýõëýõ ³åä òóõàéí àæëûã àæèëëóóëäàã. 11.6 cron
õýðýãñëèéã òîõèðóóëàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. FreeBSD-èéí õàìãèéí àøèãòàé õýðýãñë³³äèéí íýã íü cron(8) þì. cron õýðýãñýë àðä àæèëëàäàã á°ã°°ä /etc/crontab àéëûã áàéíãà øàëãàæ áàéäàã. cron õýðýãñýë /var/cron/tabs ñàíãààñ øèíý crontab
315
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
àéëóóäûã áàñ øàëãàäàã. Ýäãýýð crontab àéëóóä íü òóñãàé óíêöóóäûã àãóóëäàã á°ã°°ä ýäãýýðèéã cron òîäîðõîé õóãàöààíä àæèëëóóëàõ ¼ñòîé áàéäàã. cron õýðýãñýë ñèñòåìèéí crontab áîëîí õýðýãëýã÷èéí crontab ãýñýí õî¼ð ò°ðëèéí òîõèðãîîíû àéëûã àøèãëàäàã. Ýíý õî¼ð õýëáýðøèëòèéí ç°âõ°í ÿëãàà íü çóðãàà äàõü òàëáàð þì. Ñèñòåìèéí crontab äýýðõ çóðãàà äàõü òàëáàð íü òóøààëûã àæèëëóóëàõ õýðýãëýã÷èéí íýð áàéäàã. Ýíý íü ñèñòåìèéí crontab-èéã ÿìàð ÷ õýðýãëýã÷èéí ýðõýýð òóøààëóóäûã àæèëëóóëàõ áîëîìæ îëãîäîã. Õýðýãëýã÷èéí crontab äýýðõ çóðãàà äàõü òàëáàð íü àæèëëóóëàõ òóøààë á°ã°°ä á³õ òóøààëóóä íü crontab-èéã ³³ñãýñýí õýðýãëýã÷èéí ýðõýýð àæèëëàäàã; ýíý íü àþóëã³é áàéäëûí íýã ÷óõàë áîëîìæ þì. Note: Õýðýãëýã÷èéí crontab-óóä íü õýðýãëýã÷äýä root ýðõèéí øààðäëàãàã³éãýýð áîäëîãóóäûã öàãèéí õóâààðèàð àæèëëóóëàõ áîëîìæ îëãîäîã. Õýðýãëýã÷èéí crontab äàõü òóøààëóóä íü crontab-èéã ýçýìøèæ áàéãàà õýðýãëýã÷èéí ýðõýýð àæèëëàäàã.
õýðýãëýã÷ áàñ áóñàä õýðýãëýã÷èéí íýãýí àäèë õýðýãëýã÷èéí crontab-òàé áàéæ áîëíî. Ýíý íü ààñ (ñèñòåìèéí crontab) °°ð áàéíà. Ñèñòåìèéí crontab áàéäàã ó÷ðààñ root õýðýãëýã÷èéí õóâüä èõýíõäýý õýðýãëýã÷èéí crontab øààðäëàãàã³é áàéäàã.
root /etc/crontab-
/etc/crontab
àéëûã (ñèñòåìèéí crontab) õàðöãààÿ:
# /etc/crontab - root’s crontab for FreeBSD # # $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ # ➊ # SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin ➋ HOME=/var/log # # #minute hour mday month wday who command ➌ # # */5 * * * * root /usr/libexec/atrun ➍
➊
➋
➌
FreeBSD-èéí èõýíõ òîõèðãîîíû àéëóóäûí àäèë # òýìäýãò òàéëáàðûã èëýðõèéëíý. Òàéëáàðûã
õ³ñýæ áàéãàà ³éëäýë íü þó áîëîõ ÿàãààä õèéãäýæ áàéãààã ñàíóóëàõ çîðèëãîîð àéëä òàâüæ áîëäîã. Òàéëáàðóóäûã òóøààë áàéãàà ì°ðä õèéæ áîëîõã³é á°ã°°ä èíãýñýí òîõèîëäîëä òóøààëûí õýñýã ìýòýýð îéëãîãäîíî; òýäãýýð íü øèíý ì°ð°íä áàéõ ¼ñòîé. Õîîñîí ì°ð³³äèéã òîîöîõã³é. Ýõëýýä îð÷èí òîäîðõîéëîãäîõ øààðäëàãàòàé. Òýíö³³ãèéí (=) òýìäýã îð÷íû òîõèðãîîã òîäîðõîéëîõîä àøèãëàãääàã á°ã°°ä ýíý æèøýýí äýýð SHELL,PATH, áîëîí HOME òîõèðóóëãóóäàä àøèãëàãäàæ áàéíà. Õýðýâ á³ðõ³³ëèéí ì°ðèéã îðõèñîí áîë cron àíõäàã÷ áîëîõ sh-èéã àøèãëàäàã. Õýðýâ PATH õóâüñàã÷èéã îðõèñîí áîë ÿìàð ÷ àíõäàã÷ àøèãëàãäàõã³é á°ã°°ä àéëûí áàéðëàëóóä àáñîëþò áàéõ õýðýãòýé. Õýðýâ HOME ì°ðèéã îðõèñîí áîë cron àæèëëóóëæ áàéãàà õýðýãëýã÷èéí ãýðèéí ñàíã àøèãëàäàã. Ýíý ì°ð íü íèéò äîëîîí òàëáàðûã òîäîðõîéëäîã. Ýíä æàãñààãäñàí óòãóóä íü minute, hour, mday, month, wday, who, áîëîí command þì. Ýäãýýðèéã íýðýýñ íü õàðàõàä îéëãîìæòîé. minute íü òóøààë àæèëëàõ ìèíóòààð èëýðõèéëýãäñýí õóãàöàà. hour íü minute-ûí àäèë òîõèðóóëãà á°ã°°ä öàãààð èëýðõèéëýãääýã. mday íü ñàðûí °äðèéã çààíà. month íü hour áîëîí minute-òàé àäèë á°ã°°ä ñàðûã 316
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
çààæ °ãí°. wday òîõèðóóëãà íü äîëîî õîíîãèéí °äðèéã çààíà. Ýäãýýð á³õ òàëáàðóóä íü òîîí óòãà áàéõ ¼ñòîé á°ã°°ä õîðèí ä°ðâ°í öàãèéã äàãàäàã. who òàëáàð íü òóñãàé á°ã°°ä ç°âõ°í /etc/crontab àéëä áàéäàã. Ýíý òàëáàð íü àëü õýðýãëýã÷èéí ýðõýýð òóøààë àæèëëàõûã çààäàã. Õýðýãëýã÷ °°ðèéí crontab àéëûã ñóóëãàõ ³åä ýíý òîõèðóóëãà áàéäàãã³é. Ýöýñò íü command òîõèðóóëãà æàãñààãääàã. Ýíý íü ñ³³ëèéí òàëáàð á°ã°°ä àæèëëóóëàõ òóøààëä çîðèóëàãäñàí áàéõ ¼ñòîé. ➍ Ýíý ñ³³ëèéí ì°ð íü äýýð äóðäñàí óòãóóäûã òîäîðõîéëäîã. Ýíä áèä õýä õýäýí * òýìäýãò³³ä äàðààëñàí */5 ãýñýí æàãñààëò áàéãààã àíçààðàõ õýðýãòýé. Ýäãýýð * òýìäýãò³³ä íü “ýõíèé-ýöñèéí” ãýñýí ³ã á°ã°°ä ³ðãýëæ ãýæ îéëãîãäîæ áîëíî. Òýãâýë ýíý ì°ð°°ñ ³çýõýä atrun òóøààë íü root ýðõýýð 5 ìèíóò òóòàì àëü °ä°ð ñàð áàéãààãààñ ³ë õàìààðàí àæèëëàíà. atrun òóøààëûí òàëààð äýëãýðýíã³é ìýäýýëëèéã atrun(8) ãàðûí àâëàãààñ ³çíý ³³. Òóøààëóóä òýäãýýðò °ã÷ áîëîõ äóðûí òîîíû òóãóóäòàé áàéæ áîëíî; ãýõäýý îëîí ì°ð áîëîí óðòàññàí òóøààëóóä óðàãøàà òàøóó “\” ³ðãýëæë³³ëýõ òýìäýãòýýð õóâààãäñàí áàéõ ¼ñòîé. Ýíý íü crontab àéë áîëãîíû õóâüä ³íäñýí òîõèðãîî áàéíà, ãýõäýý íýã ç³éë íü ³³íýýñ °°ð áàéíà. Õýðýãëýã÷èéã çààäàã çóðãàà äàõü òàëáàð íü ç°âõ°í ñèñòåìèéí /etc/crontab àéëä áàéíà. Ýíý òàëáàðûã õýðýãëýã÷èéí crontab àéëóóäûí õóâüä îðõèõ õýðýãòýé. 11.6.1 Crontab
ñóóëãàõ íü
Important: Òà ýíä òàéëáàðëàñàí ïðîöåäóðûã àøèãëàí ñèñòåìèéí crontab-èéã çàñàæ/ñóóëãàõ øààðäëàãàã³é. dzãýýð ë °°ðèéí äóðòàé çàñâàðëàã÷èéã àøèãëà: cron õýðýãñýë àéë °°ð÷ë°ãäñ°íèéã ìýäýýä òýð äàðóé øèíý÷ëýãäñýí õóâèëáàðûã àøèãëàæ ýõýëíý. Äýëãýðýíã³é ìýäýýëëèéã Ýíý ÁÕÀ-ûí îðóóëãààñ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/faq/admin.html#ROOT-NOT-FOUND-CRON-ERRORS) ³çíý ³³.
Õýðýãëýã÷èéí áè÷ñýí øèíý crontab àéëûã ñóóëãàõûí òóëä ýõëýýä °°ðèéí äóðòàé çàñâàðëàã÷èéã àøèãëààä ç°â õýëáýðøèëòòýé àéë ³³ñãýýä äàðàà íü crontab õýðýãñëèéã àøèãëà. Õàìãèéí èõ àøèãëàãääàã òóøààë áîë: % crontab crontab-file
Ýíý æèøýýí äýýðõ crontab-file íü óðä íü ³³ñãýãäñýí crontab-èéí àéëûí íýð þì. Ñóóëãàñàí crontab àéëóóäû㠳糳ëäýã òîõèðóóëãà áàñ áàéäàã: -l òîõèðóóëãûã crontab óðóó °ã÷ àæèëëóóëààä ãàðàõ ³ð ä³íã õàðààðàé. °ðèéí crontab àéëûã çàãâàð àøèãëàëã³éãýýð ýõíýýñ íü ýõë³³ëýõèéã õ³ññýí õýðýãëýã÷äýä çîðèóëñàí crontab -e òîõèðóóëãà áàéäàã. Ýíý íü ñîíãîñîí çàñâàðëàã÷èéã õîîñîí àéëòàé àæèëëóóëäàã. Ôàéë õàäãàëàãäñàíû äàðàà àâòîìàòààð crontab òóøààëààð ñóóëãàãääàã. Õýðýâ òà äàðàà íü °°ðèéí õýðýãëýã÷èéí crontab-èéã á³ð ì°ñ°í óñòãàõûã õ³ñâýë crontab-èéã -r òîõèðóóëãàòàé àøèãëààðàé.
317
11.7 FreeBSD
äýýð rc àøèãëàõ íü
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 2002 îíä FreeBSD ñèñòåìèéã ýõë³³ëýõýä çîðèóëæ NetBSD-èéí rc.d ñèñòåìèéã îðóóëñàí. Õýðýãëýã÷èä /etc/rc.d ñàí äîòîðõ àéëóóäûã àíçààðàõ õýðýãòýé. Ýäãýýð àéëóóäûí èõýíõ íü start, stop, áîëîí restart òîõèðóóëãóóäààð õÿíàãääàã ³íäñýí ³éë÷èëãýýí³³ä áàéäàã. Æèøýý íü sshd(8) íü äàðààõ òóøààëààð äàõèí ýõëýæ áîëíî: # /etc/rc.d/sshd restart
Ýíý ïðîöåäóð íü áóñàä ³éë÷èëãýýí³³äèéí àäèë þì. Ìýäýýæ ³éë÷èëãýýí³³ä èõýíõäýý àâòîìàòààð rc.conf(5)-ä çààñíààð à÷ààëàõ ³åä ýõýëäýã. Æèøýý íü ѳëæýýíèé Õàÿã Õ°ðâ³³ëýõ äýìîíã ýõëýõ ³åä àæèëëóóëàõààð íýýõ íü àìàðõàí á°ã°°ä /etc/rc.conf-ä äàðààõ ì°ðèéã íýìäýã: natd_enable="YES"
Õýðýâ natd_enable="NO" ì°ð àëü õýäèéí áàéâàë NO-èéã YES áîëãîæ °°ð÷ë°°ðýé. rc ñêðèïò³³ä °°ð áóñàä õàìààðàëòàé ³éë÷èëãýýí³³äèéã äàðààãèéí äàõèí à÷ààëàëòûí ³åýð äîîð òàéëáàðëàñíû äàãóó àâòîìàòààð à÷ààëäàã. rc.d ñèñòåì íü ³íäñýíäýý ñèñòåìèéí ýõëýõ/óíòðàõ ³åýð ³éë÷èëãýýí³³äèéã ýõë³³ëýõ/çîãñîîõ çîðèëãîòîé á°ã°°ä ñòàíäàðò start, stop áîëîí restart òîõèðóóëãóóä íü ç°âõ°í /etc/rc.conf-èéí õàðãàëçàõ õóâüñàã÷óóä çààãäñàí ³åä °°ðèéí ³éëäëèéã ã³éöýòãýäýã. Æèøýý íü äýýð äóðäñàí sshd restart òóøààë íü /etc/rc.conf-ä sshd_enable õóâüñàã÷ YES ãýñýí òîõèîëäîëä ç°âõ°í àæèëëàíà. /etc/rc.conf-ä áàéãàà òîõèðóóëãààñ ³ë õàìààðàí ³éë÷èëãýýã start, stop ýñâýë restart õèéõèéí òóëä òóøààëóóä “one” óãòâàðòàé áàéõ øààðäëàãàòàé. Æèøýý íü sshd-ã /etc/rc.conf äàõü òîõèðãîîíîîñ ³ë õàìààðàí äàõèí ýõë³³ëýõäýý äàðààõ òóøààëûã àøèãëàíà: # /etc/rc.d/sshd onerestart
Òîõèðîõ rc.d ñêðèïòèéã rcvar òîõèðóóëãàòàé àæèëëóóëæ /etc/rc.conf-ä ³éë÷èëãýý íýýãäñýí ýñýõèéã àìàðõàí øàëãàäàã. Òèéìýýñ àäìèíèñòðàòîð sshd-ã /etc/rc.conf-ä íýýãäñýí ýñýõèéã äàðààõ òóøààëûã àæèëëóóëæ øàëãàæ áîëíî: # /etc/rc.d/sshd rcvar
# sshd $sshd_enable=YES Note: Õî¼ð äàõü ì°ð (# sshd) íü root êîíñîëûíõ áèø sshd òóøààëûí ãàðãàñàí ³ð ä³í þì.
éë÷èëãýýã àæèëëàõ áàéãàà ýñýõèéã øàëãàõ status òîõèðóóëãà áàéäàã. Æèøýý íü sshd ýõýëñýí ýñýõèéã øàëãàõäàà: # /etc/rc.d/sshd status
sshd is running as pid 433.
Çàðèì òîõèîëäîëä ³éë÷èëãýýã reload õèéõ áàñ áîëîìæòîé áàéäàã. Ýíý íü ³éë÷èëãýýã °°ðèéí òîõèðãîîíû àéëóóäûã äàõèí óíøèõûã çààæ ³éë÷èëãýý óðóó äîõèî øèäýõèéã îðîëääîã. Èõýíõ
318
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
òîõèîëäîëä ýíý íü ³éë÷èëãýý óðóó SIGHUP äîõèî øèäíý ãýñýí ³ã þì. éë÷èëãýý áîëãîíä ýíý áîëîìæèéí äýìæëýã áàéäàãã³é. rc.d ñèñòåì íü ç°âõ°í ñ³ëæýýíèé ³éë÷èëãýýíä àøèãëàãäààä çîãñîõã³é ì°í ñèñòåìèéí ýõë³³ëýëòýä áàñ èõýýõýí õóâü íýìýð îðóóëäàã. Æèøýý íü bgfsck àéëûã àâ÷ ³çüå. Ýíý ñêðèïò àæèëëàõàä äàðààõ ìýäýýëëèéã õýâëýæ ãàðãàíà: Starting background file system checks in 60 seconds.
Òèéìýýñ ýíý àéëûã ç°âõ°í ñèñòåìèéã ýõë³³ëýõ ³åä àéëûí ñèñòåìèéí àðûí øàëãàëòûã õèéõýä õýðýãëýäýã. Ñèñòåìèéí îëîí ³éë÷èëãýýí³³ä ç°â àæèëëàõûí òóëä áóñàä ³éë÷èëãýýí³³äýýñ õàìààðäàã. Æèøýý íü NIS áîëîí áóñàä RPC äýýð òóëãóóðëàñàí ³éë÷èëãýýí³³ä rpcbind (portmapper) ³éë÷èëãýý àæèëëàõààñ íààø àìæèëòòàé àæèëëàäàãã³é. ³íèéã øèéäýõèéí òóëä õàìààðëóóäûí òóõàé áîëîí áóñàä ìåòà-°ã°ãäëèéí òóõàé ìýäýýëëèéã ýõë³³ëýõ ñêðèïò á³ðèéí äýýä õýñýãò òàéëáàðààð îðóóëñàí áàéäàã. rcorder(8) ïðîãðàì õàìààðëóóäûã õàíãàæ ñèñòåìèéí ³éë÷èëãýýí³³äèéã ÿìàð äàðààëëààð àæèëëóóëàõ ¼ñòîéã òîãòîîõûí òóëä ýäãýýð òàéëáàðóóäûã óíøäàã. Äàðààõ ³ãí³³äèéã á³õ ýõë³³ëýõ ñêðèïòýä îðóóëàõ ¼ñòîé (Ýäãýýð íü ýõë³³ëýõ ñêðèïòèéã “èäýâõæ³³ëýõ”ýä rc.subr(8)-ä øààðäëàãàòàé áàéäàã): Ýíý àéëûí õàíãàæ áàéãàà ³éë÷èëãýýí³³äèéã çààíà. Äàðààõ ³ãí³³äèéã ýõë³³ëýõ ñêðèïò á³ðèéí ýõýíä îðóóëæ áîëíî. Ýäãýýð íü çààâàë øààðäëàãàòàé áèø áîëîâ÷ rcorder(8)-ä òóñ ä°õ°ì áîëîõ àøèãòàé áàéäàã:
• PROVIDE:
Ýíý ³éë÷èëãýýíä øààðäëàãàòàé ³éë÷èëãýýí³³äèéã æàãñààíà. Ýíý àéë çààãäñàí ³éë÷èëãýýí³³äèéí äàðàà àæèëëàíà. • BEFORE: Ýíý ³éë÷èëãýýíýýñ õàìààðàëòàé ³éë÷èëãýýí³³äèéã æàãñààíà. Ýíý àéë çààãäñàí ³éë÷èëãýýí³³äèéí °ìí° àæèëëàíà. Ýäãýýð ò³ëõ³³ð ³ãí³³äèéã ýõë³³ëýõ ñêðèïò áîëãîíä áîëãîîìæòîéãîîð òîõèðóóëæ °ãñí°°ð áóñàä çàðèì UNIX ³éëäëèéí ñèñòåì³³ä øèã “àæèëëàõ ò³âøèíã³³äòýé (runlevels)” çóóðàëäàëã³éãýýð ñêðèïò³³äèéí ýõëýõ äàðààëëûã ìàø ñàéí õÿíàõ áîëîìæèéã àäìèíèñòðàòîðò áèé áîëãîõ þì. rc.d ñèñòåìèéí òàëààð íýìýëò ìýäýýëëèéã rc(8) áîëîí rc.subr(8) ãàðûí àâëàãûí õóóäàñíóóäààñ îëæ áîëíî. Õýðýâ òà °°ðèéí rc.d ñêðèïò³³ä áè÷èõ ýñâýë áàéãààãàà ñàéæðóóëàõûã ñîíèðõîæ áàéãàà áîë òàíä áàñ ýíý íèéòëýë (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/rc-scripting) õýðýãòýé áàéæ áîëîõ þì.
• REQUIRE:
11.8
ѳëæýýíèé èíòåðýéñ êàðòóóä ñóóëãàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ôîíâèë. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. í°°ä°ð áèä ñ³ëæýýíèé õîëáîëòã³é êîìïüþòåðèéí òàëààð áîäîõ ÷ àðãàã³é áîëñîí áèëýý. ѳëæýýíèé êàðòûã íýìæ òîõèðóóëàõ íü FreeBSD-èéí äóðûí àäìèíèñòðàòîðûí åðäèéí àæèë áîëäîã. 11.8.1
Òîõèðîõ äðàéâåðèéã îëîõ íü
Ýõëýõýýñýý °ìí° òà °°ðò áàéãàà êàðòûíõàà çàãâàð, ò³³íä àøèãëàñàí áè÷èë ñõåì áîëîí PCI ýñâýë ISA êàðòûí àëü íü ýñýõèéã ìýäýõ øààðäëàãàòàé. FreeBSD °ðã°í ò°ðëèéí PCI áîëîí ISA êàðòóóäûã 319
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
äýìæäýã. Òàíû êàðò òàíû àøèãëàõ õóâèëáàð äýýð äýìæèãäñýí ýñýõèéã Òîíîã Ò°õ°°ð°ìæèéí Íèéöòýé Áàéäëûí Æàãñààëòààñ øàëãààðàé. Òàíû êàðò äýìæèãäñýíèéã ìýäñýíèé äàðàà òà °°ðèéí êàðòàíä òîõèðîõ äðàéâåðàà òîäîðõîéëîõ õýðýãòýé. /usr/src/sys/conf/NOTES áîëîí /usr/src/sys/arch/conf/NOTES íü ñ³ëæýýíèé èíòåðýéñ äðàéâåðóóäûí æàãñààëòûã äýìæèãäñýí áè÷èë ñõåì/êàðòóóäûí òóõàé çàðèì ìýäýýëëèéí õàìòààð òàíä °ã°õ áîëíî. Õýðýâ òà àëü äðàéâåð íü ç°â ýñýõýä ýðãýëçýæ áàéãàà áîë äðàéâåðèéí ãàðûí àâëàãûí õóóäñûã óíøààðàé. àðûí àâëàãûí õóóäàñ íü äýìæèãäñýí òîíîã ò°õ°°ð°ìæ áîëîí á³ð ó÷èð÷ áîëçîøã³é àñóóäëóóäûí òóõàé äýëãýðýíã³é ìýäýýëëèéã °ãä°ã. Õýðýâ òà åðäèéí êàðòòàé áîë èõýíõäýý äðàéâåðèéã õè÷ýýíã³éëýí õàéõ øààðäëàãàã³é þì. Åðäèéí ñ³ëæýýíèé êàðòóóäàä çîðèóëñàí äðàéâåðóóä íü GENERIC ö°ìä áàéäàã, òýãýõýýð òàíû êàðò à÷ààëàõ ÿâöàä èéìýðõ³³ õàðàãäàõ ¼ñòîé: dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38 000ff irq 15 at device 11.0 on pci0 dc0: Ethernet address: 00:a0:cc:da:da:da miibus0: <MII bus> on dc0 ukphy0: on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30 000ff irq 11 at device 12.0 on pci0 dc1: Ethernet address: 00:a0:cc:da:da:db miibus1: <MII bus> on dc1 ukphy1: on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Ýíý æèøýýí äýýð ñèñòåì äýýð áàéãàà õî¼ð êàðò dc(4) äðàéâåðèéã àøèãëàæ áàéãààã áèä õàðæ áàéíà. Õýðýâ òàíû NIC-ä (Network Interface Card áóþó ѳëæýýíèé Èíòåðýéñ Êàðò) çîðèóëñàí äðàéâåð GENERIC-ä áàéõã³é áîë òà °°ðèéí NIC-ã àøèãëàõûí òóëä òîõèðîõ äðàéâåðèéã à÷ààëàõ õýðýãòýé. Èíãýõèéí òóëä õî¼ð àðãûí àëü íýãèéã àøèãëàíà: •
•
Õàìãèéí àìàðõàí àðãà íü åðä°° ë °°ðèéí ñ³ëæýýíèé êàðòàíä çîðèóëñàí ö°ìèéí ìîäóëèéã kldload(8) àøèãëàí ýñâýë òîõèðîõ ì°ðèéã /boot/loader.conf-ä íýìæ à÷ààëàõ ³åä àâòîìàòààð à÷ààëàõ þì. Á³õ NIC äðàéâåðóóä ìîäóëü õýëáýðýýð áàéäàãã³é; ìîäóëèóä íü áàéäàãã³é ò°õ°°ð°ìæ³³äèéí äóðäàæ áîëîõ æèøýýí³³ä ãýâýë ISA êàðòóóä þì. °ð íýã àðãà íü òà °°ðèéí êàðòûí äýìæëýãèéã ö°ìä îðóóëàí ñòàòèêààð õ°ðâ³³ëæ áîëîõ þì. °ðèéí ö°ìèéí òîõèðãîîíû àéëä þó íýìýõ ¼ñòîéã ìýäýõèéí òóëä /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES áîëîí äðàéâåðèéí ãàðûí àâëàãûí õóóäñûã øàëãààðàé. Ö°ìèéã äàõèí õ°ðâ³³ëýõ òàëààð äýëãýðýíã³é ìýäýýëëèéã Chapter 8-ñ ³çíý ³³. Õýðýâ òàíû êàðòûã òàíû ö°ì (GENERIC) à÷ààëàõ ÿâöàä èëð³³ëñýí áîë òà øèíý ö°ì á³òýýõ øààðäëàãàã³é.
11.8.1.1 Windows-èéí NDIS äðàéâåðóóäûã àøèãëàõ íü
Õàðàìñàëòàé íü °°ðèéí äðàéâåðóóäàä çîðèóëñàí ñõåì³³äèéã íýýëòòýé ýõèéí õ³ðýýíèéõýíä °ãä°ãã³é, òèéì ìýäýýëëèéã õóäàëäààíû íóóö ãýæ ³çäýã îëîí ³éëäâýðëýã÷èä áàéñààð áàéíà. Èíãýñíýýð FreeBSD áîëîí °°ð ³éëäëèéí ñèñòåì³³äèéí õ°ãæ³³ëýã÷äýä õî¼ð ñîíãîëò ³ëäñýí: áóöààõ èíæåíåð÷ëýëèéí õ³íä õýö³³, óðò õóãàöààíû ïðîöåññèéã òóóëæ äðàéâåðóóäûã õ°ãæ³³ëýõ ýñâýë Microsoft Windows òàâöàíãóóäàä áàéäàã õî¼ðòûí õýëáýðèéí äðàéâåðóóäûã àøèãëàõ àðãà çàìóóä þì. FreeBSD-òýé õîëáîãäñîí çýðýã èõýíõ õ°ãæ³³ëýã÷èä ñ³³ëèéí õàíäëàãûã àâ÷ àøèãëàäàã.
320
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Áèëë Ïîëûí (wpaul) îðóóëñàí õóâü íýìðèéí à÷ààð FreeBSD 5.3-RELEASE-ñ ýõëýýä ѳëæýýíèé Äðàéâåðèéí Èíòåðýéñèéí Òîäîðõîéëîëòûí (NDIS) “ýõ (native)” äýìæëýã îðäîã áîëñîí. FreeBSD NDISulator (°°ð°°ð ×°òã°ð Ò°ñ°ë) Windows õî¼ðòûí äðàéâåðèéã àâààä åð°íõèéä°° ò³³íèéã Windows äýýð àæèëëàæ áàéãàà ìýòýýð õóóðäàã. ndis(4) äðàéâåð íü Windows õî¼ðòûí àéë àøèãëàæ áàéãàà ó÷ðààñ ýíý íü ç°âõ°í i386 áîëîí amd64 ñèñòåì³³ä äýýð õýðýãëýãäýõ áîëîìæòîé. Note: ndis(4) äðàéâåð ãîë÷ëîí PCI, CardBus áîëîí PCMCIA ò°õ°°ð°ìæ³³äèéã îäîîãîîð USB ò°õ°°ð°ìæ³³äèéí äýìæëýã õèéãäýýã³é.
äýìæèõýýð õèéãäñýí á°ã°°ä
NDISulator àøèãëàõûí òóëä òàíä 3 ç³éë õýðýãòýé: 1. Ö°ìèéí ýõ³³ä
2. Windows XP äðàéâåðèéí õî¼ðòûí àéë (.SYS °ðã°òã°ë)
3. Windows XP äðàéâåðèéí òîõèðãîîíû àéë (.INF °ðã°òã°ë)
Òà °°ðèéí êàðòàä çîðèóëñàí àéëóóäûã îëîîðîé. Åð°íõèéä°° òýäãýýðèéã õàâñàðãàñàí CD-³³ä ýñâýë ³éëäâýðëýã÷³³äèéí âýá õóóäàñíààñ îëæ áîëíî. Äàðààõ æèøýýí³³äýä áèä W32DRIVER.SYS áîëîí W32DRIVER.INF àéëóóäûã àøèãëàõ áîëíî. Note: Òà Windows/i386 äðàéâåðèéã FreeBSD/amd64 äýýð àøèãëàæ ÷àäàõã³é, ç°â àæèëëóóëàõûí òóëä Windows/amd64 äðàéâåð çààâàë îëîõ øààðäëàãàòàé.
Äàðààãèéí àëõàìä äðàéâåðèéí õî¼ðòûí àéëûã ö°ìèéí à÷ààëæ áîëîõ ìîäóëü áîëãîí õ°ðâ³³ëíý. ³íèéã õèéõèéí òóëä root ýðõýýð ndisgen(8)-ã õýðýãëýíý: # ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
ndisgen(8) õýðýãñýë íü èíòåðàêòèâ á°ã°°ä øààðäëàãàòàé íýìýëò ìýäýýëëèéã àñóóäàã; ýíý íü îäîî áàéãàà ñàíä ö°ìèéí ìîäóëü ³³ñãýõ á°ã°°ä äàðààõ ìàÿãààð à÷ààëæ áîëíî: # kldload ./W32DRIVER.ko
³ñãýãäñýí ö°ìèéí ìîäóëèàñ ãàäíà òà ndis.ko áîëîí if_ndis.ko ìîäóëèóäûã à÷ààëàõ õýðýãòýé. Ýíý íü òàíûã ndis(4)-ýýñ õàìààðñàí äóðûí ìîäóëèéã à÷ààëàõ ³åä àâòîìàòààð õèéãäýõ ¼ñòîé. Õýðýâ òà òýäãýýðèéã ãàðààð à÷ààëàõûã õ³ñâýë äàðààõ òóøààëûã àøèãëààðàé: # kldload ndis # kldload if_ndis
Ýõíèé òóøààë íü NDIS ìèíèïîðò äðàéâåð äóãòóéëàã÷èéã à÷ààëàõ á°ã°°ä õî¼ð äàõü íü ÿã ñ³ëæýýíèé èíòåðýéñèéã à÷ààëíà. Îäîî dmesg(8)-èéã øàëãàæ à÷ààëàõàä àëäàà áàéãàà ýñýõèéã ³çýõ õýðýãòýé. Á³ãä ñàéí áîëæ °íã°ðñ°í áîë òà äàðààõ ³ð ä³íã õàðàõ ¼ñòîé: ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 ndis0: NDIS API version: 5.0 ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
321
Chapter 11 Òîõèðãîî áà Òààðóóëàëò ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
Ýíäýýñ ýõëýýä òà ndis0 ò°õ°°ð°ìæèä °°ð áóñàä ñ³ëæýýíèé èíòåðýéñèéí (°°ð°°ð õýëáýë dc0) íýãýí àäèëààð õàíäàõ áîëîìæòîé áîëîõ þì. Òà áóñàä ìîäóëèóäòàé àäèëààð NDIS ìîäóëèóäûã à÷ààëàõ ÿâöàä à÷ààëàõààð ñèñòåìèéã òîõèðóóëæ áîëíî. Ýõëýýä ³³ñãýãäñýí ìîäóëü W32DRIVER.ko-ã /boot/modules óðóó õóóëàõ õýðýãòýé. Òýãýýä äàðààõ ì°ðèéã /boot/loader.conf-ä íýìíý: W32DRIVER_load="YES"
11.8.2
ѳëæýýíèé êàðò òîõèðóóëàõ íü
ѳëæýýíèé êàðòàíä çîðèóëñàí ç°â äðàéâåð à÷ààëàãäñàíû äàðàà êàðòûã òîõèðóóëàõ øààðäëàãàòàé. Áóñàä îëîí ç³éëñèéí àäèë ñ³ëæýýíèé êàðò íü sysinstall ïðîãðàìààð ñóóëãàõ ÿâöàä òîõèðóóëàãäàæ áîëíî. Òàíû ñèñòåìèéí ñ³ëæýýíèé èíòåðýéñ³³äýä çîðèóëñàí òîõèðãîîã õàðóóëàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: % ifconfig
dc0: flags=8843 mtu 1500 inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:a0:cc:da:da:da media: Ethernet autoselect (100baseTX ) status: active dc1: flags=8843 mtu 1500 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255 ether 00:a0:cc:da:da:db media: Ethernet 10baseT/UTP status: no carrier lp0: flags=8810 mtu 1500 lo0: flags=8049 mtu 16384 inet 127.0.0.1 netmask 0xff000000 tun0: flags=8010 mtu 1500 Note: FreeBSD-èéí õóó÷èí õóâèëáàðóóä -a òîõèðóóëãûã ifconfig(8)-èéí àðààñ çàëãàõûã øààðäàæ áîëîõ á°ã°°ä ifconfig(8)-èéí ç°â ñèíòàêñûí äýëãýðýíã³é ìýäýýëëèéí òàëààð ãàðûí àâëàãûí õóóäñàíä õàíäàíà óó. Ýíý æèøýýí äýýð IPv6-òàé (inet6 ãýõ ìýò.) õîëáîîòîé îðóóëãóóä îðõèãäñîí áîëîõûã àíõààðíà óó.
Ýíý æèøýýí äýýð äàðààõ ò°õ°°ð°ìæ³³äèéã õàðóóëñàí: Ýõíèé Ethernet èíòåðýéñ dc1: Õî¼ðäóãààð Ethernet èíòåðýéñ lp0: Ïàðàëëåë ïîðò èíòåðýéñ lo0: Áóöàæ ýðãýõ ò°õ°°ð°ìæ
• dc0: • • •
322
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Òóííåëü ò°õ°°ð°ìæ íü ppp-ä àøèãëàãäàíà. FreeBSD íü äðàéâåðèéí íýð äýýð ö°ìèéí à÷ààëàõ ÿâöàä êàðòóóä ÿìàð äàðààëëààð èëð³³ëýãäñýí òýð äàðààëëûí òîîã íýìæ ñ³ëæýýíèé êàðòûã íýðëýäýã. Æèøýý íü sis2 íü ñèñòåì äýýðõ sis(4) äðàéâåð àøèãëàæ áàéãàà 3 äàõü ñ³ëæýýíèé êàðò áàéæ áîëîõ þì. Ýíý æèøýýí äýýð dc0 ò°õ°°ð°ìæ áîñîí àæèëëàæ áàéíà. Ò³ëõ³³ð èíäèêàòîðóóä íü: • tun0:
1. UP íü êàðòûí òîõèðãîî õèéãäýæ áýëýí áîëñíûã èëýðõèéëíý.
2. Êàðò íü Èíòåðíýò (inet) õàÿãòàé (ýíý òîõèîëäîëä 192.168.1.3).
3. Ýíý íü ç°â äýä ñ³ëæýýíèé áàãòàé (netmask; 0xffffff00 íü 255.255.255.0 àäèë). 4. Ýíý íü ç°â íèéòýä öàöàõ õàÿãòàé (ýíý òîõèîëäîëä 192.168.1.255).
5. Êàðòíû MAC (ether) õàÿã íü 00:a0:cc:da:da:da áàéíà.
6. Ôèçèê ç°°ã÷èéí ñîíãîëò íü àâòîìàò ñîíãîëòûí ãîðèì äýýð áàéíà (media: Ethernet autoselect (100baseTX )). dc1 íü 10baseT/UTP ç°°ã÷òýé àæèëëàõààð òîõèðóóëàãäñàí áàéãààã áèä õàðæ áîëíî. Áàéæ áîëîõ ç°°ã÷èéí ò°ðë³³äèéí òóõàé äýëãýðýíã³é ìýäýýëëèéí òàëààð °°ðèéíõ íü ãàðûí àâëàãûí õóóäñàíä õàíäàæ ³çíý ³³.
7. Õîëáîëòûí (status) ò°ë°â íü active áóþó èäýâõòýé áàéíà, °°ð°°ð õýëáýë äàìæóóëàã÷ èëýðñýí áàéíà. dc1-èéí õóâüä áèä status: no carrier áóþó äàìæóóëàã÷ áàéõã³éã õàðæ áîëíî. Ýíý íü Ethernet êàáåëü êàðòàíä çàëãàãäààã³é áàéõ ³åä õýâèéí áàéíà.
Õýðýâ ifconfig(8)-èéí ³ð ä³í äàðààõ ìàÿãòàé ò°ñòýé áàéâàë:
dc0: flags=8843 mtu 1500 ether 00:a0:cc:da:da:da
Ýíý íü êàðò òîõèðóóëàãäààã³éã èëýðõèéëíý. Êàðòàà òîõèðóóëàõûí òóëä òàíä root ç°âø°°ðë³³ä õýðýãòýé. ѳëæýýíèé êàðòûí òîõèðóóëãóóä òóøààëûí ì°ð°°ñ ifconfig(8)-ð õèéãäýõ áîëîìæòîé, ãýõäýý òà ñèñòåìèéã äàõèí à÷ààëñàí áîëãîíûõîî äàðàà ³³íèéã õèéõ õýðýãòýé áîëíî. /etc/rc.conf àéë íü ñ³ëæýýíèé êàðòûí òîõèðãîîã íýìýõ ãàçàð þì. /etc/rc.conf-èéã °°ðèéí äóðòàé çàñâàðëàã÷ äýýð íýýãýýðýé. Ñèñòåì äýýðõ ñ³ëæýýíèé êàðò á³ðèéí õóâüä ì°ð íýìýõ õýðýãòýé, ìàíàé æèøýýí äýýð áèä ýäãýýð ì°ð³³äèéã íýìñýí: ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0" ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
Òà dc0, dc1 áîëîí áóñäóóäûã °°ðèéí êàðòóóäàä çîðèóëñàí ò°õ°°ð°ìæ°°ð °°ð÷ë°õ áîëîí õàÿãóóäûã ç°â°°ð ñîëèõ õýðýãòýé. Ç°âø°°ð°ãäñ°í òîõèðóóëãóóäûí òàëààð äýëãýðýíã³éã êàðòûí äðàéâåð áîëîí ifconfig(8)-èéí ãàðûí àâëàãûí õóóäàñíóóäààñ, áàñ rc.conf(5) ãàðûí àâëàãûí õóóäàñíààñ /etc/rc.conf-èéí ñèíòàêñûí òóõàé äýëãýðýíã³é ìýäýýëëèéã óíøèõ õýðýãòýé. Õýðýâ òà ñóóëãàõ ÿâöàä ñ³ëæýýã òîõèðóóëñàí áîë ñ³ëæýýíèé êàðò(óóä)ûí òàëààð çàðèì ì°ð³³ä àëü õýäèéí áàéæ áîëîõ þì. Ì°ð³³ä íýìýõýýñýý °ìí° /etc/rc.conf-èéã äàõèí øàëãààðàé. Ì°í òà LAN äàõü ò°ð°ë á³ðèéí ìàøèíóóäûí íýð³³ä áîëîí IP õàÿãóóä /etc/hosts àéëä áàéõã³é áîë òýäãýýðèéã íýìæ çàñâàðëàõ øààðäëàãàòàé. Äýëãýðýíã³é ìýäýýëëèéí òàëààð hosts(5) áîëîí /usr/share/examples/etc/hosts àéëä õàíäàíà óó.
323
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
11.8.3
Òåñò õèéõ áîëîí àëäààã îëæ çàñâàðëàõ íü
ä õýðýãöýýòýé °°ð÷ë°ëò³³äèéã õèéñíèéõýý äàðàà òà ñèñòåìýý äàõèí à÷ààëàõ øààðäëàãàòàé. Èíãýñíýýð èíòåðýéñ(³³ä)ýä õèéãäýõ °°ð÷ë°ëò(³³ä)èéã ç°âø°°ð°õ á°ã°°ä ÿìàð íýã òîõèðãîîíû àëäààã³éãýýð ñèñòåì à÷ààëæ áàéãàà ýñýõèéã øàëãàäàã. Ñèñòåì äàõèí à÷ààëàãäñàíû äàðàà òà ñ³ëæýýíèé èíòåðýéñ³³äýý òåñò õèéõ õýðýãòýé. /etc/rc.conf-
11.8.3.1 Ethernet êàðò òåñò õèéõ íü
Ethernet êàðò ç°â òîõèðóóëàãäñàíûã øàëãàõäàà òà 2 ç³éëèéã îðîëäîõ õýðýãòýé. Ýõëýýä èíòåðýéñ óðóó °°ð óðóó íü ping õèéãýýä äàðàà íü LAN äàõü °°ð ìàøèí óðóó ping õèéõ õýðýãòýé.
Ýõëýýä ëîêàë èíòåðýéñèéã òåñò õèéíý:
% ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes 64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076
ms ms ms ms ms
--- 192.168.1.3 ping statistics --5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms
Îäîî áèä LAN äàõü °°ð ìàøèí óðóó ping õèéõ õýðýãòýé: % ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704
ms ms ms ms ms
--- 192.168.1.2 ping statistics --5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms
Õýðýâ òà /etc/hosts àéëûã òîõèðóóëñàí áîë 192.168.1.2-èéí îðîíä ìàøèíû íýðèéã áàñ àøèãëàæ áîëîõ áîëîõ þì. 11.8.3.2 Àëäààã îëæ çàñâàðëàõ íü
Òîíîã ò°õ°°ð°ìæ áîëîí ïðîãðàì õàíãàìæèéí òîõèðãîîíóóäûí àëäààã îëæ çàñâàðëàõ íü ³ðãýëæ çîâëîí áàéäàã á°ã°°ä çîâëîíã ýíãèéí ç³éë³³äèéã ýõëýýä øàëãàñíààð áàãàñãàõ áîëîìæòîé. Òàíû ñ³ëæýýíèé êàáåëü õîëáîãäñîí óó? ѳëæýýíèé ³éë÷èëãýýí³³äýý ç°â òîõèðóóëñàí óó? àëò õàíàà ç°â òîõèðóóëñàí óó? Òàíû õýðýãëýæ áàéãàà êàðòûã FreeBSD äýìæäýã ³³? Àëäààíû òàéëàíã ÿâóóëàõààñàà °ìí° òîíîã ò°õ°°ð°ìæèéí òýìäýãëýëèéã çààâàë øàëãàõ õýðýãòýé. °ðèéí FreeBSD-èéí õóâèëáàðûã õàìãèéí ñ³³ëèéí STABLE õóâèëáàð óðóó øèíý÷ëýýðýé. Çàõèäëûí æàãñààëòûí àðõèâóóä øàëãàõ áóþó ýñâýë Èíòåðíåòýýñ õàéãààðàé. 324
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Õýðýâ êàðò àæèëëàñàí ì°ðòë°° àæèëëàãàà ìóó áîë tuning(7) ãàðûí àâëàãûí õóóäñûã óíøèõ íü ç³éòýé þì. Ì°í áóðóó ñ³ëæýýíèé òîõèðãîîíóóä óäààí õîëáîëòûí øàëòãààí áîëäîã ó÷èð òà ñ³ëæýýíèé òîõèðãîîã áàñ øàëãàæ áîëîõ þì. Çàðèì õýðýãëýã÷èä ãàíö õî¼ð “device timeout” ìýäýýëýëòýé òóëãàð÷ áîëîõ á°ã°°ä ýíý íü çàðèì êàðòóóäûí õóâüä õýâèéí þì. Õýðýâ ýíý íü ³ðãýëæëýýä ýñâýë øàíàëãààòàé áîëîîä ýõýëáýë óã ò°õ°°ð°ìæ °°ð áóñàä ò°õ°°ð°ìæòýé ç°ð÷èëä°æ áàéãàà ýñýõèéã òà ìàãàäã³é øàëãàõûã õ³ñýõ áàéõ. Êàáåëèéí õîëáîëòóóäûã äàõèí øàëãààðàé. Ìàãàäã³é òàíä °°ð íýã êàðò õýðýãòýé áàéæ áîëîõ þì. Õýðýãëýã÷èä çàðèì ³åä ö°°í “watchdog timeout” ãýñýí àëäààíóóä õàðäàã. Èéì ³åä ýõëýýä õèéõ þì íü ñ³ëæýýíèé êàáåëèéã øàëãàíà. Îëîí êàðòóóä Bus Mastering äýìæäýã PCI îðîëòûã øààðääàã. Çàðèì íýã ýõ õàâòàíãóóäàä ³³íèéã ç°âõ°í íýã PCI îðîëò ç°âø°°ðä°ã (èõýíõäýý 0-ð îðîëò). Ýíý íü àñóóäàë áàéæ áîëîõ ýñýõèéã ñ³ëæýýíèé êàðò áîëîí ýõ õàâòàíãèéí áàðèìòààñ øàëãààðàé. Ñèñòåì ïàêåòèéã çîðüñîí ãàçàð íü ÷èãë³³ëæ ÷àäàõã³é òîõèîëäîëä “No route to host” ìýäýýëë³³ä ãàðäàã. Ýíý íü àíõäàã÷ ÷èãë³³ëýëò çààãààã³é òîõèîëäîëä ýñâýë êàáåëü ñàëãàãäñàí áîë ãàðäàã. netstat -rn òóøààëûí ³ð ä³íã ³çýýä òàíû õ³ðýõèéã îðîëäîæ áàéãàà òýð õîñò óðóó ÷èíü ç°â ÷èãë³³ëýëò áàéãàà ýñýõèéã øàëãààðàé. Õýðýâ áàéõã³é áîë Chapter 31-ã óíøààðàé. “ping: sendto: Permission denied” àëäààíû ìýäýýëë³³ä íü áóðóó òîõèðóóëñàí ãàëò õàíààñ èõýâ÷ëýí áîëäîã. Õýðýâ ipfw íü ö°ìä èäýâõæñýí á°ã°°ä ÿìàð ÷ ä³ðýì òîäîðõîéëîãäîîã³é áîë àíõäàã÷ áîäëîãî íü á³õ òðàèêèéã á³ð ping õ³ñýëòèéã õ³ðòýë òàòãàëçàí õààäàã! Äýëãýðýíã³éã Chapter 30-ñ óíøèíà óó. Çàðèìäàà êàðòûí àæèëëàãàà ìóó ýñâýë äóíäæààñ äîîãóóð áàéäàã. Ýäãýýð òîõèîëäîëä ç°°ã÷ ñîíãîëòûí ãîðèìûã autoselect ãîðèìîîñ ç°â ç°°ã÷èéí ñîíãîëò óðóó áîëãîæ òààðóóëàõ íü øèëäýã àðãà þì. Ýíý íü èõýíõ òîíîã ò°õ°°ð°ìæèéí õóâüä èõýâ÷ëýí àæèëëàõ áîëîâ÷ õ³í áîëãîíû õóâüä áàéãàà èéì àñóóäëûã øèéäýõã³é ÷ áàéæ áîëîõ þì. Äàõèí õýëýõýä á³õ ñ³ëæýýíèé òîõèðãîîíóóäûã øàëãàæ tuning(7) ãàðûí àâëàãûí õóóäñûã óíøààðàé.
11.9
Âèðòóàë Õîñòóóä
FreeBSD-èéí õàìãèéí ò³ãýýìýë õýðýãëýý áîë íýã ñåðâåð ñ³ëæýýí äýýð îëîí ñåðâåð ìýòýýð àæèëëàõ âèðòóàë ñàéò õîñò õèéõ áîëîìæ þì. ³íèéã íýã èíòåðýéñ äýýð îëîí ñ³ëæýýíèé õàÿãóóä òàâüæ õèéäýã.
ã°ãäñ°í ñ³ëæýýíèé èíòåðýéñ íü íýã “æèíõýíý” õàÿãòàé á°ã°°ä äóðûí òîîíû “°°ð(alias)” õàÿãóóäòàé áàéæ áîëîõ þì. Ýäãýýð °°ð õàÿãóóäûã èõýíõäýý /etc/rc.conf-ä òîõèðîõ õàÿãèéí îðóóëãóóäûã îðóóëàí íýìæ °ãä°ã. fxp0 èíòåðýéñä çîðèóëñàí °°ð õàÿãèéí îðóóëãà íü èéìýðõ³³ áàéíà: ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
°ð õàÿãèéí îðóóëãóóä íü alias0 ãýæ ýõëýõ ¼ñòîé á°ã°°ä äýýø °ãñ°õ äàðààëëààð ÿâäàã (æèøýý íü _alias1, _alias2, ãýõ ìýò). Òîõèðãîîíû ³éë ÿâö ýõíèé áàéõã³é äóãààð äýýð õ³ð÷ çîãñäîã. °ð õàÿãèéí ñ³ëæýýíèé áàãóóäûã òîîöîîëîõ íü ÷óõàë áàéäàã, ãýõäýý àçààð ýíý íü ìàø àìàðõàí. ã°ãäñ°í èíòåðýéñèéí õóâüä ñ³ëæýýíèé áàãèéã ç°â°°ð ³ç³³ëäýã íýã õàÿã áàéõ ¼ñòîé. Ýíý ñ³ëæýýí äýõ °°ð áóñàä õàÿãóóä á³ãä 1-ýýñ (ýíý íü 255.255.255.255 ãýõ áóþó ýñâýë 0xffffffff ãýæ èëýðõèéëýãääýã) òîãòñîí ñ³ëæýýíèé áàãòàé áàéõ ¼ñòîé.
325
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Æèøýý íü fxp0 èíòåðýéñ íü 10.1.1.0 ñ³ëæýýíä 255.255.255.0 áîëîí 202.0.75.16 ñ³ëæýýíä 255.255.255.240 áàãóóäûã àøèãëàæ õî¼ð ñ³ëæýýíä õîëáîãäñîí ãýæ áîäú¼. Áèä ñèñòåìèéã 10.1.1.1-ýýñ 10.1.1.5 õ³ðòýë áîëîí 202.0.75.17-ýýñ ýõëýýä 202.0.75.20 õ³ðòýëõ õàÿãóóä äýýð áàéëãàõûã õ³ñýæ áàéíà. Äýýð òýìäýãëýñíèé äàãóó °ã°ãäñ°í ñ³ëæýýíèé õ³ðýýí äýõ ç°âõ°í ýõíèé õàÿã (ýíý òîõèîëäîëä 10.0.1.1 áîëîí 202.0.75.17) æèíõýíý ñ³ëæýýíèé áàãòàé áàéõ ¼ñòîé; áóñàä ³ëäñýí á³ãä (10.1.1.2-ýýñ 10.1.1.5 õ³ðòýë áîëîí 202.0.75.18-ýýñ ýõëýýä 202.0.75.20 õ³ðòýë) 255.255.255.255 ñ³ëæýýíèé áàãòàé áàéõààð òîõèðóóëàãäàõ õýðýãòýé. Äàðààõ /etc/rc.conf îðóóëãóóä íü ýíý çîðèëãîîð àäàïòåðèéã ç°â òîõèðóóëæ áàéíà: ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0" ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255" ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255" ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255" ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255" ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240" ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"
11.10
Òîõèðãîîíû Ôàéëóóä í á³òýö
11.10.1 /etc-
Òîõèðãîîíû ìýäýýëëèéã õàäãàëäàã õýä õýäýí ñàíãóóä áàéäàã. Ýäãýýð íü: /etc /etc/defaults /etc/mail /etc/ppp /etc/namedb /usr/local/etc /usr/local/etc/rc.d /var/db
11.10.2
Ñèñòåìèéí åð°íõèé òîõèðãîîíû ìýäýýëýë; ýíä áàéãàà °ã°ãä°ë íü ñèñòåìèéí õóâüä °°ð °°ð. Ñèñòåìèéí òîõèðãîîíû àéëóóäûí àíõäàã÷ õóâèëáàðóóä. sendmail(8)-èéí íýìýëò òîõèðãîî, áóñàä MTA òîõèðãîîíû àéëóóä. Õýðýãëýã÷- áîëîí ö°ìèéí-ppp ïðîãðàìóóäàä çîðèóëñàí òîõèðãîî. named(8) °ã°ãä°ëä çîðèóëñàí àíõäàã÷ áàéðëàë. Èõýíõäýý named.conf áîëîí á³ñèéí àéëóóä ýíä õàäãàëàãääàã. Ñóóëãàãäñàí ïðîãðàìóóäàä çîðèóëñàí òîõèðãîîíû àéëóóä. Ïðîãðàì áîëãîíû äýä ñàíãóóäûã àãóóëæ áîëíî. Ñóóëãàãäñàí ïðîãðàìóóäàä çîðèóëñàí ýõë³³ëýõ/çîãñîîõ ñêðèïò³³ä. Áàãöûí °ã°ãäëèéí áààç, áàéðøèë îëîõ °ã°ãäëèéí áààç, ãýõ çýðýã ñèñòåì áîëãîíû õóâüä àâòîìàòààð ³³ñãýãäñýí °ã°ãäëèéí áààçûí àéëóóä.
Õîñòûí íýðñ
11.10.2.1 /etc/resolv.conf /etc/resolv.conf
íü FreeBSD-èéí òîäîðõîéëîã÷ Èíòåðíýò Äîìýéí Íýðèéí Ñèñòåìä (DNS) õýðõýí
326
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
õàíäàõûã çààäàã. resolv.conf äàõü õàìãèéí ò³ãýýìýë îðóóëãóóä íü: Òîäîðõîéëîã÷èéí àñóóõ íýðèéí ñåðâåðèéí IP õàÿã. Ñåðâåð³³ä íü õàìãèéí èõäýý ãóðàâ áàéõ æàãñààñàí äàðààëëààð àñóóãääàã. Õîñòûí íýðèéí õàéëòàä çîðèóëæ æàãñààëòààñ õàéõ. Ýíý íü èõýíõäýý ëîêàë õîñòûí íýðèéí äîìýéíîîð òîäîðõîéëîãääîã. Ëîêàë äîìýéí íýð.
nameserver search domain
Åðäèéí resolv.conf: search example.com nameserver 147.11.1.11 nameserver 147.11.100.30
Note: search
áîëîí domain òîõèðóóëãóóäûí ç°âõ°í íýã íü õýðýãëýãäýõ ¼ñòîé.
Õýðýâ òà DHCP àøèãëàæ áàéãàà áîë dhclient(8) íü DHCP ñåðâåðýýñ õ³ëýýí àâñàí ìýäýýëëýýð resolv.conf-ã äàðæ áè÷äýã. 11.10.2.2 /etc/hosts
íü õóó÷èí Èíòåðíýòèéí ³ëäýãäýë ýíãèéí òåêñò °ã°ãäëèéí áààç þì. Ýíý íü DNS áîëîí NIS-òýé öóã íýðèéã IP õàÿã óðóó áîëãîæ òààðóóëàõ áîëîìæèéã õàíãàí àæèëëàäàã. LAN-ààð õîëáîãäñîí ëîêàë êîìïüþòåðóóäûã àìàðõàí íýðëýõ çîðèóëàëòààð named(8) ñåðâåð ñóóëãàæ òîõèðóóëàõûí îðîíä ýíä áàéðëóóëæ áîëäîã. Ì°í /etc/hosts íü ò³ãýýìýë õàíääàã íýðñýä çîðèóëàãäñàí ãàäàãøàà õàíäàõ õ³ñýëòèéã áàãàñãàæ Èíòåðíýòèéí íýðñèéí ëîêàë áè÷ëýãèéã õàíãàäàã áàéæ áîëíî. /etc/hosts
# $FreeBSD$ # # # Host Database # # This file should contain the addresses and aliases for local hosts that # share this file. Replace ’my.domain’ below with the domainname of your # machine. # # In the presence of the domain name service or NIS, this file may # not be consulted at all; see /etc/nsswitch.conf for the resolution order. # # ::1 localhost localhost.my.domain 127.0.0.1 localhost localhost.my.domain # # Imaginary network. #10.0.0.2 myname.my.domain myname #10.0.0.3 myfriend.my.domain myfriend #
327
Chapter 11 Òîõèðãîî áà Òààðóóëàëò # # # # # # # # # # # #
According to RFC 1918, you can use the following IP networks for private nets which will never be connected to the Internet: 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255 In case you want to be able to connect to the Internet, you need real official assigned numbers. Do not try to invent your own network numbers but instead get one from your network provider (if any) or from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.)
/etc/hosts
íü ýíãèéí õýëáýðèéã àãóóëäàã:
[Internet address] [official hostname] [alias1] [alias2] ...
Æèøýý íü: 10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2
Äýëãýðýíã³é ìýäýýëëèéí òàëààð hosts(5) õóóäàñíààñ ç°âë°ã°° àâíà óó. 11.10.3
Á³ðòãýëèéí àéëûí òîõèðãîî
11.10.3.1 syslog.conf
íü syslogd(8) ïðîãðàìûí òîõèðãîîíû àéë þì. Ýíý íü ÿìàð ò°ðëèéí syslog ìýäýýëë³³ä ÿã àëü á³ðòãýëèéí àéëä á³ðòãýãäýõèéã çààäàã. syslog.conf
# $FreeBSD$ # # Spaces ARE valid field separators in this file. However, # other *nix-like systems still insist on using tabs as field # separators. If you are sharing this file between systems, you # may want to use only tabs as field separators here. # Consult the syslog.conf(5) manual page. /dev/console *.err;kern.debug;auth.notice;mail.crit .notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages * security.* /var/log/security mail.info /var/log/maillog lpr.info /var/log/lpd-errs cron.* /var/log/cron root *.err root *.notice;news.err root *.alert *.emerg * # uncomment this to log all writes to /dev/console to /var/log/console.log #console.info /var/log/console.log # uncomment this to enable logging of all log messages to /var/log/all.log #*.* /var/log/all.log
328
Chapter 11 Òîõèðãîî áà Òààðóóëàëò # uncomment this to enable logging to a remote log host named loghost #*.* @loghost # uncomment these if you’re running inn # news.crit /var/log/news/news.crit # news.err /var/log/news/news.err # news.notice /var/log/news/news.notice !startslip /var/log/slip.log *.* !ppp /var/log/ppp.log *.*
Äýëãýðýíã³é ìýäýýëëèéí òàëààð syslog.conf(5) ãàðûí àâëàãûí õóóäàñíààñ ç°âë°ã°° àâíà óó. 11.10.3.2 newsyslog.conf newsyslog.conf íü èõýíõäýý cron(8) õóâààðèëàí öàãààð àæèëëóóëäàã newsyslog(8)-ä çîðèóëàãäñàí òîõèðãîî þì. newsyslog(8) íü õýçýý á³ðòãýëèéí àéëóóä àðõèâëàãäàõ ýñâýë äàõèí çîõèöóóëàãäàõûã òîäîðõîéëäîã. logfile íü logfile.0 óðóó, logfile.0 íü logfile.1 øèëæèõ ãýõ çýðãýýð çîõèöóóëàãääàã. Á³ðòãýëèéí àéëóóä °°ð°°ð gzip(1) õýëáýðýýð logfile.0.gz, logfile.1.gz ãýõ çýðãýýð íýðëýãäýí àðõèâëàãäàæ áîëíî. newsyslog.conf íü àëü á³ðòãýëèéí àéëóóä óäèðäàãäàõ, õè÷íýýí íü õàäãàëàãäàõ áîëîí õýçýý òýäãýýðò õ³ðýõèéã çààæ °ãä°ã. Á³ðòãýëèéí àéëóóä íü òîäîðõîé õýìæýýíä õ³ðýõ ³åä áîëîí ýñâýë òîäîðõîé öàã/îãíîîíû äàâòàìæòàéãààð çîõèöóóëàãääàã áà/ýñâýë àðõèâëàãääàã. # configuration file for newsyslog # $FreeBSD$ # # filename [owner:group] /var/log/cron /var/log/amd.log /var/log/kerberos.log /var/log/lpd-errs /var/log/maillog /var/log/sendmail.st /var/log/messages /var/log/all.log /var/log/slip.log /var/log/ppp.log /var/log/security /var/log/wtmp /var/log/daily.log /var/log/weekly.log /var/log/monthly.log /var/log/console.log
mode count size when [ZB] [/pid_file] [sig_num] 600 3 100 * Z 644 7 100 * Z 644 7 100 * Z 644 7 100 * Z 644 7 @T00 Z * 644 10 168 B * 644 5 100 * Z 600 7 @T00 Z * 600 3 100 * Z 600 3 100 * Z 600 10 100 * Z 644 3 @01T05 B * 640 7 @T00 Z * 640 5 1 $W6D0 Z 640 12 $M1D0 Z * 640 5 100 * Z
Äýëãýðýíã³é ìýäýýëëèéí òàëààð newsyslog(8) ãàðûí àâëàãûí õóóäàñíààñ ç°âë°ã°° àâíà óó.
329
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
11.10.4 sysctl.conf
íü rc.conf-òîé áàðàã ë àäèë õàðàãääàã. Óòãóóä íü õóâüñàã÷=óòãà õýëáýðýýð çààãääàã. Òîäîðõîéëñîí óòãóóä íü ñèñòåì îëîí-õýðýãëýã÷èéí ãîðèìä øèëæñýíèé äàðàà òîõèðóóëàãääàã. Ýíý ãîðèìä á³õ õóâüñàã÷óóä òîõèðóóëàãäàõ áîëîìæã³é. ѳéðëèéí äîõèîíû ãàðàëòóóäûí á³ðòãýëèéã õààæ áóñàä õýðýãëýã÷äèéí ýõë³³ëñýí ïðîöåññóóäûã °°ð õýðýãëýã÷äýä õàðóóëàõã³é áàéëãàõûí òóëä äàðààõ òîõèðóóëãóóäûã sysctl.conf àéëä òîõèðóóëæ °ã÷ áîëíî: sysctl.conf
# Do not log fatal signal exits (e.g. sig 11) kern.logsigexit=0 # Prevent users from seeing information about processes that # are being run under another UID. security.bsd.see_other_uids=0
11.11 sysctl
àøèãëàí òààðóóëàõ íü
sysctl(8) íü àæèëëàæ áàéãàà FreeBSD ñèñòåìä °°ð÷ë°ëò³³äèéã õèéõèéã òàíä ç°âø°°ðä°ã èíòåðýéñ þì. Ýíý íü òóðøëàãàòàé ñèñòåìèéí àäìèíèñòðàòîðûí õóâüä àæèëëàãààã ìýäýãäýõ³éö ñàéæðóóëæ ÷àäàõ TCP/IP áîëîí âèðòóàë ñàíàõ îéí ñèñòåìèéí îëîí íàðèéí òîõèðóóëãóóäûã àãóóëäàã. Òàâàí çóó ãàðóé ñèñòåìèéí õóâüñàã÷óóäûã sysctl(8) àøèãëàí óíøèõ áîëîí òîõèðóóëæ áîëäîã. sysctl(8) íü ãîëäîî õî¼ð ³³ðãèéã ã³éöýòãýäýã: ñèñòåìèéí òîõèðãîîíóóäûã óíøèõ áîëîí °°ð÷ë°õ. Óíøèãäàæ áîëîõ á³õ õóâüñàã÷óóäûã õàðàõäàà: % sysctl -a
Òóõàéí õóâüñàã÷èéã óíøèõäàà, æèøýý íü, kern.maxproc: % sysctl kern.maxproc
kern.maxproc: 1044
Òóõàéí õóâüñàã÷èéã çààõäàà õÿëáàð õóâüñàã÷ =óòãà ñèíòàêñèéã àøèãëààðàé: # sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
sysctl õóâüñàã÷óóäûí òîõèðãîîíóóä íü èõýâ÷ëýí òýìäýãò³³ä (strings), òîîíóóä ýñâýë boolean (boolean 1 íü òèéì ýñâýë 0 íü ³ã³é áàéíà) óòãóóä áàéíà.
Õýðýâ òà ìàøèí à÷ààëàõ áîëãîíä àâòîìàòààð çàðèì õóâüñàã÷óóäûã òîõèðóóëàõûã õ³ñâýë /etc/sysctl.conf àéëä òýäãýýðèéã íýìýýðýé. Äýëãýðýíã³é ìýäýýëëèéí òàëààð sysctl.conf(5) ãàðûí àâëàãûí õóóäàñ áîëîí Section 11.10.4-ñ ³çíý ³³.
330
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
11.11.1
Ç°âõ°í-óíøèõ sysctl(8)
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. Çàðèì òîõèîëäîëä ç°âõ°í-óíøèõ sysctl(8) óòãóóäûã °°ð÷ë°õ øààðäëàãàòàé áàéæ áîëîõ þì. Ýíý íü çàðèìäàà õèéõýýñ °°ð àðãàã³é áàéäàã áîëîâ÷ ç°âõ°í (äàõèí) à÷ààëàõàä õèéãäýõ áîëîìæòîé. Æèøýý íü çàðèì ç°°âðèéí êîìïüþòåðèéí çàãâàðóóäàä cardbus(4) ò°õ°°ð°ìæ íü ñàíàõ îéí õ³ðýýã øàëãàäàãã³é á°ã°°ä äîîð äóðäñàíòàé ò°ñòýé àëäààíóóä ãàðãàí àìæèëòã³é áîëäîã: cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12
Äýýðõ øèã òîõèîëäëóóä íü èõýâ÷ëýí ç°âõ°í óíøèõààð òîõèðóóëàãäñàí çàðèì àíõäàã÷ sysctl(8) òîõèðãîîíóóäûã °°ð÷ë°õèéã øààðääàã. Ýäãýýð í°õö°ë³³äèéã äàâæ ãàðàõûí òóëä õýðýãëýã÷ sysctl(8) “OID”-óóäûã òýäãýýðèéí /boot/loader.conf àéëä õèéæ °ã÷ áîëíî. Àíõäàã÷ òîõèðãîîíóóä /boot/defaults/loader.conf àéëä áàéðëàäàã. Äýýð äóðäñàí àñóóäëûã øèéäýõèéí òóëä õýðýãëýã÷ óðüä íü äóðäñàí àéëä hw.pci.allow_unsupported_io_range=1 ãýæ òîõèðóóëàõ øààðäëàãàòàé. Èíãýñíýýð cardbus(4) ç°â àæèëëàõ áîëíî. 11.12
Äèñêí³³äèéã òààðóóëàõ íü
11.12.1 Sysctl
õóâüñàã÷óóä
11.12.1.1 vfs.vmiodirenable
õóâüñàã÷ íü 0 (èäýâõã³é) ýñâýë 1 (èäýâõòýé) ãýæ òîõèðóóëàãäàæ áîëíî; àíõäàã÷ààð 1 áàéíà. Ýíý õóâüñàã÷ íü ñèñòåì ñàíãóóäûã õýðõýí êýø (øóóðõàé ñàíàìæ) õèéõèéã õÿíàäàã. Èõýíõ ñàíãóóä ç°âõ°í ãàíö ðàãìåíòèéã (èõýâ÷ëýí 1 K) àéëûí ñèñòåìä áîëîí ò³³íýýñ áàãûã áóåð êýøä õýðýãëýí æèæèã õýìæýýòýé áàéäàã. Ýíý õóâüñàã÷èéã õààñíààð (0 áîëãîñíîîð) áóåð êýø íü òàíûã àñàð èõ õýìæýýíèé ñàíàõ îéòîé áàéñàí ÷ ãýñýí ç°âõ°í òîäîðõîé òîîíû ñàíãóóäûã êýø õèéäýã. Íýýãäñýí (1 áîëãîñîí) ³åä ýíý sysctl íü á³õ ñàíàõ îéã êýø õèéõýä áýëýí áîëãîæ áóåð êýøä VM Õóóäàñíû Êýøèéã õýðýãëýí ñàíãóóäûã êýø õèéõ áîëîìæèéã îëãîäîã. ýõäýý ñàíãóóäûã êýø õèéõ õàìãèéí áàãà ãîë äàõü ñàíàõ îé íü 512 áàéò áèø õàðèí èçèê õóóäàñíû õýìæýý (èõýâ÷ëýí 4 K) áàéäàã. Õýðýâ òà èõ îëîí òîîíû àéëóóäòàé àæèëëàäàã ³éë÷èëãýý àæèëëóóëæ áàéãàà áîë áèä ýíý òîõèðóóëãûã èäýâõòýé áàéëãàõûã ç°âë°æ áàéíà. Òèéì ³éë÷èëãýýí³³äýä âýá êýø³³ä, òîì çàõèäëûí ñèñòåì³³ä, áîëîí ìýäýýíèé ñèñòåì³³ä îðæ áîëíî. Ýíý òîõèðóóëãûã èäýâõòýé áàéëãàõ íü õàéð ãàìã³é çàðöóóëñàí ñàíàõ îéòîé áàéõàä ÷ ãýñýí åð°íõèéä°° àæèëëàãààã óäààøðóóëäàãã³é, ãýõäýý òà ò³³íèéã ìýäýõèéí òóëä òóðøèæ ³çýæ áîëíî. vfs.vmiodirenable sysctl
11.12.1.2 vfs.write_behind
õóâüñàã÷èéí àíõäàã÷ óòãà íü 1 (èäýâõòýé) áàéíà. Ýíý íü òîì äàðààëñàí àéëóóäûã áè÷èõ ³åä èõýâ÷ëýí ãàðäàã á³õ êëàñòåðóóäûã öóãëóóëñàí ³åä ç°°ã÷èéí áè÷èëò³³äèéã õèéõèéã àéëûí ñèñòåìä õýëæ °ãä°ã. Ñàíàà íü áîë I/O àæèëëàãààíû õóâüä àøèãã³é áàéõàä áîõèð áóåðóóä á³õèé áóåðèéí êýøèéã çàìõðóóëàõààñ çàéëñõèéõýä îðøäîã. ýõäýý ýíý íü ïðîöåññóóäûã vfs.write_behind sysctl
331
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
çîãñîîæ ìàãàäã³é á°ã°°ä çàðèì í°õö°ë áàéäàëä òà ìàãàäã³é ³³íèéã èäýâõã³é áîëãîõûã õ³ñýæ áîëîõ þì. 11.12.1.3 vfs.hirunningspace
õóâüñàã÷ °ã°ãäñ°í äóðûí õîðîìä ñèñòåìèéí õóâüä á³õýëä íü õýäèé õýìæýýíèé õ³ëýýãäýæ áàéãàà áè÷èõ I/O-ã äèñêíèé õÿíàã÷óóäàä °ã°õ äàðààëàëä îðóóëæ áîëîõûã òîäîðõîéëäîã. Àíõäàã÷ óòãà íü èõýâ÷ëýí õàíãàëòòàé ãýõäýý îëîí äèñêòýé ìàøèíóóä äýýð òà ³³íèéã ä°ð°â ýñâýë òàâàí ìåãàáàéò õ³ðòýë èõýñãýõèéã õ³ñýæ áîëîõ þì. Óòãûã õýòýðõèé °íä°ð òàâèõ íü (áóåð êýøèéí áè÷èõ òîãòîîñîí õýìæýýã äàâàõ íü) òóéëûí ìóó êëàñòåðëàõ àæèëëàãààíä õ³ðãýæ áîëíî. Ýíý óòãûã õýòýðõèé °íä°ð á³³ òàâü! íä°ð áè÷èõ óòãóóä íü ÿã òýð ³åä õèéãäýæ áàéãàà óíøèëòóóäàä õîöðîãäîë íýìæ ìàãàäã³é þì. Áóñàä ò°ð°ë á³ðèéí áóåð-êýø áîëîí VM õóóäàñíû êýøòýé õîëáîîòîé sysctl-óóä áàéäàã. Áèä ýäãýýð óòãóóäûã °°ð÷ë°õèéã ç°âë°ä°ãã³é, VM ñèñòåì íü °°ðèéã°° àâòîìàòààð òààðóóëæ òóéëûí ñàéí àæèëëàäàã. vfs.hirunningspace sysctl
11.12.1.4 vm.swap_idle_enabled vm.swap_idle_enabled sysctl õóâüñàã÷ íü ìàø îëîí õýðýãëýã÷èä òàíû ñèñòåìä îðæ ãàð÷ áàéäàã, ñóë çîãññîí îëîí ïðîöåññóóäòàé, òîì, îëîí-õýðýãëýã÷èéí ñèñòåì³³ä äýýð àøèãòàé áàéäàã. Èéì ñèñòåì³³ä íü ÷°ë°°ò ñàíàõ îéí õàäãàëàëòàä èõýýõýí õýìæýýíèé áàéíãûí äàðàìòûã ³³ñãýæ áàéäàã. Ýíý áîëîìæèéã èäýâõòýé áîëãîæ àð àðààñ íü swap õèéí ãàðãàõûã (çîãññîí ñåêóíäýýð) vm.swap_idle_threshold1 áîëîí vm.swap_idle_threshold2 õóâüñàã÷óóäûí òóñëàìæòàé òîõèðóóëñíààð çîãññîí ïðîöåññóóäòàé õîëáîîòîé ñàíàõ îéí õóóäàñíóóäûí äàðààëëûã åðäèéí õóóäàñëàæ ãàðãàõ àëãîðèòìààñ èë³³ õóðäíààð áàãàñãàõ áîëîìæèéã îëãîäîã. Ýíý íü õóóäàñëàæ ãàðãàõ äýìîíä òóñëàìæèéí ãàðûã °ã°õ áîëíî. Ýíý òîõèðóóëãûã òàíä õýðýãòýé ë áèø áîë èäýâõòýé áîëãîæ áîëîõã³é, ó÷èð íü ³³íèéã òà õèéñíýýð ³íäñýíäýý ñàíàõ îéã èë³³ ò³ðãýí óðüä÷èëàí-õóóäàñëàæ èíãýñíýýð swap áîëîí äèñêíèé áàãòààìæèéã èë³³òýéãýýð èäýõýä õ³ðãýõ þì. Æèæèã ñèñòåì äýýð ýíý òîõèðóóëãà íü òîäîðõîéëîãäîæ áîëîõóéö í°ë°°ë°ëòýé áàéõ áà õàðèí áîëîìæèéí õóóäàñëàëò àëü õýäèéí õèéãýýä áàéãàà òîì ñèñòåì³³äýä ýíý òîõèðóóëãà íü VM ñèñòåìä á³õ ïðîöåññóóäûã ñàíàõ îé óðóó áîëîí ñàíàõ îéãîîñ õÿëáàðààð ãàðãàõ áîëîìæèéã á³ðä³³ëäýã.
11.12.1.5 hw.ata.wc FreeBSD 4.3-ä IDE áè÷èõ êýø õèéëòèéã õààñàí áàéäàã. Ýíý íü IDE äèñêýíä áè÷èõ áàãòààìæèéã áàãàñãàñàí áîëîâ÷ õàòóó äèñê ³éëäâýðëýã÷äèéí ãàðãàñàí °ã°ãäëèéí á³ðýí á³òýí áàéäëûí íîöòîé àñóóäëóóäààñ áîëîîä øààðäëàãàòàé áîëñîí. Òýð àñóóäàë íü IDE õ°òë°ã÷³³ä áè÷èëò äóóñàõ ³åä õóäëàà ìýäýýëäýã ÿâäàë þì. IDE áè÷èõ êýøèéã èäýâõòýé áîëãîñíîîð IDE õàòóó äèñêí³³ä ÿìàð íýã äàðààëàëã³éãýýð áè÷èõýýñ ãàäíà äèñê èõ à÷ààëàëòàé ³åä çàðèì áëîêóóäûã áè÷èõýä çàðèìäàà òîäîðõîéã³é ñààòäàã. ѳéðýë áîëîí òýæýýëèéí óíàëò àéëûí ñèñòåìèéí íîöòîé ýâäðýëä õ³ðãýæ áîëçîøã³é áàéäàã. FreeBSD-èéí àíõäàã÷ íü àþóëã³é áàéõààð °°ð÷ë°ãäñ°í. Õàðàìñàëòàé íü ³³íèé ³ð ä³íä àæèëëàãààíû àñàð òîì àëäàãäàëä õ³ðãýñýí á°ã°°ä õóâèëáàð ãàðñíû äàðàà áèä áè÷èõ êýø õèéëòèéã àíõäàã÷ààð èäýâõòýé áàéõààð áóöààí °°ð÷èëñ°í þì. Òà °°ðèéí ñèñòåì äýýðýý hw.ata.wc sysctl õóâüñàã÷èéã àæèãëàí àíõäàã÷ óòãûã øàëãàõ õýðýãòýé. Õýðýâ IDE áè÷èõ êýø õèéëò õààëòòàé áîë òà ö°ìèéí õóâüñàã÷èéí óòãûã 1 áîëãîí ò³³íèéã èäýâõæ³³ëæ áîëíî. ³íèéã à÷ààëàõ ³åä à÷ààëàã÷ààñ õèéõ øààðäëàãàòàé. Ö°ì à÷ààëñíû äàðàà õèéõèéã îðîëäâîë ÿìàð ÷ í°ë°° ³ç³³ëýõã³é.
332
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Äýëãýðýíã³é ìýäýýëëèéí òàëààð ata(4)-ñ ³çíý ³³. 11.12.1.6 SCSI_DELAY (kern.cam.scsi_delay) SCSI_DELAY ö°ìèéí òîõèðãîî íü ñèñòåìèéí à÷ààëàõ õóãàöààã áàãàñãàõàä õýðýãëýãääýã. Àíõäàã÷ óòãà íü íýëýýí °íä°ð á°ã°°ä 15 ñåêóíäûí ñààòëûã à÷ààëàõ ïðîöåññèéí ³åä °ã°õèéã õàðèóöäàã. 5 ñåêóíä õ³ðòýë áàãàñãàõàä èõýâ÷ëýí àæèëëàäàã (ÿëàíãóÿà îð÷èí ³åèéí õ°òë°ã÷³³äèéí õóâüä). FreeBSD-èéí øèíý õóâèëáàðóóä (5.0 áîëîí ò³³íýýñ äýýø) à÷ààëàõ ³åèéí òîõèðóóëãà áîëîõ kern.cam.scsi_delay õóâüñàã÷èéã àøèãëàõ õýðýãòýé. Ýíý òîõèðóóëãà áîëîí ö°ìèéí òîõèðãîîíû òîõèðóóëãà íü ñåêóíäýýð áèø ìèëëèñåêóíäýýð óòãûã õ³ëýýí àâäàã.
11.12.2
Ç°°ë°í Øèíý÷ëýëò³³ä
tunefs(8) ïðîãðàì àéëûí ñèñòåìèéã íàðèéí òààðóóëàõàä àøèãëàãäàæ áîëíî. Ýíý ïðîãðàì íü îëîí
ÿíçûí òîõèðóóëãóóäòàé ãýõäýý îäîîõîíäîî áèä ç°âõ°í Ç°°ë°í Øèíý÷ëýëò³³äèéã èäýâõæ³³ëýõ áà õààõ äýýð àíõààðàõ á°ã°°ä ³³íèéã äàðààõ àðãààð õèéíý:
# tunefs -n enable /filesystem # tunefs -n disable /filesystem
Ôàéëûí ñèñòåì íü õîëáîãäñîí áàéõäàà tunefs(8)-ýýð °°ð÷ë°ãä°õ áîëîìæã³é. Ç°°ë°í Øèíý÷ëýëò³³äèéã èäýâõæ³³ëýõýä òîõèðîõ ³å íü àëü ÷ õóâààëòóóä õîëáîëò õèéãäýýã³é áàéãàà ãàíö õýðýãëýã÷èéí ãîðèì þì. Ç°°ë°í Øèíý÷ëýëò³³ä íü ìåòà-°ã°ãäëèéí àæèëëàãààã ìýäýãäýõ³éö ñàéæðóóëäàã á°ã°°ä ñàíàõ îéí êýøèéã àøèãëàí ãîë÷ëîí àéëûí ³³ñãýëò áîëîí óñòãàëòûã õóðäàñãàäàã. Áèä Ç°°ë°í Øèíý÷ëýëò³³äèéã °°ðèéí á³õ àéëûí ñèñòåì³³äýä àøèãëàõûã ç°âë°æ áàéíà. Ç°°ë°í Øèíý÷ëýëò³³äèéí õî¼ð äóòàãäàëòàé òàëûã òà ìýäýæ áàéõ ¼ñòîé: Íýãä³ãýýðò, Ç°°ë°í Øèíý÷ëýëò³³ä íü ñ³éðýë áîëñîí òîõèîëäîëä àéëûí ñèñòåìèéí á³ðýí á³òýí áàéäàëä áàòàëãàà °ãä°ã áîëîâ÷ èçèê äèñêèéã øèíý÷ëýõýä õýäýí ñåêóíäûí (ìèíóò ÷ áàéæ áîëíî!) õîöðîãäîëòîé áàéæ áîëíî. Õýðýâ òàíû ñèñòåì ñ³éðýõýä áóñàä òîõèîëäëîîñ èë³³òýéãýýð òà õèéñýí àæëàà àëäàæ áîëçîøã³é þì. Õî¼ðäóãààðò, Ç°°ë°í Øèíý÷ëýëò³³ä íü àéëûí ñèñòåìèéí áëîêóóäûã ÷°ë°°ë°õèéã ñààòóóëäàã. Õýðýâ òà áàðàã ä³³ðñýí àéëûí ñèñòåìòýé (root àéë ñèñòåì ãýõ çýðýã) áàéãàà áîë make installworld çýðýã ãîë øèíý÷ëýëòèéã õèéõ íü àéëûí ñèñòåìèéã çàéã³é áîëãîæ øèíý÷ëýëò àìæèëòã³é áîëîõ øàëòãààíä õ³ðãýæ áîëîõ þì. 11.12.2.1 Ç°°ë°í Øèíý÷ëýëò³³äèéí òàëààð äýëãýðýíã³é
Ôàéëûí ñèñòåìèéí ìåòà-°ã°ãäëèéã äèñê óðóó áè÷èõ óëàìæëàëò õî¼ð õàíäëàãà áàéäàã. (Ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³ä íü inode ýñâýë ñàíãóóä çýðýã àãóóëãûí áóñ °ã°ãä°ëä õèéõ øèíý÷ëýëò³³ä þì) Ò³³õýýñ àâ÷ ³çýõýä àíõäàã÷ àæèëëàõ ãîðèì íü ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³äèéã ñèíõðîíîîð áóþó çýðýã áè÷äýã áàéñàí ÿâäàë þì. Õýðýâ ñàí °°ð÷ë°ãäñ°í áîë ñèñòåì °°ð÷ë°ëòèéã äèñê óðóó áè÷èãäýõèéã õ³ëýýäýã. Ôàéëûí °ã°ãäëèéí áóåðóóä (àéëûí àãóóëãóóä) áóåð êýøýýð äàìæèí äèñê óðóó ñ³³ëä íü àñèíõðîíîîð õàäãàëàãääàã. Ýíý øèéäëèéí äàâóó òàë íü àþóëã³é àæèëëàäàã. Õýðýâ øèíý÷ëýëòèéí ³åä àìæèëòã³é áîëáîë ìåòà-°ã°ãä°ë íü ³ðãýëæ á³ðýí á³òýí áàéäàã. Ôàéë ýñâýë á³ðýí ³³ñ÷ ýñâýë á³ð åð°°ñ°° ³³ñäýãã³é. Õýðýâ àéëûí °ã°ãäëèéí áëîêóóä ñ³éðýë áîëîõ ³åä áóåðèéí êýøýýñ äèñê óðóó
333
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
°°ðñäèéí ãàðàõ çàìàà îëîõã³é áàéãàà áîë fsck(8) íü ³³íèéã òàíüæ àéëûí óðòûã 0 áîëãîí àéëûí ñèñòåìèéã çàñâàðëàäàã. Íýìæ õýëýõýä ýíý øèéäýë íü öýâýðõýí áà õÿëáàð þì. Ñóë òàë íü ìåòà-°ã°ãäëèéí °°ð÷ë°ëò³³ä íü óäààí áàéäàã. rm -r òóøààë æèøýý íü ñàí äàõü á³õ àéëóóäàä äàðààëàí õàíäàõ á°ã°°ä ãýõäýý ñàí áîëãîíû °°ð÷ë°ëò (àéëûí óñòãàëò) ñèíõðîíîîð çýðýã äèñê óðóó áè÷èãääýã. ³íä ñàí óðóó °°ðò íü õèéãäýõ øèíý÷ëýëò³³ä, inode õ³ñíýãò áîëîí ìàãàäã³é àéëûí ãàðãàñàí øóóä áóñ áëîêóóäàä õèéõ øèíý÷ëýëò³³ä îðäîã. Òîì èåðàðõóóäûã çàäëàõàä (tar -x) ³³íèé íýãýí àäèëààð àâ÷ ³çäýã. Õî¼ð äàõü íü àñèíõðîí ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³ä þì. Ýíý íü Ëèíóêñ/ext2fs-èéí õóâüä àíõäàã÷ áàéõ á°ã°°ä *BSD ufs-èéí õóâüä mount -o async áàéõ þì. Á³õ ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³ä íü áóåð êýøýýð áàñ äàìæäàã, òýãýõýýð òýäãýýð íü àéëûí àãóóëãûí °ã°ãäëèéí øèíý÷ëýëò³³äòýé õàðèëöàí õîëèëäîõ áîëíî. Ýíý øèéäëèéí äàâóó òàë íü ìåòà-°ã°ãä°ë á³ðèéí øèíý÷ëýëò äèñê óðóó áè÷èãäýõèéã õ³ëýýäýãã³é á°ã°°ä èíãýñíýýð èõýýõýí õýìæýýíèé ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³äèéã õèéäýã á³õ ³éëäë³³ä ñèíõðîí õèéãäýõýýñ õàìààã³é õóðäàí àæèëëàäàã. Ì°í ýíý øèéäýë íü öýâýðõýí áàñ ýíãèéí á°ã°°ä èíãýñíýýð õîðõîéíóóä (àëäàà) êîä óðóó ì°ëõ°í îðîõ ýðñäýë áàãà þì. Ñóë òàë íü àéëûí ñèñòåìèéí á³ðýí á³òýí ò°ëâèéí ÿìàð íýã áàòàëãàà åð°°ñ°° áàéäàãã³é. Õýðýâ èõ õýìæýýíèé ìåòà-°ã°ãä°ë øèíý÷ëýõ ³éëäëèéí ÿâöàä àìæèëòã³é áîëñîí áîë (òýæýýëèéí òàñàëäàë, ýñâýë õýí íýã íü äàõèí ýõë³³ëýõ òîâ÷ äàðñàí çýðýãò) àéëûí ñèñòåì òààæ áîëøã³é ò°ë°âò ³ëäýõ áîëíî. Ñèñòåì äàõèí à÷ààëààä äóóñàõàä àéëûí ñèñòåìèéí ò°ë°âèéã ìýäýõ áîëîìæã³é áàéäàã; inode õ³ñíýãò ýñâýë õîëáîîòîé ñàíãèéí øèíý÷ëýëò³³ä áè÷èãäýýã³é áàéõàä àéëûí °ã°ãäëèéí áëîêóóä äèñê óðóó àëü õýäèéí áè÷èãä÷èõñýí áàéæ áîëîõ þì. Åð íü ãàðãàñàí çàìáàðààã³éòëèéã (ó÷èð íü õýðýãöýýòýé ìýäýýëýë äèñê äýýð áàéõã³é) öýâýðëýæ ÷àääàã fsck òóøààëûí øèéäëèéã õèéõ áîëîìæã³é. Õýðýâ àéëûí ñèñòåì çàñâàð õèéæ ÷àäàõààðã³é ýâäýðñýí áîë ò³³íä äýýð newfs(8)-èéã õýðýãëýæ í°°ö°°ñ ñýðãýýõýýñ °°ð àðãàã³é þì. Ýíý àñóóäëûí øèéäýë íü áîõèð á³ñèéí á³ðòãýë áóþó áàñ æóðíàë÷ëàëò ãýãääýã øèéäëèéã ãàðãàõ ÿâäàë á°ã°°ä ýíý óõàãäàõóóí íü òîãòâîðòîé õýðýãëýãääýãã³é áà øèëæ³³ëýëòèéí á³ðòãýëèéí áóñàä õýëáýð³³äýä áàñ çàðèìäàà àøèãëàãääàã. Ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³ä íü ñèíõðîíîîð áè÷èãäñýí õýâýýð áàéõ á°ã°°ä ãýõäýý ç°âõ°í äèñêíèé æèæèã á³ñýä áè÷èãäýíý. Äàðàà íü òýäãýýðèéã òýäíèé ç°â áàéðëàë óðóó ç°°ä°ã. Á³ðòãýëèéí òàëáàð íü äèñê äýýð áàãà, ³ðãýëæèëñýí á³ñ áàéäàã ó÷ðààñ á³ð õ³íä ³éëäë³³äèéí ³åä ÷ ãýñýí äèñêíèé òîëãîéíóóä øèëæèõýä õîë çàéòàé áèø áàéäàã áîëîõîîð ýäãýýð ³éëäë³³ä íü ñèíõðîí øèíý÷ëýëò³³äýýñ èë³³ õóðäàí áàéäàã. Ì°í ýíý øèéäëèéí ò°â°ãòýé áàéäàë íü ìàø õÿçãààðëàãäìàë áîëîõîîð àëäààíóóä áàéõ ýðñäýë íü áàãà áàéäàã. Ñóë òàë íü á³õ ìåòà-°ã°ãä°ë íü õî¼ð óäàà áè÷èãääýã (á³ðòãýëèéí á³ñýä íýã óäàà áîëîí ç°â áàéðëàë óðóó áàñ íýã óäàà) áîëîõîîð ýíãèéí àæëûí õóâüä àæèëëàãààíû “°°äð°ã áóñ ³çýãäýë” ãàð÷ áîëçîøã³é þì. Í°ã°° òàëààñ ñ³éðýë áîëîîä ñèñòåì äàõèí à÷ààëààä äóóñàõàä õ³ëýýãäýæ áàéãàà á³õ ìåòà-°ã°ãäëèéí ³éëäë³³ä á³ðòãýëèéí òàëáàðààñ õóðäàí áóöààãäàæ ýñâýë ã³éöýä õèéãäýí äóóñ÷ áîëîõ á°ã°°ä ýíý íü àéëûí ñèñòåìèéã õóðäàí ýõë³³ëýõýä õ³ðãýäýã. Áåðêëè FFS-èéí õ°ãæ³³ëýã÷ Êèðê ÌêÊþçèê ýíý àñóóäëûã Soft Updates áóþó Ç°°ë°í Øèíý÷ëýëò³³äýýð øèéäñýí: õ³ëýýãäýæ áàéãàà á³õ ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³ä íü ñàíàõ îéä õàäãàëàãäàõ á°ã°°ä äèñê óðóó ýðýìáýëýãäñýí äàðààëëààð áè÷èãääýã (“äàðààëóóëñàí ìåòà-°ã°ãäëèéí øèíý÷ëýëò³³ä”). Ýíý íü ìåòà-°ã°ãäëèéí õ³íä ³éëäë³³äèéí ³åä õýðýâ ýðò õèéãäñýí øèíý÷ëýëò³³ä äèñê óðóó áè÷èãäýýã³é ñàíàõ îéä áàéæ áàéõàä íü ñ³³ëä õèéãäýõ øèíý÷ëýëò³³ä òýäãýýðèéã “áàðüæ” àâäàã. Òýãýõýýð ñàíãèéí õóâüä õýëáýë ò³³íä õèéãäýõ á³õ ³éëäë³³ä íü ñàíàõ îéä øèíý÷ëýëò äèñê óðóó áè÷èãäýõýýñ °ìí° õèéãääýã (°ã°ãäëèéí áëîêóóä íü ìåòà-°ã°ãäë°°ñ°° ò³ð³³ëýýä äèñê äýýð áàéæ áàéõã³éãýýð °°ðñäèéí áàéðëàëûíõàà äàãóó ýðýìáýëýãääýã ). Õýðýâ ñèñòåì ñ³éðâýë ýíý íü “á³ðòãýë óðàãøëóóëàõàä” õ³ðãýäýã: äèñê óðóó ãàðàõ çàìàà îëîõã³é áàéãàà á³õ ³éëäë³³ä õýçýý ÷ õèéãäýýã³é þì øèã áàéäàã. Ôàéëûí ñèñòåìèéí á³ðýí á³òýí ò°ë°â õàäãàëàãäàæ 30-ààñ 60 ñåêóíäûí °ìí°õ ò°ë°âò îðäîã. Õýðýãëýãäýæ áàéãàà ýõ ³³ñâýð³³äèéã òýäãýýðèéí °°ðñäèéíõ õàðãàëçàõ áèòìàïóóäàä: áëîêóóä áîëîí inode-óóäàä 334
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
áàéäàã øèãýýð òýìäýãëýõèéã ³³íä àøèãëàñàí àëãîðèòì íü áàòàëãààòàé õàíãàäàã. ѳéðýë áîëñíû äàðàà ç°âõ°í ãàðñàí ýõ ³³ñâýð ñóëëàí ãàðãàëòûí àëäàà íü ÿã ³íýíäýý “÷°ë°°òýé” ì°ðòë°° “àøèãëàãäàæ áàéãàà” ãýæ òýìäýãëýãäñýí ýõ ³³ñâýð³³ä áàéäàã. fsck(8) ýíý áàéäëûã òàíèõ á°ã°°ä àøèãëàãäààã³é áàéãàà ýõ ³³ñâýð³³äèéã ÷°ë°°ëä°ã. ѳéðëèéí äàðàà àéëûí ñèñòåìèéí áîõèð ò°ëâèéã àâ÷ ³çýëã³éãýýð õ³÷ýýð mount -f òóøààëààð õîëáîõ íü àþóëã³é þì. Àøèãëàãäààã³é áàéæ áîëçîøã³é ýõ ³³ñâýð³³äèéã ÷°ë°°ë°õä°° fsck(8)-ã ñ³³ëä íü àæèëëóóëàõ õýðýãòýé. Ýíý íü àðä àæèëëàõ fsck-èéí öààíà áàéãàà ñàíàà þì: ñèñòåìèéã ýõë³³ëýõ ³åä ç°âõ°í àéëûí ñèñòåìèéí õîðìûí çóðàã áè÷èãääýã. fsck-ã ñ³³ëä íü àæèëëóóëæ áîëíî. Äàðàà íü á³õ àéëûí ñèñòåì³³ä “áîõèð” õîëáîãäîæ ñèñòåìèéí ýõëýëò îëîí õýðýãëýã÷èéí ãîðèìä ³ðãýëæèëäýã. Äàðàà íü àðä àæèëëàõ fsck-³³ä àøèãëàãäààã³é áàéãàà ýõ ³³ñâýð³³äèéã ÷°ë°°ë°õ°°ð øààðäëàãàòàé áàéãàà á³õ àéëûí ñèñòåìèéí õóâüä àæèëëàõààð ò°ë°âë°ãää°ã. (Ç°°ë°í Øèíý÷ëýëò³³ä àøèãëàäàãã³é àéëûí ñèñòåì³³äýä åðäèéí í³³ðýí äýýð àæèëëàõ fsck õýðýãòýé õýâýýð áàéíà) Äàâóó òàë íü ìåòà-°ã°ãäëèéí ³éëäë³³ä íü àñèíõðîí øèíý÷ëýëò³³äòýé áàðàã ë àäèë õóðäàí áàéäàã (°°ð°°ð õýëáýë ìåòà-°ã°ãäëèéã õî¼ð äàõèí áè÷äýã á³ðòãýë õèéëòýýñ õóðäàí áàéäàã). Ñóë òàëóóä íü ò°â°ãòýé êîä (õýðýãëýã÷èéí °ã°ãäëèéí àëäàãäëûí õóâüä èõ ìýäðýìòãèé òàëáàð äàõü áàéæ áîëîõ àëäààíóóäûí òýð °íä°ð ýðñäýëèéã õýëæ áàéíà) áîëîí ñàíàõ îéí èë³³ õýðýãëýý þì. Ì°í õýí íýãíèé õýðýãëýæ áàéñàí õóâèéí òîõèðãîîíóóä ÷ áàñ áàéäàã. ѳéðýë áîëñíû äàðàà àéëûí ñèñòåìèéí ò°ë°â “õóó÷èí” þì øèã õàðàãääàã. Ñòàíäàðò ñèíõðîí õàíäëàãà íü fsck-èéí äàðàà çàðèì íýã òýã-óðòòàé àéëóóäûã ³ëäýýõýä õ³ðãýñýí í°õö°ëä òýäãýýð àéëóóä íü Ç°°ë°í Øèíý÷ëýëò³³äòýé àéëûí ñèñòåìèéí ³åä îãò áàéäàãã³é á°ã°°ä ó÷èð íü ìåòà-°ã°ãä°ë áîëîí àéëûí àãóóëãóóä õýçýý ÷ äèñê óðóó áè÷èãäýýã³é áàéäàã. Äèñêíèé çàé íü ìàãàäã³é rm àæèëëóóëñíààñ õýñýã õóãàöààíû äàðàà äèñê óðóó øèíý÷ëýëò³³ä áè÷èãäýõ õ³ðòýë ñóëàðäàãã³é. Ýíý íü á³õ àéëóóäûã õî¼ð äàõèí õàäãàëàõàä õàíãàëòòàé õ³ðýëöýõ³éö õýìæýýíèé ÷°ë°°òýé çàé áàéõã³é àéëûí ñèñòåì äýýð èõ õýìæýýíèé °ã°ãäëèéã ñóóëãàæ áàéõ ³åä àñóóäëóóä ãàðàõàä õ³ðãýæ áîëîõ þì.
11.13
Ö°ìèéí õÿçãààðóóä òîõèðóóëàõ íü
11.13.1
Ôàéë/Ïðîöåññèéí õÿçãààðóóä
11.13.1.1 kern.maxfiles
íü òàíû ñèñòåìèéí øààðäëàãóóäààñ õàìààðààä äýýøèëæ ýñâýë äîîøèëæ áîëíî. Ýíý õóâüñàã÷ íü òàíû ñèñòåì äýýðõ àéëûí òîäîðõîéëîã÷óóäûí (descriptor) õàìãèéí èõ òîîã èëýðõèéëäýã. Ôàéëûí òîäîðõîéëîã÷èéí õ³ñíýãò ä³³ðñýí òîõèîëäîëä “file: table is full” áóþó àéë: õ³ñíýãò ä³³ðñýí ãýñýí ìýäýýëýë äàâòàãäàí ñèñòåìèéí áîãèíî ìýäýýëëèéí áóåðò ³çýãäýõ á°ã°°ä ³³íèéã dmesg òóøààë àøèãëàí ³çýæ áîëäîã. Íýýëòòýé àéë, ñîêåò ýñâýë fifo áîëãîí íýã àéëûí òîäîðõîéëîã÷ õýðýãëýäýã. Àæèëëàæ áàéãàà òîì-õýìæýýíèé ñåðâåð çýðýãöýý àæèëëàæ áàéãàà ³éë÷èëãýýí³³äèéí òîî áîëîí ò°ðë°°ñ õàìààðàí îëîí ìÿíãàí àéëûí òîäîðõîéëîã÷óóäûã °ëõ°í øààðäàæ áîëîõ þì. Õóó÷èí FreeBSD õóâèëáàðóóäàä kern.maxfiles-èéí àíõäàã÷ óòãà íü òàíû ö°ìèéí òîõèðãîîíû àéëûí maxusers òîõèðóóëãààñ ãàðñàí áàéäàã. kern.maxfiles íü maxusers óòãàòàé ïðîïîðöèîíàëààð °ñä°ã. °ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýõäýý ýíý ö°ìèéí òîõèðãîîíû òîõèðóóëãûã °°ðèéí ñèñòåìèéí õýðýãëýýíèé äàãóó çààæ °ã°õ íü ç³éòýé áàéäàã. Ýíý òîîíîîñ õàìààð÷ ö°ì °°ðèéí èõýíõ kern.maxfiles
335
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
óðüä÷èëàí-òîäîðõîéëñîí õÿçãààðóóäûã °ãä°ã. Àæèëëàãààíä áàéãàà ìàøèí ÿã ³íýíäýý íýã óäàà 256 õýðýãëýã÷ çýðýã õîëáîãäîîã³é áàéæ áîëîõ áîëîâ÷ °íä°ð-õýìæýýíèé âýá ñåðâåðèéíõòýé àäèë ýõ ³³ñâýð³³ä õýðýãòýé áàéæ áîëîõ þì. kern.maxusers õóâüñàã÷ íü ñèñòåìä áàéãàà ñàíàõ îéí äýýð ³íäýñëýí à÷ààëàõ ³åä àâòîìàòààð òàâèãääàã á°ã°°ä àæèëëàæ áàéõ ÿâöàä ç°âõ°í óíøèãäàõ kern.maxusers sysctl õóâüñàã÷èéí óòãûã øàëãàæ òîãòîîãäîæ áîëîõ þì. Çàðèì ñàéòóóä kern.maxusers-èéí èë³³ èõ ýñâýë áàãà óòãóóäûã øààðäàæ ³³íèéã à÷ààëàã÷ààð òààðóóëàãäàõààð òîõèðóóëæ áîëîõ þì; 64, 128, áîëîí 256 óòãóóä íü õîâîð áàéäàã. Òàíä àñàð èõ òîîíû àéëûí òîäîðõîéëîã÷óóä õýðýãòýé ë áèø áîë áèä 256-ààñ äýýø áàéëãàõûã ç°âë°ä°ãã³é; °°ðñäèéí àíõäàã÷ óòãóóäàä kern.maxusers-ð çààãääàã, òààðóóëàãäàõ áîëîìæòîé óòãóóäûí îëîíõ íü òóñ òóñäàà à÷ààëàëòûí ³åä ýñâýë àæèëëàõ ÿâöàä /boot/loader.conf-îîð ýñâýë ýíý áàðèìòûí õàà íýãòýý òàéëáàðëàñíààð °°ð÷ë°ãä°æ áîëäîã (loader.conf(5) ãàðûí àâëàãà ýñâýë /boot/defaults/loader.conf àéëûã ñàíàà àâàõûí òóëä ³çíý ³³). Õóó÷èí õóâèëáàðóóäàä õýðýâ òà maxusers-èéã 0 ãýæ øóóä çààæ °ãñ°í áîë ñèñòåì àâòîìàòààð òààðóóëæ °ãä°ã . Ýíý òîõèðóóëãûã çààõäàà ÿëàíãóÿà òà õýðýâ X Öîíõíû Ñèñòåì àøèãëàæ áàéãàà ýñâýë ïðîãðàì õàíãàìæ õ°ðâ³³ëæ áàéãàà áîë maxusers-èéã õàìãèéí áàãàäàà 4 ãýæ çààõûã õ³ñýõ áîëíî. Øàëòãààí íü ãýâýë maxusers-ýýð çààãäñàí õàìãèéí ÷óõàë õ³ñíýãò áîë 20 + 16 * maxusers ãýæ çààãäñàí ïðîöåññóóäûí õàìãèéí èõ òîî á°ã°°ä õýðýâ òà maxusers-èéã 1 ãýæ çààñàí áîë òà 18 îð÷ìûã íü à÷ààëàõ ³åä ñèñòåìèéã ýõë³³ëýõýä áîëîí 15 îð÷ìûã íü òàíûã X Öîíõíû Ñèñòåìèéã ýõë³³ëýõýä ìàãàäã³é ³³ñýæ òà íèéò ç°âõ°í 36 çýðýã ïðîöåññòîé áàéæ áîëîõ þì. àðûí àâëàãûã óíøèõ çýðýã õÿëáàð áîäëîãî õ³ðòýë ø³³õ, øàõñàíûã çàäëàõ, áîëîí ³çýõýä çîðèóëæ åñ°í ïðîöåññèéã ýõë³³ëäýã. maxusers-èéã 64 ãýæ çààõ íü áàðàã ë á³õ õýðýãöýýíä õàíãàëòòàé áàéõ 1044 çýðýã ïðîöåññòîé áàéæ áîëîõûã òàíä ç°âø°°ðí°. ýõäýý °°ð ïðîãðàì ýõë³³ëýõýýð îðîëäîæ áàéõ ³åä ýñâýë èõ îëîí òîîíû çýðýãöýý õýðýãëýã÷èäòýé ñåðâåð (ftp.FreeBSD.org-òîé àäèë) àæèëëóóëæ áàéõàä àéäàñ ò°ð³³ëýì proc table full áóþó proc õ³ñíýãò ä³³ðñýí ãýñýí àëäàà õýðýâ òà õàðàõ þì áîë ³ðãýëæ ýíý òîîã èõýñãýí ö°ìèéã äàõèí á³òýýæ áîëîõ þì. 1
íü òàíû ìàøèí óðóó íýâòðýõ õýðýãëýã÷äèéí òîîã õÿçãààðëàäàãã³é. Ýíý íü åðä°° ë òàíû ñèñòåì äýýð áàéæ áîëîõ õàìãèéí èõ õýðýãëýã÷èéí òîî áîëîí òýäãýýð òóñ á³ðèéí àæèëëóóëàõ ïðîöåññèéí òîîíîîñ õàìààðàí ò°ð°ë á³ðèéí õ³ñíýãòèéí õýìæýýí³³äèéã áîëîìæèéí óòãóóäààð çààæ °ãä°ã. Note: maxusers
11.13.1.2 kern.ipc.somaxconn
õóâüñàã÷ íü øèíý TCP õîëáîëòóóäûã õ³ëýýí àâàõàä çîðèóëñàí ñîíñîõ äàðààëëûí õýìæýýã õÿçãààðëàäàã. Àíõäàã÷ óòãà 128 íü à÷ààëàë èõòýé âýá ñåðâåðèéí îð÷èí äàõü øèíý õîëáîëòóóäûã õ³ëýýæ àâàõàä åð°íõèéä°° õýòýðõèé áàãà þì. Òèéì îð÷íû õóâüä ýíý óòãûã 1024 ýñâýë ò³³íýýñ èõ áîëãîõûã ç°âë°ä°ã. éë÷èëãýýíèé äýìîí íü °°ð°° ñîíñîõ äàðààëëûí õýìæýýãýý (°°ð°°ð õýëáýë sendmail(8), ýñâýë Apache) õÿçãààðëàæ áîëîõ áîëîâ÷ èõýâ÷ëýí °°ðèéí òîõèðãîîíû àéëäàà äàðààëëûí õýìæýýã òààðóóëàõ òîõèðãîîíû ì°ðòýé áàéäàã. Èõ õýìæýýíèé ñîíñîõ äàðààëëóóä íü áàñ éë÷èëãýýã Çîãñîîõ õàëäëàãóóäààñ (DoS) èë³³ ñàéí çàéëñõèéæ àæèëëàäàã. kern.ipc.somaxconn sysctl
11.13.2
ѳëæýýíèé õÿçãààðóóä
NMBCLUSTERS ö°ìèéí òîõèðãîîíû òîõèðóóëãà íü ñèñòåìä áàéãàà ñ³ëæýýíèé Mbuf-óóäûí òîîã çààæ °ãä°ã. Áàãà òîîíû Mbuf-óóäòàé òðàèêèéí à÷ààëàë èõòýé ñåðâåð FreeBSD-èéí ÷àäâàðò ñààä áîëäîã. Êëàñòåð á³ð îéðîëöîîãîîð 2 K ñàíàõ îéã èëýðõèéëäýã, òèéì áîëîõîîð 1024 ãýñýí óòãà íü ñ³ëæýýíèé
336
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
áóåðóóäàä çîðèóëæ õàäãàëñàí 2 ìåãàáàéò ö°ìèéí ñàíàõ îéã èëýðõèéëíý. Õè÷íýýí õýðýãòýéã îëîõûí òóëä õÿëáàð òîîöîî õèéæ áîëíî. Õýðýâ òà õàìãèéí èõäýý 1000 çýðýãöýý õîëáîëòóóäòàé, õîëáîëò á³ð íü 16 K õ³ëýýí àâàõ áîëîí 16 K èëãýýõ áóåðèéã èääýã âýá ñåðâåðòýé áîë òàíä îéðîëöîîãîîð âýá ñåðâåðèéã õàíãàõûí òóëä 32 MB õýìæýýòýé òýíöýõ ñ³ëæýýíèé áóåðóóä õýðýãòýé áîëíî. Ïðàêòèêààð åð íü 2-îîð ³ðæ³³ëäýã, òýãýõýýð 2x32 MB / 2 KB = 64 MB / 2 kB = 32768 áîëîõ þì. Áèä èõ ñàíàõ îéòîé ìàøèíóóäûí õóâüä óòãóóäûã 4096-ààñ 32768-ûí õîîðîíä áàéëãàõûã ç°âë°ä°ã. Ýíý ïàðàìåòðèéí õóâüä °íä°ð óòãûã ÿìàð ÷ í°õö°ëä òàâüæ áîëîõã³é, ó÷èð íü ýíý íü à÷ààëàõ ³åèéí ñ³éðýëä õ³ðãýæ áîëíî. netstat(1)-ä -m òîõèðóóëãûã àøèãëàæ ñ³ëæýýíèé êëàñòåðèéí àøèãëàëòûã àæèãëàæ áîëîõ þì. kern.ipc.nmbclusters à÷ààëàëòûí òààðóóëàõ áîëîìæòîé òîõèðóóëãà íü à÷ààëàõ ³åä ³³íèéã òààðóóëàõàä õýðýãëýãäýõ ¼ñòîé. Ç°âõ°í FreeBSD-èéí õóó÷èí õóâèëáàðóóä NMBCLUSTERS ö°ìèéí config(8) òîõèðóóëãûã àøèãëàõûã òàíààñ øààðääàã. sendfile(2) ñèñòåìèéí äóóäëàãûã °ðã°í°°ð àøèãëàäàã çàâã³é ñåðâåð³³äèéí õóâüä NSFBUFS ö°ìèéí òîõèðãîîíû òîõèðóóëãûí òóñëàìæòàé ýñâýë ò³³íèé óòãûã /boot/loader.conf-ä çààæ sendfile(2) áóåðóóäûí òîîã èõýñãýõ øààðäëàãàòàé áàéæ áîëîõ þì (äýëãýðýíã³éã loader(8)-ñ ³çíý ³³). Ïðîöåññóóä sfbufa ò°ë°âò õàðàãäàõ íü ýíý ïàðàìåòðèéã òààðóóëàõ õýðýãòýéã èõýâ÷ëýí çààäàã. kern.ipc.nsfbufs sysctl õóâüñàã÷ íü ö°ì°°ð òîõèðóóëàãäñàí õóâüñàã÷ äàõü ç°âõ°í óíøèãääàã ãÿëáàà þì. Ýíý ïàðàìåòð íü kern.maxusers-èéí õýìæýýãýýð òààðóóëàãääàã, ãýõäýý ³³íèéã ò³³íèé äàãóó òîõèðóóðàõ øààðäëàãàòàé áàéæ áîëîõ þì. Important: Ñîêåò áëîê-õèéãääýãã³é ãýæ òýìäýãëýãäñýí ÷ ãýñýí áëîê-õèéãääýãã³é ñîêåò äýýð sendfile(2)-èéã äóóäàõ íü õàíãàëòòàé õýìæýýíèé struct sf_buf-óóäûã áèé áîëãîòîë sendfile(2) äóóäëàãà áëîê õèéãäýõýä õ³ðãýæ áîëîõ þì.
11.13.2.1 net.inet.ip.portrange.* net.inet.ip.portrange.* sysctl õóâüñàã÷óóä íü TCP áîëîí UDP ñîêåòóóäàä àâòîìàòààð óÿãäàõ ïîðòûí äóãààðûí õ³ðýýí³³äèéã õÿíàäàã. óðâàí õ³ðýý áàéäàã: äîîä õ³ðýý, àíõäàã÷ õ³ðýý, áîëîí °íä°ð õ³ðýý. Èõýíõ ñ³ëæýýíèé ïðîãðàìóóä íü àíõäàã÷ààð 1024 áîëîí 5000 áàéäàã net.inet.ip.portrange.first áîëîí net.inet.ip.portrange.last õóâüñàã÷óóäààð õÿíàãääàã àíõäàã÷ õ³ðýýã àøèãëàäàã. Óÿãäàõ ïîðòûí õ³ðýýí³³ä ãàðàõ õîëáîëòóóäàä àøèãëàãääàã á°ã°°ä çàðèì òîõèîëäîëä ñèñòåì äýõ ïîðòóóä äóóñ÷ áîëîõ þì. Ýíý íü èõýâ÷ëýí òàíûã à÷ààëàë èõòýé âýá ïðîêñè àøèãëàæ áàéõàä ãàðäàã. Èõýâ÷ëýí èðæ áàéãàà õîëáîëòóóäûã õ³ëýýí àâäàã åðäèéí âýá ñåðâåð ýñâýë çàõèäàë äàìæóóëàã÷ çýðýã õÿçãààðëàãäìàë òîîíû ãàðàõ õîëáîëòóóäòàé ñåðâåð³³äèéã àæèëëóóëæ áàéõàä ïîðòûí õ³ðýý íü àñóóäàë áèø þì. Òàíû ïîðò äóóñàæ áîëîõ òèéì òîõèîëäëóóäàä net.inet.ip.portrange.last õóâüñàã÷èéã äàðóóõíààð èõýñãýõèéã ç°âë°ä°ã. 10000, 20000 ýñâýë 30000 íü áîëîìæèéí óòãóóä þì. Ïîðòûí õ³ðýýã °°ð÷èëæ áàéõäàà ãàëò õàíûí í°ë°°ëë³³äèéã áàñ áîäîëöîõ õýðýãòýé. Çàðèì ãàëò õàíà èõ õýìæýýíèé ïîðòóóäûã õààæ áîëîõ á°ã°°ä (èõýíõäýý áàãà äóãààðûí ïîðòóóä) ñèñòåì °íä°ð äóãààðûí ïîðòóóäûã ãàðàõ õîëáîëòóóääàà àøèãëàäãèéã áîäîëöîõ ¼ñòîé — èéì ó÷ðààñ net.inet.ip.portrange.first-èéã áàãàñãàõûã ç°âë°ä°ãã³é.
11.13.2.2 TCP õóðä ñààðóóëàã÷ á³òýýãäýõ³³í³³ä
TCP õóðä ñààðóóëàã÷ á³òýýãäýõ³³íèé õÿçãààðëàëò íü NetBSD äýõ TCP/Vegas-òàé àäèëõàí þì.
õóâüñàã÷èéã 1 áîëãîí òîõèðóóëæ ³³íèéã èäýâõæ³³ëäýã. Ñèñòåì õîëáîëò á³ðèéí õóâüä õóðä ñààðóóëàã÷ á³òýýãäýõ³³íèéã òîîöîîëîõûã îðîëääîã á°ã°°ä ñ³ëæýýí äýõ
net.inet.tcp.inflight.enable sysctl
337
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
äàðààëàëä îðóóëàõ °ã°ãäëèéí õýìæýýã õàìãèéí áîëîìæèéí íýâòð³³ëýõ ÷àäàìæèéã áàéíãà áàðüæ áàéõ òýð õýìæýýíä õ³ðãýæ õÿçãààðëàäàã. Õýðýâ òà °ã°ãäëèéã ìîäåìóóä, èãàáèò Ethernet, ýñâýë á³ð °íä°ð õóðäíû WAN õîëáîëòóóäààð (ýñâýë äóðûí °íä°ð õóðä ñààðóóëàã÷ á³òýýãäýõ³³íòýé õîëáîëò) äàìæóóëæ áàéãàà áîë ÿëàíãóÿà òà áàñ öîíõ °ñã°ëòèéã àøèãëàæ áàéãàà ýñâýë òîì èëãýýõ öîíõ òîõèðóóëñàí áîë ýíý áîëîìæ íü àøèãòàé þì. Õýðýâ òà ýíý òîõèðóóëãûã èäýâõæ³³ëýõ áîë áàñ net.inet.tcp.inflight.debug-èéã 0 (äèáàã õèéõèéã áîëèóëàõ) áîëãîæ òîõèðóóëàõ õýðýãòýé á°ã°°ä ³éëäâýðëýëèéí àøèãëàëòàä net.inet.tcp.inflight.min-èéã õàìãèéí áàãààð áîäîõîä 6144 áîëãîõ íü àøèãòàé áàéæ áîëîõ þì. ýõäýý õàìãèéí áàãà òîîã °íä°ð áîëãîõ íü õîëáîëòîîñ õàìààðàí õóðä õÿçãààðëàëòûã èäýâõòýéãýýð áîëèóëæ áîëîõûã ñàíàõ õýðýãòýé. Õÿçãààðëàõ áîëîìæ íü äóíäûí ÷èãë³³ëýëòèéí ³åä á³òýýãäñýí °ã°ãäëèéí õýìæýýã áàãàñãàõ á°ã°°ä ïàêåòèéí äàðààëëóóäûã ñîëüæ ëîêàë õîñòûí èíòåðýéñ äýõ äàðààëàë äýýð á³òýýãäñýí °ã°ãäèéí õýìæýýã ì°í áàãàñãàäàã. Äàðààëàëä îðñîí ö°°í òîîíû ïàêåòóóäòàé, ÿëàíãóÿà óäààí ìîäåìîîð äàìæñàí èíòåðàêòèâ õîëáîëòóóä íü áàãà Round Trip Times áóþó Ýðãýí Àÿëàõ Õóãàöààòàéãààð àæèëëàæ áàñ ÷àääàã. ýõäýý ýíý áîëîìæ íü ç°âõ°í °ã°ãä°ë äàìæóóëàëòàä (èëãýýõ / ñåðâåð òàëûí) í°ë°°ëäãèéã ñàíàõ õýðýãòýé. Ýíý íü °ã°ãä°ë õ³ëýýí àâàõàä í°ë°° ³ç³³ëýõã³é (òàòàæ àâàõ). net.inet.tcp.inflight.stab-èéã òààðóóëàõûã ç°âë°ä°ãã³é . Ýíý ïàðàìåòð íü õóðä ñààðóóëàõ á³òýýãäýõ³³íèé öîíõíû òîîöîîëîëä íýìñýí 2 õàìãèéí èõ ïàêåòèéã èëýðõèéëæ àíõäàã÷ààð 20 áàéäàã. Ýíý àëãîðèòìèéã òîãòâîðæóóëàõ áîëîí °°ð÷ë°ãä°æ áàéãàà í°õöë³³äýä õàðèó °ã°õ áîëîìæèéã ñàéæðóóëàõàä íýìýëò öîíõ øààðäëàãàòàé áîëîâ÷ ýíý íü áàñ óäààí õîëáîëò äýýð ping õèéõ õóãàöàà èõýñãýõýä õ³ðãýäýã (ãýõäýý òàíûã ýíý (inflight) àëãîðèòìèéã àøèãëààã³é áàéõàä ãàðñàí ³ð ä³íãýýñ õàìààã³é áàãà õýâýýð ë áàéíà). Èéì òîõèîëäîëä ýíý ïàðàìåòðèéã 15, 10, ýñâýë 5 áîëãîí áàãàñãàõûã õ³ñýæ áîëîõ þì; ì°í õ³ññýí ³ð ä³íäýý õ³ðýõèéí òóëä net.inet.tcp.inflight.min õóâüñàã÷èéã (æèøýý íü 3500 áîëãîæ) áàñ áàãàñãàæ áîëîõ þì. Ýäãýýð ïàðàìåòð³³äèéã áàãàñãàõ íü õàìãèéí ñ³³ëä àâàõ àðãà õýìæýý áàéõ ¼ñòîé þì. 11.13.3
Âèðòóàë ñàíàõ îé
11.13.3.1 kern.maxvnodes vnode íü àéë ýñâýë ñàíãèéí äîòîîä ä³ðñëýë þì. Òýãýõýýð ³éëäëèéí ñèñòåìä áàéõ vnode-èéí òîîã èõýñãýõ íü äèñê I/O-ã áàãàñãàäàã. Ýíý íü èõýâ÷ëýí ³éëäëèéí ñèñòåìýýð çîõèöóóëàãääàã á°ã°°ä °°ð÷ë°õ õýðýãã³é áàéäàã. Çàðèì òîõèîëäîëä äèñê I/O íü ãîë àñóóäàë ó÷ðóóëæ ñèñòåìä vnode áàéõã³é áîëæ áàéâàë ýíý òîõèðóóëãûã èõýñãýõ õýðýãòýé áîëíî. Èäýâõã³é áîëîí ÷°ë°°òýé RAM-èéí õýìæýýã áîäîëöîõ øààðäëàãàòàé. Òóõàéí ³åä àøèãëàãäàæ áàéãàà vnode-óóäûã ³çýõäýý: # sysctl vfs.numvnodes
vfs.numvnodes: 91349
Õàìãèéí èõ vnode-óóäûã ³çýõäýý: # sysctl kern.maxvnodes
kern.maxvnodes: 100000
338
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Õýðýâ òóõàéí ³åèéí vnode àøèãëàëò õàìãèéí èõ õýìæýý óðóó áàðàã ä°õ°æ áàéâàë kern.maxvnodes-èéã 1,000-ààð èõýñãýõ íü ç³éòýé áàéæ áîëîõ þì. vfs.numvnodes-èéí òîîí äýýð áàñ àíõààðëàà õàíäóóëààðàé. Õýðýâ ýíý íü äàõèí õàìãèéí èõ óðóóãàà äýýøèëáýë kern.maxvnodes-èéã öààø èõýñãýõ øààðäëàãàòàé áîëíî. top(1)-èéí ãàðãàñàí ä³íãýýñ òàíû ñàíàõ îéí °°ð÷ë°ëò õàðàãäàõ ¼ñòîé. Ò³ð³³íèéõýýñ èë³³ ñàíàõ îé èäýâõòýé áàéõ ¼ñòîé.
11.14 Swap
çàé íýìýõ íü
Òà ÿàæ ÷ ñàéí ò°ë°âë°ñ°í áàéëàà ãýñýí çàðèìäàà ñèñòåì òàíû áîäñîíîîð àæèëëàäàã³é. Õýðýâ òàíä swap çàé èë³³ õýðýãöýýòýéã ìýäâýë òà ³³íèéã àìàðõíààð íýìæ áîëíî. Òà ãóðâàí àðãààð swap çàéã èõýñãýæ áîëíî: øèíý õàòóó äèñê íýìýõ, NFS-èéí òóñëàìæòàé swap èäýâõæ³³ëýõ áîëîí áàéãàà õóâààëò äýýð swap àéë ³³ñãýæ èõýñãýæ áîëíî. Swap çàéã õýðõýí øèðëýõ, ÿìàð òîõèðóóëãóóä áàéãàà áîëîí ÿàãààä õèéõ ¼ñòîé òàëààð ãàðûí àâëàãûí Section 18.17 õóóäñàíä õàíäàíà óó. 11.14.1
Øèíý äèñê äýýðõ swap
Ìýäýýæ swap íýìýõ õàìãèéí øèëäýã àðãà íü ýíý áîëîìæèéã øàëòàã áîëãîí àøèãëàæ °°ð õàòóó äèñê íýìýõ ÿâäàë þì. Åð íü òà ³ðãýëæ °°ð õàòóó äèñê àøèãëàæ áîëíî ë äîî. Õýðýâ òà èíãýõ áîë °°ðèéí swap-àà õýðõýí õàìãèéí øèëäãýýð çîõèîí áàéãóóëæ áîëîõ òàëààð äóðäñàí çàðèì ç°âë°ã°°í³³äèéí òóõàé àðûí àâëàãûí Section 11.2 äàõü swap çàéí õýëýëö³³ëãýýñ äàõèí óíøààðàé.
èéí òóñëàìæòàé swap õèéõ íü
11.14.2 NFS-
NFS-èéí òóñëàìæòàé swap õèéõèéã ç°âõ°í swap õèéõ ëîêàë õàòóó äèñê òàíä áàéõã³é ³åä ë ç°âë°ä°ã; NFS swap õèéõ íü áàéãàà ñ³ëæýýíèé õóðäààð õÿçãààðëàãääàã á°ã°°ä NFS ñåðâåðò íýìýëò à÷ààëàë ³ç³³ëäýã.
11.14.3 Swap
àéëóóä
Òà swap àéë áîëãîí àøèãëàõààð çààñàí õýìæýýòýé àéëûã ³³ñãýæ áîëíî. Ýíä áàéãàà æèøýýí äýýð áèä /usr/swap0 ãýñýí íýðòýé 64MB àéëûã àøèãëàíà. Ìýäýýæ òà õ³ññýí ÿìàð ÷ íýðýý àøèãëàæ áîëíî. Example 11-1. Swap
àéë FreeBSD äýýð ³³ñãýõ íü
1. Òàíû ö°ìèéí òîõèðãîîíä ñàíàõ îéí äèñêíèé äðàéâåð (md(4)) îðñîí ýñýõèéã øàëãààðàé. Ýíý íü GENERIC ö°ìä àíõäàã÷ààð îðñîí áàéäàã. device
md
# Memory "disks"
2. Swap àéë (/usr/swap0) ³³ñãýíý: # dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
3. Ç°â ç°âø°°ðë³³äèéã (/usr/swap0-ä) íýýæ òîõèðóóëíà: # chmod 0600 /usr/swap0
339
Chapter 11 Òîõèðãîî áà Òààðóóëàëò 4. /etc/rc.conf-ä swap àéëûã èäýâõæ³³ëíý: swapfile="/usr/swap0"
# Set to name of swapfile if aux swapfile desired.
5. Ìàøèíûã äàõèí ýõë³³ëíý ýñâýë swap àéëûã øóóä èäýâõæ³³ëýõèéí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
11.15
Òýæýýë áîëîí Ýõ ³³ñâýðèéí Óäèðäëàãà
Áè÷ñýí Õèòýí Ïàíäèà and Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. Òîíîã ò°õ°°ð°ìæèéí ýõ ³³ñâýð³³äèéã ³ð àøèãòàé àøèãëàõ íü ÷óõàë þì. ACPI òàíèëöóóëàãäàõààñ °ìí° ñèñòåìèéí òýæýýëèéí àøèãëàëò áîëîí äóëààíû øèíæ ÷àíàðóóäûã óäèðäàõàä ³éëäëèéí ñèñòåì³³äèéí õóâüä õýö³³, óÿí õàòàí áèø áàéñàí. Òîíîã ò°õ°°ð°ìæ íü BIOS-îîð óäèðäàãääàã áàéñàí áîëîõîîð òýæýýëèéí óäèðäëàãûí òîõèðãîîíóóäûí õàðàãäàö áàãà á°ã°°ä õýðýãëýã÷èä õÿíàõ áîëîìæ áàãà áàéñàí þì.Çàðèì íýãýí õÿçãààðëàãäìàë òîõèðãîîíû áîëîìæ Advanced Power Management áóþó Òýæýýëèéí Äýâøèëòòýé Óäèðäëàãà (APM) èíòåðýéñýýð õèéãäýõ áîëîìæòîé áàéñàí. Òýæýýë áîëîí Ýõ ³³ñâýðèéí Óäèðäëàãà íü îð÷èí ³åèéí ³éëäëèéí ñèñòåìèéí ò³ëõ³³ð õýñã³³äèéí íýã þì. Æèøýý íü òàíû ñèñòåìèéí õýì ãýíýò íýìýãäýõ òîõèîëäîëä ñèñòåìèéí õÿçãààðóóäûã ³éëäëèéí ñèñòåì ìîíèòîð õèéõèéã (ìàãàäã³é òàíä ìýäýýëýõèéã) õ³ñýæ áîëîõ þì. FreeBSD àðûí àâëàãûí ýíý õýñýãò áèä ACPI-èéí òàëààð íýâòýðõèé ìýäýýëëýýð õàíãàõ áîëíî. Öààø íýìæ óíøèõàä çîðèóëñàí ìýäýýëë³³äèéã ò°ãñã°ë õýñýãò îðóóëñàí áàéãàà. 11.15.1 ACPI
ãýæ þó âý?
Advanced Configuration and Power Interface áóþó Äýâøèëòòýé Òîõèðãîî áà Òýæýýëèéí Èíòåðýéñ (ACPI) íü òîíîã ò°õ°°ð°ìæèéí ýõ ³³ñâýð³³ä áîëîí òýæýýëèéí óäèðäëàãàä (ýíäýýñ íýð ãàðñàí) çîðèóëñàí ñòàíäàðò èíòåðýéñèéã õàíãàõ çîðèëãîîð ³éëäâýðëýã÷äèéí õîëáîîíîîñ áè÷èí ãàðãàñàí ñòàíäàðò þì. Ýíý íü éëäëèéí Ñèñòåìýýð çààëãàñàí òîõèðãîî áà Òýæýýëèéí Óäèðäëàãûí ò³ëõ³³ð ýëåìåíò þì, °°ð°°ð õýëáýë: ýíý íü èë³³ õÿíàëò áîëîí óÿí õàòàí áàéäëûã ³éëäëèéí ñèñòåìä (OS) õàíãàäàã. ACPI-ã
òàíèëöóóëàõààñ °ìí° îäîîãèéí Çàëãààä Òîãëóóëàõ èíòåðýéñ³³äèéí õÿçãààðóóäûã îð÷èí ³åèéí ñèñòåì³³ä “ñóíãàñàí” þì. ACPI íü APM-èéí (Advanced Power Management áóþó Òýæýýëèéí Äýâøèëòýò Óäèðäëàãà) øóóä çàëãàìæëàã÷ þì. 11.15.2
Òýæýýëèéí Äýâøèëòýò Óäèðäëàãûí (APM) ñóë òàëóóä
Òýæýýëèéí Äýâøèëòýò Óäèðäëàãà (APM) áîëîìæ íü ñèñòåìèéí òýæýýëèéí àøèãëàëòûã ò³³íèé àæèëëàãààí äýýð ³íäýñëýí õÿíàäàã. APM BIOS íü (ñèñòåì) ³éëäâýðëýã÷ýýñ õàíãàãääàã á°ã°°ä òîíîã ò°õ°°ð°ìæèéí òàâöàí á³ðèéí õóâüä îíöëîã áàéäàã. OS äàõü APM äðàéâåð íü òýæýýëèéí ò³âøèíã³³äèéí óäèðäëàãûã ç°âø°°ðä°ã APM Ïðîãðàì õàíãàìæèéí Èíòåðýéñ óðóó õàíäàõ õàíäàëòûã çóó÷èëæ °ãä°ã. APM-èéã 2000 îíä áîëîí òýðíýýñ °ìí° ³éëäâýðëýñýí ñèñòåì³³äýä àøèãëàõ ¼ñòîé õýâýýð áàéäàã. APM-ä ä°ðâ°í ³íäñýí àñóóäàë áàéäàã. Íýãä³ãýýðò, òýæýýëèéí óäèðäëàãà (³éëäâýðëýã÷èéí îíöëîãòîé) BIOS-îîð õèéãääýã á°ã°°ä OS íü ýíý òàëûí ÿìàð ÷ ìýäëýã áàéäàãã³é. ³íèé íýã æèøýý íü õýðýãëýã÷
340
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
õàòóó äèñêíèé ñóë çîãñîõ õóãàöààã APM BIOS äýýð çààæ °ã°°ä òýð íü çààñíààñ èë³³ ãàðâàë BIOS õàòóó äèñêèéã OS-èéí ç°âø°°ð°ëã³éãýýð ýðã³³ëäýã. Õî¼ðäóãààðò, APM-èéí ëîãèê BIOS-ä ñóóëãàãäñàí áàéäàã á°ã°°ä OS-èéí ýðõ õýìæýýíýýñ ãàäíà àæèëëàäàã. Ýíý íü õýðýãëýã÷èä °°ðñäèéí APM BIOS-èéã ç°âõ°í øèíý õóâèëáàðààð íü ROM óðóó íü øàðæ àñóóäëóóäûã çàñâàðëàõ áîëîìæòîé ãýñýí ³ã þì; ýíý íü àìæèëòã³é áîëáîë ñèñòåìèéã äàõèí ñýðãýýãäýõã³é ò°ë°âò îðõèæ áîëîõ áîëîìæòîé ìàø àþóëòàé ïðîöåäóð þì. óðàâäóãààðò, APM íü ³éëäâýðëýã÷èéí îíöëîãòîé òåõíîëîãè á°ã°°ä ýíý íü ìàø îëîí àäèë ò°ñ°°òýé áàéäàë (÷àðìàéëòóóäûí õóóëáàð) áîëîí íýã ³éëäâýðëýã÷èéí BIOS-ä îëäñîí àëäààíóóä áóñàä ³éëäâýðëýã÷äèéí õóâüä øèéäýãäýýã³é áàéæ áîëíî ãýñýí ³ã þì. Õàìãèéí ñ³³ëä ãýõäýý ò°ãñã°ëèéíõ áèø, APM BIOS íü òýæýýëèéí ìàø íàðèéí áîäëîãî ýñâýë ìàøèíû çîðèóëàëòàä çîðèóëàãäàí ìàø ñàéí òîõèðóóëàãäàõ òèéì øèéäëèéã õèéõýä õàíãàëòòàé çàéã³é áàéäàã. Çàëãààä Òîãëóóëàõ BIOS (PNPBIOS) íü îëîí òîõèîëäîëä íàéäâàðòàé áèø áàéñàí þì. PNPBIOS íü 16-áèòèéí òåõíîëîãè, òèéì áîëîõîîð OS íü PNPBIOS àðãóóäòàé õîëáîãäîõäîî 16-áèòèéí ýìóëÿö õýðýãëýõ øààðäëàãàòàé áîëäîã. FreeBSD-èéí APM äðàéâåð apm(4) ãàðûí àâëàãûí õóóäñàíä áàðèìòæóóëàãäñàí áàéäàã.
ã òîõèðóóëàõ íü
11.15.3 ACPI-
acpi.ko äðàéâåð íü ñèñòåìèéã ýõë³³ëýõ ³åä loader(8)-îîð àíõäàã÷ààð à÷ààëàãääàã á°ã°°ä ö°ìä îðóóëæ õ°ðâ³³ëýãäýõ ¼ñã³é. ³íèé öààäàõ øàëòãààí íü ìîäóëèóäòàé àæèëëàõ õÿëáàð áàéäàã, °°ð°°ð õýëáýë ö°ìèéã äàõèí õ°ðâ³³ëýëã³éãýýð °°ð acpi.ko óðóó øèëæäýã. Ýíý íü òåñò õèéëòèéã èë³³ àìàðõàí áîëãîäîã äàâóó òàëòàé þì. Í°ã°° íýã øàëòãààí íü ñèñòåìèéã àæèëëóóëæ äóóññàíû äàðàà ACPI-ã àæèëëóóëàõàä èõýâ÷ëýí ñàéí àæèëëàäàãã³é. Õýðýâ òà àñóóäëóóäòàé ó÷èð÷ áàéãàà áîë ACPI-ã á³õýëä íü õààõ õýðýãòýé. Ýíý äðàéâåðèéã à÷ààëñíû äàðàà áóóëãàæ áîëèóëæ ÷àääàãã³é, áîëäîãã³é, ó÷èð íü ñèñòåìèéí øóãàì ³³íèéã ò°ð°ë á³ðèéí òîíîã ò°õ°°ð°ìæ³³äèéí õàðèëöàí ³éëäë³³äýä õýðýãëýäýã. ACPI-ã /boot/loader.conf àéëä þì óó ýñâýë loader(8) õ³ëýýõ ì°ð°íä hint.acpi.0.disabled="1" ãýæ òîõèðóóëàí õààæ áîëäîã. Note: ACPI áîëîí APM íü öóã áàéæ áîëîõã³é
á°ã°°ä ñàëàíãèä õýðýãëýãäýõ ¼ñòîé. ѳ³ëä à÷ààëàãäàõ äðàéâåð íü õýðýâ í°ã°° íýãèéã àæèëëàæ áàéãààã ìýäâýë àæèëëàãààãàà äóóñãàâàð áîëãîäîã.
ACPI íü acpiconf(8)-èéí -s òóã áîëîí 1-5 òîõèðóóëãûí òóñëàìæòàéãààð ñèñòåìèéã óíòàõ ãîðèì øèëæ³³ëýõýä õýðýãëýãäýæ áîëíî. Èõýíõ õýðýãëýã÷äýä ç°âõ°í 1 ýñâýë 3 (RAM ðóó ò³ð çîãñîîõ) õýðýãòýé áàéäàã. 5 òîõèðóóëãà íü äàðààõ òóøààëòàé íýã ¼ñîíäîî àäèëûã ã³éöýòãýíý: # halt -p
Áóñàä òîõèðóóëãóóä sysctl(8)-èéí òóñëàìæòàé áàéäàã. Äýëãýðýíã³é ìýäýýëëèéí òàëààð acpi(4) áîëîí acpiconf(8) ãàðûí àâëàãûí õóóäàñíóóäààñ øàëãàíà óó. 11.16 FreeBSD-
èéí ACPI-ã àøèãëàõ íü áà äèáàã õèéõ íü
Áè÷ñýí Íýéò Ëîîñîí. Õóâü íýìýðëýöãýýñýí Ïèòåð Øóëüö and Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. ACPI íü ò°õ°°ð°ìæ³³äèéã èëð³³ëýõ, òýæýýëèéí àøèãëàëòûã óäèðäàõ áîëîí óðüä íü BIOS-îîð 341
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
óäèðäàãääàã áàéñàí ò°ð°ë á³ðèéí òîíîã ò°õ°°ð°ìæèä õàíäàõ ñòàíäàðò÷èëàãäñàí õàíäàëòûã õàíãàäàã öîî øèíý àðãà þì. Á³õ ñèñòåì³³ä äýýð ACPI-ã àæèëëóóëàõ òàë äýýð äýâøèë õèéãäñýí á°ã°°ä ãýõäýý çàðèì ýõ õàâòàíãóóäûí ACPI Ìàøèíû Õýë íèé (AML) áàéòêîä äàõü àëäààíóóä, FreeBSD-èéí ö°ìèéí äýä ñèñòåì³³äèéí á³ðýí á³òýí áóñ áàéäàë áîëîí Intel ACPI-CA òàéëáàðëàã÷ äàõü àëäààíóóä èëýðñýýð áàéíà. Ýíý áàðèìò íü òàíûã FreeBSD-èéí ACPI äýìæèã÷äýä òóñàëæ òàíû àæèãëàñàí àñóóäëóóäûí ³íäñýí ó÷èð øàëòãààíûã òàíèõ, äèáàã õèéõ áîëîí øèéäëèéã õ°ãæ³³ëýõýä òóñëàõ çîðèëãîòîé þì. ³íèéã óíøèæ áàéãààä òàëàðõëàà èëýðõèéëýõèéí ÿëäàìä áèä òàíû ñèñòåìèéí àñóóäëóóäûã øèéäýæ ÷àäíà ãýäýãò íàéäàæ áàéíà. 11.16.1
Äèáàã ìýäýýëëèéã èëãýýõ íü
Note: Àñóóäëûã èëãýýõýýñýý °ìí° òà õàìãèéí ñ³³ëèéí ³åèéí BIOS-èéí õóâèëáàð áîëîí õýðýâ áàéõ þì áîë ñóóëãàãäñàí õÿíàã÷èéí õàìãèéí ñ³³ëèéí firmware õóâèëáàð àæèëëóóëæ áàéãàà ýñýõýý øàëãààðàé.
Àñóóäëûã øóóä èëãýýõèéã õ³ñýæ áàéãàà÷óóä äàðààõ ìýäýýëëèéã (mailto:[email protected] ) óðóó èëãýýíý ³³: •
•
• •
•
[email protected]
Ñèñòåìèéí ò°ð°ë áîëîí çàãâàðûã îðîëöóóëàí àëäààã ãàðãàæ áàéãàà ç³éëèéí õàìòààð àëäààòàé àæèëëàãààã òàéëáàðëàñàí ìýäýýëýë. Ì°í õýðýâ àëäàà òàíû õóâüä øèíý áîë ÿã õýçýý ãàð÷ ýõýëñíèéã àëü áîëîõ òîäîðõîé ãàðãààðàé. boot -v àæèëëàñíû äàðààõ dmesg(8)-èéí ãàðàëòûã àëäààã øàëãàæ áàéõàä òàíû ³³ñãýñýí àëäààíû ìýäýýëë³³äèéí õàìòààð. Õýðýâ ACPI-ã õààñàí áàéõàä àñóóäëûã øèéäýæ áàéâàë òèéì áàéõ ³å äýõ boot -v-èéí ãàðàëò. sysctl hw.acpi-èéí ãàðàëò. Ýíý íü òàíû ñèñòåì ÿìàð ÿìàð áîëîìæóóäûã ñàíàë áîëãîæ áàéãààã ìýäýõ áàñ íýã ñàéí àðãà þì. Òàíû ACPI Ýõ Õýë (ASL) áàéõ URL õàÿã. ASL íü ìàø òîì áàéæ áîëîõ ó÷èð øóóä áèòãèé æàãñààëò óðóó èëãýýãýýðýé. °ðèéí ASL-èéí õóóëáàðûã ýíý òóøààëûã àøèãëàæ ³³ñãýýðýé: # acpidump -dt > name-system .asl
(°ðèéí íýâòðýõ íýðèéã name-èéí îðîíä áîëîí ³éëäâýðëýã÷/çàãâàðûã system-èéí îðîíä ñîëèîðîé. Æèøýý íü: njl-FooCo6000.asl)
Èõýíõ õ°ãæ³³ëýã÷èä FreeBSD-CURRENT çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current) ³çýæ áàéäàã, ãýõäýý àñóóäëóóäàà õàðàãäóóëàõûí òóëä freebsd-acpi (http://lists.FreeBSD.org/mailman/listinfo/freebsd-acpi) óðóó èëãýýãýýðýé. Áèä á³ãä õàà íýãòýý °°ð °°ðèéí ³íäñýí àæèëòàé ó÷èð òýâ÷ýýðòýé áàéíà óó. Õýðýâ òàíû àëäàà øóóä èëýðõèé áèø áàéõ þì áîë ìàãàäã³é áèä òàíûã send-pr(1)-èéí òóñëàìæòàé PR èëãýýõèéã àñóóõ áàéõ. PR îðóóëàõäàà äýýð õ³ññýíèé àäèë ìýäýýëëýý îðóóëíà óó. Ýíý íü àñóóäëûã ì°øã°æ øèéäâýðëýõýä áèäýíä òóñëàõ þì. Áèä PR-óóäûã ìýäýýëýõ ìåõàíèçìûí çîðèëãîîð áèø áàéãàà àñóóäëóóäûã ñàíàæ áàéõ çîðèëãîîð àøèãëàäàã áîëîõîîð ýõëýýä freebsd-acpi (http://lists.FreeBSD.org/mailman/listinfo/freebsd-acpi) óðóó çàõèäàë èëãýýëã³éãýýð PR áèòãèé èëãýýãýýðýé. Ìàãàäã³é òàíû àñóóäëûã óðä íü °°ð õýí íýãýí ìýäýýëñýí áàéæ áîëîõ þì.
342
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
11.16.2
Îðøèë
ACPI íü ia32 (x86), ia64 (Itanium) áîëîí amd64 (AMD) àðõèòåêòóðóóäòàé íèéöòýé îð÷èí ³åèéí á³õ êîìïüþòåðò áàéäàã. Á³ðýí ñòàíäàðò íü CPU-íû àæèëëàãààíû óäèðäëàãà, òýæýýëèéí îíãîöóóäûí õÿíàëò, äóëààíû á³ñ³³ä, ò°ð°ë á³ðèéí áàòàðåéíèé ñèñòåì³³ä, ñóóëãàãäñàí õÿíàã÷óóä áîëîí øóãàìûí æàãñààëò çýðýã îëîí áîëîìæóóäòàé. Èõýíõ ñèñòåì³³ä íü á³ðýí ñòàíäàðòûã á³ãäèéã õàíãàñàí øèéäýëòýé áàéäàãã³é. Æèøýý íü ç°°âðèéí êîìïüþòåð õ°ðã°õ áîëîí áàñ áàòàðåéíèé óäèðäëàãûí
äýìæëýãòýé áàéõàä øèðýýíèé ñèñòåì ç°âõ°í øóãàìûí æàãñààëòûí õýñãèéí øèéäëèéã àãóóëñàí áàéäàã. Ç°°âðèéí êîìïüþòåðóóä íü áàñ °°ð °°ðèéí ÿðâèãòàé àñóóäëóóäûã àãóóëñàí ò³ð çîãñîîõ áîëîí ³ðãýëæë³³ëýõ áîëîìæóóäûã àãóóëäàã. ACPI-íèéöòýé ñèñòåì íü ò°ð°ë á³ðèéí õýñã³³äòýé áàéäàã. BIOS áîëîí áè÷èë ñõåìèéí ³éëäâýðëýã÷èä APIC çóðàã (SMP-ä àøèãëàãääàã), òîõèðãîîíû ðåãèñòð³³ä áîëîí õÿëáàð òîõèðãîîíû óòãóóä çýðýã ç³éëñ³³äèéã çààäàã ò°ð°ë á³ðèéí òîãòìîë õ³ñíýãò³³äèéã (°°ð°°ð õýëáýë FADT) ñàíàõ îéä õàíãàæ °ãä°ã. Ì°í ò°õ°°ð°ìæ³³ä áîëîí àðãóóäûí ìîä õýëáýðèéí íýðèéí òàëáàðûã çààäàã áàéòêîäûí õ³ñíýãòýýð (Differentiated System Description Table áóþó Ñèñòåìèéí ßëãàâàðëàñàí Òàéëáàðûí Õ³ñíýãò DSDT) áàñ õàíãàäàã. ACPI äðàéâåð íü òîãòìîë õ³ñíýãò³³äèéã çàäëàí ÿëãàë õèéõ, áàéòêîäûí òàéëáàðëàã÷èéã øèéäýõ áîëîí ACPI äýä ñèñòåìèéí ìýäýýëëèéã õ³ëýýí àâàõààð ò°õ°°ð°ìæ³³äèéí äðàéâåðóóä áîëîí ö°ìèéã °°ð÷ë°õ ¼ñòîé. FreeBSD-èéí õóâüä Intel íü Ëèíóêñ áîëîí NetBSD-òýé õóâààëöàí õýðýãëýãääýã òàéëáàðëàã÷ààð õàíãàäàã. ACPI-CA ýõ êîäûí çàì íü src/sys/contrib/dev/acpica. ACPI-CA-ã FreeBSD äýýð àæèëëóóëàõ òýð öàâóó êîä íü src/sys/dev/acpica/Osd áàéðøèëä áàéäàã. Ýöýñò íü ò°ð°ë á³ðèéí ACPI ò°õ°°ð°ìæ³³äèéí äðàéâåðóóä src/sys/dev/acpica áàéðøëààñ îëääîã. 11.16.3
Íèéòëýã àñóóäëóóä
ACPI ç°â àæèëëàõûí òóëä á³õ õýñã³³ä áàñ ç°â àæèëëàñàí áàéõ ¼ñòîé. Ýíä çàðèì íýã íèéòëýã
àñóóäëóóäûã èëýð÷ áàéãàà äàâòàìæèéí äàðààëëààð çàðèì íýã òîéðîí ãàðàõ çàìóóä áîëîí çàñâàðóóäòàéãààð íü äóðäúÿ. 11.16.3.1 Õóëãàíû àñóóäëóóä
Çàðèì òîõèîëäîëä ò³ð çîãñîîõ ³éëäýë õèéãäñýíèé äàðàà ³ðãýëæë³³ëýõýä õóëãàíûã àæèëëàõã³é áîëãîäîã. Ìýäýãäýæ áàéãàà òîéðîí ãàðàõ àðãà çàì íü hint.psm.0.flags="0x3000" ì°ðèéã /boot/loader.conf àéëä íýìýõ ÿâäàë þì. Õýðýâ ýíý íü àæèëëàõã³é áîë äýýð òàéëáàðëàñíû äàãóó àëäààíû òàéëàí èëãýýõèéã áîäíî óó. 11.16.3.2 Suspend/Resume áóþó Ò³ð çîãñîîõ/ðãýëæë³³ëýõ
ACPI íü RAM óðóó ò³ð çîãñîîõ S1-S3 ãýñýí ãóðâàí ò°ë°âòýé (STR) á°ã°°ä äèñê óðóó ò³ð çîãñîîõ S4 ãýãääýã íýã ò°ë°âòýé (STD). S5 íü “soft off áóþó ç°°ë°í çîãñîîëò” á°ã°°ä òýæýýëä çàëãàãäñàí áîëîâ÷ àñààãäààã³é áàéõ ³åèéí òàíû ñèñòåìèéí æèðèéí ò°ë°â þì. S4 íü õî¼ð òóñäàà àðãààð õèéãäýõ áîëîìæòîé. S4BIOS íü BIOS-èéí òóñëàìæòàéãààð äèñê óðóó õèéãäýõ ò³ð çîãñîîëò þì. S4OS íü á³õýëäýý ³éëäëèéí ñèñòåìýýð õèéãääýã.
Ò³ð çîãñîîëòòîé õîëáîîòîé ç³éë³³äèéã sysctl Thinkpad-òàé õîëáîîòîé ³ð ä³íã³³ä áàéíà:
hw.acpi
òóøààëààð øàëãàæ ýõëýýðýé. Ýíä
hw.acpi.supported_sleep_state: S3 S4 S5
343
Chapter 11 Òîõèðãîî áà Òààðóóëàëò hw.acpi.s4bios: 0
Ýíý íü áèä S3, S4OS áîëîí S5-èéã øàëãàõàä acpiconf -s òóøààëûã àøèãëàæ áîëíî ãýñýí ³ã þì. Õýðýâ s4bios íü íýã (1) áàéõ þì áîë áèä S4OS-èéí îðîíä S4BIOS äýìæëýãòýé áàéõ þì. Ò³ð çîãñîîëò/³ðãýëæë³³ëýëòèéã òåñò õèéõäýý õýðýâ äýìæèãäñýí áîë S1-ýýñ ýõëýýðýé. Ýíý ò°ë°â íü äðàéâåðèéí äýìæëýã áàðàãòàà ë øààðääàãã³é áîëîõîîð áàðàã ë àæèëëàõ áîëíî. Õýí ÷ S2-èéã õèéãýýã³é áàéäàã á°ã°°ä òàíä ýíý õýðýâ áàéãàà áîë ýíý íü S1-òýé àäèë áàéíà. Äàðààãèéí îðîëäîõ ç³éë íü S3 þì. Ýíý íü õàìãèéí ã³íçãèé STR ò°ë°â á°ã°°ä òàíû òîíîã ò°õ°°ð°ìæèéã äàõèí ç°â ýõë³³ëýõèéí òóëä äðàéâåðèéí èõýýõýí äýìæëýã øààðääàã. Õýðýâ ³ðãýëæë³³ëýõ ³åä òàíä àñóóäëóóä ãàð÷ áàéãàà áîë freebsd-acpi (http://lists.FreeBSD.org/mailman/listinfo/freebsd-acpi) æàãñààëò óðóó öàõèì çàõèäàë ÷°ë°°òýé èëãýýãýýðýé, ãýõäýý èë³³ èõ òåñò õèéëò, àæèë øààðäñàí ìàø îëîí äðàéâåðóóä/òîíîã ò°õ°°ð°ìæ³³ä áàéäàã ó÷èð àñóóäàë øèéäýãäýõèéã õ³ëýýõ õýðýãã³é þì. Àñóóäëûã òóñãààðëàõàä òóñëàõûí òóëä °°ðèéí ö°ì°°ñ àëü áîëîõ îëîí äðàéâåðóóäûã àðèëãààðàé. Õýðýâ ýíý íü àæèëëàæ áàéâàë òà ÿã àëü äðàéâåð àñóóäàëòàé áàéãààã äðàéâåðóóäûã àìæèëòã³é àæèëëàõ õ³ðòýë à÷ààëàí òîäîðõîéëæ áîëîõ þì. nvidia.ko, X11 äýëãýöèéí äðàéâåðóóä áîëîí USB çýðýã õî¼ðòûí äðàéâåðóóä íü åð°íõèéä°° õàìãèéí èõ àñóóäëóóäòàé áàéäàã áàéõàä Ethernet èíòåðýéñ³³ä èõýâ÷ëýí ç³ãýýð àæèëëàäàã. Õýðýâ òà äðàéâåðóóäûã ç°â à÷ààëæ/áóóëãàæ ÷àäàæ áàéâàë òà òîõèðîõ òóøààëóóäûã /etc/rc.suspend áîëîí /etc/rc.resume àéëóóäàä õèéæ ³³íèéã àâòîìàòæóóëæ áîëíî. Äðàéâåðèéã áóóëãàõ áîëîí à÷ààëàõàä çîðèóëñàí òàéëáàð áîëãîñîí æèøýý áàéäàã. Õýðýâ òàíû äýëãýö ³ðãýëæë³³ëýëò õèéãäñýíèé äàðàà çàâààðñàí áîë hw.acpi.reset_video-ã òýã (0) áîëãîæ ³çýýðýé. Õýðýâ òóñëàìæ áîëîõîîð áîë hw.acpi.sleep_delay-ã àðàé óðò ýñâýë àðàé áîãèíî óòãóóäààð òîõèðóóëæ ³çýýðýé. °ð íýã òóðøèõ ç³éë íü ACPI äýìæëýãòýé ñ³³ëèéí ³åèéí Ëèíóêñèéí ò³ãýýëòèéã à÷ààëàí òýäíèé ò³ð çîãñîîëò/³ðãýëæë³³ëýëòèéí äýìæëýãèéã àäèë òîíîã ò°õ°°ð°ìæ äýýð òóðøèõ ÿâäàë þì. Õýðýâ Ëèíóêñ äýýð àæèëëàæ áàéâàë ýíý íü FreeBSD-èéí äðàéâåðèéí àñóóäàë ãýñýí ³ã á°ã°°ä ÿã àëü äðàéâåð àñóóäëûã ³³ñãýæ áàéãààã îëñíîîð àñóóäëûã çàñâàðëàõàä áèäýíä òóñ áîëîõ áîëíî. ACPI-èéã äýìæèæ áàéäàã äýìæèã÷èä íü °°ð áóñàä äðàéâåðóóäûã (°°ð°°ð õýëáýë äóó, ATA ãýõ ìýò) èõýâ÷ëýí äýìæèí àæèëëàäàãã³é áîëîõîîð äðàéâåðèéí àñóóäëûã ì°øã°æ õèéãäñýí àæèë á³ð ìàãàäã³é ýöñèéí ýöýñò freebsd-current (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current) æàãñààëò áîëîí äðàéâåðèéã äýìæèã÷ óðóó èëãýýãäýõ õýðýãòýéã ñàíààðàé. Õýðýâ òà àäàë ÿâäëûã ýðæ áàéãàà áîë äðàéâåðèéí ³ðãýëæë³³ëýëòèéí óíêöûí àëü õýñýãò °ëã°ãä°æ áàéãààã ì°øã°õèéí òóëä çàðèì äèáàã õèéõ printf(3)-³³äèéã àñóóäàëòàé äðàéâåðò õèéæ ýõëýýðýé. Ýöýñò íü ACPI-ã õààæ îðîíä íü APM-ã íýýæ îðîëäîîðîé. Õýðýâ ò³ð çîãñîîëò/³ðãýëæë³³ëýëò APM-òýé áàéõàä àæèëëàæ áàéâàë òà APM-òýéãýý ³ëäýõ íü ÿëàíãóÿà õóó÷èí òîíîã ò°õ°°ð°ìæèéí (2000 îíîîñ °ìí°õ) õóâüä áàðàã äýýð áàéõ áèçýý. ACPI äýìæëýãèéã ç°â áîëãîõîä ³éëäâýðëýã÷äýä öàã õóãàöàà øààðäàõ á°ã°°ä ìàãàäã³é õóó÷èí òîíîã ò°õ°°ð°ìæ³³ä íü ACPI-èéí õóâüä BIOS-èéí àñóóäëóóäòàé èõýâ÷ëýí áàéäàã. 11.16.3.3 Ñèñòåì °ëã°ãä°õ (ò³ð õóãàöààãààð ýñâýë á³ðì°ñ°í)
Èõýíõ ñèñòåìèéí °ëã°ãäë³³ä íü ãýýãäñýí òàñàëäëóóä ýñâýë òàñàëäëûí øóóðãûí ³ð ä³í þì. Áè÷èë ñõåì³³ä íü à÷ààëàõààñ °ìí° òàñàëäëóóäûã BIOS õýðõýí òîõèðóóëäãààñ áîëñîí àñóóäëóóä, APIC (MADT) õ³ñíýãòèéí ç°â áàéäàë áîëîí System Control Interrupt áóþó Ñèñòåìèéí Õÿíàã÷ Òàñàëäëûí (SCI) ÷èãë³³ëýëò äýýð òóëãóóðëàñàí îëîí àñóóäëóóäòàé áàéäàã. Òàñàëäëûí øóóðãûã vmstat -i òóøààëûí ãàðàëòààñ acpi0 á³õèé ì°ðèéã øàëãàæ ãýýãäñýí òàñàëäëóóäààñ ÿëãàæ áîëíî. Õýðýâ òîîëîã÷ ñåêóíä òóòàì õî¼ðîîð íýìýãäýæ áàéâàë òà òàñàëäëûí 344
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
øóóðãàòàé áàéíà. Õýðýâ ñèñòåì °ëã°ãäñ°í þì øèã áàéâàë DDB (êîíñîë äýýð CTRL+ALT+ESC) óðóó îðæ show interrupts ãýæ áè÷èõ õýðýãòýé. Òàñàëäëûí àñóóäëóóäòàé àæèëëàæ áàéõàä òàíû õàìãèéí øèëäýã èòãýë íàéäâàð áîë loader.conf-ä hint.apic.0.disabled="1" õýìýýí çààæ APIC äýìæëýãèéã õààõ ÿâäàë þì. 11.16.3.4 éìýýí³³ä
éìýýí³³ä íü ACPI-èéí õóâüä õàðüöàíãóé õîâîð áàéäàã á°ã°°ä çàñâàðëàõ íýí òýðã³³í ýýëæèéí àñóóäàë áàéäàã. Ýõíèé àëõàì áîë ³éìýýíèéã äàõèí ãàðãàõ (õýðýâ áîëîìæòîé áîë) àëõìóóäûã òóñãààðëàæ áóöàõ ì°ðèéã (backtrace) àâàõ ÿâäàë þì. options DDB ì°ðèéã íýýæ ñåðèàë êîíñîë (Section 26.6.5.3-ã ³çíý ³³) òîõèðóóëàõ ýñâýë dump(8) õóâààëòûã òîõèðóóëàõ ç°âë°ã°°ã äàãààðàé. Òà áóöàõ ì°ðèéã DDB äýýð tr-ð àâ÷ áîëíî. Õýðýâ òà áóöàõ ì°ðèéã ãàðààð áè÷èõ áîëáîë ì°ð äýõ õàìãèéí äîîäîõ òàâ (5) áîëîí õàìãèéí äýýäýõ òàâàí (5) ì°ðèéã õàìãèéí áàãàäàà áîäîõîä àâààðàé. Äàðàà íü àñóóäëûã òóñãààðëàõûã îðîëäîæ ACPI-ã õààæ à÷ààëæ ³çýýðýé. Õýðýâ ýíý íü àæèëëàæ áàéâàë debug.acpi.disable-èéí ò°ð°ë á³ðèéí óòãóóäûã õýðýãëýæ òà ACPI äýä ñèñòåìèéã òóñãààðëàæ áîëíî. Çàðèì æèøýýí³³äèéã acpi(4) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. 11.16.3.5 Ò³ð çîãññîíû äàðàà ýñâýë óíòðààñíû äàðàà ñèñòåì äàõèí ýõëýõ
Ýõëýýä loader.conf(5) äýýð hw.acpi.disable_on_poweroff="0" ãýæ òîõèðóóëààä ³ç. Ýíý íü óíòðààõ ïðîöåññèéí ³åä ò°ð°ë á³ðèéí ³éë ÿâöóóäûã ACPI õààõûã áîëèóëäàã. Ýíý çîðèëãûí íýãýí àäèë çàðèì ñèñòåì³³ä ýíý óòãûã 1 (àíõäàã÷) áîëãîæ òîõèðóóëàõûã øààðääàã. Ýíý íü ò³ð çîãñîîëò ýñâýë óíòðààëò õèéãäñýíèé äàðàà àÿíäàà ãàðñàí ñèñòåì àñàæ ýõëýõ àñóóäëûã èõýâ÷ëýí çàñâàðëàäàã.
11.16.3.6 Áóñàä àñóóäëóóä
Õýðýâ òàíä ACPI-òàé õîëáîîòîé áóñàä àñóóäëóóä (ñóóëãàõ ñòàíöòàé àæèëëàõ, ò°õ°°ð°ìæ³³ä èëð³³ëýãäýõã³é ãýõ ìýò) áàéâàë òàéëáàðûã çàõèäëûí æàãñààëò óðóó áàñ èëãýýíý ³³; ãýõäýý ýäãýýð àñóóäëóóäûí çàðèì íü ACPI äýä ñèñòåìèéí äóóñààã³é õýñã³³äòýé õîëáîîòîé áàéæ áîëîõ á°ã°°ä òýäãýýðèéã øèéäýæ õèéõýä íýëýýí õóãàöàà çàðöóóëæ áîëîõ þì. Òýâ÷ýýðòýé áàéæ áèäíèé èëãýýæ áîëîõ çàñâàðóóäûã òåñò õèéõýä áýëýí áàéãààðàé. 11.16.4 ASL, acpidump,
áîëîí IASL
Õàìãèéí íèéòëýã àñóóäàë áîë BIOS ³éëäâýðëýã÷äèéí ãàðãàñàí áóðóó (ýñâýë àëäààòàé!) áàéòêîä þì. Ýíý íü èõýâ÷ëýí äàðààõ øèã ö°ìèéí êîíñîë ìýäýýëë³³äýýð èë òîä áîëäîã: ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\ (Node 0xc3f6d160), AE_NOT_FOUND
Èõýâ÷ëýí òà ýäãýýð àñóóäëóóäûã °°ðèéí BIOS-èéã õàìãèéí ñ³³ëèéí õóâèëáàð óðóó øèíý÷èëñíýýð øèéäýæ áîëíî. Èõýíõ êîíñîëûí ìýäýýëë³³ä íü àþóëã³é ãýõäýý õýðýâ òàíä áàòàðåéíèé ò°ë°â àæèëëàõã³é ãýõ ìýò °°ð áóñàä àñóóäëóóä áàéãàà áîë òýäãýýð ìýäýýëë³³ä íü AML-ä áàéãàà àñóóäëóóäûã õàéæ áîëîõ áîëîìæèéí ãàçàð íü þì. AML ãýãääýã áàéòêîä íü ASL õýìýýãääýã ýõ õýëýýñ õ°ðâ³³ëýãääýã. AML íü DSDT ãýãääýã õ³ñíýãòýä áàéäàã. °ðèéí ASL-èéí õóóëáàðûã àâàõûí òóëä acpidump(8)-èéã
345
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
àøèãëàíà. Òà -t (òîãòìîë õ³ñíýãò³³äèéí àãóóëãóóäû㠳糳ëýõ) áîëîí -d (AML-èéã ASL óðóó äèçàññåìáë õèéõ) òîõèðóóëãûã õî¼óëàíã íü àøèãëàõ õýðýãòýé. Ñèíòàêñûí æèøýýã Äèáàã Ìýäýýëëèéã Èëãýýõ íü õýñãýýñ ³çíý ³³. Òàíû õèéæ áîëîõ õàìãèéí õÿëáàð àíõíû øàëãàëò íü àëäààíóóäûã øàëãàõûí òóëä °°ðèéí ASL-èéã õ°ðâ³³ëýõ ÿâäàë þì. Àíõààðóóëãóóäûã èõýâ÷ëýí îðõèæ áîëîõ áîëîâ÷ àëäààíóóä íü ACPI-ã ç°â àæèëëóóëàõàä ãîë ò°ë°â ñààä áîëäîã õîðõîéíóóä áàéäàã. °ðèéí ASL-èéã äàõèí õ°ðâ³³ëýõäýý äàðààõ òóøààëûã àæèëëóóëíà: # iasl your.asl
11.16.5
°ðèéí ASL-ã çàñâàðëàõ íü
Áèäíèé ýöñèéí çîðèëãî áîë áàðàã õ³í áîëãîíû õóâüä õýðýãëýã÷èéí ÿìàð ÷ îðîëöîîã³éãýýð ACPI-ã àæèëëóóëàõ ÿâäàë þì. ýõäýý °í°°ã õ³ðòýë áèä BIOS ³éëäâýðëýã÷äèéí ãàðãàñàí íèéòëýã àëäààíóóäàä çîðèóëàí òîéðîí ãàðàõ àðãà çàìóóäûã õ°ãæ³³ëñýýð áàéãàà áèëýý. Microsoft-èéí òàéëáàðëàã÷ (acpi.sys áîëîí acpiec.sys) íü ñòàíäàðòûã áàðèìòàëæ áàéãààã ÷àíä øàëãàäàãã³é á°ã°°ä BIOS-èéí îëîí ³éëäâýðëýã÷èä ACPI-ã ç°âõ°í Windows äýýð òåñò õèéæ °°ðñäèéí ASL-èéã õýçýý ÷ çàñäàãã³é. Áèä Microsoft-èéí òàéëáàðëàã÷èä ç°âø°°ð°ãäñ°í ÿìàð ñòàíäàðòûí áóñ àæèëëàãàà áàéãààã ³ðãýëæë³³ëýí íàðèéí òàíüæ áàðèìòæóóëàí õýðýãëýã÷äýýð ASL-èéã õ³÷ëýí çàñóóëàëã³éãýýð FreeBSD àæèëëàæ ÷àäàõààð ò³³íèéã õóóëáàðëàõ áîëíî ãýæ íàéäàæ áàéíà. Òîéðîí ãàðàõ àðãà çàì áîëãîí áèäíèéã ýíý àæèëëàãààã òàíèõàä òóñàëæ òà ASL-èéã ãàðààð çàñâàðëàæ áîëíî. Õýðýâ òàíû õóâüä ýíý íü àæèëëàâàë õóó÷èí áîëîí øèíý ASL-èéíõýý diff(1)-èéã èëãýýíý ³³, áèä áîëîëöîîãîîðîî ACPI-CA äàõü àëäààòàé àæèëëàãààã òîéðîí ãàð÷ èíãýñíýýð õîéøèä òàíû çàñâàð áàéíãà õèéãäýõ øààðäëàãàã³é áîëîõ þì. Ýíä íèéòëýã àëäààíû ìýäýýëë³³ä, òýäãýýðèéí øàëòãààí áîëîí õýðõýí çàñàæ áîëîõ æàãñààëòû㠳糳ëýâ: 11.16.5.1 _OS õàìààðëóóä
Çàðèì AML íü åðò°íö ò°ð°ë á³ðèéí Windows õóâèëáàðóóäààñ òîãòäîã ãýæ ³çäýã. Õýðýâ òàíä áàéãàà àñóóäëûã çàñàæ ÷àäàæ áàéâàë òà FreeBSD-ã ÿìàð íýã OS ãýæ õàðàãäóóëàõààð õýëæ °ã÷ áîëíî. ³íèéã õÿëáàð àðãààð äàðæ áè÷èõèéí òóëä /boot/loader.conf-ä hw.acpi.osname="Windows 2001" ãýæ ýñâýë ASL äàõü °°ð áóñàä àäèë ì°ð³³äèéã òîõèðóóëæ °ãí°. 11.16.5.2 Áóöàõ ìýäýýëë³³ä áàéõã³é áîë
Çàðèì àðãóóä íü ñòàíäàðòûí äàãóó øóóä óòãà áóöààäàãã³é. ACPI-CA íü ³³íòýé àæèëëàæ ÷àäàõã³é áàéõàä FreeBSD ³³íèéã äàëäààð óòãà áóöààëãàõ áîëîìæèéã îëãîäîã òîéðîí ãàðàõ àðãà çàìòàé áàéäàã. Õýðýâ òà óòãà áóöààãäàõ ¼ñòîéã ìýäýæ áàéâàë øààðäëàãàòàé ãàçàð íü Return áóþó Áóöàõ ìýäýýëë³³äèéã øóóä íýìæ áîëíî. ASL-èéã iasl òóøààëààð õ³÷ýýð õ°ðâ³³ëýõäýý -f òóãèéã àøèãëàíà. 11.16.5.3 Àíõäàã÷ AML-èéã äàðæ °°ð÷ë°õ íü your.asl-
èéã °°ð÷èëñíèé äàðàà ³³íèéã òà õ°ðâ³³ëýõäýý:
# iasl your.asl
346
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
Õ°ðâ³³ëýõ ÿâöàä àëäààíóóä áàéñàí ÷ ãýñýí òà -f òóãèéã íýìæ AML-èéã õ³÷ýýð ³³ñãýæ áîëíî. Çàðèì àëäààíóóäûã (°°ð°°ð õýëáýë Áóöàõ ìýäýýëë³³ä áàéõã³é ãýõ ìýò) òàéëáàðëàã÷èéí òóñëàìæòàéãààð àâòîìàòààð òîéðîí ãàðäãèéã ñàíààðàé. DSDT.aml íü iasl-èéí àíõäàã÷ ãàðàëò àéëûí íýð þì. Òà °°ðèéí BIOS-èéí àëäààòàé õóóëáàðûí (ëýø ñàíàõ îéä áàéñààð áàéãàà) îðîíä /boot/loader.conf-èéã äàðààõ áàéäëààð çàñâàðëàí ³³íèéã à÷ààëæ áîëíî: acpi_dsdt_load="YES" acpi_dsdt_name="/boot/DSDT.aml"
°ðèéí DSDT.aml àéëûí õóóëáàðûã /boot ñàí óðóó õóóëàõ õýðýãòýé.
ààñ äèáàã ìýäýýëýë ãàðãàæ àâàõ íü
11.16.6 ACPI-
ACPI äðàéâåð íü ìàø óÿí õàòàí äèáàã õèéõ áîëîìæòîé. Ýíý íü äýä ñèñòåì³³äèéí îëîíëîã áîëîí õàðóóëàõ ò³âøèíã çààæ °ã°õèéã òàíä ç°âø°°ðä°ã. Òàíû äèáàã õèéõèéã õ³ñýæ áàéãàà äýä ñèñòåì³³ä íü “äàâõàðãóóä” áîëæ çààãäñàí áàéäàã á°ã°°ä ACPI-CA õýñã³³ä (ACPI_ALL_COMPONENTS) áîëîí ACPI òîíîã ò°õ°°ð°ìæèéí äýìæëýã (ACPI_ALL_DRIVERS) áîëæ çàäàðäàã. Äèáàã ãàðàëòûí õàðóóëàëò íü “³å”ýýð çààãääàã á°ã°°ä ACPI_LV_ERROR (ç°âõ°í àëäààíóóäûã õýëäýã) òîãòìîëîîñ ACPI_LV_VERBOSE (á³ãä) õ³ðòýë áàéäàã. “å” íü îëîí òîõèðóóëãóóäûã íýã óäàà çàéãààð çààãëàí òîõèðóóëæ áîëîõ áèò áàã (bitmask) þì. Õýðýâ ýíý íü ìàø óðò òýãýýä êîíñîëûí ìýäýýëëèéí áóåðèéã àðèëãàí øèíý÷èëæ áàéâàë òà ïðàêòèê äýýð ãàðàëòûã á³ðòãýõ ñåðèàë êîíñîëûã àøèãëàõûã õ³ñýæ áîëîõ þì. Áèå äààñàí äàâõàðãóóä áîëîí ò³âøèíã³³äèéí á³ðýí æàãñààëò acpi(4) ãàðûí àâëàãûí õóóäñàíä áàéäàã. Äèáàã ãàðàëò àíõäàã÷ààð èäýâõæ³³ëýãäýýã³é áàéäàã. Èäýâõòýé áîëãîõûí òóëä ACPI õýðýâ ö°ìä õ°ðâ³³ëýãäñýí áîë options ACPI_DEBUG ì°ðèéã °°ðèéí ö°ìèéí òîõèðãîîíû àéëä íýìýõ õýðýãòýé. Íèéòýä íü èäýâõòýé áîëãîõûí òóëä /etc/make.conf-ä ACPI_DEBUG=1 ì°ðèéã íýìæ áîëíî. Õýðýâ ýíý íü ìîäóëü áîë òà °°ðèéí acpi.ko ìîäóëèéã äàðààõ ìàÿãààð äàõèí õ°ðâ³³ëæ áîëíî: # cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1
ã ä ñóóëãààä °°ðèéí õ³ññýí äàâõàðãà áîëîí ò³âøèíã loader.conf-ä íýìíý. Ýíý æèøýý íü ACPI-CA-èéí á³õ õýñã³³ä áîëîí á³õ ACPI òîíîã ò°õ°°ð°ìæèéí äðàéâåðóóäàä (CPU, LID, ãýõ ìýò.) çîðèóëàí äèáàã ìýäýýëë³³äèéã èäýâõæ³³ëäýã. Ýíý íü ç°âõ°í àëäààíû ìýäýýëë³³äèéã õàìãèéí áàãààð ãàðãàæ õàðóóëíà. acpi.ko- /boot/kernel-
debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" debug.acpi.level="ACPI_LV_ERROR"
Õýðýâ òàíû õ³ññýí ìýäýýëýë îíöãîé ³éë ÿâöààð ýõýëñýí áîë (ò³ð çîãñîîëò áîëîí ³ðãýëæë³³ëýëò ãýæ áîäú¼) òà loader.conf-èéí °°ð÷ë°ëò³³äèéã îðõèæ îðîíä íü sysctl-èéã àøèãëàí äàâõàðãà áîëîí ò³âøèíã à÷ààëñíû äàðàà çààæ îíöãîé ³éë ÿâöàä çîðèóëàí °°ðèéí ñèñòåìèéã áýëäýæ áîëíî. sysctl-óóä íü loader.conf äàõü òîõèðóóëãóóäûí àäèëààð íýðëýãääýã.
347
Chapter 11 Òîõèðãîî áà Òààðóóëàëò
11.16.7
Ëàâëàãààíóóä
ACPI-èéí òàëààð äýëãýðýíã³é ìýäýýëëèéã äàðààõ áàéðøëóóäààñ îëæ áîëíî: • • • • • •
FreeBSD ACPI çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-acpi) ACPI Çàõèäëûí Æàãñààëòûí Àðõèâóóä http://lists.freebsd.org/pipermail/freebsd-acpi/
Õóó÷èí ACPI Çàõèäëûí Æàãñààëòûí Àðõèâóóä http://home.jp.FreeBSD.org/mail-list/acpi-jp/ ACPI 2.0 Òîäîðõîéëîëò http://acpi.info/spec.htm FreeBSD àðûí àâëàãûí õóóäàñíóóä: acpi(4), acpi_thermal(4), acpidump(8), iasl(8), acpidb(8) DSDT äèáàã ýõ ³³ñâýð (http://www.cpqlinux.com/acpi-howto.html#fix_broken_dsdt). (Compaq-èéã æèøýý áîëãîí õýðýãëýñýí áîëîâ÷ åð°íõèéä°° õýðýãòýé.)
Notes 1.
Àâòîìàòààð òààðóóëàõ àëãîðèòì maxusers-èéã ñèñòåì äýõ ñàíàõ îéí õýìæýýòýé àäèëààð õàìãèéí áàãàäàà 32 áà õàìãèéí èõäýý 384 ãýæ çààæ °ãä°ã.
348
èéí À÷ààëàõ ïðîöåññ
Chapter 12 FreeBSDÎð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 12.1
Åð°íõèé àãóóëãà
Êîìïüþòåðèéã ýõë³³ëæ ³éëäëèéí ñèñòåìèéã à÷ààëàõ ïðîöåññ íü “ýõë³³ëýã÷ ïðîöåññ (bootstrap process)” áóþó “à÷ààëàõ” ãýæ õýëýãääýã. FreeBSD-èéí à÷ààëàõ ïðîöåññ íü òàíä ñèñòåìèéã ýõë³³ëýõ ³åä êîìïüþòåð äýýð ñóóñàí °°ð ³éëäëèéí ñèñòåì³³ä ýñâýë àäèë ³éëäëèéí ñèñòåì áîëîí ñóóëãàãäñàí ö°ìèéí °°ð õóâèëáàðóóäûã ñîíãîõûã ç°âø°°ð÷ þó õèéãäýõèéã °°ð÷ë°õ áîëîìæèéã á³ðä³³ëæ íýëýýí óÿí õàòàí ÷àíàðûã õàíãàæ °ãä°ã. Ýíýõ³³ á³ëýã íü òîõèðóóëæ áîëîõ òîõèðãîîíû òîõèðóóëãóóä áîëîí FreeBSD-èéí à÷ààëàõ ïðîöåññèéã õýðõýí °°ð÷èëæ áîëîõ òàëààð äýëãýðýíã³é äóðäñàí. ³íä FreeBSD ö°ì ýõëýõ, ò°õ°°ð°ìæ³³äèéã øàëãàõ áîëîí init(8) ýõëýõ õ³ðòýëõ áîëæ áàéãàà á³õ ³éë ÿâäàë áàãòàíà. Õýðýâ òà õýçýý ýíý áîëæ áàéãààã ñàéí ìýäýõã³é áàéãàà áîë ýíý íü òåêñòèéí °íã° òîä öàãààíààñ ñààðàë óðóó °°ð÷ë°ãä°æ áàéõ ³åä áîëäîã. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: •
•
•
FreeBSD-èéí ýõë³³ëýã÷ ñèñòåìèéí ÿìàð õýñã³³ä áàéäàã áîëîí òýäãýýð íü õýðõýí õàðèëöàí ³éëäýë õèéäýã òàëààð. À÷ààëàõ ïðîöåññèéã õÿíàõûí òóëä FreeBSD-èéí ýõë³³ëýã÷ äýõ õýñã³³äýä °ã÷ áîëîõ òîõèðóóëãóóäûí òàëààð. device.hints(5)-èéí ³íäñ³³ä.
Ç°âõ°í x86: Ýíý á³ëýã íü ç°âõ°í Èíòåë x86 ñèñòåì³³ä äýýð àæèëëàæ áàéãàà FreeBSD-èéí à÷ààëàõ ïðîöåññèéã òàéëáàðëàíà.
12.2
À÷ààëàëòûí àñóóäàë
Êîìïüþòåðèéã àñààæ ³éëäëèéí ñèñòåìèéã ýõë³³ëýõ íü ñîíèðõîëòîé ìóõàðäàëä îðóóëäàã. Òîäîðõîéëîëòîîð áîë êîìïüþòåð íü ³éëäëèéí ñèñòåì ýõëýõ õ³ðòýë þó õèéõýý ìýääýãã³é. ³íä ïðîãðàìóóäûã äèñêíýýñ àæèëëóóëàõ îðäîã. Òýãýõýýð õýðýâ êîìïüþòåð ³éëäëèéí ñèñòåìã³éãýýð ïðîãðàìûã äèñêíýýñ àæèëëóóëæ ÷àääàãã³é òýãýýä áàñ ³éëäëèéí ñèñòåìèéí ïðîãðàìóóä äèñê äýýð áàéäàã ãýõýýð ³éëäëèéí ñèñòåì õýðõýí ýõýëäýã áîëæ òààðàõ âý? Ýíý àñóóäàë íü Ìÿíãóóæèíãèéí àäàë ÿâäàë (The Adventures of Baron Munchausen) íîìîíä ãàðäàãòàé ò°ñòýé þì. îë áààòàð ìààíü í³õ óðóó óíààä °°ðèéíõ°° ãóòëûí îîñðîîñ áàðüæ °°ðèéã°° °ðã°í òàòàæ ãàðãàäàã. Òîîöîîëîëòûí ýðèíèé ýõýí ³åä bootstrap áóþó ýõë³³ëýã÷ (ýõë³³ëýëò) ãýäýã îéëãîëò íü ³éëäëèéí ñèñòåìèéã à÷ààëàõàä àøèãëàãääàã àðãà çàìä õýðýãëýãääýã áàéñàí á°ã°°ä “booting áóþó à÷ààëàõ” ãýæ áîãèíîññîí þì. x86 òîíîã ò°õ°°ð°ìæ äýýð íäñýí Îðîëò/ àðàëòûí Ñèñòåì (BIOS) íü ³éëäëèéí ñèñòåìèéã à÷ààëàõ ³³ðýãòýé. ³íèéã õèéõèéí òóëä BIOS õàòóó äèñê äýýðýýñ Master Boot Record (MBR) áóþó Ìàñòåð À÷ààëàõ Áè÷ëýãèéã õàéäàã á°ã°°ä ýíý íü äèñêíèé îíöãîé ãàçàð áàéðëàõ ¼ñòîé. BIOS íü MBR-ã à÷ààëæ
349
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ
àæèëëóóëàõ õàíãàëòòàé ìýäýýëýëòýé á°ã°°ä äàðàà íü MBR ³éëäëèéí ñèñòåìèéã à÷ààëàõòàé õîëáîîòîé áóñàä ³éëäë³³äèéã ìàãàäã³é BIOS-èéí òóñëàìæòàéãààð çîõèöóóëíà ãýæ òîîöäîã. MBR äîòîðõ êîä íü ÿëàíãóÿà õýðýãëýã÷òýé àæèëëàõäàà bootmanager áóþó à÷ààëàã÷ ìåíåæåð õýìýýãääýã. Ýíý òîõèîëäîëä à÷ààëàã÷ ìåíåæåð íü èõýâ÷ëýí äèñêíèé ýõíèé çàì ýñâýë OS-èéí çàðèì àéëûí ñèñòåì äýýð èë³³ êîäòîé áàéäàã. (À÷ààëàã÷ ìåíåæåð íü çàðèìäàà à÷ààëàã÷ äóóäàã÷ ãýãääýã, ãýõäýý FreeBSD ýíý íýðèéã à÷ààëàëòûí ñ³³ëèéí øàòóóäàä õýðýãëýäýã.) Àëäàðòàé à÷ààëàã÷ ìåíåæåð³³äýä boot0 (Boot Easy ãýãääýã, FreeBSD-èéí ñòàíäàðò à÷ààëàã÷ ìåíåæåð), Grub, GAG, áîëîí LILO îðäîã. (Ç°âõ°í boot0 MBR-ä áàãòäàã.) Õýðýâ òàíû äèñêí³³ä äýýð ç°âõ°í íýã ³éëäëèéí ñèñòåì ñóóëãàãäñàí áîë ñòàíäàðò PC MBR õàíãàëòòàé. Ýíý MBR íü äèñê äýýðýýñ ýõíèé à÷ààëàãäàõ (èäýâõòýé ãýãääýã) ç³ñìýëèéã õàéãààä äàðàà íü ³éëäëèéí ñèñòåìèéí ³ëäñýíèéã äóóäàõûí òóëä òýð ç³ñìýë äýýðõ êîäûã àæèëëóóëäàã. fdisk(8)-ýýð àíõäàã÷ààð ñóóëãàãääàã MBR íü òèéì MBR þì. Ýíý íü /boot/mbr äýýð òóëãóóðëàäàã. Õýðýâ òà äèñêí³³ä äýýðýý îëîí ³éëäëèéí ñèñòåì ñóóëãàñàí áîë òà ³éëäëèéí ñèñòåì³³äèéí æàãñààëòûã õàðóóëæ àëü íýãýýñ íü à÷ààëàõûã òàíä ñîíãîõûã ç°âø°°ðä°ã °°ð à÷ààëàã÷ ìåíåæåð ñóóëãàæ áîëíî. Ýäãýýðýýñ õî¼ð íü äàðààãèéí äýä õýñýãò ÿðèëöàãäàíà. FreeBSD-èéí ýõë³³ëýã÷ ñèñòåìèéí ³ëäñýí õýñýã íü ãóðâàí øàòàíä õóâààãääàã. Ýõíèé øàò íü êîìïüþòåðèéã òóñãàé ò°ë°â óðóó îðóóëàõûã õàíãàëòòàé ìýäýæ õî¼ð äàõü øàòûã àæèëëóóëàõ MBR-ð àæèëëóóëàãääàã. Õî¼ð äàõü øàò íü ãóðàâ äàõü øàòûã àæèëëóóëàõààñ °ìí° àðàé èë³³ã õèéæ ÷àääàã. óðàâ äàõü øàò íü ³éëäëèéí ñèñòåìèéã äóóäàõ ³éëäëèéã äóóñãàäàã. Ýíýõ³³ ãóðâàí øàòàíä àæèë íü õóâààðèëàãäñàí áàéäàã á°ã°°ä ó÷èð íü PC ñòàíäàðòóóä ýõíèé áîëîí õî¼ðäóãààð øàòóóäàä àæèëëóóëæ áîëîõ ïðîãðàìóóäûí õýìæýýí³³äýä õÿçãààðëàëò òàâüäàã þì. éëäë³³äèéã öóãò íü ãèíæëýí õîëáîõ íü FreeBSD-ä èë³³ óÿí õàòàí äóóäàã÷èéã áèé áîëãîäîã. Äàðàà íü ö°ì à÷ààëæ ò°õ°°ð°ìæ³³äèéã øàëãàæ ýõëýí àøèãëàõàä çîðèóëæ ýõë³³ëäýã. Ö°ìèéí à÷ààëàõ ïðîöåññ äóóññàíû äàðàà ö°ì õÿíàëòûã init(8) õýðýãëýã÷èéí ïðîöåññ ðóó äàìæóóëæ äàðàà íü äèñêí³³ä õýðýãëýãäýæ áîëîõ ò°ë°âò áàéãàà ýñýõèéã øàëãàäàã. init(8) äàðàà íü àéëûí ñèñòåì³³äèéã õîëáîí ñ³ëæýýíä õîëáîãäîõ ñ³ëæýýíèé êàðòûã òîõèðóóëæ åð°íõèéä°° FreeBSD ñèñòåì ýõëýõ ³åä èõýâ÷ëýí àæèëëàäàã á³õ ïðîöåññóóäûã ýõë³³ëýõ õýðýãëýã÷èéí ò³âøíèé ýõ ³³ñâýðèéí òîõèðãîîã ýõë³³ëäýã. 12.3
À÷ààëàã÷ Ìåíåæåð áîëîí À÷ààëàëòûí øàòóóä
12.3.1
À÷ààëàã÷ Ìåíåæåð
MBR ýñâýë à÷ààëàã÷ ìåíåæåð äýõ êîä íü çàðèìäàà à÷ààëàõ ïðîöåññèéí òýã (0) øàò ãýæ íýðëýãääýã. Ýíý äýä õýñýã íü °ìí° äóðäñàí õî¼ð à÷ààëàã÷ ìåíåæåðèéã àâ÷ ³çíý: boot0 áîëîí LILO. boot0
À÷ààëàã÷ Ìåíåæåð: FreeBSD-èéí ñóóëãàã÷ ýñâýë boot0cfg(8)-ð ñóóëãàãäñàí MBR àíõäàã÷ààð
äýýð òóëãóóðëàäàã. (boot0 ïðîãðàì íü ìàø ýíãèéí áàéäàã, ç³ñìýëèéí õ³ñíýãò áîëîí MBR-èéí ò°ãñã°ë äýõ 0x55AA òàíèã÷ààñ áîëîîä MBR äàõü ïðîãðàì íü ç°âõ°í 446 áàéò áàéæ áîëäîã.) Õýðýâ òà boot0 áîëîí îëîí ³éëäëèéí ñèñòåìèéã °°ðèéí õàòóó äèñêí³³ä äýýð ñóóëãàñàí áîë òà à÷ààëàõ ³åä äîîð äóðäñàíòàé ò°ñ°°òýé äýëãýöèéã õàðàõ áîëíî: /boot/boot0
Example 12-1. boot0
äýëãýöèéí àãøèí
F1 DOS
350
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ F2 F3 F4 F5
FreeBSD Linux ?? Drive 1
Default: F2
Áóñàä ³éëäëèéí ñèñòåì³³ä ÿëàíãóÿà Windows áàéãàà MBR-èéã °°ðèéíõ°°ð°° äàðæ áè÷äýã. Õýðýâ ýíý òàíä òîõèîëäâîë ýñâýë òà áàéãàà MBR-àà FreeBSD-èéí MBR-ààð ñîëèõûã õ³ñâýë äàðààõ òóøààëûã àøèãëàíà: # fdisk -B -b /boot/boot0 device
Äýýð áè÷èãäñýí device íü ýõíèé IDE äèñêíèé õóâüä ad0, õî¼ð äàõü IDE õÿíàã÷ äýýðõ ýõíèé IDE äèñêíèé õóâüä ad2, ýõíèé SCSI äèñêíèé õóâüä da0 ãýõ çýðýã òàíû à÷ààëàõ ò°õ°°ð°ìæ þì. Ýñâýë õýðýâ òà MBR-èéí °°ð÷ë°í òîõèðóóëñàí òîõèðãîîã õ³ñýæ áàéâàë boot0cfg(8)-èéã àøèãëà. LILO À÷ààëàã÷ Ìåíåæåð: FreeBSD-ã áàñ à÷ààëàõ ýíý à÷ààëàã÷ ìåíåæåðèéã ñóóëãàõûí òóëä ýõëýýä Ëèíóêñ ýõë³³ëýýä äàðààõ òîõèðãîîã °°ðò áàéãàà /etc/lilo.conf òîõèðãîîíû àéëä íýìýýðýé: other=/dev/hdXY table=/dev/hdX loader=/boot/chain.b label=FreeBSD
Ýíä Ëèíóêñèéí òîäîðõîéëîã÷äûã àøèãëàí X -ã Ëèíóêñèéí äèñêíèé ³ñãýýð, Y -ã Ëèíóêñèéí àíõäàã÷ õóâààëòûí äóãààðààð ñîëüæ FreeBSD-èéí àíõäàã÷ õóâààëò áîëîí äèñêèéã çààæ °ãí°. Õýðýâ òà SCSI äèñê àøèãëàæ áàéâàë òà /dev/hd-ã /dev/sd-òýé àäèë ìàÿãèéí áîëãîí óíøèãäàõààð °°ð÷ë°õ õýðýãòýé. Õýðýâ òàíû õî¼ð ³éëäëèéí ñèñòåì õî¼óëàà íýã äèñê äýýð áàéâàë loader=/boot/chain.b ì°ð îðõèãäîæ áîëíî. Îäîî /sbin/lilo -v òóøààëûã àæèëëóóëæ °°ðèéí øèíý °°ð÷ë°ëòèéã ñèñòåìä îðóóëíà; èíãýõèéí òóëä äýëãýö äýýð ãàðãàõ ìýäýýëë³³äèéã õÿíàí øàëãàõ õýðýãòýé. 12.3.2
Íýãä³ãýýð øàò /boot/boot1 áîëîí Õî¼ðäóãààð øàò /boot/boot2
Åð°íõèé ò°ñ°°ëë°°ð áîë ýõíèé áîëîí õî¼ð äàõü øàòóóä íü äèñêíèé íýã òàëáàð äàõü íýã ë ïðîãðàìûí õýñýã þì. Çàéí øàõàëòóóäààñ áîëîîä òýäãýýðèéã õî¼ð õýñýã áîëãîí õóâààñàí, ãýõäýý òà òýäãýýðèéã ³ðãýëæ öóãò íü ñóóëãàäàã. Òýäãýýð íü íýãäñýí /boot/boot àéëààñ ñóóëãàã÷ààð ýñâýë bsdlabel-ð õóóëàãääàã (äîîðîîñ õàðíà óó). Òýä àéëûí ñèñòåì³³äýýñ ãàäíà à÷ààëàõ ç³ñìýëèéí ýõíèé çàì äýýð ýõíèé ñåêòîðîîñ ýõëýýä áàéðëàäàã. Ýíä ë boot0 ýñâýë °°ð àëü íýã à÷ààëàã÷ ìåíåæåð à÷ààëàõ ïðîöåññèéã ³ðãýëæë³³ëýõ ïðîãðàìûã îëíî ãýäýãò íàéäàæ áàéäàã. Àøèãëàãäàõ ñåêòîðóóäûí òîî /boot/boot-èéí õýìæýýíýýñ àìàðõíààð òîäîðõîéëîãäîíî. Ç°âõ°í 512 áàéò õýìæýýòýé áàéäàã áîëîõîîð boot1 íü èõ ýíãèéí õÿëáàð á°ã°°ä boot2-èéã îëæ àæèëëóóëàõ, ç³ñìýëèéí òóõàé ìýäýýëëèéã õàäãàëàõ, FreeBSD-èéí bsdlabel-èéí òóõàé õàíãàëòòàé ìýäýýëýëòýé áàéäàã. boot2 íü àðàé èë³³ ò°â°ãòýé á°ã°°ä àéëóóäûã îëîõîä õàíãàëòòàé FreeBSD-èéí àéëûí ñèñòåìèéã îéëãîæ ö°ì ýñâýë äóóäàã÷èéã àæèëëóóëàõûã ñîíãîõ ìàø ýíãèéí èíòåðýéñýýð õàíãàæ ÷àääàã.
351
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ
Äóóäàã÷ íü õàìààã³é èë³³ ò°â°ãòýé á°ã°°ä ãî¼, àìàðõàí õýðýãëýæ áîëîõ à÷ààëàëòûí òîõèðãîîòîé áîëîõîîð boot2 íü ò³³íèéã èõýâ÷ëýí àæèëëóóëäàã, ãýõäýý °ìí° íü äóóäàã÷èä ö°ìèéã àæèëëóóëàõ äààëãàâàð °ã°ãäñ°í áàéäàã. Example 12-2. boot2
äýëãýöèéí àãøèí
>> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot:
Õýðýâ òàíä ñóóëãàñàí boot1 áîëîí boot2 àéëóóäàà ñîëèõ õýðýãöýý ãàðâàë bsdlabel(8)-èéã àøèãëà: # bsdlabel -B diskslice
Äýýð áè÷èãäñýí diskslice íü ýõíèé IDE äèñê äýýðõ ýõíèé ç³ñìýëèéí õóâüä ad0s1 ãýõ ìýòýýð òàíû à÷ààëàõ äèñê áîëîí ç³ñìýë þì. Àþóëòàéãààð Çîðèóëàãäñàí îðèì: Õýðýâ òà ad0 ãýõ ìýòýýð bsdlabel(8) òóøààëä ç°âõ°í äèñêíèé íýðèéã àøèãëàâàë òà ç³ñìýë³³äã³é àþóëòàéãààð çîðèóëàãäñàí äèñê ³³ñãýõ áîëíî. Ýíý íü áàðàã ìýäýýæ òàíû õèéõèéã õ³ñýýã³é ç³éë áîëîõîîð òà bsdlabel(8) òóøààëûã Return äàðàõààñàà °ìí° äàõèí øàëãààðàé.
12.3.3
óðàâäóãààð øàò /boot/loader
Äóóäàã÷ íü ãóðâàí øàòòàé ýõë³³ëýã÷èéí ò°ãñã°ëèéí øàò á°ã°°ä àéëûí ñèñòåì äýýð ãîë ò°ë°â /boot/loader ãýæ áàéðëàäàã. Äóóäàã÷ íü èë³³ öîãö òóøààëûí öóãëóóëãà á³õèé èë³³ õ³÷èðõýã òàéëáàðëàã÷ààð äýìæèãäñýí õÿëáàð õýðýãëýãäýõ òóøààëûí öóãëóóëãà àøèãëàí òîõèðãîî õèéõýä õýðýãëýã÷èéí õóâüä àøèãëàõàä õÿëáàð àðãà áàéõààð çîðèóëàãäñàí. 12.3.3.1 Äóóäàã÷ ïðîãðàìûí óðñãàë
Ýõë³³ëýõ ÿâöàä äóóäàã÷ íü êîíñîë áîëîí äèñêí³³äèéí õóâüä øàëãàæ àëü äèñêíýýñ à÷ààëæ áàéãààãàà òîãòîîäîã. Ýíý íü õóâüñàã÷óóäûã øààðäëàãûí äàãóó òîõèðóóëàõ á°ã°°ä ñêðèïò ýñâýë ëàâëàæ õàðèóëàõ çàð÷ìààð õýðýãëýã÷èéí òóøààëóóä äàìæäàã òàéëáàðëàã÷ ýõýëäýã. ³íèé äàðàà äóóäàã÷ íü õóâüñàã÷óóäûí áîëîìæèéí àíõäàã÷óóäûã òîõèðóóëäàã /boot/defaults/loader.conf äîòîð áàéãààã àíõäàã÷ààð óíøäàã /boot/loader.rc àéëûã óíøèõ á°ã°°ä òýäãýýð õóâüñàã÷óóäàä õèéõ ëîêàë °°ð÷ë°ëò³³äýä çîðèóëñàí /boot/loader.conf àéëûã ì°í óíøäàã. Äàðàà íü loader.rc àëü ìîäóëèóä áîëîí ö°ìèéã ñîíãîñîí òýäãýýðèéã äóóäàí ýäãýýð õóâüñàã÷óóäûí äàãóó àæèëëàäàã. Ýöýñò íü àíõäàã÷ààð äóóäàã÷ íü 10 ñåêóíä ãàðãàæ òîâ÷ äàðàõûã õ³ëýýæ òàñàëäóóëààã³é áîë ö°ìèéã à÷ààëäàã. Õýðýâ òàñàëäóóëáàë õÿëáàð õýðýãëýãäýõ òóøààëûí öóãëóóëãûã îéëãîäîã òóøààë õ³ëýýõ ì°ðèéã õýðýãëýã÷èä °ã°õ á°ã°°ä ³³íèéã àøèãëàí õýðýãëýã÷ õóâüñàã÷óóäûã òààðóóëàõ, á³õ ìîäóëèóäûã áóóëãàæ áîëèóëàõ, ìîäóëèóä äóóäàõ áîëîí òýãýýä ò°ãñã°ëä íü à÷ààëàõ ýñâýë äàõèí à÷ààëæ áîëîõ þì.
352
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ 12.3.3.2 Äóóäàã÷èä áàãòñàí òóøààëóóä
Ýäãýýð íü õàìãèéí èõýýð àøèãëàãääàã äóóäàã÷èéí òóøààëóóä þì. Áàéãàà á³õ òóøààëóóäûí òóõàé á³ðýí õýëýëö³³ëãèéã loader(8)-ñ ³çíý ³³. autoboot seconds
Ñåêóíäýýð °ã°ãäñ°í õóãàöààíä òàñàëäààã³é áîë ö°ìèéã à÷ààëàõààð ³ðãýëæë³³ëäýã. Ýíý íü òîîëóóð õàðóóëàõ á°ã°°ä àíõäàã÷ õóãàöàà íü 10 ñåêóíä áàéíà. boot [-options] [kernelname]
Õýðýâ °ã°ãäñ°í òîõèðóóëãóóä áàéãàà á°ã°°ä ö°ìèéí íýð °ã°ãäñ°í áîë òýäãýýðèéí õàìòààð ö°ìèéã íýí äàðóé à÷ààëàõààð ³ðãýëæë³³ëíý. unload òóøààëûã àæèëëóóëñíû äàðàà ç°âõ°í òóøààëûí ì°ð°°ñ ö°ìèéí íýðèéã °ã÷ áîëîõ á°ã°°ä õýðýâ èíãýõã³é áîë °ìí° íü äóóäàãäñàí ö°ìèéã àøèãëàõ áîëíî. boot-conf
Õóâüñàã÷óóä äýýð ³íäýñëýñýí ìîäóëèóäûí àâòîìàò òîõèðãîîãîîð îðîõ á°ã°°ä ýíý íü à÷ààëàõ ³åä áîëäîã. Õýðýâ òà unload-ã ýõýëæ àøèãëààä õàìãèéí ýíãèéíäýý kernel-í çàðèì õóâüñàã÷óóäûã °°ð÷ë°õ ³åä ýíý íü ç°âõ°í à÷ õîëáîãäîëòîé áàéäàã. help [topic]
àéëààñ òóñëàìæèéí ìýäýýëë³³äèé㠳糳ëíý. Õýðýâ °ã°ãäñ°í ñýäýâ íü èíäåêñ áîë áàéãàà ñýäâ³³äèéí æàãñààëòû㠳糳ëíý.
/boot/loader.help
include filename . . .
ã°ãäñ°í àéëûí íýðòýé àéëûã ïðîöåññ õèéíý. Ôàéë óíøèãäàæ ì°ð ì°ð°°ð òàéëáàðëàãäàíà. Àëäàà ãàðâàë include áóþó îðóóëàõ òóøààëûã íýí äàðóé çîãñîîíî. load [-t type] filename
Ö°ì, ö°ìèéí ìîäóëü, ýñâýë °ã°ãäñ°í ò°ðëèéí àéëûã íýðòýé íü äóóäíà. Ôàéëûí íýðèéí äàðààõ äóðûí íýìýëò °ã°ãäë³³ä íü àéëä äàìæóóëàãäàíà. ls [-l] [path]
ã°ãäñ°í çàì ýñâýë çàì °ã°ãä°°ã³é áîë root ñàí äàõü àéëóóäûí æàãñààëòûã õàðóóëíà. Õýðýâ -l °ã°ãäñ°í áîë àéëûí õýìæýýí³³äèéã áàñ õàðóóëäàã. lsdev [-v]
Ìîäóëèóä ìàãàäã³é äóóäàãäàæ áîëîõ á³õ ò°õ°°ð°ìæ³³äèéã æàãñààíà. Õýðýâ -v °ã°ãäñ°í áîë èë³³ äýëãýðýíã³é ìýäýýëýë õýâëýãäýíý. lsmod [-v]
Äóóäàãäñàí ìîäóëèóäûã õàðóóëíà. Õýðýâ -v °ã°ãäñ°í áîë èë³³ äýëãýðýíã³é ìýäýýëëèé㠳糳ëíý. more filename LINES
áîëãîíûã õàðóóëàí ò³ð çîãñîæ °ã°ãäñ°í àéëóóäû㠳糳ëíý.
353
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ reboot
Ñèñòåìèéã íýí äàðóé äàõèí à÷ààëíà. set variable set variable=value
Äóóäàã÷èéí îð÷íû õóâüñàã÷óóäûã òîõèðóóëíà. unload
Äóóäàãäñàí ìîäóëèóäûã àðèëãàíà. 12.3.3.3 Äóóäàã÷èéí æèøýýí³³ä
Äóóäàã÷èéí õýðýãëýýíèé ïðàêòèê æèøýýí³³äèéã ýíä äóðäàâ: •
°°ðèéí åðäèéí ö°ìèéã à÷ààëàõäàà, ãýõäýý ãàíö-õýðýãëýã÷èéí ãîðèìä: boot -s
•
°ðèéí åðäèéí ö°ì áîëîí ìîäóëèóäûã áóóëãàí áîëèóëæ äàðàà íü °°ðèéí õóó÷èí (ýñâýë °°ð) ö°ìèéã äóóäàõäàà: unload load kernel.old
Òà kernel.GENERIC-ã ñóóëãàöûí äèñêòýé öóã èðñýí åðäèéí ö°ìèéã äóóäàõäàà àøèãëàæ áîëîõ á°ã°°ä ýñâýë òà óðüä íü ñóóëãàñàí ö°ì°° (æèøýý íü òà °°ðèéí ö°ìèéã øèíý÷èëæ ýñâýë òîõèðóóëàõäàà) äóóäàõäàà kernel.old-ã àøèãëàæ áîëíî. Note: °ðèéí åðäèéí ìîäóëèóäûã °°ð ö°ìèéí õàìò äóóäàõäàà äîîð äóðäñàíûã àøèãëà: unload set kernel="kernel.old " boot-conf
•
Ö°ìèéí òîõèðãîîíû ñêðèïòèéã äóóäàõäàà (ö°ìèéí à÷ààëàõ ³åèéí òîõèðóóëàã÷ äýýð òàíû åðäèéí ³åä õèéäýã ç³éë³³äèéã õèéäýã àâòîìàò÷èëàãäñàí ñêðèïò): load -t userconfig_script /boot/kernel.conf
12.3.3.4 À÷ààëàõ ³åèéí äýëãýöèéí çóðàã
Õóâü íýìýð áîëãîí îðóóëñàí Æîçå Æ. Áàðáèø. À÷ààëàõ ³åèéí äýëãýöèéí çóðàã íü à÷ààëàõ ³åèéí àíõäàã÷ ìýäýãäë³³äýýñ èë³³ ñýòãýë òàòàì õàðàãäàö á³õèé à÷ààëàëòûã áèé áîëãîäîã. Ýíýõ³³ äýëãýö íü êîíñîëûí íýâòðýëò õ³ëýýõ ì°ð ýñâýë X öîíõíû ìåíåæåð íýâòðýëò õ³ëýýõ öîíõ õàðóóëòàë õàðóóëàãäàõ áîëíî. FreeBSD äýýð ³íäñýí õî¼ð îð÷èí áàéäàã. Ýõíèéõ íü õóó÷íû àíõäàã÷ âèðòóàë êîíñîë òóøààëûí ì°ðíèé îð÷èí þì. Ñèñòåì à÷ààëæ äóóññàíû äàðàà êîíñîëûí íýâòðýëò õ³ëýýõ ì°ð õàðóóëàãääàã. Õî¼ð äàõü îð÷èí íü X11 øèðýýíèé ãðàèêèéí îð÷èí þì. X11 áîëîí GNOME, KDE, ýñâýë XFce çýðýã àëü íýã
354
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ
øèðýýíèé îð÷íóóäûã ñóóëãàñíû äàðàà X11 øèðýýíèé îð÷íûã startx òóøààëûã àøèãëàí àæèëëóóëæ áîëíî. Çàðèì õýðýãëýã÷èä óëàìæëàëò òåêñò íýâðýëò õ³ëýýõ ì°ðí°°ñ èë³³ X11 ãðàèê íýâòðýëòèéí äýëãýöèéã èë³³ä ³çäýã. Xorg-ä çîðèóëñàí XDM, GNOME-ä çîðèóëñàí gdm áîëîí KDE-ä çîðèóëñàí kdm (áîëîí ïîðòûí öóãëóóëãà äàõü áóñàä) íü êîíñîë íýâòðýëò õ³ëýýõ ì°ðíèé îðîíä ãðàèê íýâòðýõ äýëãýöèéí áîëîìæèéã ³íäñýíäýý á³ðä³³ëäýã. Àìæèëòòàé íýâòýðñíèé äàðàà õýðýãëýã÷èä ãðàèê øèðýýíèé îð÷èíã õàðóóëäàã. Òóøààëûí ì°ðíèé îð÷èíä à÷ààëàõ ³åèéí äýëãýö íü íýâòðýëò õ³ëýýõ ì°ðèé㠳糳ëýõýýñýý °ìí° à÷ààëàõ ³åèéí á³õ ìýäýãäë³³ä áîëîí ýõë³³ëýëòèéí ìýäýãäë³³äèéã íóóõ áîëíî. X11 îð÷èíä õýðýãëýã÷èä íü òýäíèé òàíèë (Microsoft Windows ýñâýë unix áèø ò°ðëèéí) ñèñòåìèéí ýõëýëèéã õàðàõ áîëíî. 12.3.3.4.1 À÷ààëàõ ³åèéí äýëãýöèéí óíêö
À÷ààëàõ ³åèéí äýëãýöèéí óíêö íü ç°âõ°í 256 °íãèéí áèòìàï (.bmp) ýñâýë ZSoft PCX (.pcx) àéëóóäûã äýìæäýã. Ì°í çóðàã àéëóóä íü ñòàíäàðò VGA àäàïòåð äýýð àæèëëàõûí òóëä 320-èéã õàðüöàõ 200 ïèêñåëèéí íÿãòðàëòàé áàéõ ¼ñòîé. 1024-èéã õàðüöàõ 768 ïèêñåëèéí ìàêñèìóì íÿãòðàë õ³ðòýëõ èë³³ òîì çóðãèéã àøèãëàõûí òóëä FreeBSD-ä áàéäàã VESA äýìæëýãèéã èäýâõæ³³ëýõ õýðýãòýé. VESA ìîäóëèéã ñèñòåì ýõëýõýä àæèëëóóëæ ýñâýë VESA ö°ìèéí òîõèðãîîã íýìæ °°ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýæ ³³íèéã èäýâõæ³³ëæ áîëíî (Chapter 8-ã ³çíý ³³). VESA äýìæëýã íü á³õ äýëãýöèéã á³ðõýõ à÷ààëàõ ³åèéí äýëãýöèéí çóðãèéã õàðóóëàõ áîëîìæèéã õýðýãëýã÷èä îëãîäîã. À÷ààëàõ ³åèéí äýëãýöèéã õàðóóëàãäàæ áàéõ ³åä ãàðûí àëü ÷ òîâ÷ëóóðûã äàðæ áîëèóëæ áîëíî. À÷ààëàõ ³åèéí äýëãýöèéí çóðàã íü àíõäàã÷ààð X11-ýýñ ãàäíàõ äýëãýö àìðààã÷ áîëäîã. Àøèãëààã³é òîäîðõîé õóãàöààíû äàðàà äýëãýö íü óã à÷ààëàõ ³åèéí äýëãýöèéí çóðàã ðóó øèëæèæ òîäîîñ á³ð õàðàíõóé áîëîí äàõèí äàõèí ñîëèãäîí ýðãýëäýõ áîëíî. Ýíý àíõäàã÷ äýëãýöèéí çóðãèéí (äýëãýö àìðààã÷) ò°ëâèéã /etc/rc.conf àéëä saver= ì°ðèéã íýìýí °°ð÷èëæ áîëíî. saver= òîõèðãîî íü õýä õýäýí ñîíãîæ áîëîõ äýëãýö àìðààã÷òàé á°ã°°ä òýäãýýðèéí á³ðýí æàãñààëòûã splash(4) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. Àíõäàã÷ äýëãýö àìðààã÷ íü “warp” ãýæ íýðëýãääýã. /etc/rc.conf àéëä çààñàí saver= òîõèðãîî íü ç°âõ°í âèðòóàë êîíñîëä õàìààòàé ãýäãèéã ñàíààðàé. Ýíý íü X11 äýëãýöèéí ìåíåæåð³³äýä ÿìàð ÷ í°ë°°ã³é áîëíî. À÷ààõàë ³åèéí äýëãýöèéã èäýâõæ³³ëñýí ÷ ãýñýí à÷ààëàã÷èéí òîõèðãîîíû öýñ áîëîí òóøààë õ³ëýýí ñåêóíä ã³éõ ³åèéí ì°ð çýðýã à÷ààëàã÷ äóóäàã÷èéí ìýäýãäë³³ä íü à÷ààëàõ ³åä õàðóóëàãäñàí õýâýýð áàéõ áîëíî. Æèøýý à÷ààëàõ ³åèéí äýëãýöèéí àéëóóäûã http://artwork.freebsdgr.org (http://artwork.freebsdgr.org/node/3/) õàÿã äàõü ãàëåðåéãààñ òàòàæ àâ÷ áîëíî. sysutils/bsd-splash-changer ïîðòûã ñóóëãàñíààð à÷ààëàõ ³åèéí äýëãýöèéí çóðãèéã à÷ààëàõ áîëãîíä ñàíàìñàðã³éãýýð öóãëóóëãààñ ñîíãîæ õàðóóëàõ áîëîìæòîé áîëíî. 12.3.3.4.2 À÷ààëàõ ³åèéí äýëãýöèéí óíêöûã èäýâõæ³³ëýõ
À÷ààëàõ ³åèéí äýëãýöèéí (.bmp) ýñâýë (.pcx) àéëûã root õóâààëò äýýð æèøýý íü /boot ñàíä áàéðëóóëàõ ¼ñòîé. À÷ààëàã÷èéí àíõäàã÷ äýëãýöèéí (256 °íã°, 320-èéã õàðüöàõ 200 ïèêñåë þì óó ýñâýë ò³³íýýñ áàãà) íÿãòðàëûí õóâüä /boot/loader.conf àéë äàðààõèéã àãóóëñàí áàéõààð çàñâàðëàõ õýðýãòýé:
355
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp"
1024-èéã õàðüöàõ 768 ïèêñåëèéí ìàêñèìóì õ³ðòýëõ èë³³ òîì âèäåî íÿãòðàëóóäûí õóâüä /boot/loader.conf àéë äàðààõèéã àãóóëñàí áàéõààð çàñâàðëàõ õýðýãòýé: vesa_load="YES" splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp"
Äýýðõ íü /boot/splash.bmp-èéã à÷ààëàõ ³åèéí äýëãýöäýý àøèãëàõûã çààæ °ã÷ áàéíà. PCX àéë øààðäëàãàòàé ³åä äàðààõ èëýðõèéëëèéã vesa_load="YES" ì°ðèéí õàìòààð íÿãòðàëààñ õàìààðóóëàí àøèãëàíà. splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx "
Ôàéëûí íýð íü äýýðõ æèøýý äýýðõ øèã çààâàë “splash” ãýäãýýð õÿçãààðëàãäàõã³é. splash_640x400.bmp ýñâýë blue_wave.pcx çýðýã äóðûí BMP ýñâýë PCX ò°ðëèéí áàéõàä áîëîõ þì. loader.conf-èéí çàðèì íýã ñîíèðõîëòîé òîõèðãîîíóóäûã äóðäâàë: beastie_disable="YES"
Ýíý íü à÷ààëàã÷èéí òîõèðãîîíû öýñèéã õàðóóëàõã³é áîëãîíî. ýõäýý ñåêóíä ã³éñýí òóøààë õ³ëýýõ ì°ðèéã õàðóóñàí õýâýýð áàéõ áîëíî. À÷ààëàã÷èéí òîõèðãîîíû öýñèéã õààñàí ÷ ãýñýí ñåêóíä ã³éñýí òóøààë õ³ëýýõ ì°ð°íä ñîíãîñîí ñîíãîëòûí äàãóó ñèñòåì à÷ààëàõ áîëíî. loader_logo="beastie"
Ýíý íü à÷ààëàã÷èéí òîõèðãîîíû öýñíèé áàðóóí òàëä õàðóóëàãäàõ “FreeBSD” ãýñýí àíõäàã÷ ³ãèéã °ìí°õ õóâèëáàðóóäàä áàéñàí øèã °íã°ò ÷°òã°ðèéí ëîãîãîîð ñîëèõ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã splash(4), loader.conf(5), áîëîí vga(4) ãàðûí àâëàãûí õóóäàñíóóäààñ ³çíý ³³.
12.4
À÷ààëàõ ³å äýõ ö°ìèéí õàðèëöàí ³éëäýë
Ö°ì äóóäàã÷ (èõýíõäýý) ýñâýë boot2-èéí (äóóäàã÷èéã àëãàñàí) òóñëàìæòàé äóóäàãäñàíû äàðàà °°ðèéí à÷ààëàëòûí òóãóóä áàéãàà áîë òýäãýýðèéã øàëãàæ °°ðèéí àæèëëàãààã øààðäëàãàòàé áîë òîõèðóóëäàã. 12.4.1
Ö°ìéí à÷ààëàëòûí òóãóóä
Ýíä èë³³ íèéòëýã à÷ààëàëòûí òóãóóäûã äóðäàâ:
356
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ -a
ö°ìèéã ýõë³³ëýõ ÿâöàä root àéëûí ñèñòåì áîëãîí õîëáîõ ò°õ°°ð°ìæèéã àñóóõ. -C
CDROM-ñ à÷ààëàõ. -c
À÷ààëàëòûí ³åèéí ö°ìèéí òîõèðóóëãà UserConfig-ã àæèëëóóëàõ -s
íýã(ãàíö)-õýðýãëýã÷èéí ãîðèì óðóó à÷ààëàõ -v
ö°ìèéí ýõëýõ ³åä èë³³ äýëãýðýíã³é áàéõ Note: °ð áóñàä à÷ààëàëòûí òóãóóä
12.5
áàéäàã á°ã°°ä òýäãýýðèéí òàëààð èë³³ ìýäýýëëèéã boot(8)-ñ óíøèíà óó.
Ò°õ°°ð°ìæèéí Ñàíóóëãóóä
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. Note: Ýíý íü FreeBSD 5.0 áîëîí ò³³íýýñ õîéøõ áîëîìæ á°ã°°ä óðäíû õóâèëáàðóóäàä áàéäàãã³é.
Ñèñòåìèéí ýõíèé ýõë³³ëýëòèéí ³åýð à÷ààëàã÷ loader(8) íü device.hints(5) àéëûã óíøäàã. Ýíý àéë íü çàðèìäàà “device hints áóþó ò°õ°°ð°ìæèéí ñàíóóëãóóä” ÷ ãýãääýã ö°ìèéí à÷ààëàõ ìýäýýëýë õóâüñàã÷óóäûã õàäãàëäàã. Ýäãýýð “device hints áóþó ò°õ°°ð°ìæèéí ñàíóóëãóóä” íü ò°õ°°ð°ìæèéã òîõèðóóëàõ çîðèóëàëòààð ò°õ°°ð°ìæèéí äðàéâåðóóäàä àøèãëàãääàã. Ò°õ°°ð°ìæèéí ñàíóóëãóóä íü áàñ 3 äàõü øàòíû à÷ààëàã÷ äóóäàã÷èä áàñ çààãäàæ °ã÷ áîëäîã. Õóâüñàã÷óóäûã set òóøààëûã àøèãëàí íýìæ, unset òóøààëààð õàñàæ show òóøààëààð ³çýæ áîëíî. /boot/device.hints àéëä òîõèðóóëàãäñàí õóâüñàã÷óóä ýíä áàñ °°ð÷ë°ãä°æ äàðàãäàí áè÷èãäýæ áîëíî. À÷ààëàã÷ äóóäàã÷èä îðóóëæ °ãñ°í ò°õ°°ð°ìæ³³äèéí ñàíóóëãóóä íü òîãòìîë áèø á°ã°°ä äàðàà äàõèí à÷ààëàõ ³åä ìàðòàãääàã. Ñèñòåì à÷ààëàãäñàíû äàðàà kenv(1) òóøààëûã àøèãëàæ á³õ õóâüñàã÷óóäûã õàðóóëæ áîëíî. /boot/device.hints àéëûí ñèíòàêñ íü ì°ð á³ðò íýã õóâüñàã÷ áàéõ á°ã°°ä ñòàíäàðò ÷àãò “#”-ã òàéëáàð òýìäýãëýã÷ýýð àøèãëàäàã. Ì°ð³³äèéã äàðààõ áàéäëààð á³òýýäýã: hint.driver.unit.keyword="value"
3 äàõü øàòíû à÷ààëàã÷ äóóäàã÷èéí ñèíòàêñ íü: set hint.driver.unit.keyword=value
357
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ
íü ò°õ°°ð°ìæèéí äðàéâåðèéí íýð, unit íü ò°õ°°ð°ìæèéí äðàéâåðèéí íýãæèéí äóãààð, íü ñàíóóëãà ò³ëõ³³ð ³ã þì. Ò³ëõ³³ð ³ã íü äàðààõ òîõèðóóëãóóäààñ òîãòîæ áîëíî:
driver keyword
ò°õ°°ð°ìæ õîëáîãäñîí øóãàìûã çààíà. • port: àøèãëàãäàõ I/O-íû ýõëýõ õàÿãèéã çààíà. • irq: àøèãëàãäàõ òàñàëäàë õ³ñýëòèéí äóãààðûã çààíà. • drq: DMA ñóâãèéí äóãààðûã çààíà. • maddr: ò°õ°°ð°ìæèéí ýçýëæ áàéãàà èçèê ñàíàõ îéí õàÿãèéã çààíà. • flags: ò°õ°°ð°ìæèéí õóâüä ò°ð°ë á³ðèéí òóãèéí áèò³³äèéã òîõèðóóëíà. • disabled: õýðýâ 1 ãýæ òîõèðóóëàãäñàí áîë ò°õ°°ð°ìæ õààãäàæ èäýâõã³é áîëíî. Ò°õ°°ð°ìæèéí äðàéâåðóóä íü ýíä æàãñààãäñàíààñ èë³³ ñàíóóëãóóäûã õ³ëýýí àâ÷ (ýñâýë øààðäàæ) áîëíî, èéìä ãàðûí àâëàãûí õóóäñûã ³çýõèéã ç°âë°æ áàéíà. Äýëãýðýíã³é ìýäýýëëèéí òàëààð device.hints(5), kenv(1), loader.conf(5), áîëîí loader(8) ãàðûí àâëàãóóäààñ ç°âë°ã°° àâíà óó. • at:
12.6 Init:
Ïðîöåññ õÿíàëòûí ýõë³³ëýëò
Ö°ì à÷ààëæ äóóññàíû äàðàà /sbin/init ýñâýë loader-ä init_path õóâüñàã÷èä çààãäñàí ïðîãðàìûí çàìä áàéðëàõ õýðýãëýã÷èéí ïðîöåññ init(8)-ä õÿíàëòàà äàìæóóëäàã. 12.6.1
Àâòîìàò äàõèí à÷ààëàõ äàðààëàë
Àâòîìàò äàõèí à÷ààëàõ äàðààëàë íü ñèñòåì äýõ àéëûí ñèñòåì³³ä á³ðýí á³òýí áàéãàà ýñýõèéã øàëãàäàã. Õýðýâ òýäãýýð íü òèéì áèø á°ã°°ä fsck(8) íü á³ðýí á³òýí áóñ áàéäëûã çàñâàðëàæ ÷àäàõã³é áàéãàà áîë àäìèíèñòðàòîðóóäàä àñóóäëóóäàä øóóä àíõààðëàà õàíäóóëàõ áîëîìæ îëãîõ ãàíö-õýðýãëýã÷èéí ãîðèì óðóó ñèñòåìèéã îðóóëäàã. 12.6.2
àíö-õýðýãëýã÷èéí ãîðèì
Ýíý ãîðèìä àâòîìàò äàõèí à÷ààëàõ äàðààëëûí äàãóó ýñâýë õýðýãëýã÷ -s òîõèðóóëãà àøèãëàí à÷ààëàõ ýñâýë loader-ä boot_single õóâüñàã÷èéã òîõèðóóëæ îðæ áîëäîã. Ì°í shutdown(8)-èéã äàõèí à÷ààëàõ (-r) ýñâýë çîãñîîõ (-h) òîõèðóóëãóóäã³éãýýð îëîí-õýðýãëýã÷èéí ãîðèìîîñ ýíý ãîðèì óðóó îðæ áàñ áîëíî. Õýðýâ ñèñòåìèéí êîíñîë íü insecure áóþó àþóëòàé ãýæ /etc/ttys-ä òîõèðóóëàãäñàí áîë ñèñòåì ãàíö-õýðýãëýã÷èéí ãîðèìûã ýõë³³ëýõýýñýý °ìí° root íóóö ³ãèéã àñóóäàã. Example 12-3. /etc/ttys
äàõü àþóëòàé êîíñîë
# name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off insecure
358
Chapter 12 FreeBSD-èéí À÷ààëàõ ïðîöåññ
êîíñîë ãýäýã íü òà °°ðèéí êîíñîë äàõü èçèê àþóëã³é áàéäëûã àþóëòàé ãýæ àâ÷ ³çýí ç°âõ°í íóóö ³ãèéã ìýääýã õýí íýãýíä ãàíö õýðýãëýã÷èéí ãîðèìûã àøèãëóóëàõûã õ³ñ÷ áàéãàà ãýñýí ³ã á°ã°°ä òà êîíñîëîî àþóëòàéãààð àæèëëóóëàõûã õ³ñ÷ áàéíà ãýñýí ³ã áèø þì. Òèéìýýñ õýðýâ òà àþóëã³é áàéäëûã õ³ñýæ áàéãàà áîë secure áóþó àþóëã³éã áèø insecure áóþó àþóëòàéã ñîíãîîðîé. Note: Àþóëòàé root
12.6.3
Îëîí-õýðýãëýã÷èéí ãîðèì
Õýðýâ init(8) òàíû àéëûí ñèñòåìèéã öýãöòýéã ìýäâýë ýñâýë õýðýãëýã÷ ãàíö-õýðýãëýã÷èéí ãîðèìä àæèëëààä äóóññàíû äàðàà ñèñòåìèéí ýõ ³³ñâýðèéí òîõèðãîîã ýõë³³ëäýã îëîí-õýðýãëýã÷èéí ãîðèì óðóó ñèñòåì îðäîã. 12.6.3.1 Ýõ ³³ñâýðèéí òîõèðãîî (rc)
Ýõ ³³ñâýðèéí òîõèðãîîíû ñèñòåì íü /etc/defaults/rc.conf àéëààñ òîõèðãîîíû àíõäàã÷óóä áîëîí ñèñòåìèéí òóñãàéëñàí íàðèéí ç³éë³³äèéã /etc/rc.conf àéëààñ óíøèæ äàðàà íü /etc/fstab-ä äóðäàãäñàí ñèñòåìèéí àéëûí ñèñòåì³³äèéã õîëáîí ñ³ëæýýíèé ³éë÷èëãýýí³³ä, áóñàä ñèñòåìèéí äýìîíóóäûã ýõë³³ëýí ò°ãñã°ëä íü ëîêàë ñóóëãàãäñàí áàãöóóäûí ýõë³³ëýõ ñêðèïò³³äèéã àæèëëóóëäàã. rc(8) ãàðûí àâëàãûí õóóäàñ íü ñêðèïò³³äèéã °°ðñäèéã íü øàëãàæ ýõ ³³ñâýðèéí òîõèðãîîíû ñèñòåìèéí ñàéí ç°âë°ìæ áîëäîã.
12.7
Óíòðààõ äàðààëàë
shutdown(8)-ð õÿíàãäñàí óíòðààëò õèéãäýõýä init(8) íü /etc/rc.shutdown ñêðèïòèéã àæèëëóóëàõûã îðîëäîæ äàðàà íü á³õ ïðîöåññóóä óðóó TERM äîõèî ÿâóóëàõ á°ã°°ä äàðààãààð íü õóãàöààíäàà äóóñààã³é ïðîöåññóóä óðóó KILL äîõèî èëãýýäýã. Òýæýýëèéí óäèðäëàãûã äýìæäýã àðõèòåêòóðóóä áîëîí ñèñòåì³³ä äýýðõ FreeBSD ìàøèíûã óíòðààõäàà òýæýýëèéã äàðóé óíòðààõûí òóëä ç³ãýýð ë shutdown -p now òóøààëûã àøèãëààðàé. FreeBSD ñèñòåìèéã äàõèí à÷ààëàõäàà shutdown -r now òóøààëûã àøèãëàíà. shutdown(8)-ã àæèëëóóëàõûí òóëä òà root ýñâýë operator á³ëãèéí ãèø³³í áàéõ õýðýãòýé. halt(8) áîëîí reboot(8) òóøààëóóä áàñ àøèãëàãäàæ áîëîõ á°ã°°ä äýëãýðýíã³é ìýäýýëëèéí òàëààð òýäãýýðèéí ãàðûí àâëàãûí õóóäñóóä áîëîí shutdown(8)-û õóóäñàíä õàíäàíà óó. Note: Òýæýýëèéí óäèðäëàãà ö°ìä acpi(4) äýìæëýã ýñâýë òóõàéí ìîäóëü à÷ààëàãäñàí áàéõûã
øààðääàã.
359
Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò Chapter 13
Áè÷ñýí Íýéë Áëýêè-Ìèëíåð. Îð÷óóëñàí Øàãäàðûí Íàöàãäîðæ. 13.1
Åð°íõèé àãóóëãà
FreeBSD ñóóñàí êîìïüþòåðèéã íýã çýðýã îëîí õýðýãëýã÷ õýðýãëýæ áîëäîã. Ìýäýýæ, òîäîðõîé ì°÷èä äýëãýöèéí óðä ãàð àøèãëàæ ç°âõ°í íýã õýðýãëýã÷ ñóóäàã ÷ , îëîí õýðýãëýã÷èä ñ³ëæýýãýýð õîëáîãäîæ °°ðñäèéíõ°° àæëûã ã³éöýòãýæ ÷àäíà. Ñèñòåìèéã õýðýãëýõèéã õ³ññýí õýðýãëýã÷ íü á³ðòãýëòýé áàéõ ¼ñòîé. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: 1
•
FreeBSD ñèñòåì äýõ õýðýãëýã÷äèéí ò°ð°ë á³ðèéí á³ðòãýëèéí ÿëãàà.
Õýðýãëýã÷èéí á³ðòãýë õýðõýí íýìýõ. • Õýðýãëýã÷èéí á³ðòãýëèéã õýðõýí óñòãàõ. • Õýðýãëýã÷èéí á³òýí íýð, ýñâýë ýðõýìëýäýã shell çýðýã á³ðòãýë ìýäýýëëèéã õýðõýí °°ð÷ë°õ. • Á³ðòãýë³³äèéí á³ëýã áà õýðýãëýã÷ á³ðä çàðöóóëàãäàõ Ïðîöåññîð, ì°í ñàíàõ îéí õýìæýýã õýðýãëýõ ýðõ çýðýãò õýðõýí õÿçãààðëàëò õèéõ. • Á³ðòãýëèéí çîõèöóóëàëòûã õÿëáàð áîëãîõûí òóëä á³ëãèéã õýðõýí õýðýãëýõ. Ýíý á³ëãèéã óíøèæ ýõëýõýýñýý °ìí° òà äàðààõ ç³éëñèéã ìýäñýí áàéõ õýðýãòýé: •
•
UNIX áîëîí FreeBSD-í ³íäñýí îéëãîëò(Chapter 3).
13.2
Òàíèëöóóëãà
Ñèñòåì ð³³ õàíäàõ á³õ õàíäàëò, ì°í õýðýãëýã÷ýýñ ã³éöýòãýãäýæ áàéãàà ³éëäë³³ä íü á³ãä á³ðòãýëýýð çîõèöóóëàãäàíà. Òèéì áîëîõîîð FreeBSD äýýð á³ðòãýëèéí çîõèöóóëàëò òóí ÷óõàë. FreeBSD ñèñòåìèéí á³ðòãýë íü óã á³ðòãýëýý òîäîðõîéëñîí ìýäýýëýë àãóóëæ áàéäàã. Õýðýãëýã÷èéí íýð Ýíý õýðýãëýã÷èéí íýð íü login: õýñýãò íýâòðýõäýý áè÷äýã íýð. Õýðýãëýã÷èéí íýð íü ýíý êîìïüþòåðò èéì íýðýýð öîðûí ãàíö áàéõ ¼ñòîé. Õî¼ð õýðýãëýã÷ íýã èæèë íýðòýé áàéæ áîëîõã³é. passwd(5);-ä çààñíû äàãóó ç°â õýðýãëýã÷èéí íýð ³³ñãýõ ìàø îëîí ä³ðýì áèé. Åð°íõèéä°°, òà íàéìàí òýìäýãòýýñ õýòðýëã³é, ö°°õ°í áàéæ áîëíî, á³ãä áàãà ³ñãýýð áè÷èãäýõ íýð õýðýãëýíý. Íóóö ³ã Á³õ á³ðòãýë íü õàðãàëçàõ íóóö ³ãòýé. Íóóö ³ã íü õîîñîí áàéæ áîëîõ á°ã°°ä ýíý òîõèîëäîëä ñèñòåì òàíààñ íóóö ³ã øààðäàõã³é. Ýíý íü åðäèéí ³åä òèéì ñàéí ñàíàà áèø á°ã°°ä á³õ á³ðòãýë °°ðèéí íóóö ³ãòýé áàéõ õýðýãòýé.
360
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò
Õýðýãëýã÷èéí ID (UID) UID áîë èõýíõäýý 0 ýýñ 65535 õ³ðòýëõ òîî áàéäàã áà , ñèñòåìä õýðýãëýã÷èéã óã ãàíö ãîö òîîãîîð òàíèõàä õýðýãëýãääýã. Äîòîîä àæèëëàãààíäàà, FreeBSD íü UID äóãààðûã õýðýãëýæ õýðýãëýã÷èéã òàíèæ—FreeBSD-í õýðýãëýã÷èéí íýð àøèãëàäàã á³õ òóøààëóóä íü óã õýðýãëýã÷òýé àæèëëàõààñàà °ìí° ýõëýýä ýíý äóãààð ðóó íü õóâèðãàäàã. Òýãýõýýð, õýä õýäýí á³ðòãýë íü ÿíç á³ðèéí íýðòýé ì°ðòë°° íýã UID äóãààðòàé áàéæ áîëíî ãýñýí ³ã. Õýðýâ òèéì áîë FreeBSD òýä íàðûã íýã õýðýãëýã÷ ãýæ òîîöíî. Ìýäýýæ òàíä èíãýæ õèéõ øààðäëàãà áàéõã³é. Á³ëãèéí ID (GID) GID áîë èõýíõäýý 0 ýýñ 65535 õ³ðòýëõ òîî áàéäàã áà , õýðýãëýã÷äèéã á³ëýãëýñýí á³ëãèéã ãîöîëæ òàíèõàä õýðýãëýãääýã. Á³ëýã íü õýðýãëýã÷äèéí UID áîëãîí ðóó õàíäàëã³éãýýð á³ëýãëýãäñýí õýñýã õýðýãëýã÷äèéã á³ëãèéí äóãààðààð íü õàíäàæ çîõèöóóëàõàä õýðýãëýäýã çàð÷èì. Ýíý íü çàðèì òîõèðóóëàã÷ àéëóóäàä ìàø èõ çàé õýìíýõýä òóñ áîëäîã. Íýã õýðýãëýã÷ íü íýãýýñ èë³³ îëîí á³ëýãò áàéæ áîëíî. Íýâòðýõ ò°ð°ë Íýâòðýõ ò°ð°ë íü á³ëýãëýõ çàð÷ìûí íýìýãäýë á°ã°°ä ñèñòåì äýõ õýðýãëýã÷äèéã àíãèëàõàä èë³³ ä°õ°ì ³ç³³ëäýã. Íóóö ³ã °°ð÷ë°õ äàâòàìæ Àíõíû ãîðèìîîðîî FreeBSD íü õýðýãëýã÷äèéã òîäîðõîé äàâòàìæòàé íóóö ³ãýý ñîëèõûã øààðääàãã³é. Ýíý øààðäëàãûã íýãæ õýðýãëýã÷èä õýðýãæ³³ëýõã³é áàéõ, ýñâýë õýñýã áóþó á³õ õýðýãëýã÷äèéã òîäîðõîé õóãàöàà °íã°ðñ°íèé äàðàà íóóö ³ãýý ñîëèõ ¼ñòîéãîîð õýðýãæ³³ëæ áîëíî. Á³ðòãýëèéí õ³÷èíòýé îãíîî Àíõíû ãîðèìîîðîî FreeBSD íü á³ðòãýëä õÿçãààð òàâüäàãã³é. Õýðýâ òà á³ðòãýë ³³ñãýõ ³åä óã á³ðòãýë íü òîäîðõîé õóãàöààíä õ³÷èíòýé áàéõ ¼ñòîé ãýäãèéã ìýäýæ áàéâàë, æèøýýëáýë, ñóðãóóëüä îþóòíóóäàä õýðýãëýã÷ íýýõäýý õýçýý äóóñàõûã íü ìýäýæ áàéõ çýðýã èéì òîõèîëäîëä á³ðòãýëä òà õ³÷èíòýé áàéõ îãíîîã íü çààæ °ã÷ áîëäîã. Õ³÷èíòýé îãíîî õýòðýõ ³åä õýðýãëýã÷ ñèñòåìä íýâòýð÷ ÷àäàõã³é á°ã°°ä õàðèí óã á³ðòãýëä õàìààð÷ áàéñàí àéë áîëîí ñàíãóóä õýâýýðýý áàéíà. Õýðýãëýã÷èéí á³òýí íýð Õýðýãëýã÷èéí íýð íü FreeBSD äýýð öîð ãàíö ãîö áàéõ ¼ñòîé á°ã°°ä ýíý íü çààâàë õýðýãëýã÷èéí æèíõýíý íýð áàéõ àëáà ³ã³é. Òèéì ó÷ðààñ ýíý íýð íü óã á³ðòãýëä òîõèðñîí íýìýëò ìýäýýëýë áàéæ áîëíî. ýðèéí ñàí ýðèéí ñàí ãýäýã íü ñèñòåì äýýð áóé á³õëýýð íü áè÷ñýí ñàíãèéí áàéðøèë á°ã°°ä õýðýãëýã÷ ñèñòåìä íýâòýð÷ îðîíãóóò ýíý ñàíä ýõýëæ îðäîã. Ýíãèéí òîãòñîí æóðìàíä, á³õ õýðýãëýã÷èéí ãýðèéí ñàíãóóä íü /home/õýðýãëýã÷èéí-íýð ýñâýë /usr/home/õýðýãëýã÷èéí-íýð -ä áàéðëóóëñàí áàéäàã. Õýðýãëýã÷ íü ãýðèéí ñàí äîòðîî õóâèéí àéëóóäàà õàäãàëàõ á°ã°°ä ì°í òýð äîòðîî äóðûí ñàí ³³ñãýõ áîëîìæòîé. Õýðýãëýã÷èéí á³ðõ³³ë Á³ðõ³³ë íü õýðýãëýã÷èéã ñèñòåìòýé õàðüöàõàä õýðýãëýãäýõ àíõíû îð÷íû á³ðäëýýð õàíãàæ °ãä°ã. Ìàø îëîí ò°ðëèéí á³ðõ³³ë³³ä áàéäàã á°ã°°ä òóðøëàãàòàé õýðýãëýã÷èä °°ðñäèéíõ°° á³ðòãýëèéí 2
2
361
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò
òîõèðãîîã °°ð÷èëæ ýðõýìëýäýã á³ðõ³³ëýý ñîíãîæ àâäàã. Á³ðòãýëèéí ãîë ãóðâàí ò°ð°ë áèé: Ñóïåð õýðýãëýã÷, ñèñòåì õýðýãëýã÷, òýãýýä õýðýãëýã÷èéí á³ðòãýë. Ñóïåð õýðýãëýã÷èéí á³ðòãýëèéã ãîëäóó root ãýæ íýðëýäýã á°ã°°ä, ÿìàð ÷ ýðõèéí õÿçãààðëàëòã³éãýýð ñèñòåìèéã çîõèöóóëæ ÷àääàã. Ñèñòåì õýðýãëýã÷èä íü ³éë÷èëãýýí³³äèéã àæèëëóóëàõ ýðõòýé. Ýöýñò íü, õýðýãëýã÷èéí á³ðòãýë íü áîëîõîîð æèðèéí õ³ì³³ñò õýðýãëýãääýã á°ã°°ä íýâòýð÷ îðîõ, çàõèàãàà øàëãàõ çýðýã ³éëäýëä àøèãëàãääàã. 13.3
Ñóïåð õýðýãëýã÷èéí á³ðòãýë
îëäóó root ãýæ íýðëýãäýõ ñóïåð õýðýãëýã÷èéí á³ðòãýë íü ñèñòåìèéã çîõèöóóëàõ çîðèëãîîð óðüä÷èëàí òîõèðóóëàãäàæ èðäýã á°ã°°ä çàõèà øàëãàõ, ïðîãðàì àæèëëóóëàõ, ñèñòåìèéí çàðèì ³éëäëèéã òóðøèõ çýðýã ³éëäýëä õýðýãëýõ õýðýãã³é. Æèðèéí õýðýãëýã÷ýýñ ÿëãààòàé íü, ñóïåð õýðýãëýã÷ íü ÿìàð ÷ õÿçãààðëàëòã³éãýýð ñèñòåìä ³éëäýë õèéæ ÷àääàã áîëîõîîð, áîëãîîìæã³é õèéñýí ³éëäýë òàíü ìàø òîì àëäààíä õ³ðãýæ áîëçîøã³é þì. Ýíãèéí õýðýãëýã÷èéí á³ðòãýëýýð àëäààòàé ³éëäýë õèéñýí ÷ ñèñòåìèéã ýâäýõ ÷àäâàðã³é ó÷ðààñ îíöãîé øààðäëàãà ãàðàõã³é ë áîë ýíãèéí õýðýãëýã÷èéí á³ðòãýëèéã áàéíãà õýðýãëýõ íü ñàéí. Òà ñóïåð õýðýãëýã÷ áàéõ ³åäýý ã³éöýòãýõ ãýæ áóé òóøààëàà ³ðãýëæ äàâõàð óäàà ýñâýë ãóðâàí óäàà øàëãàæ áàéõã³é áîë, íýìýëò çàé àâàëò ýñâýë òýìäýã äóòñàíààñ áîëæ í°õ°æ áàðøã³é °ã°ãäëèéí ãàðç ãàð÷ áîëçîøã³é áèëýý. Èéì áîëîõîîð, ýíý á³ëãèéã óíøñàíû äàðàà òàíû õèéõ õýðýãòýé õàìãèéí ýõíèé ç³éë òàíü, õýðýâ ³³ñãýýã³é áîë åðäèéí õýðýãëýýíäýý çîðèóëæ îíöãîé ýðõã³é õýðýãëýã÷èéí á³ðòãýë °°ðò°° íýýõ þì. Ýíý àðãà íü îëîí õýðýãëýã÷òýé ýñâýë ãàíö õýðýãëýã÷òýé ìàøèíû àëü àëèíä íü õýðýãæèãäýõ õýðýãòýé. Ýíý á³ëãèéí ñ³³ë õýñýãò íýìýëò á³ðòãýë ³³ñãýýä, æèðèéí õýðýãëýã÷ áîëîí ñóïåð õýðýãëýã÷èéí õîîðîíä õýðõýí ñîëüæ áîëîõ òàëààð çààâàðëàõ áîëíî. 13.4
Ñèñòåì á³ðòãýë
Ñèñòåì õýðýãëýã÷èä íü DNS, çàõèà, âýá ñåðâåð ãýõ ìýò÷èëýí ³éë÷èëãýýí³³äèéã àæèëëóóëàõ ýðõòýé áàéäàã. îë øàëòãààí íü àþóëã³é áàéäàë; õýðýâ á³õ ³éë÷èëãýýí³³ä ñóïåð õýðýãëýã÷ ýðõýýð àæèëëàâàë õÿçãààðã³é ³éëäýë õèéõ ýðõòýé áîëîõ àþóëòàé. Ñèñòåì õýðýãëýã÷äèéí íýã æèøýý áîë äýìîí áóþó äàëä ÷°òã°ð, operator, bind (Äîìýéí íýðíèé ³éë÷èëãýýíä çîðèóëñàí), news, ì°í www íàð þì. nobody áîë ñèñòåìèéí åðäèéí îíöãîé ýðõã³é ñèñòåì õýðýãëýã÷. ýõäýý, õýðýâ òà õýäèé ÷èíýý àéë áîëîí ³éëäë³³äýä õàìààòàé ³éë÷èëãýýí³³äèéã ýíý nobody õýðýãëýã÷ýýð àøèãëàíà, ò°äèé õýìæýýíèé ýðõòýé áàéíà ãýñýí ³ã. 13.5
Ýíãèéí õýðýãëýã÷èéí á³ðòãýë
Õýðýãëýã÷äèéí ýíý á³ðòãýë íü áîäèò õ³ì³³ñèéã ñèñòåì ð³³ íýâòðýõýä õýðýãëýãäýæ, òóõàéí õýðýãëýã÷ áîëîí îð÷íûã òóñãààðëàí, ýíãèéí õýðýãëýã÷èéã ñèñòåì ýâäýõýýñ ñýðãèéëýõ, ì°í õýðýãëýã÷èä °°ðñäèéíõ°° îð÷íûã áóñäàä í°ë°°ë°õã³éãýýð °°ð÷èëæ áîëîõ çýðýãò çîðèóëàãäñàí.
362
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò
Òàíû ñèñòåì ð³³ îðæ áàéãàà á³õ õ³í °°ðèéí ãýñýí á³ðòãýëòýé áàéõ õýðýãòýé. Èíãýñíýýð òà õýí þó õèéæ áàéãààã ìýäýæ áîëîõîîñ ãàäíà, õ³í áîëãîíû òîõèðóóëãà áóñäûí òîõèðóóëãàòàé õîëèëäîõ, ýñâýë íýã íýãíèéõýý çàõèàã óíøèõ çýðýã í°õöë³³äýýñ ñýðãèéëæ ÷àäíà. Õýðýãëýã÷ áîëãîí °°ðèéíõ°° ýðõýìëýäýã á³ðõ³³ë, çàñâàðëàã÷, ãàðûí òîâ÷ëóóð, ì°í õýë çýðýã òîõèðóóëãûã °°ðò°° çîðèóëæ ñèñòåìä òîõèðóóëæ áîëíî. 13.6
Á³ðòãýëä °°ð÷ë°ëò õèéõ
UNIX îð÷èíä õýðýãëýã÷èéí á³ðòãýëèéã °°ð÷èëæ áîëîõ ìàø îëîí òóøààëóóä áàéäàã. Äîîðõ õýñýãò õàìãèéí ò³ãýýìýë õýðýãëýãääýã òóøààëóóäûã õýðýãëýõ æèøýýòýé íü õàìò íýãòãýæ õàðóóëëàà.
Òóøààë adduser(8) rmuser(8) chpass(1) passwd(1) pw(8)
Òàéëáàð Øèíý õýðýãëýã÷ íýìýõýä õýðýãëýãääýã, ñàíàë áîëãîãäñîí, áè÷èæ ã³éöýòãýãääýã òóøààë ïðîãðàì. Õýðýãëýã÷èéã óñòãàõàä õýðýãëýãääýã, ñàíàë áîëãîãäñîí, áè÷èæ ã³éöýòãýãääýã òóøààë ïðîãðàì. Õýðýãëýã÷èéí °ã°ãäëèéí ìýäýýëëèéã °°ð÷èëä°ã íèéöòýé áàãàæ. Õýðýãëýã÷èéí íóóö ³ãèéã ñîëüäîã, ýíãèéí áè÷èæ ã³éöýòãýãääýã òóøààõ áàãàæ. Õýðýãëýã÷èéí á³õ ìýäýýëëèéã °°ð÷èëæ ÷àääàã, õ³÷èðõýã íèéöòýé áàãàæ.
13.6.1 adduser adduser(8) íü øèíý õýðýãëýã÷ íýìäýã ýíãèéí ïðîãðàì. Ýíý íü ñèñòåìèéí passwd áîëîí group àéëóóäàä îðóóëãà íýìäýã. Ì°í ýíý ïðîãðàì íü øèíý õýðýãëýã÷èä çîðèóëæ ãýðèéí ñàí ³³ñãýæ, àíõäàã÷ òîõèðóóëãûí àéëóóäûã (“öýãòýé àéëóóä”) /usr/share/skel ñàíãààñ õóóëàí, õýðýâ íýìýëò ñîíãîëò õèéñýí áîë øèíý õýðýãëýã÷ ð³³ ìýíä÷èëãýýíèé çàõèà èëãýýäýã. Example 13-1. FreeBSD
äýýð õýðýãëýã÷ íýìýõ íü
# adduser
Username: jru Full name: J. Random User Uid (Leave empty for default): Login group [jru]: Login group is jru. Invite jru into other groups? []: wheel Login class [default]: Shell (sh csh tcsh zsh nologin) [sh]: zsh Home directory [/home/jru]: Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : jru
363
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò Password : **** Full Name : J. Random User Uid : 1001 Class : Groups : jru wheel Home : /home/jru Shell : /usr/local/bin/zsh Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (jru) to the user database. Add another user? (yes/no): no Goodbye! #
Note: Îðóóëñàí íóóö ³ã òàíü òàíä õàðóóëàãäàõã³é áàñ îäîîð ÷ ä³ðñýëæ õàðóóëàãääàãã³é. Òèéì áîëîõîîð íóóö ³ãýý õÿíàæ ç°â îðóóëàõ õýðýãòýé.
13.6.2 rmuser
Òà rmuser(8)-ã õýðýãëýí ñèñòåìýýñ õýðýãëýã÷èéã íýã ì°ñ°í óñòãàæ áîëíî. rmuser(8) íü äàðààõ àëõìóóäûã ã³éöýòãýäýã: 1. 2. 3. 4. 5. 6. 7. 8.
Õýðýãëýã÷èéí crontab(1) îðóóëãóóäûã óñòãàíà (õýðýâ áàéâàë). Õýðýãëýã÷èä õàìààðàõ at(1) àæëóóäûã óñòãàíà. Õýðýãëýã÷èéí ýçýìøäýã á³õ ïðîöåññóóäûã óñòãàíà. Ñèñòåìèéí äîòîîä íóóö ³ãèéí àéëààñ õýðýãëýã÷èéã óñòãàíà. Õýðýãëýã÷èéí ãýðèéí ñàíã óñòãàíà (õýðýâ õýðýãëýã÷ ýçýìøäýã áîë). /var/mail äîòîðõ óã õýðýãëýã÷èä èðñýí çàõèàíóóäûã óñòãàíà. Õýðýãëýã÷èéí ýçýìøèæ áàéñàí àéëóóäûã /tmp ãýõ ìýòèéí ò³ð õàäãàëàã÷ ñàíãààñ óñòãàíà. Ýöýñò íü /etc/group äîòîð áóé õýðýãëýã÷èéí õàìðàãääàã á³õ á³ëã³³äýýñ óã õýðýãëýã÷èéã óñòãàíà. Note: Õýðýâ á³ëãèéí íýð íü óã õýðýãëýã÷èéí íýðòýé èæèë á°ã°°ä óã á³ëýã íü õîîñîð÷ áàéâàë óã á³ëýã íü adduser(8) ïðîãðàìààð ç°âõ°í óã õýðýãëýã÷èä ãîöîëæ ³³ñãýãäñýí áîëîõîîð áàñ óñòãàãäàíà.
Ñóïåð õýðýãëýã÷èéí á³ðòãýëèéã óñòãàâàë ìàø îëîí óñòãàëãà õèéãäýõ áîëîõîîð rmuser(8) ïðîãðàì õýðýãëýãäýæ ÷àäàõã³é. Àíõíû ãîðèì íü, òàíûã þó õèéæ áàéãààä èòãýëòýé áàéõûí òóëä ëàâëàæ õàðèëöàõ ãîðèì õýðýãëýãääýã.
364
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò Example 13-2. rmuser
Ëàâëàæ õàðèëöàí á³ðòãýë óñòãàõ
# rmuser jru
Matching password entry: jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh Is this the entry you wish to remove? y Remove user’s home directory (/home/jru)? y Updating password file, updating databases, done. Updating group file: trusted (removing group jru -- personal group is empty) done. Removing user’s incoming mail file /var/mail/jru: done. Removing files belonging to jru from /tmp: done. Removing files belonging to jru from /var/tmp: done. Removing files belonging to jru from /var/tmp/vi.recover: done. #
13.6.3 chpass chpass(1) íü õýðýãëýã÷èéí °ã°ãäëèéí áààç áîëîõ íóóö ³ã, á³ðõ³³ë, ì°í õóâèéí ìýäýýëýë çýðã³³äèéã °°ð÷èëä°ã. Ç°âõ°í ñèñòåì çîõèöóóëàã÷èä íü ñóïåð õýðýãëýã÷ áîëæ chpass(1)-ã õýðýãëýí áóñäûí ìýäýýëëèéã °°ð÷ë°õ ýðõòýé. Õýðýãëýã÷èéí íýðèéã íýìýëò ñîíãîëò áîëãîæ °ã°õ°°ñ áóñàä ³åä, ÿìàð íýãýí ñîíãîëò °ã°°ã³é òîõèîëäîëä chpass(1) íü õýðýãëýã÷èéí ìýäýýëëèéã àãóóëñàí çàñâàðëàã÷ íýýæ õàðóóëäàã. Õýðýãëýã÷ óã çàñâàðëàã÷ààñ ãàðàõ ³åä õýðýãëýã÷èéí ìýäýýëýë øèíý ìýäýýëëýýð øèíý÷ëýãääýã. Note: Çàñâàðëàã÷ààñ ãàðàõ ³åä õýðýâ òà ñóïåð õýðýãëýã÷ áèø áîë íóóö ³ãýý îðóóëàõûã àñóóõ áîëíî.
Example 13-3.
Ñóïåð õýðýãëýã÷èéí ëàâëàæ àñóóõ chpass õýðýãëýý
#Changing user database information for jru. Login: jru Password: * Uid [#]: 1001 Gid [# or name]: 1001 Change [month day year]: Expire [month day year]: Class: Home directory: /home/jru Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
Ýíãèéí õýðýãëýã÷ íü °°ðèéíõ°° ýíý ìýäýýëëèéí ç°âõ°í æààõàí õýñãèéã ë °°ð÷èëæ ÷àäíà.
365
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò Example 13-4.
Ýíãèéí õýðýãëýã÷èéí ëàâëàæ àñóóõ chpass õýðýãëýý
#Changing user database information for jru. Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information: Note: chfn(1) áà chsh(1) íàð íü ç°âõ°í chpass(1)-í õîëáîîñóóä þì. Íýã ¼ñîíäîî ypchpass(1), ypchfn(1), áîëîí ypchsh(1) íàðòàé èæèëõýí õîëáîîñ. NIS äýìæëýã àâòîìàòààð õèéãäñýí áàéãàà. Òèéì áîëîõîîð òóøààëûí óðä íü yp óãòâàð çàëãàõ øààðäëàãàã³é. Õýðýâ ýíý òàíûã ýðãýëç³³ëæ ãàéõóóëàõ áàéäàëä õ³ðãýæ áàéâàë ñàíàà çîâñíû õýðýãã³é. NIS íü Chapter 29 õýñýãò òàéëáàðëàãäàõ áîëíî.
13.6.4 passwd passwd(1) íü ýíãèéí õýðýãëýã÷ ³åäýý ýñâýë áóñäûí íóóö ³ãèéã ñîëèõîîð áîë ñóïåð õýðýãëýã÷ áîëæ íóóö ³ã ñîëüäîã ýíãèéí àðãà. Note: Áîë÷èìã³é àëäàà ýñâýë ç°âø°°ð°°ã³é °°ð÷ë°ëò îðóóëàõààñ ñýðãèéëæ, øèíý íóóö ³ãèéã ñóóëãàõààñ °ìí° àíõíû íóóö ³ãèéã àñóóäàã.
Example 13-5.
°ðèéíõ°° íóóö ³ãèéã ñîëèõ íü
% passwd
Changing local password for jru. Old password: New password: Retype new password: passwd: updating the database... passwd: done
Example 13-6.
Ñóïåð õýðýãëýã÷ áîë áóñäûí íóóö ³ãèéã ñîëèõ íü
# passwd jru
Changing local password for jru. New password: Retype new password: passwd: updating the database... passwd: done Note: chpass(1), yppasswd(1) çýðýã íü åðä°° passwd(1)-í õîëáîîñóóä á³ãä àæèëëàäàã.
þì. Òèéì áîëîõîîð NIS äýýð ýäãýýð íü
366
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò
13.6.5 pw pw(8) íü õýðýãëýã÷ íýìýõ, óñòãàõ, °°ð÷ë°õ, ì°í õýðýãëýã÷ áà á³ëãèéã õàðóóëäàã òóøààëûí ì°ðèéí áàãàæ þì. Ñèñòåìèéí õýðýãëýã÷ áà á³ëãèéí àéëä õàìãèéí ò³ð³³íä õàíääàã áàãàæ. pw(8) íü ìàø îëîí
õ³÷òýé òóøààëûí ñîíãîëòóóäòàé áàéäàã áîëîõîîð á³ðõ³³ëèéí îð÷íû ñêðèïòýä õýðýãëýõýä òîõèðîìæòîé. ýõäýý øèíý õýðýãëýã÷äýä ýíý ïðîãðàì íü °ìí° ³ç³³ëñýí òóøààëóóäûã áîäâîë èë³³ õýö³³ õ³íäðýëòýé ãýæ òîîöîãäîæ ìàãàäã³é. 13.7
Õýðýãëýã÷äýä õÿçãààðëàëò õèéõ
Õýðýâ òà îëîí õýðýãëýã÷òýé áîë, òýäãýýðèéí ñèñòåì õýðýãëýõ áîëîìæèéã íü õÿçãààðëàõ ñàíàà ò°ðæ ìàãàäã³é. Íýãæ õýðýãëýã÷èä çîðèóëæ ñèñòåìèéí õýðýãëýýã óäèðäàõ õýä õýäýí àðãûã FreeBSD õàíãàæ °ãä°ã. Ýäãýýð õÿçãààðëàëò íü õî¼ð õýñýãò õóâààãääàã: äèñêíèé õóâààðèëàëò, òýãýýä áóñàä í°°öèéí õÿçãààðëàëòóóä. Äèñêèéí õóâààðèëàëò íü õýðýãëýã÷èéí äèñê õýðýãëýõ õýìæýýã çààãëàæ °ãä°ã á°ã°°ä òóõàé á³ðä óã õýìæýýã òîîöîæ áîäîëã³é øóóðõàé øàëãàõ áîëîìæ °ãä°ã. Õóâààðèëàëò íü Section 18.15 á³ëýãò àâ÷ õýëýëöýãäñýí. Áóñàä í°°öèéí õÿçãààðëàëòóóäàä Ïðîöåññîð, ñàíàõ îéí õýìæýý áîëîí áóñàä õýðýãëýã÷èéí õýðýãëýõ í°°ö³³ä îðäîã. Ýäãýýð íü íýâòðýõ àíãèëàë àøèãëàæ çààãäàæ °ãä°ã á°ã°°ä ýíä îäîî ÿðèõ áîëíî. Íýâòðýõ àíãèëàë íü /etc/login.conf-ä çààãäñàí áàéãàà. Íàðèéâ÷èëñàí îéëãîëò ýíý á³ëýãò îðîîã³é, ãýõäýý login.conf(5) ãàðûí àâëàãàä òîäîðõîé áè÷èãäñýí áàéãàà. Õýðýãëýã÷ á³ðä íýâòðýõ àíãèëàë çààãäñàí áàéäàã ãýæ õýëýõýä õàíãàëòòàé (àíõäàã÷ óòãà íü default), á°ã°°ä íýâòðýõ àíãèëàë á³ð °°ðò°° òîäîðõîé íýâòðýõ ÷àíàðóóäûã àãóóëñàí áàéäàã. Íýâòðýõ ÷àíàð ãýäýã íü íýð =óòãà ãýñýí õîñëîë á°ã°°ä ³³íèé íýð íü áèäíèé ìýäýõ õýðýãëýã÷èéí íýð áà óòãà íü íýðòýé õàìààòàé áîëîâñðóóëàãäñàí ì°ð áàéäàã. Íýâòðýõ àíãèëàë áà ÷àíàðûã òîõèðóóëàõ íü õàðüöàíãóé àìàðõàí á°ã°°ä ì°í login.conf(5) äîòîð òîäîðõîé áè÷èãäñýí. Note: Ñèñòåì åðäèéí ³åä øóóä /etc/login.conf
àéëûã óíøäàãã³é, õàðèí ò³ðãýí õàéæ õàðàõàä èë³³ãýýð íü °ã°ãäëèéí áààç àéëûã óíøäàã. /etc/login.conf àéëààñ /etc/login.conf.db àéëûã ³³ñãýõèéí òóëä äàðààõ òóøààëûã ã³éöýòãýõ õýðýãòýé: /etc/login.conf.db
# cap_mkdb /etc/login.conf
Í°°öèéí õÿçãààðëàëò íü ýíãèéí íýâòðýõ ÷àíàðààñ õî¼ð çàìààð ÿëãàðäàã. Ýõíèéõ íü, õÿçãààðëàëò á³ð ç°°ë°í (îäîîãèéí) áà õàòóó õÿçãààðëàëò ãýæ áàéäàã. Ç°°ë°í õÿçãààðëàëò íü õýðýãëýã÷ýýð þì óó ïðîãðàìààð òîõèðóóëàãäàæ áîëäîã á°ã°°ä õàòóó õÿçãààðëàëòààñ äýýã³³ð áèø. Õàðèí õàòóó õÿçãààðëàëò íü õýðýãëýã÷ýýð äîîøîî òîõèðóóëàãäàæ áîëîõ áîëîâ÷ õýçýý ÷ äýýøëýãäýæ ÷àäàõã³é. Õî¼ð äàõü íü, èõýíõ í°°öèéí õÿçãààðëàëò íü òóñãàé õýðýãëýã÷äèéí ïðîöåññ äýýð õýðýãæèãäýõ á°ã°°ä õàðèí õýðýãëýã÷ äýýð á³õëýýðýý õýðýãæèãäýõã³é. Òýìäýãëýæ õýëýõýä, õýäèéãýýð ýäãýýð ÿëãààíóóä íü îíöãîé õÿçãààðëàëò õèéõ ³åä ãîëëîõ áîëîâ÷ íýâòðýõ ÷àíàðûí ³íäñýí õ³ðýýíä õýðýãæèãäýõã³é. (°°ð°°ð õýëáýë, ýäãýýð íü ³íýõýýð îíöãîé íýâòðýõ ÷àíàðûí òîõèîëäîë áèø). Òýãýõýýð, ýëäâèéã íóðøèëã³éãýýð, ýíãèéí áàéíãà õýðýãëýãääýã í°°öèéí õÿçãààðëàëòóóäûã äîîð æàãñààâ (³ëäñýí õÿçãààðëàëòóóäûã ì°í òýäãýýðèéí íýâòðýõ ÷àíàðóóäûã íü login.conf(5)-ñ õàðíà óó).
367
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò coredumpsize
Ïðîãðàìààð ³³ñãýãäñýí ³íäñýí àéëûí õýìæýýíèé õÿçãààð íü ìýäýýæ äèñêíèé õýðýãëýõ õÿçãààðò áàãòàíà. (àéëûí õýìæýý, ýñâýë äèñê õóâààðèëàëò ã.ì). Òýãñýí õýäèé ÷, ýíý íü äèñêíèé õýðýãëýõ õýìæýýã õÿíàõàä õýðýãëýãääýã íýã èõ ÷óõàë áèø òîõèðóóëãà: ³íäñýí àéëûã õýðýãëýã÷èä °°ðñä°° ³³ñãýäýãã³é á°ã°°ä òýäãýýðèéã äàíäàà óñòãààä áàéäàãã³é ó÷èð ³³ãýýð òîõèðóóëñàí ³åä òîì ïðîãðàìààð õýðýãëýãäýõ äèñêíèé õýðýãëýý õýòýðñíèé óëìààñ ïðîãðàì ýâäýð÷ ( æèøýý íü, emacs) çîãñîõîîñ ñýðãèéëæ áîëîõ þì. cputime
Ýíý íü õýðýãëýã÷èéí ïðîöåññ õýðýãëýæ áîëîõ õàìãèéí èõ ïðîöåññîðûí äàâòàìæ þì. Õýòð³³ëæ õýðýãëýñýí ïðîöåññ ö°ì°°ñ óñòãàãääàã. Note: Ýíý íü ïðîöåññîðûí äàâòàìæ
äýýð òàâèãäñàí õýðýãëýýíèé õÿçãààð á°ã°°ä top(1) áà ps(1)-í çàðèì òàëáàðò õàðàãääàã ïðîöåññîðûí õóâèéã çààñàí çààëò áèø. Õóâèàð õÿçãààðëàíà ãýäýã íü ýíý ãàðûí àâëàãûã áè÷èæ áàéõ ³åä áîëîìæã³é áàéñàí áà áîëîìæòîé áàéñàí ÷ õýðýãëýõ øààðäëàãà áàéõã³é: õ°ðâ³³ëýã÷—çàðèì íîöòîé ³éëäë³³ä — çàðèìäàà ïðîöåññîðûí äàâòàìæèéã 100% õóâü õýðýãëýæ ÷àääàã.
filesize
Ýíý õýìæýý íü õýðýãëýã÷èéí õýðýãëýæ áîëîõ õàìãèéí èõ àéëûí õýìæýý. äèñê õóâààðèëàëòààñ ÿëãààòàé íü, ýíý õÿçãààðëàëò íü àéë á³ðä òàâèãääàã á°ã°°ä õýðýãëýã÷èéí ýçýìøäýã á³õ àéëä áèø. maxproc
Ýíý íü õýðýãëýã÷èéí àæèëëóóëæ áîëîõ õàìãèéí èõ ïðîöåññèéí òîî þì. ³íä í³³ðýí òàëûí áîëîí àð òàëûí ïðîöåññóóä áàãòàíà. Ìýäýýæ, ýíý íü kern.maxproc-ä çààãäñàí sysctl(8) ñèñòåìèéí õÿçãààðààñ õýòýð÷ áîëîõã³é. Ì°í òýìäýãëýæ õýëýõýä, ³³íèéã õýòýðõèé áàãààð òîõèðóóëáàë õýðýãëýã÷èéí îëîí äàõèí íýâòýð÷ îðîõ, äàìæóóëàõ õîîëîé àøèãëàõ çýðýã á³òýýìæèä í°ë°°ë°õ áîëíî. Òîì ïðîãðàìûã õ°ðâ³³ëýõ ãýõ ìýò çàðèì ã³éöýòãýë íü ì°í îëîí ïðîöåññ øààðääàã (æèøýý íü, make(1), cc(1), áà áóñàä äóíäûí õ°ðâ³³ëýëòýíä õýðýãëýãääýã ïðîöåññîðóóä). memorylocked
Ýíý íü ÿìàð íýã ïðîöåññ ñàíàõ îéä ò³ãæñýí ñàíàìæ øààðäàõ ³åä õÿçãààðëàõ õàìãèéí èõ ñàíàõ îéí õýìæýý. (æèøýý íü, mlock(2)-ã õàðíà óó). Çàðèì amd(8) ãýõ ìýò ñèñòåìèéí íîöòîé ïðîãðàìóóä íü ³íäñýí ñàíàõ îéã ò³ãæäýã á°ã°°ä ò³ð øèëæ³³ëýã õèéõ øààðäëàãà ãàðàõ ³åä ñèñòåìèéí çîõèöóóëàëòàíä òóñàëäàãã³é.
368
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò memoryuse
Ýíý íü ÿìàð íýã ïðîöåññ ÿìàð ÷ ³åä õýðýãëýæ áîëîõ õàìãèéí èõ ñàíàõ îéí õýìæýý. Ýíý íü ³íäñýí ñàíàõ îé áîëîí ñýëãýõ çàéã õî¼óëàíä õàìààòàé. Ñàíàõ îéí õÿçãààðëàëòûí á³ãäèéã íü õèéäýãã³é ÷ ýíäýýñ ýõëýõ íü ç°â ýõëýëä òîîöîãäîíî. openfiles
Ýíý íü ïðîöåññèéí íýýæ áîëîõ àéëóóäûí õàìãèéí èõ õýìæýý. FreeBSD äýýð ñîêåò, ì°í IPC ñóâãóóä íü àéë õýëáýðýýð õýðýãëýãääýã áîëîõîîð ³³íèéã ìàø áàãààð òîõèðóóëàõàà òóí áîëãîîìæëîõ õýðýãòýé. Ñèñòåì äàÿàð õÿçãààðëàõûí òóëä kern.maxfiles-ä çààæ °ãí° sysctl(8). sbsize
Ýíý íü ñ³ëæýýíä õýðýãëýãäýõ ñàíàõ îéí õÿçãààð. Òèéì áîëîõîîð õýðýãëýã÷èéí õýðýãëýæ áîëîõ mbufs þì. Ýíý íü õóó÷èí ÄîÑ õàëäëàãààñ îëîí ñîêåò íýýõ äàéðàëòûí ýñðýã ³³ñãýñýí ãàðàëòàé á°ã°°ä ñ³ëæýýíèé õîëáîëòûã õÿçãààðëàõàä åð°íõèéä°° õýðýãëýãäýæ áîëíî. stacksize
Ýíý íü ïðîöåññèéí õýðýãëýõ ñòåê ñàíàõ îéí èõñýæ áîëîõ õàìãèéí èõ õýìæýý. Ýíý íü ïðîãðàìûí õýðýãëýæ áîëîõ ñàíàõ îéí õýìæýýã õÿçãààðëàõàä õàíãàëòòàé áèø. îëäóó áóñàä õÿçãààðëàëòóóäòàé õàìòàð÷ õýðýãëýãäýõ õýðýãòýé. Í°°öèéí õÿçãààðëàëòûã òîõèðóóëæ áàéõäàà áóñàä çàðèì ç³éëñèéã ñàíàæ áàéõ õýðýã áàéäàã. Çàðèì ýíãèéí ç°âë°ã°°, ñàíàë ì°í ò°ð°ë á³ðèéí òàéëáàðóóäûã äîîð æàãñààâ. Ñèñòåì ýõëýõ ³åä /etc/rc-ñ àæèëëàäàã ïðîöåññóóä íü äýìîí íýâòðýõ ò°ð°ëä áàãòäàã. • Õýäèéãýýð èõýíõ õÿçãààðëàëòóóäûã àãóóëñàí /etc/login.conf àéë ñèñòåìòýé öóã èðäýã ÷ ãýñýí ç°âõ°í ñèñòåì óäèðäàã÷ òà ë òàíû ñèñòåìä ÿìàð íü õàìààòàéã ìýäíý. Òîõèðóóëãûã õýò èõ áîëãîâîë ñèñòåìýý áóðóó õýðýãëýã÷äýä íýýæ °ã°õ á°ã°°ä õýðýâ õýò áàãààð òîõèðóóëáàë á³òýýìæèä õýò íàðèéäíà. • X öîíõíû ñèñòåìèéí (X11) õýðýãëýã÷èä áóñàä õýðýãëýã÷äèéã áîäâîë èë³³ èõ í°°ö°°ð õàíãàãäàõ õýðýãòýé. X11 íü °°ð°° ìàø èõ í°°ö àâäàã á°ã°°ä áàñ õýðýãëýã÷äýä îëîí ïðîãðàìûã çýðýã àæèëëóóëàõ áîëîìæ °ãä°ã. • Ìàø îëîí õÿçãààðëàëò íü õýðýãëýã÷ äýýð á³õýëä íü áèø õàðèí íýãæ ïðîöåññóóä äýýð òàâèãääàã ãýäãèéã ñàíàõ õýðýãòýé. Æèøýýëáýë, openfiles òîõèðóóëãûã 50 ãýâýë, ýíý íü õýðýãëýã÷èéí àæèëëóóëæ áóé ïðîöåññ áîëãîí 50 àéë íýýæ áîëíî ãýñýí ³ã. Òèéì áîëîõîîð, õýðýãëýã÷èéí íýýæ áîëîõ àéëóóäûí íèéò õýìæýý íü openfiles-í óòãûã maxproc-í óòãààð ³ðæ³³ëæ ãàðíà. Ýíý íü ì°í ñàíàõ îéí õýðýãëýýíä áàñ õýðýãæèíý. Í°°öèéí õÿçãààðëàëò áà íýâòðýõ àíãèëàë, ì°í åð°íõèé íýâòðýõ ÷àíàðóóäûí òóõàé íýìýëò ìýäýýëëèéã õàðãàëçàõ ãàðûí àâëàãà: cap_mkdb(1), getrlimit(2), login.conf(5) íàðààñ õàðíà óó. •
369
13.8
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò
Á³ëýã
Á³ëýã ãýäýã íü õýðýãëýã÷äèéí á³ëýãëýæ æàãñààñàí æàãñààëò þì. Á³ëã³³ä íü á³ëãèéí íýð áà GID (á³ëãèéí ID)-ààð òàíèãääàã. FreeBSD (ì°í èõýíõ áóñàä UNIX ò°ðëèéí ñèñòåì) äýýð, ö°ì°°ñ
õýðýãëýã÷èéí ïðîöåññèéã þì õèéõýä íü ç°âø°°ð°ë °ã°õä°° õî¼ð ç³éëèéã õýðýãëýæ øèéääýãýýñ íýã íü õýðýãëýã÷èéí ID, í°ã°° íü òýð õýðýãëýã÷èéí õàìààðäàã á³ëýã áàéäàã. Õýðýãëýã÷èéí ID ààñ ÿëãàðàõ íü, ïðîöåññîä õîëáîãäñîí á³ëãèéí æàãñààëò áàñ áàéäàã. Òà ìàãàäã³é õýðýãëýã÷èéí ýñâýë ïðîöåññèéí “á³ëãèéí ID” ãýæ áàéíãà ñîíñîõ áàéõ. Èõýíõäýý ýíý íü õýðýãëýã÷èéí á³ëãèéã ÿðüæ áàéäàã. Á³ëãèéí íýðèéã á³ëãèéí ID-ä õàðãàëçóóëñàí áè÷ëýã /etc/group àéëä áèé. Ýíý íü ýíãèéí òåêñò àéë á°ã°°ä òîäîðõîéëîõ õî¼ð öýãýýð òàñëàãäñàí ä°ðâ°í òàëáàð áàéäàã. Ýõíèé òàëáàð íü á³ëãèéí íýð, õî¼ð äàõü íü íóóöëàëûí õ°ðâ³³ëýëò õèéãäñýí íóóö ³ã, ãóðàâ äàõü íü á³ëãèéí ID, òýãýýä ñ³³ëèéíõ íü òàñëàëààð òóñãààðëàãäñàí ãèø³³äèéí æàãñààëò. Ýíý íü ãàðààð çàñâàðëàãäàæ áîëîõ á°ã°°ä (ìýäýýæ òà çàñâàðëàõ ³åäýý áè÷èãëýëèéí àëäàà ãàðãàõã³é áàéõ øààðäëàãàòàé!). Áè÷èãëýëèéí äýëãýðýíã³é ìýäýýëëèéã group(5) õóóäàñíààñ õàðíà óó. Õýðýâ òà /etc/group àéëûã ãàðààð çàñâàðëàõûã õ³ñýõã³é áîë, òà pw(8) òóøààëûã á³ëýã íýìýõ áîëîí çàñâàðëàõàä õýðýãëýæ áîëíî. Æèøýýëáýë, äàðààõ æèøýý íü teamtwo íýðòýé á³ëãèéã íýìæ áàéíà: Example 13-7. pw(8)
õýðýãëýæ á³ëýã íýìýõ
# pw groupadd teamtwo # pw groupshow teamtwo
teamtwo:*:1100:
Äýýðõ 1100 ãýñýí äóãààð íü teamtwo íýðòýé á³ëãèéí ID. Îäîîõîíäîî teamtwo á³ëýãò ãèø³³ä áàéõã³é áàéãàà áîëîõîîð õýðýãöýýã³é áàéíà ãýñýí ³ã. Òèéì áîëîõîîð jru í°õðèéã teamtwo á³ëýãò óðüæ îðóóëöãààÿ. Example 13-8. pw(8)
àøèãëàí á³ëãèéí ãèø³³äèéí æàãñààëòûã òîõèðóóëàõ íü
# pw groupmod teamtwo -M jru # pw groupshow teamtwo
teamtwo:*:1100:jru
òîõèðóóëãàä °ã°õ óòãà íü á³ëýãò áàéõ òàñëàëààð òóñãààðëàãäñàí õýðýãëýã÷äèéí æàãñààëò áàéíà. ìí°õ õýñýãò ³çñýíýýð, íóóö ³ã õàäãàëäàã àéëä õýðýãëýã÷ á³ðä á³ëýã çààãäñàí áàéäãèéã áèä ìýäíý. Ñèñòåì ñ³³ëä íü áè÷èãäýõ õýðýãëýã÷äèéã àâòîìàòààð á³ëãèéí æàãñààëòàä íýìæ °ãä°ã. pw(8) òóøààëûã groupshow ãýñýí ñîíãîëòîîð àæèëëóóëàõàä õýðýãëýã÷èä õàðóóëàãääàãã³é á°ã°°ä, õàðèí ìýäýýëë³³ä íü id(1) þì óó °°ð èæèë ò°ðëèéí òóøààëààð õàðóóëàãääàã. °ð°°ð õýëáýë, pw(8) íü ç°âõ°í /etc/group àéëûã °°ð÷èëä°ã áîëîõîîñ íýìýëò ìýäýýëëèéã /etc/passwd àéëààñ óíøäàãã³é. -M
Example 13-9. pw(8)
àøèãëàí øèíý ãèø³³íèéã á³ëýãò íýìýõ íü
# pw groupmod teamtwo -m db # pw groupshow teamtwo
teamtwo:*:1100:jru,db -m òîõèðóóëãàä °ã°õ óòãà íü á³ëýãò íýìýãäýõ òàñëàëààð òóñãààðëàãäñàí õýðýãëýã÷äèéí æàãñààëò áàéíà. ìí°õ æèøýýíýýñ ÿëãààòàé íü ýäãýýð õýðýãëýã÷èä íü á³ëýãò íýìýãäýõ á°ã°°ä á³ëýã äýõ õýðýãëýã÷äèéí æàãñààëòûã °°ð÷ë°õã³é þì.
370
Chapter 13 Õýðýãëýã÷èä áà ³íäñýí á³ðòãýë çîõèöóóëàëò Example 13-10. id(1)
õýðýãëýæ óã ãèø³³íèé á³ëãèéí ìýäýýëëèéã ìýäýõ íü
% id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)
Ýíä õàðóóëñíààð, jru ãýäýã ãèø³³í jru áîëîí teamtwo á³ëãèéí ãèø³³í áàéíà. pw(8)-í òàëààð äýëãýðýíã³é ìýäýýëëèéã °°ðèéíõ íü ãàðûí àâëàãààñ, ì°í /etc/group àéëûí õýëáýðøèëòèéí ìýäýýëëèéã group(5) ãàðûí àâëàãààñ õàðíà óó.
Notes 1. Chapter 26 á³ëýãò ãàðñíû äàãóó îëîí òåðìèíàë íýýãýýã³é ë áîë.
2. UID/GID äóãààðóóäûã 4294967295 ãýæ èõ òîîãîîð ñîíãîæ áîëîõ áîëîâ÷, èéì äóãààðóóä íü õýðýãëýã÷èéí äóãààðòàé òîîöîí áîääîã ïðîãðàìóóäàä õ³íäðýë ó÷ðóóëàõ ìàãàäëàëòàé.
371
Chapter 14
Àþóëã³é áàéäàë
Ýíý á³ëãèéí èõýíõ õýñãèéã security(7) ãàðûí àâëàãûí õóóäàñíààñ àâñàí á°ã°°ä àâëàãûí õóóäñûã áè÷ñýí Ìýòüþ Äèëëîí. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 14.1
security(7)
ãàðûí
Åð°íõèé àãóóëãà
Ýíý á³ëýã íü ñèñòåìèéí àþóëã³é áàéäëûí óõàãäàõóóíóóäûí ³íäýñ, çàðèì íýã íèéòëýã ïðàêòèêèéí ñàéí àðãóóä áîëîí FreeBSD äýõ çàðèì íýã äýâøèëòòýé ñýäâ³³äèéã òàíèëöóóëàõ áîëíî. Ýíä äóðäàãäñàí îëîí ñýäâ³³äèéã áàñ ñèñòåìèéí áîëîí Èíòåðíýòèéí àþóëã³é áàéäàëä õýðýãëýæ áîëîõ þì. Èíòåðíýò íü õ³í á³ð òàíû íàéðñàã õ°ðø áàéõûã õ³ñäýã “íàéçàðõàã” ãàçàð áàéõàà àëü õýäèéí áîëüñîí. °ðèéí ñèñòåìèéã àþóëã³é áîëãîõ íü òàíû °ã°ãä°ë, îþóíû °ì÷, öàã õóãàöàà çýðýã îëîí ç³éëñèéã õàêåðóóä çýðãèéí ñàâðààñ õàìãààëàõàä õîéøëóóëàøã³é ÷óõàë þì. FreeBSD íü òàíû ñèñòåì áîëîí ñ³ëæýýíèé àþóëã³é áàéäàë áîëîí á³ðýí á³òýí áàéäëûã õàíãàæ áàéäàã õýðýãñë³³ä áîëîí àðãà çàìóóäûí öóãëóóëãûã àãóóëäàã. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: • •
FreeBSD-èéí õóâüä ñèñòåìèéí àþóëã³é áàéäëûí ³íäñýí óõàãäàõóóíóóä.
FreeBSD-ä áàéäàã DES áîëîí MD5 çýðýã ò°ð°ë á³ðèéí íóóöëàõ àðãà çàìóóäûí òàëààð.
Íýã óäààãèéí íóóö ³ãèéí íýâòðýëòèéã õýðõýí òîõèðóóëàõ òàëààð. • TCP Wrappers áóþó TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷äûã inetd-ä àøèãëàí õýðõýí òîõèðóóëàõ òàëààð. • FreeBSD-èéí 5.0-ñ °ìí°õ õóâèëáàðóóä äýýð KerberosIV-ã õýðõýí òîõèðóóëàõ òàëààð. • FreeBSD äýýð Kerberos5-ã õýðõýí òîõèðóóëàõ òàëààð. • IPsec-ã õýðõýí òîõèðóóëæ FreeBSD/Windows ìàøèíóóäûí õîîðîíä VPN ³³ñãýõ òàëààð. • FreeBSD-èéí SSH øèéäýë áîëîõ OpenSSH-ã õýðõýí òîõèðóóëæ àøèãëàõ òàëààð. • Ôàéëûí ñèñòåìèéí ACL-³³ä ãýæ þó áîëîõ, òýäãýýðèéã õýðõýí àøèãëàõ òàëààð. • Portaudit õýðýãñëèéã õýðõýí àøèãëàæ Ïîðòûí öóãëóóëãààñ ñóóëãàãäñàí ãóðàâäàã÷ ïðîãðàì õàíãàìæèéí áàãöóóäûã àóäèò õèéõ òàëààð. • FreeBSD-èéí àþóëã³é áàéäëûí ç°âë°ìæ³³äèéí ñîíîðäóóëãóóäûã õýðõýí õýðýãëýõ òàëààð. • Ïðîöåññèéí Á³ðòãýë õ°òë°õ ãýæ þó áîëîõ òàëààð îéëãîëòòîé áîëæ ò³³íèéã FreeBSD äýýð õýðõýí èäýâõæ³³ëýõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
•
FreeBSD áîëîí Èíòåðíýòèéí ³íäñýí óõàãäàõóóíóóäûã îéëãîõ.
Ýíý íîìîíä íèéòäýý àþóëã³é áàéäëûí íýìýëò ñýäâ³³ä õàìðàãäñàí áîëíî. Æèøýý íü Mandatory Access Control áóþó Øààðäëàãàòàé Õàíäàëòûí Õÿíàëò Chapter 16-ä, Èíòåðíýò ãàëò õàíàíóóäûí òàëààð Chapter 30-ä õýëýëöýãäñýí áàéãàà.
372
14.2
Òàíèëöóóëãà
Chapter 14 Àþóëã³é áàéäàë
Àþóëã³é áàéäàë íü ñèñòåìèéí àäìèíèñòðàòîðààñ ýõýëæ ò³³íòýé äóóñäàã ³éë àæèëëàãàà þì. BSD UNIX îëîí õýðýãëýã÷èéí ñèñòåì³³ä íü óãààñàà çàðèì íýã àþóëã³é áàéäëûã õàíãàæ áàéäàã áîëîâ÷ òýäãýýð õýðýãëýã÷äèéã “³íýí÷” áàéëãàõûã ýðìýëçäýã àþóëã³é áàéäëûí íýìýëò àðãà çàìóóäûã á³òýýæ ò³³íèé àæèëëàãààã õàíãàõ àæèë íü ñèñàäìèíû ìàãàäã³é ãàíö, õàìãèéí òîì ³³ðã³³äèéí íýã þì. Òàíûã àþóëã³é áîëãîñîí ç°âõ°í òýð õýìæýýãýýð ìàøèíóóä íü àþóëã³é áàéäàã á°ã°°ä àþóëã³é áàéäëûí ñàíàà çîâíèëóóä íü õ³íèé àÿ òóõòàé õÿëáàð áàéëãàõ ãýñýí õýðýãöýýòýé ³ðãýëæ òýìöýëäýæ áàéäàã. Åð°íõèéä°° UNIX ñèñòåì³³ä íü àñàð îëîí òîîíû çýðýãöýý ïðîöåññóóäûã àæèëëóóëàõ ÷àäâàðòàé á°ã°°ä ýäãýýð ïðîöåññóóäûí èõýíõ íü ñåðâåð³³ä áîëîí àæèëëàäàã — ýíý íü ãàäíûí ç³éëñ òýäýíòýé õîëáîãäîæ ÿðèëöàõ áîëîìæòîé ãýñýí ³ã þì. ÷èãäðèéí ìèíèêîìïüþòåðóóä, ìýéíðýéì³³äýýñ °í°°ãèéí øèðýýíèé êîìïüþòåðóóä áîëæ êîìïüþòåðóóä íü ñ³ëæýýíä õîëáîãäîæ ñ³ëæýýí³³ä íü õîîðîíäîî õîëáîãäîõ òóñàì àþóëã³é áàéäàë íü óëàì èë³³ òîì àñóóäàë áîëñîîð áàéíà. Ñèñòåìèéí àþóëã³é áàéäàë íü ñ³éð³³ëýõèéã îðîëäñîí ýñâýë ñèñòåìèéã àøèãëàãäàõààðã³é áîëãîõ ãýñýí, ãýõäýý root á³ðòãýëèéã áóóëãàí àâàõ (“root-ã ýâäýõ”) îðîëäëîãî õèéäýãã³é, õàëäëàãóóä çýðýã ò°ð°ë á³ðèéí õàëäëàãóóäûã çîãñîîõòîé áàñ õàìààðàëòàé þì. Àþóëã³é áàéäëûí ñàíàà çîâíèëóóäûã õýä õýäýí çýðýãëýëä õóâààæ áîëíî: 1. éë÷èëãýýã çîãñîîõ õàëäëàãóóä.
2. Õýðýãëýã÷èéí á³ðòãýë áóóëãàí àâàëòóóä.
3. Õàíäàæ áîëîõ ñåðâåð³³äýýð äàìæèí root-ã áóóëãàí àâàõ.
4. Õýðýãëýã÷èéí á³ðòãýë³³äýýñ äàìæèí root-ã áóóëãàí àâàõ. 5. Àðûí õààëãà ³³ñãýëò.
éë÷èëãýýã çîãñîîõ õàëäëàãà íü ìàøèíûã õýðýãöýýòýé ýõ ³³ñâýðýýñ íü ñàëãàõ ³éëäýë þì. Èõýâ÷ëýí DoS õàëäëàãóóä íü ñ³éð³³ëýõèéã îðîëäñîí ýñâýë ìàøèíûã ò³³í äýýðõ ñåðâåð³³ä áîëîí ñ³ëæýýíèé ñòåêèéã ýçýìäýí àøèãëàõ áîëîìæã³é áîëãîäîã áàëìàäààð õ³÷ëýõ àðãà çàìóóä þì. Çàðèì DoS õàëäëàãóóä íü ñ³ëæýýíèé ñòåê äýõ àëäààíóóäûã àøèãëàí ãàíö ïàêåòààð ìàøèíûã ñ³éð³³ëýõèéã îðîëääîã. ³íèéã ç°âõ°í àëäààíû çàñâàðûã ö°ìä õèéñíýýð çàñàõ áîëîìæòîé. Ñèñòåì äýýðõ õ°í°°ëòýé í°õö°ëä áàéõ òýð ñåðâåðèéí äóóäëàãûã õÿçãààðëàäàã òîõèðóóëãóóäûã ç°â çààæ ñåðâåð³³ä óðóó õèéñýí õàëäëàãóóäûã èõýâ÷ëýí çàñàæ áîëäîã. ѳëæýýíèé áàëìàäààð õ³÷ëýõ õàëäëàãóóäûí ýñðýã àðãà õýìæýý àâàõàä èë³³ ò°â°ãòýé áàéäàã. Æèøýý íü õóóðàí ìýõýëñýí ïàêåòèéí õàëäëàãûã çîãñîîõ áàðàã ë áîëîìæã³é, òàíû ñèñòåìèéã Èíòåðíýòýýñ ñàëãàõàä õ³ðãýæ áîëîõ þì. Ýíý íü òàíû ìàøèíûã çîãñîîæ ÷àäàõã³é áàéæ áîëîõ áîëîâ÷ òàíû Èíòåðíýòèéí õîëáîëòûã ä³³ðãýæ áîëíî. Õýðýãëýã÷èéí á³ðòãýëèéã áóóëãàí àâàõ õàëäëàãà íü DoS õàëäëàãààñ èë³³ èõ òîõèîëääîã. Îäîî áîëòîë îëîí ñèñàäìèíóóä ñòàíäàðò telnetd, rlogind, rshd, áîëîí ftpd ñåðâåð³³äèéã °°ðñäèéí ìàøèíóóä äýýð àæèëëóóëñààð áàéíà. Àíõäàã÷ààð ñåðâåð³³ä íü øèðëýñýí õîëáîëò äýýð àæèëëàäàãã³é. Èéì õîëáîëò äýýð õýðýâ òà áàãàã³é õýìæýýíèé õýðýãëýã÷èäòýé á°ã°°ä òýäãýýð õýðýãëýã÷äýýñ íýã áîëîí õýä õýä íü àëñààñ (ýíý íü ñèñòåì óðóó íýâòðýí îðîõ õàìãèéí íèéòëýã òàâ òóõòàé àðãà þì) òàíû ñèñòåì óðóó íýâòðýí îðæ áàéãàà áîë òýäãýýð õýðýãëýã÷èéí íóóö ³ã äóíäààñàà ñ³ëæýýãýýð øèíøëýãäýí àëäàãäàõ áîëîìæòîé áàéäàã. Àíõààðàëòàé ñèñòåìèéí àäìèí òýð õýðýãëýã÷èéí àëñààñ õàíäñàí á³ðòãýë³³ä äýýðýýñ á³ð àìæèëòòàé áîëñîí íýâòðýëò³³äýä õ³ðòýë ñýæèãòýé ýõëýë õàÿãóóä áàéãàà ýñýõèéã õàéí øèíæèëäýã. Õàëäàã÷ õýðýãëýã÷èéí á³ðòãýëä õàíäàæ ÷àäñàíû äàðàà root-ã áàñ ýâäýæ ÷àäíà ãýäãèéã ³ðãýëæ áîäîæ áàéõ õýðýãòýé. ýõäýý æèíõýíý àìüäðàë äýýð áîë ñàéí àþóëã³é áàéäëûã õàíãàæ íóóöëàã áîëãîñîí áàéíãà àæèëëàãààã íü õÿíàæ áàéäàã ñèñòåì äýýð õýðýãëýã÷èéí á³ðòãýëä õàíäàõ íü õàëäàã÷ çààâàë ÷
373
Chapter 14 Àþóëã³é áàéäàë
³ã³é root ýðõýä õàíäàæ ÷àäíà ãýñýí ³ã áèø þì. Ýíý ÿëãààã ç°â ñàëãàæ îéëãîõ õýðýãòýé. Ó÷èð íü root óðóó õàíäàõ áîëîìæã³é õàëäàã÷ åð°íõèéä°° °°ðèéí ì°ðèéã áàëëàæ íóóæ ÷àääàãã³é á°ã°°ä òóõàéí õýðýãëýã÷èéí àéëóóäûã çàìáàðààã³éò³³ëýõ ýñâýë ìàøèíûã ñ³éð³³ëýõýýñ èë³³òýéã õèéæ ÷àääàãã³é. Õýðýãëýã÷èä íü ñèñàäìèíóóä øèã àþóëã³é áàéäëûí àðãà õýìæýýã òýð áîëãîí àâäàãã³é áîëîõîîð õýðýãëýã÷èéí á³ðòãýëèéí áóóëãàí àâàëò íü ìàø ýëáýã áàéäàã þì. Ìàøèí äýýðõ root á³ðòãýëèéã ýâäýõ áîëîìæèò îëîí àðãóóä áàéäãèéã ñèñòåìèéí àäìèíèñòðàòîðóóä ñàíàæ áàéõ õýðýãòýé. Õàëäàã÷ íü root-í íóóö ³ãèéã ìýäýæ áîëíî. Ýñâýë õàëäàã÷ root ýðõýýð àæèëëàäàã ñåðâåðò àëäàà îëæ ñ³ëæýýãýýð òýð ñåðâåð óðóó äàìæèí îðæ root-ã ýâäýæ áîëíî. Ýñâýë õàëäàã÷ íü suid-root ïðîãðàìä àëäàà áàéãààã ìýäýæ õýðýãëýã÷èéí á³ðòãýëèéã ýâäýí îðñíûõîî äàðàà òýð àëäààãààð äàìæèí root-ã ýâäýí îðæ áîëîõ þì. Õýðýâ õàëäàã÷ ìàøèí äýýðõ root-ã ýâäýõ àðãàà îëñîí áîë çààâàë àðûí õààëãà ñóóëãàõ øààðäëàãàã³é áîëæ áîëîõ þì. root-í öîîðõîéíóóäûí îëîíõèéã òóõàéí ³åä àëü õýäèéí îëîîä õàà÷èõñàí áàéäàã á°ã°°ä ýíý ³åä õàëäàã÷èä °°ðèéí ì°ð°° öýâýðëýõýä èõýýõýí àæèëëàãàà øààðääàã áîëîõîîð èõýíõ õàëäàã÷èä àðûí õààëãà ñóóëãàäàã. Àðûí õààëãà íü ñèñòåì óðóó õàíäàõ root õàíäàëòûã õàëäàã÷èä àìàðõíààð äàõèí îëæ àâàõ áîëîìæèéã îëãîäîã áîëîâ÷ ýíý íü óõààëàã ñèñòåìèéí àäìèíèñòðàòîðò õàëäëàãûã àìàðõíààð èëð³³ëýõ áîëîìæèéã áàñ îëãîäîã þì. Õàëäàã÷èéí õàìãèéí ýõëýýä ýâäýí îðñîí öîîðõîéã õààæ ÷àääàãã³é áîëîõîîð àðûí õààëãà ñóóëãàõûã áîëîìæã³é áîëãîõ íü ìàãàäã³é òàíû àþóëã³é áàéäàëä àøèãã³é áàéæ áîëîõ þì. Àþóëã³é áàéäëûí çàñâàðóóä íü îëîí äàâõðààòàé “ñîíãèíû õàëüñ” õàíäëàãààð ³ðãýëæ øèéäýãäýæ áàéõ øààðäëàãàòàé á°ã°°ä òýäãýýðèéã äàðààõ ìàÿãààð çýðýãëýæ áîëíî: 1. root áîëîí staff á³ðòãýë³³äèéã íóóöëàã/àþóëã³é áîëãîõ.
2. root–àæèëëàäàã ñåðâåð³³ä áîëîí suid/sgid õî¼ðòûí àéëóóäûã àþóëã³é áîëãîõ. 3. Õýðýãëýã÷èéí á³ðòãýë³³äèéã àþóëã³é áîëãîõ.
4. Íóóö ³ãèéí àéëûã àþóëã³é áîëãîõ.
5. Ö°ìèéí ãîë õýñýã, ò³³õèé ò°õ°°ð°ìæ³³ä áîëîí àéëûí ñèñòåì³³äèéã àþóëã³é áîëãîõ.
6. Ñèñòåìä õèéãäñýí çîõèñã³é °°ð÷ë°ëò³³äèéã ò³ðãýí èëð³³ëýõ. 7. Ïàðàíîé áóþó õýò çîâíèë.
Ýíý á³ëãèéí äàðààãèéí õýñýã íü äýýð äóðäñàí ç³éëñ³³äèéã èë³³ ã³íçãèéãýýð àâ÷ ³çýõ áîëíî. 14.3 FreeBSD-
í àþóëã³é áàéäëûã õàíãàõ íü
Òóøààëûã Ïðîòîêîëòîé õàðüöóóëàõàä (Command vs. Protocol): Ýíý áàðèìòûí òóðøèä áèä òîä òåêñòýýð ïðîãðàìûã monospaced îíòîîð òóñãàé òóøààëóóäûã òýìäýãëýõ áîëíî. Ïðîòîêîëóóä åðäèéí îíò àøèãëàõ áîëíî. Òýìäýãëýãýýíèé ýíý ÿëãàà íü ssh çýðãèéí õóâüä àøèãòàé, ó÷èð íü ýíý ssh íü ïðîòîêîëîîñ ãàäíà áàñ òóøààë þì.
³íýýñ õîéøõ õýñã³³ä íü ò³ð³³÷èéí á³ëãèéí ñ³³ëèéí õýñýãò äóðäñàí òàíû FreeBSD ñèñòåìèéã àþóëã³é áîëãîõ àðãóóäûã àâ÷ ³çíý.
374
Chapter 14 Àþóëã³é áàéäàë
14.3.1 root
á³ðòãýë áîëîí staff á³ðòãýë³³äèéã àþóëã³é áîëãîõ
Ýõëýýä õýðýâ òà root á³ðòãýëèéã àþóëã³é áîëãîîã³é áîë staff á³ðòãýë³³äèéã àþóëã³é áîëãîõîä ñàíàà çîâñíû õýðýãã³é. Èõýíõ ñèñòåì³³ä root á³ðòãýëä íóóö ³ã °ãñ°í áàéäàã. Òàíû ýõíèé õèéõ ç³éë áîë íóóö ³ã ³ðãýëæ ýâäýãäýæ áîëíî ãýäãèéã áîäîõ õýðýãòýé. Ýíý íü òà íóóö ³ãýý óñòãàõ õýðýãòýé ãýñýí ³ã áèø þì. Íóóö ³ã íü ìàøèí óðóó êîíñîë õàíäàëò õèéõýä ³ðãýëæ õýðýãòýé áàéäàã. Ýíý íü þó ãýñýí ³ã âý ãýõýýð òà íóóö ³ãèéã êîíñîëîîñ ãàäíà ýñâýë áîëæ °ãâ°ë á³ð su(1) òóøààëòàé àøèãëàæ áîëîõîîð õèéõ ¼ñã³é ãýñýí ³ã þì. Æèøýý íü telnet ýñâýë rlogin-ð õèéãäýõ øóóä root íýâòðýëò³³äèéã õààõ pty-óóäûí òîõèðãîîã insecure áóþó àþóëòàé ãýæ /etc/ttys àéëä çààñàí ýñýõèéã øàëãààðàé. Õýðýâ áóñàä íýâòðýõ ³éë÷èëãýýí³³ä áîëîõ sshd çýðãèéã àøèãëàæ áàéãàà áîë øóóä root íýâòðýëò³³äèéã áàñ õààñàí ýñýõèéã øàëãààðàé. Òà ³³íèéã /etc/ssh/sshd_config àéëûã çàñâàðëàí PermitRootLogin òîõèðóóëãûã NO áîëãîí çààæ °ã°°ðýé. Õàíäàõ àðãà á³ð — FTP çýðýã ³éë÷èëãýýí³³äýýð èõýâ÷ëýí ýâäëýí îðäîã áîëîõûã áîäîëöîõ õýðýãòýé. Øóóä root íýâòðýëò³³ä ç°âõ°í ñèñòåìèéí êîíñîëîîð õèéãäýõýä ç°âø°°ð°ãä°õ ¼ñòîé. Ìýäýýæ ñèñòåì àäìèíû õóâüä òà root óðóó îðæ ÷àäàæ áàéõ ¼ñòîé áîëîõîîð áèä õýäýí öîîðõîé ³ëäýýäýã. ýõäýý ýäãýýð öîîðõîéíóóä íü íýìýëò íóóö ³ã øàëãàæ àæèëëàäàã áàéõààð áèä õèéäýã. root-ã õàíäàõ áîëîìæòîé áàéëãàõ íýã àðãà íü òîõèðîõ staff á³ðòãýë³³äèéã wheel á³ëýãò (/etc/group àéëä) íýìýõ ÿâäàë þì. wheel á³ëýãò îðóóëñàí staff-èéí ãèø³³äýä root óðóó su õèéõèéã ç°âø°°ðä°ã. Òà staff-èéí ãèø³³äèéã òýäãýýðèéí íóóö ³ãèéí îðóóëãàä wheel á³ëýãò îðóóëàí áàéðëóóëæ àíõíààñ íü wheel õàíäàëò °ã÷ õýçýý ÷ áîëîõã³é. Staff á³ðòãýë³³äèéã staff á³ëýãò îðóóëàõ ¼ñòîé á°ã°°ä òýãýýä äàðàà íü /etc/group àéëûí wheel á³ëýãò íýìýõ ¼ñòîé. Ç°âõ°í root õàíäàëò çààâàë øààðäëàãàòàé òèéì staff-èéí ãèø³³äèéã wheel á³ëýãò îðóóëàõ ¼ñòîé. Kerberos çýðýã æèíõýíýý øàëãóóëæ íýâòðýõ àðãûã àøèãëàæ áàéõ òîõèîëäîëä çààâàë wheel á³ëýãò îðóóëàëã³éãýýð root á³ðòãýë äýõ Kerberos-èéí .k5login àéëûã àøèãëàæ root óðóó ksu(1) õèéõèéã ç°âø°°ð°õ áàñ áîëîìæòîé áàéäàã. Ýíý íü ìàãàäã³é äàâóó øèéäýë áàéæ áîëîõ þì. Ó÷èð íü õýðýâ õàëäàã÷ òàíû íóóö ³ãèéí àéëûã îëæ àâàí staff á³ðòãýëèéã ýâäëýí îðæ ÷àäàõ áîë wheel àðãà íü õàëäàã÷èä root-ã ýâäýõ áîëîìæèéã îëãîñîí õýâýýð áàéäàã þì. wheel àðãàòàé áàéõ íü îãò àðãàã³é áàéõààñ èë³³ áîëîâ÷ ýíý íü çààâàë ÷ ³ã³é õàìãèéí àþóëã³é ñîíãîëò áàñ áèø þì. Á³ðòãýëèéã á³ðýí ò³ãæèõèéí òóëä pw(8) òóøààëûã àøèãëàõ õýðýãòýé: #pw lock staff
Ýíý íü ssh(1)-èéã îðîëöóóëààä õýðýãëýã÷èéã ÿìàð ÷ àðãà àøèãëàí íýâòðýí îðîõûã õîðèãëîíî. Á³ðòãýë³³äýä õàíäàõûã õîðèãëîõ °°ð íýã àðãà áîë íóóöëàãäñàí íóóö ³ãèéã ãàíö “*” òýìäýãòýýð ñîëèõ ÿâäàë þì. Ýíý òýìäýãò íü íóóöëàãäñàí íóóö ³ãòýé õýçýý ÷ òààðàõã³é á°ã°°ä õýðýãëýã÷èéí õàíäàëòûã õààõ áîëíî. Æèøýý íü äîîð äóðäñàí staff á³ðòãýëèéã: foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
Èéì áîëãîí °°ð÷ë°õ õýðýãòýé: foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh
Ýíý íü foobar õýðýãëýã÷èéã åðäèéí àðãóóä àøèãëàí íýâòðýí îðîõ áîëîìæèéã õààäàã. Ýíý õàíäàëò õÿçãààðëàõ àðãà íü Kerberos àøèãëàæ áàéãàà ñàéòóóä ýñâýë õýðýãëýã÷ ssh(1) àøèãëàí ò³ëõ³³ð³³ä òîõèðóóëñàí òîõèîëäëóóä çýðýãò àæèëëàäàãã³é. Ýäãýýð àþóëã³é áàéäëûí àðãà çàìóóä íü áàñ òàíûã èë³³ õÿçãààðëàñàí ñåðâåðýýñ àðàé áàãà õÿçãààðëàñàí ìàøèí óðóó íýâòðýí îðæ áàéíà ãýæ òîîöäîã. Æèøýý íü õýðýâ òàíû ãîë õàéðöàã ÷èíü á³õ
375
Chapter 14 Àþóëã³é áàéäàë
ë ò°ðëèéí ñåðâåð³³ä àæèëëóóëæ áàéâàë òàíû àæëûí êîìïüþòåð ÷èíü ÿìðûã ÷ àæèëëóóëàõ ¼ñã³é. °ðèéí êîìïüþòåðèéã áîëîìæèéí àþóëã³é áîëãîõûí òóëä òà åð°°ñ°° ñåðâåðã³é áîëòîë àëü áîëîõ ö°°í ñåðâåð àæèëëóóëàõ õýðýãòýé á°ã°°ä òà íóóö ³ãýýð õàìãààëàãäñàí äýëãýö õîîñëîã÷ àæèëëóóëàõ õýðýãòýé. Ìýäýýæ àæëûí êîìïüþòåð óðóó èçèê õàíäàëò °ãâ°ë õàëäàã÷ ÿìàð ÷ ò°ðëèéí àþóëã³é áàéäëûã òà õàíãàñàí áàéëàà ãýñýí ýâäýæ ÷àäíà. Ýíý íü òàíû áîäîõ ¼ñòîé àñóóäëûí íýã þì. ýõäýý ýâäëýí îðîëòóóäûí îëîíõè íü àëñààñ ñ³ëæýýãýýð äàìæèí òàíû àæëûí êîìïüþòåð ýñâýë ñåðâåð³³äýä èçèê õàíäàëò áàéõã³é õ³ì³³ñýýñ èðäýã ãýäãèéã òà áàñ ë áîäîëöîõ õýðýãòýé þì. Kereberos ìýòèéã àøèãëàõ íü òàíä staff á³ðòãýëèéí íóóö ³ãèéã íýã ãàçàð °°ð÷ë°õ ýñâýë õààõ áîëîìæèéã îëãîõ á°ã°°ä staff-èéí ãèø³³äèéí á³ðòãýë áàéæ áîëîõ á³õ ìàøèíóóä äýýð íýí äàðóé áàñ ³éë÷èëäýã. Õýðýâ staff-èéí ãèø³³íèé á³ðòãýë ýâäýãäñýí áîë ò³³íèé íóóö ³ãèéã á³õ ìàøèíóóä äýýð íýí äàðóé °°ð÷ë°õ òýð áîëîìæèéã äóòóó ³íýëýõ ¼ñã³é þì. Òóñäàà áàéãàà íóóö ³ã³³äèéã N ìàøèíóóä äýýð °°ð÷ë°õ íü çîâëîíòîé áàéäàã. Ì°í òà Kerberos-ä íóóö ³ã äàõèí °ã°ëòèéã íîîãäóóëæ áîëîõ á°ã°°ä Kerberos òàñàëáàðûã õýñýã õóãàöààíû äàðàà äóóñäàãààð õèéæ áîëîõîîñ ãàäíà Kerberos ñèñòåì íü òîäîðõîé õóãàöààíû (æèøýý íü ñàð á³ð) äàðàà õýðýãëýã÷èéã øèíý íóóö ³ã ñîíãîõûã øààðääàãààð áàñ òîõèðóóëæ áîëäîã.
àæèëëàäàã ñåðâåð³³ä áîëîí suid/sgid õî¼ðòûí àéëóóäûã àþóëã³é
14.3.2 root-
áîëãîõ
Õÿíàìãàé ñèñàäìèí èë³³ ÷ ³ã³é äóòóó ÷ ³ã³é ç°âõ°í °°ðèéí õýðýãòýé ñåðâåð³³äèéã àæèëëóóëäàã. óðàâäàã÷ òàëûí ñåðâåð³³ä èõýâ÷ëýí õàìãèéí àëäààòàé áàéõ õàíäëàãàòàé ãýäãèéã ñàíàæ áàéõ õýðýãòýé. Æèøýý íü imapd ýñâýë popper ñåðâåðèéí õóó÷èí õóâèëáàðûã àæèëëóóëíà ãýäýã íü óíèâåðñàë root òàñàëáàðûã á³õ äýëõèéä °ã÷ áàéíà ãýñýí ³ã þì. Òà íÿõóóð øàëãààã³é ñåðâåð áèòãèé àæèëëóóë. Îëîí ñåðâåð³³ä çààâàë root ýðõýýð àæèëëàõ øààðäëàãàã³é áàéäàã. Æèøýý íü ntalk, comsat, áîëîí finger äýìîíóóäûã òóñãàé õýðýãëýã÷èéí sandboxes áóþó õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä àæèëëóóëàõ áîëîìæòîé áàéäàã. Õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èí íü àñàð èõ ò°âã³³äèéã äàâæ õèéãýýã³é ë áîë ò°ãñ áèø á°ã°°ä °ìí° äóðäñàí ñîíãèíû õàíäëàãààð àþóëã³é áàéäàëä õàíäàõ íü õýâýýð áàéíà: õýðýâ õýí íýãýí íü õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä àæèëëàæ áàéãàà ñåðâåðò ýâäýí îðæ ÷àäñàí ÷ ãýñýí òýä õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷íûã áàñ ýâäýí ãàðàõ õýðýã áîëíî. Àëü áîëîõ îëîí äàâõàðãûã õàëäàã÷ ýâäëýõ ¼ñòîé áîëîõ òóñàì òýäãýýðèéí àìæèëòòàé áîëîõ íü óëàì áàãàñàõ áîëíî. Óðüä íü root öîîðõîéíóóä íü ñèñòåìèéí ³íäñýí ñåðâåð³³äýýñ àâàõóóëààä áàðàã ë á³õ root àæèëëàäàã ñåðâåð äýýð îëäîæ áàéñàí. Õýðýâ òàíû àæèëëóóëäàã ìàøèí óðóó õ³ì³³ñ ç°âõ°í sshd àøèãëàí íýâòýðäýã á°ã°°ä telnetd, rshd ýñâýë rlogind õýçýý ÷ àøèãëàí íýâòýðäýãã³é áîë ýäãýýð ³éë÷èëãýýí³³äèéã õààãààðàé! Îäîî FreeBSD íü ntalkd, comsat, áîëîí finger ³éë÷èëãýýí³³äèéã õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä àíõäàã÷ààð àæèëëóóëäàã. Õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä àæèëëóóëæ áîëîõ °°ð íýã ïðîãðàì íü named(8) þì. /etc/defaults/rc.conf íü named-ã õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä àæèëëóóëàõàä øààðäëàãàòàé íýìýëò °ã°ãäë³³äèéã òàéëáàð õýëáýðýýð àãóóëñàí áàéäàã. Òàíû øèíý ñèñòåì ýñâýë áàéãàà ñèñòåìýý øèíý÷èëæ áàéãààãààñ õàìààðàí òýäãýýð õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä àøèãëàãäàõ òóñãàé õýðýãëýã÷èéí á³ðòãýë³³ä ñóóëãàãäààã³é áàéæ áîëîõ þì. Õÿíàìãàé ñèñàäìèí ñóäàëãàà õèéæ ñåðâåð³³äèéã õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä àëü áîëîõ àæèëëóóëäàã. Õàìãààëàãäñàí õÿçãààðëàãäìàë îð÷èíä åð°íõèéä°° àæèëëàäàãã³é õýä õýäýí ñåðâåð³³ä áàéäàã: sendmail, popper, imapd, ftpd, áîëîí áóñàä. Ýäãýýðèéí çàðèì øèã áàñ °°ð ñåðâåð³³ä áàéäàã áîëîâ÷ òýäãýýðèéã ñóóëãàõ íü òàíû õ³ñýæ áàéãààãààñ èë³³ (àìàðõàí áàéõ ãýñýí àñóóäàë ýíä ñ°õ°ãä°æ áàéíà) èõ àæèëëàãàà øààðäàæ ìàãàäã³é þì. Òà ýäãýýð ñåðâåð³³äèéã ìàãàäã³é root ýðõýýð àæèëëóóëæ òýäãýýðò ó÷èð÷ áîëîõ ýâäðýí îðîëòóóäûã èëð³³ëýõ °°ð àðãà çàìóóäàä íàéäàõ õýðýãòýé áîëæ áîëîõ þì.
376
Chapter 14 Àþóëã³é áàéäàë
Ñèñòåìèéí °°ð íýã òîì áîëîìæòîé root öîîðõîéíóóä áîë ñèñòåìä ñóóñàí suid-root áîëîí sgid õî¼ðòûí àéëóóä þì. rlogin çýðýã ýäãýýðèéí èõýíõ íü /bin, /sbin, /usr/bin, ýñâýë /usr/sbin ñàíãóóäàä áàéðëàäàã. Þó ÷ 100% àþóëã³é áàéäàãã³é áîëîâ÷ ñèñòåìèéí àíõäàã÷ suid áîëîí sgid õî¼ðòûí àéëóóä íü áîëîìæèéí õýðýýð àþóëã³é ãýæ òîîöîãääîã. ýñýí õýäèé ÷ ýäãýýð õî¼ðòûí àéëóóäàä root öîîðõîéíóóä ³å ³å îëääîã. xterm-ã (ýíý íü èõýâ÷ëýí suid áàéäàã) ýìçýã áîëãîñîí root öîîðõîéíóóä 1998 îíä Xlib-ä îëäæýý. Õàðàìñàõààñàà °ìí° àþóëã³é áàéæ áàéñàí íü äýýð ó÷ðààñ õÿíàìãàé ñèñàäìèí ç°âõ°í staff àæèëëóóëàõ ¼ñòîéãîîð staff ç°âõ°í õàíäàæ ÷àäàõ òóñãàé á³ëýãò ç°âø°°ð÷ suid õî¼ðòûí àéëóóäûã õÿçãààðëàäàã á°ã°°ä õýí ÷ àøèãëàäàãã³é suid õî¼ðòûí àéëóóäûã àæèëëóóëæ áîëîõã³é áîëãîäîã (chmod 000). Äýëãýöã³é ñåðâåðò åð íü xterm õî¼ðòûí àéë õýðýãöýýã³é þì. Sgid õî¼ðòûí àéëóóä íü áàñ ë àþóëòàé þì. Õýðýâ õàëäàã÷ sgid-kmem õî¼ðòûí àéëûã ýâäýæ ÷àäâàë òýð /dev/kmem-ã óíøèæ ÷àäàõ á°ã°°ä èíãýñíýýð íóóö ³ãòýé äóðûí á³ðòãýëèéã ýâäýí îðæ øèðëýñýí íóóö ³ãèéí àéëûã óíøèõàä õ³ðãýäýã. Áàñ kmem á³ëãèéã ýâäñýí õàëäàã÷ secure áóþó àþóëã³é àðãààð äàìæèí íýâòðýí îðñîí õýðýãëýã÷äèéí àøèãëàæ áàéãàà pty-óóäààð èëãýýãäñýí ãàðûí òîâ÷íóóäûí äàðàëòóóäûã õÿíàæ ÷àääàã. tty á³ëãèéã ýâäñýí õàëäàã÷ áàðàã äóðûí õýðýãëýã÷èéí tty-ä áè÷èæ ÷àäíà. Õýðýâ õýðýãëýã÷ ãàð äóóðàéõ áîëîìæ á³õèé òåðìèíàë ïðîãðàì ýñâýë ýìóëÿòîð àæèëëóóëæ áàéãàà áîë õýðýãëýã÷èéí òåðìèíàëûã òóøààë áóöààí õàðóóëàõààð áîëãîäîã °ã°ãäëèéí óðñãàëûã õàëäàã÷ ³³ñãýæ äàðàà íü òýð òóøààëûã òýð õýðýãëýã÷èéí ýðõýýð àæèëëóóëäàã. 14.3.3
Õýðýãëýã÷èéí á³ðòãýë³³äèéã àþóëã³é áîëãîõ
Õýðýãëýã÷èéí á³ðòãýë³³äèéã àþóëã³é áîëãîõ íü èõýâ÷ëýí õàìãèéí õýö³³ áàéäàã. Òà °°ðèéí staff-ä øèð³³í õàíäàëòûí õÿçãààðëàëòóóä îíîãäóóëæ òýäãýýðèéí íóóö ³ã³³äèéã “îä áîëãîæ” áîëîõ áîëîâ÷ òà åðäèéí õýðýãëýã÷èéí á³ðòãýë³³äèéã ÿã èíãýæ õÿçãààðëàæ ÷àäàõã³é áàéæ áîëîõ þì. Õýðýâ òà õàíãàëòòàé õÿíàëòòàé áàéõ þì áîë òàíû àç áîëæ õýðýãëýã÷èéí á³ðòãýë³³äèéã ç°â°°ð àþóëã³é áîëãîæ ÷àäíà. Õýðýâ ³ã³é áîë òà òýäãýýð á³ðòãýë³³äèéã õÿíàõäàà åðä°° ë èë³³ ñîíîð ñýðýìæòýé áàéõ õýðýãòýé. ssh áîëîí Kerberos-ã õýðýãëýã÷èéí á³ðòãýë³³äýä àøèãëàõ íü íýìýëò óäèðäëàãà áîëîí òåõíèêèéí äýìæëýã øààðäëàãàòàéãààñ áîëîîä èë³³ àñóóäàëòàé áàéäàã áîëîâ÷ ýíý íü øèðëýñýí íóóö ³ãèéí àéëûã áîäîõ þì áîë ìàø ñàéí øèéäýë õýâýýð áàéäàã. 14.3.4
Íóóö ³ãèéí àéëûã àþóëã³é áîëãîõ
Öîðûí ãàíö èòãýëòýé àðãà áîë àëü áîëîõ îëîí íóóö ³ã³³äèéã îä áîëãîí òýäãýýð á³ðòãýë³³äýä õàíäàõûí òóëä ssh ýñâýë Kerberos àøèãëà. Øèðëýãäñýí íóóö ³ãèéí àéëûã (/etc/spwd.db) ç°âõ°í root óíøèæ ÷àääàã áîëîâ÷ õàëäàã÷ root-áè÷èõ õàíäàëò îëæ àâ÷ ÷àäààã³é ÷ ãýñýí òýð àéëä óíøèõ ýðõ îëæ àâàõ áîëîìæòîé áàéæ áîëîõ þì. Òàíû àþóëã³é áàéäëûí ñêðèïò³³ä íóóö ³ãèéí àéëä õèéãäñýí °°ð÷ë°ëò³³äèéã ³ðãýëæ øàëãàæ òàéëàãíàõ øààðäëàãàòàé (äîîðõ Ôàéëûí á³ðýí á³òýí áàéäëûã øàëãàõ õýñãèéã ³çíý ³³).
Ö°ìèéí ãîë õýñýã, ò³³õèé ò°õ°°ð°ìæ³³ä áîëîí àéëûí ñèñòåì³³äèéã àþóëã³é áîëãîõ
14.3.5
Õýðýâ õàëäàã÷ root-ã ýâäñýí áîë òýð þóã ÷ õèéæ ÷àäàõ áîëîâ÷ çàðèì àøèã ñîíèðõëóóä áàéäàã. Æèøýý íü îð÷èí ³åèéí èõýíõ ö°ì³³äýä ïàêåò øèíøëýõ ò°õ°°ð°ìæèéí äðàéâåð á³òýýãäñýí áàéäàã. FreeBSD-ä ýíý íü bpf ò°õ°°ð°ìæ ãýæ íýðëýãääýã. Õàëäàã÷ åðä°° áóóëãàí àâñàí ìàøèí äýýðýý ïàêåò øèíøëýã÷èéã
377
Chapter 14 Àþóëã³é áàéäàë
àæèëëóóëàõûã îðîëääîã. Òà õàëäàã÷èä ýíý áîëîìæèéã °ã°õ õýðýãã³é á°ã°°ä èõýíõ ñèñòåì³³äýä bpf ò°õ°°ð°ìæèéã ýìõýòãýí îðóóëàõ øààðäëàãàã³é þì. ýõäýý bpf ò°õ°°ð°ìæèéã õààñàí ÷ ãýñýí òà /dev/mem áîëîí /dev/kmem àéëóóäàä áàñ ñàíàà òàâèõ õýðýãòýé. Ýíýíýýñ áîëîîä õàëäàã÷ ò³³õèé (raw) ò°õ°°ð°ìæ³³äýä áè÷èæ ÷àäñàí õýâýýð áàéíà. Ì°í ö°ìèéí áàñ íýã áîëîìæ áîëîõ ìîäóëü à÷ààëàã÷ ãýæ íýðëýãääýã kldload(8) áàéäàã. Ñàìáààòàé õàëäàã÷ KLD ìîäóëü àøèãëààä °°ðèéí bpf ò°õ°°ð°ìæ ýñâýë áóñàä øèíøëýõ ò°õ°°ð°ìæèéã àæèëëàæ áàéãàà ö°ìä ñóóëãàäàã. Ýäãýýð àñóóäëóóäààñ çàéëñõèéõèéí òóëä òà ö°ìèéã èë³³ °íä°ð àþóëã³é áàéäëûí ò³âøèíä ÿäàæ àþóëã³éí ò³âøèí 1-ä àæèëëóóëàõ õýðýãòýé. Ö°ìèéí àþóëã³é áàéäëûí ò³âøèíã ÿíç á³ðèéí àðãààð òîõèðóóëæ áîëíî. Àæèëëàæ áàéãàà ö°ìèéí àþóëã³é áàéäëûí ò³âøèíã íýìýãä³³ëýõ õÿëáàð àëãà áîë ö°ìèéí kern.securelevel õóâüñàã÷èéã sysctl àøèãëàí °°ð÷ë°õ ÿâäàë þì: # sysctl kern.securelevel=1
Àíõäàã÷ààð FreeBSD ö°ì àþóëã³é áàéäëûí -1 ò³âøèíòýé à÷ààëäàã. Àþóëã³é áàéäëûí ò³âøèíã àäìèíèñòðàòîð ýñâýë ýõë³³ëýõ ñêðèïò³³ä äýõ òîõèðãîîíîîñ áîëîîä init(8)-ýýð °°ð÷ë°°ã³é ë áîë -1 õýâýýð áàéõ áîëíî. /etc/rc.conf àéëä kern_securelevel_enable õóâüñàã÷èéã YES áà kern_securelevel õóâüñàã÷èéí óòãûã àþóëã³é áàéäëûí õ³ññýí ò³âøèí ð³³ãýý áîëãîí òîõèðóóëæ ñèñòåìèéã ýõë³³ëýõ ³åä àþóëã³é áàéäëûí ò³âøèíã íýìýãä³³ëæ áîëíî. Ýõë³³ëýõ ñêðèïò³³ä ä°íã°æ äóóñààä áàéõ ³åä FreeBSD ñèñòåìèéí àþóëã³é áàéäëûí àíõäàã÷ ò³âøèí -1 áàéäàã. ³íèéã “insecure mode” áóþó “àþóëã³é áàéäëûã õàíãààã³é ãîðèì” ãýäýã á°ã°°ä ó÷èð íü õóâèðøã³é áàéëûí òóãóóäûã áîëèóëàõ, á³õ ò°õ°°ð°ìæ°°ñ óíøèæ ýñâýë òýäãýýð ð³³ áè÷èõ ãýõ çýðãèéã õîðèîã³é áàéäàã. Àþóëã³é áàéäëûí ò³âøèíã 1 ýñâýë èë³³ °íä°ð óòãààð òîõèðóóëñíû äàðàà ç°âõ°í íýìýõ áîëîí õóâèðøã³é àéëóóä èäýâõæèæ òýäãýýðèéã áîëèóëàõ áîëîìæã³é áîëîí ò³³õèéí ò°õ°°ð°ìæ³³äýä õàíäàõûã õîðèãëîäîã. Èë³³ °íä°ð ò³âøèíã³³ä á³ð èë³³ îëîí ³éëäë³³äèéã õÿçãààðëàäàã. Ò°ð°ë á³ðèéí àþóëã³é áàéäëûí ò³âøí³³äèéí ³éë÷èëãýýíèé òàëààðõ äýëãýðýíã³é òàéëáàðûã security(7) ãàðûí àâëàãûí õóóäñûã óíøèíà óó (FreeBSD 7.0-ñ õóó÷èí õóâèëáàðóóäûí õóâüä init(8) ãàðûí àâëàãûí õóóäñûã óíøèíà óó). Note: Àþóëã³éí ò³âøèíã 1 ýñâýë èë³³ °íä°ð ò³âøíýýð äýýøë³³ëýõ íü X11 (/dev/io ðóó õàíäàõ õàíäàëò õààëòòàé áàéíà) ýñâýë FreeBSD-èéí á³òýýëòèéã ýõýýñ ñóóëãàõ (ïðîöåññûí installworld õýñýã çàðèì àéëóóäûí ç°âõ°í íýìýãäýõ áîëîí õóâèðøã³é òóãóóäûã ò³ð çóóð °°ð÷ë°õèéã øààðääàã) áîëîí áóñàä ö°°í òîõèîëäëóóäûí õóâüä àñóóäëóóä ãàðãàæ áîëîõ þì. Çàðèìäàà, æèøýý íü X11-èéí õóâüä à÷ààëàõ ÿâöàä xdm(1)-èéã íýëýýí ýðò àþóëã³éí ò³âøèí áàãà áàéãàà ³åä íü àæèëëóóëæ ýíý àñóóäëûã òîéðîí ãàðàõ áîëîìæòîé áàéæ áîëîõ þì. ³íòýé àäèë òîéðîí ãàðàõ àðãà çàìóóä íü á³õ àþóëã³é áàéäëûí ò³âøèíã³³ä ýñâýë òýäãýýðèéí ì°ðä°æ øààðääàã áîëîìæèò á³õ õÿçãààðëàëòóóäûí õóâüä áîëîìæòîé áèø áàéæ áîëîõ þì. Óðüä÷èëààä áàãà çýðýã ò°ë°âë°õ íü ç³éòýé áàéäàã. Àþóëã³éí ò³âøèí á³ð ñèñòåìèéí õýðýãëýýã íýëýýí áàãàñãàõ áîëîìæòîé áàéäàã ó÷èð òýäãýýðòýé õàìààðàëòàé õÿçãààðëàëòóóäûã îéëãîõ íü ÷óõàë þì. Ýíý íü áàñ àíõäàã÷ òîõèðãîîã ñîíãîõûã èë³³ õÿëáàð áîëãîæ ñàíàìñàðã³é ÿâäëààñ óðüä÷èëàí ñýðãèéëýõ áîëíî.
Õýðýâ ö°ìèéí àþóëã³éí ò³âøèí 1 ýñâýë ò³³íýýñ èë³³ óòãààð äýýøë³³ëýãäñýí áîë schg òóãèéã ÷óõàë ýõë³³ëýõ õî¼ðòûí àéëóóä, ñàíãóóä áîëîí ñêðèïò àéëóóä (°°ð°°ð õýëáýë àþóëã³éí ò³âøèí òîõèðóóëàãäàõ õ³ðòýëõ àæèëëàõ á³õ àéëóóä) äýýð òîõèðóóëàõ íü àøèãòàé áàéæ áîëîõ þì. Ýíý íü õýòýðõèé õèéãäýæ áàéæ áîëîõ á°ã°°ä àþóëã³éí °íä°ð ò³âøèíä àæèëëàæ áàéõàä ñèñòåìèéã øèíý÷ëýõ ³éë ÿâöûã èë³³ õýö³³ áîëãîäîã. Àðàé áàãà õÿçãààðëàëòòàé °°ð íýã áîëîìæ íü ñèñòåìèéã èë³³ °íä°ð
378
Chapter 14 Àþóëã³é áàéäàë
àþóëã³éí ò³âøèíä àæèëëóóëæ ãýõäýý schg òóãèéã ñèñòåìèéí àéë áîëîí ñàí á³ð äýýð òîõèðóóëàõã³é áàéõ ÿâäàë þì. °ð íýã áîëîìæ íü / áîëîí /usr ñàíã ç°âõ°í óíøèãäàõààð õîëáîõ ÿâäàë þì. Þó ç°âø°°ð°ãäñ°í áàéõ äýýð õýòýðõèé ÷àíãà áàéõ íü õàëäëàãà èëð³³ëýëòèéí á³õ ÷óõàë ç³éëñèéã õÿçãààðëàæ áîëîõ þì.
Ôàéëûí á³ðýí á³òýí áàéäëûã øàëãàõ íü: Õî¼ðòûí àéëóóä, Òîõèðãîîíû àéëóóä, ãýõ ìýò. 14.3.6
Òýð ì°÷ èðýõýä, òà ç°âõ°í ñèñòåìèéí ãîë òîõèðãîî áîëîí õÿíàëòûí àéëóóäàà àÿ òóõûí õ³÷èí ç³éë óðüòàõààñ õàìààã³é °ìí° õàìãààëæ ÷àäíà. Æèøýý íü chflags òóøààë àøèãëàí / áîëîí /usr ñàíãóóä äàõü èõýíõ àéëóóäàä schg áèòèéã òîõèðóóëàõ íü ìàãàäã³é ³ð àøèãã³é áàéæ áîëîõ á°ã°°ä ó÷èð íü èíãýñíýýð àéëóóäûã õàìãààëàõûí õàæóóãààð áàñ èëð³³ëýõ öîíõûã õààäàã þì. Òàíû àþóëã³é áàéäëûí ñîíãèíû ñ³³ëèéí äàâõàðãà íü èëð³³ëýëò á°ã°°ä ýíý íü õàìãèéí ÷óõàë þì. Õýðýâ òà áîëîìæèò õàëäàã÷äûã èëð³³ëæ ÷àäàõã³é ë áîë àþóëã³é áàéäëûí áóñàä ³ëäñýí àñóóäëóóäûí òàëààð áîäîîä ÷ áàðàã õýðýãã³é þì (ýñâýë á³ð äýìèé þì, àþóëã³é áàéäëûã òàíä áóðóó îéëãóóëàõàä õ³ðãýäýã). Ñîíãèíû àæëûí õàãàñ íü õàëäàã÷èéã ³éëäýë äýýð íü áàðèõûí òóëä ò³³íèéã çîãñîîõûí îðîíä õàðèí óäààøðóóëàõ ÿâäàë þì. Õàëäëàãûã èëð³³ëýõ õàìãèéí ñàéí àðãà áîë °°ð÷ë°ãäñ°í, àëãà áîëñîí, ýñâýë ãýíýòèéí àéëóóäûã õàéõ ÿâäàë þì. °ð÷ë°ãäñ°í àéëóóäûã õàéõ õàìãèéí ñàéí àðãà áîë òýäãýýðèéã °°ð (èõýâ÷ëýí ò°âë°ðñ°í) õÿçãààðëàãäìàë õàíäàëòòàé ñèñòåìýýñ õàéõ ÿâäàë þì. °ðèéí àþóëã³é áàéäëûí ñêðèïòèéã íýìýëò àþóëã³é áàéäàë õàíãàñàí õÿçãààðëàãäìàë õàíäàëòòàé ñèñòåì äýýð áè÷èõ íü òýäãýýðèéã áîëîìæèò õàëäàã÷äàä áàðàã õàðàãäóóëäàãã³é á°ã°°ä ýíý íü ÷óõàë þì. Äàâóó òàëûã õàìãèéí èõýýð àâàõûí òóëä åð°íõèéä°° õÿçãààðëàãäìàë õàíäàëòòàé õàéðöàãò áóñàä ìàøèíóóäàä õàíäàõ òýð à÷ õîëáîãäîëòîé õàíäàëòûã °ã°õ õýðýãòýé. ³íèéã èõýâ÷ëýí áóñàä ìàøèíóóäûí ç°âõ°í óíøèõ NFS ýêñïîðòûã õÿçãààðëàãäìàë õàíäàëòòàé õàéðöàãò °ã°õ ýñâýë ssh ò³ëõ³³ð õîñëîëûã òîõèðóóëæ õÿçãààðëàãäìàë õàíäàëòòàé õàéðöãèéã áóñàä ìàøèíóóä óðóó ssh õèéõèéã ç°âø°°ð°õ çàìààð õèéäýã. °ðèéí ñ³ëæýýíèé óðñãàëûã òîîöîõã³é þì áîë NFS íü õàìãèéí õàðàãääàãã³é àðãà þì — ýíý íü êëèåíò õàéðöàã á³ð äýõ àéëûí ñèñòåì³³äèéã ìîíèòîð õèéõèéã òàíä ç°âø°°ð÷ áàðàã ë èëýðäýãã³é. Õýðýâ òàíû õÿçãààðëàãäìàë õàíäàëòòàé ñåðâåð íü êëèåíò õàéðöàãíóóä óðóó hub áóþó ñàëààëàã÷ ýñâýë ÷èãë³³ëýëòèéí õýä õýäýí äàâõàðãààð äàìæèí õîëáîãäñîí áîë NFS àðãà íü õýòýðõèé àþóëòàé (ñ³ëæýýíèé õóâüä) áàéæ áîëîõ á°ã°°ä ssh-èéã àøèãëàõ íü ò³³íèé ãàðãàäàã àóäèò ì°ðèéí çàìóóäòàé áàéñàí ÷ ãýñýí ìàãàäã³é èë³³ ñîíãîëò áàéæ áîëîõ þì. Ìîíèòîð õèéãäýõ êëèåíò ñèñòåì óðóó õàíäàõàä õàìãèéí áàãààð áîäîõîä óíøèõ ýðõèéã òà õÿçãààðëàãäìàë õàíäàëòòàé õàéðöàãò °ãñíèé äàðàà ÿã ìîíèòîðûã õèéõäýý ñêðèïò áè÷èõ õýðýãòýé. ã°ãäñ°í NFS õîëáîëòîä find(1) áîëîí md5(1) çýðýã ýíãèéí ñèñòåìèéí õýðýãñë³³ä àøèãëàí òà ñêðèïò³³ä áè÷èæ áîëíî. Êëèåíò õàéðöãèéí àéëóóäàä °ä°ðò íýã óäàà èçèêýýð md5 õèéæ /etc áîëîí /usr/local/etc ñàíãóóä äàõü õÿíàëòûí àéëóóäûã á³ð èë³³ äàâòàìæòàéãààð øàëãàæ áàéõ íü ç³éòýé þì. Õÿçãààðëàãäìàë õàíäàëòòàé ìàøèíû ç°â ãýæ òîîöñîí md5 ìýäýýëýëòýé õàðüöóóëàõàä òàðàõã³é àéëóóä îëäâîë ñèñàäìèíä ³³íèéã î÷èæ øàëãàõûã õàøãèðàí ìýäýýëýõ ¼ñòîé. Àþóëã³é áàéäëûí ñàéí ñêðèïò íü òîõèðîõã³é suid õî¼ðòûí àéëóóä áîëîí / áîëîí /usr çýðýã ñèñòåìèéí õóâààëòóóä äýýðõ øèíýýð ³³ññýí ýñâýë óñòãàãäñàí àéëóóäûã áàñ øàëãàäàã. NFS áèø ssh-èéã àøèãëàæ áàéõ ³åä àþóëã³é áàéäëûã ñêðèïò áè÷èõ íü á³ð èë³³ õýö³³ áàéäàã. Òà ñêðèïò³³äèéã õàðàãäóóëæ àæèëëóóëàõûí òóëä òýäãýýðèéã êëèåíò õàéðöàã óðóó ³íäñýíäýý scp õèéõ õýðýãòýé á°ã°°ä àþóëã³é áàéäëàà áîäîõ þì áîë òà òýäãýýð ñêðèïò³³äèéí àøèãëàäàã õî¼ðòûí àéëóóäûã (find ãýõ çýðýã) áàñ scp õèéõ õýðýãòýé þì. Êëèåíò õàéðöàã äýýðõ ssh êëèåíò àëü õýäèéí
379
Chapter 14 Àþóëã³é áàéäàë
ýâäýãäñýí áàéæ áîëîõ þì. Àþóëòàé õîëáîëòîîð àæèëëàæ áàéãàà áîë ssh-ã àøèãëàõ íü øààðäëàãàòàé áàéæ áîëîõ áîëîâ÷ áàñ ò³³íòýé àæèëëàõàä á³ð èë³³ õýö³³ áàéäàã þì. Àþóëã³é áàéäëûí ñàéí ñêðèïò íü .rhosts, .shosts, .ssh/authorized_keys ãýõ çýðýã MD5 øàëãàëòûí õ³ðýýíèé ãàäóóð áàéõ õýðýãëýã÷ áîëîí staff-èéí ãèø³³äèéí õàíäàëòûí òîõèðãîîíû àéëóóä äàõü °°ð÷ë°ëò³³äèéã áàñ øàëãàäàã. Õýðýâ òà àñàð èõ õýðýãëýã÷èéí äèñêíèé çàéòàé áîë òýäãýýð õóâààëòóóä äýýð áàéãàà àéë á³ð äýýð àæèëëàõàä õýò óäàæ áîëîõ þì. Ýíý òîõèîëäîëä suid õî¼ðòûí àéëóóäûã õààõ õîëáîëòûí òóãóóäûã çààæ °ã°õ íü ç³éòýé þì. nosuid íü òàíû õàéæ áàéãàà òýð òîõèðóóëãà þì. Ýíý äàâõàðãûí çîðèëãî íü ýâäëýí îðîëòûí îðîëäëîãóóäûã àìæèëòòàé ýñâýë àìæèëòã³é áîëñíîîñ ³ë õàìààðàí èëð³³ëýõ ÿâäàë ó÷ðààñ ÿìàð ÷ ãýñýí ÿäàæ äîëîî õîíîãò íýã óäàà òà òýäãýýð àéëóóäûã ìàãàäã³é øàëãàæ áàéõ õýðýãòýé þì. Ïðîöåññèéí á³ðòãýë õèéõ íü (accton(8)-ã ³çíý ³³) ýâäëýí îðîëòûí äàðààõ ³íýëýõ àðãà çàìóóä áîëîí òóñàëæ áîëîõ õàðüöàíãóé áàãà à÷ààëàë á³õèé ³éëäëèéí ñèñòåìèéí áîëîìæ þì. Ýíý íü ýâäëýí îðñíû äàðàà àéëûã õ°íä°°ã³é õýâýýð ãýæ ³çýí õàëäàã÷ ñèñòåì óðóó õýðõýí ýâäëýí îðñíûã ì°ðä°õ°ä ÿëàíãóÿà àøèãòàé áàéäàã. Ýöýñò íü àþóëã³é áàéäëûí ñêðèïò³³ä íü á³ðòãýëèéí àéëóóäûã ïðîöåññ õèéõ ¼ñòîé á°ã°°ä á³ðòãýë³³ä °°ðñä°° àëü áîëîõ àþóëã³é áàéäëààð ³³ñãýãäýõ ¼ñòîé á°ã°°ä àëñûí syslog íü èõ àøèãòàé áàéæ áîëîõ þì. Õàëäàã÷ °°ðèéí ì°ðèéã àðèëãàõûã îðîëäîõ á°ã°°ä ýõíèé ýâäëýí îðîëòûí àðãà áîëîí õóãàöààã ì°ðä°õ°ä ñèñàäìèíû õóâüä á³ðòãýëèéí àéëóóä íü ìàø ÷óõàë áàéäàã þì. Á³ðòãýëèéí àéëóóäûí áàéíãûí áè÷ëýãèéã õàäãàëàõ íýã àðãà íü ñèñòåìèéí êîíñîëûã ñåðèàë ïîðò óðóó àæèëëóóëæ êîíñîëóóäûã õÿíàæ àþóëã³é ìàøèí äýýð ìýäýýëëèéã öóãëóóëàõ ÿâäàë þì. 14.3.7
Ïàðàíîé áóþó õýò çîâíèë
Áàãà çýðãèéí õýò çîâíèë áóðóóäàõã³é. ijðýì áîëãîæ òàâ òóõòàé áàéäëûã àëäàãäóóëäàãã³é äóðûí òîîíû àþóëã³é áàéäëûí áîëîìæóóäûã ñèñàäìèí íýìæ áîëîõ á°ã°°ä çàðèì àíõààðëûã áîäîëöîí òàâ òóõòàé áàéäàëä í°ë°°ë°õ àþóëã³é áàéäëûí áîëîìæóóäûã áàñ íýìæ áîëîõ þì. Á³ð èë³³ ÷óõàë íü àþóëã³é áàéäëûí àäìèíèñòðàòîð ³³íèéã áàãà çýðýã õîëüæ õýðýãëýæ áîëíî — õýðýâ òà ýíý áàðèìòàä äóðäñàí çààâðóóäûã ³ã÷ëýí àøèãëàâàë ýíý áàðèìòûã óíøñàí èðýýä³éí õàëäàã÷èä òà °°ðèéí àðãà çàìóóäûã çààí °ã÷ áàéíà ãýñýí ³ã þì. 14.3.8
éë÷èëãýýã Çîãñîîõ Õàëäëàãóóä
Ýíý õýñýã íü éë÷èëãýýã Çîãñîîõ õàëäëàãóóäûã õàìàðíà. DoS õàëäëàãà íü èõýâ÷ëýí ïàêåòèéí õàëäëàãà áàéäàã. Òàíû ñ³ëæýýã ä³³ðãýæ áàéãàà îð÷èí ³åèéí õóóðàí ìýõýëñýí ïàêåòèéí õàëäëàãóóäûí ýñðýã íýã èõ þì õèéæ ÷àäàõã³é ÷ ãýñýí õàëäëàãóóä òàíû ñåðâåð³³äèéã óíàãàõã³éí òóëä òà åð°íõèéä°° õîõèðëûã õÿçãààðëàæ áîëíî: 1. Ñåðâåðèéí fork õèéëòèéã õÿçãààðëàõ.
2. Springboard áóþó áóñàä õàëäëàãóóäûã õÿçãààðëàõ (ICMP õàðèó õàëäëàãóóä, ping öàöàëò, ãýõ ìýò.).
3. Ö°ìèéí ÷èãë³³ëýëòèéí êýøèéã õýò à÷ààëàõ.
Íèéòëýã DoS õàëäëàãûí ä³ð çóðàã áîë fork õèéãäýæ áàéãàà ñåðâåðò õàëäàæ ò³³íýýð àñàð èõ õ³³õýä ïðîöåññ ³³ñã³³ëæ ýöñèéí ýöýñò õîñò ñèñòåìèéí õóâüä ñàíàõ îé, àéëûí òîäîðõîéëîã÷óóä ãýõ ìýò³³ä äóóñ÷ çîãñîõîä õ³ðãýäýã. inetd (inetd(8)-ã ³çíý ³³) íü ýíý ò°ðëèéí õàëäëàãûã õÿçãààðëàõ õýä õýäýí 380
Chapter 14 Àþóëã³é áàéäàë
òîõèðóóëãàòàé. Ìàøèíûã çîãñîîõîîñ õàìãààëàõ áîëîìæòîé áîëîâ÷ åð°íõèéä°° ³éë÷èëãýýã õàëäëàãàä °ðò³³ëýõã³é áàéõ áîëîìæã³éã ýíä òýìäýãëýõ íü ç³éòýé þì. inetd ãàðûí àâëàãûí õóóäñûã àíõààðàëòàé óíøèæ -c, -C, áîëîí -R òîõèðóóëãóóäàä ÿëàíãóÿà àíõààðëàà õàíäóóëààðàé. Õóóðàí ìýõýëñýí IP õàëäëàãóóä íü inetd äàõü -C òîõèðóóëãûã õóóðàõ ó÷ðààñ èõýâ÷ëýí òîõèðóóëãóóäûí õîñëîëûã àøèãëàõ øààðäëàãàòàé. Çàðèì äàí ñåðâåð³³ä °°ðèéí fork õèéãäýõèéã õÿçãààðëàõ ïàðàìåòð³³äòýé áàéäàã. Sendmail íü -OMaxDaemonChildren òîõèðóóëãàòàé áàéäàã á°ã°°ä ýíý íü Sendmail-èéã à÷ààëàë õÿçãààðëàõ òîõèðóóëãàòàé àæèëëóóëæ à÷ààëëûí õîöðîãäîë ³³ñãýñíýýñ õàâüã³é èë³³òýéãýýð àæèëëàäàã. Òà Sendmail-ã àæèëëóóëàõäàà õ³ññýí à÷ààëëûã äààõààð ãýõäýý êîìïüþòåðèéã óíàãàõààð èõ õýìæýýíèé òîîãîîð Sendmail-³³äèéã àæèëëóóëàõ áèø ò³³íýýñ áàãààð MaxDaemonChildren ïàðàìåòðèéã õàíãàëòòàé °íäð°°ð òàâüæ °ã°õ õýðýãòýé. Ì°í sendmail-èéã äàðààëëûí ãîðèìîîð (-ODeliveryMode=queued) àæèëëóóëàõ áîëîí äýìîíã (sendmail -bd) äàðààëàëòàé (sendmail -q15m) àæèëëóóëäãààñ òóñàä íü àæèëëóóëàõ íü ÷óõàë þì. Õýðýâ òà øóóä èëãýýõ ãîðèìûã õ³ñýæ áàéãàà áîë òà äàðààëëûã -q1m çýðãýýð á³ð áàãà èíòåðâàëààð àæèëëóóëàõ áîëîìæòîé áîëîâ÷ MaxDaemonChildren òîõèðóóëãûã áîëîìæèéí óòãààð õîîðîíäîî õîëáîîòîé àìæèëòã³éòë³³äýýñ sendmail-èéã õàìãààëàõûí òóëä çààæ °ãñ°í ýñýõýý øàëãààðàé. Syslogd-ä øóóä õàëäàæ áîëîõ ó÷ðààñ àëü áîëîõ -s òîõèðóóëãûã ýñâýë -a òîõèðóóëãûã àøèãëàõûã òàíä ç°âë°ä°ã. Øóóä õàëäëàãà õèéãäýæ áîëîõ TCP Wrapper-èéí áóöàõ identd çýðýã áóöàí õîëáîãääîã ³éë÷èëãýýí³³äèéí õóâüä òà ìàø õÿíàìãàé áàéõ õýðýãòýé. Èéì ó÷ðààñ òà TCP Wrapper-èéí áóöàõ identd áîëîìæèéã åð°íõèéä°° àøèãëàõ õýðýãã³é þì. Òà °°ðèéí çàõûí ÷èãë³³ëýã÷³³ä äýýðýý äîòîîä ³éë÷èëãýýí³³ä óðóóãàà ãàäíààñ õàíäóóëàõã³é áîëãîæ ãàëò õàíààð õàìãààëàõ íü ç³éòýé þì. ³íèé öààäàõ ñàíàà íü ãàäíààñ èðæ áîëçîøã³é ñ³ëæýý ä³³ðãýõ õàëäëàãààñ °°ðèéí LAN-ã õàìãààëàõ ÿâäàë á°ã°°ä ñ³ëæýýí äýýð òóëãóóðëàñàí root ýðõèéã áóóëãàõààñ äîòîîä ³éë÷èëãýýí³³äèéã õàìãààëàõ ç³éëñ òèéì èõ áèø þì. exclusive áóþó õàìààðóóëààã³é ãàëò õàíûã ³ðãýëæ òîõèðóóëàõ õýðýãòýé, °°ð°°ð õýëáýë “A, B, C, D áîëîí M-Z ïîðòóóäààñ áóñàä á³ãäèéã ãàëò õàíààð õàìãààëàõ õýðýãòýé”. Èíãýñíýýð òà named (õýðýâ òà á³ñèéí õóâüä àíõäàã÷ áîë), ntalkd, sendmail áîëîí áóñàä Èíòåðíýòýýñ õàíäàõ ³éë÷èëãýýí³³ä çýðýã çàðèì íýã òóñãàé ³éë÷èëãýýí³³äèéí ïîðòóóäààñ áóñàä á³õ áàãà äóãààðûí ïîðòóóäûã ãàëò õàíààð õàìãààëæ ÷àäàõ þì. Õýðýâ òà ãàëò õàíûã °°ð àðãààð — inclusive áóþó õàìààðóóëñàí ýñâýë ç°âø°°ðñ°í ãàëò õàíà ìàÿãààð òîõèðóóëàõûã îðîëäâîë õýä õýäýí ³éë÷èëãýýí³³äèéã “õààõàà” ìàðòàæ ìàãàäã³é þì, ýñâýë òà øèíý äîòîîä ³éë÷èëãýý íýìýýä ãàëò õàíàà øèíý÷ëýõýý ìàðòàæ áîëîõ þì. Òà ãàëò õàíà äýýð ç°âø°°ðñ°íòýé àäèë ³éëäëèéã íýâòð³³ëýõèéí òóëä áàãà äóãààðûí ïîðòóóäûã íýýëã³éãýýð °íä°ð äóãààðûí ïîðòóóäûã îíãîéëãîæ áîëîõ þì. Ì°í FreeBSD íü äèíàìèê õîëáîëòîä õýðýãëýãääýã ïîðòóóäûã sysctl-èéí ò°ð°ë á³ðèéí net.inet.ip.portrange õóâüñàã÷óóäààð (sysctl -a | fgrep portrange) õÿíàõ áîëîìæèéã òàíä îëãîäãèéã áàñ òýìäýãëýõ íü ç³éòýé þì. Ýíý íü áàñ òàíû ãàëò õàíûí òîõèðãîîíû ò°â°ãòýé áàéäëûã àìàð÷èëäàã þì. Æèøýý íü òà åðäèéí 4000-ààñ 5000 õ³ðòýëõ ïîðòóóä áîëîí 49152-îîñ 65535 õ³ðòýëõ °íä°ð äóãààðûí ïîðòóóäûã àøèãëàäàã áîë 4000-ààñ áàãà á³ãäèéã °°ðèéí ãàëò õàíà äýýð õààõ õýðýãòýé (ìýäýýæ Èíòåðíýòýýñ õàíääàã õýäýí òóñãàé ïîðòóóäààñ áóñàä). °ð íèéòëýã DoS õàëäëàãóóäûí íýã íü springboard õàëäëàãà þì — ñåðâåð, äîòîîä ñ³ëæýý ýñâýë áóñàä ìàøèíûã õàðèó ³éëäýë õèéõèéã íü èõýñãýæ õýò à÷ààëàõàä õ³ðãýäýã õàëäëàãà þì. Èéì ìàÿãèéí õàìãèéí íèéòëýã õàëäëàãà íü ICMP ping broadcast áóþó öàöàëò þì. Õàëäàã÷ òàíû LAN-èé öàöàõ õàÿã óðóó èëãýýñýí ping ïàêåòèéíõàà ýõëýë IP õàÿãèéã õàëäàõûã õ³ñýæ áàéãàà ìàøèíûõàà IP õàÿãààð ñîëüæ õóóðäàã. Õýðýâ òàíû çàõûí ÷èãë³³ëýã÷³³ä öàöàõ õàÿã óðóó èëãýýõ ping ïàêåòóóäûã çîãñîîõîîð òîõèðóóëàãäààã³é áîë òàíû LAN õàíãàëòòàé õàðèó ³³ñãýí õóóðàí ìýõýëñýí ýõëýë õàÿã óðóó èëãýýæ, ÿëàíãóÿà õàëäàã÷ õýäýí àðâàí öàöàõ õàÿãóóä óðóó °°ð °°ð õýäýí àðâàí ñ³ëæýýí³³äýýð äàìæèí ýíý áàøèð àðãàà àøèãëàñàí ³åä, õîõèðîã÷èéã ä³³ðãýäýã. 120 ìåãàáàéòààñ èë³³ õýìæýýíèé öàöàõ õàëäëàãà
381
Chapter 14 Àþóëã³é áàéäàë
îäîîãîîð õýìæèãäýýä áàéíà. Ýíý ò°ðëèéí õî¼ð äàõü íèéòëýã õàëäëàãà íü ICMP-èéí àëäàà òàéëàãíàõ ñèñòåìèéí ýñðýã õàëäëàãà þì. ICMP àëäààíû ìýäýãäýë ³³ñãýäýã ïàêåòóóäûã á³òýýæ õàëäàã÷ ñåðâåðèéí îðæ èðæ áàéãàà ñ³ëæýýã ä³³ðãýæ èíãýñíýýð ñåðâåðèéã °°ðèéí ãàðàõ ñ³ëæýýã ICMP õàðèóíóóäààð ä³³ðãýõýä õ³ðãýäýã. Ýíý ò°ðëèéí õàëäëàãà íü ÿëàíãóÿà õýðýâ ñåðâåð ³³ñãýæ áàéãàà ICMP õàðèóíóóäàà õàíãàëòòàé õóðäíààð øàâõàí ãàðãàæ ÷àäàõã³é áàéãàà áîë ñåðâåðèéã ñàíàõ îéã³é áîëãîæ ñ³éð³³ëæ áàñ áîëîõ þì. sysctl-èéí net.inet.icmp.icmplim õóâüñàã÷èéã àøèãëàí ýäãýýð õàëäëàãóóäûã õÿçãààðëàõ õýðýãòýé. Springboard ò°ðëèéí õàëäëàãóóäûí ñ³³ëèéí ãîë àíãèëàë íü udp öóóðàé ³éë÷èëãýý çýðýã çàðèì äîòîîä inetd ³éë÷èëãýýí³³äòýé õîëáîîòîé þì. Õàëäàã÷ UDP ïàêåòèéã õóóðàí ìýõýëæ A áîëîí B ñåðâåð íü õî¼óëàà òàíû LAN-ä áàéãàà òèéì A ñåðâåðèéí öóóðàé ïîðò äýýðõ ýõëýë õàÿãààð áîëîí ò°ãñã°ë õàÿãèéã B ñåðâåðèéí öóóðàé ïîðò äýýðõ õàÿãààð ñîëüäîã. Óã õî¼ð ñåðâåð äàðàà íü ýíý ãàíö ïàêåòèéã õîîðîíäîî øèäýëöäýã. Ýäãýýð ñåðâåð³³ä áîëîí òýäãýýðèéí LAN-ã ýíý ìàÿãààð õàëäàã÷ õýäõýí ïàêåòóóäûã õàòãàí îðóóëàí õýò à÷ààëæ ÷àääàã. ³íòýé àäèë àñóóäëóóä äîòîîä chargen ïîðòîä áàñ áàéäàã. ×àäâàðëàã ñèñàäìèí ýäãýýð á³õ äîòîîä inetd òåñò ³éë÷èëãýýí³³äèéã õààäàã. Õóóðàí ìýõýëñýí ïàêåòèéí õàëäëàãóóäûã ö°ìèéí ÷èãë³³ëýëòèéí êýøèéã õýò à÷ààëàõàä õýðýãëýæ áîëäîã. net.inet.ip.rtexpire, rtminexpire, áîëîí rtmaxcache sysctl ïàðàìåòð³³äèéã ³çíý ³³. Äóðûí ýõëýë IP õàÿãèéã àøèãëàñàí õóóðàí ìýõýëñýí ïàêåòèéí õàëäëàãà íü ÷èãë³³ëýëòèéí õ³ñíýãòýä ò³ð çóóð êýø õèéãäñýí ÷èãë³³ëýëòèéã ö°ì°°ð ³³ñã³³ëýõýä õ³ðãýäýã á°ã°°ä ýíý íü netstat -rna | fgrep W3 òóøààëààð õàðàãääàã. Ýäãýýð ÷èãë³³ëýëò³³ä íü èõýâ÷ëýí 1600 ñåêóíä îð÷èì õóãàöààíû äîòîð äóóñäàã. Õýðýâ ö°ì êýø õèéãäñýí ÷èãë³³ëýëòèéí õ³ñíýãò õýòýðõèé òîì áîëñíûã èëð³³ëýõ þì áîë rtexpire äèíàìèêààð áàãàñãàäàã áîëîâ÷ rtminexpire-ñ áàãà áîëòîë õýçýý ÷ áàãàñãàäàãã³é. Õî¼ð àñóóäàë áàéäàã: 1. Áàãà à÷ààëàãäñàí ñåðâåð ãýíýò õàëäëàãàä °ðò°õ°ä ö°ì õàíãàëòòàé õóðäàí õàðèó ³éëäýë õèéäýãã³é. 2. rtminexpire õóâüñàã÷ íü ³ðãýëæèëñýí õàëäëàãûã ö°ì äààæ ÷àäàõààð õàíãàëòòàé áàãà áàéäàãã³é.
Õýðýâ òàíû ñåðâåð³³ä Èíòåðíýòýä T3 ýñâýë èë³³ õóðäààð õîëáîãäñîí áîë sysctl(8)-îîð rtexpire áîëîí rtminexpire õóâüñàã÷óóäûã õî¼óëàíã ãàðààð äàðæ áè÷èõäýý õÿíàìãàé áàéõ õýðýãòýé. Àëü ÷ ïàðàìåòðèéã (ìàøèíûã ñ³éð³³ëýõèéã òà õ³ñýýã³é ë áîë) õýçýý ÷ áèòãèé 0 áîëãîîðîé. Ýäãýýð ïàðàìåòð³³äèéã õî¼óëàíã íü 2 ñåêóíä áîëãîõ íü ÷èãë³³ëýëòèéí õ³ñíýãòèéã õàëäëàãààñ õàìãààëàõàä õàíãàëòòàé áàéõ ¼ñòîé. 14.3.9 Kerberos
áîëîí SSH-òýé õîëáîîòîé õàíäàëòûí àñóóäëóóä
Õýðýâ òà Kerberos áîëîí ssh-ã õî¼óëàíã àøèãëàõààð áîë ö°°í õýäýí àñóóäëóóäûã äóðäàõ õýðýãòýé. Kerberos 5 íü æèíõýíèéã øàëãàõ ìàø ñàéí íýâòðýëòèéí ïðîòîêîë áîëîâ÷ ò³³íèéã àøèãëàñàí telnet áîëîí rlogin-ä áàéäàã àëäààíóóä íü ýíý õî¼ð ïðîãðàìûã õî¼ðòûí óðñãàëòàé àæèëëàõàä òîõèðîìæã³é áîëãîäîã. Ì°í -x òîõèðóóëãûã àøèãëàõã³é ë áîë àíõäàã÷ààð Kerberos íü ñåññèéã øèðëýäýãã³é. ssh íü á³ãäèéã øèðëýäýã. Ssh íü àíõäàã÷ààð øèðëýñýí ò³ëõ³³ð³³äýý äàìæóóëäãààñ áóñàä á³õ ë òàëààðàà çýãñýí ñàéí àæèëëàäàã. Ýíý íü þó ãýñýí ³ã âý ãýõýýð òà õýðýâ ñèñòåìèéí áóñàä õýñýãò õàíäàõ áîëîìæ îëãîäîã ò³ëõ³³ð³³ä á³õèé àþóëã³é àæëûí êîìïüþòåðòàé á°ã°°ä òà àþóëòàé ìàøèí óðóó ssh õèéâýë òàíû ò³ëõ³³ð³³ä àøèãëàãäàõ áîëîìæòîé ãýñýí ³ã þì. ßã ò³ëõ³³ð³³ä íü °°ðñä°° èë ãàðäàãã³é áîëîâ÷ ssh íü òàíû íýâòýðñýí õóãàöààíû òóðøèä çîðèóëæ äàìæóóëàõ ïîðò ñóóëãàäàã á°ã°°ä õýðýâ õàëäàã÷ àþóëã³é ìàøèí äýýðõ root-ã ýâäñýí áîë òýðõ³³ ïîðòûã òàíû ò³ëõ³³ð³³äèéã àøèãëàõûí òóëä õýðýãëýí òàíû ò³ëõ³³ðýýð òàéëàãäàõ °°ð áóñàä ìàøèíóóäàä õàíäàõ áîëîìæèéã îëæ àâàõ áîëîìæòîé þì.
382
Chapter 14 Àþóëã³é áàéäàë
Áèä staff íýâòðýëò³³äèéí õóâüä àëü áîëîõ ssh-ã Kerberos-òîé öóã àøèãëàõûã ç°âë°ä°ã. Ssh íü Kerberos-èéí äýìæëýãòýé ýìõýòãýãäýæ áîëäîã. Ýíý íü èë ãàðñàí áàéæ áîëçîøã³é ssh ò³ëõ³³ð³³äýä íàéäàõ òàíû íàéäâàðûã áàãàñãàõûí õàìò íóóö ³ã³³äèéã Kerberos-îîð õàìãààëäàã. Ssh ò³ëõ³³ð³³ä íü àþóëã³é ìàøèíóóäûí àâòîìàò÷èëàãäñàí àæëóóäàä (Kerberos-îîð õèéõýä òààðàõã³é) ç°âõ°í õýðýãëýãäýõ ¼ñòîé. Ì°í áèä òàíûã ssh-èéí òîõèðãîîíäîî key-forwarding áóþó ò³ëõ³³ð äàìæóóëàëòûã áîëèóëàõ ýñâýë ssh-èéí authorized_keys àéëäàà ç°âõ°í òóñãàéëñàí ìàøèíóóäààñ íýâòðýõýä ò³ëõ³³ðèéã àøèãëàæ áîëîõîîð áîëãîæ ç°âø°°ðä°ã from=IP/DOMAIN òîõèðóóëãûã àøèãëàõûã ç°âë°ä°ã. 14.4 DES, MD5,
áîëîí Crypt
Õýñã³³äèéã äàõèí áè÷èæ øèíý÷èëñýí Áèëë Ñâèíãë. UNIX ñèñòåì äýýðõ õýðýãëýã÷ á³ðèéí õóâüä íóóö ³ã á³ðòãýëòýé íü õîëáîîòîé áàéäàã. Ìýäýýæ ýäãýýð íóóö ³ã³³ä íü ç°âõ°í õýðýãëýã÷ áà ³éëäëèéí ñèñòåìä ìýäýãäýæ áàéõ ¼ñòîé. Ýäãýýð íóóö ³ã³³äèéã íóóöëàã áàéëãàõûí òóëä òýäãýýðèéã “one-way hash áóþó ³ë áóöàõ õýø” ãýãääýã øèðëýõýä àìàðõàí áîëîâ÷ áóöààæ áîëäîãã³é àðãààð øèðëýäýã. °ð°°ð õýëáýë õîðìûí °ìí° ìýäýýæ ãýæ õýëñýí áèäíèé õýëñýí ³ã ÿã æèíõýíýäýý ³íýí áèø þì: ³éëäëèéí ñèñòåì °°ð°° íóóö ³ãèéã æèíõýíýäýý ìýääýãã³é. Ýíý íü ç°âõ°í íóóö ³ãèéí øèðëýñýí õýëáýðèéã ìýääýã. “plain-text áóþó åðäèéí óíøèãäàõ òåêñò ” õýëáýðèéí íóóö ³ãèéã àâàõ öîðûí ãàíö àðãà íü áîëîìæèò íóóö ³ã³³äèéí îðîí çàéãààñ áàëìàäààð õ³÷ëýí õàéõ ÿâäàë þì. Õàðàìñàëòàé íü UNIX áèé áîëñîí òýð ³åä íóóö ³ãèéã àþóëã³é àðãààð øèðëýõ öîðûí ãàíö àðãà íü DES, Data Encryption Standard áóþó ã°ãä°ë Øèðëýõ Ñòàíäàðò äýýð ³íäýñëýñýí áàéëàà. Ýíý íü ÀÍÓ-ä îðøèí ñóóæ áàéñàí õýðýãëýã÷äèéí õóâüä òèéì ÷ àñóóäàëòàé áèø áàéñàí þì, ãýõäýý DES-èéí ýõ êîä ÀÍÓ-ààñ ãàäàãøàà ýêñïîðò õèéãäýæ áîëîõã³é áàéñàí ó÷èð FreeBSD íü ÀÍÓ-ûí õóóëèéã äàãàõûí õàæóóãààð DES-èéã àøèãëàñàí õýâýýð áàéñàí áóñàä á³õ UNIX ò°ðë³³äòýé íèéöòýé áàéõ àðãà çàìûã õàéæ îëîõîä õ³ðñýí þì. ³íèé øèéäýë íü ÀÍÓ-ûí õýðýãëýã÷èä DES ñàíãóóäûã ñóóëãàæ àøèãëàõ áîëîìæòîé ì°ðòë°° îëîí óëñûí õýðýãëýã÷èä ãàäàãø ýêñïîðò õèéãäýæ áîëîõ øèðëýõ àðãàòàé áàñ áàéõààð øèðèéí ñàíãóóäûã õóâààñàí ÿâäàë áàéëàà. Èíãýæ FreeBSD íü MD5-èéã °°ðèéí àíõäàã÷ øèðëýõ àðãàà áîëãîí àøèãëàõ áîëñîí þì. MD5 íü DES-ýýñ èë³³ àþóëã³é íóóöëàã ãýãääýã á°ã°°ä DES-èéã ñóóëãàõ íü ³íäñýíäýý íèéöòýé áàéõ øàëòãààíóóäûí óëìààñ çîðèóëàãäñàí þì. 14.4.1
°ðèéí Crypt àðãà çàìûã òàíèõ íü
Îäîîãîîð øèðèéí ñàí DES, MD5 áîëîí Blowfish õýø óíêöóóäûã äýìæäýã. Àíõäàã÷ààð FreeBSD íü MD5 àøèãëàí íóóö ³ã³³äèéã øèðëýäýã.
FreeBSD àëü øèðëýõ àðãûã òîõèðóóëæ àøèãëàæ áàéãààã ìýäýõ õÿëáàð áàéäàã. /etc/master.passwd àéë äàõü øèðëýñýí íóóö ³ãèéã øàëãàõ íü íýã àðãà þì. MD5 õýøýýð øèðëýãäñýí íóóö ³ã³³ä íü DES-ð øèðëýãäñýíèéãýý áîäîõ þì áîë óðò á°ã°°ä $1$ òýìäýãòýýð áàñ ýõýëäýã. $2a$ òýìäýãòýýð ýõýëñýí íóóö ³ã³³ä Blowfish õýø óíêöààð øèðëýãäñýí áàéäàã. DES ì°ð íü ÿìàð íýã òóñãàéëàí òàíüæ áîëîõ øèíæ òýìäýãã³é áàéäàã áîëîâ÷ òýä MD5 íóóö ³ã³³äýýñ áîãèíî á°ã°°ä $ òýìäýãò îðäîãã³é 64 òýìäýãòòýé öàãààí òîëãîéãîîð êîä÷èëîãääîã, òèéìýýñ äîëëàðûí òýìäýãòýýð ýõëýýã³é õàðüöàíãóé áîãèíî ì°ð èõýâ÷ëýí DES íóóö ³ã áàéäàã.
Øèíý íóóö ³ã³³äýä àøèãëàãäàõ íóóö ³ãèéí õýëáýð íü íýâòðýëòèéí passwd_format áîëîìæèéí òóñëàìæòàé /etc/login.conf àéëä õÿíàãääàã á°ã°°ä ýíý õóâüñàã÷ íü des, md5 ýñâýë blf óòãóóäûã
383
Chapter 14 Àþóëã³é áàéäàë
àâäàã. Íýâòðýëòèéí áîëîìæóóäûí òàëààð äýëãýðýíã³é ìýäýýëëèéã login.conf(5) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. 14.5
Íýã óäààãèéí íóóö ³ã³³ä
Àíõäàã÷ààð FreeBSD OPIE (One-time Passwords In Everything áóþó Á³õýíä çîðèóëñàí íýã óäààãèéí íóóö ³ã³³ä) äýìæëýãòýé áàéäàã á°ã°°ä ýíý íü MD5 õýøèéã àíõäàã÷ààð àøèãëàäàã. Áèä ãóðâàí °°ð ò°ðëèéí íóóö ³ãèéã äîîð õýëýëöýõ áîëíî. Ýõíèéõ íü òàíû åðäèéí UNIX çàãâàðûí ýñâýë Kerberos íóóö ³ã þì; áèä ³³íèéã “UNIX íóóö ³ã” ãýæ íýðëýõ áîëíî. Õî¼ð äàõü ò°ð°ë íü OPIE opiekey(1) ïðîãðàìààð ³³ñãýãäýæ opiepasswd(1) ïðîãðàì áîëîí íýâòðýëò õ³ëýýõ ì°ð õ³ëýýí àâàõ íýã óäààãèéí íóóö ³ã þì; áèä ³³íèéã “íýã óäààãèéí íóóö ³ã” ãýõ áîëíî. ѳ³ëèéí ò°ð°ë íóóö ³ã áîë opiekey ïðîãðàìä (çàðèìäàà opiepasswd ïðîãðàìóóä) °ãä°ã íóóöëàã íóóö ³ã á°ã°°ä ³³íèéã àøèãëàí äýýðõ ïðîãðàìóóä íýã óäààãèéí íóóö ³ã ³³ñãýäýã; áèä ³³íèéã “íóóöëàã íóóö ³ã” ãýõ áóþó ýñâýë ç³ãýýð ë øàëãàãäààã³é “íóóö ³ã” ãýõ áîëíî. Íóóöëàã íóóö ³ã íü òàíû UNIX íóóö ³ãòýé ÿìàð ÷ õîëáîîã³é þì; òýäãýýð íü àäèë áàéæ áîëîõ áîëîâ÷ èíãýõèéã ç°âë°ä°ãã³é. OPIE íóóöëàã íóóö ³ã³³ä íü õóó÷èí UNIX íóóö ³ã³³ä øèã 8 òýìäýãòýä õÿçãààðëàãääàãã³é á°ã°°ä òàíû õ³ññýí õýìæýýíèé óðòòàé áàéæ áîëäîã. Çóðãàà ýñâýë äîëîîí ³ã á³õèé °ã³³ëáýðýýñ òîãòîõ íóóö ³ã³³ä íýëýýí ýëáýã áàéäàã. Èõýíõ õýñãèéí õóâüä OPIE ñèñòåì UNIX-èéí íóóö ³ãèéí ñèñòåìýýñ á³ð ì°ñ°í àíãèä àæèëëàäàã. Íóóö ³ãýýñ ãàäíà OPIE-ä ÷óõàë °ã°ãäëèéí °°ð õî¼ð õýñýã áàéäàã. Íýã íü “seed áóþó ³ð” ýñâýë “key áóþó ò³ëõ³³ð” ãýãääýã á°ã°°ä 2 ³ñýã áîëîí òàâàí òîîíîîñ òîãòäîã. Í°ã°°ä°õ íü “äàâòàëòûí òîî” áóþó 1-ýýñ 100 õ³ðòýëõ òîî þì. OPIE íýã óäààãèéí íóóö ³ãèéã ³ð áîëîí íóóöëàã íóóö ³ãèéã íèéë³³ëýí MD5 õýøèéã äàâòàëòûí òîîãîîð àøèãëàí ³³ñãýæ ³ð ä³íã íü çóðãààí áîãèíî Àíãëè ³ã áîëãîäîã. Ýäãýýð çóðãààí Àíãëè ³ã íü òàíû íýã óäààãèéí íóóö ³ã þì. Íýâòðýëò øàëãàõ ñèñòåì (³íäñýíäýý PAM) àøèãëàñàí õàìãèéí ñ³³ëèéí íýã óäààãèéí íóóö ³ãèéã õàäãàëæ áàéäàã á°ã°°ä õýðýãëýã÷èéí °ãñ°í íóóö ³ãèéí õýø °ìí°õ íóóö ³ãòýé òààð÷ áàéâàë õýðýãëýã÷èéã íýâòð³³ëäýã. ë áóöàõ õýø àøèãëàãääàã áîëîõîîð õýðýâ àìæèëòòàéãààð àøèãëàãäñàí íóóö ³ãèéã îëæ àâñàí áîë äàðàà äàðààãèéí íýã óäààãèéí íóóö ³ã³³äèéã ³³ñãýõ áîëîìæã³é áàéäàã; õýðýãëýã÷ áîëîí íýâòðýëòèéí ïðîãðàìûã õàìãèéí ñ³³ëèéí õýëáýðò àäèëõàí áàéëãàæ áàéõûí òóëä äàâòàëòûí òîî àìæèëòòàé íýâòðýëò õèéãäýõ á³ðèéí äàðàà áàãàñàæ áàéäàã. Äàâòàëòûí òîî 1 õ³ðýõ ³åä OPIE äàõèí õèéãäýõ õýðýãòýé áîëíî. Ñèñòåì áîëãîíû õóâüä õýäýí ïðîãðàìóóä áàéäàã á°ã°°ä òýäãýýðèéã áèä ýíä õýëýëöýõ áîëíî. opiekey ïðîãðàì äàâòàëòûí òîî, ³ð áîëîí íóóöëàã íóóö ³ãèéã õ³ëýýí àâ÷ íýã óäààãèéí íóóö ³ã ýñâýë íýã óäààãèéí íóóö ³ã³³äèéí ³ðãýëæèëñýí æàãñààëòûã ³³ñãýäýã. opiepasswd ïðîãðàìûã OPIE-ã ýõë³³ëýõ áîëîí íóóö ³ã, äàâòàëòûí òîî ýñâýë ³ð °°ð÷ë°õ°ä àøèãëàäàã; ýíý íü íóóöëàã íýâòðýõ ³ãñ àëü ýñâýë äàâòàëòûí òîî, ³ð áîëîí íýã óäààãèéí íóóö ³ãèéã àâäàã. opieinfo ïðîãðàì òîõèðîõ èòãýìæëýë³³äèéí àéëóóäûã (/etc/opiekeys) øàëãàæ àæèëëóóëñàí õýðýãëýã÷èéí îäîîãèéí äàâòàëòûí òîî áîëîí ³ðèéã äýëãýöýä ãàðãàäàã. Áèä ä°ðâ°í °°ð ò°ðëèéí ³éëäëèéí òàëààð õýëýëöýõ áîëíî. Ýõíèéõ íü àþóëã³é õîëáîëòîîð opiepasswd àøèãëàæ íýã óäààãèéí íóóö ³ã³³äèéã ýõíèé óäàà òîõèðóóëàõ ýñâýë °°ðèéí íóóö ³ã ýñâýë ³ðèéã °°ð÷ë°õ ³éëäýë þì. Õî¼ð äàõü ³éëäýë íü opiepasswd-ã àþóëòàé õîëáîëòîîð, opiekey òóøààëûã àþóëã³é õîëáîëòîîð àøèãëàæ àäèë ³éëäëèéã õèéõ ÿâäàë þì. óðàâ äàõü íü opiekey-ã àþóëòàé õîëáîëòîîð àøèãëàí íýâòðýí îðîõ ³éëäýë þì. Ä°ð°â äýõ íü opiekey-ã àøèãëàí õýä õýäýí ò³ëõ³³ð³³ä ³³ñãýõ ³éëäýë á°ã°°ä ãàäàãøàà àþóëã³é õîëáîëòóóäã³é ãàçðóóä óðóó ÿâàõäàà òýäãýýð ò³ëõ³³ð³³äèéã áè÷èí àâ÷ ýñâýë õýâëýí àâààä °°ðò°° àâ÷ ÿâæ áîëîõ þì. 1
384
Chapter 14 Àþóëã³é áàéäàë
14.5.1
Àþóëã³é õîëáîëò ýõë³³ëýõ
OPIE-ã ýõíèé óäàà ýõë³³ëýõäýý opiepasswd òóøààëûã àæèëëóóë: % opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c Adding unfurl: Only use this method from the console; NEVER from remote. If you are using telnet, xterm, or a dial-in, type ^C now or exit with no password. Then run opiepasswd without the -c parameter. Using MD5 to compute responses. Enter new secret pass phrase: Again new secret pass phrase: ID unfurl OTP key is 499 to4268 MOS MALL GOAT ARM AVID COED Enter new secret pass phrase: ýñâýë Enter secret password: ì°ð³³ä äýýð òà íóóö ³ã ýñâýë °ã³³ëáýð îðóóëàõ ¼ñòîé. Ýíý íü òàíû íýâòðýõäýý àøèãëàõ íóóö ³ã áèø ãýäãèéã ñàíàõ õýðýãòýé, ³³íèéã àøèãëàæ òàíû íýã óäààãèéí íýâòðýõ ò³ëõ³³ðèéã ³³ñãýäýã. “ID” ì°ð òàíû òóõàéí ³åèéí ïàðàìåòð³³ä áîëîõ òàíû íýâòðýõ íýð, äàâòàëòûí òîî áîëîí ³ðèéã °ãä°ã. Íýâòðýí îðîõ ³åä ñèñòåì ýäãýýð ïàðàìåòð³³äèéã ñàíàæ òàíä òýäãýýðèéã ñàíàõ øààðäëàãàã³éãýýð áóöààí ³ç³³ëäýã. ѳ³ëèéí ì°ð íü òýäãýýð ïàðàìåòð³³ä áîëîí òàíû íóóöëàã íóóö ³ãò õàðãàëçàõ íýã óäààãèéí íóóö ³ãèéã °ãä°ã; õýðýâ òà íýí äàðóé äàõèí íýâòýðâýë ýíý íýã óäààãèéí íóóö ³ã íü òàíû àøèãëàõ òýð íóóö ³ã þì.
14.5.2
Àþóëòàé õîëáîëò ýõë³³ëýõ
°ðèéí íóóöëàã íóóö ³ãèéã àþóëòàé õîëáîëòîîð ýõýëæ °ã°õä°° ýñâýë °°ð÷ë°õä°° opiekey àæèëëóóëæ áîëîõ òèéì ãàçàð óðóó àþóëã³é õîëáîëòòîé áàéæ áàéõ øààðäëàãàòàé; ýíý íü òàíû èòãýæ áàéãàà ìàøèí äýýð á³ðõ³³ëèéí òóøààë õ³ëýýõ ì°ð õýëáýðýýð áàéæ áîëíî. Òà áàñ äàâòàëòûí òîîã (100 áîëîìæèéí óòãà áàéæ áîëîõ þì) áîäîæ °ã°õ õýðýãòýé á°ã°°ä òà °°ð°° ³ð áîäîæ îëîõ ýñâýë äóðûí ³³ñãýñíèéã àøèãëàõ õýðýãòýé. Àþóëòàé õîëáîëòîîð (òàíû ýõë³³ëæ áàéãàà ìàøèí óðóó) opiepasswd òóøààëûã àøèãëà: % opiepasswd
Updating unfurl: You need the response from Old secret pass phrase: otp-md5 498 to4268 Response: GAME GAG New secret pass phrase: otp-md5 499 to4269 Response: LINE PAP
an OTP generator. ext WELT OUT DOWN CHAT
MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269 LINE PAP MILK NELL BUOY TROY
Àíõäàã÷ ³ðèéã õ³ëýýæ àâàõ áîë Return äàð. Äàðàà íü õàíäàõ íóóö ³ãèéã îðóóëàõûí °ìí° àþóëã³é õîëáîëò óðóóãàà îðæ àäèë ïàðàìåòð³³äèéã °ã°°ðýé: % opiekey 498 to4268
385
Chapter 14 Àþóëã³é áàéäàë Using the MD5 algorithm to compute response. Reminder: Don’t use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT
Îäîî àþóëòàé õîëáîëò óðóóãàà øèëæèæ ³³ñãýñýí íýã óäààãèéí íóóö ³ãýý òîõèðîõ ïðîãðàì óðóó õóóëààðàé. 14.5.3
Íýã óäààãèéí íóóö ³ã ãàíöûã ³³ñãýõ íü
OPIE-ã ýõë³³ëýí òîõèðóóëæ íýâòýðñíèé äàðàà òàíä èéìýðõ³³ òóøààë õ³ëýýõ ì°ð õàðóóëàãäàíà: % telnet example.com
Trying 10.0.0.1... Connected to example.com Escape character is ’^]’. FreeBSD/i386 (example.com) (ttypa) login: <username> otp-md5 498 gr4269 ext Password:
Ýíý äàøðàìä òýìäýãëýí õýëýõýä OPIE òóøààë õ³ëýýõ ì°ð³³ä àøèãòàé áîëîìæòîé áàéäàã: õýðýâ òà íóóö ³ã õ³ëýýõ ì°ð äýýð Return äàðâàë õ³ëýýõ ì°ð öóóðàéã èäýâõæ³³ëæ òàíû þó áè÷èæ áàéãààã òàíä õàðóóëäàã. Òà õýâëýñýí ç³éëýýñýý õàðæ ìàãàäã³é íóóö ³ãèéã ãàðààðàà áè÷èæ îðóóëàõûã îðîëäîæ áàéãàà áîë ýíý ìàø àøèãòàé áàéæ áîëîõ þì. Ýíý ³åä íýâòðýëò õ³ëýýõ ì°ð°íä õàðèóëàõûí òóëä òà °°ðèéí íýã óäààãèéí íóóö ³ãèéã ³³ñãýõ õýðýãòýé áîëíî. ³íèéã opiekey òóøààë èòãýí àæèëëóóëæ ÷àäàõ òèéì ñèñòåì äýýðýý õèéõ õýðýãòýé. (DOS, Windows áîëîí Mac OS-ä çîðèóëñàí ýäãýýðèéí õóâèëáàðóóä áàéäàã) Ýäãýýðò äàâòàëòûí òîî áîëîí ³ð òóøààëûí ì°ðèéí òîõèðóóëãà õýëáýðýýð õýðýãòýé áàéäàã. Òà íýâòðýí îðæ áàéãàà ìàøèíûõàà íýâòðýëò õ³ëýýõ ì°ð°°ñ ýäãýýðèéã øóóä õóóëàí òàâüæ áîëîõ þì. Èòãýñýí ñèñòåì äýýðýý: % opiekey 498 to4268
Using the MD5 algorithm to compute response. Reminder: Don’t use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT
Îäîî òà °°ðèéí íýã óäààãèéí íóóö ³ãòýé áîëñîí áîëîõîîð íýâòðýëòýý ³ðãýëæë³³ëæ áîëíî. 14.5.4
Íýã óäààãèéí íóóö ³ã îëíûã ³³ñãýõ íü
Çàðèìäàà òà èòãýñýí ìàøèí ýñâýë àþóëã³é õîëáîëò óðóó õàíäàõ áîëîìæã³é òèéì ãàçàð î÷èõ õýðýãòýé áîëäîã. Ýíý òîõèîëäîëä opiekey òóøààë àøèãëàæ õýä õýäýí íýã óäààãèéí íóóö ³ã³³äèéã óðüä÷èëàí ³³ñãýæ õýâëýí áèåäýý àâ÷ ÿâàõ áîëîìæòîé þì. Æèøýý íü: % opiekey -n 5 30 zz99999
386
Chapter 14 Àþóëã³é áàéäàë Using the MD5 algorithm to compute response. Reminder: Don’t use opiekey from telnet or dial-in sessions. Enter secret pass phrase: <secret password> 26: JOAN BORE FOSS DES NAY QUIT 27: LATE BIAS SLAY FOLK MUCH TRIG 28: SALT TIN ANTI LOON NEAL USE 29: RIO ODIN GO BYE FURY TIC 30: GREW JIVE SAN GIRD BOIL PHI -n 5 íü äàðààëñàí òàâàí ò³ëõ³³ðèéã ³³ñãýõèéã, 30 íü ñ³³ëèéí äàâòàëòûí òîîã õýä áàéõ ¼ñòîéã çààæ °ã÷ áàéãàà þì. Ýäãýýð íü àøèãëàõ áîëîëöîîòîéã óðâóó äàðààëëààð äýëãýöýíä õàðóóëäãèéã òýìäýãëýõ íü ç³éòýé. Õýðýâ òà õýò ñàíàà çîâíèæ áàéãàà áîë òà ³ð ä³íã ãàðààð áè÷èæ àâàõûã õ³ñýæ áîëîõ þì; ýñâýë lpr óðóó õóóëàí àâ÷ òàâüæ áîëîõ þì. Ì°ð á³ð äàâòàëòûí òîî áîëîí íýã óäààãèéí íóóö ³ãèéã õàðóóëæ áàéãààã àíõààðààðàé; òà íóóö ³ã³³äèéã õýðýãëýõ á³ðòýý òýäãýýðèéã àðèëãàæ ýíý õýâëýñýí àðãà òàíü àøèãòàé õýâýýð áîëîõûã ìýäýæ áîëîõ þì.
14.5.5 UNIX®
íóóö ³ã³³äèéã àøèãëàõûã õÿçãààðëàõ íü
OPIE íü UNIX íóóö ³ã³³äèéí àøèãëàëòûã íýâòðýëòèéí ñåññèéí IP õàÿã äýýð òóëãóóðëàí õÿçãààðëàæ ÷àääàã. Òîõèðîõ àéë íü /etc/opieaccess á°ã°°ä ýíý àéë íü àíõäàã÷ààð áàéäàã. Ýíý àéëûí òàëààð áîëîí ³³íèéã àøèãëàñíààð òà àþóëã³é áàéäëûí ÿìàð ç³éëñ³³äèéã áîäîëöîæ àíõààðàõ ¼ñòîé òàëààð äýëãýðýíã³é ìýäýýëëèéã opieaccess(5)-ñ øàëãàíà óó. Ýíä æèøýý opieaccess àéë áàéíà: permit 192.168.0.0 255.255.0.0
Ýíý ì°ð íü UNIX íóóö ³ã³³äèéã ÿìàð ÷ ³åä àøèãëàõûí òóëä ýõëýë IP õàÿãèéã (õóóðàí ìýõëýõýä õ³ð÷ áîëîõ òèéì ýìçýã) çààãäñàí óòãà áîëîí áàãòàé òààðóóëàõ áîëîìæèéã õýðýãëýã÷äýä îëãîäîã. opieaccess äàõü àëü ÷ ä³ðýì òààðàõã³é áàéãàà áîë àíõäàã÷ààð OPIE áèø íýâòðýëò³³äèéã õààæ ³ã³éñãýäýã. 14.6 TCP
³éöýòãýëèéã õÿëáàðøóóëàã÷èä
Áè÷ñýí Òîì °³äñ. inetd(8)-ã ìýääýã õýí á³õýí TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷äûí òàëààð çàðèìäàà ñîíññîí áàéõ. ýõäýý ö°°í õ³ì³³ñ ýíý áîëîìæèéí ñ³ëæýýíèé îð÷èí äàõü àøèãòàé òàëûã á³ðýí îéëãîäîã þì øèã ñàíàãääàã. Õ³í á³õýí ñ³ëæýýíèé õîëáîëòóóä çîõèöóóëàõ ãàëò õàíà ñóóëãàõûã õ³ñäýã þì øèã ñàíàãääàã. àëò õàíà îëîí ò°ðëèéí õýðýãëýýòýé áîëîâ÷ õîëáîëò ³³ñãýã÷ óðóó òåêñò èëãýýõ çýðýã çàðèì ç³éëñèéã ãàëò õàíà õèéæ ÷àääàãã³é. Ýíä äóðäñàí TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷èä ýíý ìýòèéã áîëîí ³³íýýñ èë³³ã õèéäýã. Äàðààãèéí õýäýí õýñýãò TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷äûí îëîí áîëîìæóóäûã õýëýëöýõ á°ã°°ä áîëîìæòîé ³åä íü æèøýý òîõèðãîîíû ì°ðèé㠳糳ëýõ áîëíî. TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷èä ïðîãðàì õàíãàìæ íü inetd-èéí ÷àäâàðóóäûã ñåðâåð á³ðèéí õóâüä ò³³íèé äîîð õÿíàãäàæ áîëîõîîð äýìæèí °ðã°òã°ä°ã. Ýíý àðãûã àøèãëàí á³ðòãýë õ°òë°õ äýìæëýã íýìýõ, õîëáîëòóóä óðóó ìýäýãäýë áóöààõ, äýìîíä ç°âõ°í äîòîîä õîëáîëòóóäûã õ³ëýýí àâàõûã ç°âø°°ð°õ ãýõ ìýò ³éëäë³³äèéã õèéõ áîëîìæòîé. Ýäãýýð áîëîìæóóäûí çàðèìûã ãàëò õàíà ñóóëãàí
387
Chapter 14 Àþóëã³é áàéäàë
òîõèðóóëæ õèéæ áîëîõ áîëîâ÷ ýíý íü ç°âõ°í õàìãààëàëòûí íýìýëò äàâõàðãà áîëîõîîñ ãàäíà ãàëò õàíûí ³ç³³ëæ ÷àääàãààñ èë³³ õÿíàëòûã îëãîäîã þì. TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷äûí èéíõ³³ íýìýãäñýí àæèëëàãàà íü ñàéí ãàëò õàíûã ñîëèõîîð ç³éë ãýæ îéëãîãäîõ ¼ñã³é þì. TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷èä íü ãàëò õàíà ýñâýë °°ð áóñàä àþóëã³é áàéäëûã íýìýãä³³ëýã÷ ïðîãðàìóóäûí õàìòààð àøèãëàãäàæ ñèñòåìèéí õóâüä õàìãààëàëòûí íýìýëò äàâõàðãà áîëîí àÿòàéõàí ³éë÷ëýõ áîëîìæòîé þì. Ýíý íü inetd-èéí òîõèðãîîíû °ðã°òã°ë áîëîõîîð ýíýõ³³ áàðèìòûã óíøèã÷ òàíûã inetd òîõèðãîî õýñãèéã óíøñàí ãýäýãò íàéäàæ áàéíà. Note: inetd(8)-ýýð àæèëëóóëàãäñàí ïðîãðàìóóä ÿã æèíõýíýýðýý “äýìîíóóä” áèø áîëîâ÷ òýäãýýðèéã óëàìæëàëààð äýìîíóóä ãýäýã. Ýíý óõàãäàõóóíûã áèä ýíý õýñýãò áàñ àøèãëàõ áîëíî.
14.6.1
Ýõíèé òîõèðãîî
TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷äûã FreeBSD-ä àøèãëàõàä áàéõ öîðûí ãàíö øààðäëàãà íü inetd ñåðâåðèéã rc.conf àéëààñ -Ww òîõèðóóëãàòàé àæèëëóóëñàí ýñýõèéã øàëãàõ ÿâäàë þì; ýíý íü àíõäàã÷ òîõèðãîî þì. Ìýäýýæ /etc/hosts.allow àéëûí ç°â òîõèðãîî áàñ áàéãààã õ³ëýýæ áàéäàã áîëîâ÷ ýäãýýð òîõèîëäëóóäàä syslogd(8) ñèñòåìèéí á³ðòãýë³³äýä ìýäýãäë³³ä øèääýã. Note: Áóñàä TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷äûí øèéäë³³äòýé õàðüöóóëàõ þì áîë hosts.deny àéëûã õýðýãëýõýý áîëüñîí. Òîõèðãîîíû á³õ ñîíãîëòóóä /etc/hosts.allow àéëä áàéõ øààðäëàãàòàé.
Õàìãèéí àìàðõàí òîõèðãîîãîîðîî áîë äýìîíû õîëáîëòûí áîäëîãóóä ç°âø°°ð°ãäñ°í ýñâýë õààãäñàíû àëü íýãýýð /etc/hosts.allow àéë äàõü òîõèðóóëãóóäààñ õàìààðàí òîõèðóóëàãääàã. FreeBSD äýýðõ àíõäàã÷ òîõèðãîî íü inetd-ýýð ýõýëñýí äýìîí á³ð óðóó õèéãäýõ õîëáîëòûã ç°âø°°ðä°ã. ³íèéã °°ð÷ë°õ òàëààð ç°âõ°í ³íäñýí òîõèðãîîíû òóõàé äóðäñàíû äàðàà õýëýëöýõ áîëíî. íäñýí òîõèðãîî èõýâ÷ëýí äýìîí : õàÿã : ³éëäýë õýëáýðèéã àâäàã. Ýíä áàéãàà äýìîí íü inetd-èéí ýõë³³ëñýí äýìîíû íýð þì. Õàÿã íü ç°â õîñòûí íýð, address õàÿã ýñâýë ä°ðâ°ëæèí õààëòàí ([ ]) äîòîðõ IPv6 õàÿã áàéæ áîëíî. action áóþó ³éëäëèéí òàëáàð íü allow áóþó ç°âø°°ð°õ ýñâýë deny áóþó ýðõèéã õîðèãëîõ ýñâýë õàíäàëòûã õààõûí àëü íýã áàéíà. Òîõèðãîî ýõíèé òîõèðñîí ä³ðýì æóðìûí äàãóó àæèëëàäàã ãýäãèéã ñàíàõ õýðýãòýé, ýíý íü òîõèðîõ ä³ðìèéã òîõèðãîîíû àéëààñ °ñ°õ äàðààëëààð õàéíà ãýñýí ³ã þì. Òîõèðîõ ä³ðýì îëäâîë òýð ä³ðýì àøèãëàãäàæ õàéõ ïðîöåññ çîãñîíî. Áóñàä õýä õýäýí òîõèðóóëãóóä áàéäàã áîëîâ÷ òýäãýýðèéã ýíý õýñãèéí ñ³³ëä òàéëáàðëàõ áîëíî. Õÿëáàð òîõèðãîîíû ì°ð ãàíöõàí òýð ìýäýýëëèéí äàãóó àìàðõíààð õèéãäýæ áîëíî. Æèøýý íü mail/qpopper äýìîíîîð äàìæèí õèéãäýæ áîëîõ POP3 õîëáîëòóóäûã ç°âø°°ð°õèéí òóëä äàðààõ ì°ð³³ä hosts.allow àéëä íýìæ õèéãäýõ õýðýãòýé: # This line is required for POP3 connections: qpopper : ALL : allow
Ýíý ì°ðèéã íýìñíèéõýý äàðàà inetd-ã äàõèí ýõë³³ëýõ õýðýãòýé. ³íèéã kill(1) òóøààë ýñâýë /etc/rc.d/inetd-ã restart ïàðàìåòðòàé àøèãëàí õèéæ áîëíî.
388
Chapter 14 Àþóëã³é áàéäàë
14.6.2
Äýâøèëòýò òîõèðãîî
TCP ³éöýòãýëèéã õÿëáàðøóóëàã÷èä íü áàñ äýâøèëòýò òîõèðóóëãóóäòàé áàéäàã; òýäãýýð íü õîëáîëòóóäòàé õýðõýí àæèëëàõûã èë³³òýéãýýð õÿíàõ áîëîìæèéã îëãîäîã. Çàðèì òîõèîëäîëä òîäîðõîé õîñòóóä ýñâýë äýìîí õîëáîëòóóä óðóó òàéëáàð áóöààõ íü ç³éòýé ñàíàà áàéæ áîëîõ þì. Áóñàä
òîõèîëäîëä ìàãàäã³é á³ðòãýëèéí àéë áè÷èãäýõ ¼ñòîé ýñâýë öàõèì çàõèäàë àäìèíèñòðàòîð óðóó èëãýýãäýæ áîëîõ þì. Áóñàä òîõèîëäëóóä ³éë÷èëãýýã ç°âõ°í äîòîîä õîëáîëòóóääàà àøèãëàõûã øààðäàæ áîëîõ þì. Ýäãýýð íü á³ãäýýðýý îðëóóëàãääàã òýìäýãò³³ä, °ðã°òã°õ òýìäýãò³³ä áîëîí ãàäààä òóøààëûã àæèëëóóëàõ çýðýã òîõèðãîîíû ñîíãîëòóóäûí òóñëàìæòàé õèéãäýõ áîëîìæòîé þì. Äàðààãèéí õî¼ð õýñýãò ýäãýýð òîõèîëäëóóäûí òàëààð áè÷ñýí áàéãàà. 14.6.2.1 àäààä òóøààëóóä
Õîëáîëòûã õààæ ò³³íèéã òîãòîîõûã îðîëäñîí õ³í óðóó øàëòãààíûã íü èëãýýõ òîõèîëäîë ãàð÷ýý ãýæ áîäú¼. ³íèéã ÿàæ õèéõ âý? Ýíý ³éëäëèéã twist òîõèðóóëãà àøèãëàí õèéõ áîëîìæòîé. Õîëáîëò òîãòîîõîîð îðîëäîõîä twist òîõèðóóëãà á³ðõ³³ëèéí òóøààë ýñâýë ñêðèïò àæèëóóëàõààð äóóäàãääàã. hosts.allow àéëä ³³íèé æèøýý àëü õýäèéí îðñîí áàéäàã: # The rest of the daemons are protected. ALL : ALL \ : severity auth.info \ : twist /bin/echo "You are not welcome to use %d from %h."
Ýíý æèøýý íü “You are not allowed to use daemon from hostname.” áóþó “Òà äýìîíûã hostname-ñ àøèãëàõ ç°âø°°ð°ëã³é.” ãýñýí ìýäýãäëèéã õàíäàëòûí àéëä óðüäààð òîõèðóóëàãäààã³é äýìîí á³ðèéí õóâüä áóöààäàã. Ýíý íü òîãòîîãäñîí õîëáîëò ä°íã°æ ñàëñíû äàðàà õîëáîëòûã ýõë³³ëýã÷ óðóó õàðèóëòûã áóöààæ èëãýýõýä ìàø èõ àøèãòàé áàéäàã. Áóöñàí ìýäýãäýë á³ð " òýìäýãò³³ä äîòîð çààâàë áàéõ øààðäëàãàòàé ; ýíý ä³ðìýíä ÿìàð íýã æè÷ ç°âø°°ð°ë áàéõã³é. Warning: Õýðýâ õàëäàã÷ ýñâýë á³ëýã õàëäàã÷èä ýäãýýð äýìîíóóäûã õîëáîëò õèéõ õ³ñýëòýýð öóòãàæ ÷àäàõ þì áîë ñåðâåðèéí ýñðýã ³éë÷èëãýýã çîãñîîõ õàëäëàãà ÿâóóëàõ áîëîìæòîé áàéæ áîëîõ þì.
°ð íýã áîëîìæ íü ýäãýýð òîõèîëäëóóäàä spawn òîõèðóóëãûã àøèãëàõ ÿâäàë þì. twist òîõèðóóëãûí íýãýí àäèë spawn òîõèðóóëãà íü õîëáîëòóóäûã ñîõðîîð õààæ ãàäààä á³ðõ³³ëèéí òóøààëóóä ýñâýë ñêðèïò³³äèéã àæèëëóóëàõàä àøèãëàãäàæ áîëíî. twist òîõèðóóëãààñ ÿëãààòàé òàë íü spawn íü õîëáîëò òîãòîîñîí õ³í óðóó õàðèóëò áóöààæ èëãýýäýãã³é. Æèøýý íü äàðààõ òîõèðãîîíû ì°ð áàéæýý ãýæ áîäú¼: # We do not allow connections from example.com: ALL : .example.com \ : spawn (/bin/echo %a from %h attempted to access %d >> \ /var/log/connections.log) \ : deny
Ýíý íü *.example.com äîìýéíîîñ èðñýí á³õ õîëáîëòûí îðîëäëîãóóäààñ òàòãàëçàõûí çýðýãöýý õîñòûí íýð, IP õàÿã áîëîí òýäíèé õàíäàëò õèéõèéã îðîëäñîí äýìîíã /var/log/connections.log àéë óðóó á³ðòãýíý. Äýýð òàéëáàðëàñàí îðëóóëàõ òýìäýãò³³äýýñ ãàäíà, °°ð°°ð õýëáýë %a òýìäýãòýýñ ãàäíà áóñàä ö°°í õýäýí òýìäýãò³³ä áàñ áàéäàã. Á³ðýí æàãñààëòûã hosts_access(5) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
389
Chapter 14 Àþóëã³é áàéäàë 14.6.2.2 Îðëóóëàãääàã òýìäýãò³³äèéí òîõèðãîîíóóä
Ýíý õ³ðòýë ALL òîõèðóóëãà á³õ ë æèøýýí³³äýä àøèãëàãäëàà. Àæèëëàãààã àðàé öààøëóóëæ °ðã°òã°õ áóñàä òîõèðóóëãóóä áàéäàã. Æèøýý íü ALL íü äýìîí, äîìýéí ýñâýë IP õàÿãèéí àëü íýãòýé òààðóóëàõ çîðèëãîîð àøèãëàãäàæ áîëîõ þì. °ð íýã îðëóóëàãääàã òýìäýãò íü IP õàÿãàà °°ð÷ë°í õóóðñàí áàéæ áîëîõ äóðûí õîñòûã òààðóóëàõ PARANOID òîõèðóóëãà þì. °ð°°ð õýëáýë PARANOID áóþó õýò çîâíèë íü °°ðèéí õîñòûí íýðýýñ °°ð IP õàÿãòàé ìàøèíààñ õîëáîëò õèéãäýõ á³ð ò³³íä òîõèðîõ ³éëäëèéã òîäîðõîéëîõîä àøèãëàãäàæ áîëîõ þì. Äàðààõ æèøýý ýíý õýëýëö³³ëýãò àðàé èë³³ îéëãîëò °ã÷ ìàãàäã³é þì: # Block possibly spoofed requests to sendmail: sendmail : PARANOID : deny
Ýíý æèøýýí äýýð sendmail óðóó õèéãäýæ áàéãàà °°ðèéíõ°° õîñòûí íýðýýñ °°ð IP õàÿãòàé õîëáîëòûí á³õ õ³ñýëò³³äýýñ òàòãàëçàí õààæ áàéíà. Caution: Õýðýâ êëèåíò ýñâýë ñåðâåð ýâäýðõèé DNS ñóóëãàöòàé áîë PARANOID îðëóóëàãääàã òýìäýãòèéã àøèãëàõ íü ñåðâåð³³äèéã íîöòîéãîîð çýðýìäýã áîëãîæ áîëîõ þì. Èéìä àäìèíèñòðàòîðûí çîõèîí áàéãóóëàëò áîëîí õóâààðèëàëò õèéõèéã ç°âë°æ áàéíà.
Îðëóóëàãääàã òýìäýãò³³äèéí òàëààð áîëîí òýäýíòýé õîëáîîòîé àæèëëàãààíû òàëààð äýëãýðýíã³éã hosts_access(5) ãàðûí àâëàãûí õóóäàñíààñ ³çýýðýé. Òóñãàé òîõèðãîîíû àëü ÷ ì°ð³³äèéí °ìí° äýýðõ íü àæèëëàíà, ýõíèé òîõèðãîîíû ì°ð hosts.allow àéëä òàéëáàð áîëãîí õààãäàõ øààðäëàãàòàé. ³íèéã ýíý õýñãèéí ýõýíä òýìäýãëýæ õýëñýí áàéãàà.
14.7 KerberosIV
Õîéíî äóðäñàí õ³íèé áè÷ñýí äýýð òóëãóóðëàí õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ìþððåé. Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Äýéïîç. Kerberos íü õýðýãëýã÷èä °°ðñäèéã°° íóóöëàã ñåðâåðèéí ³éë÷èëãýýí³³äèéí òóñëàìæòàéãààð òàíèóëàí íýâòðýõ áîëîìæèéã îëãîäîã ñ³ëæýýíèé íýìýëò ñèñòåì/ïðîòîêîë þì. Àëñûí íýâòðýëò, àëñûí õóóëáàð, íóóöëàã ñèñòåì õîîðîíäîõ àéë õóóëáàðëàëò áîëîí áóñàä àþóë èõòýé ³éëäë³³ä çýðýã ³éë÷èëãýýí³³ä õàðüöàíãóé àþóëã³é õèéãäýæ èë³³ õÿíàëò õèéæ áîëîõîîð áîëñîí. Äàðààõ çààâðóóäûã FreeBSD-òýé öóã ò³ãýýãääýã Kerberos-èéã õýðõýí òîõèðóóëàõ ãàðûí àâëàãà áîëãîí õýðýãëýæ áîëîõ þì. ýõäýý òà á³ðýí òàéëáàðûí òàëààð õàðãàëçàõ ãàðûí àâëàãûí õóóäàñíóóäàä õàíäàæ ³çýõ øààðäëàãàòàé. 14.7.1 KerberosIV
ñóóëãàõ íü
Kerberos íü FreeBSD-èéí íýìýëò á³ðýëäýõ³³í õýñýã þì. Ýíý ïðîãðàì õàíãàìæèéã ñóóëãàõ õàìãèéí àìàðõàí àðãà íü FreeBSD ýõýëæ ñóóëãàõ ³åä sysinstall-ä krb4 ýñâýë krb5 ò³ãýýëòèéã ñîíãîí ñóóëãàõ ÿâäàë þì. Ýíý íü Kerberos-èéí “eBones” (KerberosIV) ýñâýë “Heimdal” (Kerberos5) øèéäë³³äèéã ñóóëãàõ áîëíî. Ýäãýýð íü ÀÍÓ/Êàíàäààñ ãàäíà õ°ãæ³³ëýãäñýí ó÷ðààñ ÀÍÓ-ûí êðèïòîãðà êîä äýýðõ
390
Chapter 14 Àþóëã³é áàéäàë
ýêñïîðòûí õÿçãààðëàãäìàë õÿíàëòûí ³åä áóñàä óëñóóäûí ñèñòåìèéí ýçýìøèã÷äýä àøèãëàãäàõ áîëîìæòîé áîëñîí þì. Èéìýýñ ýäãýýð øèéäë³³ä íü îðñîí áàéäàã. ³íýýñ ãàäíà Kerberos-èéí MIT øèéäýë ïîðòóóäûí öóãëóóëãûí security/krb5 ñàíä áàéäàã. 14.7.2
Ýõíèé ìýäýýëëèéí áààç ³³ñãýõ
Ýíý íü Kerberos ñåðâåð äýýð ç°âõ°í õèéãääýã. Ýõëýýä õóó÷èí Kerberos ìýäýýëëèéí áààçóóä áàéãàà ýñýõèéã øàëãààðàé. Òà /etc/kerberosIV ñàí óðóó îðæ ç°âõ°í äàðààõ àéëóóä áàéãààã øàëãààðàé: # cd /etc/kerberosIV # ls
README krb.conf
krb.realms
Õýðýâ àëü íýã íýìýëò àéëóóä (principal.* ýñâýë master_key çýðýã) áàéâàë kdb_destroy òóøààë àøèãëàæ õóó÷èí Kerberos ìýäýýëëèéí áààçûã óñòãàõ ýñâýë õýðýâ Kerberos àæèëëàõã³é áàéãàà áîë åðä°° ë íýìýëò àéëóóäûã óñòãàõ õýðýãòýé. Òà îäîî °°ðèéí Kerberos õ³ðýýã (realm) çààæ °ã°õä°° krb.conf áîëîí krb.realms àéëóóäûã çàñâàðëàõ øààðäëàãàòàé. Ýíý òîõèîëäîëä õ³ðýý íü EXAMPLE.COM áîëîõ á°ã°°ä ñåðâåð íü grunt.example.com áîëîõ þì. Áèä krb.conf àéëûã çàñâàðëàæ ýñâýë ³³ñãýíý: # cat krb.conf
EXAMPLE.COM EXAMPLE.COM grunt.example.com admin server CS.BERKELEY.EDU okeeffe.berkeley.edu ATHENA.MIT.EDU kerberos.mit.edu ATHENA.MIT.EDU kerberos-1.mit.edu ATHENA.MIT.EDU kerberos-2.mit.edu ATHENA.MIT.EDU kerberos-3.mit.edu LCS.MIT.EDU kerberos.lcs.mit.edu TELECOM.MIT.EDU bitsy.mit.edu ARC.NASA.GOV trident.arc.nasa.gov
Ýíý òîõèîëäîëä áóñàä õ³ðýýí³³ä òýíä áàéõ õýðýãã³é. Òýäãýýð íü ýíä ìàøèíûã õýðõýí îëîí õ³ðýýí³³äèéã ìýäýõýýð õèéãäýõ æèøýý ìàÿãààð áàéãàà áîëíî. Õÿëáàðàà áîäîîä òà òýäãýýðèéã îðóóëàõã³éã õ³ñýæ áîëîõ þì. Ýõíèé ì°ð íü ñèñòåì àæèëëàõ õ³ðýýã íýðëýæ áàéíà. Áóñàä ì°ð³³ä íü õ³ðýý/õîñò îðóóëãóóäûã àãóóëíà. Ì°ð äýõ ýõíèéõ íü õ³ðýý á°ã°°ä õî¼ð äàõü íü “ò³ëõ³³ð ò³ãýýõ ò°â” áîëæ áàéãàà õ³ðýýí äýõ õîñò þì. Õîñòûí íýðèéí äàðààõ admin server íü õîñò áàñ óäèðäàõ ìýäýýëëèéí áààçààð õàíãàæ áàéíà ãýñýí ³ã þì. Ýäãýýð óõàãäàõóóíóóäûí òàéëáàðóóäûí òàëààð Kerberos-èéí ãàðûí àâëàãûí õóóäàñíóóäààñ ç°âë°ã°° àâíà óó. Îäîî áèä grunt.example.com-ã EXAMPLE.COM õ³ðýý óðóó íýìýõ ¼ñòîé á°ã°°ä áàñ EXAMPLE.COM õ³ðýýíèé .example.com äîìýéí äýõ á³õ õîñòóóäûã îðóóëàí íýìæ °ã°õ õýðýãòýé. krb.realms àéë äàðààõ áàéäëààð øèíý÷ëýãäýõ áîëíî: # cat krb.realms
grunt.example.com EXAMPLE.COM .example.com EXAMPLE.COM .berkeley.edu CS.BERKELEY.EDU .MIT.EDU ATHENA.MIT.EDU
391
Chapter 14 Àþóëã³é áàéäàë .mit.edu ATHENA.MIT.EDU
Äàõèí õýëýõýä áóñàä õ³ðýýí³³ä òýíä áàéõ øààðäëàãàã³é. Òýäãýýð íü ýíä ìàøèíûã õýðõýí îëîí õ³ðýýí³³äèéã ìýäýõýýð õèéãäýõ æèøýý ìàÿãààð áàéãàà áîëíî. Õÿëáàðàà áîäîîä òà òýäãýýðèéã îðóóëàõã³éã õ³ñýæ áîëîõ þì. Ýõíèé ì°ð íü òóñãàé ñèñòåìèéã íýðëýãäñýí õ³ðýý óðóó îðóóëæ áàéíà. Áóñàä ì°ð³³ä íýðëýãäñýí õ³ðýýíä òóõàéí äýä äîìýéíû ñèñòåì³³äèéã õýðõýí àíõäàã÷ààð áîëãîæ áàéãààã õàðóóëíà. Îäîî áèä ìýäýýëëèéí ñàí ³³ñãýõýä áýëýí áîëëîî. Ýíý íü ç°âõ°í Kerberos ñåðâåð (ýñâýë Ò³ëõ³³ð Ò³ãýýõ Ò°â) äýýð àæèëëàõ ¼ñòîé. kdb_init òóøààë àæèëëóóëæ ³³íèéã õèéíý: # kdb_init Realm name [default
ATHENA.MIT.EDU ]: EXAMPLE.COM
You will be prompted for the database Master Password. It is important that you NOT FORGET this password. Enter Kerberos master key:
Îäîî áèä ëîêàë ìàøèí äýýðõ ñåðâåð³³ä àâ÷ áîëãîõîîð áîëãîõûí òóëä ò³ëõ³³ðèéã õàäãàëàõ õýðýãòýé. òóøààë àøèãëàæ ³³íèéã õèéíý:
kstash
# kstash Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE!
Ýíý íü øèðëýãäñýí ìàñòåð íóóö ³ãèéã /etc/kerberosIV/master_key-ä õàäãàëíà. 14.7.3
Á³ãäèéã àæèëëàõààð áîëãîõ
Kerberos-îîð àþóëã³é áîëãîãäîõ ñèñòåì á³ðèéí õóâüä õî¼ð óäèðäàã÷ ìýäýýëëèéí áààçàä íýìýãäýõ øààðäëàãàòàé. Òýäãýýðèéí íýðñ íü kpasswd áîëîí rcmd áàéíà. Ýäãýýð õî¼ð óäèðäàã÷ íü ñèñòåì á³ðèéí õóâüä õóâü ñèñòåìèéí íýðòýé òîõèîëäëóóäûí õàìòààð õèéãäýíý. Ýäãýýð kpasswd áîëîí rcmd äýìîíóóä íü áóñàä ñèñòåì³³äýä Kerberos íóóö ³ãí³³äèéã °°ð÷èëæ rcp(1), rlogin(1) áîëîí rsh(1) çýðýã òóøààëóóäûã àæèëëóóëàõûã ç°âø°°ðä°ã. Îäîî ýäãýýð îðóóëãóóäûã íýìýöãýýå: # kdb_edit
Opening database... Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value.
392
Chapter 14 Àþóëã³é áàéäàë
Principal name: passwd Instance: grunt
, Create [y] ? y Principal: passwd, Instance: grunt, kdc_key_ver: 1 New Password: <---- enter RANDOM here Verifying password New Password: <---- enter RANDOM here Random password [y] ? y
Principal’s new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ?
Edit O.K. Principal name: rcmd Instance: grunt
, Create [y] ? Principal: rcmd, Instance: grunt, kdc_key_ver: 1 New Password: <---- enter RANDOM here Verifying password New Password:
<---- enter RANDOM here
Random password [y] ?
Principal’s new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ?
Edit O.K. Principal name:
14.7.4
<---- null entry here will cause an exit
Ñåðâåðèéí àéëûã ³³ñãýõ
Îäîî áèä ìàøèí á³ð äýýð ³éë÷èëãýýí³³äèéã òîäîðõîéëäîã á³õ òîõèîëäëóóäûã ãàðãàæ àâàõ õýðýãòýé. Ýíý çîðèëãîîð áèä ext_srvtab òóøààëûã àøèãëàíà. Ýíý íü àéë ³³ñãýõ á°ã°°ä ò³³íèéã Kerberos-èéí êëèåíò á³ðèéí /etc ñàí óðóó àþóëã³éí ³³äíýýñ õóóëàõ ýñâýë øèëæ³³ëýõ õýðýãòýé. Ýíý àéë íü ñåðâåð áîëîí êëèåíò á³ð äýýð áàéõ õýðýãòýé á°ã°°ä Kerberos-èéí àæèëëàãààíä øèéäâýðëýõ ç³éë áîëäîã. # ext_srvtab grunt Enter Kerberos master key:
Current Kerberos master key version is 1.
393
Chapter 14 Àþóëã³é áàéäàë Master key entered. BEWARE! Generating ’grunt-new-srvtab’....
Îäîî, ýíý òóøààë ç°âõ°í ò³ð çóóðûí àéë ³³ñãýäýã á°ã°°ä òýð àéëûí íýðèéã á³õ ñåðâåð³³ä àâ÷ ÷àäàõààð srvtab áîëãîí íýðëýõ øààðäëàãàòàé. mv(1) òóøààë àøèãëàæ ýõ ñèñòåì äýýðõ áàéðëàë óðóó øèëæ³³ë: # mv grunt-new-srvtab srvtab
Õýðýâ àéë íü êëèåíò ñèñòåìä çîðèóëàãäñàí á°ã°°ä ñ³ëæýý íü àþóëã³é áèø ãýæ áîäîãäâîë client-new-srvtab àéëûã øèëæ³³ëæ áîëîõ ç°°â°ðë°ã÷ óðóó õóóëæ èçèê àþóëã³éí ³³äíýýñ òýýâýðëýæ áîëíî. ³íèéã êëèåíòèéí /etc ñàí äîòîð srvtab áîëãîí íýðëýæ 600 ãîðèìä áàéãàà ýñýõèéã øàëãààðàé: # mv grumble-new-srvtab srvtab # chmod 600 srvtab
14.7.5
Ìýäýýëëèéí ñàíã íóòàãøóóëàõ
Áèä îäîî çàðèì õýðýãëýã÷èéã ìýäýýëëèéí áààçàä îðóóëàõ õýðýãòýé. Ýõëýýä jane õýðýãëýã÷èä çîðèóëñàí îðóóëãûã ³³ñãýå. ³íèéã kdb_edit òóøààë àøèãëàæ õèéíý: # kdb_edit
Opening database... Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: jane Instance:
, Create [y] ? y Principal: jane, Instance: , kdc_key_ver: 1 New Password: <---- enter a secure password here Verifying password <---- re-enter the password here Principal’s new key version = 1 New Password:
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ?
Edit O.K. Principal name:
<---- null entry here will cause an exit
394
Chapter 14 Àþóëã³é áàéäàë
14.7.6
Á³ãäèéã òåñò õèéõ
Ýõëýýä áèä Kerberos äýìîíóóä àæèëëóóëàõ øààðäëàãàòàé. Õýðýâ òà °°ðèéí /etc/rc.conf àéëûã ç°â çàñâàðëàñàí áîë äàõèí à÷ààëàõàä ýíý íü àâòîìàòààð õèéãäýõ ¼ñòîéã ñàíààðàé. Ýíý íü ç°âõ°í Kerberos ñåðâåð äýýð øààðäëàãàòàé. kerberos-èéí êëèåíò³³ä õýðýãòýé ç³éëýý àâòîìàòààð /etc/kerberosIV ñàíãààñ àâàõ áîëíî. # kerberos &
Kerberos server starting Sleep forever on error Log file is /var/log/kerberos.log Current Kerberos master key version is 1. Master key entered. BEWARE! Current Kerberos master key version is 1 Local realm: EXAMPLE.COM # kadmind -n &
KADM Server KADM0.0A initializing Please do not use ’kill -9’ to kill this job, use a regular kill instead Current Kerberos master key version is 1. Master key entered.
BEWARE!
Îäîî áèä kinit òóøààë àøèãëàæ áèäíèé äýýð ³³ñãýñýí jane ID-ä çîðèóëñàí òàñàëáàðûã àâàõûã îðîëäîæ áîëíî: % kinit jane
MIT Project Athena (grunt.example.com) Kerberos Initialization for "jane" Password:
Òîêåíóóä áèäýíä ³íýõýýð áàéãàà ýñýõèéã klist àøèãëàí ³çýõèéã îðîëäîîðîé: % klist
Ticket file: Principal: Issued Apr 30 11:23:22
/tmp/tkt245 [email protected] Expires Apr 30 19:23:22
Principal [email protected]
Îäîî kpasswd äýìîí Kerberos-èéí ìýäýýëëèéí áààçàä íýâòðýëòèéí ç°âø°°ð°ë àâ÷ ÷àäàõ ýñýõèéã øàëãàõûí òóëä íóóö ³ãèéã passwd(1) àøèãëàí °°ð÷ë°õèéã îðîëäîîðîé: % passwd
realm EXAMPLE.COM Old password for jane: New Password for jane:
Verifying password New Password for jane:
Password changed.
395
Chapter 14 Àþóëã³é áàéäàë
14.7.7 su
ç°âø°°ðë³³äèéã íýìýõ
Kerberos íü root ç°âø°°ðë³³ä õýðýãòýé õýðýãëýã÷ á³ðä °°ðñäèéíõ íü òóñäàà su(1) íóóö ³ãèéã °ã°õèéã áèäýíä ç°âø°°ðä°ã. Îäîî áèä su(1)-ààð òàíèãäàí ç°âø°°ð°ãäñ°í ID-ã root óðóó íýìæ áîëíî. ³íèéã root-ã óäèðäàã÷òàé õîëáîñîí òîõèîëäîëòîé áàéñíààð õÿíàæ áîëíî. kdb_edit àøèãëàí Kerberos-èéí ìýäýýëëèéí áààçàä jane.root îðóóëãûã áèä ³³ñãýæ áîëíî: # kdb_edit
Opening database... Enter Kerberos master key:
Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: jane Instance: root
, Create [y] ? y Principal: jane, Instance: root, kdc_key_ver: 1 New Password: <---- enter a SECURE password here Verifying password New Password:
<---- re-enter the password here
Principal’s new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- Keep this short! Attributes [ 0 ] ?
Edit O.K. Principal name:
<---- null entry here will cause an exit
Îäîî ³³íèéã àæèëëàæ áàéãààã øàëãàæ òîêåíóóäûã àâàõûã îðîëäîîðîé: # kinit jane.root
MIT Project Athena (grunt.example.com) Kerberos Initialization for "jane.root" Password:
Îäîî áèä õýðýãëýã÷èéã root-èéí .klogin àéëä íýìýõ õýðýãòýé: # cat /root/.klogin
[email protected]
Îäîî su(1) õèéõèéã îðîëäîîä ³ç: % su Password:
òýãýýä ÿìàð òîêåíóóä áèäýíä áàéãààã õàðààðàé: 396
Chapter 14 Àþóëã³é áàéäàë # klist
Ticket file: /tmp/tkt_root_245 Principal: [email protected] Issued May 2 20:43:12
14.7.8
Expires May 3 04:43:12
Principal [email protected]
Áóñàä òóøààëóóäûã àøèãëàõ
ìí°õ æèøýýí äýýð áèä jane ãýæ íýðëýãäñýí óäèðäàã÷èéã root òîõèîëäîëòîé ³³ñãýñýí. Ýíý íü óäèðäàã÷òàé àäèë íýðòýé õýðýãëýã÷ äýýð ³íäýñëýñýí á°ã°°ä ýíý íü Kerberos-èéí àíõäàã÷ þì; root-èéí ãýð ñàí äàõü .klogin àéëä øààðäëàãàòàé îðóóëãóóä áàéâàë <username>.root õýëáýðèéí <principal>. íü òýð <username>-ã root óðóó su(1) õèéõèéã ç°âø°°ðä°ã: # cat /root/.klogin
[email protected]
õýðýâ õýðýãëýã÷ ³³íòýé àäèë õýëáýðèéí °°ðèéí ãýð ñàíãèéí ì°ð³³äòýé áîë: % cat ~/.klogin
[email protected] [email protected]
Ýíý íü °°ðñäèéã°° jane ýñâýë jack ãýæ òàíèóëñàí (kinit-èéí òóñëàìæòàé, äýýð äóðäñàíûã ³ç) õ³ðýýíèé õýíä ÷ rlogin(1), rsh(1) ýñâýë rcp(1) àøèãëàí ýíý ñèñòåì (grunt) äýýðõ jane-èé á³ðòãýë ýñâýë àéëóóäàä õàíäàõûã ç°âø°°ðä°ã. Æèøýý íü jane îäîî °°ð ñèñòåì óðóó Kerberos àøèãëàí íýâòðýí îðæ áàéíà: EXAMPLE.COM
% kinit
MIT Project Athena (grunt.example.com) Password: % rlogin grunt
Last login: Mon May 1 21:14:47 from grumble Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
Ýñâýë jack ÿã òýð ìàøèí äýýðõ jane á³ðòãýë óðóó íýâòðýí îðæ áàéíà (jane äýýðõòýé àäèë .klogin-èéã òîõèðóóëñàí á°ã°°ä Kerberos õàðèóöñàí õ³í óäèðäàã÷ jack-èéã õîîñîí òîõèîëäîëòîé òîõèðóóëñàí): % kinit % rlogin grunt -l jane
MIT Project Athena (grunt.example.com) Password:
Last login: Mon May 1 21:16:55 from grumble Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995
397
Chapter 14 Àþóëã³é áàéäàë
14.8 Kerberos5
Õîéíî äóðäñàí õ³íèé áè÷ñýí äýýð òóëãóóðëàí õóâü íýìýð áîëãîí îðóóëñàí Òèëëìýí Õîîæñîí. Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ìþððåé. FreeBSD-5.1-ýýñ õîéøõ FreeBSD-èéí õóâèëáàð á³ð ç°âõ°í Kerberos5-ä çîðèóëñàí äýìæëýãèéã îðóóëñàí áàéäàã. Kerberos5 íü îðñîí öîðûí ãàíö õóâèëáàð áîëîõîîð ò³³íèé òîõèðãîî îëîí òàëààðàà KerberosIV-ä áàéäàãòàé àäèë áàéäàã. Äàðààõ ìýäýýëýë FreeBSD-5.0-ñ õîéøõ õóâèëáàð äàõü Kerberos5-òàé õàìààòàé. KerberosIV áàãöûã àøèãëàõûã õ³ñýæ áàéãàà õýðýãëýã÷èä security/krb4 ïîðòûã ñóóëãàæ áîëíî. Kerberos íü õýðýãëýã÷èä °°ðñäèéã°° íóóöëàã ñåðâåðèéí ³éë÷èëãýýí³³äèéí òóñëàìæòàéãààð òàíèóëàí íýâòðýõ áîëîìæèéã îëãîäîã ñ³ëæýýíèé íýìýëò ñèñòåì/ïðîòîêîë þì. Àëñûí íýâòðýëò, àëñûí õóóëáàð, íóóöëàã ñèñòåì õîîðîíäîõ àéë õóóëáàðëàëò áîëîí áóñàä àþóë èõòýé ³éëäë³³ä çýðýã ³éë÷èëãýýí³³ä õàðüöàíãóé àþóëã³é õèéãäýæ èë³³ õÿíàëò õèéæ áîëîõîîð áîëñîí. Kerberos íü õýí áý ãýäãèéã øàëãàõ ïðîêñè ñèñòåì þì. Ýíý íü áàñ èòãýãäñýí ãóðàâäàã÷ íýâòðýëò òàíèõ ñèñòåì ãýæ òàéëáàðëàãäàæ áîëíî. Kerberos íü ç°âõ°í íýã óíêöûã õàíãàäàã — ñ³ëæýýí äýýð õýðýãëýã÷äýä °°ðñäèéã°° àþóëã³éãýýð òàíèóëàõ áîëîìæèéã õàíãàæ °ãä°ã. Ýíý íü øàëãàæ òàíèõ óíêöóóä (õýðýãëýã÷äèéí õèéõèéã ç°âø°°ðä°ã) ýñâýë àóäèò óíêöóóäûí (òýäãýýð õýðýãëýã÷èä þó õèéñíèéã) ³³ðãèéã ã³éöýòãýäýãã³é. Êëèåíò áîëîí ñåðâåð °°ðèéã°° òàíèóëæ áàòëàõààð Kerberos-ã àøèãëàñíû äàðàà òýä áèçíåñýý áîäîæ °°ðñäèéí á³õ õîëáîëòóóäàà øèðëýæ íóóöëàë áîëîí á³ðýí á³òýí áàéäëàà õàäãàëàí áàòàëãààæóóëæ áîëíî. Èéìýýñ Kerberos-èéã íýâòðýëò òàíèëò áîëîí àóäèò ³éë÷èëãýýí³³äèéã õàíãàäàã áóñàä àþóëã³é áàéäëûí àðãóóäòàé öóã àøèãëàõûã ìàø èõýýð ç°âë°ä°ã. Äàðààõ çààâðóóäûã FreeBSD-ä çîðèóëàí ò³ãýýãäñýí Kerberos-èéã õýðõýí òîõèðóóëàõ ãàðûí àâëàãà áîëãîí àøèãëàæ áîëíî. ýõäýý òà òîõèðîõ ãàðûí àâëàãûí õóóäàñíóóäààñ á³ðýí òàéëáàðûí òàëààð ëàâëàõ õýðýãòýé. Kerberos-èéí ñóóëãàöû㠳糳ëýõ çîðèëãîîð ò°ð°ë á³ðèéí íýðèéí òàëáàðóóä äàðààõ áàéäëààð çîõèöóóëàãäàíà: • •
DNS äîìýéí (“á³ñ”) íü example.org áàéíà.
Kerberos õ³ðýý íü EXAMPLE.ORG áàéíà. Note: Õýðýâ òà äîòîîääîî àæèëëóóëàõ áîäîëòîé áàéñàí ÷ ãýñýí Kerberos-èéã ñóóëãàæ òîõèðóóëàõäàà æèíõýíý äîìýéíû íýð³³äèéã àøèãëàíà óó. Ýíý íü DNS-èéí àñóóäëóóäûã òîéðîí ãàð÷ áóñàä Kerberos õ³ðýýí³³äòýé õèéõ õîîðîíäûí ³éëäëèéã áàòàëãààæóóëäàã.
14.8.1
Ò³³õ
Kerberos-èéã MIT àíõ ñ³ëæýýíèé àþóëã³é áàéäëûí àñóóäëóóäûí øèéäýë áîëãîæ õèéñýí. Kerberos
ïðîòîêîë íü õ³÷èðõýã êðèïòîãðàûã àøèãëàäàã á°ã°°ä êëèåíò íü àþóëòàé ñ³ëæýýíèé õîëáîëòîîð °°ðèéã°° õýí áý ãýäãèéã ñåðâåðò (áîëîí ýñðýãýýð) áàòàëæ ÷àäàõ áîëîìæèéã îëãîäîã. Kerberos íü ñ³ëæýýíèé òàíèí øàëãàõ ïðîòîêîëûí íýðýýñ ãàäíà ïðîãðàìûã (æèøýý íü Kerberos òåëíåò) øèéäâýðëýæ áàéãàà ïðîãðàìóóäûã òàéëáàðëàñàí òàéëáàð áàñ áîëäîã. Ïðîòîêîëûí îäîîãèéí õóâèëáàð íü 5 á°ã°°ä RFC 1510-ä òàéëáàðëàñàí áàéäàã.
398
Chapter 14 Àþóëã³é áàéäàë
ðã°í õ³ðýýíèé ³éëäëèéí ñèñòåì³³äèéã õàìàðñàí ýíý ïðîòîêîëûí õýä õýäýí ÷°ë°°òýé øèéäë³³ä áàéäàã. Kerberos àíõ õ°ãæ³³ëýãäñýí Ìàññà÷óñåòñèéí Òåõíîëîãèéí Èíñòèòóò (MIT) íü °°ðèéí Kerberos áàãöûã õ°ãæ³³ëñýýð áàéíà. Ýíý áàãö íü US-ä êðèïòîãðà á³òýýãäýõ³³í áîëæ íèéòëýã õýðýãëýãääýã á°ã°°ä ýíý íü ò³³õýýñ àâ÷ ³çýõýä US-ûí ýêñïîðòûí ä³ðýì æóðìóóäààñ áîëñîí þì. MIT Kerberos íü ïîðò (security/krb5) õýëáýðýýð áàéäàã. Heimdal Kerberos íü °°ð øèéäëèéí 5-ð õóâèëáàð á°ã°°ä ýêñïîðòûí ä³ðýì æóðìóóäûã òîéðîí ãàðàõ çîðèëãîîð US-ýýñ ãàäíà õàìààðàëã³éãýýð õ°ãæ³³ëýãäñýí ( á°ã°°ä èõýâ÷ëýí àðèëæààíû áóñ UNIX ò°ðë³³äýä îðñîí áàéäàã) þì. Heimdal Kerberos ò³ãýýëò íü ïîðò (security/heimdal) õýëáýðýýð áàéäàã á°ã°°ä ³³íèé õàìãèéí áàãà ñóóëãàö ³íäñýí FreeBSD ñóóëãàöàä îðñîí áàéäàã. Àëü áîëîõ îëîí ³çýã÷äèéã õàìðàõûí òóëä ýäãýýð çààâðóóä íü FreeBSD-ä îðñîí Heimdal ò³ãýýëòèéã àøèãëàæ áàéíà ãýæ òîîöäîã. 14.8.2 Heimdal KDC
ñóóëãàæ òîõèðóóëàõ
Ò³ëõ³³ð Ò³ãýýõ Ò°â (KDC) íü Kerberos-èéí õàíãàäàã ò°âë°ðñ°í íýâòðýëò òàíèõ ³éë÷èëãýý þì — ýíý íü Kerberos òàñàëáàðóóä °ãä°ã êîìïüþòåð þì. KDC íü Kerberos õ³ðýýíèé áóñàä á³õ êîìïüþòåðóóäàä “èòãýãäñýí” ãýæ òîîöîãääîã á°ã°°ä àþóëã³é áàéäëûí ñàíàà çîâíèëûã äýýøë³³ëäýã. Kerberos ñåðâåðèéã àæèëëóóëæ áàéõàä ìàø ö°°í òîîöîîëëûí ýõ ³³ñâýðèéã øààðääàã áîëîâ÷ àþóëã³é áàéäëûí øàëòãààíààñ áîëîîä ç°âõ°í KDC áîëîí àæèëëàõ òóñäàà çîðèóëàãäñàí ìàøèíòàé áàéõûã ç°âë°äãèéã ñàíààðàé. KDC-ã òîõèðóóëæ ýõëýõäýý òàíû /etc/rc.conf àéëä KDC áîëæ àæèëëàõ ç°â òîõèðãîî õèéãäñýí ýñýõèéã øàëãààðàé (°°ðèéí ñèñòåìèéí õóâüä òà çàìóóäûã °°ð÷ë°õ õýðýãòýé áàéæ áîëîõ þì): kerberos5_server_enable="YES" kadmind5_server_enable="YES"
Äàðàà íü áèä òàíû Kerberos òîõèðãîîíû àéë /etc/krb5.conf-ã òîõèðóóëíà: [libdefaults] default_realm = EXAMPLE.ORG [realms] EXAMPLE.ORG = { kdc = kerberos.example.org admin_server = kerberos.example.org } [domain_realm] .example.org = EXAMPLE.ORG
Ýíý /etc/krb5.conf àéë íü òàíû KDC íü á³ðýí áàòàëãààæñàí õîñòûí íýð kerberos.example.org-òýé áàéíà ãýæ ³çýæ áàéãààã ñàíààðàé. Õýðýâ òàíû KDC °°ð õîñòûí íýðòýé áîë òà °°ðèéí á³ñèéí àéëäàà CNAME (alias)-èéã íýìýõ õýðýãòýé. Note: Ç°â òîõèðóóëñàí BIND DNS ñåðâåð á³õèé
òîì ñ³ëæýýí³³äýä °ìí°õ æèøýý íü:
[libdefaults] default_realm = EXAMPLE.ORG
áîëæ äàðààõ ì°ð³³äèéã example.org á³ñèéí àéëä íýìæ öýãöýëæ áîëíî:
399
Chapter 14 Àþóëã³é áàéäàë _kerberos._udp _kerberos._tcp _kpasswd._udp _kerberos-adm._tcp _kerberos
IN IN IN IN IN
SRV SRV SRV SRV TXT
01 00 88 kerberos.example.org. 01 00 88 kerberos.example.org. 01 00 464 kerberos.example.org. 01 00 749 kerberos.example.org. EXAMPLE.ORG
Note: Kerberos ³éë÷èëãýýí³³äèéã õýðýãëýã÷äýä õ³ðòýýìæòýé áîëãîõûí
òóëä òà ýñâýë á³ðýí òîõèðóóëñàí àéëòàé ýñâýë õàìãèéí áàãààð òîõèðóóëñàí /etc/krb5.conf àéë áîëîí ç°â òîõèðóóëñàí DNS ñåðâåðòýé áàéõ ¼ñòîé . /etc/krb5.conf
Äàðàà íü áèä Kerberos ìýäýýëëèéí áààç ³³ñãýíý. Ýíý ìýäýýëëèéí áààç íü ìàñòåð íóóö ³ãýýð øèðëýñýí á³õ óäèðäàã÷äûí ò³ëõ³³ð³³äèéã àãóóëäàã. Òà ýíý íóóö ³ãèéã òîãòîîõ øààðäëàãàã³é, ýíý íü àéëä (/var/heimdal/m-key) õàäãàëàãäàõ áîëíî. Ìàñòåð ò³ëõ³³ð ³³ñãýõèéí òóëä kstash òóøààëûã àæèëëóóëæ íóóö ³ãýý îðóóëààðàé. Ìàñòåð ò³ëõ³³ð ³³ñãýãäñýíèé äàðàà òà ìýäýýëëèéí áààçûã kadmin ïðîãðàìûã -l òîõèðóóëãàòàé (“ëîêàë” ãýñýí óòãàòàé) àøèãëàí ýõë³³ëæ áîëíî. Ýíý òîõèðóóëãà íü kadmin-ä ìýäýýëëèéí áààçûí àéëûã kadmind ñ³ëæýýíèé ³éë÷èëãýýãýýð äàìæèëã³éãýýð øóóä °°ð÷ë°õèéã çààäàã. Ýíý íü ìýäýýëëèéí áààç ³³ñýõýýñ °ìí° ò³³í óðóó õàíäàõûã îðîëäîõ àñóóäëûã (ÿã ë °íä°ã, òàõèàíû àëü íü ò³ð³³ëæ ãàðñàí ãýæ ìàðãàäàã òýð àñóóäëûí àäèë) çîõèöóóëäàã. kadmin õ³ëýýõ ì°ðòýé áîëñíûõîî äàðàà òà °°ðèéí õ³ðýýí³³äèéí ýõíèé ìýäýýëëèéí ñàíã init òóøààë àøèãëàí ³³ñãýýðýé. Ýöýñò íü kadmin-û ãîðèìä áàéõäàà °°ðèéí ýõíèé óäèðäàã÷èéã add òóøààë àøèãëàí ³³ñãýýðýé. Îäîîõîíäîî óäèðäàã÷èéí õóâüä àíõäàã÷ òîõèðóóëãóóäûã ñîíãîîðîé, òà òýäãýýðèéã ñ³³ëä íü modify òóøààë àøèãëàí °°ð÷èëæ ÷àäíà. Òà àëü ÷ òóøààë õ³ëýýõ ì°ð°íä ? òóøààë àøèãëàæ áàéãàà áîëîìæèò òîõèðóóëãóóäûã õàðæ áîëîõûã ñàíààðàé. Ìýäýýëëèéí ñàí ³³ñãýëòèéí æèøýý ñåññ äîîð áàéíà: # kstash
Master key: xxxxxxxx Verifying password - Master key: xxxxxxxx # kadmin -l kadmin> init EXAMPLE.ORG
Realm max ticket life [unlimited]: kadmin> add tillman Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: Password: xxxxxxxx Verifying password - Password: xxxxxxxx
Îäîî KDC ³éë÷èëãýýí³³äèéã ýõë³³ëýõ öàã áîëæýý. éë÷èëãýýí³³äèéã ýõë³³ëýõäýý /etc/rc.d/kerberos start áîëîí /etc/rc.d/kadmind start òóøààëóóäûã àæèëëóóëíà. Ýíý ³åä òàíä ÿìàð ÷ kerberos õèéãäñýí äýìîí áàéõã³éã ñàíààðàé, ãýõäýý òà KDC-èéí °°ðèéíõ íü òóøààëûí ì°ð°°ñ ³³ñãýñýí óäèðäàã÷èä (õýðýãëýã÷) çîðèóëñàí òàñàëáàðûã àâ÷ æàãñààí KDC-ã àæèëëàæ áàéãàà ãýäãèéã òà áàòàëæ ÷àäàæ áàéõ ¼ñòîé:
400
Chapter 14 Àþóëã³é áàéäàë % kinit tillman
[email protected] ’s Password: % klist
Credentials cache: FILE:/tmp/krb5cc_500 Principal: [email protected] Issued Aug 27 15:37:58
Expires Aug 28 01:37:58
Principal krbtgt/[email protected]
Òà äóóññàíûõàà äàðàà òàñàëáàðûã áóöààæ áîëíî: % kdestroy
14.8.3
Ñåðâåðèéã Kerberos õèéí Heimdal ³éë÷èëãýýí³³äòýé èäýâõæ³³ëýõ
Ýõëýýä áèäýíä Kerberos-èéí òîõèðãîîíû àéë /etc/krb5.conf-èéí õóóëáàð õýðýã áîëíî. Èíãýõèéí òóëä KDC-ýýñ ò³³íèéã àþóëã³é àðãààð (scp(1) çýðýã ñ³ëæýýíèé õýðýãñë³³ä ýñâýë èçèêýýð óÿí äèñê àøèãëàí) êëèåíò êîìïüþòåð óðóó åðä°° ë õóóëàõ õýðýãòýé. Äàðàà íü òàíä /etc/krb5.keytab àéë õýðýãòýé. Ýíý íü Kerberos õèéãäñýí äýìîíóóä á³õèé ñåðâåð áîëîí àæëûí ñòàíö õî¼ðûí ãîë ÿëãàà þì — ñåðâåð íü keytab àéëòàé áàéõ øààðäëàãàòàé. Ýíý àéë íü °°ðèéã íü ç°âø°°ðä°ã ñåðâåðèéí õîñò ò³ëõ³³ð áîëîí °°ðñäèéíõ°° íýðèéã (identity) øàëãàõ KDC-ã àãóóëäàã. Õýðýâ ò³ëõ³³ð íü íèéòýä ìýäýãäâýë ñåðâåðèéí àþóëã³é áàéäàë ýâäýð÷ áîëîõ ó÷èð ýíý íü ñåðâåð óðóó àþóëã³éí ³³äíýýñ äàìæóóëàãäàõ ¼ñòîé. Ýíý íü øóóä óòãààðàà FTP çýðýã öýâýð òåêñò ñóâãààð äàìæóóëàõ íü ìàø áóðóó ãýñýí ³ã þì. Èõýâ÷ëýí ñåðâåð óðóó keytab àéëûã kadmin òóøààë àøèãëàí äàìæóóëäàã. Ýíý íü òîõèðîìæòîé áàéäàã á°ã°°ä ó÷èð íü òà áàñ õîñòûí óäèðäàã÷èéã (krb5.keytab àéëûí KDC ò°ãñã°ë) kadmin òóøààë àøèãëàí ³³ñãýõ õýðýãòýé áîëäîã. Òà òàñàëáàðûã àëü õýäèéí àâñàí áàéõ ¼ñòîé á°ã°°ä ýíý òàñàëáàð íü kadmind.acl àéëûí kadmin èíòåðýéñèéã àøèãëàæ áîëîõîîð ç°âø°°ð°ãäñ°í áàéõ ¼ñòîéã ñàíààðàé. Heimdal-èéí ìýäýýëëèéí õóóäàñíóóäûí (info heimdal) “Àëñûí óäèðäëàãà” ãýñýí ãàð÷èãòàé õýñãýýñ õàíäàëò õÿíàõ æàãñààëòóóäûã äèçàéí õèéõ òàëààð äýëãýðýíã³éã ³çíý ³³. Õýðýâ òà àëñûí kadmin õàíäàëòûã èäýâõæ³³ëýõèéã õ³ñýõã³é áàéãàà áîë òà KDC óðóó åðä°° ë àþóëã³éãýýð õîëáîãäîæ (ëîêàë êîíñîëîîð, ssh(1) ýñâýë Kerberos telnet(1)) óäèðäëàãûã ëîêàëààð °°ð äýýðýýñýý kadmin -l òóøààë àøèãëàí õèéæ áîëíî. /etc/krb5.conf àéëûã ñóóëãàñíû äàðàà òà Kerberos ñåðâåðýýñ kadmin òóøààëûã àøèãëàæ áîëíî. add --random-key òóøààë íü ñåðâåðèéí õîñò óäèðäàã÷èéã íýìýõ áîëîìæèéã òàíä îëãîõ á°ã°°ä ext òóøààë íü ñåðâåðèéí õîñò óäèðäàã÷èéã °°ðèéí keytab óðóó çàäëàõ áîëîìæèéã òàíä îëãîíî. Æèøýý íü: # kadmin
kadmin> add --random-key host/myserver.example.org Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: kadmin> ext host/myserver.example.org kadmin> exit
401
Chapter 14 Àþóëã³é áàéäàë
òóøààë íü
ãýäãèéã áîãèíîîð èëýðõèéëíý) çàäàëñàí ò³ëõ³³ðèéã àíõäàã÷ààð àéëä õàäãàëäàã. Õýðýâ òàíû õóâüä KDC äýýð kadmind àæèëëàõã³é áàéãàà á°ã°°ä (ìàãàäã³é àþóëã³é áàéäëûí øàëòãààíóóäààñ áîëîîä) òýãýýä kadmin óðóó àëñààñ õàíäàõ áîëîìæã³é áîë òà õîñò óäèðäàã÷èéã (host/myserver.EXAMPLE.ORG) øóóä KDC äýýð íýìæ äàðàà íü äîîð äóðäñàíòàé àäèëààð ò³³íèéã ò³ð çóóðûí àéë óðóó (KDC äýýðõ /etc/krb5.keytab àéëûã äàðæ áè÷èõýýñ ñýðãèéëæ) çàäàëæ áîëíî: ext (“extract” /etc/krb5.keytab
# kadmin
kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org kadmin> exit
Òà äàðàà íü keytab-èéã àþóëã³éãýýð (æèøýý íü scp ýñâýë óÿí äèñê àøèãëàí) ñåðâåð êîìïüþòåð óðóó õóóëæ áîëíî. KDC äýýðõ keytab-èéã äàðæ áè÷èõýýñ ñýðãèéëæ keytab íýðèéã àíõäàã÷ áèøýýð çààæ °ãñ°í ýñýõýý øàëãààðàé. Ýíý ì°÷èä õ³ðýõ ³åä òàíû ñåðâåð KDC-òýé (krb5.conf àéëòàé ó÷ðààñ) õîëáîãäîæ ÷àäàõ á°ã°°ä (krb5.keytab àéëòàé ó÷ðààñ) °°ðèéã°° òàíèóëàí áàòàëæ ÷àäíà. Îäîî òà çàðèì íýã Kerberos ³éë÷èëãýýí³³äèéã èäýâõæ³³ëýõýä áýëýí áîëæýý. Ýíý æèøýýí äýýð áèä telnet ³éë÷èëãýýã /etc/inetd.conf àéëä äîîð äóðäñàíòàé ò°ñòýé ì°ðèéã îðóóëàí èäýâõæ³³ëæ äàðàà íü inetd(8) ³éë÷èëãýýã /etc/rc.d/inetd restart òóøààëûí òóñëàìæòàé äàõèí à÷ààëàõ áîëíî: telnet
stream
tcp
nowait
root
/usr/libexec/telnetd
telnetd -a user
Õàìãèéí ÷óõàë íü -a ò°ð°ë (íýâòðýëò òàíèõàä) õýðýãëýã÷èä òîõèðóóëàãäñàí. Èë³³ äýëãýðýíã³éã telnetd(8) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. 14.8.4
Êëèåíòèéã Kerberos õèéí Heimdal ³éë÷èëãýýòýéãýýð èäýâõæ³³ëýõ
Êëèåíò êîìïüþòåðèéã òîõèðóóëàõ íü ìàø àìàðõàí. Kerberos òîõèðãîî õèéãäñýíèé äàðàà òàíä ç°âõ°í /etc/krb5.conf-ä áàéðëàõ Kerberos òîõèðãîîíû àéë õýðýãòýé. ³íèéã åðä°° ë àþóëã³éãýýð êëèåíò êîìïüþòåð óðóó KDC-ýýñ õóóëíà. Êëèåíòýýñýý kinit, klist, áîëîí kdestroy òóøààëóóäûã ³³ñãýñýí óäèðäàã÷èéíõàà õóâüä òàñàëáàð îëæ àâàõ, ³ç³³ëýõ, áîëîí äàðàà íü óñòãàõàä àøèãëàõûã îðîëäîí êëèåíò êîìïüþòåðàà òåñò õèéãýýðýé. Òà Kerberos ïðîãðàìóóäûã àøèãëàí Kerberos õèéãäñýí ñåðâåð³³ä óðóó õîëáîãäîæ ÷àäàõ ¼ñòîé á°ã°°ä õýðýâ èíãýæ àæèëëàæ áîëîõã³é áàéãàà á°ã°°ä òàñàëáàð îëæ àâàõ íü àñóóäàëòàé áàéãàà áîë ýíý íü êëèåíò ýñâýë KDC-òýé õîëáîîòîé áèø ñåðâåðòýé õîëáîîòîé àñóóäàë þì. telnet çýðýã ïðîãðàìûã òåñò õèéæ áàéõ ³åä òàíû íóóö ³ã öýâýð òåêñòýýð áèøýýð èëãýýãäýæ áàéãààã øàëãàõûí òóëä ïàêåò øèíøëýã÷ (tcpdump(1) çýðýã) àøèãëààä ³çýýðýé. telnet-èéã á³õ °ã°ãäëèéí óðñãàëûã øèðëýäýã (ssh-òýé àäèë) -x òîõèðóóëãàòàé àøèãëàõûã îðîëäîîðîé. Ò°ð°ë á³ðèéí ãîë áèø Kerberos êëèåíò ïðîãðàìóóä íü áàñ àíõäàã÷ààð ñóóäàã. Ýíý íü ³íäñýí Heimdal ñóóëãàöûí “õàìãèéí áàãà” ì°í ÷àíàð þì: telnet íü öîðûí ãàíö Kerberos õèéãäñýí ³éë÷èëãýý þì. Heimdal ïîðò íü çàðèì íýã äóòóó ïðîãðàìóóäûã íýìäýã: ftp, rsh, rcp, rlogin áîëîí áóñàä ö°°í õýäýí íèéòëýã áèø ïðîãðàìóóäûí Kerberos õèéãäñýí õóâèëáàðóóäûã íýìäýã. MIT ïîðò íü áàñ Kerberos êëèåíò ïðîãðàìóóäûí á³ðýí öóãëóóëãûã àãóóëäàã.
402
Chapter 14 Àþóëã³é áàéäàë
14.8.5
Õýðýãëýã÷èéí òîõèðãîîíû àéëóóä: .k5login áîëîí .k5users
Õ³ðýýí äýõ õýðýãëýã÷èéí õóâüä èõýíõäýý °°ðñäèéíõ íü Kerberos óäèðäàã÷èéã ([email protected] çýðýã) ëîêàë õýðýãëýã÷èéí á³ðòãýëä (tillman çýðýã ëîêàë á³ðòãýë) õàðãàëçóóëæ °ãñ°í áàéäàã. telnet çýðýã êëèåíò ïðîãðàìóóä èõýâ÷ëýí õýðýãëýã÷èéí íýð ýñâýë óäèðäàã÷èéã øààðääàãã³é. ýõäýý õààÿà íýã òà õàðãàëçàõ Kerberos óäèðäàã÷ã³é õýí íýãýíä çîðèóëæ ëîêàë õýðýãëýã÷èéí á³ðòãýëä õàíäàõ õàíäàëòûã °ã°õèéã õ³ñýæ áîëîõ þì. Æèøýý íü [email protected] ìàãàäã³é ëîêàë õýðýãëýã÷èéí á³ðòãýë webdevelopers-ä õàíäàõ õàíäàëò õýðýãòýé áàéæ áîëîõ þì. Áóñàä óäèðäàã÷èä áàñ ýíý ëîêàë á³ðòãýëä õàíäàõ õýðýãòýé áàéæ áîëîõ þì. .k5login áîëîí .k5users àéëóóä íü õýðýãëýã÷äèéí ãýðèéí ñàíãóóäàä áàéðëàäàã á°ã°°ä .hosts áîëîí .rhosts àéëóóäûí õ³÷èðõýã õîñëîëûí íýãýí àäèëààð ýíý àñóóäëûã øèéäýí àøèãëàãäàæ áîëîõ þì. Æèøýý íü õýðýâ .k5login íü äàðààõ àãóóëãàòàéãààð: [email protected] [email protected]
ëîêàë õýðýãëýã÷ webdevelopers-èéí ãýð ñàíä áàéðëàæ áàéâàë ýíä æàãñààãäñàí õî¼ð óäèðäàã÷ õî¼óëàà õóâààëöñàí íóóö ³ãèéí øààðäëàãàã³éãýýð òýð á³ðòãýë óðóó õàíäàõ õàíäàëòòàé áîëîõ þì. Ýäãýýð òóøààëóóäûí ãàðûí àâëàãûí õóóäàñíóóäûã óíøèõûã ç°âë°æ áàéíà. ksu ãàðûí àâëàãûí õóóäàñ .k5users àéëûí òóõàé òàéëáàðëàäãèéã òýìäýãëýõ íü ç³éòýé þì.
òîé õîëáîîòîé àðãà, çàëüíóóä áîëîí àëäààã îëæ çàñâàðëàõ
14.8.6 Kerberos•
•
•
•
•
Heimdal ýñâýë MIT Kerberos ïîðòóóä àøèãëàõ ³åä òàíû PATH îð÷íû õóâüñàã÷ êëèåíòèéí ïðîãðàìóóäûí Kerberos õóâèëáàðóóäûã ñèñòåìèéí õóâèëáàðóóäààñ °ìí° æàãñààñàí áàéõûã øààðääàã.
Òàíû õ³ðýýíèé á³õ êîìïüþòåðóóä öàãèéí òîõèðãîîíóóäàà àäèëààð òîõèðóóëñàí óó? Õýðýâ ³ã³é áîë íýâòðýëò òàíèëò àìæèëòã³é áîëæ áîëîõ þì. Section 29.10 íü NTP àøèãëàí öàãèéã õàìãèéí ñ³³ëèéí õýëáýðò àâàà÷èæ àäèë áîëãîæ òîõèðóóëàõ òàëààð òàéëáàðëàäàã. MIT áîëîí Heimdal íü õîîðîíäîî ñàéí àæèëëàäàã. kadmin-ààñ áóñàä òàëààðàà ñàéí àæèëëàäàã, ó÷èð íü ýíý ïðîãðàìûí ïðîòîêîë ñòàíäàðò÷èëàãäààã³é. Òà õýðýâ °°ðèéí õîñòûí íýðèéã °°ð÷èëá°ë áàñ °°ðèéí host/ óäèðäàã÷èéã °°ð÷èëæ °°ðèéí keytab-èéã øèíý÷ëýõ õýðýãòýé. Ýíý íü áàñ Àïà÷èãèéí www/mod_auth_kerb-ä õýðýãëýãääýã www/ óäèðäàã÷ çýðýã òóñãàé keytab îðóóëãóóäàä õàìààòàé þì. Òàíû õ³ðýýíèé á³õ õîñòóóä DNS-ä (ýñâýë õàìãèéí áàãàäàà /etc/hosts-èéí õóâüä) òàíèãäàæ (óðàãø áîëîí ýñðýãýýð òàíèãäàæ) áàéõ ¼ñòîé. CNAME-³³ä àæèëëàõ áîëîâ÷ A áîëîí PTR áè÷ëýã³³ä ç°â á°ã°°ä áàéðàíäàà áàéæ áàéõ ¼ñòîé. Àëäààíû ìýäýãäýë íü òèéì ÷ îéëãîãäîõîîð áàéäàãã³é, æèøýý íü: “Kerberos5 refuses authentication because Read req failed: Key table entry not found áóþó îð÷óóëáàë Óíøèõ Req àìæèëòã³é áîëñîí áîëîõîîð Kerberos5 íü íýâòðýëò òàíèëòààñ òàòãàëçàæ áàéíà”.
•
Òàíû KDC-èéí õóâüä ìàãàäã³é êëèåíò ìàÿãààð õàðüöàæ áàéãàà çàðèì ³éëäëèéí ñèñòåì³³ä setuid root áîëîõûí òóëä ksu òóøààëä ç°âø°°ðë³³äèéã òîõèðóóëäàãã³é. Ýíý íü ksu àæèëëàõã³é ãýñýí ³ã á°ã°°ä àþóëã³é áàéäëûí õóâüä ñàéí áîëîâ÷ çàëõààìààð áàéäàã. Ýíý íü KDC-èéí àëäàà áèø þì.
403
Chapter 14 Àþóëã³é áàéäàë •
MIT Kerberos-òîé áàéõàä õýðýâ òà àíõäàã÷ 10 öàãààñ àðàé óðò àìüäðàõ õóãàöàà á³õèé òàñàëáàðòàé
óäèðäàã÷èéã ç°âø°°ð°õèéã õ³ñâýë kadmin äýýð modify_principal òóøààë àøèãëàí °°ð÷ë°õèéã õ³ññýí óäèðäàã÷ áîëîí krbtgt óäèðäàã÷èéí maxlife-èéã °°ð÷ë°õ øààðäëàãàòàé. Äàðàà íü óäèðäàã÷ -l òîõèðóóëãûã kinit-òàé àøèãëàæ èë³³ óðò àìüäðàõ õóãàöààòàé òàñàëáàðûã àâàõ õ³ñýëò èëãýýæ áîëîõ þì.
•
Note: Õýðýâ òà °°ðèéí KDC äýýð àëäààã îëæ çàñâàðëàõûí òóëä ïàêåò øèíøëýã÷ àæèëëóóëæ äàðàà íü àæëûí ñòàíöààñàà kinit-èéã àæèëëóóëàõàä kinit-èéã àæèëëàñàí äàðóé òàíû TGT èëãýýãäýõèéã — òàíûã á³ð íóóö ³ãýý áè÷èõýýñ °ìí° òà õàðàõ áîëíî! ³íèé òàéëáàð íü Kerberos ñåðâåð ÷°ë°°òýéãýýð TGT-èéã (Ticket Granting Ticket áóþó Òàñàëáàð Áàòàëãààæóóëàõ Òàñàëáàð) ÿìàð ÷ òàíèãäààã³é õ³ñýëòýä äàìæóóëäàã; ãýõäýý TGT á³ð õýðýãëýã÷èéí íóóö ³ãýýñ ãàðñàí ò³ëõ³³ð áîëîí øèðëýãäñýí áàéäàã. Òèéì áîëîõîîð õýðýãëýã÷ °°ðñäèéí íóóö ³ãèéã áè÷èõýä òýð íü KDC óðóó èëãýýãääýãã³é á°ã°°ä õàðèí kinit-èéí àëü õýäèéí îëæ àâñàí TGT-ã áóöààæ øèðëýõýä (decrypt) àøèãëàãääàã. Õýðýâ áóöààæ øèðëýõ ïðîöåññ õ³÷èíòýé õóãàöàà á³õèé õ³÷èíòýé òàñàëáàðûã ãàðãàæ àâáàë õýðýãëýã÷ õ³÷èíòýé Kerberos èòãýìæëýë³³äòýé áàéíà. Ýäãýýð èòãýìæëýë³³ä íü èðýýä³éä Kerberos ñåðâåðòýé àþóëã³é õîëáîëòóóä õèéõýä çîðèóëàãäñàí ñåññèéí ò³ëõ³³ð áîëîí áàñ Kerberos ñåðâåðèéí °°ðèéíõ íü ò³ëõ³³ðýýð øèðëýãäñýí òàñàëáàð-áàòàëãààæóóëàõ òàñàëáàðûã àãóóëäàã. Øèðëýëòèéí õî¼ð äàõü äàâõàðãà íü õýðýãëýã÷èä ìýäýãääýãã³é, ãýõäýý ýíý íü TGT á³ðèéí æèíõýíèéã øàëãàõûã Kerberos ñåðâåðò ç°âø°°ð÷ áàéãàà òýð ç³éë þì.
•
•
•
Õýðýâ òà óðò àìüäðàõ õóãàöààòàé (æèøýý íü äîëîî õîíîã) òàñàëáàð àøèãëàõûã õ³ñýæ áàéãàà á°ã°°ä òà òàñàëáàð õàäãàëàãäàæ áàéãàà ìàøèí óðóó OpenSSH àøèãëàí õîëáîãäîæ áàéãàà áîë Kerberos TicketCleanup òîõèðóóëãà no ãýæ sshd_config òîõèðãîîíû àéëä áàéãàà ýñýõèéã øàëãààðàé, òýãýõã³é áîë òàíû òàñàëáàðóóä òàíûã ãàðàõ ³åä óñòãàãäàõ áîëíî. Õîñòûí óäèðäàã÷èä èë³³ óðò àìüäðàõ õóãàöààòàé òàñàëáàðòàé áàñ áàéæ áîëíî ãýäãèéã ñàíààðàé. Õýðýâ òàíû õýðýãëýã÷èéí óäèðäàã÷ äîëîî õîíîã àìüäðàõ õóãàöààòàé á°ã°°ä ãýõäýý òàíû õîëáîãäîæ áàéãàà õîñò 9 öàã àìüäðàõ õóãàöààòàé áîë òà êýøäýý õóãàöàà íü äóóññàí õîñòûí óäèðäàã÷òàé áîëæ òàñàëáàðûí êýø õ³ññýíýýð àæèëëàõã³é áîëîõ áîëíî. Òóñãàéëñàí ìóó íóóö ³ã³³äèéã àøèãëóóëàõã³éí òóëä (kadmind òóøààëûí ãàðûí àâëàãûí õóóäàñ ³³íèéã òîâ÷õîí òàéëáàðëàäàã) krb5.dict àéëûã òîõèðóóëàõäàà íóóö ³ãèéí áîäëîãî òàâèãäñàí óäèðäàã÷äàä ýíý íü ç°âõ°í õàìààòàéã ñàíàõ õýðýãòýé. krb5.dict àéëóóäûí õýëáýð õÿëáàð áàéäàã: íýã ì°ðò íýã ³ã (string) áàéíà. /usr/share/dict/words ñèìáîëûí õîëáîîñ ³³ñãýõ íü àøèãòàé áàéæ áîëîõ þì.
14.8.7 MIT
ïîðòîîñ ÿëãààòàé òàëóóä
MIT áîëîí Heimdal ñóóëãàöóóäûí ãîë ÿëãàà íü °°ð (ãýõäýý îðëóóëæ áîëîõ) òóøààëóóä áîëîí °°ð ïðîòîêîëóóä àøèãëàäàã kadmin ïðîãðàìòàé õîëáîîòîé þì. Õýðýâ òàíû KDC íü MIT áîë òà Heimdal kadmin ïðîãðàìûã àøèãëàæ °°ðèéí KDC-ã àëñààñ (ýñâýë ýñðýã ÷èãëýëä ýíý çîðèëãîîð) óäèðäàæ ÷àäàõã³é áîëäîã ó÷èð ýíý íü èõ õàìààòàé þì.
Êëèåíò ïðîãðàìóóä íü áàñ øàë °°ð °°ð òóøààëûí ì°ðèéí òîõèðóóëãóóä àâ÷ àäèë ³³ðãèéã ã³éöýòãýæ áîëîõ þì. MIT Kerberos âýá ñàéò (http://web.mit.edu/Kerberos/www/) äýýðõ çààâðóóäûã äàãàõûã ç°âë°æ áàéíà. Çàìûí àñóóäëóóäààñ áîëãîîìæëîîðîé: MIT ïîðò íü àíõäàã÷ààð /usr/local/ óðóó ñóóäàã
404
Chapter 14 Àþóëã³é áàéäàë
á°ã°°ä õýðýâ òàíû PATH îð÷íû õóâüñàã÷ ñèñòåìèéí ñàíãóóäûã ýõëýýä æàãñààäàã áîë “æèðèéí” ñèñòåìèéí ïðîãðàìóóä MIT-èéí îðîíä àæèëëàæ áîëîõûã ñàíààðàé. Note: telnetd áîëîí klogind-ýýð íýâòðýõ íýâòðýëò³³ä íýã ë õà÷èí áàéäàã òýð øàëòãààíûã îéëãîõûã õ³ñâýë FreeBSD-èéí õàíãàäàã MIT security/krb5 ïîðòûí ñóóëãàñàí /usr/local/share/doc/krb5/README.FreeBSD àéëûã óíøèõ õýðýãòýé. Õàìãèéí ÷óõàë íü “êýø àéë äàõü áóðóó ç°âø°°ðë³³ä”èéã ç°â áîëãîõ íü
äàìæóóëàãäñàí èòãýìæë³³äèéí ýçýìøèëòèéã ç°â°°ð ñîëèõ login.krb5 õî¼ðòûí àéëûã íýâòðýëò òàíèëòàä àøèãëàõûã øààðääàã. rc.conf
àéë äàðààõ òîõèðãîîã àãóóëæ çàñâàðëàãäñàí áàéõ áàñ øààðäëàãàòàé:
kerberos5_server="/usr/local/sbin/krb5kdc" kadmind5_server="/usr/local/sbin/kadmind" kerberos5_server_enable="YES" kadmind5_server_enable="YES"
MIT êåðáåðîñä çîðèóëñàí ïðîãðàìóóä /usr/local ñàíä õî¼ðòûí àéëóóäûã ñóóëãàäàã áîëîõîîð èíãýæ õèéãääýã.
14.8.8 Kerberos
äàõü õÿçãààðóóäûã áàãàñãàõ
14.8.8.1 Kerberos íü á³ãäèéã ýñâýë þóã ÷ áèø ãýñýí àðãà þì
ѳëæýýíä èäýâõæ³³ëýãäñýí ³éë÷èëãýý á³ð Kerberos-òýé àæèëëàõààð çàñâàðëàãäñàí (ýñâýë ñ³ëæýýíèé õàëäëàãóóäûí ýñðýã àþóëã³é áàéäëûã õàíãàñàí) áàéõ øààðäëàãàòàé, òýãýõã³é áîë õýðýãëýã÷äèéí èòãýìæëýë³³ä õóëãàéëàãäàæ äàõèí àøèãëàãäàæ áîëîõ þì. ³íèé íýã æèøýý íü á³õ àëñûí á³ðõ³³ë³³äèéã (æèøýý íü rsh áîëîí telnet) Kerberos õèéí èäýâõæ³³ëñýí ì°ðòë°° íóóö ³ã³³äèéã öýâýð òåêñòýýð èëãýýäýã POP3 çàõèäëûí ñåðâåðèéã òýãæ õóâèðãàõã³é áàéõ ÿâäàë þì. 14.8.8.2 Kerberos íü ãàíö õýðýãëýã÷èéí àæëûí ñòàíöóóäàä çîðèóëàãäñàí
Îëîí õýðýãëýã÷èéí îð÷èíä Kerberos íü òèéì ÷ àþóëã³é áèø þì. Ýíý íü òàñàëáàðóóäûã á³õ õýðýãëýã÷èéí õóâüä óíøèãäàæ áîëîõ /tmp ñàíä õàäãàëäàã ó÷ðààñ òýð þì. Õýðýâ õýðýãëýã÷ êîìïüþòåðàà õýä õýäýí áóñàä õ³ì³³ñòýé çýðýã õàðèëöàí õóâààëöàæ áàéâàë (°°ð°° õýëáýë îëîí-õýðýãëýã÷) õýðýãëýã÷èéí òàñàëáàðóóäûã °°ð õýðýãëýã÷ õóëãàéëàõ (õóóëàí àâàõ) áîëîìæòîé þì. ³íèéã -c àéëûí íýðèéí òóøààëûí ì°ðèéí òîõèðóóëãàòàé ýñâýë (èë³³ çîõèìæòîé) KRB5CCNAME îð÷íû õóâüñàã÷òàéãààð äàâàí ãàð÷ áîëîõ þì, ãýõäýý èíãýõ íü èõ õîâîð áàéäàã. Çàð÷ìûí õóâüä òàñàëáàðûã õýðýãëýã÷äèéí ãýð ñàíä õàäãàëæ õÿëáàð àéëûí ç°âø°°ðë³³äèéã àøèãëàõ íü ýíý àñóóäëûã áàãàñãàäàã. 14.8.8.3 KDC íü á³òýëã³éòëèéí ãàíö öýã
Äèçàéíààðàà áîë KDC íü ìàñòåð íóóö ³ãèéí ìýäýýëëèéí áààçààñ òîãòîõ á°ã°°ä ò³³íèé íýãýí àäèë àþóëã³é áàéõ ¼ñòîé. KDC íü ³³í äýýð °°ð ÿìàð ÷ ³éë÷èëãýýí³³ä àæèëëóóëñàí áàéõ ¼ñã³é á°ã°°ä èçèêýýð àþóëã³é áàéäëûã íü õàíãàñàí áàéõ øààðäëàãàòàé. Kerberos íü èæèë ò³ëõ³³ðýýð (“ìàñòåð”
405
Chapter 14 Àþóëã³é áàéäàë
ò³ëõ³³ð) øèðëýãäñýí á³õ íóóö ³ã³³äèéã õàäãàëäàã á°ã°°ä òýð èæèë ò³ëõ³³ð íü ýðãýýä KDC äýýð àéë ìàÿãààð õàäãàëàãääàã ó÷ðààñ àþóë °íä°ðòýé áàéäàã. Òýìäýãëýí õýëýõýä áóëààí ýçëýãäñýí ìàñòåð ò³ëõ³³ð íü õýí íýã íü àéõààð òèéì ÷ ìóó áèø þì. Ò³ëõ³³ð ³ã íü ç°âõ°í Kerberos ìýäýýëëèéí áààçûã øèðëýõýä áîëîí ñàíàìñàðã³é òîî ³³ñãýã÷èéí ³ð áîëîí õýðýãëýãääýã. Òàíû KDC óðóó õàíäàõàä àþóëã³é ë áàéæ áàéâàë õàëäàã÷ ìàñòåð ò³ëõ³³ðýýð èõ þì õèéæ ÷àäàõã³é. Ì°í íýìæ õýëýõýä õýðýâ KDC íü áîëîìæã³é áàéâàë (ìàãàäã³é ³éë÷èëãýý çîãñîîõ õàëäëàãà ýñâýë ñ³ëæýýíèé àñóóäëóóäààñ áîëîîä) ñ³ëæýýíèé ³éë÷èëãýýí³³ä íü íýâòðýëò òàíèëòûã õèéæ áîëîõã³é áîëîõîîð õýðýãëýãäýõ áîëîìæã³é áîëîõ á°ã°°ä íýã ¼ñíû ³éë÷èëãýý çîãñîîõ õàëäëàãûí ðåöåïò áîëîõ þì. ³íèéã îëîí KDC-òýé (íýã ìàñòåð áîëîí íýã áóþó õýä õýäýí áîîëóóä) áîëîí õî¼ðäîã÷ ýñâýë íýìýëò, ýöñèéí íýâòðýëò òàíèõ (PAM íü ýíýíä ìàø ñàéí) áîëãîîìæòîé øèéäëèéí òóñëàìæòàéãààð äàâàí ãàð÷ áîëîõ þì. 14.8.8.4 Kerberos-èéí äóòàãäëóóä
Kerberos íü õýðýãëýã÷èä, õîñòóóä áîëîí ³éë÷èëãýýí³³äýä °°ð õîîðîíäîî áèå áèåíýý òàíèóëàõ áîëîìæèéã îëãîäîã. ýõäýý ýíý íü KDC-ã õýðýãëýã÷èä, õîñòóóä ýñâýë ³éë÷èëãýýí³³äýä òàíèóëàõ àðãàã³é þì. Ýíý íü òðîÿí õèéãäñýí kinit (æèøýý íü) òóøààë á³õ õýðýãëýã÷èéí íýðñ áîëîí íóóö ³ã³³äèéã á³ðòãýí áè÷èæ àâ÷ áîëíî ãýñýí ³ã þì. security/tripwire ÷ þì óó ýñâýë °°ð áóñàä àéëûí ñèñòåìèéí á³ðýí á³òýí áàéäëûã øàëãàõ õýðýãñë³³ä ³³íèéã àðèëãàæ ÷àäíà.
14.8.9 • •
Ýõ ñóðâàëæóóä áîëîí íýìýëò ìýäýýëë³³ä
Kerberos-èéí FAQ (http://www.faqs.org/faqs/Kerberos-faq/general/preamble.html)
Òàíèí øàëãàõ ñèñòåìèéã äèçàéí õèéõ íü: Ä°ðâ°í ³çýãäýë äýõ õàðèëöàí ÿðèà (äèàëîã) (http://web.mit.edu/Kerberos/www/dialogue.html)
•
RFC 1510, Kerberos ѳëæýýíèé Òàíèí Øàëãàõ éë÷èëãýý (V5) (http://www.ietf.org/rfc/rfc1510.txt?number=1510)
•
MIT Kerberos-èéí ãýð õóóäàñ (http://web.mit.edu/Kerberos/www/)
•
Heimdal Kerberos-èéí ãýð õóóäàñ (http://www.pdc.kth.se/heimdal/)
14.9 OpenSSL
Áè÷ñýí Òîì °³äñ. Îëîí õýðýãëýã÷äèéí õàéäàã íýã áîëîìæ íü FreeBSD-ä áàéäàã OpenSSL áàãàæ þì. OpenSSL íü åðäèéí õîëáîîíû äàâõàðãà äýýð øèðëýëò äàìæóóëàõ äàâõàðãûã õàíãàæ °ãä°ã; èíãýñíýýð ò³³íèéã ñ³ëæýýíèé ïðîãðàìóóä áîëîí ³éë÷èëãýýí³³äòýé õîëáîæ °ã°õ áîëîìæèéã îëãîäîã. OpenSSL-èéí çàðèì íýã õýðýãëýýíä çàõèäëûí êëèåíò³³äèéí øèðëýñýí íýâòðýëò, êðåäèò êàðòààð õèéõ ò°ëá°ð³³ä ãýõ ìýò âýá äýýð òóëãóóðëàñàí øèëæ³³ëã³³ä çýðýã îëíûã äóðäàæ áîëíî.
406
Chapter 14 Àþóëã³é áàéäàë www/apache13-ssl áîëîí mail/sylpheed-claws çýðýã îëîí ïîðòóóä íü OpenSSL-òýé á³òýýõ ýìõýòãýëèéí äýìæëýãèéã ñàíàë áîëãîäîã. Note: Èõýíõ òîõèîëäîëä Ïîðòóóäûí Öóãëóóëãà íü make õóâüñàã÷ WITH_OPENSSL_BASE-èéã “yes” ãýæ çààãààã³é òîõèîëäîëä security/openssl ïîðòûã á³òýýõèéã îðîëääîã.
FreeBSD-ä îðñîí OpenSSL-èéí õóâèëáàð íü Secure Sockets Layer v2/v3 (SSLv2/SSLv3) áóþó Àþóëã³é Ñîêåòóóäûí Äàâõàðãûí v2/v3 õóâèëáàðóóä, Transport Layer Security v1 (TLSv1) áóþó Òýýâðèéí Äàâõàðãûí Àþóëã³é áàéäëûí v1 õóâèëáàðûí ñ³ëæýýíèé àþóëã³é áàéäëûí ïðîòîêîëóóäûã äýìæäýã á°ã°°ä åð°íõèé êðèïòîãðà ñàí áîëîí àøèãëàãäàæ áîëîõ þì. Note: OpenSSL íü IDEA àëãîðèòìèéã äýìæäýã áîëîâ÷ Íýãäñýí Óëñûí ïàòåíòóóäààñ áîëîîä àíõäàã÷ààð õààëòòàé áàéäàã. ³íèéã àøèãëàõûí òóëä ëèöåíçèéã øàëãàñàí áàéõ ¼ñòîé á°ã°°ä õýðýâ õÿçãààðëàëòóóäûã õ³ëýýí àâàõ áîëîìæòîé áîë MAKE_IDEA õóâüñàã÷èéã make.conf àéëä çààãæ °ã°õ ¼ñòîé áàéäàã.
OpenSSL-èéí õàìãèéí ò³ãýýìýë õýðýãëýýíèé íýã áîë ïðîãðàì õàíãàìæóóäàä çîðèóëàí àøèãëàõ ñåðòèèêàòóóäûã áýëäýõ ÿâäàë þì. Ýäãýýð ñåðòèèêàòóóä íü êîìïàíè áîëîí õóâü õ³ì³³ñèéí èòãýìæëýë³³äèéã õ³÷èíòýé á°ã°°ä ëóéâðûí áèø ãýäãèéã áàòàëãààæóóëäàã. Õýðýâ àñóóäàëòàé ñåðòèèêàò õýä õýäýí “Certificate Authorities” ýñâýë CA-óóä áóþó Ñåðòèèêàòûí Ýðõ ìýäýëòí³³äýýð øàëãàãäààã³é áîë èõýâ÷ëýí àíõààðóóëãà ³ç³³ëäýã. Ñåðòèèêàòûí Ýðõ ìýäýëòýí íü VeriSign (http://www.verisign.com) çýðýã êîìïàíè áàéäàã á°ã°°ä êîìïàíèóä ýñâýë õóâü õ³ì³³ñèéí èòãýìæëýë³³äèéã õ³÷èí ò°ã°ëä°ð áîëãîõûí òóëä ñåðòèèêàòóóäûã áàòàëãààæóóëæ °ãä°ã. Ýíý ïðîöåññ íü °ðò°ãòýé á°ã°°ä ñåðòèèêàòóóä àøèãëàõàä çààâàë ÷ ³ã³é øààðäëàãà áîëäîãã³é; ãýõäýý ýíý íü ïàðàíîéä áóþó õýò çîâíèñîí õýðýãëýã÷äèéí çàðèìûí ñàíààã òàéâøðóóëæ áîëîõ þì.
14.9.1
Ñåðòèèêàòóóäûã ³³ñãýõ íü
Ñåðòèèêàò ³³ñãýõèéí òóëä äàðààõ òóøààë áàéäàã: # openssl req -new -nodes -out req.pem -keyout cert.pem
Generating a 1024 bit RSA private key ................++++++ .......................................++++++ writing new private key to ’cert.pem’ ----You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ’.’, the field will be left blank. ----Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:PA Locality Name (eg, city) []:Pittsburgh Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company Organizational Unit Name (eg, section) []:Systems Administrator Common Name (eg, YOUR name) []:localhost.example.org
407
Chapter 14 Àþóëã³é áàéäàë Email Address []:[email protected] Please enter the following ’extra’ attributes to be sent with your certificate request A challenge password []:SOME PASSWORD An optional company name []:Another Name
“Common Name” õ³ëýýõ ì°ðèéí äàðààõ õàðèó äîìýéíû íýðèéã õàðóóëæ áàéãààã àíçààðààðàé. Ýíý ì°ð íü øàëãàëò õèéõ çîðèëãîîð ñåðâåðèéí íýðèéã îðóóëàõûã øààðääàã; äîìýéí íýðýýñ áóñäûã áàéðëóóëàõ íü àøèãã³é ñåðòèèêàò ³³ñýõýä õ³ðãýäýã. Áóñàë òîõèðóóëãóóä, æèøýý íü äóóñàõ õóãàöàà, °°ð øèðëýõ àëãîðèòìóóä ãýõ ìýò òîõèðóóëãóóä áàéäàã. Á³ðýí ã³éöýä æàãñààëòûã openssl(1) ãàðûí àâëàãûí õóóäñûã ³çýí àâ÷ áîëíî. Äýýðõ òóøààëûí àæèëëàñàí ñàíä õî¼ð àéë îäîî áàéæ áàéõ ¼ñòîé. Ñåðòèèêàòûí õ³ñýëò req.pem íü òàíû îðóóëñàí èòãýìæëýë³³äèéã õ³÷èí ò°ã°ëä°ð áîëãîæ õ³ñýëòèéã áàòàëãààæóóëàí ñåðòèèêàòûã òàíä áóöààõ ñåðòèèêàòûí ýðõ ìýäýëòýí óðóó èëãýýãäýæ áîëíî. ³ñãýãäñýí õî¼ð äàõü àéë íü cert.pem ãýæ íýðëýãäýí ñåðòèèêàòûí õóâèéí ò³ëõ³³ð áîëîõ á°ã°°ä ÿìàð ÷ áàéñàí ãýñýí õàìãààëàãäñàí áàéõ ¼ñòîé; õýðýâ ýíý íü áóñäûí ãàðò îðîõ þì áîë òàíû (ýñâýë òàíû ñåðâåðèéí) ä³ðä òîãëîí àøèãëàãäàæ áîëîõ þì. CA-ñ ãàðûí ³ñýã øààðääàãã³é òîõèîëäîëä °°ð°° çóðñàí ñåðòèèêàòûã ³³ñãýæ áîëíî. Ýõëýýä RSA ò³ðõ³³ð ³³ñãýõ õýðýãòýé: # openssl dsaparam -rand -genkey -out myRSA.key 1024
Äàðàà íü CA ò³ëõ³³ð ³³ñãý: # openssl gendsa -des3 -out myca.key myRSA.key
Ñåðòèèêàò ³³ñãýõèéí òóëä ýíý ò³ëõ³³ðèéã àøèãëà : # openssl req -new -x509 -days 365 -key myca.key -out new.crt
Ñàíä õî¼ð øèíý àéë ³³ñýõ ¼ñòîé: ñåðòèèêàòûí ýðõ ìýäýëòíèé ãàðûí ³ñãèéí àéë myca.key áîëîí ñåðòèèêàò °°ð°° new.crt áàéíà. Ýäãýýðèéã ç°âõ°í root óíøèõ ýðõòýé /etc ñàíä áàéðëóóëàõ øààðäëàãàòàé. ³íä 0700 ç°âø°°ð°ë áàéæ áîëîõ á°ã°°ä ò³³íèéã chmod õýðýãñýë àøèãëàí òîõèðóóëæ áîëíî. 14.9.2
Ñåðòèèêàòóóäûã àøèãëàõ íü, æèøýý
Òýãýõýýð ýäãýýð àéëóóä íü þó õèéæ ÷àäàõ âý? Ñàéí õýðýãëýý áîëîõ íýã æèøýý íü Sendmail MTA óðóó õèéãäýõ õîëáîëòóóäûã øèðëýõ áàéæ áîëíî. Ýíý íü ëîêàë MTA àøèãëàí çàõèäàë èëãýýõ õýðýãëýã÷äèéí öýâýð òåêñò íýâòðýëòèéí õýðýãëýýã áîëèóëàõ þì. Note: Çàðèì MUA-óóä íü õýðýâ õýðýãëýã÷èä äîòðîî ñåðòèèêàò ñóóëãààã³é áîë òýäýíä àëäààã õàðóóëäàã áîëîõîîð ýíý íü åðò°íö äýýðõ õàìãèéí øèëäýã õýðýãëýý áèø þì. Ñåðòèèêàò ñóóëãàõ òóõàé èë³³ ìýäýýëëèéã ïðîãðàì õàíãàìæòàé öóã èðñýí áàðèìòààñ ³çýõ õýðýãòýé.
Äîòîîä .mc àéë äîòîð äàðààõ ì°ð³³äèéã áàéðëóóëàõ õýðýãòýé:
408
Chapter 14 Àþóëã³é áàéäàë dnl SSL Options define(‘confCACERT_PATH’,‘/etc/certs’)dnl define(‘confCACERT’,‘/etc/certs/new.crt’)dnl define(‘confSERVER_CERT’,‘/etc/certs/new.crt’)dnl define(‘confSERVER_KEY’,‘/etc/certs/myca.key’)dnl define(‘confTLS_SRV_OPTIONS’, ‘V’)dnl
Äýýðõ /etc/certs/ íü ñåðòèèêàò áîëîí ò³ëõ³³ð àéëóóäûã äîòîîääîî õàäãàëàõ ñàí þì. ѳ³ëèéí õýäýí øààðäëàãóóä íü äîòîîä .cf àéëûí äàõèí á³òýýëò þì. ³íèéã /etc/mail ñàí äîòðîîñ make install òóøààë áè÷èí õèéæ áîëíî. Èíãýñíèé äàðàà make restart òóøààëûã àæèëëóóëààðàé, ýíý íü Sendmail äýìîíã ýõë³³ëýõ ¼ñòîé. Õýðýâ á³ãä ç³ãýýð áîëæ °íã°ðâ°ë /var/log/maillog àéëä ÿìàð ÷ àëäàà áè÷èãäýõã³é á°ã°°ä Sendmail ïðîöåññèéí æàãñààëòàä õàðóóëàãäàíà. Õÿëáàð òåñò õèéõèéí òóëä telnet(1) õýðýãñýë àøèãëàí çàõèäëûí ñåðâåðò õîëáîãäîõ õýðýãòýé: # telnet example.com 25
Trying 192.0.34.166... Connected to example.com. Escape character is ’^]’. 220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) ehlo example.com
250-example.com Hello example.com [192.0.34.166], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-STARTTLS 250-DELIVERBY 250 HELP quit
221 2.0.0 example.com closing connection Connection closed by foreign host.
Õýðýâ “STARTTLS” ì°ð ãàð÷ èðâýë á³ãä ç°â àæèëëàæ áàéíà. 14.10 IPsec
äýýã³³ð VPN õèéõ
Áè÷ñýí Íèê Êëýéòîí. FreeBSD ãàðö ìàøèíóóäûã àøèãëàí Èíòåðíýòýýð òóñãààðëàãäñàí õî¼ð ñ³ëæýýíèé õîîðîíä VPN ³³ñãýõ.
409
Chapter 14 Àþóëã³é áàéäàë
èéã îéëãîõ íü
14.10.1 IPsec-
Áè÷ñýí Õèòýí Ì. Ïàíäèà. Ýíý õýñýã íü IPsec-èéã òîõèðóóëàõ ïðîöåññèéã òàéëáàðëàõ áîëíî. IPsec-èéã òîõèðóóëàõûí òóëä òà °°ð÷ë°í òîõèðóóëñàí ö°ì á³òýýõ óõàãäàõóóíûã ìýäñýí áàéõ øààðäëàãàòàé (Chapter 8-ã ³çíý ³³). IPsec íü Èíòåðíýò Ïðîòîêîë (IP) äàâõàðãûí äýýð ñóóäàã ïðîòîêîë þì. Ýíý íü õî¼ð áóþó õýä õýäýí õîñòóóäûã àþóëã³é áàéäëààð (íýðýýñ íü õàðàõ þì áîë) õîëáîõ áîëîìæèéã îëãîäîã. FreeBSD IPsec “ñ³ëæýýíèé ñòåê” íü IPv4 áîëîí IPv6 ïðîòîêîëóóäûã õî¼óëàíã äýìæäýã KAME (http://www.kame.net/) øèéäýë äýýð ³íäýñëýñýí. IPsec íü õî¼ð äýä ïðîòîêîëîîñ òîãòîíî: •
Encapsulated Security Payload (ESP) áóþó Õàéðöàãëàãäñàí Àþóëã³é áàéäëûí à÷àà íü ãóðàâäàã÷èéí í°ë°°ëë°°ñ òýãø õýìò êðèïòîãðà àëãîðèòìèéã (Blowfish, 3DES-òýé àäèë) àøèãëàí àãóóëãûã íü øèðëýæ IP ïàêåòèéí °ã°ãäëèéã õàìãààëäàã.
íü àþóëã³é õýø õèéõ óíêöààð IP ïàêåòèéí òîëãîéí òàëáàðóóäûã õýø õèéí êðèïòîãðà õÿíàõ íèéëáýðèéã òîîöîîëîí ãóðàâäàã÷ ýòãýýäèéí í°ë°°ë°ë áîëîí õóóðàí ìýõëýëòýýñ IP ïàêåòèéí òîëãîéã õàìãààëäàã. ³íèé äàðàà ïàêåò äàõü ìýäýýëëèéã òàíèóëàõûã ç°âø°°ð°õ õýøèéã àãóóëñàí íýìýëò òîëãîé áàéäàã. ESP áîëîí AH íü îð÷íîîñîî õàìààðààä õî¼óëàà öóã ýñâýë òóñäàà àøèãëàãäàæ áîëíî. IPsec íü õî¼ð õîñòûí õîîðîíäîõ óðñãàëûã øóóä øèðëýõ (Transport Mode áóþó Òýýâýðëýõ îðèì ãýãääýã) áóþó ýñâýë õî¼ð êîðïîðàöèéí ñ³ëæýýíèé õîîðîíä àþóëã³é õîëáîîíä àøèãëàãäàæ áîëîõ “âèðòóàë òóííåëèóä” (Tunnel Mode áóþó Òóííåëèéí îðèì ãýãääýã) á³òýýõýä õýðýãëýãäýæ áîëîõ þì. ѳ³ëèéíõ íü åð°íõèéä°° Âèðòóàë Õóâèéí ѳëæýý (VPN) ãýãääýã. FreeBSD-èéí IPsec äýä ñèñòåìèéí òàëààð äýëãýðýíã³é ìýäýýëëèéã ipsec(4) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàõ õýðýãòýé. °ðèéí ö°ìä°° IPsec äýìæëýãèéã íýìýõèéí òóëä òà äàðààõ òîõèðóóëãóóäûã ö°ìèéí òîõèðãîîíäîî íýìýýðýé: •
Authentication Header (AH) áóþó Íýâòðýëò Òàíèëòûí Òîëãîé
options device
IPSEC crypto
#IP security
Õýðýâ IPsec äèáàã õèéõ äýìæëýã çààâàë õýðýãòýé áîë äàðààõ ö°ìèéí òîõèðóóëãà áàñ íýìýãäñýí áàéõ øààðäëàãàòàé: options
14.10.2
IPSEC_DEBUG
#debug for IP security
Àñóóäàë
VPN-èéã áàéãóóëàõàä ÿìàð íýã ñòàíäàðò áàéõã³é. VPN-³³ä íü °°ð °°ðèéí äàâóó áîëîí ñóë òàëóóäòàé ò°ð°ë á³ðèéí òåõíîëîãèóäûã àøèãëàí õèéãäýæ áîëíî. Ýíý õýñýã íü íýã òîõèîëäëûí çàãâàð ³ç³³ëýõ á°ã°°ä ýíý òîõèîëäîë äàõü VPN-èéã õèéõýä õýðýãëýãäýõ ñòðàòåãèóäûã õàðóóëàõ áîëíî.
410
Chapter 14 Àþóëã³é áàéäàë
Òîõèîëäîë: Õî¼ð ñ³ëæýý, íýã íü ãýðèéí íýã íü àæëûí. Õîþóëàà Èíòåðíýòýä õîëáîãäñîí á°ã°°ä ýíý VPN-ýýð íýã þì øèã àæèëëàõ ñ³ëæýý. 14.10.3
Óãòâàð í°õö°ë äàðààõ ìàÿãèéí áàéíà:
• • • • •
Òà õàìãèéí áàãàäàà õî¼ð ñàéòòàé áàéíà Õî¼ð ñàéò õî¼óëàà IP-ã äîòîîääîî àøèãëàäàã FreeBSD äýýð íü àæèëëàäàã ãàðö êîìïüþòåðààð õî¼ð ñàéò õî¼óëàà Èíòåðíýòýä õîëáîãäñîí. Õî¼ð ñ³ëæýýíèé ãàðö êîìïüþòåð á³ð õàìãèéí áàãààð áîäîõîä íýã íèéòèéí IP õàÿãòàé. Õî¼ð ñ³ëæýýíèé äîòîîä õàÿãóóä íü íèéòèéí ýñâýë õóâèéí IP õàÿãóóä áàéæ áîëîõ þì, ýíý íü õàìààã³é. Òýäãýýð íü äàâõöàõã³é áàéõ ¼ñòîé, °°ð°°ð õýëáýë õîþóëàà 192.168.1.x-ã àøèãëàæ áîëîõã³é þì.
èéã FreeBSD äýýð òîõèðóóëàõ íü
14.10.4 IPsec-
Áè÷ñýí Òîì °³äñ. Ýõëýýä security/ipsec-tools ïîðòûí öóãëóóëãààñ ñóóñàí áàéõ øààðäëàãàòàé. Ýíý ãóðàâäàã÷ òàëûí ïðîãðàì õàíãàìæèéí áàãö íü òîõèðãîîã äýìæèõýä òóñëàõ õýä õýäýí ïðîãðàìóóäûã àãóóëäàã. Äàðààãèéí øààðäëàãà íü ïàêåòóóäûã òóíåëü õèéõ áîëîí õî¼ð ñ³ëæýýã ç°â õîëáîãäîõîä àøèãëàãäàõ õî¼ð gif(4) ïñåâäî ò°õ°°ð°ìæèéã ³³ñãýõ ÿâäàë þì. root õýðýãëýã÷ýýð internal áîëîí external ãýñýí óòãóóäûã æèíõýíý äîòîîä áîëîí ãàäààä ãàðöóóäààð °°ð÷ë°í äàðààõ òóøààëûã àæèëëóóëíà: # ifconfig gif0 create # ifconfig gif0 internal1 internal2 # ifconfig gif0 tunnel external1 external2
Æèøýý íü àæëûí LAN-èé íèéòèéí IP íü 172.16.5.4 á°ã°°ä õóâèéí IP íü 10.246.38.1 áàéíà. ýðèéí LAN-èé íèéòèéí IP íü 192.168.1.12 á°ã°°ä äîòîîä õóâèéí IP íü 10.0.0.5 áàéíà. Ýíý íü òîëãîé ýðãýìýýð ñàíàãäàæ áîëîõ á°ã°°ä ifconfig(8) òóøààëûí äàðààõ æèøýý ³ð ä³íãýýñ õàðíà óó: Gateway 1: gif0: flags=8051 mtu 1280 tunnel inet 172.16.5.4 --> 192.168.1.12 inet6 fe80::2e0:81ff:fe02:5881%gif0 prefixlen 64 scopeid 0x6 inet 10.246.38.1 --> 10.0.0.5 netmask 0xffffff00 Gateway 2: gif0: flags=8051 mtu 1280 tunnel inet 192.168.1.12 --> 172.16.5.4 inet 10.0.0.5 --> 10.246.38.1 netmask 0xffffff00 inet6 fe80::250:bfff:fe3a:c1f%gif0 prefixlen 64 scopeid 0x4
Õèéãäýæ äóóññàíû äàðàà õî¼ð õóâèéí IP-ä ping(8) òóøààë àøèãëàí äàðààõ ³ð ä³íä õàðóóëñàí øèã õ³ðýõ áîëîìæòîé áàéõ ¼ñòîé: 411
Chapter 14 Àþóëã³é áàéäàë priv-net# ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5): 56 data bytes 64 bytes from 10.0.0.5: icmp_seq=0 ttl=64 time=42.786 ms 64 bytes from 10.0.0.5: icmp_seq=1 ttl=64 time=19.255 ms 64 bytes from 10.0.0.5: icmp_seq=2 ttl=64 time=20.440 ms 64 bytes from 10.0.0.5: icmp_seq=3 ttl=64 time=21.036 ms --- 10.0.0.5 ping statistics --4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 19.255/25.879/42.786/9.782 ms corp-net# ping 10.246.38.1 PING 10.246.38.1 (10.246.38.1): 56 data bytes 64 bytes from 10.246.38.1: icmp_seq=0 ttl=64 time=28.106 ms 64 bytes from 10.246.38.1: icmp_seq=1 ttl=64 time=42.917 ms 64 bytes from 10.246.38.1: icmp_seq=2 ttl=64 time=127.525 ms 64 bytes from 10.246.38.1: icmp_seq=3 ttl=64 time=119.896 ms 64 bytes from 10.246.38.1: icmp_seq=4 ttl=64 time=154.524 ms --- 10.246.38.1 ping statistics --5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 28.106/94.594/154.524/49.814 ms
Õ³ñýí õ³ëýýæ áàéñíû äàãóó õî¼ð òàë õîþóëàà õóâèéí òîõèðóóëñàí õàÿãààñàà ICMP ïàêåòóóäûã èëãýýõ áîëîí õ³ëýýí àâàõ áîëîìæòîé áàéíà. Äàðàà íü àëü àëü ñ³ëæýýíýýñ óðñãàëûã ç°â èëãýýäýã áàéõûí òóëä õî¼ð ãàðöàä õîþóëàíä íü ïàêåòóóäûã õýðõýí ÿàæ ÷èãë³³ëýõèéã çààæ °ã°õ ¼ñòîé. Ýíý çîðèëãîä äàðààõ òóøààë õ³ðíý: # corp-net# route add 10.0.0.0 10.0.0.5 255.255.255.0 # corp-net# route add net 10.0.0.0: gateway 10.0.0.5 # priv-net# route add 10.246.38.0 10.246.38.1 255.255.255.0 # priv-net# route add host 10.246.38.0: gateway 10.246.38.1
Ýíý ³å õ³ðýõýä äîòîîä ìàøèíóóä íü àëü àëü ãàðö áîëîí ãàðöûí öààíà áàéãàà ìàøèíóóäààñ õ³ðýõ áîëîìæòîé áàéõ ¼ñòîé. ³íèéã õÿëáàðààð äàðààõ æèøýýíýýñ òîäîðõîéëæ áîëíî: corp-net# ping 10.0.0.8 PING 10.0.0.8 (10.0.0.8): 56 data bytes 64 bytes from 10.0.0.8: icmp_seq=0 ttl=63 time=92.391 ms 64 bytes from 10.0.0.8: icmp_seq=1 ttl=63 time=21.870 ms 64 bytes from 10.0.0.8: icmp_seq=2 ttl=63 time=198.022 ms 64 bytes from 10.0.0.8: icmp_seq=3 ttl=63 time=22.241 ms 64 bytes from 10.0.0.8: icmp_seq=4 ttl=63 time=174.705 ms --- 10.0.0.8 ping statistics --5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 21.870/101.846/198.022/74.001 ms priv-net# ping 10.246.38.107 PING 10.246.38.1 (10.246.38.107): 56 data bytes 64 bytes from 10.246.38.107: icmp_seq=0 ttl=64 time=53.491 ms 64 bytes from 10.246.38.107: icmp_seq=1 ttl=64 time=23.395 ms 64 bytes from 10.246.38.107: icmp_seq=2 ttl=64 time=23.865 ms
412
Chapter 14 Àþóëã³é áàéäàë 64 bytes from 10.246.38.107: icmp_seq=3 ttl=64 time=21.145 ms 64 bytes from 10.246.38.107: icmp_seq=4 ttl=64 time=36.708 ms --- 10.246.38.107 ping statistics --5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 21.145/31.721/53.491/12.179 ms
Òóíåëèóä ³³ñãýæ òîõèðóóëàõ íü õÿëáàð õýñýã þì. Àþóëã³é õîëáîîñûã òîõèðóóëàõ íü èë³³ ã³íçãèé ïðîöåññ þì. Äàðààõ òîõèðãîî íü óðüä÷èëàí õóâààëöñàí (PSK) RSA ò³ëõ³³ð³³äèéã àøèãëàæ áàéíà. IP õàÿãààñ ãàäíà õî¼ð /usr/local/etc/racoon/racoon.conf àéë õîþóëàà àäèë á°ã°°ä äîîðõòîé ò°ñòýé áàéíà. path log
pre_shared_key "/usr/local/etc/racoon/psk.txt"; #location of pre-shared key file debug; #log verbosity setting: set to ’notify’ when testing and debugging is complete
padding # options are not to be changed { maximum_length 20; randomize off; strict_check off; exclusive_tail off; } timer # timing options. { counter interval persend # natt_keepalive phase1 phase2 }
change as needed 5; 20 1; 15 30 15
sec; sec; sec; sec;
listen # address [port] that racoon will listening on { isakmp 172.16.5.4 [500]; isakmp_natt 172.16.5.4 [4500]; } remote {
#
192.168.1.12 [500] exchange_mode main,aggressive; doi ipsec_doi; situation identity_only; my_identifier address 172.16.5.4; peers_identifier address 192.168.1.12; lifetime time 8 hour; passive off; proposal_check obey; nat_traversal off; generate_policy off; proposal { encryption_algorithm
blowfish;
413
Chapter 14 Àþóëã³é áàéäàë hash_algorithm authentication_method lifetime time dh_group
md5; pre_shared_key; 30 sec; 1;
} }
sainfo (address 10.246.38.0/24 any address 10.0.0.0/24 any) # address $network/$netmask $type add { # $network must be the two internal networks you are joining. pfs_group 1; lifetime time 36000 sec; encryption_algorithm blowfish,3des,des; authentication_algorithm hmac_md5,hmac_sha1; compression_algorithm deflate; }
Òîõèðóóëãà á³ðèéã ýíý æèøýýí äýýð æàãñààãäñàíòàé íü òàéëáàðëàõ íü ýíý áàðèìòûí õ³ðýýíýýñ ãàäóóð þì. racoon-èé òîõèðãîîíû ãàðûí àâëàãûí õóóäñàíä õîëáîãäîõ ìýäýýëýë îëîí áèé. FreeBSD áîëîí racoon íü õîñòóóäûí õîîðîíä ñ³ëæýýíèé óðñãàëûã íóóöëàõ áîëîí áóöààæ çàäàëæ ÷àääàã áàéõûí òóëä SPD áîäëîãóóäûã òîõèðóóëñàí áàéõ ¼ñòîé. Ýíý ³éëäëèéã äàðààõ àæëûí ãàðö äýýðõ øèã ýíãèéí á³ðõ³³ëèéí ñêðèïòýýð øèéäýæ áîëíî. Ýíý àéëûã ñèñòåìèéã ýõë³³ëýõ ³åä àøèãëàõ á°ã°°ä /usr/local/etc/racoon/setkey.conf ãýæ õàäãàëàõ ¼ñòîé. flush; spdflush; # To the home network spdadd 10.246.38.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/172.16.5.4-192.168.1.12/use; spdadd 10.0.0.0/24 10.246.38.0/24 any -P in ipsec esp/tunnel/192.168.1.12-172.16.5.4/use;
Èíãýñíèé äàðàà racoon-ã õî¼ð ãàðö äýýð äàðààõ òóøààë àøèãëàí ýõë³³ëíý: # /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf -l /var/log/racoon.log
àðàõ ³ð ä³íä íü äîîðõòîé ò°ñòýé áàéíà:
corp-net# /usr/local/sbin/racoon -F -f /usr/local/etc/racoon/racoon.conf Foreground mode. 2006-01-30 01:35:47: INFO: begin Identity Protection mode. 2006-01-30 01:35:48: INFO: received Vendor ID: KAME/racoon 2006-01-30 01:35:55: INFO: received Vendor ID: KAME/racoon 2006-01-30 01:36:04: INFO: ISAKMP-SA established 172.16.5.4[500]-192.168.1.12[500] spi:623b9b3bd24 2006-01-30 01:36:05: INFO: initiate new phase 2 negotiation: 172.16.5.4[0]192.168.1.12[0] 2006-01-30 01:36:09: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]->172.16.5.4[0] spi=28 2006-01-30 01:36:09: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]->192.168.1.12[0] spi=47 2006-01-30 01:36:13: INFO: respond new phase 2 negotiation: 172.16.5.4[0]192.168.1.12[0] 2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 192.168.1.12[0]->172.16.5.4[0] spi=12 2006-01-30 01:36:18: INFO: IPsec-SA established: ESP/Tunnel 172.16.5.4[0]->192.168.1.12[0] spi=17
Òóíåëü ç°â àæèëëàæ áàéãààã øàëãàõûí òóëä í°ã°° êîíñîë ðóó øèëæèæ ñ³ëæýýíèé óðñãàëûã õàðàõûí òóëä tcpdump(1) àøèãëàí äàðààõ òóøààëûã õýðýãëýíý. em0-èéã ñ³ëæýýíèé èíòåðýéñ êàðòààðàà øààðäëàãàòàé áîë ñîëèîðîé.
414
Chapter 14 Àþóëã³é áàéäàë # tcpdump -i em0 host 172.16.5.4 and dst 192.168.1.12
Äîîðõòîé ò°ñòýé °ã°ãä°ë êîíñîë äýýð ãàðàõ ¼ñòîé. Õýðýâ ³ã³é áîë àñóóäàëòàé ãýñýí ³ã á°ã°°ä áóöààñàí °ã°ãäëèéã äèáàã õèéõ øààðäëàãàòàé.
01:47:32.021683 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq 01:47:33.022442 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq 01:47:34.024218 IP corporatenetwork.com > 192.168.1.12.privatenetwork.com: ESP(spi=0x02acbf9f,seq
Ýíä õ³ðýõýä õî¼ð ñ³ëæýý õ³ðýõ áîëîìæòîé áàéõ á°ã°°ä íýã ñ³ëæýýíèé õýñýã þì øèã õàðàãäàõ áîëíî. Õî¼ð ñ³ëæýý íü àëü àëü íü ãàëò õàíààð õàìãààëàãäñàí áàéæ áîëîõ á°ã°°ä èíãýõ ÷ ¼ñòîé þì. Òýäãýýðèéí õîîðîíä óðñãàëûã ç°âø°°ð°õèéí òóëä ïàêåòóóäûã íààø öààø äàìæóóëàõ ä³ðì³³äèéã íýìýõ øààðäëàãàòàé. ipfw(8) ãàëò õàíûí õóâüä ãàëò õàíûí òîõèðãîîíû àéëäàà äàðààõ ä³ðì³³äèéã íýìýýðýé: ipfw ipfw ipfw ipfw
add add add add
00201 00202 00203 00204
allow allow allow allow
log log log log
esp from any to any ah from any to any ipencap from any to any udp from any 500 to any
Note: ijðìèéí äóãààðóóäûã òóõàéí õîñòûí òîõèðãîîíîîñ
õàìààð÷ °°ð÷ë°õ øààðäëàãàòàé áàéæ áîëîõ þì.
pf(4) ýñâýë ipf(8),-èéí õýðýãëýã÷äèéí õóâüä äàðààõ ä³ðì³³ä ³³íèéã õèéõ áîëíî: pass pass pass pass pass pass pass pass pass pass
in quick proto esp from any to any in quick proto ah from any to any in quick proto ipencap from any to any in quick proto udp from any port = 500 to any port = 500 in quick on gif0 from any to any out quick proto esp from any to any out quick proto ah from any to any out quick proto ipencap from any to any out quick proto udp from any port = 500 to any port = 500 out quick on gif0 from any to any
Ò°ãñã°ëä íü ñèñòåìèéã ýõë³³ëýõ ÿâöàä VPN-èéã ìàøèí äýìæèí àæèëëàæ ýõýëäýã áàéëãàõûí òóëä äàðààõ ì°ð³³äèéã /etc/rc.conf àéëä íýìýõ õýðýãòýé: ipsec_enable="YES" ipsec_program="/usr/local/sbin/setkey" ipsec_file="/usr/local/etc/racoon/setkey.conf" # allows setting up spd policies on boot racoon_enable="yes"
415
Chapter 14 Àþóëã³é áàéäàë
14.11 OpenSSH
Õóâü íýìýð áîëãîí îðóóëñàí Øåðí Ëè. OpenSSH íü àëñûí ìàøèíóóäàä àþóëã³éãýýð õàíäàõ ñ³ëæýýíèé õîëáîëòûí õýðýãñë³³äèéí îëîíëîã þì. rlogin, rsh, rcp, áîëîí telnet-èéã ýíý ïðîãðàìààð øóóä îðëóóëàí àøèãëàæ áîëíî. Ì°í TCP/IP õîëáîëòóóä àþóëã³éãýýð SSH-ýýð òóííåëü õèéãäýæ/äàìæóóëàãäàæ áîëäîã. OpenSSH íü ñýì ÷àãíàëò, õîëáîëò áóëààí àâàëò, áîëîí áóñàä ñ³ëæýýíèé ò³âøíèé õàëäëàãóóäûã ³ð ä³íòýéãýýð óñòãàæ á³õ òðàèêèéã øèðëýäýã. OpenSSH-ã OpenBSD ò°ñ°ë äýìæèæ áàéäàã á°ã°°ä á³õ ñ³³ëèéí ³åèéí àëäààíû çàñâàðóóä áîëîí øèíý÷ëýëò³³ä á³õèé SSH v1.2.12 äýýð òóëãóóðëàñàí áàéäàã. Ýíý ïðîãðàì íü SSH ïðîòîêîë 1 áîëîí 2-òîé õî¼óëàíòàé íü íèéöòýé.
èéã àøèãëàõ äàâóó òàë
14.11.1 OpenSSH-
telnet(1) ýñâýë rlogin(1) àøèãëàæ áàéõ ³åä ñ³ëæýýãýýð èëãýýãäýæ áàéãàà °ã°ãä°ë öýâýð, øèðëýãäýýã³é õýëáýðýýð áàéäàã. ѳëæýýíèé øèíøëýã÷èä êëèåíò áîëîí ñåðâåðèéí õîîðîíä õààíà ÷ áàéñàí ãýñýí òàíû õýðýãëýã÷/íóóö ³ãèéí ìýäýýëýë ýñâýë òàíû ñåññýýð äàìæñàí °ã°ãäëèéã õóëãàéëæ ÷àäíà. OpenSSH íü èéì àñóóäëààñ õàìãààëæ ò°ð°ë á³ðèéí íýâòðýëò òàíèõ áîëîí øèðëýõ àðãóóäûã ñàíàë áîëãîäîã.
ã èäýâõæ³³ëýõ
14.11.2 sshd-
sshd íü ñòàíäàðò FreeBSD ñóóëãàöûí ÿâöàä õàðóóëàãäàõ òîõèðóóëãà þì. sshd èäýâõæñýí ýñýõèéã õàðàõäàà rc.conf àéëààñ äàðààõ ì°ðèéã øàëãààðàé: sshd_enable="YES"
Ýíý íü äàðààãèéí óäàà òàíû ñèñòåì ýõëýõýä OpenSSH-ä çîðèóëñàí sshd(8) äýìîí ïðîãðàìûã äóóäíà. Ì°í /etc/rc.d/sshd rc(8) ñêðèïò àøèãëàí OpenSSH-ã ýõë³³ëýõ áîëîìæòîé áàéäàã: /etc/rc.d/sshd start
14.11.3 SSH
êëèåíò
ssh(1) õýðýãñýë rlogin(1)-òýé àäèë àæèëëàäàã. # ssh [email protected]
Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)? yes Host ’example.com’ added to the list of known hosts. [email protected] ’s password: *******
Íýâòðýëò íü rlogin ýñâýë telnet àøèãëàí ³³ñãýãäñýí ñåññ øèã ³ðãýëæëýõ áîëíî. SSH íü õýðýãëýã÷ õîëáîãäîõîä ñåðâåðèéí æèíõýíý ýñýõèéã øàëãàõûí òóëä ò³ëõ³³ð õýý øàëãàõ ñèñòåìèéã õýðýãëýäýã. Õýðýãëýã÷ ç°âõ°í ýõíèé óäàà õîëáîãäîõîä yes ãýæ îðóóëàõûã øààðäàíà. Äàðàà äàðààãèéí íýâòðýëò îðîëäëîãóóä á³ãä õàäãàëñàí õýý øàëãàõ ò³ëõ³³ðòýé õàðüöóóëàãäàí øàëãàãääàã. Õýðýâ õàäãàëñàí õýý íü äàðàà äàðààãèéí íýâòðýëòèéí îðîëäëîãóóäààñ õ³ëýýí àâñàí õýýíýýñ °°ð áîë SSH êëèåíò íü òàíä
416
Chapter 14 Àþóëã³é áàéäàë
ò³ãø³³ð °ãí°. Õýýí³³ä ~/.ssh/known_hosts àéëä ýñâýë SSH v2-èéí õýýí³³ä ~/.ssh/known_hosts2 àéëä õàäãàëàãäàíà. Àíõäàã÷ààð OpenSSH ñåðâåð³³äèéí ñ³³ëèéí ³åèéí õóâèëáàðóóä ç°âõ°í SSH v2 õîëáîëòóóäûã õ³ëýýí àâäàã. Êëèåíò íü õýðýâ áîëîìæòîé áîë 2-ð õóâèëáàðûã àøèãëàõ á°ã°°ä áîëîìæã³é áîë 1-ð õóâèëáàðûã àøèãëàäàã. -1 ýñâýë -2 òîõèðóóëãóóäûã 1-ð ýñâýë 2-ð õóâèëáàðóóäàä çîðèóëàí äàìæóóëàí êëèåíòýä ç°âõ°í àëü íýãèéã àøèãëàõûã õ³÷èëæ áîëíî. 1-ð õóâèëáàðûí íèéöòýé áàéäàë íü êëèåíòýä õóó÷èí õóâèëáàðóóäòàé íèéöòýé áàéõ çîðèëãîîð äýìæèãäñýí áàéäàã. 14.11.4
Àþóëã³é õóóëáàðëàëò
scp(1) òóøààë rcp(1)-òýé àäèë àæèëëàäàã; ýíý íü àéëûã àëñûí ìàøèíààñ ýñâýë ìàøèí óðóó, ÿëãààòàé íü àþóëã³éãýýð õóóëäàã. #
scp [email protected] :/COPYRIGHT COPYRIGHT
[email protected] ’s password: ******* COPYRIGHT 100% |*****************************| 00:00
4735
#
ìí°õ æèøýýí äýýð ýíý õîñòûí õóâüä õýý íü àëü õýäèéí õàäãàëàãäñàí áîëîõîîð scp(1)-èéã ýíä àøèãëàõ ³åä øàëãàãääàã. scp(1)-ýýð äàìæóóëñàí íýìýëò °ã°ãäë³³ä íü cp(1)-òýé àäèë á°ã°°ä ýõíèé íýìýëò °ã°ãä°ëä àéë ýñâýë àéëóóä, õî¼ð äàõü äýýð î÷èõ àéëûã çààæ °ãä°ã. Ôàéë íü ñ³ëæýýãýýð SSH-ýýð òàòàãääàã áîëîõîîð àéëûí íýã ýñâýë õýä õýäýí íýìýëò °ã°ãäë³³ä user@host:<path_to_remote_file> õýëáýðèéã àâäàã. 14.11.5
Òîõèðãîî
OpenSSH äýìîí áîëîí êëèåíòèéí ñèñòåìèéí äàãóóõ òîõèðãîîíû àéëóóä /etc/ssh ñàíä áàéðëàäàã.
êëèåíòèéí òîõèðóóëãóóäûã òîõèðóóëäàã á°ã°°ä sshd_config íü äýìîíã òîõèðóóëäàã. Ì°í sshd_program (àíõäàã÷ààð /usr/sbin/sshd) áîëîí sshd_flags rc.conf òîõèðóóëãóóä òîõèðãîîíû ò³âøí³³äèéã èë³³òýéãýýð õàíãàäàã. ssh_config
14.11.6 ssh-keygen
Íóóö ³ã³³äèéã àøèãëàõûí îðîíä ssh-keygen(1) íü õýðýãëýã÷èéã øàëãàæ òàíèõàä DSA ýñâýë RSA ò³ëõ³³ð³³äèéã ³³ñãýõýä õýðýãëýãäýæ áîëíî: % ssh-keygen -t dsa
Generating public/private dsa key pair. Enter file in which to save the key (/home/user/.ssh/id_dsa): Created directory ’/home/user/.ssh’. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_dsa. Your public key has been saved in /home/user/.ssh/id_dsa.pub. The key fingerprint is: bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 [email protected]
417
Chapter 14 Àþóëã³é áàéäàë ssh-keygen(1) íü øàëãàæ òàíèõàä õýðýãëýãäýõ íèéòèéí áîëîí õóâèéí ò³ëõ³³ð õîñëîëûã ³³ñãýíý. Õóâèéí ò³ëõ³³ð ~/.ssh/id_dsa ýñâýë ~/.ssh/id_rsa-ä õàäãàëàãäàõ á°ã°°ä õàðèí íèéòèéí ò³ëõ³³ð íü ~/.ssh/id_dsa.pub ýñâýë ~/.ssh/id_rsa.pub-ä DSA áîëîí RSA ò³ëõ³³ðèéí ò°ðë³³äýä çîðèóëàãäàí õàäãàëàãääàã. Òîõèðóóëãà íü àæèëëàõûí òóëä íèéòèéí ò³ëõ³³ð íü àëñûí ìàøèíû ~/.ssh/authorized_keys àéëä DSA áîëîí RSA ò³ëõ³³ð³³äèéí õî¼óëàíãèéíõ íü õóâüä õèéãäýõ ¼ñòîé áàéäàã. ³íòýé àäèëààð íèéòèéí ò³ëõ³³ð³³äèéí RSA õóâèëáàð íü ~/.ssh/authorized_keys àéëä áàñ õèéãäýõ ¼ñòîé. Ýíý íü íóóö ³ã³³äèéí îðîíä SSH ò³ëõ³³ð³³äèéã àøèãëàí àëñûí ìàøèí óðóó õîëáîãäîõûã ç°âø°°ð°õ áîëíî. Õýðýâ íýâòðýõ ³ãí³³ä ssh-keygen(1)-ä àøèãëàãäàæ áàéãàà áîë õóâèéí ò³ëõ³³ðèéã õýðýãëýõèéí òóëä õýðýãëýã÷ýýñ íóóö ³ãèéã íýâòðýõ áîëãîíä àñóóäàã. ssh-agent(1) íü óðò íýâòðýõ ³ãí³³äèéã äàõèí äàõèí îðóóëàõ òýð çîâëîíã ç°°ëë°æ ÷àäàõ á°ã°°ä Section 14.11.7 õýñýãò òàéëáàðëàãäñàí áàéãàà áîëíî. Warning: Ò°ð°ë á³ðèéí òîõèðóóëãóóä
áîëîí àéëóóä íü òàíû ñèñòåì äýýð áàéãàà OpenSSH-èéí õóâèëáàðóóäààñ øàëòãààëàí °°ð °°ð áàéäàã; àñóóäàëòàé ó÷ðàõã³éí òóëä òà ssh-keygen(1) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàõ õýðýãòýé.
14.11.7 ssh-agent
áîëîí ssh-add
ssh-agent(1) áîëîí ssh-add(1) õýðýãñë³³ä íü íýâòðýõ ³ãí³³äèéã äàõèí äàõèí áè÷³³ëýëã³éãýýð SSH ò³ëõ³³ð³³äèéã ñàíàõ îéä äóóäàí àøèãëàæ áîëîõ àðãóóäààð õàíãàäàã.
ssh-agent(1) õýðýãñýë íü ò³³í óðóó äóóäàãäñàí õóâèéí ò³ëõ³³ð(³³ä) àøèãëàí æèíõýíý ýñýõèéã øàëãàõ òàíèëòûã çîõèöóóëíà. ssh-agent(1) íü °°ð ïðîãðàìûã à÷ààëàõàä õýðýãëýãäýõ ¼ñòîé. Õàìãèéí õÿëáàðòàà ýíý íü á³ðõ³³ë ýñâýë èë³³ äýâøèëòòýéãýýð àøèãëàâàë öîíõíû óäèðäàã÷ àæèëëóóëæ áîëîõ þì. ssh-agent(1)-èéã á³ðõ³³ëä àøèãëàõûí òóëä ³³íèéã ýõëýýä á³ðõ³³ëòýé öóã íýìýëò °ã°ãä°ë ìàÿãààð àæèëëóóëàõ øààðäëàãàòàé. Õî¼ðäóãààðò õýí áý ãýäýã ìýäýýëëèéã (identity) ssh-add(1)-ã àæèëëóóëàí íýìýõ õýðýãòýé á°ã°°ä ò³³íä õóâèéí ò³ëõ³³ðèéí íýâòðýõ ³ãí³³äèéã °ã°õ õýðýãòýé. Ýäãýýð àëõìóóä õèéãäñýíèé äàðàà õýðýãëýã÷ õàðãàëçàõ íèéòèéí ò³ëõ³³ð ñóóëãàãäñàí äóðûí õîñò óðóó ssh(1) õèéæ ÷àäàõ áîëíî. Æèøýý íü: % ssh-agent csh % ssh-add
Enter passphrase for /home/user/.ssh/id_dsa: Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) %
X11 äýýð ssh-agent(1) õýðýãëýõèéí òóëä ssh-agent(1)-èéí äóóäëàãà ~/.xinitrc-ä áàéõ øààðäëàãàòàé. Èíãýñíýýð X11-ä à÷ààëàãäñàí á³õ ïðîãðàìóóäàä ssh-agent(1)-èéí ³éë÷èëãýýí³³äèé㠳糳ëýõ áîëíî. Æèøýý ~/.xinitrc àéë èéìýðõ³³ õàðàãäàõ áîëíî: exec ssh-agent startxfce4
Ýíý íü ssh-agent(1)-èéã àæèëëóóëàõ á°ã°°ä òýð íü ýðãýýä X11 ýõëýõ á³ðò XFCE-èéã àæèëëóóëíà. Èíãýæ õèéãäñýíèé äàðàà °°ð÷ë°ëò³³ä íü ³éë÷ëýõèéí òóëä X11 äàõèí ýõýëñíèé õîéíî °°ðèéí SSH ò³ëõ³³ð³³äèéã á³ãäèéã à÷ààëàõûí òóëä åðä°° ë ssh-add(1)-èéã àæèëëóóëààðàé.
418
Chapter 14 Àþóëã³é áàéäàë
14.11.8 SSH
òóííåëü õèéõ
OpenSSH íü øèðëýãäñýí ñåññèéí ³åä °°ð ïðîòîêîëûã õàéðöàãëàõ òóííåëü ³³ñãýõ ÷àäâàðòàé áàéäàã.
Äàðààõ òóøààë telnet-ä çîðèóëæ òóííåëü ³³ñãýõèéã ssh(1)-ä õýëæ °ãí°: % ssh -2 -N -f -L 5023:localhost:23 [email protected] %
ssh
òóøààë äàðààõ òîõèðóóëãóóäòàé õýðýãëýãäýíý:
-2
èéã ïðîòîêîëûí 2-ð õóâèëáàðûã àøèãëàõûã çààæ °ãí°. (õýðýâ òà õóó÷èí SSH ñåðâåð³³äòýé àæèëëàæ áàéãàà áîë ³³íèéã áèòãèé àøèãëààðàé)
ssh-
-N
Òóøààë áàéõã³é ýñâýë ç°âõ°í òóííåëü ãýäãèéã çààíà. Õýðýâ ³³íèéã îðõèâîë ssh åðäèéí ñåññ ýõë³³ëíý. -f ssh-
èéã àðä, äàëä àæèëëóóëàõûã çààíà.
-L
Ëîêàë òóííåëèéã localport:remotehost:remoteport çàãâàðààð çààæ °ãí°. [email protected]
Àëñûí SSH ñåðâåð. SSH òóííåëü íü ñîíñîõ ñîêåòèéã localhost-èéí çààãäñàí ïîðò äýýð ³³ñãýí àæèëëàäàã. Äàðàà íü ëîêàë õîñò/ïîðò äýýð õ³ëýýí àâñàí äóðûí õîëáîëòûã SSH-ýýð äàìæóóëàí çààñàí àëñûí õîñò áîëîí ïîðò óðóó èëãýýäýã. Æèøýýí äýýð localhost äýýðõ 5023 ïîðò íü àëñûí ìàøèíû localhost äýýðõ 23 ïîðò óðóó äàìæóóëàãäàæ áàéíà. 23 íü telnet ó÷èð ýíý íü SSH òóííåëýýð àþóëã³é telnet ñåññ ³³ñãýíý. SMTP, POP3, FTP ãýõ çýðýã ÿìàð ÷ àþóëòàé TCP ïðîòîêîëóóäûí ã³éöýòãýëèéã õÿëáàðøóóëàõàä ³³íèéã àøèãëàæ áîëíî. Example 14-1. SMTP-
ä çîðèóëàí SSH àøèãëàí àþóëã³é òóííåëü ³³ñãýõ
% ssh -2 -N -f -L 5025:localhost:25 [email protected]
[email protected] ’s password: ***** % telnet localhost 5025
Trying 127.0.0.1... Connected to localhost. Escape character is ’^]’. 220 mailserver.example.com ESMTP
³íèéã ssh-keygen(1) áîëîí íýìýëò õýðýãëýã÷èéí á³ðòãýë³³äòýé öóã èë³³ ³ë ³çýãäýõ/ò°â°ãã³é SSH òóííåëü õèéõ îð÷èí ³³ñãýõýä àøèãëàæ áîëíî. Ò³ëõ³³ð³³ä íü íóóö ³ã áè÷èõèéí îðîíä àøèãëàãäàæ áîëîõ á°ã°°ä òóííåëèóä íü òóñäàà õýðýãëýã÷ ìàÿãààð àæèëëàæ ÷àäíà.
419
Chapter 14 Àþóëã³é áàéäàë
14.11.8.1 SSH òóííåëèéí ïðàêòèê æèøýýí³³ä 14.11.8.1.1 POP3 ñåðâåð óðóó àþóëã³é õàíäàõ
Àæèë äýýð ÷èíü ãàäíààñ õîëáîëòóóä õ³ëýýí àâàõ SSH ñåðâåð áàéíà. Áàñ òýð îèñèéí ñ³ëæýýíä POP3 ñåðâåð àæèëëóóëæ áàéãàà çàõèäëûí ñåðâåð áàéíà. Òàíû ãýð áîëîí îèñèéí õîîðîíäûí ñ³ëæýý áîëîí ñ³ëæýýíèé çàì èòãýæ áîëîõîîð ýñâýë èòãýæ áîëîõîîðã³é áàéæ ìàãàäã³é þì. Èéì ó÷ðààñ òà °°ðèéí çàõèäëûã àþóëã³é àðãààð øàëãàõ õýðýãòýé þì. ³íèé øèéäýë íü °°ðèéí îèñèéí SSH ñåðâåð óðóó SSH õîëáîëò ³³ñãýæ çàõèäëûí ñåðâåð óðóó òóííåëü õèéõ ÿâäàë þì. % ssh -2 -N -f -L 2110:mail.example.com:110 [email protected]
[email protected] ’s password: ******
Òóííåëü ýõëýí àæèëëàñíû äàðàà òà °°ðèéí çàõèäëûí êëèåíòèéíõýý POP3 õ³ñýëò³³äèéã localhost-èéí 2110 ïîðò óðóó èëãýýõýýð çààæ °ã÷ áîëíî. Ýíäýõ õîëáîëò òóííåëýýð àþóëã³éãýýð äàìæèí mail.example.com óðóó èëãýýãäýíý. 14.11.8.1.2 Õýö³³ ãàëò õàíûã òîéðîí ãàðàõ
Çàðèì ñ³ëæýýíèé àäìèíèñòðàòîðóóä õýòýðõèé ÷àíãà ãàëò õàíûí ä³ðýì àøèãëàí ç°âõ°í èðæ áàéãàà õîëáîëòóóä ò°äèéã³é ãàð÷ áàéãàà õîëáîëòóóäûã ÷ áàñ ø³³äýã. Òàíä àëñûí ìàøèíóóäàä ç°âõ°í SSH áîëîí âýáýýð àÿëàõ 22 áîëîí 80-ð ïîðòóóäàä õàíäàõ áîëîìæèéã °ãñ°í áàéæ áîëîõ þì. Òà õ°ãæèì öàöäàã Ogg Vorbis ñåðâåð çýðýã °°ð (ìàãàäã³é àæèëäàà õîëáîîã³é) ³éë÷èëãýý óðóó õàíäàõûã ìàãàäã³é õ³ñýæ áîëîõ þì. Õýðýâ ýíý Ogg Vorbis ñåðâåð íü 22 ýñâýë 80-ààñ áóñàä °°ð ïîðò äýýð öàöàæ áàéãàà áîë òà ò³³íä õàíäàæ ÷àäàõã³é þì. ³íèé øèéäýë íü òàíû ñ³ëæýýíèé ãàëò õàíààñ ãàäíàõ ìàøèí óðóó SSH õîëáîëò ³³ñãýæ ³³íèéã Ogg Vorbis ñåðâåð óðóó òóííåëü õèéõýä àøèãëàõ ÿâäàë þì. % ssh -2 -N -f -L 8888:music.example.com:8000 [email protected]
[email protected] ’s password: *******
Òàíû óðñãàë õ³ëýýí àâàõ êëèåíò îäîî localhost-èéí 8888 ïîðò óðóó çààãäàõ á°ã°°ä òýð öààøààãàà ãàëò õàíûã àìæèëòòàéãààð ãýòëýí music.example.com óðóó äàìæóóëàãäàíà.
14.11.9 AllowUsers
õýðýãëýã÷èéí òîõèðóóëãà
ßìàð õýðýãëýã÷èä õààíààñ îðîõûã õÿçãààðëàæ °ã°õ íü ç³éòýé þì. AllowUsers òîõèðóóëãà íü ³³íä õ³ðýõ ñàéí àðãà þì. Æèøýý íü root õýðýãëýã÷èéã ç°âõ°í 192.168.1.32-îîñ îðîõûã ç°âø°°ð°õèéí òóëä äîîð äóðäñàíòàé àäèë òîõèðóóëãûã /etc/ssh/sshd_config àéëä õèéõ íü ç³éòýé þì: AllowUsers [email protected]
õýðýãëýã÷èéã õààíààñ ÷ îðîõûã ç°âø°°ð°õèéí òóëä åðä°° ë õýðýãëýã÷èéí íýðèéã °°ðèéã íü æàãñààæ °ãí°:
admin
420
Chapter 14 Àþóëã³é áàéäàë AllowUsers admin
Îëîí õýðýãëýã÷èä íýã ì°ð°íä æàãñààãäàõ øààðäëàãàòàé: AllowUsers [email protected] admin Note: Òà ýíý ìàøèí óðóó íýâòðýõ õýðýãöýýòýé òýäãýýð íü îðæ ÷àäàõã³é áîëíî.
õýðýãëýã÷ á³ðèéã æàãñààæ °ã°õ íü ÷óõàë þì, òýãýõã³é áîë
ä °°ð÷ë°ëò³³ä õèéñíèéõýý äàðàà sshd(8)-ä °°ðèéí òîõèðãîîíû àéëóóäûã äàõèí äóóäàõûã äàðààõ òóøààëûã àæèëëóóëæ òà õýëæ °ã°õ ¼ñòîé:
/etc/ssh/sshd_config-
# /etc/rc.d/sshd reload
14.11.10
Íýìýëò óíøèõ ìàòåðèàëóóä
OpenSSH (http://www.openssh.com/) ssh(1) scp(1) ssh-keygen(1) ssh-agent(1) ssh-add(1) ssh_config(5) sshd(8) sftp-server(8) sshd_config(5)
14.12
Ôàéëûí ñèñòåìèéí õàíäàëò õÿíàõ æàãñààëòóóä
Õàâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Õîðìûí õóâèëáàðóóä çýðýã àéëûí ñèñòåìèéí °ðã°æ³³ëýëò³³äèéí õàìòààð FreeBSD 5.0 áîëîí ñ³³ëèéí õóâèëáàðóóä Ôàéëûí ñèñòåìèéí õàíäàëò õÿíàõ æàãñààëòóóäûí (ACL-óóä) àþóëã³é áàéäëûã ñàíàë áîëãîäîã. Õàíäàëò Õÿíàõ Æàãñààëòóóä íü ñòàíäàðò UNIX ç°âø°°ðëèéí çàãâàðûã ìàø íèéöòýé (POSIX.1e) àðãààð °ðã°òã°ä°ã. Ýíý áîëîìæ íü àäìèíèñòðàòîðò èë³³ ò°â°ãòýé àþóëã³é áàéäëûí çàãâàð áîëîí ò³³íèé äàâóó òàëûã àøèãëàõûã ç°âø°°ðä°ã. UFS àéëûí ñèñòåì³³äýä ACL äýìæëýãèéã èäýâõæ³³ëýõèéí òóëä äàðààõ: options UFS_ACL
òîõèðóóëãûã ö°ìä ýìõýòãýõ øààðäëàãàòàé. Õýðýâ ýíý òîõèðóóëãà ýìõýòãýãäýýã³é áîë ACL-óóä äýìæèõ àéëûí ñèñòåìèéã õîëáîõûã îðîëäîõîä àíõààðóóëàõ ìýäýãäýë äýëãýöýä ãàðäàã. Ýíý òîõèðóóëãà GENERIC ö°ìä îðñîí áàéäàã. ACL-óóä íü àéëûí ñèñòåì äýýð °ðã°òã°ñ°í øèíæ ÷àíàðóóäûã èäýâõæ³³ëñýí äýýð òóëãóóðëàäàã. ðã°òã°ñ°í øèíæ ÷àíàðóóä íü äàðàà ³åèéí UNIX àéëûí ñèñòåì UFS2-ä ò°ð°ëõèéí äýìæèãäñýí áàéäàã. Note: UFS1 äýýð °ðã°òã°ñ°í øèíæ ÷àíàðóóäûã òîõèðóóëàõàä UFS2 äýýð òîõèðóóëàõòàé õàðüöóóëáàë èë³³ óäèðäëàãûí çàðäàë øààðäëàãàòàé áàéäàã. UFS2 äýýðõ °ðã°òã°ñ°í øèíæ ÷àíàðóóäûí àæèëëàãàà íü áàñ áîäèòîéãîîð èë³³ áàéäàã. Èéìýýñ UFS2-ã UFS1-èéí îðîíä õàíäàëò õÿíàõ æàãñààëòóóäàä àøèãëàõûã åð°íõèéä°° ç°âë°ä°ã.
421
Chapter 14 Àþóëã³é áàéäàë
ACL-óóä íü /etc/fstab àéëä íýìýãäýæ °ã÷ áîëîõ õîëáîõ ³åèéí óäèðäëàãûí acls òóãààð èäýâõòýé áîëäîã. Ôàéëûí ñèñòåìèéí òîëãîé äàõü ñóïåð áëîêèéí ACL-óóä òóãèéã °°ð÷ë°õèéí òóëä tunefs(8)-èéã àøèãëàí øóðãóó çàìààð õîëáîõ ³åèéí òóãèéã àâòîìàòààð çààæ °ã÷ áîëíî. Åð°íõèéä°° õýä õýäýí øàëòãààíû óëìààñ ñóïåð áëîêèéí òóãèéã àøèãëàõ íü äýýð áàéäàã: •
•
Õîëáõ ³åèéí ACL-óóä òóã äàõèí õîëáîëòîîð °°ð÷ë°ãää°ãã³é (mount(8) -u), ç°âõ°í á³ðýí ã³éöýä umount(8) õèéãäýæ øèíý mount(8) õèéãäñýíèé äàðàà áîëíî. Ýíý íü áàñ àéëûí ñèñòåìèéã àøèãëàæ áàéõ ³åä äàðààëëûã íü °°ð÷èëæ áîëîõã³é ãýñýí ³ã þì. fstab-ä ì°ð áàéõã³é áàéñàí ÷ ãýñýí ýñâýë ò°õ°°ð°ìæ³³äèéí äàðààëàë °°ð÷ë°ãäñ°í ÷ ãýñýí ñóïåð áëîêèéí òóãèéã òîõèðóóëàõ íü àéëûí ñèñòåìèéã ³ðãýëæ ACL-óóäûã èäýâõòýéãýýð õîëáîõîä õ³ðãýäýã. Ýíý íü àéëûí ñèñòåìèéã ACL-óóäûã èäýâõæ³³ëýëã³éãýýð ñàíàìñàðã³éãýýð õîëáîõîîñ õàìãààëäàã á°ã°°ä èíãýæ ñàíàìñàðã³é õîëáîõ íü ACL-óóäûã áóðóóãààð àëáàäàæ òýãñíýýð àþóëã³é áàéäëûí àñóóäëóóäàä õ³ðãýæ áîëîõ þì. Note: Áèä øèíý mount(8) õèéëã³éãýýð òóã èäýâõæ³³ëäãèéã ç°âø°°ð°õ°°ð ACL-óóäûí àæèëëàãààã °°ð÷èëæ áîëîõ þì, ãýõäýý áèä ACL-óóäûã èäýâõæ³³ëýëã³é ñàíàìñàðã³éãýýð õîëáîëò õèéõèéã áîëèóëàõûã õ³ñäýã á°ã°°ä ó÷èð íü õýðýâ òà ACL-óóäûã èäýâõæ³³ëýýä äàðàà íü áîëèóëààä °ðã°òã°ñ°í øèíæ ÷àíàðóóäûã óñòãàëã³éãýýð äàõèí èäýâõæ³³ëáýë òà °°ðò°° íýëýýí õýö³³ àñóóäàë ó÷ðóóëàõ ç³éëèéã õèéõ áîëíî. Åð°íõèéä°° òà àéëûí ñèñòåì äýýð ACL-óóäûã èäýâõæ³³ëñíèé äàðàà àéëûí õàìãààëàëòóóä íü ñèñòåìèéí õýðýãëýã÷äýä çîðèóëàãäñàí àéëóóäòàé íèéöã³é áîëæ áîëîõ ó÷èð òýäãýýðèéã áîëèóëæ áîëîõã³é á°ã°°ä ACL-óóäûã äàõèí èäýâõæ³³ëýõ íü ç°âø°°ðë³³ä íü °°ð÷ë°ãäñ°í áàéæ áîëîõ àéëóóäàä °ìí°õ ACL-óóäûã ìàãàäã³é äàõèí õîëáîæ °°ð òààâàðëàæ áîëøã³é àæèëëàãààíä õ³ðãýæ áîëîõ þì.
ACL-óóä èäýâõæ³³ëñýí àéëûí ñèñòåì³³ä °°ðñäèéí ç°âø°°ðëèéí òîõèðóóëãóóä äýýðýý + (íýìýõ) òýìäýã ³çýõ ³åä õàðóóëäàã. Æèøýý íü: drwx-----drwxrwx---+ drwxrwx---+ drwxrwx---+ drwxr-xr-x
2 2 2 2 2
robert robert robert robert robert
robert robert robert robert robert
512 512 512 512 512
Dec Dec Dec Dec Nov
27 23 22 27 10
11:54 10:57 10:20 11:57 11:54
private directory1 directory2 directory3 public_html
Ýíä áèä directory1, directory2, áîëîí directory3 ñàíãóóä á³ãä ACL-óóä-èéí äàâóó òàëûã àâ÷ áàéãààã õàðæ áàéíà. public_html ñàí òýãýõã³é áàéíà.
óóäûã àøèãëàõ íü
14.12.1 ACL-
Ôàéëûí ñèñòåìèéí ACL-óóäûã getfacl(1) õýðýãñëýýð õàðæ áîëíî. Æèøýý íü test àéë äýýðõ ACL òîõèðóóëãóóäûã õàðàõûí òóëä äàðààõ òóøààëûã àæèëëóóëàõ õýðýãòýé: % getfacl test
#file:test #owner:1001 #group:1001 user::rwgroup::r-other::r--
422
Chapter 14 Àþóëã³é áàéäàë
Ýíý àéëûí ACL òîõèðóóëãóóäûã °°ð÷ë°õèéí òóëä setfacl(1) õýðýãñëèéã àæèëëóóë. Àæèãëààðàé: % setfacl -k test
òóã íü òóõàéí ³åä òîäîðõîéëîãäñîí á³õ ACL-óóäûã àéë ýñâýë àéëûí ñèñòåìýýñ àðèëãàíà. Èë³³ äýýð àðãà áîë ACL-óóäûã àæèëëóóëàõàä øààðäëàãàòàé ³íäñýí òàëáàðóóäûã îðõèäîã -b òóãèéã àøèãëàõ ÿâäàë þì.
-k
% setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
Äýýð äóðäñàí òóøààë äýýð -m òîõèðóóëãà àíõäàã÷ ACL îðóóëãóóäûã °°ð÷ë°õ°ä õýðýãëýãäñýí. ìí°õ òóøààëààð óñòãàãäñàí áîëîõîîð óðüä÷èëàí òîäîðõîéëñîí îðóóëãóóä áàéõã³é ó÷èð ýíý íü àíõäàã÷ òîõèðóóëãóóäûã ñýðãýýæ æàãñààñàí òîõèðóóëãóóäààñ çààæ °ãä°ã. Õýðýâ òà ñèñòåì äýýð áàéõã³é õýðýãëýã÷ ýñâýë á³ëýã íýìýõ áîë “Invalid argument” áóþó Áóðóó íýìýëò °ã°ãä°ë ãýñýí àëäàà stdout óðóó õýâëýãäýíý ãýäãèéã ñàíàæ áàéõ õýðýãòýé.
óðàâäàã÷ òàëûí àþóëã³é áàéäëûí àñóóäëóóäûã ìîíèòîð õèéõ íü 14.13
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. ѳ³ëèéí æèë³³äýä ýìçýã àñóóäëûí ³íýëãýý õýðõýí çîõèöóóëàãäàæ áàéãàà òàë äýýð àþóëã³é áàéäëûí åðò°íö îëîí ñàéæðóóëàëò õèéñýí. Îäîîãèéí áàéãàà á³õ ë ³éëäëèéí ñèñòåì³³ä äýýð ãóðàâäàã÷ òàëûí õýðýãñë³³ä ñóóëãàæ òîõèðóóëäãààñ áîëæ ñèñòåìèéí õàëäëàãûí çàíàëõèéëýë èõýñäýã. Ýìçýã àñóóäëûí ³íýëãýý íü àþóëã³é áàéäëûí ò³ëõ³³ð õ³÷èí ç³éë á°ã°°ä FreeBSD íü ³íäñýí ñèñòåìä çîðèóëàí ç°âë°ã°°í³³äèéã ãàðãàäàã áîëîâ÷ ãóðàâäàã÷ òàëûí õýðýãñë³³ä á³ðèéí õóâüä õèéõ íü FreeBSD ò°ñëèéí áîëîìæîîñ ãàäóóð þì. Ìýäýãäýæ áàéãàà àñóóäëóóäûã àäìèíèñòðàòîðóóäàä àíõààðóóëæ ãóðàâäàã÷ òàëûí ýìçýã àñóóäëóóäûã ç°°ëð³³ëýõ àðãà áàéäàã. FreeBSD-ä íýìýëòýýð Portaudit ãýãääýã õýðýãñýë ç°âõ°í ýíý çîðèëãîîð áàéäàã. ports-mgmt/portaudit ïîðò íü FreeBSD-èéí àþóëã³é áàéäëûí áàã áîëîí ïîðòóóäûí õ°ãæ³³ëýã÷äèéí øèíý÷èëæ àæèëëàãààã íü õàíãàæ áàéäàã ìýäýýëëèéí áààçààñ ìýäýãäýæ áàéãàà àþóëã³é áàéäëûí àñóóäëóóäûã øàëãàäàã. Portaudit-ã àøèãëàæ ýõëýõèéí òóëä Ïîðòóóäûí öóãëóóëãààñ ò³³íèéã ñóóëãàõ õýðýãòýé: # cd /usr/ports/ports-mgmt/portaudit && make install clean
Ñóóëãàõ ïðîöåññèéí ÿâöàä °ä°ð á³ðèéí àþóëã³é áàéäëûã øàëãàõ àæèëëàãààíä Portaudit-í ãàðàëòûã ç°âø°°ð÷ periodic(8)-ä çîðèóëñàí òîõèðãîîíû àéëóóäûã øèíý÷èëäýã. ä°ð òóòìûí àþóëã³é áàéäëûã øàëãàõ àæèëëàãàà root-èéí çàõèäëûí á³ðòãýë óðóó öàõèì çàõèäàë ÿâóóëæ ò³³íèéã óã õýðýãëýã÷ óíøñàí ýñýõèéã áàòàëãààæóóëàõ õýðýãòýé. °ð ÿìàð ÷ èë³³ òîõèðãîî ýíä õýðýãã³é. Ñóóëãàñíû äàðàà àäìèíèñòðàòîð ìýäýýëëèéí áààçûã øèíý÷ëýõ áîëîí ñóóëãàñàí áàãöóóäàä ìýäýãäýæ áàéãàà ýìçýã àñóóäëóóäûã ³çýõäýý äàðààõ òóøààëûã àæèëëóóëíà: # portaudit -Fda
423
Chapter 14 Àþóëã³é áàéäàë Note: Ìýäýýëëèéí áààç periodic(8) àæèëëàõ ³åä àâòîìàòààð øèíý÷ëýãääýã; èéìýýñ äýýðõ òóøààë çààâàë øààðäëàãàã³é þì. Ýíý íü ç°âõ°í äàðààõ æèøýýí³³äýä øààðäëàãàòàé.
Ïîðòóóäûí öóãëóóëãûí õýñýã áîëãîí ñóóëãàãäñàí ãóðàâäàã÷ òàëûí õýðýãñë³³äèéã ÿìàð ÷ ³åä àóäèò õèéõäýý àäìèíèñòðàòîð ç°âõ°í äàðààõ òóøààëûã àæèëëóóëàõ õýðýãòýé: # portaudit -a
Portaudit ýìçýã àñóóäàëòàé áàãöûí õóâüä äîîð äóðäñàíòàé àäèëûã ãàðãàíà: Affected package: cups-base-1.1.22.0_1 Type of problem: cups-base -- HPGL buffer overflow vulnerability. Reference: 1 problem(s) in your installed packages found. You are advised to update or deinstall the affected package(s) immediately.
ç³³ëñýí URL óðóó âýá õ°ò÷èéã ÷èãë³³ëæ àäìèíèñòðàòîð àñóóäàëòàé áàéãàà ýìçýã àñóóäëûí òàëààð äýëãýðýíã³é ìýäýýëëèéã îëæ àâ÷ áîëíî. Èéì ìýäýýëýë íü í°ë°°ë°õ õóâèëáàðóóä áîëîí FreeBSD-èéí ïîðòûí õóâèëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áàéæ áîëîõ °°ð áóñàä âýá ñàéòóóäûã àãóóëæ áîëîõ þì. Òîâ÷õîíäîî Portaudit íü õ³÷èðõýã õýðýãñýë á°ã°°ä Portupgrade ïîðòòîé öóã õýðýãëýõýä ìàø àøèãòàé áàéäàã. 14.14 FreeBSD-
èéí àþóëã³é áàéäëûí ç°âë°ã°°í³³ä
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. éëäâýðëýëèéí ÷àíàðûã õàíãàñàí ³éëäëèéí ñèñòåì³³äèéí íýãýí àäèë FreeBSD “Àþóëã³é áàéäëûí ç°âë°ã°°í³³ä” ãàðãàäàã. Ýäãýýð ç°âë°ã°°í³³ä íü èõýâ÷ëýí àþóëã³é áàéäëûí æàãñààëòóóä óðóó èëãýýãääýã á°ã°°ä ç°âõ°í òîõèðîõ õóâèëáàðóóäàä çàñâàð õèéãäñýíèé äàðàà Errata áóþó àëäààíû õóóäñàíä òýìäýãëýãääýã. Ýíý õýñýãò ç°âë°ã°° ãýæ þó áîëîõ, ò³³íèéã õýðõýí îéëãîõ áîëîí ñèñòåìä çàñâàð õèéõäýý ÿìàð àðãà õýìæýýí³³äèéã àâàõ òàëààð òàéëáàðëàõ áîëíî. 14.14.1
Ç°âë°ã°° ÿìàðõóó õàðàãäàõ âý?
FreeBSD-èéí àþóëã³é áàéäëûí ç°âë°ã°°í³³ä freebsd-security-notifications (http://lists.FreeBSD.org/mailman/listinfo/freebsd-security-notifications) çàõèäëûí æàãñààëòààñ àâñàí äîîðõ ç°âë°ã°°òýé àäèë õàðàãäàõ áîëíî. ============================================================================= FreeBSD-SA-XX:XX.UTIL Security Advisory The FreeBSD Project Topic:
denial of service due to some problem➊
Category:
core➋
424
Chapter 14 Àþóëã³é áàéäàë Module: Announced: Credits: Affects:
sys➌ 2003-09-23➍ Person@EMAIL-ADDRESS➎ All releases of FreeBSD➏ FreeBSD 4-STABLE prior to the correction date Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE) 2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6) 2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15) 2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8) 2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18) 2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21) 2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33) 2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43) 2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)➐ CVE Name: CVE-XXXX-XXXX➑ For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit http://www.FreeBSD.org/security/. I.
Background➒
II.
Problem Description(10)
III. Impact(11)
IV.
Workaround(12)
V.
Solution(13)
VI.
Correction details(14)
VII. References(15)
➊ ➋
Topic áóþó ñýäýâ òàëáàð àñóóäàë þó áîëîõûã ÿã çààñàí áàéäàã. Ýíý íü ³íäñýíäýý òóõàéí ³åèéí àþóëã³é áàéäëûí ç°âë°ã°°íèé òàíèëöóóëãà á°ã°°ä ýìçýã àñóóäàëòàé öóã õýðýãñëèéã òýìäýãëýäýã. The Category áóþó çýðýãëýë òàëáàð íü õàìààð÷ áàéãàà ñèñòåìèéí õýñãèéã õýëäýã á°ã°°ä core, contrib, ýñâýë ports-èéí àëü íýã áàéæ áîëíî. core çýðýãëýë íü ýìçýã àñóóäàë FreeBSD ³éëäëèéí ñèñòåìèéí ãîë õýñýãò í°ë°°ëí° ãýñýí ³ã þì. contrib çýðýãëýë íü ýìçýã àñóóäàë sendmail çýðýã FreeBSD ò°ñ°ëä õóâü íýìýð áîëãîí îðóóëñàí ïðîãðàì õàíãàìæóóäàä í°ë°°ëí° ãýñýí ³ã þì. Ýöýñò íü ports çýðýãëýë íü ýìçýã àñóóäàë ïîðòóóäûí öóãëóóëãàíä îðäîã íýìýëò ïðîãðàì õàíãàìæóóäàä í°ë°°ë°õèéã õàðóóëäàã.
425
Chapter 14 Àþóëã³é áàéäàë
òàëáàð íü á³ðýëäýõ³³í õýñãèéí áàéðëàëûã æèøýý íü sys ãýõ çýðãýýð èëýðõèéëäýã. Ýíý æèøýýí äýýð sys ìîäóëü °ðò°õèéã áèä õàðæ áàéãàà á°ã°°ä èéì ó÷ðààñ ýíý ýìçýã àñóóäàë íü ö°ì äîòîð àøèãëàãäñàí á³ðýëäýõ³³í õýñýãò í°ë°°ë°õ þì. ➍ Announced áóþó çàðëàñàí òàëáàð íü àþóëã³é áàéäëûí ç°âë°ã°° õýâëýãäñýí ýñâýë åðò°íö°ä çàðëàãäñàí îãíîîã çààäàã. Ýíý íü àþóëã³é áàéäëûí áàã àñóóäàë áàéãààã øàëãàæ ³³íèé çàñâàð FreeBSD-èéí ýõ ìîäíû àðõèâò èòãýìæëýí îðóóëñíûã òîãòîîñîí ãýñýí ³ã þì. ➎ Credits áóþó òàëàðõàë òàëáàð íü ýìçýã àñóóäëûã ìýäýæ òàéëàãíàñàí õóâü õ³í áîëîí áàéãóóëëàãûã çààæ òàëàðõäàã. ➏ Affects áóþó í°ë°°ë°õ õóâèëáàðûí òàëáàð íü ýíý ýìçýã àñóóäàë í°ë°°ë°õ FreeBSD-èéí õóâèëáàðóóäûã òàéëáàðëàäàã. Ö°ìèéí õóâüä óã í°ë°°ëñ°í àéëóóä äýýð àæèëëóóëñàí ident òóøààëûí ³ð ä³íã çýðâýñ õàðæ õóâèëáàðûã òîäîðõîéëæ áîëíî. Ïîðòóóäûí õóâüä /var/db/pkg ñàíä ïîðòûí íýðèéí äàðàà õóâèëáàðûí äóãààð áàéäàã. Õýðýâ ñèñòåì íü FreeBSD-èéí CVS àðõèâòàé àäèë õàìãèéí ñ³³ëèéí õýëáýðò îðæ °ä°ð òóòàì äàõèí á³òýýãäýýã³é áîë ýíý íü í°ë°°ë°ëä îðñîí õýâýýð áàéõ ìàãàäëàëòàé þì. ➐ Corrected áóþó çàñâàðëàñàí òàëáàð íü îãíîî, öàã, öàãèéí á³ñ áîëîí çàñâàðëàñàí õóâèëáàðóóäûã çààäàã. ➑ Common Vulnerabilities Database system áóþó Íèéòëýã Ýìçýã àñóóäëóóäûí Ìýäýýëëèéí Áààçûí ñèñòåìýýñ ýìçýã àñóóäëóóäûã õàéõàä õýðýãëýãäýõ ìàãàäëàëûí ìýäýýëýëä í°°öë°ãää°ã. ➒ Background òàëáàð íü í°ë°°ë°ëä ÿã ÿìàð õýðýãñýë îðñîí òàëààð ìýäýýëýë °ãä°ã. Èõýíõäýý ýíý íü FreeBSD-ä ÿàãààä òóõàéí õýðýãñýë áàéäàã, þóíä õýðýãëýãääýã áîëîí õýðýãñýë õýðõýí áèé áîëñîí òàëààð áàéäàã. (10) Problem Description áóþó àñóóäëûí òàéëáàð òàëáàð íü àþóëã³é áàéäëûí öîîðõîéã ã³íçãèé òàéëáàðëàäàã. Ýíý íü ãàæèãòàé êîäûí ìýäýýëýë ýñâýë á³ð õýðýãñëèéã õýðõýí õîðëîíòîéãîîð àøèãëàæ àþóëã³é áàéäëûí öîîðõîé íýýäýã òóõàé ìýäýýëëèéã àãóóëäàã. (11) Impact áóþó ³éë÷ëýë òàëáàð íü àñóóäàë ñèñòåìä ÿìàð ò°ðëèéí ³éë÷ëýë ³ç³³ëäãèéã òàéëáàðëàäàã. Æèøýý íü ýíý íü ³éë÷èëãýýã çîãñîîõ õàëäëàãààñ àâàõóóëààä õýðýãëýã÷äýä °ã÷ áîëîõ íýìýëò ç°âø°°ðë³³ä ýñâýë õàëäàã÷èä ñóïåð õýðýãëýã÷èéí õàíäàëò °ã°õ çýðýã þó ÷ áàéæ áîëíî. (12) Workaround áóþó òîéðîí ãàðàõ òàëáàð íü áîëîìæèò òîéðîí ãàðàõ àðãà çàìûã ñèñòåìèéã øèíý÷èëæ ÷àäàõã³é áàéæ áîëîõ ñèñòåìèéí àäìèíèñòðàòîðóóäàä îëãîäîã. Ýíý íü õóãàöààíû øààðäëàãóóä, ñ³ëæýýíèé áîëîìæ ýñâýë °°ð áóñàä îëîí øàëòãààíààñ áîëäîã áàéæ áîëîõ þì. ßìàð ÷ áàéñàí ãýñýí àþóëã³é áàéäëûã õ°íã°í°°ð àâ÷ ³çýæ áîëîõã³é á°ã°°ä í°ë°°ë°ëä îðñîí ñèñòåì ýñâýë çàñâàð í°õ°°ñ õèéãäýõ àëü ýñâýë àþóëã³é áàéäëûí öîîðõîéã òîéðîí ãàðàõ øèéäýë õèéãäýõ øààðäëàãàòàé. (13) Solution áóþó øèéäýë òàëáàð íü í°ë°°ë°ëä îðñîí ñèñòåìèéã çàñâàðëàõ çààâðóóäûã ñàíàë áîëãîäîã. Ýíý íü ñèñòåìä çàñâàð í°õ°°ñ õèéí àþóëã³é àæèëëóóëàõ àëõàì àëõìààð òåñò õèéãäýæ øàëãàãäñàí àðãà þì. (14) Correction Details áóþó çàñâàðûí íàðèéí ó÷èð òàëáàð íü CVS ñàëáàð ýñâýë õóâèëáàðûí íýðèéí öýã³³äèéã äîîãóóð çóðààñ òýìäýãòýýð °°ð÷èëæ ³ç³³ëäýã. Ì°í ýíý íü ñàëáàð áîëãîí äàõü í°ë°°ë°ëä îðñîí àéëóóäûí õóâèëáàðûí äóãààðûã áàñ õàðóóëäàã. (15) References áóþó ëàâëàãàà òàëáàð íü èõýâ÷ëýí áóñàä ìýäýýëëèéí ýõ³³äèéã °ãä°ã. Ýíý íü âýáèéí URL-óóä, íîìíóóä, çàõèäëûí æàãñààëòóóä áîëîí ìýäýýíèé á³ëã³³äèéã àãóóëæ áîëíî. ➌
Module
426
14.15
Ïðîöåññèéí á³ðòãýë õ°òë°õ
Chapter 14 Àþóëã³é áàéäàë
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Ïðîöåññèéí á³ðòãýë õ°òë°õ àþóëã³é áàéäëûí àðãûã àøèãëàæ àäìèíèñòðàòîðóóä ñèñòåìèéí ýõ ³³ñâýð³³äèéã àøèãëàñàí áàéäàë áîëîí òýäãýýðèéã õýðýãëýã÷äýä õýðõýí õóâààðèëñíûã ìýäýæ áîëîõ á°ã°°ä ýíý íü ñèñòåìèéã ìîíèòîð õèéõ áîëîìæèéã îëãîäîã. Ì°í ýíý àðãà íü õýðýãëýã÷äèéí òóøààëóóäûã òóéëûí áàãààð ì°øãèõ áîëîìæèéã àäìèíèñòðàòîðóóäàä îëãîäîã. Ýíý íü ³íýí õýðýãòýý °°ðèéí ýåðýã áîëîí ñ°ð°ã òàëóóäòàé. Ýåðýã òàëóóäûí íýã íü õàëäëàãûã îðñîí öýã õ³ðòýë íàðèéñãàí îëîõ áîëîìæ þì. Ñ°ð°ã òàë íü ïðîöåññèéí á³ðòãýë õ°òë°ëò°°ð ³³ññýí á³ðòãýë³³ä á°ã°°ä òýäãýýð íü äèñêíèé çàé øààðäàæ áîëîõ þì. Ýíý õýñýã ïðîöåññèéí á³ðòãýë õ°òë°ëòèéí ³íäñ³³äèéã àäìèíèñòðàòîðóóäàä òàíèóëàõ áîëíî. 14.15.1
Ïðîöåññèéí á³ðòãýë õ°òë°ëòèéã èäýâõæ³³ëæ õýðýãëýõ íü
Ïðîöåññèéí á³ðòãýë õ°òë°ëòèéã àøèãëàæ ýõëýõýýñýý °ìí° ³³íèéã èäýâõæ³³ëýõ õýðýãòýé. ³íèéã õèéõèéí òóëä äàðààõ òóøààëóóäûã àæèëëóóë: # touch /var/account/acct # accton /var/account/acct # echo ’accounting_enable="YES"’ >> /etc/rc.conf
Èäýâõòýé áîëãîñíû äàðàà á³ðòãýë õ°òë°ëò CPU ñòàòèñòèêóóä, òóøààëóóä ãýõ ìýòèéã äàãàí ì°øãèæ ýõýëíý. Á³ðòãýëèéí á³õ áè÷ëýã³³ä óíøèæ áîëîõîîðã³é õýëáýðýýð áàéäàã á°ã°°ä òýäãýýðèéã sa(8) õýðýãñýë àøèãëàí ³çýæ áîëäîã. ßìàð íýã òîõèðóóëãàã³éãýýð àæèëëóóëáàë sa òóøààë íü õýðýãëýã÷ áîëãîíû äóóäëàãóóäûí òîî, íèéò çàðöóóëñàí õóãàöààã ìèíóòààð, íèéò CPU áîëîí õýðýãëýã÷èéí õóãàöààã ìèíóòààð, äóíäàæ I/O ³éëäë³³äèéí òîî ãýõ ìýòòýé õîëáîîòîé ìýäýýëëèéã äýëãýöýíä õýâëýí ³ç³³ëäýã. Òóøààëóóäûã àøèãëàñàí òóõàé ìýäýýëëèéã õàðàõûí òóëä lastcomm(1) õýðýãñëèéã àøèãëàõ õýðýãòýé. lastcomm òóøààë íü òóõàéí ttys(5) äýýð õýðýãëýã÷äèéí àæèëëóóëñàí òóøààëóóäû㠳糳ëýõýä õýðýãëýãäýæ áîëíî, æèøýý íü: # lastcomm ls trhodes ttyp1
Äýýðõ òóøààë íü ttyp1 òåðìèíàë äýýð trhodes õýðýãëýã÷èéí ls òóøààë àøèãëàñàí ìýäýãäýæ áàéãàà á³ãäèéã äýëãýöýä õàðóóëàõ áîëíî. °ð îëîí àøèãòàé òîõèðóóëãóóä áàéäàã á°ã°°ä lastcomm(1), acct(5) áîëîí sa(8) ãàðûí àâëàãûí õóóäàñíóóäàä òàéëáàðëàñàí áàéäàã.
Notes 1. FreeBSD äýýð ñòàíäàðò íýâòðýõ íóóö ³ã óðòààðàà 128 òýìäýãò õ³ðòýë áàéæ áîëäîã.
427
Chapter 15 Jails
áóþó Øîðîíãóóä
Õóâü íýìýð áîëãîí îðóóëñàí Ìàòåî èîíäàòî. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 15.1
Åð°íõèé àãóóëãà
Ýíý á³ëýã íü FreeBSD-èéí øîðîíãóóä ãýæ þó áîëîõ, òýäãýýðèéã õýðõýí àøèãëàõ òàëààð òàéëáàðëàõ áîëíî. Øîðîíãóóä áóþó çàðèìäàà chroot îð÷íóóä ûí °ðã°æ³³ëñýí îðëóóëàëò ãýãääýã ýíý áîëîìæ íü ñèñòåìèéí àäìèíèñòðàòîðóóäàä çîðèóëàãäñàí ìàø õ³÷òýé õýðýãñýë áîëîâ÷ òýäãýýðèéí ³íäñýí õýðýãëýý íü èë³³ äýâøèëòýò õýðýãëýã÷äýä áàñ ³ð àøèãòàé áàéäàã. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: Øîðîí ãýæ þó áîëîõ, FreeBSD-èéí ñóóëãàëòóóäàä ÿìàð çîðèëãîîð àøèãëàãäàæ áîëîõ òàëààð. • Øîðîíã õýðõýí á³òýýõ, ýõë³³ëýõ, áîëîí çîãñîîõ òàëààð. • Øîðîíãèéí ãàäíà áîëîí äîòîð òàëààñ õèéãäýæ áîëîõ óäèðäëàãûí ³íäñ³³ä. Øîðîíãèéí òóõàé àøèãòàé ìýäýýëëèéí °°ð áóñàä ýõ³³äèéã äóðäâàë: •
•
•
jail(8) ãàðûí àâëàãûí õóóäàñ. Ýíý íü jail õýðýãñëèéí á³ðýí ã³éöýä àâëàãà þì — jail íü FreeBSD äýýð FreeBSD øîðîíãóóäûã ýõë³³ëýõ, çîãñîîõ, áîëîí õÿíàõàä àøèãëàãäàæ áîëîõ óäèðäëàãûí õýðýãñýë þì.
Çàõèäëûí æàãñààëòóóä áîëîí òýäãýýðèéí àðõèâóóä. FreeBSD åð°íõèé àñóóëòóóä çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions) áîëîí áóñàä çàõèäëûí æàãñààëòóóäûí àðõèâóóä íü FreeBSD æàãñààëòûí ñåðâåð (http://lists.FreeBSD.org/mailman/listinfo) äýýð áàéðëàäàã á°ã°°ä øîðîíãóóäûí òàëààð ìàø áàÿëàã ìàòåðèàëóóäûã àãóóëñàí áàéäàã. Àðõèâóóäààñ õàéõ þì óó ýñâýë freebsd-questions (http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions) çàõèäëûí æàãñààëò óðóó øèíý àñóóëòàà èëãýýõ íü ³ðãýëæ ñîíèðõîëòîé áàéäàã.
15.2
Øîðîíãóóäòàé õîëáîîòîé îéëãîëòóóä
Øîðîíãóóäòàé õîëáîîòîé FreeBSD ñèñòåìèéí õýñã³³ä, òýäãýýðèéí äîòîîä õýñã³³ä áîëîí FreeBSD-èéí áóñàä õýñýãòýé õýðõýí õàðèëöäàã àðãà çàìûã èë³³òýé îéëãîõûã õ°íã°â÷ë°õèéí òóëä ýíý á³ëýãò äàðààõ îéëãîëòóóäûã àøèãëàõ áîëíî: chroot(2) (òóøààë)
Ïðîöåññ áîëîí ò³³íèé á³õ ³ð óäìóóäûí root ñàíã °°ð÷èëä°ã FreeBSD-èéí ñèñòåìèéí äóóäëàãà. chroot(2) (îð÷èí) “chroot”-ä àæèëëàæ áàéãàà ïðîöåññóóäûí îð÷èí. ³íä õàðàãäàæ áàéãàà àéëûí ñèñòåìèéí õýñýã, áàéãàà õýðýãëýã÷ áîëîí á³ëýã, ñ³ëæýýíèé èíòåðýéñ³³ä áîëîí áóñàä IPC àðãà çàìóóä ãýõ ìýò ýõ ³³ñâýð³³ä îðäîã.
428
Chapter 15 Jails áóþó Øîðîíãóóä jail(8) (òóøààë)
Øîðîíãèéí îð÷èí äîòîð ïðîöåññóóäûã àæèëëóóëàõ áîëîìæèéã îëãîõ ñèñòåìèéí óäèðäëàãûí õýðýãñýë. õîñò (ñèñòåì, ïðîöåññ, õýðýãëýã÷, ãýõ ìýò.) Øîðîíãèéí ñèñòåìèéí õÿíàëòûí ñèñòåì. Õîñò ñèñòåì íü áàéãàà á³õ òîíîã ò°õ°°ð°ìæèéí ýõ ³³ñâýð³³äýä õàíäàõ áîëîìæòîé áàéäàã á°ã°°ä øîðîíãèéí îð÷íû áîëîí ò³³íèé ãàäíàõ ïðîöåññóóäûã õÿíàæ ÷àääàã. Õîñò ñèñòåìèéí øîðîíãîîñ ÿëãàðàõ íýã ÷óõàë ÿëãàà íü øîðîí äîòîðõ ñóïåð õýðýãëýã÷èéí ïðîöåññóóäàä õàìààðàõ õÿçãààðëàëòóóä õîñò ñèñòåìèéí ïðîöåññóóäûí õóâüä ³éë÷èëäýãã³é ÿâäàë þì. õîñò õèéãäñýí (ñèñòåì, ïðîöåññ, õýðýãëýã÷, ãýõ ìýò.) FreeBSD øîðîíãîîð ýõ ³³ñâýð³³äýä õàíääàã õàíäàëò íü õÿçãààðëàãääàã ïðîöåññ, õýðýãëýã÷ ýñâýë áóñàä ç³éëñ. 15.3
Òàíèëöóóëãà
Ñèñòåìèéí óäèðäëàãà íü õýö³³, ñàìóóðóóëìààð àæèë áîëîõîîð àäìèíèñòðàòîðûí àìüäðàëûã õÿëáàð áîëãîõ ³³äíýýñ îëîí õ³÷èðõýã õýðýãñë³³ä õèéãäýæ õ°ãæ³³ëýãäñýí áàéäàã. Ýäãýýð õýðýãñë³³ä íü ñèñòåìèéã ñóóëãàõ, òîõèðóóëàõ, áîëîí àð÷ëàõàä íýãýí ò°ðëèéí °ðã°òã°ë³³äèéã èõýâ÷ëýí õàíãàæ °ãä°ã. Àäìèíèñòðàòîðóóäûí õèéõ ¼ñòîé ýäãýýð àæëóóäûí íýã õýñýã íü ñèñòåìèéí àþóëã³é áàéäëûã ç°â òîõèðóóëàõ ÿâäàë þì. Èíãýñíýýð àþóëã³é áàéäëûí ç°ð÷ë³³äã³éãýýð ñèñòåì °°ðèéí æèíõýíý çîðèëãîîðîî ³éë÷ëýõ áîëíî. FreeBSD ñèñòåìèéí àþóëã³é áàéäëûã ñàéæðóóëàõàä àøèãëàãäàæ áîëîõ õýðýãñë³³äèéí íýã íü jails áóþó øîðîíãóóä þì. Øîðîíãóóäûã FreeBSD 4.X äýýð Poul-Henning Kamp àíõ òàíèëöóóëñàí þì. ýõäýý òýäãýýðèéã õ³÷èðõýã, óÿí õàòàí äýä ñèñòåì áîëãîõûí òóëä FreeBSD 5.X äýýð èë³³ èõýýð ñàéæðóóëñàí áèëýý. Òýäãýýðèéí àøèãòàé òàë, àæèëëàãàà áîëîí íàéäâàðòàé áàéäëûã °ðã°æ³³ëýí òýäãýýðèéí õ°ãæ³³ëýëò ³ðãýëæèëñýí õýâýýð áîëîé. 15.3.1
Øîðîí ãýæ þó âý
BSD-òýé ò°ñòýé ³éëäëèéí ñèñòåì³³ä íü 4.2BSD-èéí ³åýñ ýõëýí chroot(2) áîëîìæòîé áîëñîí áèëýý. chroot(8) õýðýãñýë íü ïðîöåññóóäûí îëîíëîãèéí root ñàíã °°ð÷ë°õ°ä àøèãëàãäàæ àþóëã³é îð÷èí ³³ñãýí ñèñòåìèéí áóñàä õýñãýýñ òýäãýýðèéã òóñãààðëàäàã. chroot õèéãäñýí îð÷èíä ³³ñãýãäñýí ïðîöåññóóä íü °°ðèéí îð÷íîîñ ãàäíàõ àéëóóä áîëîí ýõ ³³ñâýð³³äýä õàíäàæ ÷àääàãã³é. Ýíý øàëòãààíààð chroot
õèéãäñýí îð÷èíä àæèëëàæ áàéãàà ³éë÷èëãýýã ýâäýõ íü õàëäàã÷èä á³õýë ñèñòåìèéã ýâäýõ áîëîìæèéã îëãîõ ¼ñã³é þì. chroot(8) õýðýãñýë íü ìàø èõ óÿí õàòàí ÷àíàð ýñâýë ò°â°ãòýé, äýâøèëòýò áîëîìæóóäûã øààðääàãã³é õÿëáàð àæëóóäàä ñàéí áàéäàã. Ì°í chroot îéëãîëòûí ýõëýëýýñ ýõëýýä ë chroot õèéãäñýí îð÷íîîñ çóãòàõ îëîí àðãà çàìóóä îëäñîí á°ã°°ä õýäèéãýýð òýäãýýð íü FreeBSD ö°ìèéí îð÷èí ³åèéí õóâèëáàðóóäàä çàñàãäñàí áîëîâ÷ chroot(2) íü ³éë÷èëãýýí³³äèéã àþóëã³é áîëãîõîä çîðèóëàãäñàí òóéëûí øèéäýë áèø íü òîäîðõîé áàéñàí þì. ³íòýé õîëáîîòîé øèíý äýä ñèñòåì õèéãäýõ øààðäëàãàòàé áîëñîí áàéíà. Ýíý íü øîðîíãóóä ÿàãààä õ°ãæ³³ëýãäñýí ãîë øàëòãààíóóäûí íýã þì. Øîðîíãóóä íü óëàìæëàëò chroot(2) îð÷íû îéëãîëòóóäûã õýä õýäýí àðãààð ñàéæðóóëäàã. Óëàìæëàëò chroot(2) îð÷èíä ïðîöåññóóä íü °°ðèéí õàíäàæ áîëîõ àéëûí ñèñòåìèéí íýã õýñýãò õÿçãààðëàãäàæ
429
Chapter 15 Jails áóþó Øîðîíãóóä
áàéäàã. Ñèñòåìèéí áóñàä ýõ ³³ñâýð³³ä (ñèñòåìèéí õýðýãëýã÷èä, àæèëëàæ áàéãàà ïðîöåññóóä, ýñâýë ñ³ëæýýíèé äýä ñèñòåì çýðýã) íü chroot õèéãäñýí ïðîöåññóóä áîëîí õîñò ñèñòåìèéí ïðîöåññóóäûí õîîðîíä õóâààëöàí õýðýãëýãääýã. Øîðîíãóóä íü ç°âõ°í àéëûí ñèñòåì óðóó õàíäàõ õàíäàëò áèø áàñ õýðýãëýã÷èä, FreeBSD ö°ìèéí ñ³ëæýýíèé äýä ñèñòåì áîëîí áóñàä õýä õýäýí ç³éëñ³³äèéã âèðòóàë÷ëàí ýíý çàãâàðûã °ðã°òã°ä°ã áàéíà. Øîðîí áîëãîñîí îð÷íû õàíäàëòûã òààðóóëàõàä çîðèóëñàí èë³³ á³ðýí ã³éöýä íàðèéí òààðóóëñàí õÿíàëòóóäûí îëîíëîã áàéäàã íü Section 15.5 õýñýãò òàéëáàðëàãäñàí áàéãàà. Øîðîí ä°ðâ°í ýëåìåíòýýð òîäîðõîéëîãääîã: Ñàíãèéí äýä ìîä — øîðîíãèéí îðæ èðäýã ýõëýë öýã. Øîðîí äîòîð îðñíû äàðàà ïðîöåññèéã ýíý äýä ìîäíîîñ ãàäíà çóãòàõûã ç°âø°°ðä°ãã³é. Àíõäàã÷ chroot(2) äèçàéíûã çîâîîñîí àþóëã³é áàéäëûí óëàìæëàëò àñóóäëóóä íü FreeBSD øîðîíãóóäàä áàéäàãã³é. • Õîñòûí íýð — øîðîí äîòîð àøèãëàãäàõ õîñòûí íýð. Øîðîíãóóä íü ñ³ëæýýíèé ³éë÷èëãýýí³³äèéã õîñò õèéõýä (áàéðëóóëàõ) èõýâ÷ëýí àøèãëàãääàã áîëîõîîð øîðîí á³ðèéí õóâüä òîäîðõîéëñîí íýðòýé áàéõ íü ñèñòåìèéí àäìèíèñòðàòîðò èõýýõýí òóñ áîëæ ÷àäàõ þì. • IP õàÿã — ýíý íü øîðîí á³ðò °ã°ãä°õ á°ã°°ä øîðîíãèéí îðøèí òîãòíîõ õóãàöààíä ÿìàð ÷ òàëààðàà °°ð÷ë°ãä°õ ¼ñã³é. Øîðîíãèéí IP õàÿã íü èõýâ÷ëýí áàéãàà ñ³ëæýýíèé èíòåðýéñèéí alias õàÿã áàéõ áîëîâ÷ çààâàë òèéì áàéõ øààðäëàãàã³é þì. • Òóøààë — øîðîí äîòîð àæèëëàõ ïðîãðàì/òóøààëûí çàì. Ýíý íü øîðîíãèéí îð÷íû root ñàíòàé õàðüöàíãóé áàéõ á°ã°°ä øîðîíãèéí òóñãàé î÷íû ò°ðë°°ñ õàìààðààä àñàð °°ð °°ð áàéæ áîëîõ þì. Ýäãýýðýýñ ãàäíà øîðîíãóóä íü °°ðèéí ãýñýí õýðýãëýã÷èä áîëîí °°ðèéí root õýðýãëýã÷òýé áàéæ áîëäîã. Ìýäýýæèéí õýðýã root õýðýãëýã÷èéí õ³÷ ÷àäàë øîðîíãèéí îð÷èí äîòîð õÿçãààðëàãääàã á°ã°°ä õîñò ñèñòåìèéí ³³äíýýñ àâ÷ ³çâýë øîðîíãèéí root õýðýãëýã÷ íü á³õíèéã ÷àäàã÷ õýðýãëýã÷ áèø þì. Ì°í øîðîíãèéí root õýðýãëýã÷èä °°ðèéíõ íü õàðãàëçàõ jail(8) îð÷íîîñ ãàäíà îñîëòîé ³éëäë³³äèéã ñèñòåì äýýð õèéëãýõèéã ç°âø°°ðä°ãã³é. root õýðýãëýã÷èéí áîëîìæóóä áîëîí õÿçãààðëàëòóóäûí òóõàé äýëãýðýíã³é ìýäýýëëèéã Section 15.5 õýñýãò äîîð õýëýëöýõ áîëíî. •
15.4
Øîðîíã ³³ñãýæ õÿíàõ íü
Çàðèì àäìèíèñòðàòîðóóä øîðîíã äàðààõ õî¼ð ò°ð°ëä õóâààäàã: ýäãýýð íü æèíõýíý FreeBSD ñèñòåìòýé àäèë ò°ñòýé “á³ðýí” øîðîíãóóä áîëîí íýã ïðîãðàì þì óó ýñâýë ³éë÷èëãýýíä çîðèóëàãäñàí, ìàãàäã³é ç°âø°°ðë³³äòýé àæèëëàõ “³éë÷èëãýý” øîðîíãóóä þì. Ýíý íü ç°âõ°í óõàãäàõóóíû õóâààãäàë á°ã°°ä øîðîíã á³òýýõ ïðîöåññ ³³íä õàìààã³é þì. jail(8) ãàðûí àâëàãûí õóóäàñ øîðîíã á³òýýõ àðãà÷ëàëûí òàëààð ìàø òîäîðõîé çààâàðëàñàí áóé: # # # # # # #
➊
setenv D /here/is/the/jail mkdir -p $D ➊ cd /usr/src make world DESTDIR=$D ➋ cd etc/ 1 make distribution DESTDIR=$D ➌ mount -t devfs devfs $D/dev ➍
Øîðîíãèéí áàéðëàëûã ñîíãîõ íü õàìãèéí øèëäýã ýõëýõ öýã þì. Ýíý íü øîðîí èçèêýýð °°ðèéí õîñòûí àéëûí ñèñòåì äîòîð áàéðëàõ áàéðëàë þì. Ñàéí ñîíãîëò íü /usr/jail/jailname áàéæ
430
Chapter 15 Jails áóþó Øîðîíãóóä
áîëîõ á°ã°°ä ýíä áàéãàà jailname íü øîðîíã òàíèóëæ áàéãàà õîñòûí íýð þì. /usr/ àéëûí ñèñòåì íü øîðîíãèéí àéëûí ñèñòåìèéí õóâüä èõýâ÷ëýí õàíãàëòòàé çàéòàé áàéäàã. íäñýíäýý “á³ðýí” øîðîíãóóäûí õóâüä ýíý øîðîíãèéí àéëûí ñèñòåì íü ³íäñýí FreeBSD ñèñòåìèéí àíäàã÷ ñóóëãàöàä áàéäàã á³õ àéëóóäûí õóóëáàð áàéäàã. ➋ Ýíý òóøààë íü øîðîíãèéí èçèê áàéðëàë áîëãîí ñîíãîñîí ñàíãèéí äýä ìîäûã àéëûí ñèñòåì äýýð øààðäëàãàòàé õî¼ðòûí àéëóóä, ñàíãóóä, ãàðûí àâëàãûí õóóäàñíóóä ãýõ çýðã³³äèéã òàðààí áàéðëóóëàõ áîëíî. Á³ãä õýâøìýë FreeBSD çàãâàðààð õèéãäýíý — ýõëýýä á³ãä á³òýýãäýíý/ýìõýòãýãäýíý, äàðàà íü õ³ðýõ çàìä ñóóëãàãäàíà. ➌ make òóøààëä çîðèóëàãäñàí distribution òîõèðóóëãà íü á³õ øààðäëàãàòàé òîõèðãîîíû àéëûã ñóóëãàíà, °°ð°°ð õýëáýë ýíý íü /usr/src/etc/ ñàíãèéí á³õ ñóóëãàæ áîëîõ àéëóóäûã øîðîíãèéí îð÷íû /etc ñàí áîëîõ $D/etc/ ðóó õóóëäàã. ➍ Øîðîí äîòîð devfs(8) àéëûí ñèñòåìèéã õîëáîõ øààðäëàãàã³é. Í°ã°° òàëààñ àâ÷ ³çâýë äóðûí, áàðàã á³õ ïðîãðàì °°ðèéí çîðèëãîîñîî õàìààðàí õàìãèéí áàãààð áîäîõîä ÿäàæ ãàíö ò°õ°°ð°ìæèä õàíäàõ øààðäëàãàòàé áàéäàã. Øîðîí äîòðîîñ ò°õ°°ð°ìæèä õàíäàõ õàíäàëòûã õÿíàõ íü ìàø ÷óõàë áàéäàã. Ó÷èð íü áóðóó òîõèðóóëãóóä õàëäàã÷èä øîðîí äîòîð ìóóõàé ç³éëñ õèéõ áîëîìæèéã îëãîæ áîëîõ þì. devfs(8) äýýðõ õÿíàëòûã devfs(8) áîëîí devfs.conf(5) ãàðûí àâëàãûí õóóäàñíóóäàä òàéëáàðëàñàí ä³ðìèéí îëîíëîãóóäààð óäèðääàã. Øîðîí ñóóëãàãäñàíû äàðàà jail(8) õýðýãñýë àøèãëàí ò³³íèéã ýõë³³ëæ áîëíî. jail(8) õýðýãñýë ä°ðâ°í çàéëøã³é øààðäëàãàòàé íýìýëò °ã°ãäëèéã àâäàã á°ã°°ä ýäãýýð íü Section 15.3.1 õýñýãò òàéëáàðëàãäñàí áàéãàà áîëíî. °ð áóñàä íýìýëò °ã°ãäë³³äèéã áàñ çààæ °ã÷ áîëîõ á°ã°°ä °°ð°°ð õýëáýë øîðîí õèéãäñýí ïðîöåññèéã òóõàéí íýã õýðýãëýã÷èéí èòãýìæëýë³³äòýé àæèëëóóëæ áîëîõ þì. command-í íýìýëò °ã°ãä°ë íü øîðîíãèéí ò°ðë°°ñ õàìààðíà; âèðòóàë ñèñòåìèéí õóâüä /etc/rc íü áîëîìæèéí ñîíãîëò áàéíà. Ýíý íü æèíõýíý FreeBSD ñèñòåìèéí ýõë³³ëýõ äàðààëëûã õóóëáàðëàõ ó÷ðààñ òýð þì. éë÷èëãýý øîðîíãèéí õóâüä øîðîí äîòîð àæèëëàõ ³éë÷èëãýý ýñâýë ïðîãðàìààñ ýíý íü õàìààðíà. Øîðîíãóóä íü èõýâ÷ëýí à÷ààëàõ ³åä ýõë³³ëýãääýã á°ã°°ä FreeBSD rc àðãà çàì íü ³³íèéã õèéõ õÿëáàð àðãààð õàíãàäàã. 1.
À÷ààëàõ ³åä ýõëýõýýð èäýâõæ³³ëýãäñýí øîðîíãóóäûí æàãñààëòûã rc.conf(5) àéëä íýìýõ ¼ñòîé: jail_enable="YES" jail_list="www "
2.
# Set to NO to disable starting of any jails # Space separated list of names of jails
Øîðîí á³ðèéã òàéëáàðëàñàí rc.conf(5) òîõèðóóëãóóäûí á³ëýã jail_list-ä æàãñààãäñàí øîðîí á³ðèéí õóâüä äîîð äóðäñàíûã íýìýõ ¼ñòîé: jail_www _rootdir="/usr/jail/www" # jail’s root directory jail_www _hostname="www .example.org" # jail’s hostname jail_www _ip="192.168.0.10" # jail’s IP address jail_www _devfs_enable="YES" # mount devfs in the jail jail_www _devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
rc.conf(5)-ä òîõèðóóëàãäñàí øîðîíãóóäûí àíõäàã÷ ýõë³³ëýëò íü øîðîíã á³ðýí âèðòóàë ñèñòåì ãýæ òîîöäîã øîðîíãèéí /etc/rc ñêðèïòèéã àæèëëóóëàõ áîëíî. éë÷èëãýýíèé øîðîíãóóäûí õóâüä jail_jailname_exec_start òîõèðóóëãûã çîõèñòîéãîîð òîõèðóóëàí øîðîíãèéí àíõäàã÷ ýõë³³ëýõ òóøààëûã °°ð÷ë°õ ¼ñòîé. Note: Òîõèðóóëãóóäûí
á³ðýí æàãñààëòûã rc.conf(5) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
431
Chapter 15 Jails áóþó Øîðîíãóóä
Øîðîíä çîðèóëàãäñàí îðóóëãà rc.conf àéëä áàéãàà òîõèîëäîëä /etc/rc.d/jail ñêðèïò øîðîíã ãàðààð ýõë³³ëýõ ýñâýë çîãñîîõîä àøèãëàãäàæ áîëîõ þì: # /etc/rc.d/jail start www # /etc/rc.d/jail stop www
Îäîîãîîð jail(8)-ã çîãñîîõ öýâýð çàì áàéõã³é áàéãàà. Öýâýð ñèñòåìèéí çîãñîëòûã õèéõ òóøààëóóäûã øîðîí äîòîð àøèãëàõ áîëîìæã³é áàéäàã áîëîõîîð òýð þì. Øîðîíã çîãñîîõ õàìãèéí øèëäýã àðãà áîë äàðààõ òóøààëûã øîðîí äîòðîîñ àæèëëóóëàõ ýñâýë øîðîíãèéí ãàäíà jexec(8) õýðýãñëèéã àøèãëàõ ÿâäàë þì: # sh /etc/rc.shutdown
³íèé òàëààð äýëãýðýíã³é ìýäýýëëèéã jail(8) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. 15.5
Íàðèéí òààðóóëàëò áîëîí óäèðäëàãà
Àëü ÷ øîðîíä çîðèóëæ òîõèðóóëæ áîëîõ õýä õýäýí òîõèðóóëãóóä áàéäàã á°ã°°ä °íä°ð ò³âøíèé ïðîãðàìóóäûã õèéõèéí òóëä õîñò FreeBSD ñèñòåìèéã øîðîíãóóäòàé öóã õîñëóóëàõ ò°ð°ë á³ðèéí àðãóóä áàñ áàéäàã. Ýíý õýñýã íü äàðààõ ç³éëñèé㠳糳ëíý: •
•
Àæèëëàãàà áîëîí øîðîíãèéí ñóóëãàëòààð õèéãäñýí àþóëã³é áàéäëûí õÿçãààðëàëòóóäûã òààðóóëàõàä çîðèóëàãäñàí çàðèì òîõèðóóëãóóä. FreeBSD-èéí ïîðòûí öóãëóóëãàä áàéõ, øîðîí äýýð ñóóðèëñàí øèéäë³³äèéã õèéõýä àøèãëàãäàæ áîëîõ øîðîí óäèðäàõ çàðèì íýã °íä°ð ò³âøíèé ïðîãðàìóóä.
15.5.1 FreeBSD
äýýð øîðîí òààðóóëàõ ñèñòåìèéí õýðýãñë³³ä
Øîðîíãèéí òîõèðãîîíû íàðèéí ñàéí òààðóóëàëòûã sysctl(8) õóâüñàã÷óóäûã òîõèðóóëñíààð èõýâ÷ëýí õèéäýã. Á³õ õàìààòàé òîõèðóóëãóóäûã çîõèîí áàéãóóëàõ ³íäýñ áîëîí sysctl-èéí òóñãàé äýä ìîä áàéäàã: ýíý íü FreeBSD ö°ìèéí òîõèðóóëãóóäûí security.jail.* øàòëàë þì. Ýíä øîðîíòîé õîëáîîòîé ãîë sysctl-óóäûí æàãñààëòûã òýäãýýðèéí àíõäàã÷ óòãóóäòàéãààð õàðóóëàâ. Íýðñ íü °°ðèéã°° òàéëáàðëàñàí áàéãàà, ãýõäýý òýäãýýðèéí òàëààð èë³³ ìýäýýëëèéã jail(8) áîëîí sysctl(8) ãàðûí àâëàãûí õóóäàñíóóäààñ ëàâëàíà óó. • security.jail.set_hostname_allowed: 1 • security.jail.socket_unixiproute_only: 1 • security.jail.sysvipc_allowed: 0 • security.jail.enforce_statfs: 2 • security.jail.allow_raw_sockets: 0 • security.jail.chflags_allowed: 0 • security.jail.jailed: 0
õýðýãëýã÷èä àíõäàã÷ààð íîîãäóóëñàí õÿçãààðëàëòóóäûí çàðèìûã íýìýõ ýñâýë õàñàõûí òóëä ýäãýýð õóâüñàã÷óóäûã õîñò ñèñòåìèéí àäìèíèñòðàòîð àøèãëàæ áîëíî. Çàðèì íýã õÿçãààðëàëòóóäûã
root
432
Chapter 15 Jails áóþó Øîðîíãóóä
õàñàæ áîëîõã³éã òýìäýãëýå. root õýðýãëýã÷èä jail(8) äîòîð àéëûí ñèñòåì³³äèéã õîëáîõ ýñâýë ñàëãàõûã ç°âø°°ðä°ãã³é. Øîðîí äîòîðõ root õýðýãëýã÷ devfs(8) ä³ðìèéí îëîíëîãóóäûã äóóäàõ ýñâýë áóöààæ áîëèóëàõ, ãàëò õàíûí ä³ðì³³äèéã òîõèðóóëàõ, ýñâýë ö°ìèéí securelevel õóâüñàã÷èéã òîõèðóóëàõ çýðýã ö°ì äýõ °ã°ãäëèéí °°ð÷ë°ëò³³äèéã øààðääàã °°ð îëîí áóñàä óäèðäëàãûí àæëóóäûã õèéæ ÷àäàõã³é áàéæ áîëîõ þì. FreeBSD-èéí ³íäñýí ñèñòåì íü èäýâõòýé øîðîíãóóäûí òóõàé ìýäýýëëèé㠳糳ëýõ áîëîí óäèðäëàãûí òóøààëóóäûã àæèëëóóëàõûí òóëä øîðîíä çàëãàãäàæ áîëîõ õÿëáàð õýðýãñë³³äèéí öóãëóóëãûã àãóóëäàã. jls(8) áîëîí jexec(8) òóøààëóóä íü FreeBSD-èéí ³íäñýí ñèñòåìèéí õýñýã á°ã°°ä äàðààõ õÿëáàð àæëóóäûã õèéæ ã³éöýòãýõýä àøèãëàãäàæ áîëíî: •
•
Èäýâõòýé áàéãàà øîðîíãóóäûí æàãñààëò áîëîí òýäãýýðèéí õàðãàëçàõ øîðîí òàíèã÷ (JID), IP õàÿã, õîñòûí íýð áîëîí çàìû㠳糳ëíý. °ðèéíõ íü õîñò ñèñòåìýýñ àæèëëàæ áàéãàà øîðîíä çàëãàãäàæ øîðîí äîòîð òóøààë àæèëëóóëàõ þì óó ýñâýë øîðîíãèéí óäèðäëàãûí àæëóóäûã øîðîí äîòîð àæèëëóóëíà. root õýðýãëýã÷ øîðîíã öýâýðõýí çîãñîîæ óíòðààõûã õ³ñýõ ³åä ýíý íü ÿëàíãóÿà àøèãòàé áàéäàã. Øîðîí äîòîð óäèðäëàãà õèéõèéí òóëä ò³³í äîòîð á³ðõ³³ë ýõë³³ëýõýä jexec(8) õýðýãñýë áàñ àøèãëàãäàæ áîëäîã; æèøýý íü: # jexec 1 tcsh
èéí ïîðòûí öóãëóóëãà äàõü °íä°ð ò³âøíèé óäèðäëàãûí
15.5.2 FreeBSD-
õýðýãñë³³ä
Øîðîí óäèðäëàãàä çîðèóëàãäñàí ãóðàâäàã÷ òàëóóäûí îëîí õýðýãñë³³äèéí äóíäààñ õàìãèéí á³ðýí ã³éöýä, àøèãòàé íü sysutils/jailutils þì. Ýíý íü jail(8)-èéí óäèðäëàãàä õóâü íýìýð áîëñîí æèæèã ïðîãðàìóóäûí öóãëóóëãà þì. Äýëãýðýíã³é ìýäýýëëèéí òàëààð ò³³íèé âýá õóóäñàíä õàíäàíà óó. 15.6
Øîðîíãèéí õýðýãëýý
15.6.1
éë÷èëãýý øîðîíãóóä
Õóâü íýìýð áîëãîí îðóóëñàí Äàíèýë ýðçî. Ýíýõ³³ õýñýã íü Simon L. Nielsen <[email protected] > õ°ãæ³³ëýã÷èéí http://simon.nitro.dk/service-jails.html õóóäàñ áîëîí Êåí Òîì -èéí áè÷ñýí øèíý÷èëñýí íèéòëýë äýýð ãàðãàñàí ñàíàà äýýð òóëãóóðëàñàí þì. Ýíý õýñýã íü jail(8) áîëîìæèéã àøèãëàí àþóëã³é áàéäëûí íýìýëò äàâõàðãà á³õèé FreeBSD ñèñòåì õýðõýí òîõèðóóëàõ òàëààð òàéëáàðëàõ áîëíî. ã°ãäñ°í ñèñòåì íü ÿäàæ RELENG_6_0 á°ã°°ä ýíý á³ëãèéí °ìí° äóðäñàí ìýäýýëëèéã óíøèã÷ àâõàé ñàéí îéëãîñîí ãýæ òîîöäîã. 15.6.1.1 Øèéäýë
Øîðîíãóóäûí ãîë àñóóäëóóäûí íýã íü òýäãýýðèéí øèíý÷ëýëòèéí ïðîöåññèéí óäèðäëàãà þì. Øîðîí á³ð íü øèíý÷ëýãäýõ áîëãîíäîî äàõèí á³ð ýõíýýñýý á³òýýãäýõ õýðýãòýé áîëäîã ó÷ðààñ òýð þì. Íýã øîðîíãèéí õóâüä ýíý íü èõýâ÷ëýí àñóóäàë áîëäîãã³é, øèíý÷ëýëòèéí ïðîöåññ èõ õÿëáàð áàéäàã áîëîâ÷ îëîí øîðîíãóóä ³³ñãýñýí áîë èõ õóãàöàà øààðäñàí, ò°â°ãòýé àæèëëàãàà áàéäàã.
433
Chapter 15 Jails áóþó Øîðîíãóóä Warning: Ýíýõ³³ òîõèðãîî íü FreeBSD-èéí ìàø ñàéí òóðøëàãà áîëîí ò³³íèé áîëîìæóóäûí õýðýãëýýã øààðääàã. Õýðýâ äîîð ³ç³³ëñýí àëõìóóä íü õýòýðõèé ò°â°ãòýé ñàíàãäâàë FreeBSD øîðîíãóóäûã óäèðäàõ èë³³
õÿëáàð áîëîìæèéã îëãîäîã á°ã°°ä ýíý òîõèðãîîíûõ øèã ò°â°ãòýé áèø sysutils/ezjail çýðýã õÿëáàð ñèñòåìèéã ³çýõèéã ç°âë°æ áàéíà.
îë ñàíàà íü èéìýðõ³³ àñóóäëóóäûã øîðîíãóóä õîîðîíä àëü áîëîõ èõýýð àþóëã³é àðãààð õóâààëöàõ çàìààð øèéäýõ ÿâäàë þì — øèíý÷ëýëò õÿëáàð áàéõààð ç°âõ°í óíøèãäàõ mount_nullfs(8) õîëáîëòóóäûã àøèãëàõ áîëîí ãàíö ³éë÷èëãýýí³³äèéã òóñäàà øîðîíä õèéõ íü èë³³òýé áîëîõ þì. Ì°í ýíý íü øîðîíãóóäûã íýìýõ ýñâýë óñòãàõ áîëîí òýäãýýðèéã øèíý÷ëýõ õÿëáàð áîëîìæèéã îëãîäîã þì. Note: Èéì çîðèëãîîð àøèãëàæ áîëîõ ³éë÷èëãýýí³³äèéã äóðäâàë: HTTP ñåðâåð, DNS ñåðâåð, SMTP ñåðâåð ãýõ ìýò áàéæ áîëîõ þì.
Ýíý õýñýãò òàéëáàðëàñàí òîõèðãîîíû çîðèëãóóäûã äóðäâàë: Øîðîíãèéí õÿëáàð, îéëãîõîä àìàðõàí á³òöèéã ³³ñãýõ. Ýíý íü øîðîí á³ðèéí õóâüä áîëîí òýäãýýð äýýð á³ðýí õýìæýýíèé installworld ³éëäëèéã àæèëëóóëàõã³é áàéõ ãýñýí ³ã þì. • Øèíý øîðîíãóóä íýìýõ ýñâýë áàéãààã íü óñòãàõ ïðîöåññèéã õÿëáàð áîëãîõ. • Áàéãàà øîðîíãóóäûã øèíý÷ëýõ ýñâýë ñàéæðóóëàõ ïðîöåññèéã õÿëáàð áîëãîõ. • °ð÷ë°í òîõèðóóëñàí FreeBSD ñàëáàðûã àæèëëóóëàõ áîëîìæòîé áîëãîõ. • Íýâòðýí îðîõ, ýâäëýí îðîõ áîëîìæèéã àëü áîëîõ èõýýð áàãàñãàæ àþóëã³é áàéäëûí õóâüä ïàðàíîéä áàéõ. • Çàé áîëîí inode-óóäûã àëü áîëîõ èõýýð õýìíýõ. Óðüä íü äóðäàãäñàíû àäèë ýíý øèéäýë íü øîðîí á³ðò ç°âõ°í óíøèãäàõààð (nullfs ãýãääýã) õîëáîãäîõ ãàíö ìàñòåð çàãâàð áîëîí øîðîí á³ðèéí õóâüä íýã óíøèãäàõ, áè÷èãäýõ ò°õ°°ð°ìæòýé áàéõ á³òýö äýýð ³íäñýíäýý òóëãóóðëàñàí þì. Ò°õ°°ð°ìæ íü òóñäàà èçèê äèñê, õóâààëò, ýñâýë vnode äýýð òóëãóóðëàñàí md(4) ò°õ°°ð°ìæ áàéæ áîëîõ þì. Ýíý æèøýýí äýýð áèä óíøèãäàõ, áè÷èãäýõ nullfs õîëáîëòóóäûã àøèãëàõ áîëíî. Ôàéëûí ñèñòåìèéí ä³ð çóðàã äîîð äóðäñàí õýñýãò òàéëáàðëàñàí áóé: •
• •
• • • •
Øîðîí á³ð /home/j ñàíãèéí äîîð õîëáîãäîõ áîëíî. /home/j/mroot íü øîðîí á³ðèéí õóâüä çàãâàð áà á³õ øîðîíãóóäûí õóâüä ç°âõ°í óíøèãäàõ õóâààëò þì. /home/j ñàíãèéí äîîð øîðîí á³ðèéí õóâüä õîîñîí ñàí ³³ñãýãäýíý. Øîðîí á³ð ñèñòåìèéí óíøèãäàõ, áè÷èãäýõ õýñýã óðóó õîëáîãäîõ /s ñàíòàé áàéíà. Øîðîí á³ð /home/j/skel äýýð òóëãóóðëàñàí °°ðèéí óíøèãäàõ, áè÷èãäýõ ñèñòåìòýé áàéõ áîëíî. Øîðîíãèéí òàëáàð á³ð (øîðîí á³ðèéí óíøèãäàõ, áè÷èãäýõ õýñýã) /home/js-ä ³³ñãýãäýõ áîëíî. Note: Ýíý íü øîðîíãóóä /home õóâààëòûí äîîð ³íäýñëýñýí ãýæ ³çíý. ³íèéã ìýäýýæ °°ð÷èëæ áîëîõ áîëîâ÷ èíãýõ òîõèîëäîëä äîîð äóðäñàí æèøýý á³ðèéí õóâüä °°ð÷ë°ãä°õ ¼ñòîé áîëíî.
434
Chapter 15 Jails áóþó Øîðîíãóóä
15.6.1.2 Çàãâàð ³³ñãýõ íü
Ýíý õýñýã íü øîðîíä çîðèóëàãäàí àøèãëàãäàõ, ç°âõ°í óíøèãäàõ õýñýã áîëîõ ìàñòåð çàãâàðûã ³³ñãýõýä õýðýãòýé àëõìóóäûã òàéëáàðëàõ áîëíî. FreeBSD ñèñòåìèéã ñ³³ëèéí -RELEASE ñàëáàð óðóó øèíý÷ëýõ íü ³ðãýëæ ç°â ñàíàà áàéäàã. ³íèéã õèéõèéí òóëä ãàðûí àâëàãûí á³ëãýýñ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/handbook/makeworld.html) ëàâëàõ õýðýãòýé. Øèíý÷ëýë õèéõ øààðäëàãàã³é áîë ã³éöýòãýëèéã ã³éöýýõèéí òóëä buildworld õèéõ øààðäëàãàòàé. Ì°í sysutils/cpdup áàãö õýðýãòýé. FreeBSD-èéí ïîðòûí öóãëóóëãûã òàòàæ àâàõäàà áèä portsnap(8) õýðýãñëèéã àøèãëàõ áîëíî. Ýõëýí ñóðàëöàã÷èä ãàðûí àâëàãûí Portsnap á³ëãèéã (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/handbook/portsnap.html) óíøèõ íü ç³éòýé þì. 1.
Ýõëýýä áèäíèé øîðîíãóóäàä çîðèóëñàí FreeBSD-èéí õî¼ðòûí àéëóóäûã àãóóëàõ ç°âõ°í óíøèãäàõ àéëûí ñèñòåìèéí ñàíãèéí á³òöèéã ³³ñãýõ õýðýãòýé á°ã°°ä äàðàà íü FreeBSD-èéí ýõ ìîäíû ñàí óðóó ñàíãàà ñîëüæ îðîîä ç°âõ°í óíøèãäàõ àéëûí ñèñòåìèéã øîðîíãèéí çàãâàð óðóó ñóóëãàõ õýðýãòýé: # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot
2.
Äàðàà íü øîðîíãóóäàä çîðèóëæ FreeBSD-èéí ïîðòûí öóãëóóëãà áîëîí mergemaster-ò øààðäëàãàòàé, FreeBSD-èéí ýõ ìîäûã áýëäýõ õýðýãòýé: # # # #
3.
Ñèñòåìèéí óíøèãäàõ, áè÷èãäýõ õýñýãò çîðèóëæ àðàã ÿñûã ³³ñãýõ õýðýãòýé: # # # # # #
4.
cd /home/j/mroot mkdir usr/ports portsnap -p /home/j/mroot/usr/ports fetch extract cpdup /usr/src /home/j/mroot/usr/src
mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles mv etc /home/j/skel mv usr/local /home/j/skel/usr-local mv tmp /home/j/skel mv var /home/j/skel mv root /home/j/skel
Áàéõã³é áàéãàà òîõèðãîîíû àéëóóäûã ñóóëãàõûí òóëä mergemaster-ã àøèãëàõ õýðýãòýé. Äàðàà íü mergemaster-èéí ³³ñãýñýí èë³³ ñàíãóóäûã àðèëãàõ õýðýãòýé: # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev
5.
Îäîî óíøèãäàõ, áè÷èãäýõ àéëûí ñèñòåìèéã ç°âõ°í óíøèãäàõ àéëûí ñèñòåì óðóó çààñàí ñèìáîëûí õîëáîîñ ³³ñãýõ õýðýãòýé. Ñèìáîëûí õîëáîîñóóä íü ç°â s/ áàéðëàëóóäàä ³³ñãýãäñýí ýñýõèéã øàëãààðàé. Æèíõýíý ñàíãóóä þì óó ýñâýë ñàíãóóäûí ³³ñãýëò áóðóó áàéðëàëóóäàä õèéãäñýí áîë ñóóëãàëò àìæèëòã³é áîëîõîä õ³ðãýíý. # cd /home/j/mroot
435
Chapter 15 Jails áóþó Øîðîíãóóä # # # # # # # # #
6.
mkdir ln -s ln -s ln -s ln -s ln -s ln -s ln -s ln -s
s s/etc etc s/home home s/root root ../s/usr-local usr/local ../s/usr-X11R6 usr/X11R6 ../../s/distfiles usr/ports/distfiles s/tmp tmp s/var var
ѳ³ëèéí øàòàíä äîîð äóðäñàí àãóóëãà á³õèé åð°íõèé /home/j/skel/etc/make.conf àéëûã ³³ñãýõ õýðýãòýé: WRKDIRPREFIX?=
/s/portbuild
ã èéì áàéäëààð òîõèðóóëàõ íü øîðîí á³ðò FreeBSD-èéí ïîðòóóäûã ýìõýòãýõ áîëîìæòîé áîëãîõ þì. Ïîðòóóäûí ñàí íü ç°âõ°í óíøèãäàõ ñèñòåìèéí õýñýã ãýäãèéã ñàíààðàé. WRKDIRPREFIX-ä çîðèóëñàí °°ð çàì íü øîðîí á³ðèéí óíøèãäàõ, áè÷èãäýõ õýñýãò á³òýýëò³³äèéã õèéõ áîëîìæèéã îëãîõ þì.
WRKDIRPREFIX-
15.6.1.3 Øîðîí ³³ñãýõ íü
Îäîî áèä á³ðýí ã³éöýä FreeBSD-èéí øîðîíãèéí çàãâàðòàé áîëñîí áîëîõîîð /etc/rc.conf àéëä áèä øîðîíãóóäûã ñóóëãàí òîõèðóóëàõ áîëîìæòîé áîëíî. Ýíý æèøýý íü “NS”, “MAIL” áîëîí “WWW” ãýñýí 3 øîðîíãèéí ³³ñãýëòèéã õàðóóëæ áàéíà. 1.
Äîîð äóðäñàí ì°ð³³äèéã /etc/fstab àéëä íýìýõ õýðýãòýé. Èíãýñíýýð øîðîíãóóäàä çîðèóëñàí ç°âõ°í óíøèãäàõ çàãâàð áîëîí óíøèãäàõ, áè÷èãäýõ çàé òîõèðîõ øîðîíãóóäàä àøèãëàõ áîëîìæòîé áîëîõ þì: /home/j/mroot /home/j/mroot /home/j/mroot /home/js/ns /home/js/mail /home/js/www
/home/j/ns /home/j/mail /home/j/www /home/j/ns/s /home/j/mail/s /home/j/www/s
nullfs nullfs nullfs nullfs nullfs nullfs
ro ro ro rw rw rw
0 0 0 0 0 0
0 0 0 0 0 0
Note: 0 pass áóþó °íã°ð°õ äóãààðààð òýìäýãëýãäñýí õóâààëòóóä íü à÷ààëàõ ³åä fsck(8) õýðýãñëýýð øàëãàãääàãã³é á°ã°°ä 0 dump äóãààðààð òýìäýãëýãäñýí õóâààëòóóä íü dump(8) õýðýãñëýýð í°°öë°ãää°ãã³é. Áèä fsck õýðýãñëýýð nullfs õîëáîëòóóäûã øàëãàõ ýñâýë dump õýðýãñëýýð øîðîíãóóäûí ç°âõ°í óíøèãäàõ nullfs õîëáîëòóóäûã í°°öë°õèéã õ³ñýõã³é áàéãàà áèëýý. Äýýð äóðäñàí fstab îðóóëãà á³ðèéí ñ³³ëèéí õî¼ð áàãàíà “0 0” ãýæ òýìäýãëýãäñýí ó÷èð íü ýíý þì.
2.
Øîðîíãóóäûã /etc/rc.conf-ä òîõèðóóëàõ õýðýãòýé: jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns"
436
Chapter 15 Jails áóþó Øîðîíãóóä jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" Warning: jail_name_rootdir õóâüñàã÷èéí óòãà /home-èéí îðîíä /usr/home ãýñýí øàëòãààí íü FreeBSD-èéí ³íäñýí ñóóëãàö äýýð /home ñàíãèéí èçèê çàì íü /usr/home ãýæ áàéäàãò îðøèæ áàéãàà þì.
õóâüñàã÷èéí óòãà ñèìáîë õîëáîîñ á³õèé çàì áàéõààð òîõèðóóëàãäñàí áàéõ ¼ñã³é á°ã°°ä õýðýâ èíãýâýë øîðîíãóóä àæèëëàæ ýõëýõã³é áàéõ áîëíî. Ýíý õóâüñàã÷èéí óòãàä òàâüæ áîëîõ óòãûã îëîõäîî realpath(1)-ã àøèãëàõ õýðýãòýé. Äýëãýðýíã³é ìýäýýëëèéã FreeBSD-SA-07:01.jail Àþóëã³é áàéäëûí Ç°âë°ã°°í°°ñ ³çíý ³³. jail_name_rootdir
3.
Øîðîí á³ðèéí ç°âõ°í óíøèãäàõ àéëûí ñèñòåìä çîðèóëñàí, øààðäëàãàòàé õîëáîõ öýã³³äèéã ³³ñãýíý: # mkdir /home/j/ns /home/j/mail /home/j/www
4.
Øîðîí á³ðò óíøèãäàõ, áè÷èãäýõ çàãâàðûã ñóóëãàõ õýðýãòýé. sysutils/cpdup õýðýãñëèéí õýðýãëýýã ýíä òýìäýãëýõ íü ç³éòýé þì. Ýíý íü ñàí á³ðèéí ç°â õóóëáàðûã õèéõýä òóñàëäàã: # # # #
5.
mkdir cpdup cpdup cpdup
/home/js /home/j/skel /home/js/ns /home/j/skel /home/js/mail /home/j/skel /home/js/www
Ýíý ³åä øîðîíãóóä íü á³òýýãäýæ àæèëëàõàä áýëòãýãäñýí áàéíà. Ýõëýýä øîðîí á³ðèéí õóâüä øààðäëàãàòàé àéëûí ñèñòåìèéã õîëáîæ äàðàà íü òýäãýýðèéã /etc/rc.d/jail ñêðèïò àøèãëàí ýõë³³ëýõ õýðýãòýé: # mount -a # /etc/rc.d/jail start
Øîðîíãóóä íü îäîî àæèëëàæ áàéõ ¼ñòîé. Òýäãýýðèéã ç°â ýõýëñýí ýñýõèéã øàëãàõûí òóëä jls(8) òóøààëûã àøèãëàíà. ³íèé ãàðàëò äîîð äóðäñàíòàé ò°ñòýé áàéõ ¼ñòîé: # jls
JID 3 2 1
IP Address 192.168.3.17 192.168.3.18 62.123.43.14
Hostname ns.example.org mail.example.org www.example.org
Path /home/j/ns /home/j/mail /home/j/www
Ýíý ³åä øîðîí á³ð ð³³ íýâòýð÷, øèíý õýðýãëýã÷èä íýìýõ ýñâýë äýìîíóóäûã òîõèðóóëàõ áîëîìæòîé áîëñîí áàéõ ¼ñòîé. JID áàãàíà íü àæèëëàæ áàéãàà øîðîí á³ðèéí øîðîí òàíèóëàõ äóãààðûã èëýðõèéëäýã. JID íü 3 á³õèé øîðîí äîòîð óäèðäëàãûí àæëóóäûã ã³éöýòãýõèéí òóëä äàðààõ òóøààëûã àøèãëàõ õýðýãòýé: # jexec 3 tcsh
437
Chapter 15 Jails áóþó Øîðîíãóóä 15.6.1.4 Øèíý÷ëýõ íü
Àþóëã³é áàéäëûí àñóóäëààñ áîëîîä ýñâýë îäîî áàéãàà øîðîíãóóäàä àøèãòàé øèíý áîëîìæóóä õèéãäñýíýýñ áîëîîä ñèñòåìýý FreeBSD-èéí øèíý õóâèëáàð óðóó øèíý÷ëýõ øààðäëàãà çàðèìäàà ãàðäàã. Ýíý òîõèðãîîíû äèçàéí íü áàéãàà øîðîíãóóäûã õÿëáàð àðãààð øèíý÷ëýõ áîëîìæèéã îëãîäîã. Ì°í øîðîíãóóäûã ñ³³ëèéí ìèíóòàíä çîãñîîäîã áîëîõîîð ýíý íü òýäãýýðèéí çîãñîõ õóãàöààã áàãàñãàäàã. Áàñ ÿìàð íýã àñóóäàë ãàðàõàä ýíý íü õóó÷èí õóâèëáàð óðóóãàà øèëæèõ áîëîìæèéã îëãîäîã. 1.
Ýõíèé àëõàì íü õîñò ñèñòåìèéã æóðìûí äàãóó øèíý÷ëýõ ÿâäàë þì. Äàðàà øèíý, ò³ð çóóðûí, ç°âõ°í óíøèãäàõ çàãâàðûã /home/j/mroot2-ä ³³ñãýõ õýðýãòýé. # # # # # #
mkdir /home/j/mroot2 cd /usr/src make installworld DESTDIR=/home/j/mroot2 cd /home/j/mroot2 cpdup /usr/src usr/src mkdir s
installworld
àæèëëàõäàà ö°°í õýðýãã³é ñàíãóóäûã ³³ñãýäýã á°ã°°ä ýäãýýðèéã óñòãàõ õýðýãòýé:
# chflags -R 0 var # rm -R etc var root usr/local tmp
2.
Ìàñòåð àéëûí ñèñòåìä çîðèóëæ óíøèãäàõ, áè÷èãäýõ ñèìáîëûí õîëáîîñóóäûã äàõèí ³³ñãýõ õýðýãòýé: # # # # # # #
3.
ln ln ln ln ln ln ln
-s -s -s -s -s -s -s
s/etc etc s/root root s/home home ../s/usr-local usr/local ../s/usr-X11R6 usr/X11R6 s/tmp tmp s/var var
Øîðîíãóóäûã çîãñîîõ ç°â ³å íü îäîî áàéíà: # /etc/rc.d/jail stop
4.
Ýõ àéëûí ñèñòåì³³äèéã ñàëãàõ õýðýãòýé: # # # # # #
umount umount umount umount umount umount
/home/j/ns/s /home/j/ns /home/j/mail/s /home/j/mail /home/j/www/s /home/j/www
Note: Óíøèãäàõ, áè÷èãäýõ ñèñòåì³³ä íü ç°âõ°í óíøèãäàõ ñèñòåìä çàëãàãäñàí (/s) á°ã°°ä ýõëýýä ñàëãàãäàõ ¼ñòîé.
5.
Õóó÷èí ç°âõ°í óíøèãäàõ àéëûí ñèñòåìèéã øèëæ³³ëæ øèíýýð ñîëüíî. ßìàð íýã þì áîëîõîî áàéõàä ýíý íü õóó÷èí, ç°âõ°í óíøèãäàõ àéëûí ñèñòåìèéí í°°ö áîëîí àðõèâ ìàÿãààð àøèãëàãäàõ þì. Ýíä àøèãëàãäñàí íýðëýõ àðãà÷ëàë íü øèíý, ç°âõ°í óíøèãäàõ àéëûí ñèñòåì ³³ñãýãäýõ ³åèéíõòýé òîõèðäîã. Çàé áîëîí inode-óóäûã õýìíýõèéí òóëä FreeBSD-èéí ýõ ïîðòûí öóãëóóëãûã øèíý àéëûí ñèñòåì óðóó øèëæ³³ëýõ õýðýãòýé:
438
Chapter 15 Jails áóþó Øîðîíãóóä # # # #
6.
cd mv mv mv
/home/j mroot mroot.20060601 mroot2 mroot mroot.20060601/usr/ports mroot/usr
Ýíý ³åä øèíý, ç°âõ°í óíøèãäàõ çàãâàð áýëýí áîëîõ á°ã°°ä ³ëäñýí öîðûí ãàíö àæèë íü àéëûí ñèñòåì³³äèéã äàõèí õîëáîæ øîðîíãóóäûã ýõë³³ëýõ ÿâäàë þì: # mount -a # /etc/rc.d/jail start
Øîðîíãóóä ç°â ýõýëñýí ýñýõèéã øàëãàõûí òóëä jls(8)-ã àøèãëàíà. Øîðîí á³ðò mergemaster-ã àæèëëóóëàõàà ìàðòóóçàé. Òîõèðãîîíû àéëóóä áîëîí rc.d ñêðèïò³³äèéã øèíý÷ëýõ õýðýãòýé áîëíî.
Notes 1.
Ýíý àëõàì íü FreeBSD 6.0 áîëîí ò³³íýýñ õîéøõ õóâèèëáàðóóäàä øààðäëàãàã³é.
439
Chapter 16 Mandatory Access Control
Àëáàäìàë Õàíäàëòûí õÿíàëò
áóþó
Áè÷ñýí Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 16.1
Åð°íõèé àãóóëãà
FreeBSD 5.X íü POSIX.1e íîîðîã äýýð òóëãóóðëàñàí TrustedBSD ò°ñëèéí àþóëã³é áàéäëûí øèíý °ðã°òã°ë³³äèéã òàíèëöóóëñàí. Õàìãèéí ÷óõàë àþóëã³é áàéäëûí øèíý àðãà çàìóóäûí õî¼ð íü àéëûí ñèñòåìèéí Access Control Lists áóþó Õàíäàëòûí Õÿíàëòûí Æàãñààëòóóä (ACL-³³ä) áîëîí Mandatory Access Control (MAC) áóþó Àëáàäìàë Õàíäàëòûí Õÿíàëò áîëîìæóóä þì. Àëáàäìàë Õàíäàëòûí Õÿíàëò íü àþóëã³é áàéäëûí øèíý áîäëîãóóäûã áèé áîëãîæ õàíäàëòûí õÿíàëòûí ìîäóëèóäûã à÷ààëàõ áîëîìæèéã îëãîäîã. Çàðèì íü òóõàéí ³éë÷èëãýýã õàòóóæóóëæ ñèñòåìèéí íàðèéí äýä îëîíëîãóóäûí õàìãààëàëòóóäûã õàíãàäàã. Áóñàä íü õàÿãëàãäñàí, îëîí òàëûí àþóëã³é áàéäëûã á³õ ñóáüåêò áîëîí îáüåêòóóäûí õóâüä õàíãàäàã áàéíà. Òîäîðõîéëîëòûí àëáàäìàë áóþó çàéëøã³é øààðäëàãàòàé ãýæ õýëñýí õýñýã íü õÿíàëòóóäûí àëáàäëàãûã àäìèíèñòðàòîðóóä áîëîí ñèñòåì õèéäýã á°ã°°ä discretionary access control (DAC, FreeBSD äýýðõ ñòàíäàðò àéë áîëîí System V IPC ç°âø°°ðë³³ä) áóþó òóñäàà áàéõ õàíäàëòûí õÿíàëòààð õèéãääýã øèã õýðýãëýã÷ýýð °°ð°°ð íü õèéëãýäýãã³é ãýñýí ³ã þì. Ýíý á³ëýã Mandatory Access Control Framework (MAC Framework) áóþó Àëáàäìàë Õàíäàëòûí Õÿíàëò Òîãòîëöîî áîëîí çàëãàãäàæ áîëîõ àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûí îëîíëîãò àíõààðëàà ò°âë°ð³³ëæ ò°ð°ë á³ðèéí àþóëã³é áàéäëûí àðãà çàìóóäûã èäýâõæ³³ëýõ áîëíî. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî:
Îäîîãîîð FreeBSD-ä ÿìàð ÿìàð àþóëã³é áàéäëûí MAC áîäëîãûí ìîäóëèóä îðñîí áîëîí òýäãýýðòýé õîëáîîòîé àðãà çàìóóäûí òàëààð. • Àþóëã³é áàéäëûí MAC áîäëîãûí ìîäóëèóä þó øèéääýã áîëîí õàÿãëàãäñàí áîëîí õàÿãëàãäààã³é áîäëîãûí õîîðîíäûí ÿëãààíû òàëààð. • Ñèñòåìèéã õýðõýí ³ð àøèãòàéãààð MAC òîãòîëöîîã àøèãëàõààð òîõèðóóëàõ òàëààð. • MAC òîãòîëöîîíä îðñîí àþóëã³é áàéäëûí °°ð °°ð áîäëîãûí ìîäóëèóäûã õýðõýí òîõèðóóëàõ òàëààð. • MAC òîãòîëöîî áîëîí ³ç³³ëñýí æèøýýí³³äèéã àøèãëàí èë³³ àþóëã³é îð÷èíã õýðõýí áèé áîëãîõ òàëààð. • Òîãòîëöîî ç°â õèéãäñýíèéã øàëãàõûí òóëä MAC òîõèðãîîã õýðõýí òåñò õèéõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
• • •
UNIX áîëîí FreeBSD-èéí ³íäñ³³äèéã îéëãîñîí áàéõ (Chapter 3).
Ö°ìèéí òîõèðãîî/ýìõýòãýëèéí (Chapter 8) ³íäñ³³äòýé òàíèëöñàí áàéõ. Àþóëã³é áàéäàëòàé òàíèëöàæ ýíý íü FreeBSD-ä õýðõýí õàìààðàëòàé áîëîõûã ìýäýõ (Chapter 14). Warning: Ýíä áàéãàà ìýäýýëëèéã áóðóó àøèãëàâàë ñèñòåìä õàíäàæ ÷àäàõã³é áîëãîõ, õýðýãëýã÷äèéí äîðîéòîë ýñâýë X11-èéí õàíãàäàã áîëîìæóóäàä õàíäàæ ÷àäàõã³éä õ³ðãýæ áîëîõ þì. Õàìãèéí ÷óõàë íü MAC íü ñèñòåìèéã á³ð ì°ñ°í àþóëã³é áîëãîíî ãýæ íàéäàæ áîëîõã³é þì. MAC òîãòîëöîî íü áàéãàà àþóëã³é áàéäëûí
440
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
áîäëîãûã ç°âõ°í ñàéæðóóëäàã; àþóëã³é áàéäëûí ñàéí ïðàêòèêã³é, áàéíãûí àþóëã³é áàéäëûí øàëãàëòã³éãýýð ñèñòåì õýçýý ÷ á³ðýí àþóëã³é áàéæ ÷àäàõã³é. Ì°í ýíý á³ëãèéí õ³ðýýíä áàéãàà æèøýýí³³ä íü ç°âõ°í æèøýýí³³ä ãýäãèéã òýìäýãëýõ ¼ñòîé þì. ßëàíãóÿà ýäãýýð òóõàéëñàí òîõèðãîîíóóäûã æèíõýíý ñèñòåì äýýð õýðýãëýõèéã ç°âë°ä°ãã³é. Ò°ð°ë á³ðèéí àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûã á³òýýõ íü èõýýõýí áîäîëò áîëîí òåñò õèéõèéã øààðääàã. Á³ãä õýðõýí ÿàæ àæèëëàäãèéã á³ðýí îéëãîîã³é õ³íèéí õóâüä á³õýë ñèñòåìèéã äàõèí ³çýæ îëîí àéëóóä ýñâýë ñàíãóóäûã äàõèí òîõèðóóëàõàä õ³ðãýæ áîëîõ þì.
16.1.1
Þóã õýëýëöýõã³é âý
Ýíý á³ëýã íü MAC òîãòîëöîîòîé õîëáîîòîé °ðã°í õ³ðýýíèé àþóëã³é áàéäëûí àñóóäëóóäûã õàìàðäàã. Øèíý MAC àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûã õ°ãæ³³ëýõ òàëààð õýëýëöýõã³é áîëíî. MAC òîãòîëöîîíä îðñîí õýä õýäýí àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóä íü òóñãàé îíöëîãóóäòàé á°ã°°ä ýäãýýð íü òåñò õèéõ áîëîí øèíý ìîäóëü õ°ãæ³³ëýõýä çîðèóëàãäñàí þì. Ýäãýýðò mac_test(4), mac_stub(4) áîëîí mac_none(4) îðíî. Ýäãýýð àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûí òàëààð áîëîí òýäãýýðèéí õàíãàäàã ò°ð°ë á³ðèéí àðãà çàìóóäûí òàëààð äýëãýðýíã³é ìýäýýëëèéã ãàðûí àâëàãûí õóóäàñíóóäààñ ëàâëàíà óó. 16.2
Ýíý á³ëýã äýõ ò³ëõ³³ð óõàãäàõóóíóóä
Ýíý á³ëãèéã óíøèõààñàà °ìí° õýä õýäýí ò³ëõ³³ð óõàãäàõóóíóóäûã òàéëáàðëàõ ¼ñòîé. Ýíý íü ó÷èð÷ áîëîõ ÿìàð íýã ýíä³³ðëèéã öýãöýëæ øèíý óõàãäàõóóíóóä áîëîí ìýäýýëëèéí îãöîì òàíèëöóóëãààñ çàéëñõèéõ áîëíî ãýæ íàéäàæ áàéíà. •
•
•
•
compartment áóþó òàñàëãàà: Òàñàëãàà íü õýðýãëýã÷äýä ñèñòåìèéí òóñãàé á³ðýëäýõ³³í õýñã³³äýä õàíäàõ õàíäàëòûã °ãä°ã õóâààãäàõ ýñâýë òóñãààðëàãäàõ ïðîãðàìóóä áîëîí °ã°ãäëèéí îëîíëîã þì. Ì°í òàñàëãàà íü àæëûí ãðóïï, õýëòýñ, ò°ñ°ë ýñâýë ñýäýâ çýðýã á³ëýãëýëèéã èëýðõèéëäýã. Òàñàëãààíóóäûã àøèãëàí ìýäýõ õýðýãòýé àþóëã³é áàéäëûí áîäëîãûã õèéæ ã³éöýòãýõ áîëîìæòîé áàéäàã. high water mark áóþó °íä°ð ò³âøèí: íä°ð ò³âøèí áîäëîãî íü °íä°ð ò³âøíèé ìýäýýëýëä õàíäàõ çîðèëãîîð àþóëã³é áàéäëûí ò³âøí³³äèéã äýýøë³³ëýõèéã ç°âø°°ðä°ã áîäëîãî þì. Èõýíõ òîõèîëäîëä ïðîöåññ äóóññàíû äàðàà àíõäàã÷ ò³âøèí ñýðãýýãääýã. Îäîîãîîð FreeBSD MAC òîãòîëöîî íü ³³íä çîðèóëñàí áîäëîãîã³é, ãýõäýý á³ðýí á³òýí áàéäëûí ³³äíýýñ òîäîðõîéëîëò íü îðæýý. integrity áóþó á³ðýí á³òýí áàéäàë: Á³ðýí á³òýí áàéäàë íü ò³ëõ³³ð îéëãîëò á°ã°°ä °ã°ãä°ëä òàâèãäàæ áîëîõ èòãýìæëýëèéí ò³âøèí þì. ã°ãäëèéí á³ðýí á³òýí áàéäàë äýýøëýõ òóñàì òýð °ã°ãä°ëä èòãýõ ÷àäâàð áàñ äýýøèëäýã. label áóþó õàÿã/øîøãî: Õàÿã/øîøãî íü àéëóóä, ñàíãóóä ýñâýë ñèñòåì äýõ áóñàä ç³éëñýä õàìààðóóëæ áîëîõ àþóëã³é áàéäëûí øèíæ ÷àíàð þì. Ýíý íü èòãýìæëýëèéí òàìãà ãýãäýæ áîëíî; õàÿã/øîøãî àéëä òàâèãäñàí áîë òýð àéëûí àþóëã³é áàéäëûí °ì÷³³äèéã òàéëáàðëàõ á°ã°°ä ç°âõ°í èæèë àþóëã³é áàéäëûí òîõèðãîîòîé àéëóóä, õýðýãëýã÷èä, ýõ ³³ñâýð³³ä ãýõ çýðãýýñ õàíäàëòûã ç°âø°°ð°õ áîëíî. Õàÿã/øîøãîíû óòãóóäûí óòãà ñàíàà áîëîí òàéëáàð íü áîäëîãûí òîõèðãîîíîîñ õàìààðäàã: çàðèì áîäëîãóóä íü õàÿã/øîøãûã îáüåêòèéí á³ðýí á³òýí áàéäàë ýñâýë
441
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
•
•
•
•
•
•
•
•
íóóöãàé áàéäàë ãýæ îéëãîäîã áîë áóñàä áîäëîãóóä õàÿã/øîøãûã õàíäàëò õèéõèéí òóëä ä³ðì³³äèéã àãóóëàõàä àøèãëàæ áîëîõ þì. level áóþó ò³âøèí: Àþóëã³é áàéäëûí øèíæ ÷àíàðûí èõýñãýñýí ýñâýë áàãàñãàñàí òîõèðãîî. Ò³âøèí èõñýõ òóñàì ò³³íèé àþóëã³é áàéäàë áàñ äýýøèëíý ãýæ ³çäýã. low water mark áóþó äîîä ò³âøèí: Äîîä ò³âøèí íü òèéì ÷ àþóëã³é áèø ìýäýýëýëä õàíäàõûí òóëä àþóëã³é áàéäëûí ò³âøèíã³³äèéã äîîøëóóëàõûã ç°âø°°ðä°ã áîäëîãî þì. Èõýíõ òîõèîëäîëä ïðîöåññ äóóññàíû äàðàà õýðýãëýã÷èéí àíõäàã÷ àþóëã³é áàéäëûí ò³âøèí ñýðãýýãääýã. FreeBSD-ä ³³íèéã àøèãëàäàã öîðûí ãàíö àþóëã³é áàéäëûí áîäëîãûí ìîäóëü áîë mac_lomac(4) þì. multilabel áóþó îëîí õàÿã/øîøãî: multilabel °ì÷ íü ãàíö õýðýãëýã÷èéí ãîðèìä tunefs(8) õýðýãñýë, à÷ààëàëòûí ³éëäë³³äèéí ³åä ýñâýë øèíý àéëûí ñèñòåì ³³ñãýõ ³åä fstab(5) àéë àøèãëàí òîõèðóóëæ áîëîõ àéëûí ñèñòåìèéí òîõèðóóëãà þì. Ýíý òîõèðóóëãà íü °°ð °°ð îáüåêòóóäàä °°ð °°ð MAC õàÿã/øîøãîíóóäûã õàìààðóóëàõûã àäìèíèñòðàòîðò ç°âø°°ð°õ áîëíî. Ýíý òîõèðóóëãà íü õàÿãëàëòûã äýìæäýã àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäàä ç°âõ°í õàìààðäàã. object áóþó îáüåêò: Îáüåêò áóþó ñèñòåìèéí îáüåêò íü subject áóþó ñóáüåêòèéí óäèðäëàãûí äîîð ìýäýýëýë äàìæèí óðñäàã òýð ì°í ÷àíàð þì. ³íä ñàíãóóä, àéëóóä, òàëáàðóóä, äýëãýö³³ä, ãàðóóä, ñàíàõ îé, ñîðîíçîí õàäãàëàëò, õýâëýã÷èä ýñâýë áóñàä äóðûí õàäãàëàëò/õ°äë°õ ò°õ°°ð°ìæ îðäîã. íäñýíäýý îáüåêò íü °ã°ãäëèéí ÷èíãýëýã ýñâýë ñèñòåìèéí ýõ ³³ñâýð þì; îáüåêò îä õàíäàõ íü °ã°ãä°ëä õàíäàíà ãýñýí ³ã þì. policy áóþó áîäëîãî: Çîðèëãîä õýðõýí õ³ðýõèéã òîäîðõîéëîõ ä³ðì³³äèéí öóãëóóëãà þì. Áîäëîãî íü èõýâ÷ëýí çàðèì íýã ç³éë³³äòýé õýðõýí àæèëëàõûã áàðèìòæóóëäàã. Ýíý á³ëýã íü ñýäýâ äàõü áîäëîãî ãýñýí ýíý íýð òîìú¼îã àþóëã³é áàéäëûí áîäëîãî ãýæ ³çýõ áîëíî; °°ð°°ð õýëáýë °ã°ãä°ë áîëîí ìýäýýëëèéí óðñãàëûã õÿíàõ ä³ðì³³äèéí öóãëóóëãà ãýæ ³çýõ á°ã°°ä òýð °ã°ãä°ë áîëîí ìýäýýëýëä õýí õàíäàëòòàé áàéõûã òîäîðõîéëîõ áîëíî. sensitivity áóþó ìýäðýìòãèé áàéäàë: MLS-èéã õýëýëöýæ áàéõ ³åä èõýâ÷ëýí õýðýãëýäýã. Ìýäðýìòãèé áàéäëûí ò³âøèí íü °ã°ãä°ë ÿìàð ÷óõàë ýñâýë íóóöëàã áàéõ ¼ñòîé áîëîõûã òàéëáàðëàõàä õýðýãëýãääýã íýð òîìú¼î þì. Ìýäðýìòãèé áàéäëûí ò³âøèí èõñýõ òóñàì íóóöãàé áàéäëûí ÷óõàë à÷ õîëáîãäîë ýñâýë °ã°ãäëèéí èòãýìæëýãäñýí áàéäàë áàñ èõýñäýã. single label áóþó ãàíö õàÿã/øîøãî: àíö õàÿã/øîøãî íü °ã°ãäëèéí óðñãàëä õàíäàëòûí õÿíàëò õèéõèéí òóëä á³õýë àéëûí ñèñòåì ãàíö õàÿã/øîøãûã õýðýãëýõ ³å þì. multilabel òîõèðóóëãûã òîõèðóóëààã³é ÿìàð ÷ ³åä àéëûí ñèñòåì ³³íèéã òîõèðóóëñàí áàéõàä á³õ àéëóóä íü èæèë õàÿã/øîøãîíû òîõèðãîîã äàãàõ áîëíî. subject áóþó ñóáüåêò: ñóáüåêò íü õýðýãëýã÷, õýðýãëýã÷èéí ïðîöåññîð, ñèñòåìèéí ïðîöåññ ãýõ ìýò îáüåêòóóä èéí õîîðîíä ìýäýýëëèéã óðñãàõ èäýâõòýé ì°í ÷àíàð þì. FreeBSD äýýð ýíý íü áàðàã ³ðãýëæ õýðýãëýã÷èéí °ìí°°ñ ïðîöåññîä ³éë÷èëæ áàéãàà thread áóþó óðñãàë áàéäàã.
16.3 MAC-
èéí òàéëáàð
Ýíý á³õ øèíý óõàãäàõóóíóóäûã ñàíààä MAC òîãòîëöîî õýðõýí ñèñòåìèéí àþóëã³é áàéäëûã åð°íõèéä íü íýìýãä³³ëäýãèéã ýðãýö³³ëüå. MAC òîãòîëöîîíû õàíãàäàã ò°ð°ë á³ðèéí àþóëã³é áàéäëûí ìîäóëèóä íü ñ³ëæýý áîëîí àéëûí ñèñòåì³³äèéã õàìãààëàõ, çàðèì ïîðòóóä áîëîí ñîêåòóóäàä õýðýãëýã÷èä õàíäàõûã õààõ ãýõ çýðýãò àøèãëàãäàæ áîëíî. Ìàãàäã³é áîäëîãûí ìîäóëèóäûã àøèãëàõ õàìãèéí øèëäýã àðãà íü õýä õýäýí àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûã íýã çýðýã îëîí äàâõàðãàæñàí àþóëã³é áàéäëûí îð÷íû õóâüä äóóäàæ òýäãýýðèéã õîëèõ ÿâäàë áàéæ áîëîõ þì. Îëîí äàâõàðãàæñàí àþóëã³é áàéäëûí îð÷èíä îëîí áîäëîãûí ìîäóëèóä íü àþóëã³é áàéäëûã øàëãàæ àæèëëàæ áàéäàã. Ýíý 442
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
íü ç°âõ°í òóñãàé çîðèóëàëòààð àøèãëàæ áàéãàà ñèñòåìèéí ýëåìåíò³³äèéã èõýâ÷ëýí õàòóóæóóëäàã ÷àíãàòãàõ áîäëîãîîñ °°ð þì. Öîðûí ãàíö ñóë òàë íü îëîí àéëûí ñèñòåìèéí õàÿã/øîøãîíóóä, ñ³ëæýýíèé õàíäàëòûí õÿíàëòûã õýðýãëýã÷ á³ð äýýð òîõèðóóëàõ ãýõ ìýò òîõèîëäëóóäàä óäèðäëàãûí õóâüä èë³³ àæèëòàé áàéäàã ÿâäàë þì. Ñóë òàëóóä íü òîãòîëöîîíû ³éë÷ëýõ í°ë°°ë°ëòýé õàðüöóóëàõàä áàãà ç³éë þì. Æèøýý íü òóñãàéëñàí òîõèðãîîíä ÿìàð áîäëîãóóä øààðäëàãàòàéã øèëæ ñîíãîõ ÷àäâàð íü àæèëëàãààíû õóâüä èë³³ à÷ààëëûã áàãàñãàäàã. Õýðýãöýýã³é áîäëîãóóäûí äýìæëýãèéã áàãàñãàõ íü ñèñòåìèéí íèéò àæèëëàãààã íýìýãä³³ëýõýýñ ãàäíà ñîíãîëòûí óÿí õàòàí áàéäëûã ñàíàë áîëãîäîã. Ñàéí øèéäýë íü àþóëã³é áàéäëûí åð°íõèé øààðäëàãóóäûã áîäîëöîæ ýíý òîãòîëöîîíû ñàíàë áîëãîäîã ò°ð°ë á³ðèéí àþóëã³é áàéäëûí ìîäóëèóäûã ³ð àøèãòàéãààð àâ÷ õýðýãæ³³ëäýã. Òèéìýýñ MAC áîëîìæóóäûã àøèãëàäàã ñèñòåì íü õýðýãëýã÷èéí õ³ññýíýýðýý àþóëã³é áàéäëûí øèíæ ÷àíàðóóäûã °°ð÷ë°õ áîëîìæèéã õàìãèéí áàãààð áîäîõîä ç°âø°°ð°õã³é áàéæ áàòàëãààæóóëàõ ¼ñòîé þì. Õýðýãëýã÷èéí á³õ õýðýãñë³³ä, ïðîãðàìóóä áîëîí ñêðèïò³³ä íü ñîíãîñîí àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûí õàíäàëòûí ä³ðì³³äèéí øàõàëòûí äîîð àæèëëàõ ¼ñòîé á°ã°°ä MAC õàíäàëòûí ä³ðì³³äèéí åð°íõèé õÿíàëò íü ñèñòåìèéí àäìèíèñòðàòîðûí ãàðò áàéäàã áàéíà. Àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûã àíõààðàëòàé ñîíãîõ íü ñèñòåìèéí àäìèíèñòðàòîðûí öîðûí ãàíö ³³ðýã áàéäàã. Çàðèì îð÷íóóäûí õóâüä ñ³ëæýýíä õàíäàëòûí õÿíàëòûã õÿçãààðëàõ õýðýãòýé áàéäàã. Èéì òîõèîëäëóóäàä mac_portacl(4), mac_ifoff(4) áîëîí á³ð mac_biba(4) áîäëîãûí ìîäóëèóä ç°â ýõëýë áîëæ áîëîõ þì. Áóñàä òîõèîëäëóóäàä àéëûí ñèñòåìèéí îáüåêòóóäûí ÷àíä íóóöëàë/èòãýìæëýëèéã øààðäàæ áîëîõ þì. Ýíý çîðèëãîîð mac_bsdextended(4) áîëîí mac_mls(4) çýðýã áîäëîãûí ìîäóëèóä áàéäàã. ѳëæýýíèé òîõèðãîîí äýýð ³íäýñëýí áîäëîãûí øèéäâýð³³äèéã õèéäýã. Ìàãàäã³é ñ³ëæýý ýñâýë Èíòåðíýòýä õàíäàõûí òóëä ssh(1)-èéí õàíãàäàã áîëîìæóóäàä ç°âõ°í çàðèì íýã õýðýãëýã÷äèéã õàíäàõûã ç°âø°°ð°õ ¼ñòîé áàéæ áîëîõ þì. Ýäãýýð òîõèîëäëóóäàä mac_portacl(4) íü ñîíãîõ áîäëîãûí ìîäóëü áîëîõ þì. ýõäýý àéëûí ñèñòåì³³äèéí õóâüä þó õèéõ ¼ñòîé âý? Çàðèì íýã ñàíãóóäàä áóñàä á³ëã³³äýýñ ýñâýë òóñãàé õýðýãëýã÷äýýñ õàíäàõ á³õ õàíäàëòûã ÷àíãàðóóëàõ ¼ñòîé þó? Ýñâýë òóñãàé àéëóóä óðóó õèéõ õýðýãëýã÷èéí ýñâýë õýðýãñëèéí õàíäàëòûã çàðèì îáüåêòóóäûã íóóö ãýæ òîõèðóóëàí áèä õÿçãààðëàõ ¼ñòîé þó? Ôàéëûí ñèñòåìèéí òîõèîëäîëä îáüåêòóóäàä õàíäàõ õàíäàëò íü çàðèì õýðýãëýã÷äèéí õóâüä èòãýìæëýãäñýí/íóóö, áóñäóóäûí õóâüä ³ã³é áàéæ áîëîõ þì. Æèøýý íü õ°ãæ³³ëýõ òîì áàãèéã õýä õýäýí õ°ãæ³³ëýã÷äýýñ òîãòîõ æèæèã á³ëã³³äýä õóâààæ áîëîõ þì. B ò°ñ°ë äýõ õ°ãæ³³ëýã÷äèéí áè÷ñýí îáüåêòóóäàä A ò°ñ°ë äýõ õ°ãæ³³ëýã÷èä õàíäàõ ¼ñã³é. Áàñ òýä C ò°ñ°ë äýõ õ°ãæ³³ëýã÷äèéí ³³ñãýñýí îáüåêòóóäàä õàíäàõ õýðýãòýé áàéæ áîëîõ þì. Èéì òîõèîëäîë õàðèí ÷ áàéæ áîëîõ þì. MAC òîãòîëöîîíû °°ð °°ð àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûã àøèãëàí õýðýãëýã÷äèéã ýäãýýð á³ëã³³äýä õóâààæ ìýäýýëëèéí àëäàãäëààñ àéëã³éãýýð òîõèðîõ òàëáàðóóäàä õàíäàëòûã °ã÷ áîëîõ þì. Òèéìýýñ àþóëã³é áàéäëûí áîäëîãûí ìîäóëü á³ð íü ñèñòåìèéí åð°íõèé àþóëã³é áàéäëûã ñàéæðóóëàõ °â°ðì°ö àðãàòàé áàéäàã. Ìîäóëèéí ñîíãîëòûã õèéõäýý àþóëã³é áàéäëûí áîäëîãûí õóâüä ñàéí áîäîæ õèéõ õýðýãòýé. Èõýíõ òîõèîëäëóóäàä åð°íõèé áîäëîãûã äàõèí õàðæ ñàéæðóóëàí ñèñòåì äýýð äàõèí õýðýãæ³³ëýõ õýðýãòýé áàéæ áîëîõ þì. MAC òîãòîëöîîíû ñàíàë áîëãîäîã °°ð °°ð àþóëã³é áàéäëûí áîäëîãûí ìîäóëèóäûã îéëãîõ íü àäìèíèñòðàòîðóóäàä °°ð °°ðñäèéí í°õö°ëä°° òîõèðóóëàí õàìãèéí øèëäýã áîäëîãóóäûã ñîíãîõîä òóñëàõ áîëíî. FreeBSD-èéí àíõäàã÷ ö°ì íü MAC òîãòîëöîîíä çîðèóëñàí òîõèðóóëãàã³é áàéäàã, òèéìýýñ ýíý á³ëýãò áàéãàà æèøýýí³³ä ýñâýë ìýäýýëëèéã òóðøèõààñàà °ìí° äàðààõ ö°ìèéí òîõèðóóëãûã íýìýõ ¼ñòîé: options MAC
443
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Òýãýýä ö°ìèéã äàõèí á³òýýæ ñóóëãàõ øààðäëàãàòàé áîëíî. Caution: MAC áîäëîãûí ìîäóëèóäûí ò°ð°ë á³ðèéí ãàðûí àâëàãûí õóóäàñíóóä íü òýäãýýðèéã ö°ìä îðóóëàí á³òýýñýí ãýæ ìýäýãääýã áîëîâ÷ ñèñòåìèéã ñ³ëæýýíýýñ ãàðãàæ ò³ãæèõ çýðýã îëîí áîëîìæòîé áàéäàã. MAC-èéã õýðýãæ³³ëýõ íü ãàëò õàíûã õýðýãæ³³ëýõòýé áàðàã àäèë á°ã°°ä ñèñòåìýýñ á³ð ì°ñ°í ãàð÷ ò³ãæèãäýõýýñ ñýðãèéëýõèéí òóëä àíõààðàëòàé áàéõ ¼ñòîé. ìí°õ òîõèðãîîíäîî ýðãýæ áóöààæ áîëäîã áàéõ ÷àäâàðûã áîäîëöîõ ¼ñòîé á°ã°°ä MAC øèéäëèéã àëñààñ õèéõäýý ìàø áîëãîîìæòîé õèéõ õýðýãòýé þì.
16.4 MAC
õàÿã/øîøãîíóóäûã îéëãîõ íü
MAC õàÿã/øîøãî íü ñèñòåìèéí òóðø íýëýíõ³éä íü ñóáüåêòóóä áîëîí îáüåêòóóäàä °ã÷ áîëîõ àþóëã³é áàéäëûí øèíæ ÷àíàð þì. Õàÿã/øîøãûã òîõèðóóëàõ ³åä õýðýãëýã÷ ³³íèéã ÿã þó áîëîõ, þó õèéãäýõèéã îéëãîæ ÷àäàæ áàéõ ¼ñòîé. Îáüåêò äýýð áàéäàã øèíæ ÷àíàðóóä íü áîäëîãûí ìîäóëü äóóäàãäñàí áîëîí áîäëîãûí ìîäóëèóä òýäãýýðèéí øèíæ ÷àíàðóóäûã °°ð àðãààð îéëãóóëäãààñ õàìààðíà. Äóòóó îéëãîñíîîñ ýñâýë óòãà ñàíààíóóäûã íü îéëãîõ ÷àäâàðã³é áàéäëààñ áîëîîä áóðóó òîõèðóóëñàí áîë ³ð ä³í íü òààæ áîëøã³é áàéõ á°ã°°ä ìàãàäã³é ñèñòåìèéí õ³ñýýã³é àæèëëàãààíä õ³ðãýæ áîëîõ þì. Îáüåêò äýýðõ àþóëã³é áàéäëûí õàÿã/øîøãî íü áîäëîãûí ãàðãàõ àþóëã³é áàéäëûí õàíäàëòûí õÿíàëòûí øèéäâýðèéí õýñýã áîëîí õýðýãëýãääýã. Çàðèì áîäëîãóóäàä õàÿã/øîøãî íü °°ð°° øèéäâýð ãàðãàõàä øààðäëàãàòàé á³õ ìýäýýëëèéã àãóóëäàã; áóñàä çàãâàðóóäàä õàÿã/øîøãîíóóä íü èë³³ òîì ä³ðìèéí îëîíëîãèéí õýñýã áîëîí ïðîöåññ õèéãäýæ áîëîõ þì. ýõ ìýò îëíûã äóðäàæ áîëíî. Æèøýý íü àéë äýýð biba/low ãýæ õàÿã/øîøãûã òîõèðóóëàõ íü Biba àþóëã³é áàéäëûí áîäëîãûí ìîäóëèàð õàíãàãäàæ áàéäàã õàÿã/øîøãûã “low” ãýñýí óòãàòàéãààð èëýðõèéëæ áàéíà ãýñýí ³ã þì. FreeBSD-ä õàÿãëàëòûí áîëîìæèéã äýìæäýã ö°°í áîäëîãûí ìîäóëèóä íü óðüä÷èëàí òîäîðõîéëñîí òóñãàé ãóðâàí õàÿã/øîøãûã ñàíàë áîëãîäîã. Ýäãýýð íü low áóþó äîîä, high áóþó °íä°ð áîëîí equal áóþó òýíö³³ ãýñýí õàÿã/øîøãóóä þì. Òýäãýýð íü õàíäàëòûí õÿíàëòûã áîäëîãûí ìîäóëü á³ðòýé °°ð °°ð°°ð õèéäýã áîëîâ÷ low õàÿã/øîøãî íü õàìãèéí äîîä òîõèðãîî áîëîõ áà equal õàÿã/øîøãî íü ñóáüåêò ýñâýë îáüåêòèéã õààõ ýñâýë õàìààðàõã³é ãýæ òîõèðóóëàõ á°ã°°ä high õàÿã/øîøãî íü Biba áîëîí MLS áîäëîãûí ìîäóëèóäàä áàéõ õàìãèéí äýýä òîõèðãîîã õèéõ áîëíî. àíö õàÿã/øîøãî á³õèé àéëûí ñèñòåìèéí îð÷èíä îáüåêòóóä äýýð ç°âõ°í íýã õàÿã/øîøãî õýðýãëýãäýõ áîëíî. Ýíý íü õàíäàëòûí ç°âø°°ðë³³äèéí íýã îëîíëîãèéã á³õýë á³òýí ñèñòåìèéí äàãóó àøèãëàõ á°ã°°ä îëîí îð÷íû õóâüä ýíý íü õàíãàëòòàé áàéæ áîëîõ þì. Ôàéëûí ñèñòåì äýõ îáüåêòóóä ýñâýë ñóáüåêòóóä äýýð îëîí õàÿã/øîøãîíóóä òàâèõ ö°°í òîõèîëäëóóä áàéäàã. Èéì òîõèîëäîëä multilabel òîõèðóóëãûã tunefs(8) óðóó äàìæóóëæ °ã÷ áîëîõ þì. Biba áîëîí MLS-èéí õóâüä òîîí õàÿã/øîøãûã øàòàëñàí õÿíàëòûí òîäîðõîé ò³âøèíã çààõûí òóëä òîõèðóóëæ áîëíî. Ýíý òîîí ò³âøèí íü ìýäýýëëèéã àíãèëëûí °°ð °°ð á³ëã³³äýä õóâààõ áóþó ýðýìáýëæ òýð á³ëýã ýñâýë èë³³ °íä°ð á³ëãèéí ò³âøèíä õàíäàõ õàíäàëòûã ç°âõ°í ç°âø°°ð°õ°ä õýðýãëýãääýã. Èõýíõ òîõèîëäëóóäàä àäìèíèñòðàòîð íü àéëûí ñèñòåìèéí äàãóó õýðýãëýõèéí òóëä ç°âõ°í ãàíö õàÿã/øîøãûã òîõèðóóëäàã. Õ°°å õ³ëýýãýýðýé, ýíý íü DAC-òàé àäèë þì áàéíà! MAC íü õÿíàëòûã ç°âõ°í àäìèíèñòðàòîðò °ãä°ã ãýæ áîäñîí. Ýíý °ã³³ëáýð íü çàðèì òàëààðàà ³íýí õýâýýð áàéãàà, ó÷èð íü root õýðýãëýã÷èä õÿíàëò áàéãàà á°ã°°ä òýðýýð õýðýãëýã÷äèéã òîõèðîõ çýðýãëýë/õàíäàëòûí ò³âøèíã³³äýä áàéðëóóëàõààð
444
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
áîäëîãóóäûã òîõèðóóëäàã. Õàðàìñàëòàé íü áîäëîãûí îëîí ìîäóëèóä íü root õýðýãëýã÷èéã áàñ õÿçãààðëàæ ÷àäíà. Îáüåêòóóä äýýðõ ³íäñýí õÿíàëò íü òýãýýä á³ëýãò ñóëëàãäàõ áîëîâ÷ root íü òîõèðãîîíóóäûã ÿìàð ÷ ³åä áóöààæ ýñâýë °°ð÷èëæ áîëîõ þì. Ýíý íü Biba áîëîí MLS çýðýã áîäëîãóóäûí õàìàðäàã øàòàëñàí/öýâýðëýãýý çàãâàð þì. 16.4.1
Õàÿã/øîøãîíû òîõèðãîî
Õàÿã/øîøãîíû áîäëîãûí ìîäóëèéí òîõèðãîîíû áàðàã ë á³õ ç³éëñèéã ³íäñýí ñèñòåìèéí õýðýãñë³³äèéã àøèãëàí ã³éöýòãýäýã. Ýäãýýð òóøààëóóä íü îáüåêò ýñâýë ñóáüåêòèéí òîõèðãîî ýñâýë òîõèðãîîíû óäèðäëàãà áîëîí øàëãàëòûí õóâüä ýíãèéí èíòåðýéñýýð õàíãàäàã. Á³õ òîõèðãîîã setfmac(8) áîëîí setpmac(8) õýðýãñë³³äèéã àøèãëàí õèéíý. setfmac òóøààë íü ñèñòåìèéí îáüåêòóóä äýýð MAC õàÿã/øîøãîíóóäûã òîõèðóóëàõàä õýðýãëýãääýã áîë setpmac òóøààë íü ñèñòåìèéí ñóáüåêòóóä äýýð õàÿã/øîøãîíóóäûã òîõèðóóëàõàä õýðýãëýãääýã. Äàðààõ òóøààëûã àæèãëààðàé: # setfmac biba/high test
Äýýðõ òóøààëûã àæèëëóóëñíû äàðàà õýðýâ ÿìàð ÷ àëäàà ãàðààã³é áîë õ³ëýýõ ì°ð áóöààãäàõ áîëíî. Ýäãýýð òóøààëóóä íü õ°ä°ëã°°íã³é áèø áàéõ öîðûí ãàíö ³å íü àëäàà ãàðàõ ³å þì; chmod(1) áîëîí chown(8) òóøààëóóäòàé àäèë þì. Çàðèì òîõèîëäîëä ýíý àëäàà íü “Permission denied” ãýñýí áàéæ áîëîõ á°ã°°ä ýíý íü èõýâ÷ëýí õÿçãààðëàñàí îáüåêò äýýð õàÿã/øîøãûã òîõèðóóëàõ áóþó çàñàõ ³åä ãàðäàã. Ñèñòåìèéí àäìèíèñòðàòîð ³³íèéã äàâæ ãàðàõûí òóëä äàðààõ òóøààëóóäûã àøèãëàæ áîëíî: 1
# setfmac biba/high test “Permission denied” # setpmac biba/low setfmac biba/high test # getfmac test
test: biba/high
Äýýðõýýñ õàðàõàä àæèëëóóëñàí ïðîöåññîä °°ð õàÿã/øîøãî çààæ áîäëîãûí ìîäóëèéí òîõèðãîîíóóäûã °°ð÷ë°õ°ä setpmac òóøààëûã õýðýãëýæ áîëîõ þì áàéíà. getpmac õýðýãñýë íü èõýâ÷ëýí òóõàéí ³åä àæèëëàæ áàéãàà sendmail çýðýã ïðîöåññóóäàä õýðýãëýãääýã. Õýäèéãýýð ýíý íü òóøààëûí îðîíä ïðîöåññèéí ID-ã àâäàã áîëîâ÷ ëîãèê íü òóéëûí ò°ñòýé þì. Õýðýâ õýðýãëýã÷èä °°ðèéí õàíäàëòàä áàéõã³é àéëûã óäèðäàõûã îðîëäâîë äóóäàãäñàí áîäëîãûí ìîäóëèóäûí ä³ðì³³äýýñ áîëîîä “Operation not permitted” àëäàà mac_set_link óíêöýýð õàðóóëàãäàõ áîëíî. 16.4.1.1 Íèéòëýã õàÿã/øîøãîíû ò°ðë³³ä
mac_biba(4), mac_mls(4) áîëîí mac_lomac(4) áîäëîãûí ìîäóëèóäûí õóâüä ýíãèéí õàÿã/øîøãîíóóäûã çààæ °ã°õ áîëîìæ îëãîãäñîí áàéäàã. Ýäãýýð íü high áóþó °íä°ð/äýýä, equal áóþó òýíö³³ áîëîí low áóþó äîîä ãýñýí õýëáýðèéã àâàõ á°ã°°ä ýäãýýð õàÿã/øîøãîíóóäûí þó õàíãàäàã òàëààð òîâ÷ òàéëáàðûã äîîð äóðäàâ:
õàÿã/øîøãî íü îáüåêò ýñâýë ñóáüåêòèéí àâ÷ áîëîõ õàìãèéí äîîä õàÿã/øîøãîíû òîõèðãîî ãýãääýã. ³íèéã îáüåêòóóä ýñâýë ñóáüåêòóóä äýýð òîõèðóóëàõ íü °íä°ð ãýæ òýìäýãëýãäñýí îáüåêòóóä ýñâýë ñóáüåêòóóä óðóó õàíäàõ òýäãýýðèéí õàíäàëòûã õààõ áîëíî. equal õàÿã/øîøãî íü áîäëîãîîñ ÷°ë°°ë°ãä°õ îáüåêòóóä äýýð ç°âõ°í òàâèãäàõ ¼ñòîé. high õàÿã/øîøãî íü îáüåêò ýñâýë ñóáüåêòýä õàìãèéí èõ áîëîìæèò òîõèðãîîã ç°âø°°ðä°ã.
• low
• •
445
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Áîäëîãûí ìîäóëü á³ðèéí õóâüä òýäãýýð òîõèðãîî á³ð °°ð °°ð ìýäýýëëèéí óðñãàëûí çààâðûã õèéõ áîëíî. Òîõèðîõ ãàðûí àâëàãûí õóóäàñíóóäûã óíøèõ íü ýäãýýð åð°íõèé õàÿã/øîøãîíû òîõèðãîîíóóäûí ò°ðõ áàéäëûã öààøèä òàéëáàðëàõ áîëíî. 16.4.1.1.1 Õàÿã/øîøãîíû èë³³ íàðèéí òîõèðãîî
Òîîí çýðãýýð èëýðõèéëñýí õàÿã/øîøãîíóóä íü comparison:compartment+compartment áóþó õàðüöóóëàëò:òàñàëãàà+òàñàëãàà ãýñýíä çîðèóëàãäàæ õýðýãëýãääýã, òèéìýýñ äàðààõ íü: biba/10:2+3+6(5:2+3-20:2+3+4+5+6)
Èíãýæ òàéëáàðëàãäàæ áîëíî: “Biba Áîäëîãûí Õàÿã/Øîøãî”/“Çýðýã 10” :“Òàñàëãààíóóä 2, 3 áîëîí 6”: (“çýðýã 5 ...”) Ýíý æèøýýí äýýð ýõíèé çýðýã íü “ýåêòèâ òàñàëãààíóóä”òàé “ýåêòèâ çýðýã” ãýæ òîîöîãääîã, õî¼ð äàõü çýðýã íü äîîä çýðýã á°ã°°ä õàìãèéí ñ³³ëèéíõ íü °íä°ð çýðýã þì. Èõýíõ òîõèðãîîíóóäàä ýäãýýð òîõèðóóëãóóäûã àøèãëàäàãã³é, õàðèí òýäãýýðèéã èë³³ íàðèéí òîõèðãîîíä çîðèóëæ ñàíàë áîëãîäîã. Ñèñòåìèéí îáüåêòóóäàä õàìààðóóëàõàä òýäãýýð íü ñèñòåìèéí ñóáüåêòóóäòàé õàðüöóóëàõ þì áîë ç°âõ°í òóõàéí ³åèéí çýðýã/òàñàëãààíóóäòàé áàéäàã. Ñèñòåìèéí ñóáüåêòóóä íü ñèñòåì áîëîí ñ³ëæýýíèé èíòåðýéñ³³äýä áàéãàà ýðõ³³äèéí õ³ðýýã òóñãàäàã. ѳëæýýíèé èíòåðýéñ³³ä äýýð õàíäàëòûí õÿíàëòûí õóâüä õàÿã/øîøãîíóóä íü àøèãëàãääàã. Ñóáüåêò áîëîí îáüåêò õîñëîë äàõü çýðýã áîëîí òàñàëãààíóóä íü “äàâàìãàéëàë” ãýãääýã õàðèëöààã á³òýýõýä õýðýãëýãääýã. Ýíý õàðèëöààíä ñóáüåêò íü îáüåêòèéã äàâàìãàéëäàã, ýñâýë îáüåêò íü ñóáüåêòèéã äàâàìãàéëäàã, ýñâýë àëü íýã íü í°ã°°ã°° äàâàìãàéëàõã³é, ýñâýë õî¼óëàà íýã íýãíèéãýý äàâàìãàéëäàã. “õî¼óëàà äàâàìãàéëàõ” òîõèîëäîë íü õî¼ð õàÿã/øîøãî òýíö³³ áàéõàä òîõèîëääîã. Biba-èéí ìýäýýëëèéí óðñãàëûí ì°í ÷àíàðààñ áîëîîä ò°ñ°ëä òîõèðîõ “ìýäýõ õýðýãòýé” òàñàëãààíóóäûí îëîíëîãèéí ýðõ³³ä òàíä áàéäàã. ýõäýý îáüåêòóóä íü áàñ òàñàëãààíóóäûí îëîíëîãòîé áàéíà. Õýðýãëýã÷èä íü °°ðñä°° õÿçãààðëàëòã³é áàéäàã òàñàëãàà äàõü îáüåêòóóäàä õàíäàõûí òóëä su ýñâýë setpmac òóøààëóóäûã àøèãëàí °°ðñäèéíõ°° ýðõ³³äèéã äýä ýðõ³³ä áîëãîæ áîëîõ þì. 16.4.1.2 Õýðýãëýã÷èä áîëîí õàÿã/øîøãîíû òîõèðãîîíóóä
Õýðýãëýã÷äèéí °°ðñäèéíõ íü àéëóóä áîëîí ïðîöåññóóä ñèñòåì äýýð òîäîðõîéëñîí àþóëã³é áàéäëûí áîäëîãîòîé ç°â õàðèëöàí àæèëëàäàã áàéõûí òóëä õýðýãëýã÷èä íü °°ðñä°° õàÿã/øîøãîíóóäòàé áàéõ øààðäëàãàòàé áàéäàã. ³íèéã login.conf àéëä íýâòðýëòèéí àíãèëëóóäûã àøèãëàí òîõèðóóëäàã. Õàÿã/øîøãîíóóäûã àøèãëàäàã áîäëîãûí ìîäóëü á³ð õýðýãëýã÷èéí àíãèëëûí òîõèðãîîã õèéõ áîëíî. Áîäëîãûí ìîäóëü á³ðèéí òîõèðãîîã àãóóëàõ æèøýý îðóóëãûã äîîð ³ç³³ëýâ:
default:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:\ :manpath=/usr/share/man /usr/local/man:\ :nologin=/usr/sbin/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :vmemoryuse=100M:\
446
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò :stacksize=2M:\ :memorylocked=4M:\ :memoryuse=8M:\ :filesize=8M:\ :coredumpsize=8M:\ :openfiles=24:\ :maxproc=32:\ :priority=0:\ :requirehome:\ :passwordtime=91d:\ :umask=022:\ :ignoretime@:\ :label=partition/13,mls/5,biba/10(5-15),lomac/10[2]:
òîõèðóóëãà íü õýðýãëýã÷èéí àíãèëëûí MAC-èéí ³éë÷ëýõ àíõäàã÷ õàÿã/øîøãûã òîõèðóóëàõàä õýðýãëýãääýã. Õýðýãëýã÷èä ýíý óòãûã °°ð÷ë°õ ç°âø°°ð°ë õýçýý ÷ °ã°ãä°õã³é ó÷ðààñ ýíý íü õýðýãëýã÷èéí õóâüä ñîíãîõ áîëîìæã³é þì. ýõäýý æèíõýíý òîõèðãîîí äýýð àäìèíèñòðàòîð íü áîäëîãûí ìîäóëü á³ðèéã èäýâõæ³³ëýõèéã õýçýý ÷ õ³ñýõã³é. Ýíý òîõèðãîîíóóäààñ àëü íýãèéã íü õèéæ ã³éöýòãýõýýñýý °ìí° ýíý á³ëãèéí ³ëäñýíèéã äàõèí øàëãàæ óíøèõûã ç°âë°æ áàéíà. label
Note: Õýðýãëýã÷èä íü ýõíèé íýâòðýëòèéíõýý äàðàà °°ðñäèéí õàÿã/øîøãûã °°ð÷èëæ áîëîõ þì. ýõäýý ýíý °°ð÷ë°ëò íü áîäëîãûí øàõàëòóóäûí ýðõøýýëä áàéäàã. Äýýðõ æèøýý íü ïðîöåññèéí õàìãèéí áàãà á³ðýí á³òýí áàéäëûã 5, ò³³íèé õàìãèéí èõ óòãà íü 15, ãýõäýý àíõäàã÷ ýåêòèâ õàÿã/øîøãî íü 10 ãýæ Biba áîäëîãîä õýëæ áàéíà. Ïðîöåññ íü ìàãàäã³é õýðýãëýã÷ setpmac òóøààëûã àæèëëóóëñíààñ áîëîîä õàÿã/øîøãîî °°ð÷ë°õ°°ð ñîíãîõ õ³ðòýë 10 äýýð àæèëëàõ áîëíî. setpmac òóøààë íü íýâòðýëòèéí ³åä õ³ðýýã òîõèðóóëàõ Biba-èéí øàõàëòàä áàéõ áîëíî.
Á³õ òîõèîëäëóóäàä login.conf-ä °°ð÷ë°ëò õèéñíèé äàðàà íýâòðýëòèéí àíãèëëûí áîëîìæèéí ìýäýýëëèéí áààçûã cap_mkdb òóøààë àøèãëàí äàõèí á³òýýõ ¼ñòîé á°ã°°ä ýíý íü îéðòîæ áàéãàà æèøýý ýñâýë õýëýëö³³ëýã á³ðò òóñãàãäàõ áîëíî. Îëîí ñàéòóóä íü õýä õýäýí °°ð °°ð õýðýãëýã÷èéí àíãèëëóóäûã øààðääàã ÿëàíãóÿà àñàð èõ òîîíû õýðýãëýã÷èäòýé áàéæ áîëîõûã òýìäýãëýõ õýðýãòýé þì. Ìàø ñàéí ò°ë°âë°õ õýðýãòýé á°ã°°ä óäèðäàõàä òóéëûí õýö³³ áîëæ áîëîõ þì. FreeBSD-èéí èðýýä³éí õóâèëáàðóóä íü õýðýãëýã÷äèéã õàÿã/øîøãîíóóäàä òààðóóëàõäàà øèíý àðãûã îðóóëàõ áîëíî, ãýõäýý ýíý íü FreeBSD 5.3-ààñ õîéø õýñýã õóãàöàà °íã°ðò°ë áýëýí áîëîõã³é þì. 16.4.1.3 ѳëæýýíèé èíòåðýéñ³³ä áîëîí õàÿã/øîøãîíû òîõèðãîîíóóä
Õàÿã/øîøãîíóóä íü ñ³ëæýýíèé äàãóóõ °ã°ãäëèéí óðñãàëûã õÿíàõàä òóñëàõ çîðèëãîîð ñ³ëæýýíèé èíòåðýéñ³³ä äýýð áàñ òàâèãäàæ áîëíî. Á³õ òîõèîëäîëä òýäãýýð íü áîäëîãóóä îáüåêòóóäàä ³éë÷èëäýã øèãýýð ³éë÷èëäýã. biba äýýðõ °íä°ð òîõèðãîîíóóäòàé õýðýãëýã÷äèéã æèøýý íü äîîä õàÿã/øîøãîòîé ñ³ëæýýíèé èíòåðýéñ³³äýä õàíäàõûã ç°âø°°ðä°ãã³é. ѳëæýýíèé èíòåðýéñ³³ä äýýð MAC õàÿã/øîøãûã òîõèðóóëàõäàà maclabel òîõèðóóëãûã ifconfig òóøààë óðóó °ã÷ áîëîõ þì. Æèøýý íü: # ifconfig bge0 maclabel biba/equal
447
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
òóøààë íü
èéí MAC õàÿã/øîøãûã bge(4) èíòåðýéñ äýýð òîõèðóóëàõ áîëíî. òàé ò°ñòýé òîõèðãîîã àøèãëàæ áàéõ ³åä á³õ õàÿã/øîøãûã òýð ÷èãýýð íü õààëòàíä ("") õèéõ ¼ñòîé, òýãýõã³é áîë àëäàà áóöààãäàõ áîëíî. Õàÿãëàëòûã äýìæäýã áîäëîãûí ìîäóëü á³ð òààðóóëàõ áîëîìæòîé õóâüñàã÷òàé áàéäàã á°ã°°ä òýäãýýðèéã ñ³ëæýýíèé èíòåðýéñ³³ä äýýð MAC õàÿã/øîøãûã õààõäàà õýðýãëýæ áîëîõ þì. Õàÿã/øîøãûã equal áóþó òýíö³³ ãýæ òîõèðóóëàõ íü èæèë í°ë°°ë°ëòýé áàéõ áîëíî. Òýäãýýð òààðóóëàõ áîëîìæòîé õóâüñàã÷óóäûí õóâüä sysctl-èéí òóøààëûí ãàðàëò, áîäëîãûí ãàðûí àâëàãûí õóóäàñíóóä ýñâýë á³ð ýíý á³ëãèéí ³ëäñýí õýñýã äýõ ìýäýýëëèéã äàõèí ³çýýðýé. biba/equalbiba/high(low-high)-
16.4.2
àíö õàÿã/øîøãî óó ýñâýë îëîí õàÿã/øîøãî óó?
Àíõäàã÷ààð ñèñòåì íü singlelabel òîõèðóóëãûã àøèãëàõ áîëíî. ýõäýý ýíý íü àäìèíèñòðàòîðò þó ãýæ îéëãîãäîõ âý? Õýä õýäýí ÿëãààíóóä áàéäàã á°ã°°ä òýäãýýð íü ñèñòåìèéí àþóëã³é áàéäëûí çàãâàðò óÿí õàòàí ÷àíàðûí õóâüä äàâóó áîëîí ñóë òàëóóäû㠳糳ëäýã. singlelabel íü ç°âõ°í íýã õàÿã/øîøãîíû õóâüä ç°âø°°ð°õ á°ã°°ä æèøýýëáýë biba/high-èéã ñóáüåêò ýñâýë îáüåêò á³ðèéí õóâüä àøèãëàõ þì. Ýíý íü óäèðäëàãûí õóâüä áàãà àæèëëàãààã °ãä°ã áîëîâ÷ õàÿãëàëòûã äýìæäýã áîäëîãóóäûí óÿí õàòàí ÷àíàðûã áóóðóóëäàã. Îëîí àäìèíèñòðàòîðóóä °°ðñäèéí àþóëã³é áàéäëûí áîäëîãîäîî multilabel òîõèðóóëãûã àøèãëàõûã õ³ñýæ áîëîõ þì. multilabel òîõèðóóëãà íü ñóáüåêò ýñâýë îáüåêò á³ðèéã õóâààëòàä ç°âõ°í íýã õàÿã/øîøãûã ç°âø°°ð°õ ñòàíäàðò singlelabel òîõèðóóëãûí îðîíä °°ðèéí ãýñýí òóñäàà MAC õàÿãòàé áàéõûã ç°âø°°ð°õ áîëíî. multilabel áîëîí single õàÿã/øîøãîíû òîõèðóóëãóóä íü Biba, Lomac, MLS áîëîí SEBSD çýðýã õàÿãëàëòûí áîëîìæèéã õèéæ ã³éöýòãýäýã áîäëîãóóäàä ç°âõ°í øààðäëàãàòàé áàéäàã. Èõýíõ òîõèîëäîëä multilabel-èéã òîõèðóóëàõ åð°°ñ°° õýðýãã³é áàéæ áîëîõ þì. Äàðààõ òîõèîëäîë áîëîí àþóëã³é áàéäëûí çàãâàðûã àâ÷ ³çüå: •
MAC òîãòîëöîî áîëîí ò°ð°ë á³ðèéí áîäëîãóóäûí õîëèìãèéã àøèãëàäàã FreeBSD âýá ñåðâåð.
Ýíý ìàøèí íü ç°âõ°í íýã õàÿã/øîøãî biba/high-èéã ñèñòåìèéí á³õ þìàíäàà øààðääàã. Ýíä ãàíö õàÿã/øîøãî íü ³ðãýëæ í°ë°°ë°õ áîëîõîîð àéëûí ñèñòåì íü multilabel òîõèðóóëãûã øààðäàõã³é. • ýõäýý ýíý ìàøèí íü âýá ñåðâåð áîëîõ á°ã°°ä áè÷èõ áîëîìæîîñ õàìãààëàõûí òóëä âýá ñåðâåðèéã biba/low-ä àæèëëóóëàõ ¼ñòîé. Biba áîäëîãî áîëîí ýíý íü õýðõýí àæèëëàäàã òàëààð ñ³³ëä õýëýëöýõ áîëíî. Òýãýõýýð õýðýâ °ìí°õ òàéëáàð îéëãîõîä õýö³³ áàéãàà áîë ç³ãýýð ë öààø ³ðãýëæë³³ëýí óíøààä áóöàæ ýðãýæ èðýýðýé. Ñåðâåð íü àæèëëàæ áàéõ ³åèéí ò°ëâèéíõýý èõýíõ ³åä biba/low òàâèãäñàí òóñäàà õóâààëòûã àøèãëàæ áîëîõ þì. Ýíý æèøýýí äýýð íýëýýí èõ ç³éë áàéõã³é áàéãàà, æèøýý íü °ã°ãä°ë, òîõèðãîî áîëîí õýðýãëýã÷èéí òîõèðãîîíóóä äýýð õÿçãààðëàëòóóä áàéõã³é; ãýõäýý ýíý íü ç°âõ°í äýýð äóðäñàíûã áàòëàõ õóðäõàí æèøýý þì. Õýðýâ õàÿãëàäàãã³é áîäëîãóóäûí àëü íýã àøèãëàãäàõ áîë multilabel òîõèðóóëãà õýçýý ÷ øààðäàãäàõã³é. Ýäãýýðò seeotheruids, portacl áîëîí partition áîäëîãóóä îðäîã. Õóâààëòàä multilabel òîõèðóóëãûã àøèãëàæ multilabel-èéí àæèëëàãààí äýýð òóëãóóðëàñàí àþóëã³é áàéäëûí çàãâàðûã áàéãóóëàõ íü óäèðäëàãûí õóâüä èë³³ àæèëëàãààíä õ³ðãýæ áîëîõ þì. Ó÷èð íü àéëûí ñèñòåì äýõ á³õ ç³éëñ õàÿã/øîøãîòîé áîëîõ þì. Ýäãýýð ç³éëñýä ñàíãóóä, àéëóóä, áîëîí á³ð ò°õ°°ð°ìæèéí öýã³³ä õ³ðòýë îðíî. Äàðààõ òóøààë íü àéëûí ñèñòåì³³ä äýýð îëîí õàÿã/øîøãîòîé áàéõààð multilabel-èéã òîõèðóóëíà. ³íèéã ç°âõ°í ãàíö õýðýãëýã÷èéí ãîðèìä õèéæ áîëíî: •
448
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò # tunefs -l enable /
Ýíý íü swap àéëûí ñèñòåìèéí õóâüä øààðäëàãàòàé áèø þì. Note: Çàðèì õýðýãëýã÷èä multilabel òóãèéã root õóâààëò äýýð òîõèðóóëàõàä àñóóäëóóäòàé òóëãàðñàí áàéæ áîëîõ þì. Õýðýâ èéì òîõèîëäîë áîë ýíý á³ëãèéí Section 16.17 õýñãèéã äàõèí ³çíý ³³.
16.5
Àþóëã³é áàéäëûí òîõèðãîîã ò°ë°âë°õ íü
Øèíý òåõíîëîãè õèéãäýõ áîëãîíä ò°ë°âë°ëòèéí ³å øàò ³ðãýëæ ç°â ç³éòýé ñàíàà áàéäàã. Ò°ë°âë°õ øàòóóäûí ³åýð àäìèíèñòðàòîð åð°íõèéä íü “òîì ä³ð çóðãèéã” õàðàõ ¼ñòîé á°ã°°ä ÿäàæ äàðààõ ç³éë³³äèéã õàðààíäàà áàéëãàæ áàéõ õýðýãòýé: Øèéäëèéí øààðäëàãóóä; • Øèéäëèéí çîðèëãóóä; MAC ñóóëãàöóóäûí õóâüä ýäãýýðò äàðààõ ç³éëñ îðíî: •
Ñèñòåì³³ä äýýð áàéãàà ìýäýýëýë áîëîí ýõ ³³ñâýð³³äèéã õýðõýí àíãèëàõ. • Ìýäýýëýë áà ýõ ³³ñâýð³³äèéí ÿìàð ò°ðë³³äýä õàíäàõûã õèéãäýõ ¼ñòîé õÿçãààðëàëòóóäûí ò°ðëèéí õàìòààð õÿçãààðëàõ. • Ýíý çîðèëãîä õ³ðýõèéí òóëä àëü MAC ìîäóëü ýñâýë ìîäóëèóä øààðäëàãàòàé áîëîõ. Ñèñòåìèéí ýõ ³³ñâýð³³ä áîëîí àþóëã³é áàéäëûí òîõèðãîîíóóäûã äàõèí òîõèðóóëæ °°ð÷ë°õ áîëîìæ ³ðãýëæ áàéäàã á°ã°°ä ñèñòåìýýñ õàéæ àéëóóä áîëîí õýðýãëýã÷èéí á³ðòãýë³³äèéã çàñàõ íü èõýâ÷ëýí ìàø òîõèðîìæã³é áàéäàã. Ò°ë°âë°õ íü ÿìàð íýã àñóóäàëã³é, ³ð àøèãòàé èòãýãäñýí ñèñòåìèéã á³òýýõýä òóñëàõ þì. Òîõèðãîî á³õèé èòãýãäñýí ñèñòåìèéí òóðøèëò íü èõýâ÷ëýí àìèí ÷óõàë áàéäàã á°ã°°ä MAC øèéäëèéã æèíõýíý àæèëëàõ ñèñòåì³³ä äýýð àøèãëàõààñ °ìí° ëàâòàé àøèãòàé áàéäàã áèëýý. MAC á³õèé ñèñòåì äýýð ñóë òîõèðóóëæ îðõèõ íü àìæèëòã³é áàéäëûã òîõèðóóëæ áàéíà ãýñýí ³ã þì. °ð °°ð îð÷íóóä °°ð òóñãàé õýðýãöýý áîëîí øààðäëàãóóäòàé áàéæ áîëîõ þì. ³íçãèé, á³ðýí ã³éöýä àþóëã³é áàéäëûí õóâèéí òîõèðóóëãûã ³³ñãýõ íü ñèñòåì àæèëëàãààíä îðñíû äàðàà °°ð÷ë°ëò³³äèéí õýðýãöýýã áàãàñãàõ áîëíî. Òèéìýýñ äàðàà äàðààãèéí õýñã³³ä àäìèíèñòðàòîðóóäàä áàéäàã °°ð °°ð ìîäóëèóäûí òàëààð °ã³³ëýõ á°ã°°ä òýäãýýðèéí õýðýãëýý áîëîí òîõèðãîîã òàéëáàðëàæ çàðèì òîõèîëäîëä òýäãýýð íü ÿìàð í°õö°ë áàéäëûí ³åä õàìãèéí òîõèðîìæòîé áàéõûã õàðóóëàõ áîëíî. Æèøýý íü âýá ñåðâåð íü mac_biba(4) áîëîí mac_bsdextended(4) áîäëîãóóäûã àøèãëàæ áîëîõ þì. Áóñàä òîõèîëäëóóäàä æèøýý íü ìàø ö°°í ëîêàë õýðýãëýã÷èäòýé ìàøèíû õóâüä mac_partition(4) ìàãàäã³é ç°â ñîíãîëò áîëæ áîëîõ þì. •
16.6
Ìîäóëèéí òîõèðãîî
MAC òîãòîëöîîíä îðñîí ìîäóëü á³ð äýýð äóðäñàí øèã ö°ìä ýìõýòãýãäýæ ýñâýë ö°ìèéí àæèëëàõ ³åèéí ìîäóëü õýëáýðýýð äóóäàãäàæ áîëíî. Áèäíèé ç°âë°ä°ã àðãà áîë ìîäóëèéã ýõíèé à÷ààëàëòûí ³éëäëèéí ³åýð äóóäàãäàõààð áîëãîæ ìîäóëèéí íýðèéã /boot/loader.conf àéëä íýìýõ ÿâäàë þì.
449
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Äàðààõ õýñã³³ä íü ò°ð°ë á³ðèéí MAC ìîäóëèóäûã õýëýëöýæ òýäãýýðèéí áîëîìæóóäûã òàéëáàðëàõ áîëíî. Òýäãýýðèéã òóñãàé îð÷èíä õèéæ ã³éöýòãýõèéã ýíý á³ëýã áàñ õàìðàõ áîëíî. Çàðèì ìîäóëèóä õàÿãëàëòûí õýðýãëýýã äýìæäýã á°ã°°ä õàÿãëàëò íü “ýíèéã ç°âø°°ðñ°í, õàðèí ýíèéã ç°âø°°ð°°ã³é” ãýõ çýðýã õàÿã/øîøãûã õýðýãæ³³ëæ õàíäàëòûã õÿíàäàã áàéíà. Õàÿã/øîøãîíû òîõèðãîîíû àéë íü àéëóóäàä õýðõýí õàíäàæ áîëîõ, ñ³ëæýýíèé õîëáîëòûã õýðõýí ñîëèëöîæ áîëîõ ãýõ çýðýã îëîí àñóóäëóóäûã õÿíàäàã. ìí°õ õýñýã íü àéë á³ðèéí ýñâýë õóâààëò á³ðèéí õàíäàëòûí õÿíàëòûã èäýâõæ³³ëýõèéí òóëä multilabel òóãèéã àéëûí ñèñòåì³³äýä õýðõýí òîõèðóóëàõ òàëààð ³ç³³ëñýí. àíö õàÿã/øîøãî á³õèé òîõèðãîî íü ñèñòåìèéí äàãóó ç°âõ°í íýã õàÿã/øîøãûã õýðýãëýõ á°ã°°ä èéì ó÷ðààñ tunefs-èéí òîõèðóóëãà multilabel ãýæ íýðëýãäñýí þì. 16.7 MAC seeotheruids
ìîäóëü
Ìîäóëèéí íýð: mac_seeotheruids.ko Öàìèéí òîõèðãîîíû ì°ð: options MAC_SEEOTHERUIDS À÷ààëàëòûí òîõèðóóëãà: mac_seeotheruids_load="YES" mac_seeotheruids(4) ìîäóëü íü sysctl-èéí òààðóóëàõ áîëîìæòîé security.bsd.see_other_uids áîëîí security.bsd.see_other_gids õóâüñàã÷óóäûã äóóðàéæ °ðã°òã°ä°ã. Ýíý òîõèðóóëãà íü òîõèðãîîíîîñ °ìí° ÿìàð ÷ õàÿã/øîøãîíóóäûã òîõèðóóëàõûã øààðääàãã³é á°ã°°ä áóñàä ìîäóëèóäòàé õàìààðàëã³éãýýð àæèëëàæ ÷àääàã. Ìîäóëèéã äóóäàæ à÷ààëñíû äàðàà áîëîìæóóäûã õÿíàõûí òóëä äàðààõ sysctl-èéí òààðóóëàõ áîëîìæòîé õóâüñàã÷óóäûã àøèãëàæ áîëíî: íü ìîäóëèéí áîëîìæóóäûã èäýâõæ³³ëæ àíõäàã÷ òîõèðóóëãóóäûã àøèãëàíà. Ýäãýýð àíõäàã÷ òîõèðóóëãóóä íü áóñàä õýðýãëýã÷äèéí ýçýìøèæ áàéãàà ïðîöåññóóä áîëîí ñîêåòóóäûã õàðàõ áîëîìæèéã õýðýãëýã÷äèéí õóâüä õààõ áîëíî. security.mac.seeotheruids.specificgid_enabled íü çàðèì íýã á³ëã³³äèéã ýíý áîäëîãîîñ ÷°ë°°ëæ òýäãýýðèéã ç°âø°°ð°õ áîëíî. Ýíý áîäëîãîîñ çàðèì íýã á³ëã³³äèéã ÷°ë°°ë°õèéí òóëä sysctl òóøààëûí security.mac.seeotheruids.specificgid=XXX õóâüñàã÷èéã àøèãëàíà. Äýýðõ æèøýýí äýýðõ XXX -èéã ÷°ë°°ë°õ á³ëãèéí òîîí ID-ààð ñîëèõ õýðýãòýé. security.mac.seeotheruids.primarygroup_enabled íü òóñãàé àíõäàã÷ á³ëã³³äèéã ýíý áîäëîãîîñ ÷°ë°°ë°õèéí òóëä àøèãëàäàã. Ýíý õóâüñàã÷èéã õýðýãëýõýä security.mac.seeotheruids.specificgid_enabled õóâüñàã÷ òîõèðóóëàãäààã³é áàéæ áîëíî.
• security.mac.seeotheruids.enabled
•
•
16.8 MAC bsdextended
ìîäóëü
Ìîäóëèéí íýð: mac_bsdextended.ko Ö°ìèéí òîõèðãîîíû ì°ð: options MAC_BSDEXTENDED À÷ààëàëòûí òîõèðóóëãà: mac_bsdextended_load="YES" mac_bsdextended(4) ìîäóëü àéëûí ñèñòåìèéí ãàëò õàíûã èäýâõæ³³ëäýã. Ýíý ìîäóëèéí áîäëîãî íü ñòàíäàðò àéëûí ñèñòåìèéí ç°âø°°ðë³³äèéí çàãâàðûí °ðã°òã°ë áîëæ àéëûí ñèñòåì äýõ àéëóóä, õýðýãñë³³ä áîëîí ñàíãóóäûã õàìãààëàõûí òóëä àäìèíèñòðàòîðò ãàëò õàíàòàé àäèë ä³ðìèéí îëîíëîãèéã ³³ñãýõ áîëîìæèéã îëãîäîã. Ôàéëûí ñèñòåìèéí îáüåêòîä õàíäàõûã îðîëäîõîä ä³ðì³³äèéí
450
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
æàãñààëòààñ òîõèðîõ ä³ðýì òààðàõ õ³ðòýë ýñâýë ò°ãñã°ë õ³ðòýë øàëãàäàã. Ýíý àæèëëàãààã sysctl(8)-èéí õóâüñàã÷ security.mac.bsdextended.firstmatch_enabled ïàðàìåòðèéã õýðýãëýæ °°ð÷èëæ áîëíî. FreeBSD äýõ áóñàä ãàëò õàíûí ìîäóëèóäòàé àäèëààð õàíäàëòûí õÿíàëòûí ä³ðì³³äèéã àãóóëàõ àéëûã ³³ñãýæ rc.conf(5)-èéí õóâüñàã÷èéí òóñëàìæòàéãààð à÷ààëàõ ³åä ñèñòåìýýð óíøóóëæ áîëíî. ijðìèéí æàãñààëòûã ipfw(8)-èéí ñèíòàêñòàé ò°ñòýéã°°ð áè÷èãääýã ugidfw(8) õýðýãñëèéã àøèãëàí îðóóëæ áîëíî. Èë³³ õýðýãñë³³äèéã libugidfw(3) ñàí äàõü óíêöóóäûã àøèãëàí áè÷èæ áîëíî. Ýíý ìîäóëüòàé àæèëëàæ áàéõäàà ìàø áîëãîîìæòîé áàéõ õýðýãòýé; ó÷èð íü áóðóó õýðýãëýý àéëûí ñèñòåìèéí çàðèì õýñýãò õàíäàõ áîëîìæã³é áîëãîæ áîëîõ þì. 16.8.1
Æèøýýí³³ä
mac_bsdextended(4) ìîäóëü à÷ààëàãäñàíû äàðàà òóõàéí ³åä áàéãàà ä³ðìèéí òîõèðãîîã æàãñààõàä äàðààõ òóøààë àøèãëàãäàæ áîëíî: # ugidfw list
0 slots, 0 rules
ßã áîäîæ áàéñíû äàãóó ÿìàð ÷ ä³ðì³³ä òîäîðõîéëîãäîîã³é áàéíà. Ýíý íü á³ãä õàíäàõ áîëîìæòîé áàéíà ãýñýí ³ã þì. root-èéã îðõèæ áóñàä õýðýãëýã÷äèéí á³õ õàíäàëòûã õààõ ä³ðìèéã ³³ñãýõèéí òóëä åðä°° ë äàðààõ òóøààëûã àæèëëóóëíà: # ugidfw add subject not uid root new object not uid root mode n
Ýíý íü á³õ õýðýãëýã÷äèéã ls çýðýã õàìãèéí ýíãèéí òóøààëóóäûã àæèëëóóëàõûã õààõ ó÷ðààñ ìàø áóðóó ñàíàà þì. Èë³³ ýõ îðîí÷ ä³ðì³³äèéí æàãñààëò èéìýðõ³³ áàéæ áîëíî: # ugidfw set 2 subject uid user1 object uid user2 mode n # ugidfw set 3 subject uid user1 object gid user2 mode n
Ýíý íü user1 õýðýãëýã÷ýýñ user2-èéí ãýðèéí ñàí óðóó õàíäàõ ñàíãèéí æàãñààëò ³ç³³ëýõ çýðýã äóðûí áîëîí á³õ õàíäàëòûã õààõ áîëíî. user1-èéí îðîíä not uid user2 òîõèðóóëãûã äàìæóóëæ áîëíî. Ýíý íü äýýðõèéí àäèë õàíäàëòûí õÿçãààðëàëòóóäûã ç°âõ°í íýã õýðýãëýã÷èéí õóâüä áèø á³õ õýðýãëýã÷èéí õóâüä òàâèõ áîëíî. Note: root
õýðýãëýã÷èä ýäãýýð °°ð÷ë°ëò³³ä í°ë°°ë°õã³é.
Ýíý íü àéëûí ñèñòåìèéã áýõýëæ áàòæóóëàõàä òóñëàõûí òóëä mac_bsdextended(4) ìîäóëèéã õýðõýí àøèãëàæ áîëîõ åð°íõèé ñàíààã õàðóóëàõ ¼ñòîé. Èë³³ äýëãýðýíã³é ìýäýýëëèéã mac_bsdextended(4) áîëîí ugidfw(8) ãàðûí àâëàãûí õóóäàñíóóäààñ ³çíý ³³. 16.9 MAC ifoff
ìîäóëü
Ìîäóëèéí íýð: mac_ifoff.ko Ö°ìèéí òîõèðãîîíû ì°ð: options MAC_IFOFF À÷ààëàëòûí òîõèðóóëãà: mac_ifoff_load="YES" 451
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò mac_ifoff(4) ìîäóëü íü ñ³ëæýýíèé èíòåðýéñ³³äèéã øóóä èäýâõã³é áîëãîæ ñèñòåìèéí ýõíèé à÷ààëàëòûí ³åýð èäýâõæ³³ëýõã³é áàéëãàõ çîðèëãîîð áàéäàã. Ýíý íü ñèñòåì äýýð ÿìàð ÷ õàÿã/øîøãóóäûã òîõèðóóëàõûã øààðääàãã³éãýýñ ãàäíà áàñ áóñàä MAC ìîäóëèóäààñ õàìààðàëã³é þì. Õÿíàëòûí èõýíõ íü äîîð äóðäñàí sysctl-èéí òààðóóëæ áîëîõ õóâüñàã÷óóäààð õèéãääýã. • security.mac.ifoff.lo_enabled
íýýíý/õààíà.
íü loopback (lo(4)) áóþó áóöàõ èíòåðýéñ äýýðõ á³õ óðñãàëûã
íü Berkeley Packet Filter áóþó Áåðêëè Ïàêåò ø³³ã÷ èíòåðýéñ (bpf(4)) äýýðõ á³õ óðñãàëûã íýýíý/õààíà. • security.mac.ifoff.other_enabled íü áóñàä á³õ èíòåðýéñ³³ä äýýð á³õ óðñãàëûã íýýíý/õààíà. mac_ifoff(4)-èéí õàìãèéí íèéòëýã õýðýãëýýíèé íýã áîë à÷ààëàõ äàðààëëûí ³åýð ñ³ëæýýíèé óðñãàëûã ç°âø°°ð°õ ¼ñã³é îð÷èíä ñ³ëæýýã ìîíèòîð õèéõ ÿâäàë þì. °ð íýã ñàíàë áîëãîõ õýðýãëýý áîë õàìãààëàãäñàí ñàíãóóäàä øèíý ýñâýë °°ð÷ë°ãäñ°í àéëóóäûã îëñîí òîõèîëäîëä ñ³ëæýýíèé óðñãàëûã àâòîìàòààð õààõûí òóëä security/aide-ã àøèãëàäàã ñêðèïòèéã áè÷èõ áàéæ áîëîõ þì. • security.mac.ifoff.bpfrecv_enabled
16.10 MAC portacl
ìîäóëü
Ìîäóëèéí íýð: mac_portacl.ko Ö°ìèéí òîõèðãîîíû ì°ð: MAC_PORTACL À÷ààëàëòûí òîõèðóóëãà: mac_portacl_load="YES" mac_portacl(4) ìîäóëèéã ò°ð°ë á³ðèéí sysctl õóâüñàã÷óóäûã àøèãëàí ëîêàë TCP áîëîí UDP ïîðòóóäûã õîëáîõûã õÿçãààðëàõàä õýðýãëýäýã. Ì°í ÷àíàðòàà mac_portacl(4) íü çààãäñàí ýðõ á³õèé ïîðòóóäûã °°ð°°ð õýëáýë 1024-îîñ áàãà ïîðòóóäûã õîëáîõ áîëîìæèéã root áèø õýðýãëýã÷äýä ç°âø°°ðä°ã. À÷ààëàãäñàíû äàðàà ýíý ìîäóëü íü á³õ ñîêåòóóä äýýð MAC áîäëîãûã èäýâõæ³³ëäýã. Äàðààõ òààðóóëæ áîëîõ õóâüñàã÷óóä áàéäàã: íü áîäëîãûã á³ð ì°ñ°í íýýíý/õààíà. • security.mac.portacl.port_high íü mac_portacl(4)-èéí õàìãààëàëòûã íü èäýâõæ³³ëäýã õàìãèéí äýýä ïîðòûí äóãààðûã òîõèðóóëäàã. • security.mac.portacl.suser_exempt íü òýãýýñ ÿëãààòàé óòãààð òîõèðóóëàãäñàí ³åäýý root õýðýãëýã÷èéã ýíý áîäëîãîîñ ÷°ë°°ëí°. • security.mac.portacl.rules íü ÿã mac_portacl áîäëîãûã çààäàã; äîîðõîîñ õàðíà óó. mac_portacl áîäëîãî íü security.mac.portacl.rules sysctl-ä çààãäñàíû äàãóó õýðýãöýýíýýñýý õàìààðàí õýäýí ÷ ä³ðì³³äòýé áàéæ áîëîõ rule[,rule,...] òåêñò õýëáýðèéí áàéäàã. ijðýì á³ð idtype:id:protocol:port ãýñýí õýëáýðèéí áàéäàã. idtype ïàðàìåòð íü uid ýñâýë gid áàéæ áîëîõ á°ã°°ä id ïàðàìåòðèéã õýðýãëýã÷èéí id ýñâýë á³ëãèéí id ãýæ òàéëáàðëàäàã. protocol ïàðàìåòð íü tcp ýñâýë udp ãýæ çààãäàí ä³ðìèéã TCP ýñâýë UDP-èéí àëèíä õàìààðàõûã òîäîðõîéëîõîä õýðýãëýãääýã. ѳ³ëèéí port ïàðàìåòð íü çààãäñàí õýðýãëýã÷ ýñâýë á³ëýãò õîëáîõûã ç°âø°°ð°õ ïîðòûí äóãààð þì. • security.mac.portacl.enabled
Note: ijðìèéí îëîíëîã íü ö°ì°°ð øóóä òàéëáàðëàãääàã áîëîõîîð õýðýãëýã÷èéí ID á³ëãèéí ID áîëîí ïîðòûí ïàðàìåòðóóäûí õóâüä ç°âõ°í òîîí óòãóóäûã àøèãëàæ áîëíî. °ð°°ð õýëáýë õýðýãëýã÷, á³ëýã áîëîí ïîðòûí ³éë÷èëãýýíèé íýðñèéã àøèãëàæ áîëîõã³é.
452
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Àíõäàã÷ààð UNIX ò°ñò ñèñòåì³³ä äýýð 1024-°°ñ áàãà ïîðòóóäûã ç°âõ°í ýðõ á³õèé ïðîöåññóóä áóþó °°ð°°ð õýëáýë root-ýýð àæèëëàäàã ïðîöåññóóäàä àøèãëàõàä/õîëáîõîä õýðýãëýäýã. mac_portacl(4)-èéí õóâüä ýðõã³é ïðîöåññóóäûã 1024-°°ñ áàãà ïîðòóóäàä õîëáîõûã ç°âø°°ð°õä°° ýíý ñòàíäàðò UNIX õÿçãààðëàëòûã õààñàí áàéõ ¼ñòîé. ³íèéã sysctl(8)-èéí net.inet.ip.portrange.reservedlow áîëîí net.inet.ip.portrange.reservedhigh õóâüñàã÷óóäûã òýã áîëãîí õèéæ áîëíî. Äîîð æèøýýí³³äèéã ³çíý ³³, ýñâýë äýëãýðýíã³é ìýäýýëëèéã mac_portacl(4) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. 16.10.1
Æèøýýí³³ä
Äàðààõ æèøýýí³³ä íü äýýðõ õýëýëö³³ëãèéã àðàé èë³³ òàéëáàðëàõ áîëíî: # sysctl security.mac.portacl.port_high=1023 # sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0
Ýõëýýä áèä mac_portacl(4)-èéã ñòàíäàðò ýðõ á³õèé ïîðòóóäûã õàìàð÷ åðäèéí UNIX õîëáîëòûí õÿçãààðëàëòóóäûã õààõààð òîõèðóóëíà. # sysctl security.mac.portacl.suser_exempt=1
õýðýãëýã÷èéã ýíý áîäëîãîîð õÿçãààðëàõã³éí òóëä security.mac.portacl.suser_exempt-ã òýãýýñ ÿëãààòàé óòãààð òîõèðóóëíà. mac_portacl(4) ìîäóëü íü îäîî UNIX ò°ñò ñèñòåì³³ä àíõäàã÷ òîõèðãîîòîéãîîð àæèëëàäàã øèãýýð òîõèðóóëàãäñàí áàéíà.
root
# sysctl security.mac.portacl.rules=uid:80:tcp:80
UID 80 á³õèé (åðäèéí òîõèîëäîëä www õýðýãëýã÷) õýðýãëýã÷èä 80 ïîðòûã õîëáîõûã ç°âø°°ðí°. root ýðõã³éãýýð âýá ñåðâåð àæèëëóóëàõûã www õýðýãëýã÷èä ç°âø°°ð°õ°ä ³³íèéã àøèãëàæ áîëíî. # sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995
UID 1001 á³õèé õýðýãëýã÷èä TCP 110 (“pop3”) áîëîí 995 (“pop3s”) ïîðòóóäûã õîëáîõûã ç°âø°°ðí°. Ýíý íü 110 áîëîí 995 ïîðòóóäààð õîëáîëòóóäûã õ³ëýýí àâäàã ñåðâåð ýõë³³ëýõèéã õýðýãëýã÷èä ç°âø°°ðä°ã.
16.11 MAC
õóâààëòûí ìîäóëü
Ìîäóëèéí íýð: mac_partition.ko Ö°ìèéí òîõèðãîîíû ì°ð: options MAC_PARTITION À÷ààëàëòûí òîõèðóóëãà: mac_partition_load="YES" mac_partition(4) áîäëîãî íü ïðîöåññóóäûã òýäãýýðèéí MAC õàÿã/øîøãî äýýð ³íäýñëýí òóñãàé “õóâààëòóóäàä” îðóóëäàã. ³íèéã jail(8)-èéí òóñãàé íýã ò°ð°ë ãýæ áîäîõ õýðýãòýé, ãýõäýý ýíý íü òèéì ÷ çîõèñòîé õàðüöóóëàëò áèø þì. À÷ààëàõ ïðîöåññèéí ³åýð ýíý áîäëîãûã äóóäàæ èäýâõæ³³ëýõèéí òóëä loader.conf(5) àéëä íýìýãäýõ ¼ñòîé íýã ìîäóëü íü ýíý þì.
453
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Ýíý áîäëîãûí èõýíõ òîõèðãîî íü äîîð òàéëáàðëàãäàõ setpmac(8) õýðýãñëýýð õèéãääýã. Ýíý áîäëîãîä çîðèóëàãäñàí äàðààõ sysctl-èéí õóâüñàã÷ áàéäàã: íü MAC ïðîöåññèéí õóâààëòóóäûã õýðýãëýõèéã èäýâõæ³³ëäýã. Ýíý áîäëîãî èäýâõòýé áîëîõîä õýðýãëýã÷äýä ç°âõ°í °°ðèéí ïðîöåññóóäûã áîëîí íýã õóâààëòàä áàéãàà áóñàä õýðýãëýã÷äèéí ïðîöåññóóäûã õàðàõûã ç°âø°°ð°õ á°ã°°ä ãýõäýý ýíý õóâààëòûí õ³ðýýíýýñ ãàäíà áàéãàà õýðýãñë³³äòýé àæèëëàõûã ç°âø°°ð°õã³é áàéõ áîëíî. Æèøýý íü äýýðõ insecure àíãèëàëä áàéãàà õýðýãëýã÷èéã top òóøààë áîëîí ïðîöåññ ³³ñãýõ ¼ñòîé áóñàä îëîí òóøààëóóäàä õàíäàõûã ç°âø°°ð°õã³é þì. Õýðýãñë³³äèéã õóâààëòûí õàÿã/øîøãî óðóó îðóóëàõ áóþó òîõèðóóëàõûí òóëä setpmac õýðýãñëèéã õýðýãëýíý: • security.mac.partition.enabled
# setpmac partition/13 top
Ýíý íü
òóøààëûã insecure àíãèëàë äàõü õýðýãëýã÷äèéí õàÿã/øîøãîíû îëîíëîãò íýìýõ áîëíî. àíãèëëûí õýðýãëýã÷äèéí ³³ñãýñýí á³õ ïðîöåññóóä partition/13 õàÿã/øîøãîä áàéõûã òýìäýãëýõ íü ç³éòýé þì. top insecure
16.11.1
Æèøýýí³³ä
Äàðààõ òóøààë íü õóâààëòûí õàÿã/øîøãî áîëîí ïðîöåññèéí æàãñààëòûã òàíä õàðóóëàõ áîëíî: # ps Zax
Äàðààãèéí òóøààë íü °°ð õýðýãëýã÷èéí ïðîöåññèéí õóâààëòûí õàÿã/øîøãî áîëîí òýð õýðýãëýã÷èéí òóõàéí ³åä àæèëëàæ áàéãàà ïðîöåññóóäûã õàðàõûã ç°âø°°ð°õ áîëíî: # ps -ZU trhodes
Note: mac_seeotheruids(4) áîäëîãî äóóäàãäàæ à÷ààëàãäààã³é áîë root
õýðýãëýã÷ õàðæ ÷àäíà.
õàÿã/øîøãî äàõü ïðîöåññóóäûã
Æèíõýíý óð ä³é øààðäñàí øèéäýë íü /etc/rc.conf àéë äàõü á³õ ³éë÷èëãýýí³³äèéã õààæ òýäãýýðò ç°â õàÿãëàëòûã òîõèðóóëæ òýäãýýðèéã ñêðèïòýýð ýõë³³ëäýã áàéæ áîëîõ þì. Note: Äàðààõ áîäëîãóóä íü ñàíàë áîëãîñîí ãóðâàí àíõäàã÷ õàÿã/øîøãîíû îðîíä á³õýë òîîí òîõèðóóëãóóäûã äýìæäýã. Ýäãýýð òîõèðóóëãóóä áîëîí òýäãýýðèéí õÿçãààðëàëòóóä íü ìîäóëèéí ãàðûí àâëàãûí õóóäàñíóóäàä äýëãýðýíã³é òàéëáàðëàãäñàí áàéãàà.
16.12 MAC
îëîí ò³âøèíò àþóëã³é áàéäëûí ìîäóëü
Ìîäóëèéí íýð: mac_mls.ko Ö°ìèéí òîõèðãîîíû ì°ð: options
MAC_MLS
454
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
À÷ààëàëòûí òîõèðóóëãà: mac_mls_load="YES" mac_mls(4) áîäëîãî íü ñèñòåì äýõ ñóáüåêòóóä áîëîí îáüåêòóóäûí õîîðîíäûí õàíäàëòûã ìýäýýëëèéí óðñãàëûí ÷àíä áîäëîãûí òóñëàìæòàéãààð õÿíàæ õýðýãæ³³ëäýã. MLS îð÷íóóäàä “clearance” áóþó öýâýðëýãýý ò³âøèí íü ñóáüåêò áîëîí îáüåêòóóäûí õàÿã/øîøãîíä òàñàëãààíóóäûí öóã òîõèðóóëàãääàã. Ýäãýýð öýâýðëýãýý áóþó ìýäðýõ³éí ò³âøèíã³³ä íü çóðãààí ìÿíãààñ èõ òîîíä õ³ð÷ áîëîõ ó÷èð ÿìàð ÷ àäìèíèñòðàòîðûí õóâüä ñóáüåêò ýñâýë îáüåêò á³ðèéã íàðèéí òîõèðóóëàõ íü ñ³ðäìýýð àæèë áàéäàã. Õàðèí ³³íèéã õ°íã°â÷ë°õ ãóðâàí øèðõýã “õîðìûí” õàÿã/øîøãî ýíý áîäëîãîä îðñîí áàéäàã. Ýäãýýð õàÿã/øîøãîíóóä íü mls/low, mls/equal áîëîí mls/high þì. Ýäãýýð õàÿã/øîøãîíóóä íü ãàðûí àâëàãûí õóóäñàíä äýëãýðýíã³é òàéëáàðëàãäñàí áîëîõîîð ýíä ç°âõ°í òîâ÷õîí òàéëáàðëàÿ: õàÿã/øîøãî íü äîîä òîõèðãîîã àãóóëäàã á°ã°°ä ýíý íü ò³³íèéã áóñàä á³õ îáüåêòóóäààð çàõèðóóëàõûã ç°âø°°ðä°ã. mls/low-ýýð õàÿãëàãäñàí áîëãîí äîîä öýâýðëýãýýíèé ò³âøèíòýé áàéõ á°ã°°ä °íä°ð ò³âøíèé ìýäýýëýëä õàíäàõ íü ç°âø°°ð°ãä°°ã³é áàéõ áîëíî. Ì°í ýíý õàÿã/øîøãî íü öýâýðëýãýýíèé °íä°ð ò³âøèíãèéí îáüåêòóóäàä áè÷èõ ýñâýë òýäãýýðò ìýäýýëýë äàìæóóëàõààñ ñýðãèéëäýã. • mls/equal õàÿã/øîøãî ýíý áîäëîãîîñ ÷°ë°°ë°ãä°õ°°ð áîëñîí îáüåêòóóäàä òàâèãäàõ ¼ñòîé. • mls/high õàÿã/øîøãî íü öýâýðëýãýýíèé áîëîìæèò õàìãèéí °íä°ð ò³âøèí þì. Ýíý õàÿã/øîøãûã çààñàí îáüåêòóóä ñèñòåì äýõ áóñàä á³õ îáüåêòóóäààñ äàâóó ýðõòýé áàéõ á°ã°°ä ãýõäýý òýäãýýð íü äîîä àíãèëëûí îáüåêòóóäàä ìýäýýëýë àëäàãäàõûã ç°âø°°ð°õã³é áàéõ áîëíî. MLS äàðààõ áîëîìæóóäûã îëãîäîã: • mls/low
Øàòëààã³é çýðýãëýë³³äèéí îëîíëîãòîé àþóëã³é áàéäëûí øàòàëñàí ò³âøèí; • Òîãòìîë ä³ðì³³ä: äýýø óíøèõã³é, äîîø áè÷èõã³é (ñóáüåêò íü °°ð°°ñ°° äýýä ò³âøèíä áèø ç°âõ°í °°ðèéí ò³âøíèé áîëîí äîîä ò³âøíèé îáüåêòóóäàä óíøèõ õàíäàëòòàé áàéæ áîëíî. ³íòýé àäèëààð ñóáüåêò íü °°ð°°ñ°° äîîä ò³âøèíä áèø ç°âõ°í °°ðèéí ò³âøíèé áîëîí äýýä ò³âøíèé îáüåêòóóäàä áè÷èõ õàíäàëòòàé áàéæ áîëíî.); • Íóóöëàã áàéäàë (°ã°ãäëèéí çîõèñã³é èë áîëãîëòîîñ ñýðãèéëýõ); • Ìýäðýìæèéí îëîí ò³âøèíã³³äýä °ã°ãä°ëòýé çýðýãöýýãýýð àæèëëàõ ñèñòåì³³äèéí äèçàéíû ³íäýñ (íóóö áîëîí èòãýìæëýãäñýí ìýäýýëëèéí õîîðîíä ìýäýýëýë àëäàõã³éãýýð). Òóñãàé ò°õ°°ð°ìæ³³ä áîëîí èíòåðýéñ³³äèéí õóâüä äàðààõ sysctl-èéí òààðóóëàõ áîëîìæòîé õóâüñàã÷óóä áàéäàã: •
íü MLS áîäëîãûã íýýõ/õààõàä õýðýãëýãääýã. security.mac.mls.ptys_equal íü á³õ pty(4) ò°õ°°ð°ìæ³³äèéã ³³ñãýëòèéíõ íü ³åýð mls/equal ãýæ õàÿãëàíà. security.mac.mls.revocation_enabled íü îáüåêòóóäûí õàÿã/øîøãî äîîä çýðãèéíõ óðóó áîëæ °°ð÷ë°ãäñ°íèé äàðàà òýäãýýðò õàíäàõ õàíäàëòûã öóöëàõàä õýðýãëýãääýã. security.mac.mls.max_compartments íü îáüåêòóóäàä õàìãèéí èõ òîîíû òàñàëãààíû ò³âøèíã³³äèéã òîõèðóóëàõàä õýðýãëýãääýã; ³íäñýíäýý ñèñòåìä ç°âø°°ð°ãäñ°í òàñàëãààíû õàìãèéí èõ äóãààð áàéíà.
• security.mac.mls.enabled •
•
•
455
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò MLS õàÿã/øîøãîíóóäòàé àæèëëàõûí òóëä setfmac(8) áàéäàã. Îáüåêòîä õàÿã/øîøãûã îëãîõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # setfmac mls/5 test
test
àéëûí õóâüä MLS õàÿã/øîøãûã àâàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà:
# getfmac test
Ýíý íü MLS áîäëîãûí áîëîìæóóäûí òîâ÷ ä³ãíýëò þì. °ð íýã õàíäëàãà íü MLS áîäëîãûí ìýäýýëëèéã òîõèðóóëàõ ìàñòåð áîäëîãûí àéëûã /etc ñàíä ³³ñãýæ òýð àéëûã setfmac òóøààëä °ã°õ ÿâäàë þì. Ýíý àðãûã á³õ áîäëîãóóäûã àâ÷ ³çñýíèéõýý äàðàà òàéëáàðëàõ áîëíî. 16.12.1
Àëáàäìàë Ìýäðýìæèéã ò°ë°âë°õ íü
Îëîí ò³âøèíò àþóëã³é áàéäëûí áîäëîãûí ìîäóëèàð àäìèíèñòðàòîð ýìçýã ìýäýýëëèéí óðñãàëûã õÿíàõûí òóëä ò°ë°âë°ä°ã. Àíõäàã÷ààð °°ðèéí áëîê äýýø óíøèõ, áëîê äîîø áè÷èõ ì°í ÷àíàðààðàà ñèñòåì á³ãäèéã äîîä ò°ë°âò áîëãîäîã. Á³ãä õàíäàõ áîëîìæòîé áàéõ á°ã°°ä àäìèíèñòðàòîð òîõèðãîîíû ÿâöàä ààæìààð ³³íèéã ìýäýýëëèéí èòãýìæëýãäñýí áàéäëûã íýìýãä³³ëýí °°ð÷èëä°ã. Äýýðõ ãóðâàí ³íäñýí õàÿã/øîøãîíîîñ ãàäíà àäìèíèñòðàòîð õýðýãëýã÷èä áîëîí á³ëã³³äèéã øààðäëàãûí äàãóó òýäãýýðèéí õîîðîíä ìýäýýëëèéí óðñãàëûã õààõààð á³ëýãëýæ áîëíî. Öýâýðëýãýýíèé ò³âøèíã³³äýä ìýäýýëëèéã òàíèãäñàí ³ãñýýð õàéõ íü àìàð áàéæ áîëîõ á°ã°°ä æèøýý íü Confidential, Secret, áîëîí Top Secret ãýõ çýðýã àíãèëëóóä áàéæ áîëîõ þì. Çàðèì àäìèíèñòðàòîðóóä ò°ñëèéí ò³âøèíã³³ä äýýð ³íäýñëýí °°ð á³ëã³³äèéã ³³ñãýæ áîëîõ þì. Àíãèëëûí àðãààñ ³ë õàìààðàí èéì õÿçãààðëàñàí áîäëîãûã õèéõýýñ °ìí° ñàéí áîäîæ ãàðãàñàí ò°ë°âë°ã°° áàéæ áàéõ ¼ñòîé. Ýíý àþóëã³é áàéäëûí áîäëîãûí ìîäóëèéí õóâüä çàðèì æèøýý òîõèîëäëóóä ãýõ þì áîë e-commerce âýá ñåðâåð, êîìïàíèéí ÷óõàë ìýäýýëýë áîëîí ñàíõ³³ãèéí áàéãóóëëàãûí îð÷íóóäûã àãóóëñàí àéë ñåðâåð áàéæ áîëîõ þì. Õàìãèéí ³íýìøèëã³é ãàçàð áîë ç°âõ°í õî¼ð, ãóðàâõàí õýðýãëýã÷òýé àæëûí ñòàíö áàéõ þì. 16.13 MAC Biba
ìîäóëü
Ìîäóëèéí íýð: mac_biba.ko Ö°ìèéí òîõèðãîîíû ì°ð: options MAC_BIBA À÷ààëàëòûí òîõèðóóëãà: mac_biba_load="YES" mac_biba(4) ìîäóëü MAC Biba áîäëîãûã äóóääàã. Ýíý áîäëîãî íü MLS áîäëîãîòîé àäèë àæèëëàäàã á°ã°°ä ÿëãààòàé íü ìýäýýëëèéí óðñãàëûí ä³ðì³³ä íü íýëýýí ýñðýãýýð áàéäàã. Ýíý íü ýìçýã ìýäýýëëèéí áóóðñàí óðñãàëààñ ñýðãèéëäýã ãýäýã áîë MLS áîäëîãî íü ýìçýã ìýäýýëëèéí °ãññ°í óðñãàëààñ ñýðãèéëäýã; òèéìýýñ ýíý õýñãèéí èõýíõ íü õî¼ð áîäëîãîä õî¼óëàíä íü õàìààòàé þì. Biba îð÷íóóäàä “integrity” áóþó á³ðýí á³òýí áàéäëûí õàÿã/øîøãî ñóáüåêò ýñâýë îáüåêò á³ð äýýð òàâèãääàã. Ýäãýýð õàÿã/øîøãóóä íü øàòàëñàí çýðã³³ä áîëîí øàòëààã³é á³ðýëäýõ³³í³³äýýñ òîãòäîã. Îáüåêò áîëîí ñóáüåêòèéí çýðýã °ñ°õ òóñàì á³ðýí á³òýí áàéäàë ÷ áàñ äýýøèëäýã. Äýìæèãäñýí õàÿã/øîøãóóä íü biba/low, biba/equal, áîëîí biba/high á°ã°°ä äîîð òàéëáàðëàâ:
456
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
õàÿã/øîøãî íü îáüåêò ýñâýë ñóáüåêòèéí àâ÷ áîëîõ õàìãèéí äîîä á³ðýí á³òýí áàéäàë ãýæ ³çäýã. ³íèéã îáüåêòóóä ýñâýë ñóáüåêòóóä äýýð òàâèõ íü èë³³ °íäð°°ð òýìäýãëýãäñýí îáüåêòóóä ýñâýë ñóáüåêòóóä óðóó õèéõ òýäãýýðèéí áè÷èõ õàíäàëòûã õààíà. ýõäýý òýäãýýðò óíøèõ õàíäàëò áàéõ áîëíî. • biba/equal õàÿã/øîøãî íü áîäëîãîîñ ÷°ë°°ë°ãä°õ îáüåêòóóä äýýð ç°âõ°í òàâèãäàõ ¼ñòîé. • biba/high õàÿã/øîøãî íü äîîä õàÿã/øîøãî äýýð òàâèãäñàí îáüåêòóóäàä áè÷èõèéã ç°âø°°ð°õ áîëîâ÷ òýð îáüåêòèéã óíøèõûã ç°âø°°ðä°ãã³é. Á³õýë ñèñòåìèéí á³ðýí á³òýí áàéäàëä í°ë°°ëä°ã îáüåêòóóäàä ýíý õàÿã/øîøãûã òàâèõûã ç°âë°ä°ã. Biba äàðààõ áîëîìæóóäûã îëãîäîã: • biba/low
Øàòëààã³é á³ðýí á³òýí áàéäëûí çýðýãëýë³³äèéí îëîíëîã á³õèé øàòàëñàí á³ðýí á³òýí áàéäëûí ò³âøèí; • Òîãòìîë ä³ðì³³ä: äýýø áè÷èõã³é, äîîø óíøèõã³é (MLS-èéí ýñðýã). Ñóáüåêò íü °°ð°°ñ°° äýýä ò³âøèíä áèø ç°âõ°í °°ðèéí ò³âøíèé áîëîí äîîä ò³âøíèé îáüåêòóóäàä áè÷èõ õàíäàëòòàé áàéæ áîëíî. ³íòýé àäèëààð ñóáüåêò íü °°ð°°ñ°° äîîä ò³âøèíä áèø ç°âõ°í °°ðèéí ò³âøíèé áîëîí äýýä ò³âøíèé îáüåêòóóäàä óíøèõ õàíäàëòòàé áàéæ áîëíî; • Á³ðýí á³òýí áàéäàë (°ã°ãäëèéí çîõèñã³é °°ð÷ë°ëò°°ñ ñýðãèéëýõ); • Á³ðýí á³òýí áàéäëûí ò³âøèíã³³ä (MLS-èéí ìýäðýìæèéí ò³âøèíã³³äèéí îðîíä). Äàðààõ sysctl-èéí òààðóóëàõ áîëîìæòîé õóâüñàã÷óóäûã Biba áîäëîãîòîé àæèëëàõûí òóëä õýðýãëýæ áîëíî. •
íü ìàøèí äýýð Biba áîäëîãûã íýýõýä/õààõàä õýðýãëýãäýæ áîëíî. • security.mac.biba.ptys_equal íü Biba áîäëîãûã pty(4) ò°õ°°ð°ìæ³³ä äýýð õààõàä õýðýãëýãëýãäýæ áîëíî. • security.mac.biba.revocation_enabled íü õàÿã/øîøãî ñóáüåêòèéã çàõèðàõààð °°ð÷ë°ãäñ°í áîë îáüåêòîä õèéõ õàíäàëòûã öóöëàõ áîëíî. Ñèñòåìèéí îáüåêòóóä äàõü Biba áîäëîãûí òîõèðãîîíä õàíäàõûí òóëä setfmac áîëîí getfmac òóøààëóóäûã àøèãëàíà: • security.mac.biba.enabled
# setfmac biba/low test # getfmac test
test: biba/low
16.13.1
Àëáàäìàë á³ðýí á³òýí áàéäëûã ò°ë°âë°õ íü
Á³ðýí á³òýí áàéäàë íü ìýäðýìòãèé áàéäëààñ °°ð á°ã°°ä ìýäýýëëèéã èòãýãäýýã³é òàëóóäààð õýçýý ÷ óäèðäóóëàõã³é áàéëãàæ áàòàëãààæóóëäàã. ³íä ñóáüåêòóóä áîëîí îáüåêòóóä, òýäãýýðèéí õîîðîíä äàìæèõ ìýäýýëýë îðäîã. Ýíý íü õýðýãëýã÷äýä ç°âõ°í °°ð÷èëæ ÷àäàõ áîëîìæ áîëîí á³ð çàðèì òîõèîëäîëä òýäýíä õýðýãòýé ìýäýýëýëä õàíäàõ áîëîìæèéã îëãîäîã. mac_biba(4) àþóëã³é áàéäëûí áîäëîãûí ìîäóëü íü àëü àéëóóä áîëîí ïðîãðàìóóäûã õýðýãëýã÷ ýñâýë õýðýãëýã÷èä õàðàõ ¼ñòîéã çààõûã àäìèíèñòðàòîðò ç°âø°°ð÷ ïðîãðàìóóä áîëîí àéëóóä íü àþóë çàíàëààñ àíãèä á°ã°°ä òýð õýðýãëýã÷, ýñâýë õýðýãëýã÷äèéí á³ëãèéí õóâüä ñèñòåìýýð èòãýãäñýí ãýäãèéã áàòàëãààæóóëæ äóóääàã.
457
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Ýõíèé ò°ë°âë°ëòèéí ³åýð àäìèíèñòðàòîð çýðã³³ä, ò³âøèíã³³ä áîëîí á³ñ³³äýä õýðýãëýã÷äèéã õóâààõàä áýëäýõ ¼ñòîé. Õýðýãëýã÷äèéí õóâüä ç°âõ°í °ã°ãäë°°ñ ãàäíà áàñ ïðîãðàìóóä áîëîí õýðýãñë³³äýä òýäãýýðèéã ýõëýõýýñ °ìí° áîëîí òýäãýýðèéã ýõë³³ëñíèé äàðàà òýäãýýðò õàíäàõ õàíäàëò õààãäñàí áàéõ áîëíî. Ýíý áîäëîãûí ìîäóëü èäýâõæ³³ëýãäñýíèé äàðàà ñèñòåì °íä°ð õàÿã/øîøãî óðóó àíõäàã÷ààð øèëæèõ á°ã°°ä õýðýãëýã÷äèéí õóâüä °°ð çýðã³³ä áîëîí ò³âøèíã³³äèéã òîõèðóóëàõ íü àäìèíèñòðàòîðûí õýðýã þì. Öýâýðëýãýýíèé ò³âøèíã³³äèéã äýýð òàéëáàðëàñíû äàãóó àøèãëàõûí îðîíä ñàéí ò°ë°âë°õ àðãà íü ñýäâ³³äèéã îðóóëæ áîëîõ þì. Æèøýý íü ýõ êîäûí àðõèâ, ýõ êîä ýìõýòãýã÷ áîëîí áóñàä õ°ãæ³³ëýëòèéí õýðýãñë³³äýä °°ð÷ë°õ õàíäàëòûã ç°âõ°í õ°ãæ³³ëýã÷äýä ç°âø°°ð°õ áàéæ áîëíî. Òýãýýä áóñàä õýðýãëýã÷äèéã òåñò õèéã÷èä, äèçàéí õèéã÷èä ýñâýë ç³ãýýð ë ýíãèéí õýðýãëýã÷èä çýðýã °°ð çýðýãëýëä á³ëýãëýæ ç°âõ°í óíøèõ õàíäàëòûã ç°âø°°ð°õ þì. Öààíààñàà õèéãäñýí àþóëã³é áàéäëûí õÿíàëòààñ áîëîîä äîîä ò³âøíèé á³ðýí á³òýí áàéäëûí ñóáüåêò íü äýýä ò³âøíèé á³ðýí á³òýí áàéäëûí ñóáüåêò óðóó áè÷èæ ÷àääàãã³é; äýýä ò³âøíèé á³ðýí á³òýí áàéäëûí ñóáüåêò íü äîîä ò³âøíèé á³ðýí á³òýí áàéäëûí îáüåêòèéã àæèãëàæ ýñâýë óíøèæ ÷àääàãã³é. Õàìãèéí äîîä áîëîìæèò çýðýãò õàÿã/øîøãûã òîõèðóóëàõ íü ñóáüåêòóóäûã ò³³íä õàíäàõ áîëîìæã³é áîëãîæ áîëîõ þì. Ýíý àþóëã³é áàéäëûí áîäëîãûí ìîäóëèéí çàðèì õýòèéí îð÷íóóäàä õ³÷èëñýí âýá ñåðâýð, õ°ãæ³³ëýëòèéí áîëîí òåñòèéí ìàøèí, áîëîí ýõ êîäûí àðõèâ çýðýã îðæ áîëîõ þì. Òèéì ÷ àøèãòàé áóñ øèéäýëä ïåðñîíàë àæëûí ñòàíö, ÷èãë³³ëýã÷ ìàÿãààð àøèãëàãäàæ áàéãàà ìàøèí ýñâýë ñ³ëæýýíèé ãàëò õàíà çýðýã áàéæ áîëîõ þì. 16.14 MAC LOMAC
ìîäóëü
Ìîäóëèéí íýð: mac_lomac.ko Ö°ìèéí òîõèðãîîíû àéë: options MAC_LOMAC À÷ààëàëòûí òîõèðóóëãà: mac_lomac_load="YES" MAC Biba áîäëîãîîñ îíäîî íü mac_lomac(4) áîäëîãî íü á³ðýí á³òýí áàéäëûí ä³ðì³³äèéã ýâäýõã³éí òóëä á³ðýí á³òýí áàéäëûí ò³âøèíã çààâàë áàãàñãàñíû äàðàà á³ðýí á³òýí áàéäëûí õóâüä äîîð îðøèõ îáüåêò óðóó õàíäàõûã ç°âø°°ðä°ã. Low-watermark integrity policy áóþó äîîä ò³âøíèé á³ðýí á³òýí áàéäëûí MAC õóâèëáàðûã õóó÷èí lomac(4)-èéí øèéäýëòýé ýíä³³ð÷ áîëîõã³é á°ã°°ä ýíý õóâèëáàð íü Biba-òàé áàðàã ë ò°ñòýé àæèëëàäàã áîëîâ÷ ÿëãààòàé òàë íü ñóáüåêòèéí áóóðóóëàëòûã òóñëàõ çýðãèéí òàñàëãààíû òóñëàìæòàé äýìæèõèéí òóëä õ°â°ã÷ õàÿã/øîøãóóäûã àøèãëàäàã ÿâäàë þì. Ýíý õî¼ð äàõü òàñàëãàà íü [auxgrade] õýëáýðèéã àâäàã. lomac áîäëîãûã òóñëàõ çýðãýýð çààæ °ã°õ ³åä ýíý íü èéìýðõ³³ õàðàãäàõ ¼ñòîé: lomac/10[2]. Ýíä áàéãàà õî¼ð (2) ãýñýí òîî íü òóñëàõ çýðýã þì. MAC LOMAC áîäëîãî íü á³ðýí á³òýí áàéäëûí õàÿã/øîøãîîð á³õ ñèñòåìèéí îáüåêòóóäûã õàà ñàéã³é õàÿãëàõ ÿâäàëä òóëãóóðëàäàã á°ã°°ä ñóáüåêòóóäàä á³ðýí á³òýí áàéäëûí õóâüä äîîð îðøèõ îáüåêòóóäààñ óíøèõûã ç°âø°°ð÷ äàðàà íü °íä°ð á³ðýí á³òýí áàéäàë á³õèé îáüåêòóóäàä èðýýä³éä õèéãäýæ áîëçîøã³é áè÷èëò³³äýýñ óðüä÷èëàí ñýðãèéëýõèéí òóëä ñóáüåêò äýýðõ õàÿã/øîøãûã äîîøëóóëæ áóóðóóëäàã. Ýíý íü äýýð õýëýëöýãäñýí [auxgrade] òîõèðóóëãà áîëîõîîð óã áîäëîãî íü èë³³ ñàéí íèéöòýé áàéäëûã õàíãàæ Biba-ààñ áàãà ýõíèé òîõèðãîîã øààðäàæ áîëîõ þì. 16.14.1
Æèøýýí³³ä
Biba áîëîí MLS áîäëîãóóäûí íýãýí àäèë setfmac áîëîí setpmac õýðýãñë³³ä ñèñòåìèéí îáüåêòóóä äýýð õàÿã/øîøãîíóóä áàéðëóóëàõàä õýðýãëýãäýæ áîëíî:
458
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò # setfmac /usr/home/trhodes lomac/high[low] # getfmac /usr/home/trhodes lomac/high[low]
Ýíä áàéãàà òóñëàõ çýðýã íü low áóþó äîîð ãýæ áàéãààã àíçààðààðàé, ýíý íü ç°âõ°í MAC LOMAC áîäëîãûí õàíãàäàã áîëîìæ þì. 16.15 MAC
Øîðîí äàõü Nagios
Äàðààõ íü ç°â òîõèðóóëñàí áîäëîãóóäûí õàìòààð ò°ð°ë á³ðèéí MAC ìîäóëèóäûã àøèãëàí àþóëã³é îð÷èíã ³³ñãýõèéã õàðóóëàõ áîëíî. Ýíý íü ç°âõ°í òåñò á°ã°°ä õ³í á³ãäèéí àþóëã³é áàéäëûí àñóóäàëä á³ðýí õàðèóëò áîëíî ãýæ òîîöîõ ¼ñã³é þì. Áîäëîãûã ç°âõ°í øèéäýæ ò³³íèéã îðõèãäóóëàõ íü õýçýý ÷ àæèëëàõã³é á°ã°°ä æèíõýíý àæèëëàæ áàéãàà ³éëäâýðëýëèéí îð÷èíä ñ³éðëèéí áîëæ áîëîõ þì. Ýíý ïðîöåññèéã ýõë³³ëýõýýñýý °ìí° multilabel òîõèðóóëãà àéëûí ñèñòåì á³ð äýýð ýíý á³ëãèéí ýõýíä äóðäñàíû äàãóó òàâèãäàõ ¼ñòîé. Èíãýæ õèéõã³é áîë àëäàà ãàðàõ áîëíî. Ýíä áàéõäàà net-mngt/nagios-plugins, net-mngt/nagios, áîëîí www/apache13 ïîðòóóä á³ãä ñóóëãàãäàæ òîõèðóóëàãäàæ ç°â àæèëëàæ áàéãàà ýñýõèéã øàëãààðàé. 16.15.1
Õýðýãëýã÷èéí insecure àíãèëàë ³³ñãýíý
Äàðààõ õýðýãëýã÷èéí àíãèëëûã /etc/login.conf àéëä íýìæ: insecure:\ :copyright=/etc/COPYRIGHT:\ :welcome=/etc/motd:\ :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ :path=~/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin :manpath=/usr/share/man /usr/local/man:\ :nologin=/usr/sbin/nologin:\ :cputime=1h30m:\ :datasize=8M:\ :vmemoryuse=100M:\ :stacksize=2M:\ :memorylocked=4M:\ :memoryuse=8M:\ :filesize=8M:\ :coredumpsize=8M:\ :openfiles=24:\ :maxproc=32:\ :priority=0:\ :requirehome:\ :passwordtime=91d:\ :umask=022:\ :ignoretime@:\ :label=biba/10(10-10):
ì°í äàðààõ ì°ðèéã àíõäàã÷ õýðýãëýã÷èéí àíãèëàëä íýìæ ïðîöåäóðûã ýõýëíý: :label=biba/high:
459
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Ýíý õèéãäñýíèé äàðàà ìýäýýëëèéí áààçûã äàõèí á³òýýõèéí òóëä äàðààõ òóøààëûã àæèëëóóëàõ ¼ñòîé: # cap_mkdb /etc/login.conf
16.15.2
À÷ààëàëòûí òîõèðãîî
Äàõèí à÷ààëàõ ãýñíèé õýðýãã³é, øààðäëàãàòàé ìîäóëèóäûã ñèñòåì ýõë³³ëýõýä äóóäàõûí òóëä äàðààõ ì°ð³³äèéã /boot/loader.conf àéëä íýìíý: mac_biba_load="YES" mac_seeotheruids_load="YES"
16.15.3 root
Õýðýãëýã÷äèéã òîõèðóóëíà
õýðýãëýã÷èéã àíõäàã÷ àíãèëàëä äîîð äóðäñàíûã àøèãëàí òîõèðóóëíà:
# pw usermod root -L default
ýñâýë ñèñòåìèéí õýðýãëýã÷èä áèø á³õ õýðýãëýã÷èéí á³ðòãýë³³ä îäîî íýâòðýëèéí àíãèëàë øààðäàõ áîëíî. Íýâòðýëòèéí àíãèëàë øààðäëàãàòàé, ò³³íã³é áîë õýðýãëýã÷èä vi(1) çýðýã íèéòëýã òóøààëä õàíäàõ áîëîìæã³é áîëíî. Äàðààõ sh ñêðèïò ³³íèéã õèéõ áîëíî: root
# for x in ‘awk -F: ’($3 >= 1001) && ($3 != 65534) { print $1 }’ \ /etc/passwd‘; do pw usermod $x -L default; done;
nagios
áîëîí www õýðýãëýã÷äèéã insecure àíãèëàëä îðóóëíà:
# pw usermod nagios -L insecure # pw usermod www -L insecure
16.15.4 Contexts
áóþó Ñýäâèéí àéë ³³ñãýíý
Ñýäâèéí àéë íü îäîî ³³ñãýãäñýí áàéõ ¼ñòîé; äàðààõ æèøýý àéëûã /etc/policy.contexts-ä áàéðëóóëàõ ¼ñòîé. # This is the default BIBA policy for this system. # System: /var/run /var/run/*
biba/equal biba/equal
/dev /dev/*
biba/equal biba/equal
/var biba/equal /var/spool /var/spool/*
biba/equal biba/equal
460
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò /var/log /var/log/*
biba/equal biba/equal
/tmp biba/equal /tmp/* biba/equal /var/tmp biba/equal /var/tmp/* biba/equal /var/spool/mqueue biba/equal /var/spool/clientmqueue biba/equal # For Nagios: /usr/local/etc/nagios /usr/local/etc/nagios/*
biba/10
/var/spool/nagios /var/spool/nagios/*
biba/10 biba/10
# For apache /usr/local/etc/apache /usr/local/etc/apache/*
biba/10 biba/10
Ýíý áîäëîãî íü ìýäýýëëèéí óðñãàëä õÿçãààðëàëòóóäûã òàâüæ àþóëã³é áàéäëûã õàíãàäàã. Ýíý òóñãàéëñàí òîõèðãîîíû õóâüä õýðýãëýã÷èä, root áîëîí áóñàä õýðýãëýã÷èä Nagios ïðîãðàìä õàíäàõààð õýçýý ÷ ç°âø°°ð°ãäñ°í áàéõ ¼ñã³é. Nagios-èéí òîõèðãîîíû àéëóóä áîëîí ïðîöåññóóä íü á³ð ì°ñ°í °°ðò°° áàãòñàí áóþó øîðîíä õèéãäñýí áàéõ áîëíî. Îäîî ýíý àéëûã °°ðèéí ñèñòåì óðóó óíøóóëàõäàà äàðààõ òóøààëûã àæèëëóóëíà: # setfsmac -ef /etc/policy.contexts / # setfsmac -ef /etc/policy.contexts /
Note: Äýýðõ àéëûí ñèñòåìèéí áàéðøèë îð÷íîîñîî õàìààðàí °°ð áàéæ áîëíî; ãýõäýý ³³íèéã àéëûí ñèñòåì á³ð äýýð àæèëëóóëàõ ¼ñòîé.
/etc/mac.conf
àéë ãîë õýñýãò äàðààõ °°ð÷ë°ëò³³äèéã øààðääàã:
default_labels default_labels default_labels default_labels
16.15.5
file ?biba ifnet ?biba process ?biba socket ?biba
ѳëæýýã èäýâõæ³³ëíý
Äàðààõ ì°ðèéã /boot/loader.conf-ä íýìíý: security.mac.biba.trust_all_interfaces=1
461
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Òýãýýä äàðàà íü äîîð äóðäñàíûã rc.conf àéëä õàäãàëàãäñàí ñ³ëæýýíèé êàðòíû òîõèðãîîíä íýìíý. Õýðýâ àíõäàã÷ Èíòåðíýòèéí òîõèðãîî DHCP-ýýð õèéãäñýí áîë ñèñòåìèéã à÷ààëàõ áîëãîíû äàðàà ³³íèéã ãàðààðàà òîõèðóóëàõ õýðýãòýé áîëîõ þì: maclabel biba/equal
16.15.6
Òîõèðãîîã òåñò õèéõ íü
Âýá ñåðâåð áîëîí Nagios íü ñèñòåìèéã ýõë³³ëýõýä àæèëëàõààðã³é áàéãàà ýñýõèéã øàëãààä äàõèí à÷ààëíà. root õýðýãëýã÷ Nagios-èéí òîõèðãîîíû ñàí äàõü ÿìàð ÷ àéëä õàíäàæ ÷àäàõ ¼ñã³éã áàòàëãààæóóëíà. Õýðýâ root íü /var/spool/nagios-ä ls(1)-èéã àæèëëóóëæ ÷àäàæ áàéâàë ÿìàð íýã þì áóðóó áàéíà ãýñýí ³ã. Ç°â áîë “permission denied” àëäàà áóöààãäàõ ¼ñòîé. Õýðýâ á³ãä ç³ãýýð þì øèã ñàíàãäâàë Nagios, Apache, áîëîí Sendmail-èéã îäîî àþóëã³é áàéäëûí áîäëîãîä òààðóóëæ àæèëëóóëæ áîëíî. ³íèéã äàðààõ òóøààë õèéõ áîëíî: # cd /etc/mail && make stop && \ setpmac biba/equal make start && setpmac biba/10\(10-10\) apachectl start && \ setpmac biba/10\(10-10\) /usr/local/etc/rc.d/nagios.sh forcestart
Á³ãä ç°â àæèëëàæ áàéãàà ýñýõèéã áàòàëãààæóóëæ äàõèí øàëãààðàé. Õýðýâ ³ã³é áîë á³ðòãýëèéí àéëóóäààñ àëäààíû ìýäýãäë³³ä áàéãàà ýñýõèéã øàëãàíà. sysctl(8) õýðýãñýë àøèãëàæ mac_biba(4) àþóëã³é áàéäëûí áîäëîãûí ìîäóëèéí ³éë÷ëýëèéã õààæ á³ãäèéã ýõíýýñ íü ýõëýõèéã îðîëäîîðîé. Note: root õýðýãëýã÷ àþóëã³é áàéäëûí ³éë÷ëýëèéã °°ð÷èëæ òîõèðãîîíû àéëûã àéëã³éãýýð çàñâàðëàæ ÷àäíà. Äàðààõ òóøààë íü øèíýýð ³³ñãýñýí á³ðõ³³ëèéí õóâüä àþóëã³é áàéäëûí áîäëîãûã äîîä çýðýã óðóó îðæ áóóðàõûã ç°âø°°ð°õ áîëíî: # setpmac biba/10 csh
³íèéã áîëãîõã³é áàéëãàõûí òóëä login.conf(5)-îîð õýðýãëýã÷èéã õ³ðýýíä îðóóëíà. Õýðýâ setpmac(8) òóøààëûã òàñàëãààíûõ íü õ³ðýýíýýñ ãàäíà àæèëëóóëàõ ãýæ îðîëäâîë àëäàà áóöààãäàõ á°ã°°ä òóøààë àæèëëàõã³é áàéõ áîëíî. Ýíý òîõèîëäîëä root-èéã biba/high(high-high) áîëãîæ òîõèðóóëíà.
16.16
Õýðýãëýã÷èéã ò³ãæèõ
Ýíý æèøýý íü õàðüöàíãóé æèæèã, òàâèàñ áàãà õýðýãëýã÷òýé õàäãàëàëòûí ñèñòåìèéã àâ÷ ³çäýã. Õýðýãëýã÷èä íü íýâòðýëòèéí áîëîìæóóäòàé áàéõ á°ã°°ä òýäýíä ç°âõ°í °ã°ãä°ë áèø áàñ õàíäàëòûí ýõ ³³ñâýð³³äèéã õàäãàëàõûã ç°âø°°ðí°. Ýíý òîõèîëäîëä mac_bsdextended(4) íü mac_seeotheruids(4)-òýé õîëèëäîí îðøèæ áîëîõ á°ã°°ä ñèñòåìèéí îáüåêòóóäàä õàíäàõûã õààãààä çîãñîõã³é áàñ õýðýãëýã÷èéí ïðîöåññèéã íóóõ õàíäàëòûã áàñ õààäàã. Äàðààõ ì°ðèéã /boot/loader.conf àéëä íýìæ ýõýëíý: mac_seeotheruids_enabled="YES"
462
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò mac_bsdextended(4) àþóëã³é áàéäëûí áîäëîãûí ìîäóëèéã äàðààõ rc.conf õóâüñàã÷èéã õýðýãëýí èäýâõòýé
áîëãîæ áîëíî:
ugidfw_enable="YES"
àéëä õàäãàëàãäàõ àíõäàã÷ ä³ðì³³ä íü ñèñòåìèéã ýõë³³ëýõýä äóóäàãäàíà. ýõäýý àíõäàã÷ îðóóëãóóä íü °°ð÷ë°ëò³³ä øààðäàæ áîëîõ þì. Ýíý ìàøèí íü ç°âõ°í õýðýãëýã÷äýä ³éë÷ëýõýýð çîðèóëàãäñàí áîëîõîîð ñ³³ëèéí õî¼ðîîñ áóñäûã õààæ òàéëáàð áîëãîí ³ëäýýæ áîëîõ þì. ѳ³ëèéí õî¼ð íü àíõäàã÷ààð õýðýãëýã÷èéí ýçýìøèõ ñèñòåìèéí îáüåêòóóäûã äóóäóóëàõ áîëíî. Øààðäëàãàòàé õýðýãëýã÷äèéã ýíý ìàøèí óðóó íýìýýä äàõèí à÷ààëíà. Òåñò õèéõ çîðèëãîîð õî¼ð êîíñîë äýýð °°ð õýðýãëýã÷ýýð íýâòðýõèéã îðîëäîîðîé. Áóñàä õýðýãëýã÷äèéí ïðîöåññóóä õàðæ áîëîõîîð áàéãàà ýñýõèéã õàðàõûí òóëä ps aux òóøààëûã àæèëëóóëíà. ls(1)-èéã í°ã°° õýðýãëýã÷èéí ãýðèéí ñàí äýýð àæèëëóóëàõûã îðîëäîîðîé, ýíý íü àìæèëòã³é áîëîõ áîëíî. Ñóïåð õýðýãëýã÷èéí õàíäàëòûã õààõûí òóëä àøèãëàäàã òóñãàé sysctl-óóäûã °°ð÷ë°õ°°ñ áóñàä òîõèîëäîëä root õýðýãëýã÷ýýð òåñò áèòãèé õèéãýýðýé. /etc/rc.bsdextended
Note: Øèíý õýðýãëýã÷ íýìýãäýõýä òýäãýýðèéí mac_bsdextended(4) ä³ðì³³ä ä³ðìèéí îëîíëîãèéí æàãñààëòàä áàéõã³é áàéíà. ijðìèéí îëîíëîãèéã õóðäàí øèíý÷ëýõèéí òóëä kldunload(8) áîëîí kldload(8) õýðýãñë³³äèéã àøèãëàí àþóëã³é áàéäëûí áîäëîãûí ìîäóëèéã áóóëãàæ äàðàà íü ò³³íèéã äàõèí à÷ààëæ õèéíý.
16.17 MAC
Òîãòîëöîîíû àëäààã îëæ çàñâàðëàõ
Õ°ãæ³³ëýëòèéí ÿâöàä ö°°í õýðýãëýã÷èä ýíãèéí òîõèðóóëãà äýýð àñóóäëóóä ãàðñíàà ìýäýýëñýí. Ýäãýýð àñóóäëóóäûí çàðèìûã äîîð æàãñààâ: 16.17.1 multilabel
òîõèðóóëãûã / äýýð èäýâõæ³³ëæ áîëîõã³é áàéíà
òóã ìèíèé root (/) õóâààëòàí äýýð èäýâõòýé áîëîõã³é áàéíà! 50 õýðýãëýã÷ òóòìûí íýã íü èéì àñóóäàëòàé áàéäàã áîëîëòîé, õàðèí áèä ýíý àñóóäàëòàé ýõíèé òîõèðãîîíû ³åýð òóëãàðñàí. “bug” áóþó "öîõ" ãýæ íýðëýãäýõ ³³íèé öààäàõ àæèãëàëò íü ³³íèéã áóðóó áàðèìòæóóëàëò ýñâýë áàðèìòûí áóðóó òàéëáàðëàëòûí ³ð ä³í ãýæ íàìàéã èòãýõýä õ³ðãýñýí. Ýíý ÿàãààä áîëñíîîñ ³ë õàìààðàí ³³íèéã øèéäýõèéí òóëä äàðààõ àëõìóóäûã õèéæ áîëîõ þì: multilabel
1. 2. 3. 4. 5. 6.
èéã çàñâàðëàæ root õóâààëòûã ç°âõ°í óíøèõ çîðèëãîîð ro ãýæ òîõèðóóëíà. àíö õýðýãëýã÷èéí ãîðèìä äàõèí à÷ààëíà. tunefs -l enable òóøààëûã / äýýð àæèëëóóëíà. Ñèñòåìèéã ýíãèéí ãîðèìä äàõèí à÷ààëíà. mount -urw / òóøààëûã àæèëëóóëæ ro òîõèðóóëãûã rw áîëãîæ /etc/fstab àéëä °°ð÷ë°í ñèñòåìèéã äàõèí à÷ààëíà. root àéëûí ñèñòåì äýýð multilabel òîõèðóóëãà ç°â òîõèðóóëàãäñàíûã áàòàëãààæóóëæ mount òóøààëûí ãàðàëòûã äàõèí øàëãààðàé. /etc/fstab-
463
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
èéí äàðàà X11 ñåðâåðèéã ýõë³³ëæ ÷àäàõã³é áàéíà
16.17.2 MAC-
MAC-èéí òóñëàìæòàé àþóëã³é îð÷èíã ³³ñãýñíèé äàðàà áè X-èéã äàõèæ ýõë³³ëæ ÷àäàõàà áîëü÷èõëîî!
Ýíý íü MAC õóâààëòûí áîäëîãî ýñâýë MAC õàÿãëàëòûí áîäëîãóóäûí àëü íýãíèé áóðóó õàÿãëàëòààñ áîëñîí áàéæ áîëîõ þì. Äèáàã õèéõèéí òóëä äîîð äóðäñàíûã îðîëäîîä ³çýýðýé: 1.
2. 3.
Àëäààíû ìýäýãäëèéã øàëãàíà; õýðýâ õýðýãëýã÷ insecure àíãèëàëä áàéãàà áîë õóâààëòûí áîäëîãî ãýìòýí áàéæ áîëîõ þì. Õýðýãëýã÷èéí àíãèëëûã default áóþó àíõäàã÷ àíãèëàë óðóó òîõèðóóëæ ìýäýýëëèéí áààçûã cap_mkdb òóøààëûí òóñëàìæòàé äàõèí á³òýýõ õýðýãòýé. Õýðýâ ýíý íü àñóóäëûã àðèëãàæ ÷àäàõã³é áàéãàà áîë õî¼ðäóãààð àëõàì óðóó îð. Õàÿã/øîøãîíû áîäëîãóóäûã äàâõàð øàëãààðàé. Àñóóäàëòàé áàéãàà õýðýãëýã÷, X11 ïðîãðàì áîëîí /dev îðóóëãóóäûí õóâüä áîäëîãóóä ç°â çààãäñàí ýñýõèéã áàòàëãààæóóëààðàé. Õýðýâ ýäãýýðèéí àëü íü ÷ àñóóäëûã òàíü øèéäýõã³é áîë TrustedBSD (http://www.TrustedBSD.org) âýá ñàéòàä áàéðëàõ TrustedBSD-èéí õýëýëö³³ëãèéí æàãñààëòóóä ýñâýë FreeBSD åð°íõèé àñóóëòóóä çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions) çàõèäëûí æàãñààëò óðóó àëäààíû ìýäýãäýë áîëîí °°ðèéí îð÷íû òóõàé ìýäýýëëèéã èëãýýãýýðýé.
16.17.3 Error: _secure_path(3) cannot stat .login_conf
Íàìàéã
õýðýãëýã÷ýýñ ñèñòåì äýýðõ °°ð õýðýãëýã÷ óðóó øèëæèõèéã îðîëäîõ ³åä “_secure_path: ãýñýí àëäàà ãàðààä áàéíà. Ýíý ìýäýãäýë íü òýð áîëîõ ãýæ áàéãàà õýðýãëýã÷èéí õàÿã/øîøãîíû òîõèðãîîíîîñ õýðýãëýã÷èéí °°ðèéíõ íü òîõèðãîî °íä°ð áàéãààã èõýâ÷ëýí ³ç³³ëäýã. Æèøýý íü ñèñòåì äýýðõ õýðýãëýã÷ joe àíõäàã÷ biba/low ãýñýí õàÿã/øîøãîòîé áàéíà ãýæ áîäú¼. biba/high õàÿã/øîøãîòîé root õýðýãëýã÷ joe-èéí ãýð ñàíã õàðæ ÷àäàõã³é. Ýíý íü root õýðýãëýã÷ su òóøààë àøèãëàí joe áîëñîí ÷ ãýñýí áîëîõã³é áàéíà. Ýíý òîõèîëäîëä Biba á³ðýí á³òýí áàéäëûí çàãâàð íü root õýðýãëýã÷èéã á³ðýí á³òýí áàéäëûí äîîä ò³âøèí òîõèðóóëàãäñàí îáüåêòóóäûã õàðàõûã ç°âø°°ð°õã³é áàéõ áîëíî. root unable to state .login_conf”
16.17.4 root
õýðýãëýã÷èéí íýð ýâäýðñýí áàéíà!
Ýíãèéí ýñâýë á³ð ãàíö õýðýãëýã÷èéí ãîðèìä root õýðýãëýã÷ òàíèãääàãã³é. whoami òóøààë 0 (òýã) áóöààõ á°ã°°ä su òóøààë “who are you?” ãýñýí àëäààíû ìýäýãäëèéã áóöààäàã. Þó áîëîîä áàéãàà þì áîë îî? Ýíý íü õàÿãëàõ áîäëîãî sysctl(8)-îîð õààãäñàí ýñâýë áîäëîãûí ìîäóëèéã áóóëãàñíààñ áîëäîã. Õýðýâ áîäëîãî õààãäñàí ýñâýë ò³ð çóóð õààãäñàí áîë label òîõèðóóëãûã àðèëãàí íýâòðýëòèéí áîëîìæóóäûí ìýäýýëëèéí áààçûã äàõèí òîõèðóóëàõ õýðýãòýé. Á³õ label òîõèðóóëãóóä àðèëñàí ýñýõèéã áàòàëãààæóóëæ login.conf àéëàà äàõèí øàëãàæ ìýäýýëëèéí áààçàà cap_mkdb òóøààëààð äàõèí á³òýýõ õýðýãòýé. Ýíý íü master.passwd àéëä ýñâýë ìýäýýëëèéí áààçàä õàíäàõ õàíäàëòûã áîäëîãî õÿçãààðëàñíààñ áîëîîä áàñ ãàð÷ áîëîõ þì. Ñèñòåìä àøèãëàãäàæ áàéãàà åð°íõèé áîäëîãîòîé ç°ð÷èëä°õ õàÿã/øîøãîíû äîîð àäìèíèñòðàòîð àéëûã °°ð÷ë°õ°ä èõýâ÷ëýí èíãýäýã. Èéì òîõèîëäëóóäàä õýðýãëýã÷èéí ìýäýýëëèéã ñèñòåì óíøèõ á°ã°°ä àéë íü øèíý õàÿã/øîøãî óäàìøèí àâñàí áîëîõîîð õàíäàëò õààëòòàé áàéõ áîëíî. Áîäëîãûã sysctl(8)-èé òóñëàìæòàé õààõ õýðýãòýé. Èíãýõýä á³õ ç³éëñ õýâèéíäýý ýðãýí îðîõ áîëíî.
464
Chapter 16 Mandatory Access Control áóþó Àëáàäìàë Õàíäàëòûí õÿíàëò
Notes 1.
°ð áóñàä í°õöë³³ä áàñ °°ð àìæèëòã³éòë³³äèéã áèé áîëãîæ áîëîõ þì. Æèøýý íü õýðýãëýã÷ îáüåêòèéã äàõèí õàÿãëàõûã îðîëäîõîä àéë íü ò³³íèé ýçýìøýýã³é àéë áàéæ áîëîõ þì. Ýíý îáüåêò íü áàéõã³é þì óó ýñâýë ç°âõ°í óíøèãäàõààð áàéæ áîëîõ þì. Àëáàäìàë áîäëîãî íü àéëûã ïðîöåññ äàõèí õàÿãëàõûã ç°âø°°ð°õã³é, ýíý íü ìàãàäã³é àéëûí °ì÷, ïðîöåññèéí °ì÷ ýñâýë ñàíàë áîëãîñîí øèíý õàÿã/øîøãîíû óòãûí °ì÷°°ñ áîëñîí áàéæ áîëîõ þì. Æèøýý íü: äîîä á³ðýí á³òýí áàéäàëä àæèëëàæ áàéãàà õýðýãëýã÷ °íä°ð á³ðýí á³òýí áàéäëûí àéëûí õàÿã/øîøãûã °°ð÷ë°õ°°ð îðîëäæýý. Ýñâýë ìàãàäã³é äîîä á³ðýí á³òýí áàéäàëä àæèëëàæ áàéãàà õýðýãëýã÷ äîîä á³ðýí á³òýí áàéäëûí àéëûí õàÿã/øîøãûã äýýä á³ðýí á³òýí áàéäëûí õàÿã/øîøãî óðóó °°ð÷ë°õ°°ð îðîëäæýý.
465
Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü Chapter 17
Áè÷ñýí Òîì °³äñ and îáåðò Âàòñîí. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 17.1
Åð°íõèé àãóóëãà
FreeBSD 6.2 áîëîí äàðààãèéí õóâèëáàðóóä íü íÿãò-áîëîâñðóóëñàí àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ äýìæëýã îðóóëñàí áîëíî. éë ÿâöàä àóäèò õèéõ íü íýâòðýí îðîëòóóä, òîõèðãîîíû °°ð÷ë°ëò³³ä,
áîëîí àéë áîëîí ñ³ëæýýíèé õàíäàëò çýðýã ò°ð°ë á³ðèéí àþóëã³é áàéäëûí õîëáîãäîëòîé ñèñòåìèéí ³éë ÿâöóóäûí õÿíàæ á³ðòãýñýí áè÷ëýãèéã íàéäâàðòàé, íÿãò-áîëîâñðóóëñàí, áà òîõèðóóëàõ áîëîìæòîéãîîð õèéõ áîëîìæèéã á³ðä³³ëäýã. Ýäãýýð õÿíàæ á³ðòãýñýí áè÷ëýã³³ä íü ñèñòåìèéã øóóä õÿíàõ, õàëäëàãà èëð³³ëýõ, áîëîí õàëäëàãûí äàðààõ àíàëèç õèéõýä ³íýëæ áàðøã³é áàéæ áîëîõ þì. FreeBSD Sun-èé ãàðãàñàí BSM API áîëîí àéëûí õýëáýðèéã øèéäëýý áîëãîñîí á°ã°°ä Sun-èé Solaris áîëîí Apple®-èéí Mac OS X-èéí àóäèò øèéäë³³äòýé õàðèëöàí àæèëëàõ áîëîìæòîé. Ýíý á³ëýã íü ³éë ÿâöûã àóäèò õèéõèéã òîõèðóóëàõ áîëîí ñóóëãàõ òàë äýýð àíõààðíà. Ýíä àóäèòèéí áîäëîãóóäûí òàëààð òàéëáàðëàõ á°ã°°ä àóäèòèéí òîõèðãîîíû æèøýýã áàñ õàðæ áîëíî. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: éë ÿâöûã àóäèò õèéõ ãýæ þó âý áîëîí ÿàæ àæèëëàäàã òàëààð. • Õýðýãëýã÷èä áîëîí ïðîöåññóóäûí ³éë ÿâöûã àóäèò õèéõèéã FreeBSD äýýð ÿàæ òîõèðóóëàõ òàëààð. • Àóäèòèéí ì°ðèéã àóäèò áàãàñãàõ áîëîí õÿíàõ õýðýãñë³³äýýð õýðõýí øàëãàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
• • •
UNIX áîëîí FreeBSD-èéí ³íäñèéã îéëãîõ (Chapter 3).
Ö°ìèéã òîõèðóóëàõ/õ°ðâ³³ëýõ ³íäýñòýé òàíèëöàõ (Chapter 8). Àþóëã³é áàéäëûí òàëààð áîëîí ò³³íèé FreeBSD -òýé õýðõýí õîëáîãääîã òàëààð îéëãîëòòîé áàéõ (Chapter 14). Warning: Àóäèò õýðýãñýë íü FreeBSD 6.X äýýð òóðøèëòûí áàéäëààð îðñîí á°ã°°ä òóðøèëòûí ïðîãðàì õàíãàìæ àøèãëàõàä ãàð÷ áîëçîøã³é àþóëûã íàðèéí íÿãòëàí ³çñýíèé äàðàà àøèãëàëòàä õýðýãëýõ ¼ñòîé þì. Çàðèì íýã õÿçãààðëàëòóóäûã äóðäâàë á³õ àþóëã³é áàéäëûí õîëáîãäîëòîé ñèñòåìèéí ³éë ÿâöóóäûã àóäèò õèéõ áîëîìæã³é, X11 äýýð ³íäýñëýãäñýí äýëãýöèéí ìåíåæåð³³ä áîëîí ãóðàâäàã÷ äýìîíóóä çýðýã çàðèì íýâòðýõ ìåõàíèçìóóä õýðýãëýã÷èéí íýâòðýõ ñåññèéã àóäèò õèéõ òîõèðãîîã áóðóó õèéäýã çýðýã áîëíî.
Warning: Àþóëã³é áàéäëûí ³éë ÿâöûã àóäèò õèéõ õýðýãñýë íü ñèñòåìèéí àæèëëàãààíû ìàø äýëãýðýíã³é áè÷ëýã³³äèéã ³³ñãýõ ÷àäâàðòàé: íàðèéâ÷èëñàí òîõèðãîî õèéãäñýí çàâã³é ñèñòåìä ì°ð áè÷ëýãèéí àéëûí °ã°ãä°ë òîõèðãîîíîîñ õàìààðàí çàðèì òîõèîëäîëä ãèãàáàéòààñ ÷ èë³³ àñàð èõ áîëîõ áîëîìæòîé. Àäìèíèñòðàòîðóóä èõ õýìæýýíèé àóäèò õèéõ òîõèðãîîòîé õîëáîîòîé äèñêíèé õýìæýýíèé øààðäëàãûã òîîöîõ ¼ñòîé. Æèøýý íü, àóäèò áè÷èæ áàéãàà àéëûí ñèñòåì ä³³ðýõ í°õö°ëä °°ð áóñàä àéëûí ñèñòåì³³äýä õàìààðàëã³éãýýð àéëûí ñèñòåìèéã /var/audit ìîäîíä çîðèóëàõ íü ìàãàäã³é çîõèìæòîé áàéæ áîëîõ þì.
466
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü
17.2
Ýíý á³ëãèéí ò³ëõ³³ð óõàãäàõóóíóóä
Ýíý á³ëãèéã óíøèõààñ °ìí° àóäèòòàé õîëáîîòîé ö°°í ò³ëõ³³ð óõàãäàõóóíóóäûã òàéëáàðëàõ øààðäëàãàòàé: •
•
•
•
•
•
•
³éë ÿâö : Àóäèò õèéõ áîëîìæòîé ³éë ÿâö ãýäýã íü àóäèò äýä ñèñòåìèéí òóñëàìæòàéãààð õÿíàæ á³ðòãýõ áîëîìæòîé äóðûí ³éë ÿâöûã õýëíý. Àþóëã³é áàéäàëòàé õîëáîîòîé ³éë ÿâöóóäûí æèøýýí³³äýä àéëûí ³³ñãýëò, ñ³ëæýýíèé õîëáîëòûã áîñãîõ, ýñâýë õýðýãëýã÷èéí íýâòðýëòèéã äóðäàæ áîëíî. éë ÿâöóóä íü íýã áîë æèíõýíý õýðýãëýã÷ õ³ðòýë ì°ðä°í ãàðãàæ áîëîõ “øèíæ ÷àíàðëàã”, ýñâýë òýãæ áîëîõîîðã³é “øèíæ ÷àíàðëàã áóñ ” áàéíà. “Øèíæ ÷àíàðëàã áóñ” ³éë ÿâöóóäûí æèøýýí³³ä ãýâýë íóóö ³ãèéí áóðóó îðîëäëîãóóä ãýõ ìýò íýâòðýí îðîõ ïðîöåññèéí æèíõýíý ýñýõèéã øàëãàõààñ °ìí°õ ³åèéí äóðûí ³éë ÿâöóóäûã õýëæ áîëíî. àíãèëàë : éë ÿâöûí àíãèëëóóä ãýäýã íü õîëáîîòîé ³éë ÿâöóóä á³õèé õýñýã á³ëã³³äèéí íýð á°ã°°ä ýäãýýð íü ñîíãîëòûí èëýðõèéëë³³äýä õýðýãëýãääýã. Ýíãèéí àøèãëàãääàã ³éë ÿâöóóäûí àíãèëëóóäàä “àéë ³³ñãýëò” (fc), “àæèëëóóëàõ” (ex) ì°í “íýâòðýõ_ãàðàõ” (lo) çýðýã îðíî. áè÷ëýã : Áè÷ëýã ãýäýã íü àþóëã³é áàéäëûí ³éë ÿâöûã òàéëáàðëàñàí àóäèòèéí õÿíàí á³ðòãýñýí îðóóëãà þì. Áè÷ëýã³³ä íü ³éë ÿâöûí ò°ðëèéí áè÷ëýã, ñóáüåêòèéí (õýðýãëýã÷) ³éëäýë õèéæ áàéãàà òóõàé ìýäýýëýë, îãíîî áîëîí öàãèéí ìýäýýëýë, äóðûí íýìýëò °ã°ãäë³³ä áîëîí îáüåêòóóäûí ìýäýýëýë, àìæèëò ýñâýë óíàëòûí í°õö°ë³³äèéã àãóóëäàã. ì°ð : Àóäèòèéí ì°ð áóþó õÿíàí á³ðòãýëèéí àéë íü àþóëã³é áàéäëûí ³éë ÿâöóóäûã òàéëáàðëàñàí àóäèò áè÷ëýã³³äèéí ñåðèýñ òîãòîíî. Åð°íõèéä°° ì°ð³³ä íü ³éë ÿâöóóäûí áèåëæ äóóññàí öàãèéí äàãóó îí öàãèéí äàðààëëààð áàéðëàäàã. Ç°âõ°í æèíõýíý ïðîöåññóóä àóäèòèéí ì°ðä áè÷ëýã íýìýõ ýðõòýé áàéäàã. ñîíãîëòûí èëýðõèéëýë : Ñîíãîëòûí èëýðõèéëýë íü óãòâàðóóäûí æàãñààëò áîëîí ³éë ÿâöòàé òîõèðîõ àóäèòèéí ³éë ÿâöûí àíãèëëûí íýðñýýñ òîãòîõ ì°ð þì. óðüä÷èëñàí ñîíãîëò : Ýíý íü àäìèíèñòðàòîðûí ñîíèðõîõ áîëîìæ á³õèé ³éë ÿâöóóä, ñîíèðõëûã òàòàõã³é áàéãàà ³éë ÿâö çýðãèéã òàéëáàðëàñàí àóäèòèéí áè÷ëýã³³äèéã ³³ñãýõýýñ çàéëñõèéõ çîðèëãîòîéãîîð ÿëãàñàí ñèñòåìèéí ïðîöåññ þì. Óðüä÷èëñàí òîõèðãîî íü àëü õýðýãëýã÷èéí õóâüä ³éë ÿâöóóäûí àëü àíãèëëóóäûã òàíèõ áîëîí æèíõýíý áîëîí æèíõýíý áèø ïðîöåññóóäàä õàìààðàõ ãëîáàë òîõèðãîîíóóäûí ñîíãîëòûí èëýðõèéëë³³äèéí ñåðèéã àøèãëàäàã. õóðààíãóéëàëò : Ýíý íü áàéãàà àóäèòèéí ì°ðí³³äýýñ àëü áè÷ëýã³³äèéã õàäãàëàëò, õýâëýëò áîëîí àíàëèç õèéõýýð ñîíãîñîí ïðîöåññ þì. ³íèé íýãýí àäèë àóäèò ì°ð°°ñ õýðýãã³é àóäèò áè÷ëýã³³äèéã óñòãàõ ïðîöåññ áàñ õàìààðíà. Õóðààíãóéëàëòûã àøèãëààä àäìèíèñòðàòîðóóä àóäèò °ã°ãäëèéí õàäãàëàëòûí áîäëîãóóäûã áîëîâñðóóëàõ áîëîìæòîé þì. Æèøýý íü, äýëãýðýíã³é àóäèòèéí ì°ðí³³ä íýã ñàðûí õóãàöààíä õàäãàëàãäààä äàðààãààð íü òýäãýýð ì°ðí³³äèéã àðõèâûí çîðèëãîîð ç°âõ°í íýâòðýëòèéí ìýäýýëëèéã ³ëäýýí áàãàñãàæ áîëîõ þì.
17.3
Àóäèò õèéõ äýìæëýã ñóóëãàõ íü
éë ÿâöûã Àóäèò õèéõ õýðýãëýã÷èéí òàëáàðûí äýìæëýã ³íäñýí FreeBSD ³éëäëèéí ñèñòåìä îðñîí áàéãàà. FreeBSD 7.0 áîëîí ò³³íýýñ øèíý õóâèëáàðóóäàä éë ÿâöûã Àóäèò õèéõ äýìæëýã àíõäàã÷ààð
467
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü
ýìõýòãýãäýí îðñîí. FreeBSD 6.X õóâèëáàðûí õóâüä ³éë ÿâöûã àóäèò õèéõèéã äýìæèõ äàðààõ ì°ðèéã ö°ìä îðóóëàí õ°ðâ³³ëñýí áàéõ øààðäëàãàòàé: options AUDIT
Chapter 8 -ä òàéëáàðëàñàí åðäèéí ïðîöåññèéí äàãóó ö°ìèéã äàõèí õ°ðâ³³ëæ ñóóëãàíà.
Àóäèò èäýâõæñýí ö°ì á³òýýãäýæ ñóóëãàãäààä ñèñòåì äàõèí à÷ààëñíû äàðàà äàðààõ ì°ðèéã rc.conf(5) -ä íýìæ àóäèò äýìîíã èäýâõæ³³ëíý: auditd_enable="YES"
Òýãýýä ñèñòåìèéã äàõèí à÷ààëàõ çàìààð ýñâýë ãàðààð àóäèò äýìîíã àæèëëóóëàõ çàìààð àóäèò äýìæëýãèéã ýõë³³ëýõ ¼ñòîé: /etc/rc.d/auditd start
17.4
Àóäèòèéí òîõèðãîî
Àþóëã³é áàéäëûí àóäèòèéí òîõèðãîîíû á³õ àéëóóäûã /etc/security äîòðîîñ îëæ áîëíî. Äàðààõ àéëóóä àóäèò äýìîí ýõëýõýýñ °ìí° áàéõ ¼ñòîé: Àóäèòèéí àíãèëëóóäûí òîäîðõîéëîëòóóäûã àãóóëíà. audit_control - Àíõäàã÷ àóäèòèéí àíãèëëóóä, àóäèòèéí õÿíàí á³ðòãýëòèéí ýçëýõ³³íä ³ëäýýõ õàìãèéí áàãà äèñêíèé çàé, õàìãèéí èõ àóäèòèéí ì°ðèéí õýìæýý ãýõ çýðýã àóäèò äýä ñèñòåìèéí øèíæ ÷àíàðûã õÿíàíà. audit_event - Ñèñòåìèéí àóäèò ³éë ÿâöóóäûí òàéëáàðóóä áà íýðñ áîëîí ³éë ÿâö áîëãîí àëü àíãèëàëä õàìààðàõ æàãñààëò. audit_user - Íýâòðýí îðîõ ³åèéí ãëîáàë àíõäàã÷óóäààñ á³ðäñýí ç°âõ°í õýðýãëýã÷èä õàìààðàëòàé àóäèòèéí øààðäëàãóóä audit_warn - Àóäèòèéí áè÷ëýã³³äèéí çàé õàíãàëòã³é áîëîõ ýñâýë àóäèòèéí ì°ðèéí àéë äàõèí ýðãýñýí çýðýã çàéëøã³é øààðäëàãàòàé òîõèîëäîëä àíõààðóóëàõ ìýäýýëë³³äèéã ³³ñãýäýã °°ð÷ë°õ áîëîìæ á³õèé auditd-èéí àøèãëàäàã á³ðõ³³ëèéí ñêðèïò.
• audit_class •
•
•
•
Warning: Òîõèðãîîí äàõü àëäààíóóä ³éë ÿâöóóäûí áóðóó õÿíàí á³ðòãýëä õ³ðãýæ áîëçîøã³é òóë àóäèòèéí òîõèðãîîíû àéëóóäûã çàñâàðëàõ áîëîí àæèëëàãààã õàíãàõäàà çààâàë áîëãîîìæòîé áàéõ øààðäëàãàòàé.
17.4.1
éë ÿâö ñîíãîëòûí èëýðõèéëë³³ä
Ñîíãîëòûí èëýðõèéëë³³ä íü àëü ³éë ÿâöóóäûã àóäèò õèéõ ¼ñòîéã òîäîðõîéëîõ àóäèòèéí òîõèðãîîíû õýä õýäýí ãàçàð àøèãëàãääàã. Èëýðõèéëë³³ä íü òîõèðîõ ³éë ÿâöûí àíãèëëóóäûí æàãñààëòààñ á³ðäýõ áà ýäãýýð òóñ á³ð íü òîõèðîõ áè÷ëýã³³äèéã õ³ëýýí àâàõ ¼ñòîé þó ýñâýë îðõèõ ¼ñòîé þó ãýäãèéã õàðóóëñàí óãòâàðòàéãààñ ãàäíà îðóóëãà íü àìæèëòòàé ýñâýë àìæèëòã³é ³éëäë³³äòýé òîõèðîõ ¼ñòîéã õàðóóëàõ áîëîìæ áàñ áàéíà. Ñîíãîëòûí èëýðõèéëë³³ä íü ç³³íýýñ áàðóóí òèéø áèåëýãääýã á°ã°°ä õî¼ð èëýðõèéëëèéã íýã äýýð íü í°ã°°ã íü íýìæ íèéë³³ëäýã.
468
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü
Äàðààõ æàãñààëò íü audit_class-ä áàéãàà àíõäàã÷ ³éë ÿâöûí àíãèëëóóäààñ òîãòîíî: • all • ad • ap • cl
- all - Á³õ ³éë ÿâöûí àíãèëëóóäûã òààðóóëàõ(match).
- administrative - Óäèðäëàãûí ³éëäë³³ä ñèñòåì äýýð á³õýëäýý ã³éöýòãýãäýíý.
- application - Ïðîãðàìûí òîäîðõîéëñîí ³éëäýë.
- file close - close ñèñòåìèéí äóóäëàãûã àóäèò õèéõ.
- exec - Ïðîãðàìûí àæèëëàãààã àóäèò õèéõ. Òóøààëûí ì°ðèéí íýìýëò °ã°ãäë³³ä áîëîí îð÷íû õóâüñàã÷óóäûã argv áà envv ïàðàìåòð³³äèéã àøèãëàí policy òîõèðãîîíä òîõèðãîî õèéí audit_control(5) -èéí òóñëàìæòàéãààð õÿíàäàã. • fa - file attribute access - stat(1), pathconf(2) áîëîí áóñàä àäèë ³éë ÿâöóóäûí îáüåêòèéí øèíæ ÷àíàðóóäàä õàíäñàí õàíäàëòûã àóäèò õèéõ. • fc - file create - ð ä³íä íü àéë ³³ñäýã ³éë ÿâöóóäûã àóäèò õèéõ. • fd - file delete - Ôàéëûã óñòãàäàã ³éë ÿâöóóäûã àóäèò õèéõ. • fm - file attribute modify - chown(8), chflags(1), flock(2) çýðýã àéëûí øèíæ ÷àíàðûí °°ð÷ë°ëò ãàð÷ áàéãàà ³éë ÿâöóóäûã àóäèò õèéõ. • fr - file read - ã°ãä°ë óíøèãäàæ áàéãàà, ì°í àéëóóäûã óíøèõààð íýýñýí çýðýã ³éë ÿâöóóäûã àóäèò õèéõ. • fw - file write - ã°ãä°ë áè÷èãäýæ áàéãàà, ì°í àéëä áè÷ñýí ýñâýë àéë °°ð÷ë°ãäñ°í çýðýã ³éë ÿâöóóäûã àóäèò õèéõ. • io - ioctl - ioctl(2) ñèñòåìèéí äóóäëàãûí õýðýãëýýã àóäèò õèéõ. • ip - ipc - POSIX õîîëîéíóóä áîëîí System V IPC ³éëäë³³ä çýðýã Ïðîöåññ-Õîîðîíäîõ Õîëáîîíû ò°ð°ë á³ðèéí õýëáýð³³äèéã àóäèò õèéõ. • lo - login_logout - Ñèñòåì äýýð áîëæ áàéãàà login(1) áà logout(1) ³éë ÿâöóóäûã àóäèò õèéõ. • na - non attributable - Øèíæ ÷àíàðã³é ³éë ÿâöóóäûã àóäèò õèéõ. • no - invalid class - Àóäèò áóñ ³éë ÿâöóóäûã òààðóóëàõ(match). • nt - network - connect(2) áà accept(2) çýðýã ñ³ëæýýíèé ³éëäë³³äòýé õîëáîîòîé ³éë ÿâöóóäûã àóäèò õèéõ. • ot - other - Áóñàä ³éë ÿâöóóäûã àóäèò õèéõ. • pc - process - exec(3) áà exit(3) çýðýã ïðîöåññèéí ³éëäë³³äèéã àóäèò õèéõ. Ýäãýýð àóäèò ³éë ÿâöûí àíãèëëóóäûã audit_class áîëîí audit_event òîõèðãîîíû àéëóóäûã °°ð÷èëñí°°ð °°ð÷èëæ áîëíî. Æàãñààëòàä áàéãàà àóäèòèéí àíãèëàë á³ð àìæèëòòàé/àìæèëòã³é ³éëäë³³äèéã òààðñàí ýñýõèéã áîëîí àíãèëàë áà ò°ðëèéí õóâüä òààð÷ áàéãààã íýìæ áàéãàà ýñâýë óñòãàæ áàéãààã õàðóóëñàí óãòâàðòàé áàéíà. • ex
•
(none) éë ÿâöûí àìæèëòòàé áîëîí àìæèëòã³éã àóäèò õèéõ.
Ýíý àíãèëàë äàõü àìæèëòòàé ³éë ÿâöóóäûã àóäèò õèéõ. - Ýíý àíãèëàë äàõü àìæèëòã³é ³éë ÿâöóóäûã àóäèò õèéõ. ^ Ýíý àíãèëàë äàõü àìæèëòòàé, àìæèëòã³é àëü íü ÷ áèø ³éë ÿâöóóäûã àóäèò õèéõ.
• + • •
469
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü
Ýíý àíãèëàë äàõü àìæèëòòàé ³éë ÿâöóóäûã àóäèò õèéõã³é. • ^- Ýíý àíãèëàë äàõü àìæèëòã³é ³éë ÿâöóóäûã àóäèò õèéõã³é. Äàðààõ ñîíãîëòûí ì°ð àìæèëòòàé áà àìæèëòã³é íýâòðýëò/ãàðàëòûí ³éë ÿâöóóäààñ ãàäíà ç°âõ°í àìæèëòòàé àæèëëóóëñíûã ñîíãîæ áàéíà: • ^+
lo,+ex
17.4.2
Òîõèðãîîíû àéëóóä
Àóäèò ñèñòåìèéã òîõèðóóëàõäàà èõýíõ òîõèîëäîëä àäìèíèñòðàòîðóóä ç°âõ°í õî¼ð àéëûã °°ð÷ë°õ õýðýãòýé: audit_control áîëîí audit_user. Ýõíèéõ íü ñèñòåìèéí äàãóóõ àóäèò °ì÷³³ä áîëîí áîäëîãóóäûã õÿíàäàã; õî¼ð äàõü íü õýðýãëýã÷èéí àóäèòèéã íàðèéí òîõèðóóëàõàä àøèãëàãääàã. 17.4.2.1 audit_control àéë
àéë íü àóäèò äýä ñèñòåìèéí õóâüä àíõäàã÷ óòãóóäûí òîîã òîäîðõîéëíî. Ýíý àéëûí äîòîð áèä äàðààõ ç³éëñèéã õàðíà:
audit_control
dir:/var/audit flags:lo minfree:20 naflags:lo policy:cnt filesz:0
òîõèðãîî íü àóäèò á³ðòãýë³³äèéã õàäãàëàõ íýã áîëîí õýä õýäýí ñàíã çààõàä õýðýãëýãäýíý. Õýðýâ íýãýýñ èõ ñàí áàéãàà áîë áè÷èãäñýí äàðààëëààðàà àøèãëàãäàíà. Ôàéëûí ñèñòåì ä³³ðñýí òîõèîëäîëä àóäèò äýä ñèñòåì áîëîí áóñàä äýä ñèñòåì³³ä áèå áèåäýý í°ë°°ëæ áîëçîøã³é ó÷èð àóäèò á³ðòãýë³³äèéã òóñãàéëàí çîðèóëñàí àéëûí ñèñòåì äýýð õàäãàëàõààð àóäèò ñèñòåìèéã èõýâ÷ëýí òîõèðóóëäàã. flags òàëáàð íü ñèñòåìèéí äàãóóõ øèíæ ÷àíàð á³õèé ³éë ÿâöóóäàä çîðèóëñàí àíõäàã÷ óðüä÷èëàí ñîíãîëòûí áàãèéã òîäîðõîéëäîã. Äýýðõ æèøýýí äýýð á³õ õýðýãëýã÷èéí õóâüä àìæèëòòàé áîëîí àìæèëòã³é íýâòðýëò áîëîí ãàðàëòûí ³éë ÿâöóóä àóäèò õèéãäýæ áàéíà. minfree òîõèðãîî íü àóäèò ì°ð õàäãàëàãäàõ àéëûí ñèñòåìèéí õóâüä õàìãèéí áàãà ÷°ë°°ò çàéíû õóâèéã òîäîðõîéëäîã. Ýíý òîãòîîñîí õýìæýýíýýñ èë³³ ãàðàõàä àíõààðóóëãà ³³ñãýãääýã. Äýýðõ æèøýý õàìãèéí áàãà ÷°ë°°ò çàéã 20 õóâèàð òîãòîîæýý. naflags òîõèðãîî íü íýâòðýí îðîëòûí ïðîöåññ áîëîí ñèñòåìèéí äýìîíóóä çýðýã øèíæ ÷àíàðã³é ³éë ÿâöóóäûã àóäèò õèéõ àóäèòèéí àíãèëëóóäûã òîäîðõîéëäîã. policy òîõèðãîî íü òàñëàëààð òóñãààðëàãäñàí, àóäèòèéí çàí àâèðûí ò°ð°ë á³ðèéí øèíæ ÷àíàðûã õÿíàõ áîäëîãûí òóãóóäûí æàãñààëòûã òîäîðõîéëäîã. Àíõäàã÷ cnt òóã íü àóäèò àìæèëòã³é áîëñîí ÷ ãýñýí ñèñòåì àæèëëàãààãàà ³ðãýëæë³³ëýõèéã çààäàã (ýíý òóã çàéëøã³é øààðäëàãàòàé). °ð íýã áàéíãà àøèãëàãääàã òóã áîë argv á°ã°°ä ýíý íü execve(2) ñèñòåìèéí äóóäëàãàä îðæ áàéãàà òóøààëûí ì°ðèéí íýìýëò °ã°ãäë³³äèéã òóøààëûí àæèëëàãààã àóäèò õèéõèéí õýñýã áîëîõ áîëîìæ îëãîäîã. filesz òîõèðãîî íü ì°ðèéí àéë àâòîìàòààð ò°ãñ°õ áîëîí ýðãýõýýñ °ìí°õ àóäèò ì°ðèéí àéëûí õàìãèéí èõ õýìæýýã áàéòààð òîäîðõîéëäîã. Àíõäàã÷ óòãà íü 0 áàéõ áà àâòîìàòààð ýðã³³ëýõèéã õîðèãëîñîí áàéíà. Õýðýâ õ³ññýí àéëûí õýìæýý òýãýýñ ÿëãààòàé áà 512k -ààñ áàãà áîë ò³³íèéã îðõèæ á³ðòãýëèéí ìýäýýëýë ³³ñãýíý. dir
470
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü 17.4.2.2 audit_user àéë
audit_user àéë íü çàðèì íýã õýðýãëýã÷äýä çîðèóëñàí àóäèòèéí øààðäëàãóóäûã àäìèíèñòðàòîðóóä òîäîðõîéëîõûã ç°âø°°ðä°ã. Ì°ð áîëãîí õýðýãëýã÷èä çîðèóëñàí àóäèòèéã õèéõèéã õî¼ð òàëáàðààð òîõèðóóëäàã: íýã äýõ íü õýðýãëýã÷èéí õóâüä ³ðãýëæ àóäèò õèéõ øààðäëàãàòàé íýã õýñýã ³éë ÿâöóóäûã òîäîðõîéëäîã alwaysaudit òàëáàð áà õî¼ð äàõü íü neveraudit òàëáàð á°ã°°ä õýðýãëýã÷èéí õóâüä õýçýý ÷ àóäèò õèéõ øààðäëàãàã³é íýã õýñýã ³éë ÿâöóóäûã òîäîðõîéëäîã. Äàðààõ æèøýýí äýýð audit_user àéë íü íýâòðýëò/ãàðàëòûí ³éë ÿâöóóä, root õýðýãëýã÷èéí àìæèëòòàé òóøààëûí àæèëëàãàà, àéë ³³ñãýëò áà www õýðýãëýã÷èéí àìæèëòòàé òóøààëûí àæèëëàãààã àóäèò õèéæ áàéíà. Õýðýâ äýýðõ æèøýý audit_control àéëòàé öóã àøèãëàãäâàë root-èéí lo îðóóëãà íü äàâõàðäàõ á°ã°°ä www õýðýãëýã÷èéí íýâòðýëò/ãàðàëòûí ³éë ÿâöóóä áàñ àóäèò õèéãäýíý. root:lo,+ex:no www:fc,+ex:no
17.5
Àóäèò äýä ñèñòåìèéã óäèðäàõ íü
17.5.1
Àóäèò ì°ð³³äèéã õàðàõ íü
Àóäèò ì°ð³³ä íü BSM õî¼ðòûí õýëáýðýýð õàäãàëàãääàã á°ã°°ä °°ð÷ë°õ áîëîí òåêñò óðóó õ°ðâ³³ëýõýä òóñãàé õýðýãñë³³ä àøèãëàõ øààðäëàãàòàé. praudit(1) òóøààë íü ì°ðèéí àéëóóäûã õÿëáàð òåêñò õýëáýðò õ°ðâ³³ëäýã; auditreduce(1) òóøààë íü àóäèò ì°ðèéí àéëûã øèíæëýõ, àðõèâëàõ ýñâýë õýâëýõ çîðèëãîîð áàãàñãàõàä àøèãëàãääàã. auditreduce íü ³éë ÿâöûí ò°ð°ë, ³éë ÿâöûí àíãèëàë, ³éë ÿâöûí õýðýãëýã÷, îãíîî ýñâýë öàã, àéëûí çàì ýñâýë îáüåêòèéí ³éëäýë ³ç³³ëñýí çýðýã ò°ð°ë á³ðèéí ñîíãîëòûí ïàðàìåòð³³äèéã äýìæäýã. Æèøýý íü praudit õýðýãñýë íü çààñàí àóäèò á³ðòãýëèéí á³õ àãóóëãûã æèðèéí òåêñòýýð õàðóóëíà: # praudit /var/audit/AUDITFILE
íü õàðóóëàõ àóäèò á³ðòãýë þì. Àóäèò ì°ð³³ä íü òîêåíóóäààñ á³òýõ àóäèò áè÷ëýã³³äèéí öóâðàëààñ òîãòîõ á°ã°°ä praudit íü ì°ð áîëãîíä íýãèéã äàðààëóóëàí õýâëýíý. Òîêåí á³ð àóäèò áè÷ëýãèéí òîëãîéã àãóóëñàí header ýñâýë íýðèéí õàéëòààñ ãàðñàí àéëûí çàìûã àãóóëñàí path çýðýã òóñãàé ò°ðëèéí áàéíà. Äàðààõ æèøýý íü execve ³éë ÿâöûã õàðóóëæ áàéíà:
AUDITFILE
header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec exec arg,finger,doug path,/usr/bin/finger attribute,555,root,wheel,90,24918,104944 subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100 return,success,0 trailer,133
Ýíýõ³³ àóäèò íü àìæèëòòàé execve äóóäëàãûã èëýðõèéëæ áàéãàà á°ã°°ä ò³³íä finger doug òóøààë àæèëëàæýý. Íýìýëò °ã°ãäëèéí òîêåí íü ö°ì óðóó á³ðõ³³ëýýñ ãàð÷ áîëîâñðóóëàãäñàí òóøààëûí ì°ðèéã àãóóëíà. path áóþó çàìûí òîêåí íü ö°ìèéí õàéñàí àæèëëàõ àéëûí çàìûã àãóóëíà.
471
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü
áóþó øèíæ ÷àíàðûí òîêåí íü õî¼ðòûí àéëûã òàéëáàðëàõ áà òóõàéëáàë ïðîãðàì setuid ýñýõèéã òîäîðõîéëîõîä àøèãëàãäàõ àéëûí ãîðèìûã àãóóëíà. subject áóþó ñóáüåêò òîêåí íü ñóáüåêò ïðîöåññèéã òàéëáàðëàõ á°ã°°ä àóäèò õýðýãëýã÷èéí ID, èäýâõèòýé õýðýãëýã÷èéí ID áà á³ëãèéí ID, æèíõýíý õýðýãëýã÷èéí ID áà á³ëãèéí ID, ïðîöåññèéí ID, ñåññèéí ID, ïîðòûí ID áîëîí íýâòðýëòèéí õàÿã ãýñýí äàðààëëààð õàäãàëíà. Àóäèò õýðýãëýã÷èéí ID áà æèíõýíý õýðýãëýã÷èéí ID íü ÿëãààòàéã àíõààðàõ õýðýãòýé: robert ãýäýã õýðýãëýã÷ ýíý òóøààëûã àæèëëóóëàõààñàà °ìí° root á³ðòãýë óðóó øèëæñýí á°ã°°ä ýíý íü ýõíèé øàëãóóëñàí õýðýãëýã÷èéã àøèãëàí àóäèò õèéãäñýí áàéíà. Ò°ãñã°ëä íü return áóþó áóöàõ òîêåí íü àìæèëòòàé àæèëëàãààã õàðóóëæ trailer íü áè÷ëýãèéã ò°ãñã°í°. FreeBSD 6.3 áîëîí ò³³íýýñ øèíý õóâèëáàðóóäàä praudit íü áàñ XML ãàðàëòûí õýëáýðèéã äýìæäýã á°ã°°ä ³³íèéã -x íýìýëò °ã°ãäëèéã àøèãëàí ñîíãîæ áîëäîã. attribute
17.5.2
Àóäèòèéí ì°ð³³äèéã áàãàñãàõ íü
Àóäèò á³ðòãýë³³ä íü ìàø èõ áàéæ áîëíî, àäìèíèñòðàòîð çàðèì õýðýãëýã÷òýé õîëáîîòîé áè÷ëýã³³ä çýðýã õýñýã áè÷ëýã³³äèéã àøèãëàõûí òóëä øèëæ ñîíãîõûã ìàãàäã³é õ³ñíý: # auditreduce -u trhodes /var/audit/AUDITFILE | praudit
Ýíý íü AUDITFILE àéëä õàäãàëàãäñàí trhodes õýðýãëýã÷èéí á³õ àóäèòèéí áè÷ëýã³³äèéã ñîíãîæ áàéíà. 17.5.3
Àóäèò õÿíàõ ýðõ³³äèéã òîìèëîõ íü
á³ëãèéí ãèø³³ä /var/audit äàõü àóäèò ì°ð³³äèéã óíøèõ ýðõòýé; àíõàíäàà ýíý á³ëýã íü õîîñîí áàéõ á°ã°°ä òýãýõýýð ç°âõ°í root õýðýãëýã÷ àóäèò ì°ð³³äèéã óíøèæ ÷àäíà. Àóäèò õÿíàõ ýðõ³³äèéã õýðýãëýã÷äýä òîìèëîõûí òóëä õýðýãëýã÷äèéã audit á³ëýãò íýìæ áîëíî. Àóäèòèéí á³ðòãýëèéí àãóóëãûã õÿíàõ ÷àäâàð íü õýðýãëýã÷èä áîëîí ïðîöåññóóäûí ³éë õ°äë°ëèéí äîòîîä óðóó íýëýýí ã³íçãèé õàíääàã ó÷èð àóäèò õÿíàõ ýðõ³³äèéã òîìèëîõäîî áîëãîîìæòîé õèéõèéã ç°âë°æ áàéíà. audit
17.5.4
Àóäèò õîîëîéíóóäûã øóóä ìîíèòîð õèéõ íü
Àóäèò õîîëîéíóóä íü ò°õ°°ð°ìæèéí àéëûí ñèñòåì äàõü êëîí õèéãäñýí ïñåâäî ò°õ°°ð°ìæ³³ä á°ã°°ä ïðîãðàìûã øóóä ÿâæ áàéãàà àóäèò áè÷ëýãèéí óðñãàëä õîëáîõ áîëîìæ îëãîíî. Ýíý íü ãîë÷ëîí õàëäëàãà èëð³³ëýõ áîëîí ñèñòåì ìîíèòîð õèéõ ïðîãðàìóóäûí çîõèîã÷äûí ñîíèðõëûã òàòäàã. ýõäýý àäìèíèñòðàòîðóóäûí õóâüä àóäèòèéí õîîëîéíû ò°õ°°ð°ìæ íü àóäèòèéí ì°ðèéí àéëûí ýçýìøèë ýñâýë ³éë ÿâöûí óðñãàëûã çîãñîîõ, á³ðòãýë ýðã³³ëýõ çýðýã àñóóäëóóäòàé õîëáîãäîëã³éãýýð øóóä ìîíèòîð õèéõ ýâòýéõýí áîëîìæèéã á³ðä³³ëäýã. Øóóä ÿâæ áàéãàà àóäèòèéí ³éë ÿâöûí óðñãàëûã õÿíàõäàà äàðààõ òóøààëûí ì°ðèéã àøèãëàíà: # praudit /dev/auditpipe
Àíõàíäàà àóäèòèéí õîîëîéíû ò°õ°°ð°ìæèéí öýã³³äýä ç°âõ°í root õýðýãëýã÷ õàíäàõ ýðõòýé áàéäàã. á³ëãèéí õýðýãëýã÷èä õàíäàõ áîëîìæòîé áîëãîõûí òóëä devfs ä³ðìèéã devfs.rules -ä íýìíý:
audit
add path ’auditpipe*’ mode 0440 group audit
devfs àéëûí ñèñòåìèéã òîõèðóóëàõ òàëààð äýëãýðýíã³é ìýäýýëëèéã devfs.rules(5) -ýýñ õàðíà óó.
472
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü Warning: Àóäèòèéí ³éë ÿâöûí áóöààæ °ã°õ äàâòàëòóóäûã ³³ñãýõ íü õÿëáàð á°ã°°ä àóäèò ³éë ÿâö á³ðèéí ³çýëò íü îëîí àóäèòèéí ³éë ÿâöóóäûã ³³ñãýõýä õ³ðãýíý. Æèøýý íü, õýðýâ ñ³ëæýýíèé á³õ I/O àóäèò õèéãäñýí á°ã°°ä praudit(1) íü SSH ñåññýýñ àæèëëàñàí áîë ³éë ÿâö á³ð õýâëýãäýõýä °°ð ³éë ÿâöûã áàñ ³³ñãýõ ó÷ðààñ ³ðãýëæèëñýí àóäèòèéí ³éë ÿâöóóä èõ õýìæýýãýýð ³³ñýõ áîëíî. Ýíý àñóóäëûã áèé áîëãîõã³éí òóëä íàðèéí òîõèðóóëààã³é I/O àóäèò õèéõ ñåññýýñ praudit-èéã àóäèòèéí õîîëîéíû ò°õ°°ð°ìæ äýýð àæèëëóóëàõûã ç°âë°æ áàéíà.
17.5.5
Àóäèò ì°ðèéí àéëóóäûã ýðã³³ëýõ íü
Àóäèò ì°ð³³ä íü ç°âõ°í ö°ì°°ð áè÷èãäýõ á°ã°°ä auditd àóäèò äýìîíîîð óäèðäàãääàã. Àäìèíèñòðàòîðóóä àóäèò á³ðòãýë³³äèéã øóóä ýðã³³ëýõäýý newsyslog.conf(5) ýñâýë áóñàä õýðýãñë³³äèéã àøèãëàí õèéõ ¼ñã³é þì. Õàðèí audit óäèðäàõ õýðýãñëèéã àøèãëàí àóäèòèéã óíòðààõ, àóäèò ñèñòåìèéã äàõèí òîõèðóóëàõ, áîëîí á³ðòãýëèéã ýðã³³ëýõ ³éëäë³³äèéã õèéõ áîëîìæòîé áàéäàã. Äàðààõ òóøààë àóäèò äýìîíã øèíý àóäèò á³ðòãýë ³³ñãýæ ö°ìèéã øèíý á³ðòãýë óðóó øèëæèõèéã äîõèíî. Õóó÷èí á³ðòãýë íü ò°ãñ°æ íýð íü °°ð÷ë°ãä°õ á°ã°°ä äàðààãààð ò³³íòýé àäìèíèñòðàòîð àæèëëàõ áîëîìæ á³ðäýíý. # audit -n
Warning: Õýðýâ auditd äýìîí àæèëëàõã³é áàéãàà áîë ýíý òóøààë íü àìæèëòã³é áîëîõ á°ã°°ä àëäààíû ìýäýýëýë ³³ñãýíý.
Äàðààõ ì°ðèéã /etc/crontab -ä íýìñíýýð cron(8) -îîñ àðâàí õî¼ð öàã òóòàì ýðã³³ëýõ áîëíî: 0
*/12
*
*
*
root
/usr/sbin/audit -n
Øèíý /etc/crontab -èéã õàäãàëñíû äàðàà °°ð÷ë°ëò ³éë÷èëæ ýõëýõ áîëíî. Ôàéëûí õýìæýýí äýýð òóëãóóðëàñàí àóäèòèéí ì°ðèéí àéëûã àâòîìàòààð ýðã³³ëýõ íü audit_control(5) äàõü filesz òîõèðãîîãîîð õèéãäýõ áîëîìæòîé á°ã°°ä ãàðûí àâëàãûí ýíý á³ëãèéí òîõèðãîîíû àéëóóäûí õýñýãò òàéëáàðëàñàí áîëíî. 17.5.6
Àóäèò ì°ð³³äèéã øàõàõ íü
Àóäèò ì°ðèéí àéëóóä àñàð èõ áîëîõ òóñàì ì°ð³³äèéã àóäèò äýìîíîîð õààëãàñíû äàðàà øàõàõ ýñâýë àðõèâëàõ íü ç³éòýé þì. audit_warn ñêðèïò íü àóäèòèéí ì°ð³³äèéã ýðã³³ëýõ ³åèéí öýâýð ò°ãñã°ë çýðýã ò°ð°ë á³ðèéí àóäèòòàé õîëáîîòîé ³éë ÿâöóóäàä çîðèóëàí °°ð÷èëñ°í ³éëäë³³äèéã ã³éöýòãýõýä àøèãëàãäàíà. Æèøýý íü õààãäàõ ³åä àóäèò ì°ð³³äèéã øàõàõ äàðààõ êîäûã audit_warn ñêðèïòýä íýìæ áîëíî: # # Compress audit trail files on close. # if [ "$1" = closefile ]; then gzip -9 $2 fi
473
Chapter 17 Àþóëã³é áàéäëûí ³éë ÿâöàä àóäèò õèéõ íü
Áóñàä àðõèâëàõ èäýâõ³³äýä ì°ðèéí àéëóóäûã ò°â ñåðâåð óðóó õóóëàõ, õóó÷èí ì°ðèéí àéëóóäûã óñòãàõ ýñâýë õýðýãã³é áè÷ëýã³³äèéã õàñ÷ àóäèò ì°ðèéã áàãàñãàõ çýðýã îðæ áîëíî. Àóäèò ì°ðèéí àéëóóä öýâýðõýí äóóññàí òîõèîëäîëä ñêðèïò àæèëëàíà, òýãýõýýð áóðóó óíòðààñíû äàðàà äóóñààã³é ì°ð³³ä äýýð àæèëëàõã³é.
474
Chapter 18
Õàäãàëàëò
Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 18.1
Åð°íõèé àãóóëãà
Ýíý á³ëýã íü FreeBSD äýýð äèñêí³³äèéã àøèãëàõ òàëààð òàéëáàðëàõ áîëíî. Ýäãýýðò ñàíàõ îé äýýð òóëãóóðëàñàí äèñêí³³ä, ñ³ëæýýíä çàëãàãäñàí äèñêí³³ä, ñòàíäàðò SCSI/IDE õàäãàëàëòûí ò°õ°°ð°ìæ³³ä áîëîí USB èíòåðýéñ àøèãëàäàã ò°õ°°ð°ìæ³³ä áàãòàõ þì. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: Ôèçèê äèñê (õóâààëòóóä áîëîí ç³ñìýë³³ä) äýýðõ °ã°ãäëèéí çîõèîí áàéãóóëàëòûã òàéëáàðëàäàã FreeBSD-èéí àøèãëàäàã óõàãäàõóóí. • °ðèéí ñèñòåì äýýð íýìýëò õàòóó äèñêí³³äèéã õýðõýí íýìýõ òàëààð. • USB õàäãàëàëòûí ò°õ°°ð°ìæ³³äèéã àøèãëàõûí òóëä FreeBSD-ã õýðõýí òîõèðóóëàõ òàëààð. • Ñàíàõ îéí äèñê çýðýã âèðòóàë àéëûí ñèñòåì³³äèéã õýðõýí òîõèðóóëàõ òàëààð. • Äèñêíèé çàéí õýðýãëýýã õÿçãààðëàõûí òóëä íîîãäëûã õýðõýí àøèãëàõ òàëààð. • Äèñêèéã õàëäàã÷äààñ õàìãààëæ íóóöëàõûí òóëä õýðõýí øèðëýõ òàëààð. • FreeBSD äýýð CD áîëîí DVD-ã õýðõýí ³³ñãýæ øàðàõ òàëààð. • Í°°öë°ëò°ä çîðèóëñàí õàäãàëàëòûí ò°ð°ë á³ðèéí òîõèðóóëãóóä. • FreeBSD äýýð áàéäàã í°°öë°ëòèéí ïðîãðàìóóäûã õýðõýí àøèãëàõ òàëààð. • Óÿí äèñê óðóó õýðõýí í°°öë°õ òàëààð. • Ôàéëûí ñèñòåìèéí õîðìûí õóâèëáàð ãýæ þó áîëîõ ò³³íèéã õýðõýí ³ð ä³íòýéãýýð àøèãëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
•
Øèíý FreeBSD ö°ìèéã õýðõýí òîõèðóóëæ ñóóëãàõ òàëààð ìýäýõ (Chapter 8).
18.2
Ò°õ°°ð°ìæèéí íýðñ
Äàðààõ íü FreeBSD-ä äýìæèãäñýí èçèê õàäãàëàëòûí ò°õ°°ð°ìæ³³ä áîëîí òýäãýýðòýé õîëáîîòîé ò°õ°°ð°ìæèéí íýðñèéí æàãñààëò þì. Table 18-1.
Ôèçèê äèñê íýðëýõ çàíøèë
Õ°ò÷èéí ò°ð°ë Õ°ò÷èéí ò°õ°°ð°ìæèéí íýð IDE õàòóó õ°ò÷³³ä ad IDE CDROM õ°ò÷³³ä acd SCSI õàòóó õ°ò÷³³ä áîëîí USB Mass õàäãàëàëòûí da ò°õ°°ð°ìæ³³ä SCSI CDROM õ°ò÷³³ä cd 475
Chapter 18 Õàäãàëàëò
Õ°ò÷èéí ò°ð°ë Ò°ð°ëæ³³ëñýí ñòàíäàðò áóñ CDROM õ°ò÷³³ä Óÿí õ°ò÷³³ä SCSI ñîðîíçîí õàëüñíû õ°ò÷³³ä IDE ñîðîíçîí õàëüñíû õ°ò÷³³ä Flash õ°ò÷³³ä RAID õ°ò÷³³ä
18.3
Õ°ò÷èéí ò°õ°°ð°ìæèéí íýð Mitsumi CD-ROM-èéí õóâüä mcd áà Sony CD-ROM õ°ò÷³³äèéí õóâüä scd fd sa ast
DiskOnChip® Flash õ°ò÷èéí õóâüä fla
Adaptec® AdvancedRAID-í õóâüä aacd, Mylex-èéí õóâüä mlxd áà mlyd, AMI MegaRAID-èéí õóâüä amrd, Compaq Smart RAID-èéí õóâüä idad, 3ware® RAID-èéí õóâüä twed.
Äèñê íýìýõ
Àíõëàí õóâü íýìýð áîëãîí îðóóëñàí Äýéâèä Î’Áðàéí. Áèä øèíý SCSI äèñêèéã îäîîãîîð ç°âõ°í íýã õ°ò°÷òýé áàéãàà ìàøèí äýýð íýìýõèéã õ³ñýæ áàéíà ãýæ áîäú¼. Ýõëýýä êîìïüþòåðàà óíòðààãààä õ°ò÷èéã êîìïüþòåð, õÿíàã÷ áîëîí õ°ò÷èéí ³éëäâýðëýã÷èéí çààâðóóäûí äàãóó ñóóëãàíà. ³íèéã õèéõ ìàø îëîí ò°ðëèéí ïðîöåäóðóóäààñ áîëîîä ýíý òóõàé äýëãýðýíã³é ìýäýýëýë íü ýíý áàðèìòûí õàìðàõ õ³ðýýíýýñ ãàäíà þì. root õýðýãëýã÷ýýð íýâòðýõ õýðýãòýé. Òà õ°ò÷èéã ñóóëãàñíû äàðàà øèíý äèñê îëäñîí ýñýõèéã /var/run/dmesg.boot-ñ øàëãààðàé. Øèíýýð íýìñýí õ°ò°÷ íü da1 áàéõ á°ã°°ä áèä ³³íèéã /1 äýýð õîëáîõûã õ³ñíý (õýðýâ òà IDE õ°ò°÷ íýìæ áàéãàà áîë ò°õ°°ð°ìæèéí íýð íü ad1 áîëíî). FreeBSD íü IBM-PC-òýé íèéöòýé êîìïüþòåðóóäòàé àæèëëàäàã ó÷ðààñ PC BIOS õóâààëòóóäûã áîäîëöîõ ¼ñòîé. Ýäãýýð íü óëàìæëàëò BSD õóâààëòóóäààñ °°ð þì. PC äèñê íü ä°ð°â õ³ðòýëõ òîîíû BSD õóâààëòòàé áàéäàã. Õýðýâ äèñê íü æèíõýíýýðýý FreeBSD-ä çîðèóëàãäàõ áîë òà dedicated áóþó çîðèóëàãäñàí ãîðèìûã àøèãëàæ áîëíî. ã³é áîë FreeBSD íü PC BIOS õóâààëòóóäûí àëü íýãýí äýýð áàéðëàõ áîëíî. FreeBSD íü PC BIOS õóâààëòóóäûã óëàìæëàëò BSD õóâààëòóóäòàé ýíä³³ðýõã³éí òóëä ç³ñìýë³³ä ãýæ íýðëýäýã. Òà áàñ FreeBSD-ä çîðèóëàãäñàí áîëîâ÷ °°ð ³éëäëèéí ñèñòåì ñóóëãàãäñàí êîìïüþòåð äýýð àøèãëàñàí äèñê äýýðõ ç³ñìýë³³äèéã õýðýãëýæ áîëîõ þì. Ýíý íü FreeBSD áèø °°ð ³éëäëèéí ñèñòåìèéí fdisk õýðýãñýëòýé àíäóóðàõààñ õàìãààëàõ íýã ñàéí àðãà þì. dzñìýëèéí õóâüä áîë õ°ò°÷ íü /dev/da1s1e ãýæ íýìýãäýõ áîëíî. ³íèéã SCSI äèñê, íýãæèéí äóãààð 1 (õî¼ð äàõü SCSI äèñê), ç³ñìýë 1 (PC BIOS õóâààëò 1) áîëîí e BSD õóâààëò ãýæ óíøèíà. Çîðèóëàãäñàí òîõèîëäîëä õ°ò°÷ íü åðä°° ë /dev/da1e ãýæ íýìýãäýíý. Ñåêòîðóóäûí òîîã õàäãàëàõûí òóëä 32 áèòèéí á³õýë òîîã àøèãëàäãààñ áîëîîä bsdlabel(8) íü íýã äèñêíèé õóâüä 2^32-1 ñåêòîð áóþó èõýíõ òîõèîëäîëä 2TB áîëæ õÿçãààðëàãääàã. fdisk(8) õýëáýðø³³ëýëò íü 2^32-1-ñ èõã³é ýõëýõ ñåêòîð áîëîí 2^32-1-ñ èõã³é óðòûã ç°âø°°ð÷ õóâààëòóóäûã 2TB, äèñêí³³äèéã èõýíõ òîõèîëäîëä 4TB áîëãîæ õÿçãààðëàäàã. sunlabel(8) õýëáýðø³³ëýëò íü íýã õóâààëòûí õóâüä 2^32-1 ñåêòîðîîð, íèéòäýý 16TB-èéí 8 õóâààëòààð õÿçãààðëàãääàã. Èë³³ òîì äèñêí³³äèéí õóâüä gpt(8) õóâààëòóóä àøèãëàãäàæ áîëîõ þì.
476
Chapter 18 Õàäãàëàëò
ã àøèãëàõ íü
18.3.1 sysinstall(8)1.
2.
3.
4.
Sysinstall-ã æîëîîäîõ íü
Òà sysinstall-í õÿëáàð àøèãëàæ áîëîõ öýñí³³äèéí òóñëàìæòàéãààð øèíý äèñêèéã õóâààí õàÿãëàæ áîëîõ þì. root õýðýã÷ýýð íýâòðýõ áóþó ýñâýë su òóøààëûã àøèãëààðàé. sysinstall-ã àæèëëóóëæ Configure öýñ óðóó îðíî. FreeBSD Configuration Menu äîòîð äîîø øèëæèæ Fdisk òîõèðóóëãûã ñîíãîíî. fdisk õóâààëò çàñâàðëàã÷ fdisk-èéí äîòîð áàéõäàà A-ã äàðâàë äèñêèéã á³õýëä íü FreeBSD-ä àøèãëàõ áîëíî. Àñóóõ ³åä íü õýðýâ òà “èðýýä³éä ñóóëãàæ áîëçîøã³é ³éëäëèéí ñèñòåì³³äòýé õàìòðàí àæèëëàõààð ³ëäýõèéã õ³ñâýë” YES ãýæ õàðèóëààðàé. W-ã àøèãëàí °°ð÷ë°ëò³³äèéã äèñê óðóó áè÷íý. Îäîî FDISK çàñâàðëàã÷ààñ Q-ã äàðæ ãàðààðàé. Äàðàà íü òàíààñ “Master Boot Record áóþó Ìàñòåð À÷ààëàã÷ Áè÷ëýãèéí” òàëààð àñóóõ áîëíî. Òà àæèëëàæ áàéãàà ñèñòåì äýýð äèñê íýìæ áàéãàà áîëîõîîð None-ã ñîíãîõ õýðýãòýé. Äèñêíèé Øîøãî çàñâàðëàã÷ Äàðàà íü sysinstall-ñ ãàð÷ äàõèí ò³³íèéã ýõë³³ëýõ õýðýãòýé. Äýýðõ çààâðóóäûã äàãààðàé, ãýõäýý ýíý óäààä Label òîõèðóóëãûã ñîíãîîðîé. Ýíý íü Disk Label Editor áóþó äèñêíèé øîøãî çàñâàðëàã÷ óðóó îðíî. Ýíä òà óëàìæëàëò BSD õóâààëòóóäûã ³³ñãýäýã. Äèñê íü a-h ãýæ õàÿãëàãäñàí íàéì õ³ðòýëõ õóâààëòóóäòàé áàéæ áîëíî. Õóâààëòûí øîøãîíóóäûí ö°°í õýä íü òóñãàé õýðýãëýýòýé áàéäàã. a õóâààëò íü root õóâààëòàíä (/) àøèãëàãääàã. Òèéìýýñ ç°âõ°í òàíû ñèñòåìèéí äèñê (°°ð°°ð õýëáýë òàíû à÷ààëàëò õèéñýí äèñê) a õóâààëòòàé áàéõ ¼ñòîé. b õóâààëò íü swap õóâààëòóóäàä õýðýãëýãääýã á°ã°°ä òà swap õóâààëòòàé îëîí äèñêòýé áàéæ áîëîõ þì. c õóâààëò íü çîðèóëàãäñàí ãîðèìä á³õ äèñêèéã, ç³ñìýëèéí ãîðèìä á³õýë FreeBSD ç³ñìýëèéã ýñâýë çààäàã. Áóñàä õóâààëòóóä íü åð°íõèé õýðýãëýýíä çîðèóëàãäñàí. sysinstall-èéí øîøãî çàñâàðëàã÷ íü root áèø, swap áèø õóâààëòóóäàä çîðèóëæ e õóâààëòûã èë³³òýé ³çäýã. Øîøãî çàñâàðëàã÷ äîòîð áàéõäàà C-ã äàðàí ãàíö àéëûí ñèñòåì ³³ñãýõ õýðýãòýé. Àñóóõ ³åä, õýðýâ ýíý íü FS (àéëûí ñèñòåì) ýñâýë swap áàéõ þì áîë FS-ã ñîíãîæ õîëáîõ öýãèéã (°°ð°°ð õýëáýë /mnt) áè÷ýýðýé. Õýðýâ äèñêèéã ñóóëãàöûí äàðààõ ãîðèìä íýìæ áàéãàà áîë sysinstall íü òàíä çîðèóëæ îðóóëãóóäûã /etc/fstab àéëä ³³ñãýõã³é, òèéìýýñ òàíû çààæ °ãñ°í õîëáîõ öýã íü ÷óõàë áèø þì. Òà îäîî øèíý øîøãûã äèñê óðóó áè÷èæ ò³³í äýýð àéëûí ñèñòåì ³³ñãýõýä áýëýí áîëëîî. ³íèéã W-ã äàðæ õèéíý. sysinstall-ûí øèíý õóâààëòûã õîëáîæ ÷àäàõã³é áàéíà ãýñýí àëäààã °íã°ð³³ëýõ õýðýãòýé. Øîøãî çàñâàðëàã÷ áîëîí sysinstall-ñ á³ð ì°ñ°í ãàðààðàé. Ò°ãñã°ë Õàìãèéí ñ³³ëèéí àëõàì íü /etc/fstab àéëûã çàñâàðëàæ °°ðèéí øèíý äèñêíèé îðóóëãûã íýìýõ ÿâäàë þì.
18.3.2
Òóøààëûí ì°ðèéí õýðýãñë³³äèéã àøèãëàõ íü
18.3.2.1 dzñìýë³³äèéã àøèãëàõ íü
Ýíý òîõèðãîî íü òàíû äèñêèéã °°ðèéí ÷èíü êîìïüþòåð äýýð ñóóëãàãäñàí áàéæ áîëîõ áóñàä ³éëäëèéí ñèñòåìòýé ç°â àæèëëàæ °°ð áóñàä ³éëäëèéí ñèñòåìèéí fdisk õýðýãñë³³äòýé ýíä³³ðýõã³é áàéõ
477
Chapter 18 Õàäãàëàëò
áîëîìæèéã á³ðä³³ëäýã. Øèíý äèñêèéã ñóóëãàõàä ýíý àðãûã àøèãëàõûã ç°âë°ä°ã. Õýðýâ òàíä ³íýõýýð òîõèðîõ øàëòãààí áàéãàà òîõèîëäîëä çîðèóëàãäñàí ãîðèìûã àøèãëààðàé! # # # # # # # #
dd if=/dev/zero of=/dev/da1 bs=1k count=1 fdisk -BI da1 #Initialize your new disk bsdlabel -B -w da1s1 auto #Label it. bsdlabel -e da1s1 # Edit the bsdlabel just created and add any partitions. mkdir -p /1 newfs /dev/da1s1e # Repeat this for every partition you created. mount /dev/da1s1e /1 # Mount the partition(s) vi /etc/fstab # Add the appropriate entry/entries to your /etc/fstab.
Õýðýâ òàíä IDE äèñê áàéâàë da-ã ad ãýæ ñîëèîðîé. 18.3.2.2 Çîðèóëàãäñàí
Õýðýâ òà øèíý õ°ò÷èéã °°ð ³éëäëèéí ñèñòåìòýé öóã õóâààëöàõã³é áîë çîðèóëàãäñàí ãîðèìûã àøèãëàæ áîëîõ þì. Ýíý ãîðèì íü Microsoft ³éëäëèéí ñèñòåìèéí òîëãîéã ýðã³³ëæ áîëîõûã ñàíààðàé; ãýõäýý òýäãýýð íü ÿìàð ÷ ýâäðýë ãýìòýë ³³ñãýõã³é. IBM-èéí OS/2 íü õàðèí îëñîí á³õ îéëãîõã³é áàéãàà ÿìàð ÷ õóâààëòûã õóâüäàà “çàâøèõ” áîëíî. # # # # # # #
dd if=/dev/zero of=/dev/da1 bs=1k count=1 bsdlabel -Bw da1 auto bsdlabel -e da1 # create the ‘e’ partition newfs /dev/da1e mkdir -p /1 vi /etc/fstab # add an entry for /dev/da1e mount /1
°ð íýã àðãà íü: # # # # # #
dd if=/dev/zero of=/dev/da1 count=2 bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin newfs /dev/da1e mkdir -p /1 vi /etc/fstab # add an entry for /dev/da1e mount /1
18.4 RAID 18.4.1
Ïðîãðàì õàíãàìæèéí RAID
18.4.1.1 Íèéë³³ëýãäñýí Äèñêíèé Äðàéâåð (Concatenated Disk Driver áóþó CCD) òîõèðãîî
Àíõëàí àæèëëàñàí Êðèñòîåð Øàìâýé. Õÿíàí òîõèîëäóóëñàí Æèì Áðàóí. Á°°í õàäãàëàëòûí øèéäëèéã ñîíãîõäîî áîäîëöîõ õàìãèéí ÷óõàë õ³÷èí ç³éë³³ä íü õóðä, íàéäâàðòàé áàéäàë áîëîí °ðò°ã þì. Ýíý ãóðâûã ãóðâóóëàíã íü òýíö³³ áàéëãàõ íü õîâîð áàéäàã; åð°íõèéä°° õóðäàí, 478
Chapter 18 Õàäãàëàëò
íàéäâàðòàé á°°í õàäãàëàëòûí ò°õ°°ð°ìæ íü ³íýòýé á°ã°°ä ³íèéí õóâüä õÿìäûã ñîíãîõ íü õóðä ýñâýë íàéäâàðòàé áàéäëûí àëü íýãèéã çîëèîñëîõ õýðýãòýé áîëäîã. Äîîð òàéëáàðëàñàí ñèñòåìèéã äèçàéí õèéõäýý °ðòãèéã õàìãèéí ÷óõàë õ³÷èí ç³éë ãýæ ñîíãîæ àâñàí á°ã°°ä ³³íèé äàðàà õóðä, õóðäûí äàðàà íàéäâàðòàé áàéäëûã ñîíãîñîí. Ýíý ñèñòåìèéí °ã°ãä°ë äàìæóóëàõ õóðä íü ýöñèéí ýöýñò ñ³ëæýýãýýð øàõàãääàã. Íàéäâàðòàé áàéäàë íü ìàø ÷óõàë áîëîâ÷ äîîð òàéëáàðëàñàí CCD õ°ò°÷ íü CD-R-óóä äýýð àëü õýäèéí á³òíýýðýý í°°öë°ãäñ°í, àìàðõíààð ñîëèãäîæ áîëîõ °ã°ãä°ëä øóóä ³éë÷èëäýã. °ðèéí øààðäëàãûã òîäîðõîéëîõ íü á°°í õàäãàëàëòûí øèéäëèéã ñîíãîõ àíõíû àëõàì þì. Õýðýâ òàíû øààðäëàãà íü õóðä ýñâýë íàéäâàðòàé áàéäëûã °ðòã°°ñ èë³³òýé ³çýæ áàéãàà áîë òàíû øèéäýë ýíý õýñýãò òàéëáàðëàñàí øèéäëýýñ °°ð áîëîõ áîëíî. 18.4.1.1.1 Òîíîã ò°õ°°ð°ìæèéã ñóóëãàõ íü
IDE ñèñòåìèéí äèñêíýýñ ãàäíà ãóðâàí Western Digital 30GB, 5400 RPM IDE äèñê íü äîîð òàéëáàðëàñàí CCD äèñêíèé ãîë ö°ì áîëæ íèéòäýý îéðîëöîîãîîð 90GB øóóä õàäãàëàëò áîëíî. Òóéëûí õ³ñëýýð áîë IDE äèñê á³ð °°ðèéí IDE õÿíàã÷ áîëîí êàáåëüòàé áàéíà, ãýõäýý °ðòãèéã áàãàñãàõûí òóëä íýìýëò IDE õÿíàã÷óóä àøèãëàãäààã³é áîëíî. Õàðèí äèñêí³³ä íü jumper áóþó õîëáîã÷îîð òîõèðóóëàãäñàí á°ã°°ä èíãýñíýýð IDE õÿíàã÷ á³ð íýã ìàñòåð áîëîí íýã áîîëòîé áàéíà.
Äàõèí à÷ààëàõ ³åä ñèñòåìèéí BIOS çàëãàãäñàí äèñêí³³äèéã àâòîìàòààð îëîõîîð òîõèðóóëàãäñàí áàéäàã. Èë³³ ÷óõàë ç³éë íü FreeBSD òýäãýýðèéã äàõèí à÷ààëàõàä îëñîí ÿâäàë þì:
ad0: ad1: ad2: ad3:
19574MB 29333MB 29333MB 29333MB
<WDC <WDC <WDC <WDC
WD205BA> WD307AA> WD307AA> WD307AA>
[39770/16/63] [59598/16/63] [59598/16/63] [59598/16/63]
at at at at
ata0-master UDMA33 ata0-slave UDMA33 ata1-master UDMA33 ata1-slave UDMA33
Note: Õýðýâ FreeBSD äèñêí³³äèéã á³ãäèéã íü îëîõã³é áàéãàà áîë òà òýäãýýðèéã ç°â°°ð õîëáîñîí ýñýõýý øàëãààðàé. IDE õ°ò÷³³äèéí èõýíõ íü áàñ “Cable Select” õîëáîã÷òîé áàéäàã. Ýíý íü ìàñòåð/áîîë õàðèëöààíä çîðèóëàãäñàí õîëáîã÷ áèø þì. Õ°ò÷èéí áàðèìòààñ ç°â õîëáîã÷èéã òàíèõ òàëààð ëàâëààðàé.
Äàðàà íü òýäãýýðèéã àéëûí ñèñòåìèéí õýñýã áîëãîí çàëãàõ òàëààð áîäîõ õýðýãòýé. Òà vinum(8) (Chapter 21) áîëîí ccd(4) õî¼óëàíã ñóäëàõ õýðýãòýé. Ýíý òîõèðãîîíû õóâüä ccd(4)-ã ñîíãîñîí. 18.4.1.1.2 CCD-ã òîõèðóóëàõ íü
ccd(4) õ°ò°÷ íü õýä õýäýí àäèë äèñêí³³äèéã àâ÷ òýäãýýðèéã íýã ëîãèê àéë ñèñòåì áîëãîí íèéë³³ëýõ áîëîìæèéã îëãîäîã. ccd(4)-ã àøèãëàõûí òóëä òàíä ccd(4) äýìæëýã öóã á³òýýãäñýí ö°ì õýðýãòýé. Ýíý ì°ðèéã ö°ìèéí òîõèðãîîíû àéëäàà íýìýýä ö°ì°° äàõèí á³òýýæ ñóóëãààðàé: device
ccd
ccd(4) äýìæëýã ö°ìèéí äóóäàãäàõ ìîäóëü õýëáýðýýð áàñ äóóäàãäàæ áîëíî.
ccd(4)-ã òîõèðóóëàõûí òóëä òà ýõëýýä äèñêí³³äèéã õàÿãëàõ bsdlabel(8)-ã àøèãëàõ ¼ñòîé: bsdlabel -w ad1 auto bsdlabel -w ad2 auto
479
Chapter 18 Õàäãàëàëò bsdlabel -w ad3 auto
Ýíý íü á³õ äèñêíèé äàãóóõ ad1c, ad2c áîëîí ad3c-ä çîðèóëæ bsdlabel ³³ñãýäýã. Äàðààãèéí àëõàì íü äèñêíèé øîøãîíû ò°ðëèéã °°ð÷ë°õ ÿâäàë þì. Òà äèñêí³³äèéã çàñâàðëàõäàà bsdlabel(8)-ã àøèãëàæ áîëíî: bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3
Ýíý íü äèñê á³ð äýõ òóõàéí äèñêíèé øîøãûã EDITOR îð÷íû õóâüñàã÷èä çààñàí çàñâàðëàã÷ààð, èõýíõäýý vi(1)-ýýð îíãîéëãîäîã. °ð÷ë°ëò õèéãäýýã³é äèñêíèé øîøãî èéìýðõ³³ õàðàãäàõ áîëíî: 8 partitions: # size c: 60074784
offset 0
fstype unused
[fsize bsize bps/cpg] 0 0 0 # (Cyl.
0 - 59597)
ccd(4)-ä çîðèóëæ àøèãëàõààð øèíý e õóâààëòûã íýìíý. ³íèéã èõýâ÷ëýí c õóâààëòààñ õóóëæ áîëîõ áîëîâ÷ fstype íü 4.2BSD áàéõ ¼ñòîé . Äèñêíèé øîøãî îäîî èéìýðõ³³ õàðàãäàõ ¼ñòîé: 8 partitions: # size c: 60074784 e: 60074784
offset 0 0
fstype unused 4.2BSD
[fsize bsize bps/cpg] 0 0 0 # (Cyl. 0 0 0 # (Cyl.
0 - 59597) 0 - 59597)
18.4.1.1.3 Ôàéëûí ñèñòåìèéã á³òýýõ íü
Òà á³õ äèñêí³³äýý õàÿãëàñíû äàðàà ccd(4)-ã á³òýýõ ¼ñòîé. ³íèéã õèéõèéí òóëä äàðààõ òîõèðóóëãóóäòàé àäèëààð ccdconfig(8)-ã àøèãëàíà:
ccdconfig ccd0➊ 32➋ 0➌ /dev/ad1e➍ /dev/ad2e /dev/ad3e
Òîõèðóóëãà á³ðèéí õýðýãëýý áîëîí óòãûã äîîð õàðóóëàâ: ➊ Ýõíèé íýìýëò °ã°ãä°ë íü òîõèðóóëàõ ò°õ°°ð°ìæ áàéõ á°ã°°ä ýíý òîõèîëäîëä /dev/ccd0c áàéíà. /dev/ õýñýã áàéõã³é ÷ áàéæ áîëíî. ➋ Ôàéëûí ñèñòåìä çîðèóëñàí interleave. interleave íü äèñêíèé áëîêóóä äýýðõ ñóäëûí õýìæýýã òîäîðõîéëäîã á°ã°°ä íýã á³ð íü èõýâ÷ëýí 512 áàéò áàéäàã. Òýãýõýýð 32 interleave íü 16,384 áàéò áàéíà. ➌ ccdconfig(8)-ä çîðèóëñàí òóãíóóä. Õýðýâ òà õ°ò÷èéã òîëèí òóñãàë ³³ñãýæ èäýâõæ³³ëýõèéã õ³ñâýë òóãèéã ýíä çààæ °ã÷ áîëíî. Ýíý òîõèðãîî íü ccd(4)-í õóâüä òîëèí òóñãàë ³³ñãýëòèéã õàíãàäàãã³é ó÷èð ýíý íü 0 (òýã) ãýæ òîõèðóóëàãäñàí. ➍ ccdconfig(8) óðóó °ã°ãä°õ ñ³³ëèéí íýìýëò °ã°ãäë³³ä íü ìàññèâò îðóóëàõ ò°õ°°ð°ìæ³³ä þì. Ò°õ°°ð°ìæ á³ðèéí õóâüä á³ðýí ã³éöýä çàìûí íýðèéã àøèãëàõ õýðýãòýé. ccdconfig(8)-ã àæèëëóóëñíû äàðàà ccd(4) òîõèðóóëàãäàíà. Ôàéëûí ñèñòåì ñóóëãàãäàæ áîëíî. Òîõèðóóëãóóäûí òàëààð newfs(8)-ñ ëàâëàíà óó, ýñâýë åðä°° ë èíãýæ àæèëëóóëíà:
480
Chapter 18 Õàäãàëàëò newfs /dev/ccd0c
18.4.1.1.4 Á³ãäèéã àâòîìàò áîëãîõ íü
Åð°íõèéä°° òà ccd(4)-ã äàõèí à÷ààëàõ á³ðòýý õîëáîõûã õ³ñíý. ³íèéã õèéõèéí òóëä òà ýõëýýä òîõèðóóëàõ õýðýãòýé. °ðèéí îäîîãèéí òîõèðãîîãîî äàðààõ òóøààë àøèãëàæ /etc/ccd.conf óðóó áè÷èõ õýðýãòýé: ccdconfig -g > /etc/ccd.conf
Äàõèí à÷ààëàõ ³åä ñêðèïò /etc/rc íü õýðýâ /etc/ccd.conf áàéâàë ccdconfig àæèëëóóëíà. Ýíý íü ccd(4)-ã õîëáîæ áîëîõîîð áîëãîæ àâòîìàòààð òîõèðóóëíà.
-C
òóøààëûã
Note: Õýðýâ òà ãàíö õýðýãëýã÷èéí ãîðèì óðóó à÷ààëæ áàéãàà áîë ccd(4)-ã mount(8) õèéõýýñýý òîõèðóóëàõûí òóëä äàðààõ òóøààëûã àæèëëóóëàõ øààðäëàãàòàé:
°ìí° ìàññèâûã
ccdconfig -C
ccd(4)-ã àâòîìàòààð õîëáîõûí òóëä ccd(4)-í îðóóëãûã /etc/fstab àéëä áàéðëóóëàõ õýðýãòýé. Èíãýñýí òîõèîëäîëä ýíý íü à÷ààëàõ ³åä õîëáîãäîõ áîëíî: /dev/ccd0c
/media
ufs
rw
2
2
18.4.1.2 Vinum Ýçëýõ³³í Ìåíåæåð
Vinum Ýçëýõ³³í Ìåíåæåð íü âèðòóàë äèñê õ°ò÷èéã õèéäýã áëîê ò°õ°°ð°ìæèéí äðàéâåð þì. Ýíý íü äèñêíèé òîíîã ò°õ°°ð°ìæèéã áëîê ò°õ°°ð°ìæèéí èíòåðýéñýýñ òóñãààðëàæ óÿí õàòàí áàéäàë, àæèëëàãàà áîëîí íàéäâàðòàé áàéäëûã äèñêíèé õàäãàëàëòûí óëàìæëàëò ç³ñìýëèéí õàðàãäàëòààñ èë³³òýéãýýð õàíãàõ òèéì àðãààð °ã°ãäëèéã ä³ðñýëäýã. vinum(8) íü RAID-0, RAID-1 áîëîí RAID-5 çàãâàðóóäûã òóñ á³ðò íü áîëîí õîëáîîòîé áàéäëààð íü øèéääýã. vinum(8)-èéí òàëààð äýëãýðýíã³é ìýäýýëëèéã Chapter 21-ñ ³çíý ³³.
18.4.2
Òîíîã ò°õ°°ð°ìæèéí RAID
FreeBSD íü áàñ ò°ð°ë á³ðèéí òîíîã ò°õ°°ð°ìæèéí RAID õÿíàã÷óóäûã äýìæäýã. Ýäãýýð ò°õ°°ð°ìæ³³ä íü FreeBSD-ä çîðèóëñàí òóñãàé ïðîãðàì õàíãàìæààð ìàññèâûã óäèðäàõ øààðäëàãàã³éãýýð RAID äýä ñèñòåìèéã õÿíàäàã.
Êàðò äýýðõ BIOS-ã àøèãëàí êàðò íü äèñêíèé ³éëäë³³äèéí èõýíõèéã °°ð°° õÿíàäàã. Äàðààõ íü Promise IDE RAID õÿíàã÷èéã àøèãëàõ òîõèðãîîíû òîâ÷ òàéëáàð þì. Ýíý êàðò ñóóëãàãäàæ ñèñòåì ýõëýõ ³åä ìýäýýëëèéã õ³ñýõ ì°ðèéã õàðóóëíà. Êàðòíû òîõèðãîîíû äýëãýö óðóó îðîõûí òóëä çààâðóóäûã äàãàíà. Ýíäýýñ çàëãàãäñàí á³õ õ°ò÷³³äèéã íýãòãýõ áîëîìæ òàíä áàéõ áîëíî. Èíãýæ õèéñíèéõýý äàðàà äèñê(í³³ä) íü FreeBSD-ä íýã õ°ò°÷ øèã õàðàãäàõ áîëíî. Áóñàä RAID ò³âøèíã³³äèéã áàñ òîõèðóóëæ áîëíî.
481
Chapter 18 Õàäãàëàëò
18.4.3 ATA RAID1
ìàññèâóóäûã äàõèí á³òýýõ íü
FreeBSD íü ìàññèâ äàõü ãýìòñýí, àæèëëàãààã³é áîëñîí äèñêèéã øóóä ñîëèõ áîëîìæèéã îëãîäîã. Ýíý íü äàõèí à÷ààëàõààñàà °ìí° òàíûã èéì àñóóäëûã ìýäýõèéã øààðääàã.
Òà ìàãàäã³é äîîð äóðäñàíòàé àäèëûã /var/log/messages ýñâýë dmesg(8) ãàðàëò äýýð õàðæ áîëîõ þì: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost
atacontrol(8) àøèãëàí äýëãýðýíã³é ìýäýýëëèéã øàëãàíà: # atacontrol list
ATA channel 0: Master: no device present Slave: acd0 ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present # atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED
1.
Òà äèñêèéã àþóëã³éãýýð ñàëãàí àâàõûí òóëä ýõëýýä ata ñóâãèéã àæèëëàõã³é áàéãàà äèñêòýé öóã ñàëãàíà: # atacontrol detach ata3
2. 3.
Äèñêèéã ñîëüíî. ata ñóâãèéã äàõèí çàëãàíà: # atacontrol attach ata3
Master: Slave:
4.
ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 no device present
Øèíý äèñêèéã ìàññèâò í°°ö ìàÿãààð íýìíý: # atacontrol addspare ar0 ad6
5.
Ìàññèâûã äàõèí á³òýýíý: # atacontrol rebuild ar0
482
Chapter 18 Õàäãàëàëò 6.
Äàðààõ òóøààëûã àøèãëàæ ³éë ÿâöûã øàëãàæ áîëíî: # dmesg | tail -10
[output removed] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare # atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed
7.
Ýíý ³éëäýë õèéãäýæ äóóñòàë õ³ëýýõ õýðýãòýé.
18.5 USB
õàäãàëàëòûí ò°õ°°ð°ìæ³³ä
Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ôîíâèë. Îäîî ³åä ìàø îëîí ãàäààä õàäãàëàëòûí øèéäë³³ä áàéãàà á°ã°°ä Universal Serial Bus (USB): õàòóó õ°ò÷³³ä, USB õóðóóí õ°ò÷³³ä, CD-R øàðàã÷èä çýðãèéã àøèãëàäàã. FreeBSD íü ýäãýýð ò°õ°°ð°ìæ³³äèéí äýìæëýãèéã õàíãàäàã. 18.5.1
Òîõèðãîî
USB á°°í õàäãàëàëòûí ò°õ°°ð°ìæ³³äèéí äðàéâåð umass(4) íü USB õàäãàëàëòûí ò°õ°°ð°ìæ³³äèéí äýìæëýãèéã õàíãàäàã. Õýðýâ òà GENERIC ö°ì àøèãëàâàë °°ðèéí òîõèðãîîíäîî þó ÷ °°ð÷ë°õ øààðäëàãàã³é. Õýðýâ òà °°ð÷ë°í òîõèðóóëñàí ö°ì àøèãëàõ áîë òàíû ö°ìèéí òîõèðãîîíû àéëä äàðààõ ì°ð³³ä áàéãàà ýñýõèéã øàëãààðàé: device device device device device device device
scbus da pass uhci ohci usb umass
umass(4) äðàéâåð íü USB õàäãàëàëòûí ò°õ°°ð°ìæ³³äýä õàíäàõûí òóëä SCSI äýä ñèñòåìèéã õýðýãëýäýã á°ã°°ä òàíû USB ò°õ°°ð°ìæ ñèñòåìä SCSI ò°õ°°ð°ìæ ìàÿãààð õàðàãäàõ áîëíî. Òàíû ýõ õàâòàí äýýðõ USB áè÷èë ñõåìýýñ õàìààð÷ òàíä ç°âõ°í device uhci ýñâýë device ohci õî¼ðûí àëü íýã õýðýãòýé áîëíî, ãýõäýý õî¼óëàíã íü ö°ìèéí òîõèðãîîíäîî áàéëãàõ íü ãýìã³é þì. Õýðýâ òà ÿìàð íýã ì°ð íýìñýí áîë øèíý ö°ì°° ýìõýòãýæ ñóóëãàõàà áèòãèé ìàðòààðàé. Note: Õýðýâ òàíû USB ò°õ°°ð°ìæ ÷èíü CD-R ýñâýë DVD øàðàã÷ áîë SCSI CD-ROM äðàéâåð cd(4)-ã ö°ìä äàðààõ ì°ðèéí òóñëàìæòàé íýìýõ ¼ñòîé: device cd
Øàðàã÷ íü SCSI õ°ò°÷ ãýæ õàðàãääàã ó÷èð atapicam(4) äðàéâåðèéã ö°ìèéí òîõèðãîîíä àøèãëàõ ¼ñã³é.
483
Chapter 18 Õàäãàëàëò USB 2.0 õÿíàã÷óóäûí äýìæëýã FreeBSD-ä áàéäàã; ãýõäýý òà äàðààõ ì°ðèéã: device ehci
°°ðèéí òîõèðãîîíû àéëäàà USB 2.0 äýìæëýãò çîðèóëæ íýìýõ ¼ñòîé. Õýðýâ òàíä USB 1.X äýìæëýã õýðýãòýé áîë uhci(4) áîëîí ohci(4) äðàéâåðóóä íü õýðýãòýé õýâýýð áîëîõûã ñàíààðàé. 18.5.2
Òîõèðãîîã òåñò õèéõ íü
Òîõèðãîîã òåñò õèéõýä áýëýí áîëëîî: °°ðèéí USB ò°õ°°ð°ìæèéã çàëãàõàä ñèñòåìèéí ìýäýãäëèéí áóåðò (dmesg(8)) õ°ò°÷ íü èéìýðõ³³ õàðàãäàõ ¼ñòîé: umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)
Ìýäýýæ õýðýã ³éëäâýðëýã÷, ò°õ°°ð°ìæèéí öýã (da0) áîëîí áóñàä ç³éëñ òàíû òîõèðãîîíîîñ õàìààðààä °°ð áàéæ áîëíî. USB ò°õ°°ð°ìæ íü SCSI ò°õ°°ð°ìæ ãýæ õàðàãääàã áîëîõîîð camcontrol òóøààëûã àøèãëàæ ñèñòåìä õîëáîãäñîí USB õàäãàëàëòûí ò°õ°°ð°ìæ³³äèéí æàãñààëòûã õàðóóëæ áîëíî: # camcontrol devlist
at scbus0 target 0 lun 0 (da0,pass0)
Õýðýâ õ°ò°÷ íü àéëûí ñèñòåìòýé èðâýë òà ò³³íèéã õîëáîæ ÷àäíà. Section 18.3 õýñýã íü õýðýâ øààðäëàãàòàé áîë USB õ°ò÷èéã õýëáýðø³³ëæ ò³³í äýýð õóâààëò ³³ñãýõýä òàíä òóñëàõ áîëíî. Ýíý ò°õ°°ð°ìæèéã ýíãèéí õýðýãëýã÷ õîëáîæ ÷àääàãààð áîëãîõûí òóëä òîäîðõîé àëõìóóäûã õèéõ õýðýãòýé. Ýõëýýä USB õàäãàëàëòûí ò°õ°°ð°ìæ õîëáîãäñîí ³åä ³³ññýí ò°õ°°ð°ìæ³³äýä õýðýãëýã÷ õàíäàæ áîëîõîîð áàéõ õýðýãòýé. ³íèé øèéäýë íü ýäãýýð ò°õ°°ð°ìæ³³äèéí á³õ õýðýãëýã÷äèéã operator á³ëãèéí ãèø³³í áîëãîõ ÿâäàë þì. ³íèéã pw(8)-ýýð õèéíý. Õî¼ðäóãààðò ò°õ°°ð°ìæ³³ä íü ³³ñýõ ³åä operator á³ëýã òýäãýýðèéã óíøèæ áè÷èæ ÷àäàæ áàéõ ¼ñòîé. Òîõèðîõ ì°ð³³äèéã /etc/devfs.rules àéëä íýìñíýýð ³³íèéã õèéæ áîëíî: [localrules=5] add path ’da*’ mode 0660 group operator Note: Õýðýâ ñèñòåìä SCSI äèñêí³³ä áàéãàà áîë ³³íèéã àðàé °°ð°°ð õèéõ ¼ñòîé. °ð°°ð õýëáýë õýðýâ ñèñòåì íü àëü õýäèéí da0-ýýñ da2 õ³ðòýëõ õîëáîãäñîí äèñêí³³äèéã àãóóëæ áàéâàë õî¼ð äàõü ì°ðèéã äàðààõ ìàÿãààð ñîëèõ õýðýãòýé: add path ’da[3-9]*’ mode 0660 group operator
Ýíý íü áàéãàà äèñêí³³äèéã operator á³ëýãò õàìààðóóëàõã³é áîëãîíî.
Òà áàñ °°ðèéí devfs.rules(5) ä³ðìèéí îëîíëîãèéã /etc/rc.conf àéëä èäýâõæ³³ëýõ õýðýãòýé:
484
Chapter 18 Õàäãàëàëò devfs_system_ruleset="localrules"
Äàðàà íü ö°ì íü åðäèéí õýðýãëýã÷äýä àéëûí ñèñòåìèéã õîëáîõ áîëîìæòîéãîîð òîõèðóóëàãäàõ ¼ñòîé. Õàìãèéí õÿëáàð àðãà áîë /etc/sysctl.conf-ä ì°ð íýìýõ ÿâäàë þì: vfs.usermount=1
Äàðààãèéí äàõèí à÷ààëàëòûí äàðàà ýíý íü èäýâõæèõèéã ñàíààðàé. °ð°°ð ýíý õóâüñàã÷èéã òîõèðóóëàõûí òóëä sysctl(8)-ã àøèãëàæ áîëîõ þì. Ò°ãñã°ëèéí àëõàì íü àéëûí ñèñòåì õîëáîãäîõ ñàíã ³³ñãýõ ÿâäàë þì. Ýíý ñàíã àéëûí ñèñòåìèéã õîëáîõ õýðýãëýã÷ ýçýìøñýí áàéõ õýðýãòýé. ³íèéã õèéõ íýã àðãà íü root-èéí õóâüä òýð õýðýãëýã÷èéí ýçýìøñýí äýä ñàíã /mnt/username (username-ã òóõàéí õýðýãëýã÷èéíõýý íýâòðýõ íýðýýð áîëîí usergroup-ã õýðýãëýã÷èéíõýý ³íäñýí á³ëãèéí íýðýýð ñîëèîðîé) ãýæ ³³ñãýõ ÿâäàë þì: # mkdir /mnt/username # chown username:usergroup /mnt/username
USB õóðóóí õ°ò°÷ çàëãàãäàæ /dev/da0s1 ò°õ°°ð°ìæ ãàð÷ èðæýý ãýæ áîäú¼. Ýäãýýð ò°õ°°ð°ìæ³³ä íü èõýâ÷ëýí FAT àéëûí ñèñòåìýýð õýëáýðø³³ëýãäñýí èðäýã á°ã°°ä ýäãýýðèéã èéìýðõ³³ ìàÿãààð õîëáîæ áîëíî: % mount -t msdosfs -m=644 -M=755 /dev/da0s1 /mnt/username
Õýðýâ òà ò°õ°°ð°ìæèéã çàëãàñíàà ñàëãàâàë (äèñêèéã óðüäààð ñàëãàõ ¼ñòîé) òà ñèñòåìèéí ìýäýãäëèéí áóåðààñ äîîð äóðäñàíòàé ò°ñòýé ìýäýãäëèéã õàðàõ ¼ñòîé: umass0: at uhub0 port 1 (addr 2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached
18.5.3
Íýìýëò óíøèõ ìàòåðèàëóóä
Äèñê íýìýõ áîëîí Ôàéëûí ñèñòåì³³äèéã õîëáîõ áîëîí ñàëãàõ õýñã³³äýýñ ãàäíà ò°ð°ë á³ðèéí ãàðûí àâëàãûí õóóäàñíóóäûã óíøèõ íü õýðýãòýé áàéæ áîëîõ þì: umass(4), camcontrol(8), áîëîí usbdevs(8). 18.6
Îïòèê ç°°â°ðë°ã÷èéã (CD-³³ä) ³³ñãýæ àøèãëàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìàéê Ìýéýð. 18.6.1
Òàíèëöóóëãà
CD-³³ä íü òýäãýýðèéã åðäèéí äèñêí³³äýýñ ÿëãàõ õýä õýäýí áîëîìæóóäòàé áàéäàã. Ýõëýýä õýðýãëýã÷ CD äýýð áè÷èõ áîëîìæã³é áàéñàí. Òýäãýýð íü çàìóóäûí õîîðîíä òîëãîéã øèëæ³³ëýõäýý ñààòàëã³éãýýð ³ðãýëæëýí óíøäàãààð õèéãäæýý. Òýð ³åä áàéñàí àäèë õýìæýýòýé ç°°â°ðë°ã÷èéã ç°°õ°°ñ òýäãýýðèéã ñèñòåì õîîðîíä ç°°õ íü õàìààã³é õÿëáàð áàéäàã.
485
Chapter 18 Õàäãàëàëò CD-³³ä íü çàìòàé áàéäàã áîëîâ÷ ýíý íü äèñêíèé èçèê õýñýã áèø õàðèí ³ðãýëæëýí óíøèãäàõ °ã°ãäëèéí õýñãèéã õýëäýã. FreeBSD äýýð CD ³³ñãýõäýý CD äýýð çàìóóä ³³ñãýõ °ã°ãäëèéí àéëóóäûã áýëäýæ äàðàà íü çàìóóäûã CD óðóó áè÷íý.
ISO 9660 àéëûí ñèñòåì íü ýäãýýð ÿëãààíóóäòàé àæèëëàõààð õèéãäñýí. Ýíý íü òýð ³åä íèéòëýã áàéñàí àéëûí ñèñòåìèéí õÿçãààðóóäûã õàðàìñàëòàé íü êîä÷èëäîã. Àçààð ýíý íü ç°â áè÷èãäñýí CD-³³äýä
òýäãýýð õÿçãààðóóäûã äàâæ ãàðàõûã ç°âø°°ð°õ °ðã°òã°ë°°ð õàíãàäàã á°ã°°ä òýäãýýð °ðã°òã°ë³³äèéã äýìæäýãã³é ñèñòåì³³äòýé àæèëëàæ ÷àäñàí õýâýýð áàéäàã. sysutils/cdrtools ïîðòîä ISO 9660 àéëûí ñèñòåìèéã àãóóëàõ °ã°ãäëèéí àéëûã ³³ñãýäýã ïðîãðàì mkisofs(8) áàéäàã. Ýíý íü ò°ð°ë á³ðèéí °ðã°òã°ë³³äèéã äýìæäýã òîõèðóóëãóóäòàé á°ã°°ä äîîð òàéëáàðëàãäñàí áîëíî. CD øàðàõäàà ÿìàð õýðýãñëèéã àøèãëàõ íü òàíû CD øàðàã÷ ATAPI þó àëü ýñâýë °°ð ³³ ãýäãýýñ øàëòãààëíà. ATAPI CD øàðàã÷èä íü ³íäñýí ñèñòåìèéí burncd ïðîãðàìûã àøèãëàäàã. SCSI áîëîí USB CD øàðàã÷èä íü sysutils/cdrtools ïîðòûí cdrecord-ã àøèãëàõ ¼ñòîé. Ì°í ATAPI òîíîã ò°õ°°ð°ìæ äýýð SCSI õ°ò÷³³äèéí õóâüä ATAPI/CAM ìîäóë àøèãëàí cdrecord-ã õýðýãëýõ áîëîìæòîé áàéäàã. Õýðýâ òà ãðàèê õýðýãëýã÷èéí èíòåðýéñòýé CD øàðàã÷ ïðîãðàì õàíãàìæèéã õ³ñýæ áàéãàà áîë X-CD-Roast ýñâýë K3b-ã ³çýýðýé. Ýäãýýð õýðýãñë³³ä íü áàãö õýëáýðýýð ýñâýë sysutils/xcdroast áîëîí sysutils/k3b ïîðòóóäàä áàéäàã. X-CD-Roast áîëîí K3b íü ATAPI òîíîã ò°õ°°ð°ìæ äýýð ATAPI/CAM ìîäóëèéã øààðääàã. 18.6.2 mkisofs
ïîðòûí õýñýã mkisofs(8) ïðîãðàì íü UNIX-èéí àéëûí ñèñòåìèéí íýðèéí òàëáàð äàõü ñàíãèéí ìîäíû ä³ðñ áîëîõ ISO 9660 àéëûí ñèñòåìèéã ³³ñãýäýã. Õàìãèéí õÿëáàð õýðýãëýý íü:
sysutils/cdrtools
# mkisofs -o imagefile.iso /path/to/tree
Ýíý òóøààë íü /path/to/tree äàõü ìîäíû õóóëáàð ISO 9660 àéëûí ñèñòåìèéã àãóóëàõ imagefile.iso àéëûã ³³ñãýõ áîëíî. Ýíý ïðîöåññîä àéëûí íýðñèéã ISO 9660 àéëûí ñèñòåìèéí ñòàíäàðòûí õÿçãààðëàëòóóäàä áàãòàõ íýðñýä òààðóóëàõ á°ã°°ä ISO àéëûí ñèñòåì³³äýä áàéäàãã³é íýðñ á³õèé àéëóóäûã îðóóëàõã³é áàéõ áîëíî. Òýäãýýð õÿçãààðëàëòóóäûã äàâæ ãàðàõ õýä õýäýí òîõèðóóëãóóä áàéäàã. ßëàíãóÿà -R òîõèðóóëãà UNIX ñèñòåì³³äýä íèéòëýã áàéäàã Rock Ridge °ðã°òã°ë³³äèéã èäýâõæ³³ëäýã, -J íü Microsoft ñèñòåì³³äýä õýðýãëýãääýã Joilet °ðã°òã°ë³³äèéã èäýâõæ³³ëäýã á°ã°°ä -hfs íü Mac OS-ä õýðýãëýãääýã HFS àéëûí ñèñòåì³³äèéã ³³ñãýõýä àøèãëàãääàã. Ç°âõ°í FreeBSD ñèñòåì³³äýä àøèãëàãäàõ CD-³³äèéí õóâüä -U òîõèðóóëãà á³õ àéëûí íýðèéí õÿçãààðëàëòóóäûã õààõàä àøèãëàãäàæ áîëíî. -R òîõèðóóëãàòàé õýðýãëýãäýõ ³åä ýíý íü òàíû ýõýëñýí FreeBSD-èéí ìîäòîé èæèë àéëûí ñèñòåìèéí ä³ðñèéã ³³ñãýäýã, ãýõäýý ýíý íü ISO 9660 ñòàíäàðòûã õýä õýäýí çàìààð ç°ð÷èæ áîëîõ þì. Åðäèéí õýðýãëýýíèé ñ³³ëèéí òîõèðóóëãà íü -b þì. Ýíý íü à÷ààëàãäàõ “El Torito” CD-ã ³³ñãýõýä õýðýãëýãäýõ à÷ààëàãäàõ ä³ðñíèé áàéðëàëûã çààõàä àøèãëàãääàã. Ýíý òîõèðóóëãà íü CD óðóó áè÷èãäýõ ìîäíû äýýä õýñãèéí à÷ààëàãäàõ ä³ðñ õ³ðýõ çàìûã çààõ íýìýëò °ã°ãäëèéã àâäàã. Àíõäàã÷ààð mkisofs(8) íü “floppy disk emulation áóþó óÿí äèñêíèé ýìóëÿö” ãýæ íýðëýãääýã ãîðèìä ISO ä³ðñèéã ³³ñãýäýã á°ã°°ä à÷ààëàãäàõ ä³ðñèéã ÿã 1200, 1440, ýñâýë 2880 KB õýìæýýòýé áàéíà ãýæ òîîöäîã. FreeBSD ò³ãýýëòèéí äèñêí³³äýä õýðýãëýãääýã à÷ààëàã÷ äóóäàã÷ çýðýã çàðèì à÷ààëàã÷ äóóäàã÷èä íü ýìóëÿö ãîðèìûã àøèãëàäàãã³é; ýíý òîõèîëäîëä -no-emul-boot òîõèðóóëãûã àøèãëàõ øààðäëàãàòàé. Òýãýõýýð õýðýâ
486
Chapter 18 Õàäãàëàëò /tmp/myboot íü à÷ààëàãäàõ FreeBSD ñèñòåìèéã /tmp/myboot/boot/cdboot äýõ à÷ààëàãäàõ ä³ðñòýé öóã àãóóëæ áàéâàë òà ISO 9660 àéëûí ñèñòåìèéí ä³ðñèéã /tmp/bootable.iso-ä èéìýðõ³³ ìàÿãààð ³³ñãýæ áîëîõ þì: # mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
³íèéã õèéñíèéõýý äàðàà õýðýâ òà ö°ìä°° md-ã òîõèðóóëñàí áîë àéëûí ñèñòåìèéã èíãýæ õîëáîæ áîëíî: # mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 # mount -t cd9660 /dev/md0 /mnt
Ýíý ³åä òà /mnt áîëîí /tmp/myboot íü èæèë áîëîõûã øàëãàæ áîëíî. mkisofs(8)-èéí àæèëëàãààã íàðèéí òààðóóëàõûí òóëä òà ò³³íèé áóñàä îëîí òîõèðóóëãóóäûã àøèãëàæ áîëíî. ßëàíãóÿà ISO 9660-èéí áàéðëàë áîëîí Joilet áà HFS äèñêí³³äèéí ³³ñãýëòýä °°ð÷ë°ëò³³ä õèéæ áîëíî. Äýëãýðýíã³éã mkisofs(8)-èéí ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. 18.6.3 burncd
Õýðýâ òàíä ATAPI CD øàðàã÷ áàéãàà áîë òà ISO ä³ðñèéã CD óðóó øàðàõäàà burncd òóøààëûã àøèãëàæ áîëíî. burncd íü ³íäñýí ñèñòåìèéí õýñýã á°ã°°ä /usr/sbin/burncd ãýæ ñóóëãàãäñàí áàéäàã. Ýíý íü ö°°í òîõèðóóëãóóäòàé áîëîõîîð õýðýãëýõýä èõ õÿëáàð áàéäàã: # burncd -f cddevice data imagefile.iso fixate
Äýýðõ òóøààë íü imagefile.iso-í õóóëáàðûã cddevice óðóó øàðàõ áîëíî. Àíõäàã÷ ò°õ°°ð°ìæ íü /dev/acd0 þì. Áè÷èõ õóðä, øàðñíû äàðàà CD-ã ãàðãàõ áîëîí àóäèî °ã°ãä°ë áè÷èõèéã çààõ òîõèðóóëãóóäûí òàëààð burncd(8)-ñ ³çíý ³³. 18.6.4 cdrecord
Õýðýâ òàíä ATAPI CD øàðàã÷ áàéõã³é áîë òà °°ðèéí CD-³³äèéã øàðàõûí òóëä cdrecord-ã àøèãëàõ øààðäëàãàòàé. cdrecord íü ³íäñýí ñèñòåìä áàéäàãã³é; òà ³³íèéã sysutils/cdrtools äàõü ïîðòîîñ ýñâýë òîõèðîõ áàãöààñ ñóóëãàõ ¼ñòîé. íäñýí ñèñòåìä õèéãäñýí °°ð÷ë°ëò íü ýíý ïðîãðàìûí õî¼ðòûí õóâèëáàðûã àæèëëàõã³é áîëãîæ, ìàãàäã³é “àñóóäàëä (coaster)” õ³ðãýæ áîëîõ þì. Òèéì áîëîõîîð òà °°ðèéí ñèñòåìýý øèíý÷ëýõäýý ïîðòîî áàñ øèíý÷ëýõ ýñâýë õýðýâ òà -STABLE ñàëáàðûã äàãàæ áàéãàà áîë ïîðòûã øèíý õóâèëáàð ãàðàõàä íü øèíý÷ëýõ õýðýãòýé. cdrecord íü îëîí òîõèðóóëãàòàé áàéäàã áîëîâ÷ ³íäñýí õýðýãëýý íü burncd-ñ á³ð èë³³ õÿëáàð áàéäàã. ISO 9660 ä³ðñèéã øàðàõäàà: # cdrecord dev=device imagefile.iso
cdrecordcdrecord-
ã õýðýãëýõýä ãàðäàã íýã çàëü íü dev òîõèðóóëãûã îëîõ ÿâäàë þì. Ç°â òîõèðãîîã îëîõûí òóëä èéí -scanbus òóãèéã õýðýãëýõ õýðýãòýé á°ã°°ä ýíý íü èéìýðõ³³ ³ð ä³íä õ³ðãýæ áîëîõ þì:
# cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling Using libscg version ’schily-0.1’ scsibus0:
487
Chapter 18 Õàäãàëàëò 0,0,0 0,1,0 0,2,0 0,3,0 0,4,0 0,5,0 0,6,0 0,7,0 scsibus1: 1,0,0 1,1,0 1,2,0 1,3,0 1,4,0 1,5,0 1,6,0 1,7,0
0) 1) 2) 3) 4) 5) 6) 7) 100) 101) 102) 103) 104) 105) 106) 107)
’SEAGATE ’SEAGATE * ’iomega ’NEC * * * * * * * * ’YAMAHA ’ARTEC *
’ ’ST39236LW ’ ’ST39173W
’ ’0004’ Disk ’ ’5958’ Disk
’ ’jaz 1GB ’ ’J.86’ Removable Disk ’ ’CD-ROM DRIVE:466’ ’1.26’ Removable CD-ROM
’ ’CRW4260 ’ ’AM12S
’ ’1.0q’ Removable CD-ROM ’ ’1.06’ Scanner
Ýíý íü æàãñààëòàí äàõü ò°õ°°ð°ìæ³³äèéí õóâüä òîõèðîõ dev óòãûã æàãñààäàã. °ðèéí CD øàðàã÷èéã îëîõûí òóëä dev òîõèðóóëãûí óòãàä ãóðâàí äóãààðûã òàñëàëààð òóñãààðëàí õýðýãëýíý. Ýíý òîõèîëäîëä CRW ò°õ°°ð°ìæ íü 1,5,0, áàéõ á°ã°°ä òîõèðîõ îðîëò íü dev=1,5,0 áîëíî. Ýíý óòãûã çààõ àìàðõàí àðãóóä áàéäàã; äýëãýðýíã³éã cdrecord(1)-ñ ³çíý ³³. Ì°í òýíäýýñ àóäèî çàìóóäûã áè÷èõ, õóðäûã õÿíàõ áîëîí áóñàä ç³éë³³äèéí òóõàé ìýäýýëëèéã ³çýæ áîëíî. 18.6.5
Àóäèî CD-³³äèéã õóâèëàõ
Òà àóäèî °ã°ãäëèéã CD-ýýñ àéëóóäûí öóâàà áîëãîí çàäàëæ äàðàà íü ýäãýýð àéëóóäûã õîîñîí CD äýýð áè÷èí àóäèî CD-ã õóâèëæ áîëíî. Ýíý ïðîöåññ íü ATAPI áîëîí SCSI õ°ò÷³³äèéí õóâüä íýëýýí °°ð áàéäàã. SCSI 1.
õ°ò÷³³ä
Àóäèîã cdda2wav àøèãëàí çàäëàíà. % cdda2wav -v255 -D2,0 -B -Owav
2.
cdrecord
àøèãëàí .wav àéëóóäûã áè÷íý.
% cdrecord -v dev=2,0 -dao -useinfo
*.wav
Section 18.6.4 õýñýãò òàéëáàðëàñíû äàãóó 2,0 ãýæ ç°â çààãäñàí ýñýõèéã øàëãààðàé. ATAPI 1.
õ°ò÷³³ä
ATAPI CD äðàéâåð íü çàì á³ðèéã /dev/acdd tnn ìàÿãààð áîëãîäîã á°ã°°ä d íü õ°ò÷èéí äóãààð áà nn íü øààðäëàãàòàé áîë óðäàà 0 òàâüæ õî¼ð îðîíòîé òîîãîîð áè÷èãäñýí çàìûí äóãààð þì. Òýãýõýýð ýõíèé äèñê äýýðõ ýõíèé çàì íü /dev/acd0t01, õî¼ð äàõü íü /dev/acd0t02, ãóðàâ äàõü íü /dev/acd0t03 ãýõ ìýò÷èëýí áàéíà. Òîõèðîõ àéëóóä /dev ñàíä áàéãàà ýñýõèéã øàëãààðàé. Õýðýâ îðóóëãóóä áàéõã³é áàéãàà áîë ç°°â°ðë°ã÷èéã äàõèí ³çýõýýð ñèñòåìèéã õ³÷ëýõ õýðýãòýé: # dd if=/dev/acd0 of=/dev/null count=1
488
Chapter 18 Õàäãàëàëò 2.
Çàì á³ðèéã dd(1) àøèãëàí çàäàëíà. Ôàéëóóäûã çàäëàõäàà òà òóñãàé áëîêèéí õýìæýýã áàñ àøèãëàõ ¼ñòîé. # dd if=/dev/acd0t01 of=track1.cdr bs=2352 # dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
3.
Çàäàëñàí àéëóóäàà äèñê óðóó burncd àøèãëàí øàðíà. Òà ýäãýýðèéã àóäèî àéë ãýæ çààæ °ã°õ õýðýãòýé á°ã°°ä burncd íü äóóñàõäàà äèñêèéã áýõæ³³ëýõ ¼ñòîé. # burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate
18.6.6
ã°ãäëèéí CD-³³äèéã õóâèëàõ
Òà °ã°ãäëèéí CD-ã mkisofs(8)-ð ³³ñãýñýí ä³ðñ àéëòàé àæèëëàãààíû õóâüä àäèëõàí ä³ðñ àéë óðóó õóóëæ áîëîõ á°ã°°ä òà ³³íèéã ÿìàð ÷ °ã°ãäëèéí CD õóâèëàõàä àøèãëàæ áîëíî. Ýíä °ã°ãäñ°í æèøýý íü òàíû CDROM ò°õ°°ð°ìæèéã acd0 ãýæ ³çýõ áîëíî. °ðèéí ç°â CDROM ò°õ°°ð°ìæ°°ð ñîëèîðîé. # dd if=/dev/acd0 of=file.iso bs=2048
Îäîî òà íýãýíò ä³ðñòýé áîëñîí áîëîõîîð ³³íèéã CD óðóó äýýð òàéëáàðëàñíû äàãóó øàðæ áîëíî. 18.6.7
ã°ãäëèéí CD-³³äèéã àøèãëàõ
Îäîî òà ñòàíäàðò °ã°ãäëèéí CDROM ³³ñãýñýí áîëîõîîð ò³³íèéã õîëáîæ ò³³í äýýðõ °ã°ãäëèéã óíøèõûã õ³ñýõ áàéõ. Àíõäàã÷ààð mount(8) íü àéëûí ñèñòåìèéã ufs ò°ðëèéíõ ãýæ ³çäýã. Õýðýâ òà äîîðõ øèã îðîëäâîë: # mount /dev/cd0 /mnt
“Incorrect super block” ãýæ ãîìäîëëîõûã òà õàðàõ á°ã°°ä õîëáîëò õèéãäýõã³é áàéõ áîëíî. CDROM íü UFS àéëûí ñèñòåì áèø, òýãýõýýð èíãýæ õîëáîõûã îðîëäîõ íü àìæèëòã³é áîëîõ áîëíî. Òà mount(8)-ä àéëûí ñèñòåìèéí ò°ð°ë íü ISO9660 ãýæ çààæ °ã°õ°ä ë á³ãä àæèëëàõ áîëíî. Òà -t cd9660 òîõèðóóëãûã mount(8)-ä °ã÷ ³³íèéã õèéíý. Æèøýý íü õýðýâ òà CDROM ò°õ°°ð°ìæ /dev/cd0-ã /mnt-ä õîëáîõûã õ³ñâýë äàðààõ òóøààëûã àæèëëóóëàõ áîëíî: # mount -t cd9660 /dev/cd0 /mnt
Òàíû ò°õ°°ð°ìæèéí íýð (ýíý æèøýýí äýýð /dev/cd0) òàíû CDROM ÿìàð èíòåðýéñ àøèãëàæ áàéãààãààñ õàìààðàí °°ð áàéæ áîëîõ þì. Ì°í -t cd9660 òîõèðóóëãà íü åðä°° ë mount_cd9660(8)-ã àæèëëóóëäàã. Äýýðõ æèøýýã èíãýæ áîãèíîñãîæ áîëíî: # mount_cd9660 /dev/cd0 /mnt
Òà åð°íõèéä°° ýíý àðãààð ÿìàð ÷ ³éëäâýðëýã÷èéí °ã°ãäëèéí CDROM-óóäûã àøèãëàæ áîëíî. ýõäýý çàðèì íýã ISO 9660 °ðã°òã°ë³³äòýé äèñêí³³ä õà÷èí àæèëëàæ áîëîõ þì. Æèøýý íü Joilet äèñêí³³ä íü á³õ àéëûí íýðñèéã õî¼ð áàéò Þíèêîä òýìäýãòýýð õàäãàëäàã. FreeBSD ö°ì íü Þíèêîäîîð ÿðüäàãã³é, ãýõäýý FreeBSD-èéí CD9660 äðàéâåð Þíèêîä òýìäýãò³³äèéã øóóä õóâèðãàæ ÷àääàã. Õýðýâ çàðèì íýã Àíãëè áóñ òýìäýãò³³ä àñóóëòûí òýìäýã õýëáýðýýð õàðàãäâàë òà àøèãëàæ áàéãàà ëîêàë òýìäýãòèéí îëîíëîãîî -C òîõèðóóëãààð çààæ °ã°õ õýðýãòýé. Äýëãýðýíã³é ìýäýýëëèéã mount_cd9660(8) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. 489
Chapter 18 Õàäãàëàëò Note: Ýíý òýìäýãòèéí õóâèðãàëòûã -C òîõèðóóëãûí òóñëàìæòàé õèéõèéí òóëä ö°ì cd9660_iconv.ko ìîäóëèéã äóóäñàí áàéõûã øààðäàõ áîëíî. Ýíý ì°ðèéã loader.conf àéëä íýìæ ³³íèéã: cd9660_iconv_load="YES"
ãýæ õèéí ìàøèíûã äàõèí à÷ààëàõ áóþó ýñâýë ìîäóëèéã kldload(8)-í òóñëàìæòàé äóóäàí õèéæ áîëîõ þì.
Õààÿà òàíûã CDROM-ã õîëáîõûã îðîëäîõ ³åä “Device not configured” ãýñýí àëäàà ãàð÷ áîëîõ þì. Ýíý íü èõýíõäýý CDROM õ°ò°÷ íü ò°õ°°ð°ìæèä äèñê áàéõã³é ýñâýë õ°ò°÷ íü øóãàìàíä (bus) õàðàãäàõã³é áàéíà ãýæ ³çýæ áàéíà ãýñýí ³ã þì. CDROM õ°ò°÷ íü õî¼ð ñåêóíäûí äîòîð ³³íèéã ìýääýã áîëîõîîð òýâ÷ýýðòýé áàéãààðàé. Øóãàìûí äàõèí òîãòîîëòîä õàðèó °ã°õ õàíãàëòòàé õóãàöàà áàéõã³éí óëìààñ çàðèìäàà SCSI CDROM-èéã îëîõã³é áàéæ áîëîõ þì. Õýðýâ òà SCSI CDROM-òîé áîë òà äàðààõ òîõèðóóëãûã ö°ìèéí òîõèðãîîíäîî íýìæ °°ðèéí ö°ìèéã äàõèí á³òýýíý ³³. options SCSI_DELAY=15000
Ýíý íü òàíû SCSI øóãàìä à÷ààëàõ ³åäýý 15 ñåêóíä ò³ð ñààòàõûã õýëæ °ã°õ á°ã°°ä èíãýñíýýð øóãàìûí äàõèí òîãòîîëòîä òàíû CDROM õ°ò÷°°ð õàðèó °ã³³ëýõèéí òóëä á³õ áàéæ áîëîõ áîëîìæèéã ò³³íä °ã÷ áàéíà ãýñýí ³ã þì. 18.6.8
Ò³³õèé °ã°ãäëèéí CD-³³äèéã øàðàõ
Òà ISO 9660 àéëûí ñèñòåìèéã ³³ñãýëã³éãýýð àéëûã CD óðóó øóóä øàðàõààð ñîíãîæ áîëíî. Çàðèì õ³ì³³ñ ³³íèéã í°°öë°õ çîðèëãîîð õèéäýã. Ýíý íü ñòàíäàðò CD-ã øàðàõààñ èë³³ õóðäàí àæèëëàäàã: # burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate
Òèéì CD-ä øàðàãäñàí °ã°ãäëèéã àâàõûí òóëä òà ò³³õèé ò°õ°°ð°ìæèéí öýãýýñ °ã°ãäëèéã óíøèõ ¼ñòîé: # tar xzvf /dev/acd1
Òà ýíý äèñêèéã åðäèéí CDROM-èéã õîëáîäîã øèã õîëáîæ ÷àäàõã³é. Èéì CDROM íü FreeBSD-ýýñ °°ð ÿìàð ÷ ³éëäëèéí ñèñòåì äýýð óíøèãäàõã³é. Õýðýâ òà CD-ãýý õîëáîõûã ýñâýë °°ð ³éëäëèéí ñèñòåìòýé °ã°ãäë°° õóâààëöàõ õ³ñýëòýé áàéãàà áîë äýýð òàéëáàðëàñíû äàãóó mkisofs(8)-ã àøèãëàõ ¼ñòîé. 18.6.9 ATAPI/CAM
äðàéâåðèéã àøèãëàõ
Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ôîíâèë. Ýíý äðàéâåð íü ATAPI ò°õ°°ð°ìæ³³äýä (CD-ROM, CD-RW, DVD õ°ò÷³³ä ãýõ ìýò...) SCSI äýä ñèñòåìýýð õàíäàõ áîëîìæèéã îëãîõ á°ã°°ä èíãýñíýýð sysutils/cdrdao ýñâýë cdrecord(1) çýðýã ïðîãðàìóóäûã àøèãëàõ áîëîìæèéã îëãîäîã. Ýíý äðàéâåðûã àøèãëàõûí òóëä òà äàðààõ ì°ðèéã /boot/loader.conf àéë óðóó íýìýõ õýðýãòýé áîëíî: atapicam_load="YES"
490
Chapter 18 Õàäãàëàëò
òýãýýä °°ðèéí ìàøèíàà äàõèí à÷ààëíà. Note: Õýðýâ òà °°ðèéí ö°ìä°° atapicam(4) äýìæëýãèéã ñòàòèêààð ýìõýòãýõèéã ö°ìèéí òîõèðãîîíû àéëäàà íýìýõ õýðýãòýé áîëíî:
õ³ñâýë ýíý ì°ðèéã °°ðèéí
device atapicam
Ì°í òà °°ðèéí ö°ìèéí òîõèðãîîíû àéëäàà äàðààõ ì°ð³³äèéã áàñ íýìýõ õýðýãòýé áîëíî: device device device device
ata scbus cd pass
Ýäãýýð íü àëü õýäèéí áàéæ áàéõ ¼ñòîé. Äàðàà íü äàõèí á³òýýãýýä °°ðèéí ö°ìèéã ñóóëãàæ ìàøèíàà äàõèí à÷ààëàõ õýðýãòýé.
À÷ààëàõ ïðîöåññèéí ³åä òàíû øàðàã÷ èéìýðõ³³ ìàÿãààð ãàð÷ èðýõ ¼ñòîé: acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
Îäîî õ°ò÷èä /dev/cd0 ò°õ°ð°°ìæèéí íýðèéã àøèãëàí õàíäàæ áîëîõ á°ã°°ä æèøýý íü CD-ROM-ã /mnt-ä õîëáîõäîî äàðààõ òóøààëûã áè÷èõ õýðýãòýé: # mount -t cd9660 /dev/cd0 /mnt
root
õýðýãëýã÷ýýð äàðààõ òóøààëûã àæèëëóóëæ òà øàðàã÷èéí SCSI õàÿãèéã àâ÷ áîëíî:
# camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00>
at scbus1 target 0 lun 0 (pass0,cd0)
Òýãýõýýð 1,0,0 íü cdrecord(1) áîëîí áóñàä SCSI ïðîãðàìòàé àøèãëàõ SCSI õàÿã áîëîõ þì. ATAPI/CAM áîëîí SCSI ñèñòåìèéí òàëààð äýëãýðýíã³é ìýäýýëëèéã atapicam(4) áîëîí cam(4) ãàðûí àâëàãûí õóóäàñíóóäààñ ëàâëàíà óó. 18.7
Îïòèê ç°°â°ðë°ã÷èéã (DVD-³³ä) ³³ñãýæ àøèãëàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ôîíâèë. Çàðèì ç³éë îðóóëñàí Ýíäè Ïîëÿêîâ. 18.7.1
Òàíèëöóóëãà
CD-òýé õàðüöóóëàõàä DVD íü îïòèê ç°°â°ðë°ã÷ õàäãàëàëòûí òåõíîëîãèéí äàðàà÷èéí ³å þì. DVD íü ÿìàð ÷ CD-ýýñ èë³³ °ã°ãäëèéã àãóóëäàã á°ã°°ä îäîîãèéí âèäåî õýâëýëòèéí ñòàíäàðò áîëæýý.
491
Chapter 18 Õàäãàëàëò
Áè÷èãääýã DVD ãýæ áèäíèé íýðëýäýã DVD-³³äèéí èçèê 5 áè÷èãääýã õýëáýðø³³ëýëòèéã òîäîðõîéëæ áîëíî: •
DVD-R: Ýíý íü áè÷èãääýã DVD-èé àíõíû õýëáýðø³³ëýëò þì. DVD-R ñòàíäàðò íü DVD õýëýëö³³ëãýýð (http://www.dvdforum.com/forum.shtml) òîäîðõîéëîãäñîí á°ã°°ä ýíý íü ç°âõ°í íýã óäàà áè÷èõ õýëáýðø³³ëýëò þì.
DVD-RW: Ýíý íü DVD-R ñòàíäàðòûí äàõèí áè÷èãäýõ õóâèëáàð þì. DVD-RW íü îéðîëöîîãîîð 1000 óäàà áè÷èãäýõ áîëîìæòîé. • DVD-RAM: Ýíý íü DVD õýëýëö³³ëãèéí äýìæäýã áàñ äàõèí áè÷èãääýã õýëáýðø³³ëýëò þì. DVD-RAM íü ç°°ãä°æ áîëîõ õàòóó õ°ò°÷ ìàÿãààð õàðàãääàã. ýõäýý ýíý ç°°â°ðë°ã÷ íü èõýíõ DVD-ROM õ°ò÷³³ä áîëîí DVD-Âèäåî òîãëóóëàã÷óóäòàé íèéöòýé áèø áàéäàã; ö°°í DVD áè÷èã÷èä DVD-RAM õýëáýðø³³ëýëòèéã äýìæäýã. DVD-RAM-èéí õýðýãëýýíèé òàëààð èë³³ äýëãýðýíã³éã Section 18.7.9-ñ óíøèíà óó. • DVD+RW: Ýíý íü DVD+RW õîëáîîíîîñ (http://www.dvdrw.com/) òîäîðõîéëñîí äàõèí áè÷èãäýõ õýëáýðø³³ëýëò þì. DVD+RW íü îéðîëöîîãîîð 1000 óäàà áè÷èãäýõ áîëîìæòîé. • DVD+R: Ýíý õýëáýðø³³ëýëò íü DVD+RW õýëáýðø³³ëýëòèéí íýã óäàà áè÷èõ õóâèëáàð þì. Áè÷èãääýã DVD-èé íýã äàâõàðãà íü 4,700,000,000 áàéò áóþó 4.38 GB ýñâýë 4485 MB (1 êèëîáàéò íü 1024 áàéò) õ³ðòýëõ ìýäýýëýë àãóóëæ ÷àäíà. •
Note: Ôèçèê ç°°â°ðë°ã÷ áîëîí ïðîãðàìûã ÿëãàæ îéëãîõ ¼ñòîé. Æèøýý íü DVD-Âèäåî íü äóðûí áè÷èãääýã DVD èçèê ç°°â°ðë°ã÷ DVD-R, DVD+R, DVD-RW ãýõ çýðýã óðóó áè÷èãäýæ áîëîõ òóñãàé áàéðøëûí çóðàãëàë þì. Ç°°â°ðë°ã÷èéí ò°ðëèéã ñîíãîõûí °ìí° øàðàã÷ áîëîí DVD-Âèäåî òîãëóóëàã÷ (äàí òîãëóóëàã÷ ýñâýë êîìïüþòåð äýýðõ DVD-ROM õ°ò°÷) íü õýðýãëýõýýð ò°ë°âë°æ áàéãàà ç°°â°ðë°ã÷òýé íèéöòýé ýñýõèéã øàëãàõ õýðýãòýé.
18.7.2
Òîõèðãîî
DVD áè÷ëýã õèéõýä growisofs(1) ïðîãðàì àøèãëàãäàíà. Ýíý òóøààë íü dvd+rw-tools õýðýãñë³³äèéí (sysutils/dvd+rw-tools) íýã õýñýã þì. dvd+rw-tools íü DVD ç°°â°ðë°ã÷èéí á³õ ò°ðëèéã äýìæäýã.
Ýäãýýð õýðýãñë³³ä íü ò°õ°°ð°ìæ³³ä óðóó õàíäàõûí òóëä SCSI äýä ñèñòåìèéã àøèãëàäàã, òèéìýýñ òàíû ö°ìä ATAPI/CAM äýìæëýã íýìýãäñýí áàéõ ¼ñòîé. Õýðýâ òàíû øàðàã÷ USB èíòåðýéñ àøèãëàäàã áîë ýíý íýìýëò íü õýðýãã³é á°ã°°ä òà USB ò°õ°°ð°ìæ³³äèéí òîõèðãîîíû òàëààð èë³³ äýëãýðýíã³éã Section 18.5-ñ óíøèõ øààðäëàãàòàé. Òà ì°í ATAPI ò°õ°°ð°ìæ³³äèéí õóâüä DMA õàíäàëòûã èäýâõæ³³ëýõ ¼ñòîé á°ã°°ä äàðààõ ì°ðèéã /boot/loader.conf àéëä íýìæ ³³íèéã õèéíý: hw.ata.atapi_dma="1"
dvd+rw-tools-ã àøèãëàõààñàà °ìí° °°ðèéí DVD øàðàã÷òàé õîëáîîòîé ìýäýýëëèéã dvd+rw-tools’ òîíîã ò°õ°°ð°ìæèéí íèéöòýé áàéäàë (http://fy.chalmers.se/~appro/linux/DVD+RW/hcn.html) õàÿãààñ ëàâëàõ õýðýãòýé.
492
Chapter 18 Õàäãàëàëò Note: Õýðýâ òà ãðàèê õýðýãëýã÷èéí èíòåðýéñèéã õ³ñýæ áàéâàë growisofs(1) áîëîí áóñàä îëîí øàðàã÷ õýðýãñë³³äèéã õýðýãëýã÷èä àøèãëàõàä àìàð èíòåðýéñýýð õàíãàäàã K3b (sysutils/k3b) ïðîãðàìûã ³çýõ õýðýãòýé.
18.7.3
ã°ãäëèéí DVD-³³äèéã øàðàõ íü
growisofs(1) òóøààë íü mkisofs-èéí í³³ð õýñýã þì, ýíý íü øèíý àéëûí ñèñòåìèéí áàéðøëûã ³³ñãýõèéí òóëä mkisofs(8)-ã äóóäàõ á°ã°°ä DVD äýýð áè÷èõ ³éëäëèéã ã³éöýòãýíý. Ýíý íü òà øàðàõ ïðîöåññîîñ °ìí° °ã°ãäëèéí ä³ðñèéã ³³ñãýõ õýðýãã³é ãýñýí ³ã þì. DVD+R ýñâýë DVD-R óðóó °ã°ãäëèéã /path/to/data ñàíãààñ øàðàõäàà äàðààõ òóøààëûã àøèãëàíà: # growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data
Ôàéëûí ñèñòåìèéã ³³ñãýõäýý -J -R òîõèðóóëãóóäûã mkisofs(8)-ä äàìæóóëäàã (ýíý òîõèîëäîëä Joilet áîëîí Rock Ridge °ðã°òã°ë³³äòýé ISO 9660 àéëûí ñèñòåì). Äýëãýðýíã³éã mkisofs(8) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. -Z òîõèðóóëãûã ÿìàð ÷ òîõèîëäîëä (îëîí ñåññ³³ä ýñâýë ãàíö ñåññ) ýõíèé ñåññèéã áè÷èõäýý õýðýãëýäýã. DVD ò°õ°°ð°ìæ /dev/cd0-ã °°ðèéí òîõèðãîîíû äàãóó °°ð÷ë°õ õýðýãòýé. -dvd-compat ïàðàìåòð äèñêèéã õààõ á°ã°°ä áè÷èëòèéã íýìýõ íü áîëîìæã³é áîëîõ þì. Ýíý íü DVD-ROM õ°ò÷³³äòýé ç°°â°ðë°ã÷èéí íèéöòýé áàéäëûã èë³³òýé õàíãàõ þì. Ì°í óðüä÷èëàí óðëàñàí ä³ðñèéã øàðàõ áàñ áîëîìæòîé, æèøýý íü imagefile.iso ä³ðñèéã øàðàõûí òóëä áèä äàðààõ òóøààëûã àæèëëóóëíà: # growisofs -dvd-compat -Z /dev/cd0=imagefile.iso
Áè÷èõ õóðäûã îëæ ç°°â°ðë°ã÷ áà àøèãëàãäàæ áàéãàà õ°ò÷°°ñ õàìààð÷ àâòîìàòààð òîõèðóóëàõ áîëíî. Õýðýâ òà áè÷èõ õóðäûã °°ð÷ë°õ õ³ñýëòýé áàéãàà áîë -speed= ïàðàìåòðèéã àøèãëàõ õýðýãòýé. Äýëãýðýíã³é ìýäýýëëèéã growisofs(1) ãàðûí àâëàãûí õóóäàñíààñ óíøèíà óó.
Âèäåî øàðàõ íü
18.7.4 DVD-
DVD-Âèäåî íü ISO 9660 áîëîí ìèêðî-UDF (M-UDF òîäîðõîéëîëòóóä äýýð òóëãóóðëàñàí òóñãàé àéëûí áàéðøëûí çóðàãëàë þì. DVD-Âèäåî íü áàñ °ã°ãäëèéí á³òöèéí òóñãàé øàòëàëû㠳糳ëäýã á°ã°°ä ýíý íü DVD-ã çîõèîõûí òóëä multimedia/dvdauthor çýðýã òóñãàé ïðîãðàìûã òà ÿàãààä àøèãëàõ õýðýãòýé áîëäãèéí øàëòãààí þì.
Õýðýâ òàíä DVD-Âèäåî àéëûí ñèñòåìèéí ä³ðñ áàéãàà áîë ÿìàð ÷ ä³ðñíèé íýãýí àäèë àðãààð øàðàõ õýðýãòýé. ìí°õ õýñãèéí æèøýýíýýñ ³çíý ³³. Õýðýâ òà DVD çîõèîëò õèéñýí á°ã°°ä ³ð ä³í íü æèøýý íü /path/to/video ñàíä áàéãàà áîë DVD-Âèäåîã øàðàõûí òóëä äàðààõ òóøààëûã àøèãëàõ õýðýãòýé: # growisofs -Z /dev/cd0 -dvd-video /path/to/video
òîõèðóóëãà mkisofs(8)-ä äàìæóóëàãäàõ á°ã°°ä ýíý íü DVD-Âèäåî àéëûí ñèñòåìèéí áàéðøëûí çóðàãëàë ³³ñãýõèéã òóøààõ áîëíî. ³íýýñ ãàäíà -dvd-video òîõèðóóëãà íü growisofs(1)-èéí -dvd-compat òîõèðóóëãûã àãóóëäàã.
-dvd-video
493
Chapter 18 Õàäãàëàëò
18.7.5 DVD+RW
àøèãëàõ íü
CD-RW-ñ ÿëãààòàé íü øèíý DVD+RW íü àøèãëàãäàõàà °ìí° õýëáýðø³³ëýãäñýí áàéõ ¼ñòîé. growisofs(1) íü øààðäëàãàòàé ³åä àâòîìàòààð ³³íèéã õèéõ á°ã°°ä ýíý àðãûã ç°âë°ä°ã þì. ýõäýý òà dvd+rw-format òóøààëûã àøèãëàí DVD+RW-ã õýëáýðø³³ëæ áîëíî: # dvd+rw-format /dev/cd0
Òà ýíý ³éëäëèéã ç°âõ°í íýã óäàà õèéõ õýðýãòýé á°ã°°ä ç°âõ°í øèíý DVD+RW ç°°â°ðë°ã÷äèéí õóâüä õýëáýðø³³ëýõ ¼ñòîéã ñàíààðàé. Äàðàà íü òà DVD+RW-ã äýýðõ õýñã³³äýä äóðäñàíû àäèë øàðæ áîëíî. Õýðýâ òà øèíý °ã°ãäëèéã (çàðèì °ã°ãäëèéã íýìýõ áèø á³ð ì°ñ°í øèíý àéëûí ñèñòåì øàðàõ) DVD+RW óðóó øàðàõûã õ³ñýæ áàéãàà áîë ò³³íèéã õîîñîí áîëãîõ øààðäëàãàã³é þì, èéìýðõ³³ãýýð °ìí°õ áè÷èëòýí äýýðýý (øèíý ñåññ ³³ñãýýä) äàðààä ë áè÷èõ õýðýãòýé þì: # growisofs -Z /dev/cd0 -J -R /path/to/newdata
DVD+RW õýëáýðø³³ëýëò íü °ìí°õ áè÷èëòýä °ã°ãäëèéã õÿëáàðààð íýìýõ áîëîìæèéã îëãîäîã. Ýíý
³éëäýë íü øèíý ñåññèéã õóó÷èí áàéãààòàé íü íèéë³³ëýõ á°ã°°ä ýíý íü îëîí ñåññ á³õèé áè÷èëò áèø þì. growisofs(1) íü ç°°â°ðë°ã÷ äýýð áàéãàà ISO 9660 àéëûí ñèñòåìèéã °ñã°õ (ñóíãàõ) áîëíî. Æèøýý íü õýðýâ áèä °°ðñäèéí óðüäíû DVD+RW óðóó °ã°ãä°ë íýìýõèéã õ³ñâýë äîîð äóðäñàíûã àøèãëàõ õýðýãòýé áîëíî: # growisofs -M /dev/cd0 -J -R /path/to/nextdata
Ýõíèé ñåññèéã øàðàõäàà áèäíèé õýðýãëýäýã mkisofs(8)-èéí àäèë òîõèðóóëãóóä äàðààãèéí áè÷èëò³³äèéí ³åýð õýðýãëýãäýõ ¼ñòîé. Note: Õýðýâ òà DVD-ROM õ°ò÷³³äòýé
ç°°â°ðë°ã÷èéí õóâüä èë³³òýé íèéöòýé áàéõûã õ³ñâýë -dvd-compat òîõèðóóëãûã õýðýãëýõèéã õ³ñýæ áîëîõ þì. DVD+RW òîõèîëäëûí õóâüä ýíý íü òàíûã °ã°ãä°ë íýìýõèéã áîëèóëæ ÷àäàõã³é þì.
Õýðýâ òà ÿìàð íýã øàëòãààíààð ç°°â°ðë°ã÷èéã õîîñîí áîëãîõûã õ³ñâýë äîîð äóðäñàíûã õèéõ õýðýãòýé: # growisofs -Z /dev/cd0=/dev/zero
18.7.6 DVD-RW
àøèãëàõ íü
DVD-RW íü äèñêíèé õî¼ð õýëáýðø³³ëýëòèéã àâäàã: íýìýãäñýí äàðààëñàí õýëáýðø³³ëýëò áîëîí õÿçãààðëàãäìàë äàðæ áè÷èõ õýëáýðø³³ëýëò þì. Àíõäàã÷ààð DVD-RW äèñêí³³ä íü äàðààëñàí õýëáýðø³³ëýëòýä áàéäàã. Øèíý DVD-RW íü õýëáýðø³³ëýëò õèéãäýëã³éãýýð øóóä áè÷èãäýæ áîëäîã, ãýõäýý øèíý áèø äàðààëñàí õýëáýðø³³ëýëòýä áàéõ DVD-RW íü øèíý ýõíèé ñåññ áè÷èãäýõýýñ °ìí° õîîñîí áîëãîãäñîí áàéõ øààðäëàãàòàé áàéäàã. Äàðààëñàí ãîðèì äàõü DVD-RW-ã õîîñëîõäîî äàðààõ òóøààëûã àæèëëóóëíà: # dvd+rw-format -blank=full /dev/cd0
494
Chapter 18 Õàäãàëàëò Note: Á³ð ì°ñ°í õîîñëîëò (-blank=full) 1x ç°°â°ðë°ã÷ äýýð íýã öàã îð÷èì áîëíî. Õýðýâ DVD-RW íü Disk-At-Once (DAO) ãîðèìîîð áè÷èãäýõ áîë õóðäàí õîîñëîëòûã -blank òîõèðóóëãà àøèãëàí õèéæ áîëíî. DVD-RW-ã DAO ãîðèìä øàðàõûí òóëä äàðààõ òóøààëûã àøèãëàíà: # growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso
òîõèðóóëãûã øààðäàõ ¼ñã³é, ó÷èð íü growisofs(1) íü (õóðäàí õîîñîëñîí) ç°°â°ðë°ã÷èéã èëð³³ëýõèéã áàãà îðîëäîæ DAO áè÷èëòèéã çàõèàëàõ áîëíî. ßã ³íýíäýý äóðûí DVD-RW-èéí õóâüä õÿçãààðëàãäìàë äàðæ áè÷èõ ãîðèìûã àøèãëàõ õýðýãòýé á°ã°°ä ýíý õýëáýðø³³ëýëò íü àíõäàã÷ íýìýãäñýí äàðààëñàí õýëáýðø³³ëýëòýýñ èë³³ óÿí õàòàí áàéäàã. -use-the-force-luke=dao
Äàðààëñàí DVD-RW äýýð °ã°ãäëèéã áè÷èõäýý áóñàä DVD õýëáýðø³³ëýëòèéí íýãýí àäèë çààâðóóäûã àøèãëàíà: # growisofs -Z /dev/cd0 -J -R /path/to/data
Õýðýâ òà çàðèì °ã°ãäëèéã °°ðèéí óðüäíû áè÷ëýãò íýìýõèéã õ³ñâýë growisofs(1)-èéí -M òîõèðóóëãûã àøèãëàõ õýðýãòýé áîëíî. ýõäýý õýðýâ òà íýìýãäñýí äàðààëñàí ãîðèìä áàéãàà DVD-RW óðóó °ã°ãäëèéã íýìýõ ³éëäëèéã õèéâýë äèñê äýýð øèíý ñåññ ³³ñãýãäýõ á°ã°°ä ³³íèé ³ð ä³í íü îëîí ñåññ á³õèé äèñê áîëîõ þì. DVD-RW íü õÿçãààðëàãäìàë äàðæ áè÷èõ õýëáýðø³³ëýëòýä øèíý ýõíèé ñåññýýñ °ìí° õîîñîí áîëãîãäîõ øààðäëàãàã³é, òà åðä°° ë äèñêèéã - Z òîõèðóóëãàòàé äàðæ áè÷èõ õýðýãòýé á°ã°°ä ýíý íü DVD+RW òîõèîëäîëòîé ò°ñòýé þì. Ì°í äèñê äýýð áè÷èãäñýí áàéãàà ISO 9660 àéëûí ñèñòåìèéã DVD+RW-òýé àäèë àðãààð -M òîõèðóóëãûí òóñëàìæòàé °ñã°æ (ñóíãàæ) áàñ áîëíî. ð ä³í íü íýã ñåññ á³õèé DVD áîëîõ þì. DVD-RW-ã õÿçãààðëàãäìàë äàðæ áè÷èõ õýëáýðø³³ëýëòýä îðóóëàõäàà äàðààõ òóøààëûã àøèãëàõ ¼ñòîé: # dvd+rw-format /dev/cd0
Äàðààëñàí õýëáýðø³³ëýëò óðóó áóöààæ °°ð÷ë°õä°° äàðààõ òóøààëûã àøèãëàíà: # dvd+rw-format -blank=full /dev/cd0
18.7.7
Îëîí ñåññ
Ìàø ö°°í DVD-ROM õ°ò÷³³ä îëîí ñåññ á³õèé DVD-³³äèéã äýìæäýã á°ã°°ä òýäãýýð íü èõýíõäýý ç°âõ°í ýõíèé ñåññèéã óíøäàã. DVD+R, DVD-R áîëîí DVD-RW íü äàðààëñàí õýëáýðø³³ëýëòäýý îëîí ñåññèéã õ³ëýýí àâ÷ ÷àääàã á°ã°°ä DVD+RW áîëîí DVD-RW õÿçãààðëàãäìàë äàðæ áè÷èõ õýëáýðø³³ëýëò³³äèéí õóâüä îëîí ñåññ ãýñýí îéëãîëò áàéäàãã³é. Äàðààëñàí õýëáýðø³³ëýëòýä DVD+R, DVD-R ýñâýë DVD-RW äýýðõ ýõíèé (õààãäààã³é) ñåññèéí äàðàà äàðààõ òóøààëûã àøèãëàæ äèñêýíä øèíý ñåññ ³³ñãýíý: # growisofs -M /dev/cd0 -J -R /path/to/nextdata
Ýíý òóøààëûí ì°ðèéã DVD+RW ýñâýë DVD-RW-òýé öóã àøèãëàí õÿçãààðëàãäìàë äàðæ áè÷èõ ãîðèì äýýð øèíý ñåññèéã õóó÷èí áàéãààòàé íèéë³³ëýí °ã°ãäëèéã íýìýõ áîëíî. ð ä³í íü íýã ñåññ á³õèé äèñê áîëîõ þì. Ýíý íü ýäãýýð ç°°â°ðë°ã÷³³ä äýýð ýõíèé áè÷èëòèéí äàðàà °ã°ãä°ë íýìýõ àðãà þì.
495
Chapter 18 Õàäãàëàëò Note: Ç°°â°ðë°ã÷ äýýðõ çàðèì çàé íü ñåññ á³ðèéí õîîðîíä ñåññèéí ò°ãñã°ë áîëîí ýõëýëä õýðýãëýãääýã. Òèéìýýñ ç°°â°ðë°ã÷èéí çàéã îíîâ÷òîé àøèãëàõûí òóëä èõ °ã°ãä°ëòýé ñåññ³³äèéã íýìýõ ¼ñòîé þì. Ñåññèéí òîî DVD+R-èéí õóâüä 154, DVD-R-èéí õóâüä 2000 îð÷èì, DVD+R õîñ äàâõàðãûí õóâüä 127-îîð õÿçãààðëàãäàíà.
18.7.8
Äýëãýðýíã³é ìýäýýëëèéã
DVD-èéí òàëààð èë³³ ìýäýýëëèéã àâàõûí òóëä dvd+rw-mediainfo /dev/cd0 òóøààëûã õ°ò°÷ äîòîð äèñê áàéõàä àæèëëóóëæ áîëíî. dvd+rw-tools-í òóõàé äýëãýðýíã³é ìýäýýëýë íü growisofs(1) ãàðûí àâëàãûí õóóäàñ, dvd+rw-tools âýá ñàéò (http://fy.chalmers.se/~appro/linux/DVD+RW/) áîëîí cdwrite çàõèäëûí æàãñààëò (http://lists.debian.org/cdwrite/)ûí àðõèâóóäààñ îëäîæ áîëíî. Note: Áè÷èãäñýí ³ð ä³í ýñâýë àñóóäàëòàé ç°°â°ðë°ã÷èéí dvd+rw-mediainfo ãàðàëò íü ÿìàð ÷ àñóóäëûí òàéëàíãèéí ÷óõàë õýñýã þì. Ýíý ãàðàëòã³éãýýð òàíä òóñëàõ áàðàã ë áîëîìæã³é þì.
18.7.9 DVD-RAM
àøèãëàõ íü
18.7.9.1 Òîõèðãîî
DVD-RAM áè÷èã÷èä íü SCSI àëü ýñâýë ATAPI èíòåðýéñòýé öóã èðäýã. ATAPI ò°õ°°ð°ìæ³³äèéí õóâüä DMA õàíäàëò èäýâõòýé áîëñîí áàéõ ¼ñòîé, äàðààõ ì°ðèéã /boot/loader.conf àéëä íýìæ ³³íèéã õèéíý: hw.ata.atapi_dma="1"
18.7.9.2 Ç°°â°ðë°ã÷èéã áýëäýõ íü
ìí° íü á³ëãèéí òàíèëöóóëãàä äóðäñàíààð DVD-RAM íü ç°°âðèéí õàòóó õ°ò°÷ ìàÿãààð õàðàãääàã. Áóñàä õàòóó äèñêí³³äèéí àäèë DVD- RAM íü àøèãëàãäàæ ýõëýõýýñýý °ìí° “áýëäýãäñýí” áàéõ ¼ñòîé. Æèøýýí äýýð äèñêíèé á³õ çàé ñòàíäàðò UFS2 àéëûí ñèñòåìòýé àøèãëàãäàíà: # dd if=/dev/zero of=/dev/acd0 bs=2k count=1 # bsdlabel -Bw acd0 # newfs /dev/acd0
DVD ò°õ°°ð°ìæ acd0-èéã °°ðèéí òîõèðãîîíû äàãóó °°ð÷ë°í àøèãëàõ ¼ñòîé. 18.7.9.3 Ç°°â°ðë°ã÷èéã àøèãëàõ íü
Äýýðõ ³éëäë³³ä DVD-RAM äýýð õèéãäñýíèé äàðàà ³³íèéã ýíãèéí õàòóó õ°ò÷èéí íýãýí àäèë õîëáîæ áîëíî: # mount /dev/acd0 /mnt
496
Chapter 18 Õàäãàëàëò
³íèé äàðàà DVD-RAM íü óíøèãäàõ áè÷èãäýõ áîëîìæòîé áîëíî.
18.8
Óÿí äèñêí³³äèéã ³³ñãýæ àøèãëàõ íü
Àíõëàí õèéñýí Æóëèî Ìåðèíî. Äàõèí áè÷ñýí Ìàðòèí Êàðëñîí. ã°ãäëèéã óÿí äèñêí³³ä óðóó õàäãàëàõ íü çàðèìäàà àøèãòàé áàéäàã. Æèøýý íü õýí íýãýíä íü øèëæ³³ëæ áîëäîã ÿìàð ÷ õàäãàëàëòûí ç°°â°ðë°ã÷ áàéõã³é òîõèîëäîëä ýñâýë áàãà õýìæýýíèé °ã°ãäëèéã °°ð êîìïüþòåð óðóó ç°°õ õýðýãöýý ãàðñàí ³åä óÿí äèñê íü õýðýã áîëäîã. Ýíý õýñýã íü FreeBSD äýýð óÿí äèñêèéã õýðõýí àøèãëàõ òàëààð òàéëáàðëàõ áîëíî. Ýíä 3.5 èí÷èéí DOS óÿí äèñêí³³äèéã õýëáýðø³³ëæ àøèãëàõ òàëààð ³íäñýíäýý òàéëáàðëàõ á°ã°°ä ãýõäýý ýíý îéëãîëò íü áóñàä óÿí äèñêíèé õýëáýðø³³ëýëòòýé ò°ñòýé þì. 18.8.1
Óÿí äèñêí³³äèéã õýëáýðø³³ëýõ íü
18.8.1.1 Ò°õ°°ð°ìæ
Óÿí äèñêí³³äýä áóñàä ò°õ°°ð°ìæ³³äèéí àäèë /dev ñàí äàõü îðóóëãóóäààð õàíääàã. Ò³³õèé óÿí äèñêýíä õàíäàõûí òóëä /dev/fdN -ã åðä°° ë àøèãëàõ õýðýãòýé. 18.8.1.2 Õýëáýðø³³ëýõ íü
Óÿí äèñêèéã àøèãëàõààñàà °ìí° äîîä ò³âøíèé õýëáýðø³³³ëýëò õèéñýí áàéõ õýðýãòýé. ³íèéã èõýâ÷ëýí ³éëäâýðëýã÷ õèéäýã áîëîâ÷ õýëáýðø³³ëýëò íü ç°°â°ðë°ã÷èéí á³ðýí á³òýí áàéäëûã øàëãàõ íýã ñàéí àðãà þì. Èë³³ òîì (ýñâýë æèæèã) äèñêíèé õýìæýýã õ³÷ëýí àøèãëàõ áîëîìæòîé áàéäàã áîëîâ÷ 1440kB õýìæýýíä çîðèóëàãäàí èõýíõ óÿí äèñê õèéãäñýí áàéäàã. Óÿí äèñêýíä äîîä ò³âøíèé õýëáýðø³³ëýëò õèéõèéí òóëä òà fdformat(1)-ã àøèãëàõ õýðýãòýé. Ýíý õýðýãñýë íü ò°õ°°ð°ìæèéí íýðèéã íýìýëò °ã°ãä°ë ìàÿãààð îðóóëàõûã õ³ëýýæ áàéäàã. Àëäààíû ìýäýãäëèéã òýìäýãëýæ àâààðàé, ó÷èð íü ýäãýýð íü äèñêèéã ñàéí ýñâýë ìóó ýñýõèéã òîäîðõîéëîõîä òóñëàõ áîëíî. 18.8.1.2.1 Óÿí äèñêí³³äèéã õýëáýðø³³ëýõ íü
ò°õ°°ð°ìæ³³äèéã àøèãëàí óÿí äèñêèéã õýëáýðø³³ëýõ õýðýãòýé. Øèíý 3.5 èí÷ äèñê °°ðèéí õ°ò°÷ óðóóãàà õèéãýýä äàðààõ òóøààëûã àæèëëóóë: /dev/fdN
# /usr/sbin/fdformat -f 1440 /dev/fd0
497
Chapter 18 Õàäãàëàëò
18.8.2
Äèñêíèé øîøãî
Äèñêýíä äîîä ò³âøíèé õýëáýðø³³ëýëò õèéñíèé äàðàà òàíä äèñê äýýð øîøãî òàâèõ õýðýãòýé áîëíî. Ýíý äèñêíèé øîøãî íü äàðàà íü óñòãàãäàõ áîëîâ÷ äèñêíèé õýìæýý áîëîí ãåîìåòðèéã äàðàà íü òîäîðõîéëîõîä ñèñòåìä õýðýã áîëäîã. Øèíý äèñêíèé øîøãî íü á³õýë äèñêèéã õàìàð÷ óÿí äèñêíèé ãåîìåòðèéí òóõàé á³õ ë ç°â ìýäýýëëèéã àãóóëàõ áîëíî. Äèñêíèé øîøãîíû ãåîìåòðèéí óòãóóä íü /etc/disktab àéëä æàãñààãäñàí áàéäàã. Òà îäîî èíãýæ bsdlabel(8)-ã àæèëëóóëæ áîëíî: # /sbin/bsdlabel -B -w /dev/fd0 fd1440
18.8.3
Ôàéëûí ñèñòåì
Îäîî óÿí äèñêýíä äýýä ò³âøíèé õýëáýðø³³ëýëò õèéõýä áýëýí áîëëîî. Ýíý íü äèñêèéã FreeBSD óíøèõ áîëîí ò³³íä áè÷èõ áîëîìæèéã îëãîõ øèíý àéëûí ñèñòåìèéã äèñê äýýð áàéðëóóëàõ áîëíî. Øèíý àéëûí ñèñòåìèéã ³³ñãýñíèé äàðàà äèñêíèé øîøãî óñòãàãäàõ á°ã°°ä õýðýâ òà äèñêèéã äàõèí õýëáýðø³³ëýõèéã õ³ñâýë äèñêíèé øîøãûã äàõèí ³³ñãýõ øààðäëàãàòàé áîëíî. Óÿí äèñêíèé àéëûí ñèñòåì íü UFS ýñâýë FAT õî¼ðûí àëü íýã íü áàéíà. FAT íü åð°íõèéä°° óÿí äèñêí³³äèéí õóâüä èë³³ äýýð ñîíãîëò áàéäàã. Óÿí äèñê äýýð øèíý àéëûí ñèñòåìèéã áàéðëóóëàõûí òàëä äàðààõ òóøààëûã àæèëëóóëíà: # /sbin/newfs_msdos /dev/fd0
Äèñê îäîî àøèãëàõàä áýëýí áîëëîî. 18.8.4
Óÿí äèñêèéã àøèãëàõ íü
Óÿí äèñêèéã àøèãëàõûí òóëä mount_msdosfs(8) òóøààëààð õîëáîõ õýðýãòýé. Ì°í ïîðòûí öóãëóóëãààñ emulators/mtools-ã àøèãëàæ áàñ áîëîõ þì. 18.9
ã°ãäëèéí ñîðîíçîí õàëüñíóóä ³³ñãýæ àøèãëàõ íü
îë ñîðîíçîí õàëüñ ç°°â°ðë°ã÷³³ä íü 4ìì, 8ìì, QIC, ìèíè-õàéðöàã áîëîí DLT þì.
ìì (DDS: Digital Data Storage)
18.9.1 4
4ìì ñîðîíçîí õàëüñíóóä íü QIC-ã õàëæ àæëûí ñòàíöûí í°°ö ç°°â°ðë°ã÷ áîëîí ñîíãîãäîæ áàéíà. Conner êîìïàíè íü QIC õ°ò÷³³äèéí òýðã³³ëýõ ³éëäâýðëýã÷ Archive-ã õóäàëäàæ àâ÷ äàðàà íü QIC õ°ò÷³³äèéã ³éëäâýðëýõýý çîãñîîñíîîð ýíý ÷èã õàíäëàãà íü èë³³ õóðäàññàí þì. 4ìì õ°ò÷³³ä íü æèæèã, ÷èìýýã³é áîëîâ÷ 8ìì õ°ò÷³³ä øèã íàéäâàðòàé àæèëëàãààãààðàà àëäàðòàé áèø þì. Õàéðöàãíóóä íü ³íýòýé áèø á°ã°°ä 8ìì-èéí õàéðöàãíóóäààñ áàãà (3 x 2 x 0.5 èí÷, 76 x 51 x 12 ìì) þì. 4ìì ñîðîíçîí õàëüñ íü 8ìì-èéí íýãýí àäèë øàëòãààíààð òîëãîé íü áîãèíî íàñòàé á°ã°°ä õî¼óëàà ìóøãèà ñêàíûã àøèãëàäàã.
498
Chapter 18 Õàäãàëàëò
Ýäãýýð õ°ò÷³³ä äýýðõ °ã°ãäëèéí äàìæóóëàõ ÷àäâàð íü ~150 kB/s-ñ ýõýëæ ~500 kB/s õ³ðíý. ã°ãäëèéí áàãòààìæ 1.3 GB-ñ ýõýëæ 2.0 GB õ³ðíý. Òîíîã ò°õ°°ð°ìæèéí øàõàëò ýíý õ°ò÷³³äèéí èõýíõýä áàéõ á°ã°°ä ýíý íü áàãòààìæèéã îéðîëöîîãîîð õî¼ð äàõèí íýìýãä³³ëäýã. Îëîí õ°ò°÷ á³õèé ñîðîíçîí õàëüñíû ñàí (library) àâòîìàò ñîðîíçîí õàëüñ ñîëèã÷òîé íýã êàáèíåòèéí õóâüä 6 õ°ò°÷òýé áàéæ áîëíî. Ñàíãèéí áàãòààìæ íü 240 GB õ³ðíý. DDS-3 ñòàíäàðò íü îäîîãîîð 12 GB (ýñâýë 24 GB øàõàãäñàí) áàãòààìæòàé ñîðîíçîí õàëüñûã äýìæäýã. 4ìì õ°ò÷³³ä íü 8ìì-èéí õ°ò÷³³äèéí íýãýí àäèë ìóøãèà õàéëòûã õýðýãëýäýã. Ìóøãèà õàéëò õèéõèéí á³õ àøèãòàé òàë áîëîí ñóë òàëóóä íü 4ìì áîëîí 8ìì-èéí õ°ò÷³³äèéí àëü àëèíä íü õàìààðäàã. Ñîðîíçîí õàëüñíóóä íü 2000 óäààãèéí àøèãëàëò ýñâýë 100 á³ðýí í°°öë°ëòèéí äàðàà õýðýãëýýíýýñ ãàðàõ ¼ñòîé.
ìì (Exabyte)
18.9.2 8
8ìì ñîðîíçîí õàëüñíóóä íü õàìãèéí íèéòëýã SCSI ñîðîíçîí õàëüñíû õ°ò÷³³ä þì; òýäãýýð íü ñîðîíçîí õàëüñíóóä ñîëèõ õàìãèéí ñàéí ñîíãîëò áîëäîã. Áàðàã ñàéò á³ð Exabyte 2 GB 8ìì-èéí ñîðîíçîí õàëüñíû õ°ò°÷òýé áàéäàã. 8ìì-èéí õ°ò÷³³ä íü íàéäâàðòàé, õýðýãëýõýä àìàð, ÷èìýýã³é áàéäàã. Õàéðöàãíóóä íü õÿìä, æèæèã (4.8 x 3.3 x 0.6 èí÷; 122 x 84 x 15 ìì) áàéäàã. 8ìì-èéí ñîðîíçîí õàëüñíû íýã ñóë òàë íü
òîëãîéíóóäûí äàãóóõ ñîðîíçîí õàëüñíû õàðüöàíãóé õ°ä°ëã°°íèé °íä°ð õóâèàñ áîëîîä õàðüöàíãóé áîãèíî òîëãîé áà ñîðîíçîí õàëüñíû àìüäðàõ õóãàöààòàé áàéäàã ÿâäàë þì. ã°ãä°ë äàìæóóëàõ ÷àäâàð íü ~250 kB/s-ààñ ~500 kB/s õ³ðòýë áàéíà. ã°ãäëèéí õýìæýý íü 300 MB-ààñ ýõýëæ 7 GB õ³ðíý. Òîíîã ò°õ°°ð°ìæèéí øàõàëò ýíý õ°ò÷³³äèéí èõýíõýä áàéõ á°ã°°ä ýíý íü áàãòààìæèéã îéðîëöîîãîîð õî¼ð äàõèí íýìýãä³³ëäýã. Ýäãýýð õ°ò÷³³ä íü íýã áóþó ýñâýë íýã êàáèíåòäàà 6 õ°ò°÷ áîëîí 120 ñîðîíçîí õàëüñòàé îëîí õ°ò°÷ á³õèé ñîðîíçîí õàëüñíû ñàí (library) õýëáýðýýð áàéäàã. ñîðîíçîí õàëüñíóóä íü àâòîìàòààð ñîëèãääîã. Ñàíãèéí áàãòààìæ 840+ GB õ³ðíý. Exabyte “Mammoth” çàãâàð íü íýã ñîðîíçîí õàëüñ äýýð 12 GB ((24 GB øàõàëòòàéãààð) äýìæäýã á°ã°°ä åðäèéí ñîðîíçîí õàëüñíû õ°ò÷°°ñ îéðîëöîîãîîð õî¼ð äàõèí ³íýòýé áàéäàã. ã°ãä°ë íü ñîðîíçîí õàëüñ óðóó ìóøãèà ñêàí àøèãëàãäàí áè÷èãääýã, òîëãîéíóóä íü ç°°â°ðë°ã÷ óðóó °íöã°°ð áàéðëàäàã (îéðîëöîîãîîð 6 ãðàäóñ). Ñîðîíçîí õàëüñ íü òîëãîéíóóäûã áàðüæ áàéäàã äàìðûí 270 ãðàäóñ îð÷èì îðîîäîã. Ñîðîíçîí õàëüñ äàìàð äýýã³³ð ãóëãàæ áàéõàä äàìàð íü ýðãýæ áàéäàã. ð ä³íä íü °ã°ãäëèéí °íä°ð íÿãòðàë áîëîí ñîðîíçîí õàëüñíû äàãóó íýã èðìýãýýñ í°ã°° óðóó °íö°ãäñ°í îéðõîí áàãöàëñàí çàìóóä ³³ñýõ áîëíî. 18.9.3 QIC
QIC-150 ñîðîíçîí õàëüñíóóä áîëîí õ°ò÷³³ä íü ìàãàäã³é õàìãèéí íèéòëýã ñîðîíçîí õàëüñíû õ°ò°÷, ç°°â°ðë°ã÷ þì. QIC ñîðîíçîí õàëüñíû õ°ò÷³³ä íü õàìãèéí õÿìä “íóõàöòàé” í°°öë°ëòèéí õ°ò÷³³ä þì. Ñóë òàë íü ç°°â°ðë°ã÷èéí ³íý áàéäàã. QIC ñîðîíçîí õàëüñíóóä íü 8ìì áîëîí 4ìì ñîðîíçîí õàëüñíóóäòàé õàðüöóóëàõàä GB °ã°ãäëèéí õàäãàëàëòûí õóâüä 5 äàõèí ³íýòýé áàéäàã. ýõäýý òàíû õýðýãëýýíä ö°°í (half-dozen) ñîðîíçîí õàëüñíóóä õàíãàëòòàé áîë QIC íü ìàãàäã³é ç°â ñîíãîëò áîëæ áîëîõ þì. QIC íü õàìãèéí íèéòëýã ñîðîíçîí õàëüñíû õ°ò°÷ þì. Ñàéò á³ð ÿìàð íýã õýìæýýíèé QIC õ°ò°÷òýé áàéäàã. QIC íü èçèêèéí õóâüä ò°ñòýé (çàðèìäàà àäèë) ñîðîíçîí õàëüñíóóäàä èõ õýìæýýíèé íÿãòðàëòàé áàéäàã. QIC õ°ò÷³³ä íü ÷èìýýã³é áèø þì. Ýäãýýð õ°ò÷³³ä íü °ã°ãäëèéã áè÷èæ ýõëýõýýñýý °ìí° äóóòàéãààð õàéäàã á°ã°°ä óíøèõ, áè÷èõ ýñâýë õàéõäàà ìýäýãäýõ³éö äóóòàé áàéäàã. QIC ñîðîíçîí õàëüñíóóä íü 6 x 4 x 0.7 èí÷ (152 x 102 x 17 ìì) õýìæýýòýé áàéäàã.
499
Chapter 18 Õàäãàëàëò
ã°ãäëèéí äàìæóóëàõ ÷àäâàð ~150 kB/s-ñ ~500 kB/s õ³ðòýë áàéíà. ã°ãäëèéí áàãòààìæ 40 MB-ñ 15 GB õ³ðòýë áàéíà. Øèíý QIC õ°ò÷³³äèéí èõýíõýä òîíîã ò°õ°°ð°ìæèéí øàõàëò áàéäàã. QIC õ°ò÷³³ä íü áàãà ñóóëãàãääàã; òýäãýýð íü DAT õ°ò÷³³äýýð øàõàãäñàí þì. ã°ãä°ë íü ñîðîíçîí õàëüñ óðóó çàìààð áè÷èãääýã. Çàìóóä íü ñîðîíçîí õàëüñíû ç°°â°ðë°ã÷èéí íýã ò°ãñã°ë°°ñ í°ã°° óðóó óðò òýíõëýãèéí äàãóó áàéäàã. Çàìóóäûí òîî áîëîí çàìûí °ðã°í ñîðîíçîí õàëüñíû áàãòààìæààñ õàìààð÷ °°ð °°ð áàéäàã. Á³õ øèíý õ°ò÷³³äèéí èõýíõ íü õàìãèéí áàãàäàà áîäîõîä óíøèëòûí (èõýíõäýý áàñ áè÷èëòèéí õóâüä) õóó÷èíòàéãàà íèéöòýé áàéäàã. QIC íü °ã°ãäëèéí àþóëã³é áàéäëûí õóâüä íýëýýí íýð õ³íäòýé áàéäàã (ìåõàíèçì íü õ°ò÷³³äèéã ìóøãèà ñêàí õèéñíýýñ èë³³ õÿëáàð á°ã°°ä õ³÷èðõýã áàéäàã). 5,000 í°°öë°ëòèéí äàðàà ñîðîíçîí õàëüñíóóäûã àøèãëàõàà áîëèõ øààðäëàãàòàé. 18.9.4 DLT DLT íü ýíä æàãñààãäñàí á³õ õ°ò÷èéí ò°ðë³³äýýñ õàìãèéí õóðäàí °ã°ãä°ë äàìæóóëàõ ÷àäâàðòàé áàéäàã. 1/2" (12.5ìì) ñîðîíçîí õàëüñ íü ãàíö äàìàðòàé õàéðöàãò (4 x 4 x 1 èí÷; 100 x 100 x 25 ìì) áàéäàã. Õàéðöàã íü íýã òàëààðàà ãàíõàõ õààëãàòàé áàéäàã. Õ°ò÷èéí ìåõàíèçì ñîðîíçîí õàëüñíû òýðã³³íèéã ãàðãàæ àâàõûí òóëä ýíý õààëãûã îíãîéëãîäîã. Ñîðîíçîí õàëüñíû òýðã³³í íü çóóâàí í³õòýé áàéõ á°ã°°ä õ°ò°÷ ñîðîíçîí õàëüñûã “äýãýýäýõäýý” ³³íèéã àøèãëàäàã. Àâàõ (take-up) äàìàð íü ñîðîíçîí õàëüñíû õ°ò÷èéí äîòîð áàéðëàäàã. Ýíä æàãñààãäñàí áóñàä ñîðîíçîí õàëüñíû õàéðöàãíóóä (9 çàìòàé ñîðîíçîí õàëüñíóóä íü æè÷ þì) íü ñîðîíçîí õàëüñíû õàéðöãàí äîòîð áàéðëàõ õàíãàõ áîëîí take-up äàìðóóäòàé áàéäàã. ã°ãä°ë äàìæóóëàõ ÷àäâàð íü îéðîëöîîãîîð 1.5 MB/s á°ã°°ä 4ìì, 8ì, QIC ñîðîíçîí õàëüñíû õ°ò÷³³äèéí äàìæóóëàõ ÷àäâàðààñ 3 äàõèí èõ áàéäàã. ã°ãäëèéí áàãòààìæ íü íýã õ°ò÷èéí õóâüä 10 GB-ààñ 20 GB õ³ðäýã. Õ°ò÷³³ä íü îëîí ñîðîíçîí õàëüñ ñîëèã÷èä áîëîí îëîí ñîðîíçîí õàëüñ õýëáýðýýð áàéäàã, îëîí õ°ò°÷ á³õèé ñîðîíçîí õàëüñíû ñàíãóóä íü íèéòäýý 50 GB-ñ 9 TB õ³ðòýë õàäãàëàëò á³õèé 5-ààñ 900 õ³ðòýë ñîðîíçîí õàëüñíóóäûã 1-ýýñ 20 õ³ðòýëõ õ°ò÷³³ä äýýð àãóóëäàã. Øàõàëòòàé áîë DLT Ò°ð°ë 4 õýëáýðø³³ëýëò íü 70 GB áàãòààìæèéã äýìæäýã. ã°ãä°ë íü ñîðîíçîí õàëüñíû çàìóóä äýýð àÿëàëûí ÷èãëýëèéí äàãóó (QIC ñîðîíçîí õàëüñíóóäûí àäèë) çýðýãöýýãýýð áè÷èãääýã. Õî¼ð çàì íýã óäàà áè÷èãääýã. Óíøèõ/áè÷èõ òîëãîéíû àìüäðàõ õóãàöàà õàðüöàíãóé óðò áàéäàã; ñîðîíçîí õàëüñ õ°äë°õ°° áîëèõîä òîëãîé áîëîí ñîðîíçîí õàëüñíû õîîðîíäûí õàìààòàé õ°ä°ëã°°í áàéõã³é áîëíî.
18.9.5 AIT AIT íü Sony-ãîîñ ãàðãàñàí øèíý õýëáýðø³³ëýëò á°ã°°ä íýã ñîðîíçîí õàëüñíû õóâüä 50 GB õ³ðòýë (øàõàëòòàéãààð) ìýäýýëëèéã àãóóëæ ÷àäíà. Ñîðîíçîí õàëüñíóóä íü ñàíàõ îéí áè÷èë ñõåì³³äèéã àãóóëäàã á°ã°°ä ýäãýýð íü ñîðîíçîí õàëüñíû àãóóëãûí èíäåêñèéã õàäãàëäàã. Áóñàä ñîðîíçîí
õàëüñíóóäûí õóâüä õýä õýäýí ìèíóò øààðäàãääàã áîë õàðèí ýíý èíäåêñèéã ñîðîíçîí õàëüñíû õ°ò°÷ ñîðîíçîí õàëüñ äýýðõ àéëóóäûí áàéðëàëûã òîäîðõîéëîõûí òóëä ìàø õóðäàí óíøäàã. SAMS:Alexandria çýðýã ïðîãðàì íü ñîðîíçîí õàëüñíû ñàíàõ îéí áè÷èë ñõåìòýé øóóä õîëáîãäîí àãóóëãûã äýëãýöýä ãàðãàæ, ÿìàð àéëóóä àëü ñîðîíçîí õàëüñ óðóó í°°öë°ãäñ°íèéã òîäîðõîéëæ, ç°â ñîðîíçîí õàëüñûã îëîí à÷ààëæ ñîðîíçîí õàëüñíààñ °ã°ãäëèéã ñýðãýýí ä°÷ áîëîí ò³³íýýñ äýýø AIT ñîðîíçîí õàëüñíû ñàíãóóäûã àæèëëóóëæ ÷àääàã.
500
Chapter 18 Õàäãàëàëò
³íòýé àäèë ñàíãóóä $20,000 õàâüöàà ³íý õ³ð÷ òýäãýýðèéã ñîíèðõîã÷äûí çàõ çýýëýýñ áàãà çýðýã øàõäàã áàéíà. 18.9.6
Øèíý ñîðîíçîí õàëüñûã àíõ óäàà àøèãëàõ íü
Àíõíû óäàà øèíý, õîâ õîîñîí ñîðîíçîí õàëüñûã óíøèõûã îðîëäâîë àìæèëòã³é áîëíî. Êîíñîëûí ìýäýãäë³³ä ³³íòýé ò°ñòýé áàéíà: sa0(ncr1:4:0): NOT READY asc:4,1 sa0(ncr1:4:0): Logical unit is in process of becoming ready
Ñîðîíçîí õàëüñ íü Identifier Block áóþó Òàíèã÷ Áëîêèéã (block number 0) àãóóëààã³é áàéíà. Á³õ QIC ñîðîíçîí õàëüñíóóä íü QIC-525 ñòàíäàðòûã õýðýãëýæ ýõýëñíýýñ õîéø Òàíèã÷ Áëîêèéã ñîðîíçîí õàëüñàíä áè÷äýã. Õî¼ð øèéäýë áàéäàã: òóøààë íü Òàíèã÷ Áëîêèéã ñîðîíçîí õàëüñ óðóó áè÷èõèéã ñîðîíçîí õàëüñíû õ°ò÷èä õýëíý. ͳ³ðíèé òîâ÷ëóóðûã àøèãëàí ñîðîíçîí õàëüñûã ãàðãàæ àâíà. Ñîðîíçîí õàëüñûã äàõèí õèéãýýä ò³³í óðóó °ã°ãäëèéã dump õèéíý. dump òóøààë íü “DUMP: End of tape detected” ãýæ ìýäýãäýõ á°ã°°ä êîíñîë “HARDWARE FAILURE info:280 asc:80,96” ãýæ õàðóóëíà. mt rewind òóøààë àøèãëàí ñîðîíçîí õàëüñûã áóöààíà. Äàðàà äàðàà÷èéí ñîðîíçîí õàëüñíû ³éëäë³³ä àìæèëòòàé áîëíî.
• mt fsf 1 •
18.10 18.10.1 ?
óó
Óÿí äèñê óðóó í°°öë°õ °ðèéí °ã°ãäëèéã í°°öë°õèéí òóëä áè óÿí äèñêí³³äèéã àøèãëàæ áîëîõ
Óÿí äèñêí³³ä íü í°°ö õèéõýä òèéì ÷ òîõèðîìæòîé ç°°â°ðë°ã÷ áèø þì, ó÷èð íü: Ýíý ç°°â°ðë°ã÷ íü íàéäâàðã³é, ÿëàíãóÿà óðò õóãàöààíû òóðøèä íàéäâàðã³é áàéäàã. • Í°°öë°õ áîëîí áóöààæ ñýðãýýõ íü èõ óäààí áàéäàã. • Òýäãýýð íü ìàø õÿçãààðëàãäìàë áàãòààìæòàé (á³õýë á³òýí õàòóó äèñêèéã õýäýí àðâàí óÿí äèñêýíä í°°öë°õ íü èõ îëîí °ä°ð øààðäàíà). ýõäýý õýðýâ òàíä °°ðèéí °ã°ãäëèéã í°°öë°õ °°ð ÿìàð ÷ àðãà áàéõã³é áîë óÿí äèñêí³³äýä í°°öë°õ íü í°°ö õèéõã³é áàéñíààñ õàìààã³é äýýð þì. Õýðýâ òà óÿí äèñêí³³ä àøèãëàõ øààðäëàãàòàé áîëñîí áîë ñàéí ÷àíàðûíõûã àøèãëàñàí ýñýõýý øàëãàõ õýðýãòýé. Îèñ äýýð ÷èíü õî¼ð æèë õýâòñýí óÿí äèñêí³³ä ìóó ñîíãîëò áîëîõ þì. Íýð õ³íäòýé ³éëäâýðëýã÷ýýñ ãàðãàñàí øèíý äèñêí³³äèéã àøèãëàõ íü ç³éòýé þì. •
501
Chapter 18 Õàäãàëàëò
18.10.2
Òýãýõýýð áè °°ðèéí °ã°ãäëèéã óÿí äèñê óðóó õýðõýí í°°öë°õ âý?
Óÿí äèñê óðóó í°°öë°õ õàìãèéí øèëäýã àðãà íü tar(1) òóøààëûã -M (îëîí ýçëýõ³³í) òîõèðóóëãàòàéãààð àøèãëàõ ÿâäàë þì. Ýíý íü îëîí óÿí äèñêí³³äýä í°°öë°õ áîëîìæèéã îëãîäîã. Òóõàéí ñàí áîëîí äýä ñàí äîòîðõ á³õ àéëóóäûã í°°öë°õèéí òóëä ³³íèéã àøèãëàõ õýðýãòýé (root õýðýãëýã÷ýýð): # tar Mcvf /dev/fd0 *
Ýõíèé óÿí äèñê ä³³ðñíèé äàðàà tar(1) íü äàðààãèéí ýçëýõ³³íèéã îðóóëàõûã õ³ñýõ áîëíî (ó÷èð íü tar(1) íü ç°°â°ðë°ã÷°°ñ õàìààðàëã³é á°ã°°ä ýçëýõ³³í³³äýä õàíääàã; ýíä óÿí äèñêèéã õýëæ áàéíà). Prepare volume #2 for /dev/fd0 and hit return:
Ýíý íü çààãäñàí àéëóóä àðõèâëàãäàõ õ³ðòýë (ýçëýõ³³íèé äóãààð íýìýãäýí) äàâòàãäàõ áîëíî. 18.10.3
Áè °°ðèéíõ°° í°°ö³³äèéã øàõàæ áîëîõ óó?
Õàðàìñàëòàé íü tar(1) íü îëîí ýçëýõ³³í á³õèé àðõèâóóäûí õóâüä -z òîõèðóóëãûã àøèãëàõûã ç°âø°°ðä°ãã³é. Ìýäýýæ òà á³õ àéëóóäûã gzip(1) õèéæ òýäãýýðèéã óÿí äèñê óðóó tar(1) õèéæ äàðàà íü àéëóóäûã äàõèí gunzip(1) õèéæ áîëíî! 18.10.4
Áè °°ðèéí í°°ö³³äèéã õýðõýí ñýðãýýõ âý?
Á³õýë àðõèâûã ñýðãýýõäýý äàðààõ òóøààëûã àøèãëàíà: # tar Mxvf /dev/fd0
Ç°âõ°í çààãäñàí àéëóóäûã ñýðãýýõ õî¼ð àðãà áàéäàã á°ã°°ä òà òýäãýýðèéã àøèãëàæ áîëíî. Ýõëýýä òà ýõíèé äèñêíýýñ ýõëýýä äàðààõ òóøààëûã àøèãëàíà: # tar Mxvf /dev/fd0 filename
tar(1) õýðýãñýë íü øààðäëàãàòàé àéëûã îëîõ õ³ðòëýý äàðàà äàðààãèéí óÿí äèñêí³³äèéã õèéõèéã òàíààñ õ³ñýõ áîëíî. °ð°°ð, õýðýâ òà àéë íü ÿã àëü óÿí äèñê äýýð áàéãààã ìýäýæ áàéâàë åðä°° ë òýð óÿí äèñêèéã îðóóëæ äýýðõòýé àäèë òóøààëûã àøèãëàõ õýðýãòýé. Õýðýâ óÿí äèñê äýýðõ ýõíèé àéë íü °ìí°õ äèñê äýýðõèéí ³ðãýëæëýë áîë òàíûã àñóóãààã³é áàéñàí ÷ ãýñýí tar(1) ³³íèéã ñýðãýýæ ÷àäàõã³é ãýæ òàíä àíõààðóóëàõ áîëíî!
18.11
Í°°öë°õ ñòðàòåãóóä
Àíõëàí õèéñýí Ëîóýë Æèëáýðò. Í°°öë°õ ò°ë°âë°ã°°ã áîëîâñðóóëàõ ýõíèé øààðäëàãà íü äàðààõ á³õ àñóóäëóóäûã õàìàðñàí ýñýõèéã øàëãàõ ÿâäàë þì:
502
Chapter 18 Õàäãàëàëò
Äèñêíèé ãýìòýë • Ñàíàìñàðã³é àéë óñòãàëò • Ñàíàìñàðã³é àéëûí ýâäðýë • àçàð äýýðõ í°°ö³³ä áàéâàë òýäãýýðèéã îðóóëààä ìàøèíû á³ðýí ñ³éðýë (°°ð°° õýëáýë ãàë). Ýäãýýð àñóóäàë á³ðèéã øàë °°ð òåõíèêýýð øèéäýñíýýð çàðèì ñèñòåì³³äèéã èë³³òýé àæèëëóóëàõ ò°ãñ áîëîìæ áàéæ áîëîõ þì. Ìàø áàãà ³íý öýíýòýé °ã°ãä°ë á³õèé ÷àíãà õóâèéí ñèñòåì³³äèéã òîîöîõã³é þì áîë íýã òåõíèê íü á³õ àñóóäëóóäûã õàìðàõ íü áàðàã áîëîìæã³é þì. Õýðýãñëèéí õàéðöàã äàõü çàðèì íýã òåõíèê³³äèéã äóðäâàë: •
Á³õ ñèñòåìèéí àðõèâóóä íü ñàéòààñ ãàäíà áàéíãûí ç°°â°ðë°ã÷èä í°°öë°ãä°í°. Ýíý íü äýýð äóðäñàí á³õ àñóóäëóóäààñ õàìãààëàõ áîëîâ÷ ñýðãýýõ íü òîõèðîìæã³é óäààí áàéäàã. Òà í°°ö³³äèéí õóóëáàðóóäûã ãàçàð äýýð íü áà/ýñâýë øóóä àâ÷ áîëîõîîð õàäãàëæ áîëîõ áîëîâ÷ àéëóóäûã ñýðãýýõ íü ÿëàíãóÿà ç°âø°°ð°ãä°°ã³é õýðýãëýã÷äýä áàñ ë òîõèðîìæã³é õýâýýð áàéäàã. • Ôàéëûí ñèñòåìèéí õîðìûí õóâèëáàðóóä. Ýíý íü ÿã ³íýíäýý ç°âõ°í ñàíàìñàðã³éãýýð àéëûã óñòãàñàí òîõèîëäîëä òóñòàé, ãýõäýý ýíý íü òèéì òîõèîëäîëä ìàø òóñ áîëîõóéö áàéäàã á°ã°°ä õóðäàí, àæèëëàõàä õÿëáàð áàéäàã. • Á³õ àéëûí ñèñòåì áà/ýñâýë äèñêí³³äèéí õóóëáàðóóä (á³õýë ìàøèíû ³å ³å äàâòàãäàõ rsync(1)). Ýíý íü åð°íõèéä°° îíöãîé øààðäëàãà á³õèé ñ³ëæýýí³³äýä õàìãèéí àøèãòàé áàéäàã. Äèñêíèé ýâäðýë, ãýìòëèéí ýñðýã åð°íõèé õàìãààëàëòûí õóâüä ýíý íü èõýâ÷ëýí RAID-ñ ÷àíàðûí õóâüä ìóó áàéäàã. Ñàíàìñàðã³éãýýð óñòãàñàí àéëóóäûã ñýðãýýõýä ýíý íü UFS õîðìûí õóâèëáàðòàé ä³éöýõýýð áîëîâ÷ òà àëèéã äýýäýëäãýýñ õàìààðàõ þì. • RAID. Äèñê ýâäðýõ, ãýìòýõ ³åä çîãñîõ õóãàöààã áàãàñãàæ çàéëñõèéäýã. Ìàø áàãà øààðäëàãàòàé õýäèé ÷ äèñêíèé ýâäðýë³³äòýé èë³³òýé çóóðàëäàõ (ó÷èð íü òà îëîí äèñêòýé) õýðýãòýé áîëäîã. • Ôàéëóóäûí áàéðëàëûã (õóðóóíû õýý) øàëãàõ. ³íä mtree(8) õýðýãñýë èõ àøèãòàé áàéäàã. Ýíý íü í°°öë°õ òåõíèê áèø áîëîâ÷ òàíä °°ðèéí í°°ö³³ääýý õàíäàõààð áîëîõ ³åä òà õýðýã áîëîõ áîëíî. Ýíý íü ñàéòààñ ãàäíàõ øóóä áóñ í°°ö³³äèéí õóâüä ÿëàíãóÿà ÷óõàë á°ã°°ä ³å ³å øàëãàãäàæ áàéõ ¼ñòîé. ³íýýñ èë³³ îëîí òåõíèêèéã áîäîæ îëîõ íü àìàðõàí á°ã°°ä òýäãýýðèéí èõýíõ íü äýýð äóðäñàí òåõíèê³³äèéí °°ð õóâèëáàðóóä þì. Òóñãàéëñàí øààðäëàãóóä íü èõýâ÷ëýí òóñãàéëñàí òåõíèêò õ³ðãýäýã (æèøýý íü øóóä àæèëëàæ áàéãàà ìýäýýëëèéí áààçûã í°°öë°õ íü ç°âõ°í ìýäýýëëèéí ñàíä çîðèóëàãäñàí àðãûã äóíäûí øàò áîëãîí èõýâ÷ëýí àøèãëàõûã øààðääàã). ßìàð àþóëóóäààñ òà õàìãààëàõûã õ³ñýæ áàéãàà áîëîí òýäãýýð òóñ á³ðòýé õýðõýí àæèëëàõàà ìýäýõ íü ÷óõàë þì. •
18.12
Í°°öë°ëòèéí ³íäñ³³ä
óðâàí ãîë í°°öë°õ ïðîãðàì áîë dump(8), tar(1) áîëîí cpio(1) þì. 18.12.1 Dump
áà Restore
Óëàìæëàëò UNIX í°°öë°õ ïðîãðàìóóä íü dump áà restore þì. Òýäãýýð íü àéëûí ñèñòåì³³äýýð ³³ñãýãäñýí àéëóóä, õîëáîîñóóä áîëîí ñàíãóóäûí õèéñâýð îéëãîëòóóäûí äîîð õ°ò÷³³ä äýýð äèñêíèé áëîêóóäûí öóãëóóëãà õýëáýðýýð àæèëëàäàã. Áóñàä í°°öë°õ ïðîãðàìóóäààñ ÿëãààòàé íü dump íü ò°õ°°ð°ìæ äýýðõ á³õýë àéëûí ñèñòåìèéã í°°ö°ëä°ã. Ôàéëûí ñèñòåìèéí ç°âõ°í õýñãèéã ýñâýë íýãýýñ èë³³ àéëûí ñèñòåì äàãóó áàéðëàõ ñàíãèéí ìîäûã ýíý íü í°°ö°ëæ ÷àääàãã³é. dump íü àéëóóä áîëîí 503
Chapter 18 Õàäãàëàëò
ñàíãóóäûã ñîðîíçîí õàëüñ óðóó áè÷äýãã³é, õàðèí àéëóóä áîëîí ñàíãóóäààñ òîãòîõ ò³³õèé °ã°ãäëèéí áëîêóóäûã áè÷äýã. ã°ãäëèéã çàäëàõàä õýðýãëýãäýõäýý restore íü àíõäàã÷ààð ò³ð çóóðûí àéëóóäûã /tmp/ ñàíä õàäãàëäàã. Õýðýâ òà æèæèã õýìæýýíèé /tmp ñàí á³õèé í°°ö ñýðãýýõ äèñê äýýðýýñ àæèëëàæ áàéãàà áîë ñýðãýýëòèéã àìæèëòòàé ã³éöýýõèéí òóëä èë³³ ÷°ë°°òýé çàéòàé ñàí ðóó TMPDIR îð÷íû õóâüñàã÷èéã çààæ °ã°õ õýðýãòýé áàéæ áîëîõ þì. Note: Õýðýâ òà °°ðèéí root ñàíäàà dump-ã õýðýãëýâýë òà /home, /usr ýñâýë áóñàä îëîí ñàíãóóäûã í°°öë°õã³é
á°ã°°ä ³³íèé ó÷èð áîë ýäãýýð íü èõýâ÷ëýí áóñàä àéëûí ñèñòåì³³äèéí õîëáîõ öýã³³ä áóþó ýñâýë òýäãýýð àéëûí ñèñòåì³³ä óðóó çààñàí ñèìáîëûí õîëáîîñóóä áàéäàã.
íü °°ðèéí õ°ãæëèéí ýõíèé °äð³³ä áîëîõ AT&T UNIX-èéí 6-ð õóâèëáàðààñ (1975 îí îð÷èì) ³ëäñýí êîäòîé áàéäàã. Àíõäàã÷ ïàðàìåòð³³ä íü °í°°ä°ð áàéãàà °íä°ð íÿãòðàëòàé (62,182 ftpi õ³ðòýë) ç°°â°ðë°ã÷èä áèø 9 çàì (6250 bpi) á³õèé ñîðîíçîí õàëüñàíä òîõèðäîã. Îäîîãèéí ñîðîíçîí õàëüñíû õ°ò÷³³äèéí áàãòààìæèéã õýðýãëýõèéí òóëä ýäãýýð àíõäàã÷óóäûã òóøààëûí ì°ð°°ñ äàðæ °°ð÷ë°õ ¼ñòîé. Ì°í ñ³ëæýýãýýð °°ð êîìïüþòåðò õîëáîãäñîí ñîðîíçîí õàëüñíû õ°ò°÷ óðóó °ã°ãäëèéã rdump áîëîí rrestore òóøààë àøèãëàí í°°öë°õ áîëîìæòîé áàéäàã. Ýíý õî¼ð ïðîãðàì íü àëñûí ñîðîíçîí õàëüñíû õ°ò÷èä õàíäàõäàà rcmd(3) áîëîí ruserok(3)-ä òóëãóóðëàäàã. Òèéìýýñ í°°öë°ëòèéã õèéæ áàéãàà õýðýãëýã÷ àëñûí êîìïüþòåðèéí .rhosts àéë äîòîð æàãñààãäñàí áàéõ ¼ñòîé. rdump áîëîí rrestore òóøààëóóäàä °ã°õ íýìýëò °ã°ãäë³³ä íü àëñûí êîìïüþòåð äýýð àøèãëàæ áîëîõîîð áàéõ ¼ñòîé. komodo ãýæ íýðëýãäñýí Sun óðóó õîëáîãäñîí Exabyte ñîðîíçîí õàëüñíû õ°ò°÷ óðóó FreeBSD êîìïüþòåðààñ rdump õèéõäýý äàðààõ òóøààëûã àøèãëàíà: dump
# /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
Áîëãîîìæëîîðîé: .rhosts òàíèí íýâòðýëòèéã ç°âø°°ð°õ íü àþóëã³é áàéäëûí àñóóäëóóä ³³ñãýäýã. °ðèéí í°õö°ë áàéäëûã àíõààðàëòàé ³íýëýõ õýðýãòýé. Ì°í dump áîëîí restore òóøààëûã èë³³ àþóëã³é çàãâàðààð ssh äýýã³³ð àøèãëàõ áàñ áîëîìæòîé áàéäàã. Example 18-1. ssh-
ýýð dump-ã àøèãëàõ íü
# /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ [email protected] dd of=/mybigfiles/dump-usr-l0.gz
Ýñâýë dump-èéí äîòîð áàéäàã íýã àðãà áîëîõ RSH îð÷íû õóâüñàã÷èéã òîõèðóóëàí àøèãëàæ áîëíî: Example 18-2. ssh-
ýýð RSH òîõèðóóëàí dump-ã àøèãëàõ íü
# RSH=/usr/bin/ssh /sbin/dump -0uan -f [email protected] :/dev/sa0 /usr
18.12.2 tar tar(1) íü áàñ AT&T UNIX-èéí 6-ð õóâèëáàðààñ (1975 îí îð÷èì) ýõòýé. tar íü àéëûí ñèñòåìòýé õàìò àæèëëàäàã; ýíý íü àéëóóä áîëîí ñàíãóóäûã ñîðîíçîí õàëüñ óðóó áè÷äýã. tar íü cpio(1)-ä áàéäàã á³ðýí
504
Chapter 18 Õàäãàëàëò
õýìæýýíèé òîõèðóóëãóóäûã äýìæäýãã³é áîëîâ÷ ýíý íü cpio-èéí õýðýãëýäýã õîâîð òóøààëûí äàìæóóëàõ õîîëîéã øààðääàãã³é. FreeBSD 5.3 áîëîí ò³³íýýñ õîéøõ õóâèëáàðò GNU tar áîëîí àíõäàã÷ bsdtar òóøààëóóä áàéäàã. GNU õóâèëáàðûã gtar ãýæ àæèëëóóëæ áîëäîã. Ýíý íü rdump-òàé àäèë ä³ðìèéã àøèãëàæ àëñûí ò°õ°°ð°ìæ³³äèéã äýìæäýã. komodo ãýæ íýðëýãäñýí Sun óðóó õîëáîãäñîí Exabyte ñîðîíçîí õàëüñíû õ°ò°÷ óðóó tar õèéõäýý äàðààõ òóøààëûã àøèãëàíà: # /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1
Àëñûí ñîðîíçîí õàëüñíû õ°ò°÷ óðóó °ã°ãäëèéã èëãýýõäýý rsh áîëîí äàìæóóëàõ õîîëîé àøèãëàí bsdtar òóøààëààð ³³íèéã áàñ õèéæ áîëíî. # tar cf - . | rsh hostname dd of=tape-device obs=20b
Õýðýâ òà ñ³ëæýýãýýð í°°öë°õèéí àþóëã³é áàéäàëä ñàíàà çîâæ áàéãàà áîë rsh-èéí îðîíä ssh òóøààëûã àøèãëàõ õýðýãòýé. 18.12.3 cpio cpio(1) íü ñîðîíçîí ç°°â°ðë°ã÷èä çîðèóëàãäñàí UNIX-èéí àíõíû àéë ñîëèëöîõ ñîðîíçîí õàëüñíû ïðîãðàì þì. cpio íü (áóñàä îëîí òîõèðóóëãóóäûí äîòðîîñ) áàéò ñîëèëöîõûã õèéõ, õýä õýäýí ò°ðëèéí
àðõèâûí õýëáýðø³³ëýëò³³äèéã áè÷èõ áîëîí °ã°ãäëèéã °°ð ïðîãðàì óðóó õîîëîéãîîð ãàðãàõ çýðýã òîõèðóóëãóóäòàé áàéäàã. ѳ³ëèéí áîëîìæ íü cpio-ã ñóóëãàöûí ç°°â°ðë°ã÷èéí õóâüä ñàéí ñîíãîëò áîëãîäîã. cpio íü ñàíãèéí ìîäîîð õýðõýí ÿâàõàà ìýääýãã³é á°ã°°ä àéëóóäûí æàãñààëòûã stdin-ýýñ õàíãàæ °ã°õ ¼ñòîé. cpio íü ñ³ëæýýãýýð í°°öë°õèéã äýìæäýãã³é. Òà äàìæóóëàõ õîîëîé áîëîí rsh-èéã àøèãëàæ °ã°ãäëèéã àëñûí ñîðîíçîí õàëüñíû õ°ò°÷ óðóó èëãýýæ áîëíî. # for f in directory_list; do find $f >> backup.list done # cpio -v -o --format=newc < backup.list | ssh user @host "cat > backup_device"
íü òàíû í°°öë°õèéã õ³ññýí ñàíãóóäûí æàãñààëò áîë user@host íü í°°öë°ëòèéã õèéæ áàéãàà õýðýãëýã÷/õîñòûí íýðèéí õîñëîë á°ã°°ä backup_device íü í°°öë°ëò õèéãäýõ ò°õ°°ð°ìæ (°°ð°°ð õýëáýë /dev/nsa0) þì. directory_list
18.12.4 pax pax(1) íü tar áîëîí cpio òóøààëûí IEEE/POSIX-èéí õàðèóëò þì. Æèë èðýõ òóòàì tar áîëîí cpio òóøààëóóäûí ò°ð°ë á³ðèéí õóâèëáàðóóä íü õîîðîíäîî ìýäýãäýõ³éö íèéöã³é áîëæ èðñýí þì. Òýäãýýðòýé òýìöýæ á³ð ì°ñ°í ñòàíäàðò÷èëàõûí îðîíä POSIX íü àðõèâûí øèíý õýðýãñýë ³³ñãýñýí þì. pax íü °°ðèéí øèíý õýëáýðø³³ëýëòýýñ ãàäíà cpio áîëîí tar òóøààëóóäûí ò°ð°ë á³ðèéí õýëáýðø³³ëýëòèéí èõýíõèéã óíøèæ áè÷èõèéã îðîëääîã. Ýíý òóøààëûí îëîíëîã íü tar òóøààëûíõòàé áèø õàðèí cpio òóøààëûíõòàé èë³³ ò°ñòýé áàéäàã.
505
Chapter 18 Õàäãàëàëò
18.12.5 Amanda Amanda (Advanced Maryland Network Disk Archiver) íü íýã ïðîãðàì áèø êëèåíò/ñåðâåð ïðîãðàì þì. Amanda ñåðâåð íü ãàíö ñîðîíçîí õàëüñíû õ°ò°÷ óðóó Amanda êëèåíòòýé, Amanda ñåðâåð óðóó ñ³ëæýýãýýð õîëáîãäñîí äóðûí òîîíû êîìïüþòåðèéã í°°öë°õ áîëíî. Õýä õýäýí òîì äèñêí³³ä á³õèé
ñàéòóóä äýýð áàéäàã íèéòëýã àñóóäëóóä íü °ã°ãäëèéã ñîðîíçîí õàëüñ óðóó í°°öë°õ°ä øààðäàãäàõ õóãàöàà íü óã ³éëäëèéí õóâüä çîðèóëàãäñàí õóãàöààíààñ èë³³ ãàðàõ ÿâäàë þì. Amanda íü ýíý àñóóäëûã øèéääýã. Amanda íü õýä õýäýí àéëûí ñèñòåì³³äèéã íýã çýðýã í°°öë°õä°° “holding disk áóþó õ³ëýýãäýõ äèñê”èéã àøèãëàäàã. Amanda íü “àðõèâûí îëîíëîãóóä” áóþó Amanda-èéí òîõèðãîîíû àéëä æàãñààãäñàí á³õ àéëûí ñèñòåì³³äèéí á³ðýí í°°öë°ëò³³äèéã ³³ñãýõýä õýñýã õóãàöààíä õýðýãëýãäñýí á³ëýã ñîðîíçîí õàëüñíóóäûã ³³ñãýäýã. “Àðõèâûí îëîíëîãóóä” íü áàñ àéëûí ñèñòåì³³äèéí ø°í° áîëãîíû íýìýãäñýí (ýñâýë ÿëãààòàé) í°°öë°ëò³³äèéã àãóóëäàã. Ýâäýðñýí àéëûí ñèñòåìèéã ñýðãýýõ íü õàìãèéí ñ³³ëèéí á³ðýí í°°öë°ëò áîëîí íýìýãäñýí í°°öë°ëò³³äèéã øààðääàã. Òîõèðãîîíû àéë íü í°°öë°ëò³³ä áîëîí Amanda-èéí ³³ñãýäýã ñ³ëæýýíèé óðñãàëûã íàðèéí õÿíàõ áîëîìæèéã õàíãàäàã. Amanda íü °ã°ãäëèéã ñîðîíçîí õàëüñ óðóó áè÷èõèéí òóëä äýýð äóðäñàí í°°öë°ëòèéí ïðîãðàìóóäûã àøèãëàíà. Amanda íü ïîðò ýñâýë áàãö õýëáýðýýð áàéäàã á°ã°°ä àíõäàã÷ààð ñóóëãàãäààã³é áàéäàã. 18.12.6
Þó ÷ õèéõã³é áàéõ
“Þó ÷ õèéõã³é áàéõ” íü êîìïüþòåðèéí ïðîãðàì áèø áîëîâ÷ ýíý íü õàìãèéí èõ àøèãëàãääàã í°°öë°ëòèéí ñòðàòåãè þì. ßìàð ÷ ýõíèé çàðäàë áàéõã³é. Ì°ðä°õ í°°öë°ëòèéí ò°ë°âë°ã°° áàéõã³é. dzãýýð ë ³ã³é ãýõ õýðýãòýé. Õýðýâ òàíû °ã°ãä°ëä ÿìàð íýã àñóóäàë òîõèîëäâîë ø³ä çóóãààä ë òýâ÷èõ õýðýãòýé! Õýðýâ òàíû öàã áîëîí °ã°ãä°ë íü òèéì ÷ ÷óõàë áèø ýñâýë þó ÷ áèø áîë “Do nothing áóþó þó ÷ õèéõã³é áàéõ” íü òàíû êîìïüþòåðèéí õóâüä õàìãèéí òîõèðîìæòîé í°°öë°ëòèéí ïðîãðàì áîëîõ þì. ýõäýý UNIX íü àøèãòàé õýðýãñýë þì, òà çóðãààí ñàðûí äîòîð ³íýòýé àéëóóäûí öóãëóóëãàòàé áîëæ ³³íèéã ìýäðýõ áîëíî. “Þó ÷ õèéõã³é áàéõ” íü /usr/obj áîëîí òàíû êîìïüþòåðààð ÿã ³³ñãýãäýæ áîëîõ áóñàä ñàíãèéí ìîäíóóäûí õóâüä ç°â í°°öë°õ àðãà áîëäîã. ³íèé æèøýý íü ýíý ãàðûí àâëàãûí HTML ýñâýë PostScript-ñ òîãòîõ õóâèëáàðûí àéëóóä áàéæ áîëîõ þì. Ýäãýýð áàðèìòûí õýëáýðø³³ëýëò³³ä íü SGML îðîëòûí àéëóóäààñ ³³ñãýãääýã. HTML ýñâýë PostScript àéëóóäûí í°°öë°ëòèéã ³³ñãýõ íü øààðäëàãàã³é þì. SGML àéëóóä íü áàéíãà í°°öë°ãää°ã.
18.12.7
Àëü í°°öë°ëòèéí ïðîãðàì õàìãèéí øèëäýã íü âý?
dump(8) å. Ýëèçàáåò Ä. Çâèêè ýíä äóðäàãäñàí á³õ í°°öë°ëòèéí ïðîãðàìóóäûã çîâîîñîí òåñò õèéñýí. °ðèéí á³õ °ã°ãä°ë áîëîí UNIX àéëûí ñèñòåì³³äèéí îíöëîãóóäûã õàäãàëàõ öýâýð ñîíãîëò áîë dump áîëñîí áàéíà. Ýëèçàáåò ìàø èõ ò°ð°ë á³ðèéí õîâîð í°õö°ë³³äèéã (çàðèì íü òèéì ÷ õîâîð áèø)
àãóóëñàí àéëûí ñèñòåì³³äèéã ³³ñãýæ òýäãýýð àéëûí ñèñòåì³³äèéã í°°öë°í äàðàà íü ñýðãýýæ ïðîãðàì á³ðèéã òåñò õèéñýí áàéíà. Îíöãîé ç³éë³³äýä öîîðõîéòîé àéëóóä, õîîñîí áëîêòîé áîëîí öîîðõîéòîé àéëóóä, ñîíèí òýìäýãò á³õèé íýðýýñ òîãòñîí àéëóóä, áè÷èãäýõ áîëîìæã³é óíøèãäàõ áîëîìæã³é àéëóóä, ò°õ°°ð°ìæ³³ä, í°°öë°ëòèéí ³åä õýìæýýãýý °°ð÷ë°õ àéëóóä, í°°öë°ëòèéí ³åä ³³ñãýãäýæ/óñòãàãäñàí àéëóóä çýðãèéã äóðäàæ áîëîõ þì. Òýðýýð ³ð ä³íãýý 1991 îíû 10 ñàðä LISA äýýð ³ç³³ëñýí áàéíà. Í°°öë°ëò áîëîí Àðõèâûí ïðîãðàìóóäûã çîâîîõ òåñò (http://berdmann.dyndns.org/zwicky/testdump.doc.html) õîëáîîñûã ³çíý ³³.
506
Chapter 18 Õàäãàëàëò
18.12.8
ßàðàëòàé ñýðãýýõ ïðîöåäóð
18.12.8.1 àìøãèéí °ìí°
Ó÷èð÷ áîëçîøã³é ãàìøèãò áýëòãýõèéí òóëä òàíû õèéõ ¼ñòîé ä°ðâ°í ³å øàò áàéäàã. Ýõëýýä °°ðèéí äèñê á³ðèéí bsdlabel (°°ð°°ð õýëáýë bsdlabel da0 | lpr), °°ðèéí àéëûí ñèñòåìèéí õ³ñíýãò (/etc/fstab) áîëîí á³õ à÷ààëàëòûí ìýäýãäë³³äèéã òóñ á³ð õî¼ð õóâü õýâëýõ õýðýãòýé. Äàðàà íü à÷ààëàõ áîëîí óÿí äèñêí³³ä (boot.flp áîëîí fixit.flp) òàíû á³õ ò°õ°°ð°ìæ³³äèéã àãóóëñàí ýñýõèéã òîäîðõîéëíî. Õàìãèéí õÿëáàðààð øàëãàõ àðãà íü óÿí äèñêíèé õ°ò°÷ä°° à÷ààëàõ óÿí äèñêèéã õèéæ äàõèí à÷ààëæ à÷ààëàëòûí ìýäýãäë³³äèéã øàëãàõ ÿâäàë þì. Õýðýâ òàíû á³õ ò°õ°°ð°ìæ³³ä áàéãààä àæèëëàæ áàéâàë ãóðàâäóãààð àëõàì óðóó àëãàñààðàé. Ýñðýã òîõèîëäîëä òà °°ðèéí á³õ äèñêèéã õîëáîæ òàíû ñîðîíçîí õàëüñíû õ°ò÷èä õàíäàæ ÷àäàõ ö°ì á³õèé òóñãàéëñàí õî¼ð à÷ààëàãäàõ óÿí äèñê áýëäýõ õýðýãòýé. Ýäãýýð óÿí äèñêí³³ä íü fdisk, bsdlabel, newfs, mount áîëîí òàíû àøèãëàäàã ïðîãðàìóóäûã àãóóëñàí áàéõ ¼ñòîé. Ýäãýýð ïðîãðàìóóä íü ñòàòèêààð õîëáîãäñîí áàéõ ¼ñòîé. Õýðýâ òà dump-ã àøèãëàñàí áîë óÿí äèñê íü restore-ã àãóóëñàí áàéõ ¼ñòîé. óðàâäóãààðò í°°ö ñîðîíçîí õàëüñíóóäûã áàéíãà ³³ñãýæ áàéõ õýðýãòýé. Òàíû ñ³³ëèéí í°°öë°ëò°°ñ õîéø õèéãäñýí °°ð÷ë°ëò³³ä áóöààæ àâàãäàõ áîëîìæã³éãýýð àëãà áîëæ áîëîõ þì. Í°°ö ñîðîíçîí õàëüñíóóä óðóó õèéæ áîëçîøã³é áè÷èëòèéã õàìãààëàõ õýðýãòýé. Ä°ð°âä³ãýýðò óÿí äèñêí³³ä (boot.flp áîëîí fixit.flp àëü ýñâýë õî¼ðäóãààð ³å äýýð òàíû õèéñýí òóñãàéëñàí õî¼ð à÷ààëàãäàõ óÿí äèñêí³³ä.) áîëîí í°°ö ñîðîíçîí õàëüñíóóäûã òåñò õèéíý. Ïðîöåäóðûíõàà òàëààð òýìäýãëýãýý õèéõ õýðýãòýé. Ýäãýýð òýìäýãëýãýýí³³äýý à÷ààëàãäàõ óÿí äèñêí³³ä, õýâëýñýí ç³éë áîëîí í°°ö ñîðîíçîí õàëüñíóóäòàéãàà öóã õàäãàëàõ õýðýãòýé. Ñýðãýýæ áàéõ ³åä òàíû àíõààðàë èõ ñàðíèñàí áàéæ áîëîõ á°ã°°ä òýäãýýð òýìäýãëýãýýí³³ä ÷èíü òàíûã °°ðèéí í°°ö ñîðîíçîí õàëüñíóóäàà óñòãàõààñ ñýðãèéëýõ áîëíî (ßàæ? tar xvf /dev/sa0 òóøààëûí îðîíä òà ñàíàìñàðã³éãýýð tar cvf /dev/sa0 ãýæ áè÷ýýä °°ðèéí í°°ö ñîðîíçîí õàëüñûã äàðæ áè÷èæ áîëîõ þì). Àþóëã³é áàéäëûí íýìýãäýë àðãà õýìæýý áîëãîæ òóõàéã á³ðò íü à÷ààëàãäàõ óÿí äèñêí³³ä áîëîí í°°ö ñîðîíçîí õàëüñ õî¼ðûã áýëäýæ áàéõ õýðýãòýé. Òóñ á³ðèéã íü òóñàä íü àëñàä °°ð ãàçàð õàäãàëàõ õýðýãòýé. Òýð °°ð ãàçàð íü ÿã òýð îèñèéí áàéðíû ïîäâàë áàéõ Ñ É. Äýëõèéí Õóäàëäààíû Ò°âèéí õýä õýäýí èðì ³³íèéã õýö³³ çàìààð ìýäýðñýí þì. Òýð °°ð ãàçàð íü òàíû êîìïüþòåðóóä áîëîí äèñêíèé õ°ò÷³³äýýñ òóñãààðëàãäñàí èçèêèéí õóâüä íýëýýä çàéòàé ãàçàð áàéõ ¼ñòîé. Example 18-3.
À÷ààëàãäàõ óÿí äèñê ³³ñãýõ ñêðèïò
#!/bin/sh # # create a restore floppy # # format the floppy # PATH=/bin:/sbin:/usr/sbin:/usr/bin fdformat -q fd0 if [ $? -ne 0 ] then echo "Bad floppy, please use a new one" exit 1
507
Chapter 18 Õàäãàëàëò fi # place boot blocks on the floppy # bsdlabel -w -B /dev/fd0c fd1440 # # newfs the one and only partition # newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/fd0a # # mount the new floppy # mount /dev/fd0a /mnt # # create required directories # mkdir /mnt/dev mkdir /mnt/bin mkdir /mnt/sbin mkdir /mnt/etc mkdir /mnt/root mkdir /mnt/mnt # for the root partition mkdir /mnt/tmp mkdir /mnt/var # # populate the directories # if [ ! -x /sys/compile/MINI/kernel ] then cat << EOM The MINI kernel does not exist, please create one. Here is an example config file: # # MINI -- A kernel to get FreeBSD onto a disk. # machine "i386" cpu "I486_CPU" ident MINI maxusers 5 options
INET
# needed for _tcp _icmpstat _ipstat # _udpstat _tcpstat _udb #Berkeley Fast File System #block cursor in syscons or pccons #Be pessimistic about Joe SCSI device #1 virtual consoles #Allow user configuration with -c XXX
options options options options options
FFS FAT_CURSOR SCSI_DELAY=15 NCONS=2 USERCONFIG
config
kernel root on da0 swap on da0 and da1 dumps on da0
508
Chapter 18 Õàäãàëàëò
device device
isa0 pci0
device device
fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr fd0 at fdc0 drive 0
device
ncr0
device
scbus0
device device
sc0 at isa? port "IO_KBD" tty irq 1 vector scintr npx0 at isa? port "IO_NPX" irq 13 vector npxintr
device device device
da0 da1 da2
device
sa0
pseudo-device pseudo-device EOM exit 1 fi
loop gzip
# required by INET # Exec gzipped a.out’s
cp -f /sys/compile/MINI/kernel /mnt gzip gzip gzip gzip gzip
-c -c -c -c -c
-best -best -best -best -best
/sbin/init > /mnt/sbin/init /sbin/fsck > /mnt/sbin/fsck /sbin/mount > /mnt/sbin/mount /sbin/halt > /mnt/sbin/halt /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root chmod chmod chmod chmod
500 /mnt/sbin/init 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt 555 /mnt/bin/sh /mnt/bin/sync 6555 /mnt/sbin/restore
# # create minimum file system table # cat > /mnt/etc/fstab <<EOM /dev/fd0a / ufs rw 1 1 EOM # # create minimum passwd file
509
Chapter 18 Õàäãàëàëò # cat > /mnt/etc/passwd <<EOM root:*:0:0:Charlie &:/root:/bin/sh EOM cat > /mnt/etc/master.passwd <<EOM root::0:0::0:0:Charlie &:/root:/bin/sh EOM chmod 600 /mnt/etc/master.passwd chmod 644 /mnt/etc/passwd /usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd # # umount the floppy and inform the user # /sbin/umount /mnt echo "The floppy has been unmounted and is now ready."
18.12.8.2 àìøãèéí äàðàà
Ò³ëõ³³ð àñóóëò áîë: òàíû òîíîã ò°õ°°ð°ìæ àìüä ãàð÷ ÷àäñàí óó? Áàéíãûí í°°öë°ëò õèéæ áàéñàí áîëîõîîð ïðîãðàì õàíãàìæèéí òàëààð òà ñàíàà çîâîõ õýðýãã³é þì. Õýðýâ òîíîã ò°õ°°ð°ìæ ýâäýðñýí áîë êîìïüþòåðèéã àøèãëàõààñàà °ìí° ýâäýðñýí õýñã³³äèéã ñîëèõ øààðäëàãàòàé. Õýðýâ òàíû òîíîã ò°õ°°ð°ìæ ç³ãýýð áàéãàà áîë óÿí äèñêí³³äýý øàëãààðàé. Õýðýâ òà òóñãàéëàí °°ð÷èëñ°í à÷ààëàõ óÿí äèñê àøèãëàæ áàéãàà áîë ãàíö õýðýãëýã÷èéí ãîðèì óðóó à÷ààëàõ õýðýãòýé (boot: õ³ëýýõ ì°ð°í äýýð -s ãýæ áè÷íý). Äàðààãèéí õýñãèéã àëãàñààðàé. Õýðýâ òà boot.flp áîëîí fixit.flp óÿí äèñêí³³äèéã àøèãëàæ áàéãàà áîë öààø íü óíøààðàé. boot.flp óÿí äèñêýý ýõíèé óÿí äèñêíèé õ°ò°÷ä°° õèéãýýä êîìïüþòåðàà à÷ààëàõ õýðýãòýé. Ýõíèé ñóóëãàõ öýñ äýëãýö äýýð ãàðàõ áîëíî. Fixit--Repair mode with CDROM or floppy. òîõèðóóëãûã ñîíãîíî. fixit.flp-ã àñóóõàä íü õèéíý. Òàíä õýðýãòýé restore áîëîí áóñàä ïðîãðàìóóä /mnt2/rescue ñàíä áàéðëàíà (5.2 õóâèëáàðààñ õóó÷èí FreeBSD-èéí õóâüä /mnt2/stand). Ôàéëûí ñèñòåì á³ðèéã òóñ òóñàä íü ñýðãýýíý. °ðèéí ýõíèé äèñêíèé root õóâààëòûã mount (°°ð°°ð õýëáýë mount /dev/da0a /mnt) õèéõèéã îðîëäîîðîé. Õýðýâ bsdlabel ýâäýðñýí áîë bsdlabel òóøààëûã àøèãëàí äèñêèéã äàõèí õóâààæ òàíû õýâëýæ õàäãàëñàí øîøãîòîé àäèë òààðóóëæ õàÿãëàõ õýðýãòýé. newfs òóøààë àøèãëàí àéëûí ñèñòåì³³äèéã äàõèí ³³ñãýíý. Óÿí äèñêíèé root õóâààëòûã óíøèõ-áè÷èõýýð äàõèí õîëáîõ õýðýãòýé (mount -u -o rw /mnt). Ýíý àéëûí ñèñòåìèéí õóâüä °ã°ãäëèéã ñýðãýýõèéí òóëä °°ðèéí í°°öë°õ ïðîãðàì áîëîí ñîðîíçîí õàëüñíóóäûã àøèãëàíà (°°ð°°ð õýëáýë restore vrf /dev/sa0). Ôàéëûí ñèñòåìèéã ñàëãàíà (°°ð°°ð õýëáýë umount /mnt). Ýâäýðñýí àéëûí ñèñòåì á³ðèéí õóâüä äàâòàíà. Òàíû ñèñòåì àæèëëàñíû äàðàà °°ðèéí °ã°ãäëèéã øèíý ñîðîíçîí õàëüñ óðóó í°°öë°õ õýðýãòýé. ѳéðýë ýñâýë °ã°ãäëèéí àëäàãäàëä õ³ðãýñýí òýð ÿâäàë äàõèí áîëæ áîëîõ þì. Îäîî çàðöóóëñàí íýã öàã òàíûã çîâëîíä ó÷ðàõààñ õîæèì àâàð÷ áîëîõ þì.
510
Chapter 18 Õàäãàëàëò
ѳëæýý, ñàíàõ îé áîëîí àéë äýýð òóëãóóðëàñàí àéëûí ñèñòåì³³ä 18.13
Äàõèí çîõèîí áàéãóóëæ °ðã°æ³³ëñýí Ìàðê Ôîíâèë. °ðèéí êîìïüþòåð óðóó èçèêýýð õèéæ áîëäîã óÿí äèñê, CD-³³ä, õàòóó õ°ò÷³³ä ãýõ çýðýã äèñêí³³äýýñ ãàäíà áóñàä õýëáýðèéí äèñêí³³ä áóþó âèðòóàë äèñêí³³ä èéã FreeBSD îéëãîäîã. Ýäãýýðò Network File System áóþó ñ³ëæýýíèé àéëûí ñèñòåì áîëîí Coda çýðýã ñ³ëæýýíèé àéëûí ñèñòåì³³ä, ñàíàõ îé äýýð òóëãóóðëàñàí àéëûí ñèñòåì³³ä áîëîí àéë äýýð òóëãóóðëàñàí àéëûí ñèñòåì³³ä îðíî. FreeBSD-èéí ÿìàð õóâèëáàðûã àæèëëóóëæ áàéãààãààñ õàìààð÷ òà àéë äýýð áîëîí ñàíàõ îé äýýð òóëãóóðëàñàí àéëûí ñèñòåì³³äèéã ³³ñãýæ àøèãëàõäàà °°ð °°ð õýðýãñë³³äèéã õýðýãëýõ øààðäëàãàòàé áîëíî.
Note: Õýðýãëýã÷èéí õóâüä ìýäýãäýëã³éãýýð ò°õ°°ð°ìæèéí öýã³³äèéã õóâààðèëàõûí òóëä devfs(5)-ã àøèãëàíà.
18.13.1
Ôàéë äýýð òóëãóóðëàñàí àéëûí ñèñòåì
mdconfig(8) õýðýãñýë íü FreeBSD äýýð ñàíàõ îé äýýð òóëãóóðëàñàí äèñêí³³ä, md(4)-ã òîõèðóóëæ èäýâõæ³³ëýõýä õýðýãëýãääýã. mdconfig(8)-ã àøèãëàõûí òóëä òà md(4) ìîäóëèéã à÷ààëàõ õýðýãòýé, ýñâýë °°ðèéí ö°ìèéí òîõèðãîîíû àéëäàà äýìæëýãèéã íýìýõ õýðýãòýé áîëíî: device md
mdconfig(8) òóøààë íü ãóðâàí ò°ðëèéí ñàíàõ îé äýýð òóëãóóðëàñàí âèðòóàë äèñêèéã äýìæäýã: ýäãýýð íü malloc(9)-ð õóâààðèëàãäñàí ñàíàõ îéí äèñêí³³ä, àéë ýñâýë swap çàé àøèãëàñàí ñàíàõ îéí äèñêí³³ä þì. Íýã áîëîìæòîé õýðýãëýý íü àéëä õàäãàëàãäñàí óÿí ýñâýë CD ä³ðñèéã õîëáîõ ÿâäàë þì.
Áàéãàà àéëûí ñèñòåìèéí ä³ðñèéã õîëáîõäîî:
Example 18-4. mdconfig
àøèãëàí áàéãàà àéëûí ñèñòåìèéí ä³ðñèéã õîëáîõ íü
# mdconfig -a -t vnode -f diskimage -u 0 # mount /dev/md0 /mnt
mdconfig(8) àøèãëàí øèíý àéëûí ñèñòåìèéí ä³ðñèéã ³³ñãýõäýý: Example 18-5. mdconfig
òóøààë àøèãëàí øèíý àéë äýýð òóëãóóðëàñàí äèñê ³³ñãýõ íü
# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in 5120+0 records out # mdconfig -a -t vnode -f newimage -u 0 # bsdlabel -w md0 auto # newfs md0a
/dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840
511
Chapter 18 Õàäãàëàëò # mount /dev/md0a /mnt # df /mnt
Filesystem 1K-blocks Used Avail Capacity /dev/md0a 4710 4 4330 0%
Mounted on /mnt
Õýðýâ òà -u òîõèðóóëãààð íýãæèéí äóãààðûã çààæ °ã°õã³é þì áîë mdconfig(8) íü õýðýãëýãäýýã³é ò°õ°°ð°ìæèéã ñîíãîõûí òóëä md(4) àâòîìàò õóâààðèëàëòûã àøèãëàõ áîëíî. Õóâààðèëàãäñàí íýãæèéí íýð íü stdout óðóó md4 ìýòýýð ãàðàõ áîëíî. mdconfig(8)-èéí òóõàé äýëãýðýíã³é ìýäýýëëèéã ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. mdconfig(8) õýðýãñýë íü èõ àøèãòàé, ãýõäýý ýíý íü àéë äýýð òóëãóóðëàñàí àéëûí ñèñòåì ³³ñãýõèéí òóëä îëîí òóøààëûí ì°ðèéã àñóóäàã. FreeBSD íü áàñ mdmfs(8) ãýæ íýðëýãääýã õýðýãñýëòýé èðäýã, ýíý ïðîãðàì íü md(4)-ã mdconfig(8) òóøààë àøèãëàí òîõèðóóëæ newfs(8) àøèãëàí UFS àéëûí ñèñòåì ò³³í äýýð òàâüæ mount(8) àøèãëàí ò³³íèéã õîëáîäîã. Æèøýý íü õýðýâ òà äýýðõòýé èæèë àéëûí ñèñòåìèéí ä³ðñèéã ³³ñãýæ õîëáîõûã õ³ñâýë åðä°° ë äàðààõ òóøààëûã áè÷ýýðýé: Example 18-6. mdmfs
òóøààë àøèãëàí àéë äýýð òóëãóóðëàñàí äèñêèéã òîõèðóóëæ õîëáîõ íü
# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in 5120+0 records out # mdmfs -F newimage -s 5m md0 /mnt # df /mnt
Filesystem 1K-blocks Used Avail Capacity /dev/md0 4718 4 4338 0%
Mounted on /mnt
Õýðýâ òà md òîõèðóóëãûã íýãæèéí äóãààðã³é àøèãëàâàë mdmfs(8) íü àøèãëàãäààã³é ò°õ°°ð°ìæèéã àâòîìàòààð ñîíãîõäîî md(4) àâòî-íýãæ áîëîìæèéã àøèãëàõ áîëíî. mdmfs(8)-èéí òóõàé äýëãýðýíã³é ìýäýýëëèéã ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. 18.13.2
Ñàíàõ îé äýýð òóëãóóðëàñàí àéëûí ñèñòåì
Ñàíàõ îé äýýð òóëãóóðëàñàí àéëûí ñèñòåìèéí õóâüä “swap backing áóþó swap äýýðõ òóëãóóðëàëòûã” èõýíõäýý àøèãëàõ õýðýãòýé. swap äýýðõ òóëãóóðëàëòûã àøèãëàõ íü ñàíàõ îéí äèñê íü àíõäàã÷ààð äèñê óðóó swap õèéãäýíý ãýñýí ³ã áèø á°ã°°ä õàðèí åðä°° ë ñàíàõ îéí äèñê íü ñàíàõ îéí ö°°ðì°°ñ õóâààðèëàãäàæ õýðýâ õýðýãöýýòýé áîë äèñê óðóó swap õèéãäýæ áîëíî ãýñýí ³ã þì. Ì°í malloc(9) äýýð òóëãóóðëàñàí ñàíàõ îéí äèñêèéã ³³ñãýõ áîëîìæòîé áàéäàã. ýõäýý malloc äýýð òóëãóóðëàñàí ñàíàõ îéí äèñêí³³äèéã, ÿëàíãóÿà òîì õýìæýýòýéã íü àøèãëàõ íü ö°ì ñàíàõ îéã³é áîëîõ òîõèîëäîëä ñèñòåìèéã ñ³éðýëä õ³ðãýæ áîëîõ þì. Example 18-7. mdconfig
òóøààë àøèãëàí øèíý ñàíàõ îé äýýð òóëãóóðëàñàí äèñê ³³ñãýõ íü
# mdconfig -a -t swap -s 5m -u 1 # newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 # mount /dev/md1 /mnt
512
Chapter 18 Õàäãàëàëò # df /mnt
Filesystem 1K-blocks Used Avail Capacity /dev/md1 4718 4 4338 0%
Example 18-8. mdmfs
Mounted on /mnt
òóøààë àøèãëàí øèíý ñàíàõ îé äýýð òóëãóóðëàñàí äèñê ³³ñãýõ íü
# mdmfs -s 5m md2 /mnt # df /mnt
Filesystem 1K-blocks Used Avail Capacity /dev/md2 4846 2 4458 0%
18.13.3
Mounted on /mnt
Ñèñòåìýýñ ñàíàõ îéí äèñêèéã ñàëãàõ íü
Ñàíàõ îé äýýð òóëãóóðëàñàí ýñâýë àéë äýýð òóëãóóðëàñàí àéëûí ñèñòåì àøèãëàãäàõã³é áàéãàà áîë òà á³õ ýõ ³³ñâýð³³äèéã ñèñòåìä ñóëëàæ °ã°õ øààðäëàãàòàé. Ýõíèé õèéõ ¼ñòîé ç³éë íü àéëûí ñèñòåìèéã ñàëãààä äàðàà íü mdconfig(8) àøèãëàí äèñêèéã ñèñòåìýýñ ñàëãàæ ýõ ³³ñâýð³³äèéã ñóëëàíà. Æèøýý íü /dev/md4-ã ñàëãàæ ò³³íèé õýðýãëýñýí á³õ ýõ ³³ñâýð³³äèéã ÷°ë°°ë°õèéí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # mdconfig -d -u 4
Òîõèðãîî õèéãäñýí md(4) ò°õ°°ð°ìæ³³äèéí òóõàé ìýäýýëëèéã mdconfig áîëíî. 18.14
-l
òóøààë àøèãëàí æàãñààæ
Ôàéëûí ñèñòåìèéí õîðìûí õóâèëáàðóóä
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. FreeBSD íü Soft Updates áóþó ç°°ë°í øèíý÷ëýëò³³äèéí õàìò Ôàéëûí ñèñòåìèéí õîðìûí õóâèëáàðóóä áîëîìæèéã ñàíàë áîëãîäîã. Õîðìûí õóâèëáàðóóä íü çààñàí àéëûí ñèñòåì³³äèéí ä³ðñèéã ³³ñãýæ òýäãýýðòýé àéëòàé õàíääàã øèã õàíäàõ áîëîìæèéã õýðýãëýã÷èä ç°âø°°ðä°ã. Õîðìûí õóâèëáàðûí àéëóóä íü ³éëäýë õèéãäñýí àéëûí ñèñòåì äýýð ³³ñãýãäýõ ¼ñòîé á°ã°°ä íýã àéëûí ñèñòåìèéí õóâüä 20-ñ èõã³é õîðìûí õóâèëáàðóóäûã õýðýãëýã÷ ³³ñãýæ áîëíî. Èäýâõòýé õîðìûí õóâèëáàðóóä íü ñóïåð áëîêò áè÷èãääýã á°ã°°ä èíãýñíýýð òýäãýýð íü ñèñòåìèéí äàõèí à÷ààëàëòóóäûí ³åä ñàëãàõ áîëîí äàõèí õîëáîõ ÿâöàä òýñâýðòýé áàéäàã. Õîðìûí õóâèëáàð íü õýðýãã³é áîëñîí ³åä ýíý íü ñòàíäàðò rm(1) òóøààëààð óñòãàãäàæ áîëíî. Õîðìûí õóâèëáàðóóä íü ÿìàð ÷ äàðààëëààð óñòãàãäàæ áîëîõ á°ã°°ä ãýõäýý àøèãëàãäñàí á³õ çàéã äàõèí îëæ àâàõã³é áàéæ áîëîõ þì. Ó÷èð íü °°ð íýã õîðìûí õóâèëáàð ÷°ë°°ë°ãäñ°í áëîêóóäûí çàðèìûã øààðäàæ áîëçîøã³é þì. °ð÷ë°ãä°õã³é snapshot àéë òîõèðóóëãà íü õîðìûí õóâèëáàðûã ýõëýýä ³³ñãýñíèé äàðàà mksnap_ffs(8) òóøààëààð çààãääàã. unlink(1) òóøààë íü õîðìûí õóâèëáàðûí àéëóóäûí õóâüä îðõèäîã á°ã°°ä ó÷èð íü ýíý íü òýäãýýðèéã óñòãàõûã ç°âø°°ðä°ã áàéíà. Õîðìûí õóâèëáàðóóä íü mount(8) òóøààëààð ³³ñãýãääýã. /var-èéí õîðìûí õóâèëáàðûã /var/snapshot/snap àéëä áàéðëóóëàõûí òóëä äàðààõ òóøààëûã àøèãëàíà:
513
Chapter 18 Õàäãàëàëò # mount -u -o snapshot /var/snapshot/snap /var
°ð°°ð òà õîðìûí õóâèëáàð ³³ñãýõèéí òóëä mksnap_ffs(8)-ã àøèãëàæ áîëíî: # mksnap_ffs /var /var/snapshot/snap
Ôàéëûí ñèñòåì (°°ð°°ð õýëáýë /var) äýýð õîðìûí õóâèëáàðûí àéëóóäûã find(1) òóøààë àøèãëàí îëæ áîëíî: # find /var -flags snapshot
Õîðìûí õóâèëáàð ³³ñãýãäñýíèé äàðàà ýíý íü õýä õýäýí õýðýãëýýòýé áàéäàã: •
•
•
•
Çàðèì àäìèíèñòðàòîðóóä õîðìûí õóâèëáàðûí àéëûã í°°öèéí çîðèëãîîð àøèãëàäàã, ó÷èð íü õîðìûí õóâèëáàð íü CD-³³ä ýñâýë ñîðîíçîí õàëüñ óðóó äàìæóóëàãäàæ áîëäîã. Ôàéëûí ñèñòåìèéí á³ðýí á³òýí áàéäëûã øàëãàäàã fsck(8) íü õîðìûí õóâèëáàð äýýð àæèëëàæ áîëäîã. Ôàéëûí ñèñòåì íü õîëáîãäñîí ³åäýý öýâýð áàéñàí ãýæ ³çâýë òà ³ðãýëæ öýâýð (°°ð÷ë°ãä°°ã³é) ³ð ä³íã àâàõ áîëíî. ³íèéã ãîë íü àðûí fsck(8) ïðîöåññ õèéäýã. dump(8) õýðýãñëèéã õîðìûí õóâèëáàð äýýð àæèëëóóëäàã. Õîðìûí õóâèëáàðûí àéëûí ñèñòåì áîëîí öàãòàé íýã ÿíç õóóëáàð õèéãääýã. dump(8) íü áàñ õîðìûí õóâèëáàðûã àâ÷ í°°ö ä³ðñèéã ³³ñãýæ ÷àääàã á°ã°°ä äàðàà íü õîðìûí õóâèëáàðûã íýã òóøààëààð -L òóãèéã àøèãëàí óñòãàæ ÷àääàã. Õîðìûí õóâèëáàðûã àéëûí ñèñòåìèéí õ°ëä°°ãäñ°í ä³ðñ ìàÿãààð mount(8) õèéäýã. /var/snapshot/snap õîðìûí õóâèëáàðûã mount(8) õèéõèéí òóëä äîîð äóðäñàíûã àæèëëóóëíà: # mdconfig -a -t vnode -f /var/snapshot/snap -u 4 # mount -r /dev/md4 /mnt
Òà îäîî /mnt-ä õîëáîãäñîí °°ðèéí õ°ëä°°ãäñ°í /var àéëûí ñèñòåìèéí øàòëàëààð àÿëæ áîëíî. Õîðìûí õóâèëáàð ³³ñãýõ ³å äýõ ò°ëâèéí àäèë ò°ë°âò á³ãä ýõëýýä áàéíà. Öîðûí ãàíö °°ð ç³éë íü °ìí°õ õîðìûí õóâèëáàðóóä íü òýã óðòòàé àéëóóä ìàÿãààð ãàð÷ èðýõ áîëíî. Õîðìûí õóâèëáàðûí õýðýãëýýã õÿçãààðëàõ ³åä ³³íèéã äàðààõ òóøààëûã àæèëëóóëàí ñàëãàæ áîëíî: # umount /mnt # mdconfig -d -u 4
áóþó ç°°ë°í øèíý÷ëýëò³³ä áîëîí àéëûí ñèñòåìèéí õîðìûí õóâèëáàðóóäûí òàëààð äýëãýðýíã³é ìýäýýëëèéã òåõíèêèéí áàðèìòóóäûã îðîëöóóëààä òà Ìàðøàë Êèðê ÌêÊþçèêèéí âýá õóóäàñ http://www.mckusick.com/ óðóó çî÷ëîí îðæ ³çýæ áîëíî.
softupdates
18.15
Ôàéëûí ñèñòåìèéí íîîãäëóóä
Quota áóþó íîîãäîë íü õýðýãëýã÷ ýñâýë á³ëãèéí ãèø³³äèéí õóâüä äèñêíèé çàé áà/ýñâýë àéëóóäûí òîîã àéëûí ñèñòåì òóñ á³ðèéí õóâüä õóâààðèëæ õÿçãààðëàõ áîëîìæèéã á³ðä³³ëýõ ³éëäëèéí ñèñòåìèéí íýã íýìýëò áîëîìæ þì. Ýíý íü äóðûí íýã õýðýãëýã÷ ýñâýë á³ëýã õýðýãëýã÷äèéí õóâààðèëæ áîëîõ ýõ ³³ñâýð³³äèéã õÿçãààðëàõ øààðäëàãàòàé öàã õóâààëöàõ ñèñòåì äýýð èõýâ÷ëýí õýðýãëýãääýã. Ýíý íü íýã õýðýãëýã÷ ýñâýë á³ëýã õýðýãëýã÷èä á³õ áàéãàà äèñêíèé çàéã õýðýãëýõýýñ õàìãààëäàã þì.
514
Chapter 18 Õàäãàëàëò
Äèñêíèé íîîãäëóóäûã èäýâõòýé áîëãîõûí òóëä °°ðèéí ñèñòåìèéã òîõèðóóëàõ íü 18.15.1
Äèñêíèé íîîãäëûã àøèãëàæ ýõëýõýýñýý °ìí° íîîãäëóóä íü ö°ìä òîõèðóóëàãäñàí ýñýõèéã øàëãàõ øààðäëàãàòàé. Äàðààõ ì°ðèéã °°ðèéí ö°ìèéí òîõèðãîîíû àéëä íýìæ ³³íèéã õèéíý: options QUOTA
Àíõíû GENERIC ö°ì íü ³³íèéã àíõíààñàà èäýâõæ³³ëýýã³é áàéäàã áîëîõîîð òà äèñêíèé íîîãäëóóäûã àøèãëàõûí òóëä òóñãàéëñàí ö°ìèéã òîõèðóóëæ á³òýýí ñóóëãàõ õýðýãòýé áîëîõ þì. Ö°ìèéí òîõèðãîîíû òàëààð äýëãýðýíã³é ìýäýýëëèéã Chapter 8-ñ ëàâëàíà óó. Äàðàà íü òà äèñêíèé íîîãäëóóäûã /etc/rc.conf àéëä èäýâõæ³³ëýõ õýðýãòýé. Äàðààõ ì°ðèéã íýìæ ³³íèéã õèéíý: enable_quotas="YES"
°ðèéí íîîãäëûí ýõë³³ëýëòýä ñàéí õÿíàëò òàâèõàä õýðýãòýé íýìýëò òîõèðãîîíû õóâüñàã÷óóä áàéäàã. Åðäèéí ³åä à÷ààëàëòûí ³åýð àéëûí ñèñòåì á³ðèéí íîîãäëûí á³ðýí á³òýí áàéäàë quotacheck(8) ïðîãðàìààð øàëãàãääàã. quotacheck(8) áîëîìæ íü íîîãäëûí ìýäýýëëèéí áààç äàõü °ã°ãä°ë àéëûí ñèñòåì äýýðõ °ã°ãäëèéã ç°â òóñãàæ áàéãàà ýñýõèéã øàëãàæ áàéäàã. Ýíý íü õóãàöàà èõ øààðäñàí ïðîöåññ á°ã°°ä òàíû ñèñòåì à÷ààëàõ õóãàöààíä ìýäýãäýõ³éö í°ë°°ëä°ã. Õýðýâ òà ýíý àëõìûã àëãàñàõûã õ³ñâýë ýíý çîðèëãîîð õóâüñàã÷èéã /etc/rc.conf àéëä òîõèðóóëàõ õýðýãòýé: check_quotas="NO"
Ò°ãñã°ëä íü òà àéëûí ñèñòåì á³ðèéí õóâüä äèñêíèé íîîãäëóóäûã èäýâõæ³³ëýõèéí òóëä /etc/fstab àéëûã çàñâàðëàõ õýðýãòýé. Ýíä òà õýðýãëýã÷ ýñâýë á³ëãèéí íîîãäëóóä ýñâýï õî¼óëàíã íü °°ðèéí á³õ àéëûí ñèñòåìèéí õóâüä èäýâõæ³³ëýõ áîëîìæòîé þì. Ôàéëûí ñèñòåì äýýð õýðýãëýã÷ á³ðèéí õóâüä íîîãäëóóäûã èäýâõæ³³ëýõèéí òóëä °°ðèéí íîîãäëóóä èäýâõæ³³ëýõèéã õ³ñýæ áàéãàà àéëûí ñèñòåìèéí õóâüä /etc/fstab àéëûí õàðãàëçàõ îðóóëãûí options áóþó òîõèðóóëãûã çààõ òàëáàðò userquota òîõèðóóëãûã íýìæ °ã°õ õýðýãòýé. Æèøýý íü: /dev/da1s2g
/home
ufs rw,userquota 1 2
³íòýé ò°ñòýéãýýð á³ëãèéí íîîãäëóóäûã èäýâõæ³³ëýõèéí òóëä userquota òîõèðóóëãûí îðîíä groupquota òîõèðóóëãûã àøèãëàõ õýðýãòýé. Õýðýãëýã÷ áîëîí á³ëãèéí íîîãäëóóäûã õî¼óëàíã íü èäýâõæ³³ëýõèéí òóëä îðóóëãûã èíãýæ °°ð÷èëí°: /dev/da1s2g
/home
ufs rw,userquota,groupquota 1 2
Àíõäàã÷ààð íîîãäëûí àéëóóä àéëûí ñèñòåìèéí root ñàíä õýðýãëýã÷èéí íîîãäëûí õóâüä quota.user, á³ëãèéí íîîãäëûí õóâüä quota.group íýðýýð õàäãàëàãääàã. Äýëãýðýíã³é ìýäýýëëèéã fstab(5)-ñ ³çíý ³³. fstab(5) ãàðûí àâëàãûí õóóäàñ íîîãäëûí àéëóóäûí õóâüä °°ð áàéðëàëûã çààæ °ã÷ áîëîõûã õýëäýã áîëîâ÷ íîîãäëûí ò°ð°ë á³ðèéí õýðýãñë³³ä ³³íòýé ç°â àæèëëàæ ÷àääàãã³é áîëîõîîð èíãýõèéã ç°âë°ä°ãã³é þì. Ýíý ³åä õ³ðýýä òà °°ðèéí ñèñòåìèéã øèíý ö°ìòýé äàõèí à÷ààëàõ õýðýãòýé. /etc/rc íü òàíû /etc/fstab àéëä èäýâõæ³³ëñýí á³õ íîîãäëóóäûí õóâüä ýõíèé íîîãäëûí àéëóóäûã ³³ñãýäýã òîõèðîõ òóøààëóóäûã àâòîìàòààð àæèëëóóëàõ á°ã°°ä èíãýñíýýð ÿìàð ÷ òýã óðòòàé íîîãäëûí àéëóóäûã ãàðààð ³³ñãýõ øààðäëàãàã³é þì.
515
Chapter 18 Õàäãàëàëò
Åðäèéí ³éëäë³³äèéí ³åä quotacheck(8), quotaon(8), ýñâýë quotaoff(8) òóøààëóóäûã òà çààâàë àæèëëóóëàõ ¼ñã³é þì. ýõäýý òýäãýýðèéí õèéäýã ³éëäë³³äòýé òàíèëöàõûí òóëä òýäãýýðèéí ãàðûí àâëàãûí õóóäàñíóóäûã óíøèõûã õ³ñýæ áîëîõ þì. 18.15.2
Íîîãäëûí õÿçãààðëàëòóóäûã òîõèðóóëàõ íü
Òà íîîãäëûã èäýâõæ³³ëæ °°ðèéí ñèñòåìèéã òîõèðóóëñíû äàðàà òýäãýýð íü ÿã æèíõýíýäýý èäýâõòýé áîëñîí ýñýõèéã øàëãààðàé. ³íèéã õèéõ õÿëáàð àðãà íü äàðààõ òóøààëûã àæèëëóóëàõ ÿâäàë þì: # quota -v
Òà íîîãäëóóä èäýâõæ³³ëýãäñýí àéëûí ñèñòåì á³ðèéí õóâüä äèñêíèé õýðýãëýý áîëîí òóõàéí ³åèéí íîîãäëûí õÿçãààðëàëòóóäûí åð°íõèé íýã ì°ð ³ð ä³íã õàðàõ ¼ñòîé. Òà îäîî edquota(8) òóøààë àøèãëàí íîîãäëûí õÿçãààðëàëòóóäûã çààæ °ã÷ ýõëýõýä áýëýí áîëëîî. Õýðýãëýã÷ ýñâýë á³ëãèéí õóâààðèëæ áîëîõ äèñêíèé çàé áîëîí òýä õè÷íýýí àéë ³³ñãýæ áîëîõ õýìæýýíèé õÿçãààðëàëòóóäûã õ³÷ëýí çààæ °ã÷ áîëîõ õýä õýäýí ñîíãîëò òàíä áàéäàã. Òà õóâààðèëàëòûã äèñêíèé çàé (áëîê íîîãäëóóä) ýñâýë àéëûí òîî (inode íîîãäëóóä) ýñâýë õî¼óëàíãèéí õîñëîëîîð õÿçãààðëàí °ã÷ áîëíî. Ýäãýýð õÿçãààðëàëò á³ð äàðàà íü õî¼ð çýðýãëýëò õóâààãääàã: ýíý íü õàòóó áà ç°°ë°í õÿçãààðëàëòóóä þì. Õàòóó õÿçãààðëàëòààñ èë³³ ãàð÷ áîëîõã³é. Õýðýãëýã÷ °°ðèéí õàòóó õÿçãààðëàëòàä õ³ðýõýä àñóóäàëòàé áàéãàà àéëûí ñèñòåì äýýð õýðýãëýã÷ ÿìàð ÷ õóâààðèëàëò õèéæ ÷àäàõã³é áîëíî. Æèøýý íü õýðýâ õýðýãëýã÷ àéëûí ñèñòåì äýýð 500 êáàéò õàòóó õÿçãààðëàëòòàé á°ã°°ä 490 êáàéòûã îäîîãîîð àøèãëàæ áàéãàà áîë õýðýãëýã÷ ç°âõ°í 10 êáàéòûã íýìæ õóâààðèëæ ÷àäíà. 11 êáàéò íýìæ õóâààðèëàõûã îðîëäîõ íü àìæèëòã³é áîëîõ áîëíî. Í°ã°° òàëààñ ç°°ë°í õÿçãààðëàëòóóä íü òîäîðõîé õóãàöààíû òóðøèä èë³³ ãàð÷ áîëíî. Ýíý õóãàöààã ýíýðýíã³é õóãàöàà ãýäýã á°ã°°ä àíõäàã÷ààð íýã äîëîî õîíîã áàéäàã. Õýðýâ õýðýãëýã÷ °°ðèéí ç°°ë°í õÿçãààðëàëòààñ èë³³ ãàðñàí õýâýýð ýíýðýíã³é õóãàöààã °íã°ð°õ þì áîë ç°°ë°í õÿçãààðëàëò íü õàòóó õÿçãààðëàëò áîëæ äàõèí õóâààðèëàëòûã ç°âø°°ðä°ãã³é. Õýðýãëýã÷ ç°°ë°í õÿçãààðëàëòààñ äîîø îðâîë ýíýðýíã³é õóãàöàà äàõèí òàâèãäàõ áîëíî. Äàðààõ íü edquota(8) òóøààëûã àæèëëóóëàõ ³åä òàíû õàðæ áîëîõ ãàðàëòûí æèøýý þì. edquota(8) òóøààëûã àæèëëóóëàõàä EDITOR îð÷íû õóâüñàã÷èä çààãäñàí çàñâàðëàã÷ óðóó ýñâýë EDITOR õóâüñàã÷ çààãäààã³é áîë vi çàñâàðëàã÷ óðóó òàíûã îðóóëàõ á°ã°°ä ýíý íü íîîãäëûí õÿçãààðëàëòóóäûã çàñâàðëàõ áîëîìæèéã òàíä îëãîíî. # edquota -u test
Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60)
Òà íîîãäëóóä èäýâõæ³³ëýãäñýí àéëûí ñèñòåì á³ðèéí õóâüä õî¼ð ì°ðèéã åðäèéí ³åä õàðàõ áîëíî. Íýã ì°ð íü áëîêèéí õÿçãààðëàëòàä, í°ã°° ì°ð íü inode õÿçãààðëàëòàä çîðèóëàãääàã. Íîîãäëûí õÿçãààðëàëòóóäûã °°ð÷ë°õèéí òóëä òà åðä°° ë óòãûã øèíý÷ëýõèéã õ³ñýæ áàéãàà óòãààðàà ñîëèõ õýðýãòýé. Æèøýý íü ýíý õýðýãëýã÷èéí áëîê õÿçãààðëàëòûã ç°°ë°í õÿçãààðëàëò 50, õàòóó õÿçãààðëàëò 75 áàéñíûã ç°°ë°í õÿçãààðëàëò 500 áîëîí õàòóó õÿçãààðëàëò 600 áîëãîí °ñã°õèéí òóëä äàðààõ:
516
Chapter 18 Õàäãàëàëò /usr: kbytes in use: 65, limits (soft = 50, hard = 75)
ì°ðèéã äîîðõ øèã áîëãîæ °°ð÷ë°õ õýðýãòýé: /usr: kbytes in use: 65, limits (soft = 500, hard = 600)
Òàíûã çàñâàðëàã÷ààñ ãàðñíû äàðàà øèíý íîîãäëûí õÿçãààðëàëòóóä áàéðàíäàà îðîõ áîëíî. Çàðèìäàà íîîãäëûí õÿçãààðëàëòóóäûã çàðèì UID-èéí õ³ðýýíèé õóâüä çààæ °ã°õ øààðäëàãà ãàðäàã. ³íèéã edquota(8) òóøààëä -p òîõèðóóëãûã àøèãëàí õèéäýã. Ýõëýýä õýðýãëýã÷èä õ³ññýí íîîãäëûí õÿçãààðëàëòàà çààæ °ã°°ä äàðàà íü edquota -p protouser startuid-enduid òóøààëûã àæèëëóóëíà. Æèøýý íü õýðýâ õýðýãëýã÷ test õ³ññýí íîîãäëûí õÿçãààðëàëòòàé áàéãàà áîë ýíý íîîãäëûí õÿçãààðëàëòûã 10,000-ñ 19,999 õ³ðòýëõ UID-óóäàä õóâèëæ õàìààðóóëàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # edquota -p test 10000-19999
Äýëãýðýíã³é ìýäýýëëèéã edquota(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. 18.15.3
Íîîãäëûí õÿçãààðëàëòóóä áîëîí äèñêíèé õýðýãëýýã øàëãàõ íü
Íîîãäëûí õÿçãààðëàëòóóä áîëîí äèñêíèé õýðýãëýýã øàëãàõûí òóëä òà quota(1) ýñâýë repquota(8) òóøààëûí íýãèéã àøèãëàæ áîëíî. quota(1) òóøààëûã õýðýãëýã÷ ýñâýë á³ëãèéí íîîãäëóóä áîëîí äèñêíèé çàéã øàëãàõàä õýðýãëýæ áîëíî. Õýðýãëýã÷ íü ç°âõ°í °°ðèéí íîîãäîë áîëîí °°ðèéí ãèø³³í á³ëãèéí íîîãäëûã øàëãàæ ÷àäíà. Ç°âõ°í ñóïåð õýðýãëýã÷ á³õ õýðýãëýã÷ áîëîí á³ëãèéí íîîãäëóóäûã õàðæ áîëíî. repquota(8) òóøààëûã íîîãäëóóä èäýâõæ³³ëýãäñýí àéëûí ñèñòåì³³äèéí õóâüä á³õ íîîãäëóóä áîëîí äèñêíèé õýðýãëýýíèé åð°íõèé ä³íã àâàõàä õýðýãëýæ áîëíî. Äàðààõ íü õî¼ð àéëûí ñèñòåì äýýð íîîãäëûí õÿçãààðëàëòòàé õýðýãëýã÷èéí õóâüä quota -v òóøààëûí æèøýý ãàðàëò þì. Disk quotas for user test (uid 1002): Filesystem usage quota limit /usr 65* 50 75 /usr/var 0 50 75
grace 5days
files 7 0
quota 50 50
limit 60 60
grace
Äýýðõ æèøýýíèé /usr àéëûí ñèñòåì äýýð õýðýãëýã÷ 50 êáàéòûí ç°°ë°í õÿçãààðëàëòûã 15 êáàéòààð è볳䳳ëñýí áàéãàà á°ã°°ä 5 õîíîãèéí ýíýðýíã³é õóãàöàà ³ëäñýí áàéíà. Îä * òýìäýãò íü õýðýãëýã÷ °°ðèéí íîîãäëûí õÿçãààðëàëòààñ èë³³ ãàðñíûã õàðóóëæ áàéíà. Åðäèéí ³åä õýðýãëýã÷ ÿìàð ÷ äèñêíèé çàé àøèãëààã³é áàéãàà òèéì àéëûí ñèñòåì³³ä, àéëûí ñèñòåìèéí õóâüä íîîãäëûí õÿçãààðëàëò áàéñàí ÷ ãýñýí quota(1) òóøààëûí ãàðàëòàä õàðàãääàãã³é áàéíà. -v òîõèðóóëãà íü òýäãýýð àéëûí ñèñòåì³³äèéã õàðóóëàõ á°ã°°ä äýýðõ æèøýýí äýýð /usr/var àéëûí ñèñòåìèéã õàðóóëæ áàéíà. 18.15.4 NFS
äýýã³³ðõ íîîãäëóóä
Íîîãäëóóä íü NFS ñåðâåð äýýð íîîãäëûí äýä ñèñòåìýýð õÿíàãääàã. rpc.rquotad(8) äåìîí íü NFS êëèåíò³³ä äýýð °°ðñäèéí íîîãäëûí ñòàòèñòèêóóäûã õýðýãëýã÷äýä ³çýõ áîëîìæèéã îëãîæ íîîãäëûí ìýäýýëëèéã òýäãýýð ìàøèíóóä äýýð quota(1) òóøààëä áýëýí áîëãîæ °ãä°ã.
517
Chapter 18 Õàäãàëàëò
ã
rpc.rquotad- /etc/inetd.conf rquotad/1
àéëä èíãýæ èäýâõæ³³ëíý:
dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Îäîî inetd-ã äàõèí à÷ààë: # /etc/rc.d/inetd restart
18.16
Äèñêíèé õóâààëòóóäûã øèðëýõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ëàêè ðèéí. FreeBSD íü °ã°ãä°ëä ç°âø°°ð°ãä°°ã³é õàíäàõ õàíäàëòûí ýñðýã ìàø ñàéí øóóä õàìãààëàëòóóäûã ñàíàë áîëãîäîã. Ôàéëûí ç°âø°°ðë³³ä áîëîí Mandatory Access Control (MAC) áóþó Àëáàäìàë Õàíäàëò Õÿíàëò (Chapter 16-ã ³çíý ³³) íü êîìïüþòåð àññàí, ³éëäëèéí ñèñòåì èäýâõòýé áàéõ ³åä ç°âø°°ð°ëã³é ãóðàâäàã÷ í°õä³³äèéã °ã°ãä°ëä õàíäàõààñ õàìãààëàõàä òóñàëäàã. ýõäýý õýðýâ õàëäàã÷ êîìïüþòåðò èçèê õàíäàëò îëæ àâàí êîìïüþòåðèéí õàòóó õ°ò÷èéã °°ð ñèñòåì óðóó ç°°í ýìçýã °ã°ãäëèéã õóóëæ øèíæèëãýý õèéæ ÷àäàõ áîë ³éëäëèéí ñèñòåìèéí ì°ðä³³ëäýã ç°âø°°ðë³³ä íü õàìààðàëã³é áîëîõ þì. Õàëäàã÷ õýðõýí õàòóó äèñê ýñâýë óíòðààñàí êîìïüþòåðèéã ýçýìøñýíýýñ ³ë õàìààð÷ FreeBSD äýýðõ GEOM Based Disk Encryption (gbde) áóþó GEOM äýýð òóëãóóðëàñàí äèñêíèé øèðëýëò áîëîí geli êðèïòîãðà äýä ñèñòåì³³ä íü êîìïüþòåðèéí àéëûí ñèñòåì³³ä äýýðõ °ã°ãäëèéã á³ð ÷óõàë ýõ ³³ñâýð³³ä á³õèé, çîðèëãîäîî õ³ðýõýýð èõýýõýí ÷àðìàéñàí õàëäàã÷äààñ õàìãààëæ ÷àäàõ þì. Ç°âõ°í òóõàéí àéë á³ðèéã øèðëýäýã ÿðâèãòàé øèðëýëòèéí àðãóóäààñ ÿëãààòàé íü gbde áîëîí geli íü á³õ àéëûí ñèñòåì³³äèéã õàðàãäàæ ìýäýãäýõã³éãýýð øèðëýäýã. Õàòóó äèñêíèé õàâòãàéä öýâýð òåêñò õýçýý ÷ áè÷èãääýãã³é.
ýýð äèñê øèðëýõ
18.16.1 gbde1.
áîëíî gbde-ã òîõèðóóëàõàä ñóïåð õýðýãëýã÷èéí ýðõ³³äèéã øààðääàã. root
% su -
Password:
2.
Ö°ìèéí òîõèðãîîíû àéëäàà gbde(4) äýìæëýãèéã íýìíý Äàðààõ ì°ðèéã ö°ìèéí òîõèðãîîíû àéëäàà íýìíý: options GEOM_BDE
3.
Ö°ì°° Chapter 8-ä òàéëáàðëàñíû äàãóó äàõèí á³òýýíý. Øèíý ö°ì óðóóãàà äàõèí à÷ààëíà. Ö°ìèéã äàõèí á³òýýõýýñ °°ð íýã àðãà íü kldload àøèãëàæ gbde(4)-ã à÷ààëàõ ÿâäàë þì: # kldload geom_bde
518
Chapter 18 Õàäãàëàëò 18.16.1.1 Øèðëýãäñýí õàòóó õ°ò÷³³äèéã áýëäýõ íü
Äàðààõ æèøýý íü òàíûã °°ðèéí ñèñòåì óðóó øèíý õàòóó õ°ò°÷ íýìæ ãàíö øèðëýãäñýí õóâààëòûã àãóóëíà ãýæ òîîöäîã. Ýíý õóâààëò íü /private ãýæ õîëáîãäîõ áîëíî. gbde íü /home áîëîí /var/mail-ã áàñ øèðëýõýä àøèãëàãääàã áîëîâ÷ ýíý íü ýíý òàíèëöóóëãûí õ³ðýýíýýñ õàëüæ èë³³ ò°â°ãòýé çààâðóóäûã øààðääàã. 1.
Øèíý õàòóó õ°ò÷èéã íýìíý Øèíý õ°ò÷èéã ñèñòåì óðóó Section 18.3-ä òàéëáàðëàñíû äàãóó íýìíý. Ýíý æèøýýí äýýð øèíý õàòóó õ°ò÷èéí õóâààëò /dev/ad4s1c ãýæ íýìýãäñýí áàéãàà. /dev/ad0s1* ò°õ°°ð°ìæ³³ä íü æèøýý ñèñòåì äýýð áàéãàà ñòàíäàðò FreeBSD õóâààëòóóäûã õàðóóëæ áàéíà. # ls /dev/ad*
/dev/ad0 /dev/ad0s1 /dev/ad0s1a
2.
/dev/ad0s1b /dev/ad0s1c /dev/ad0s1d
/dev/ad0s1e /dev/ad0s1f /dev/ad4
/dev/ad4s1 /dev/ad4s1c
gbde öîîæ àéëóóäûã àãóóëàõ ñàíã ³³ñãýíý # mkdir /etc/gbde
gbde öîîæ àéë íü øèðëýãäñýí õóâààëòóóäàä õàíäàõàä gbde-ä øààðäàãäàõ ìýäýýëëèéã àãóóëäàã. Öîîæ àéëä õàíäàõ áîëîìæã³é áîë gbde íü øèðëýãäñýí õóâààëòûí àãóóëñàí °ã°ãäëèéã õ°íäë°íãèéí èõ õ³÷ øààðäñàí îðîëöîîã³éãýýð áóöààæ òàéëæ ÷àäàõã³é þì. ³íèéã ïðîãðàì õàíãàìæ äýìæäýãã³é. Øèðëýãäñýí õóâààëò á³ð òóñäàà öîîæ àéë àøèãëàäàã. 3.
gbde õóâààëòûã ýõë³³ëíý
gbde õóâààëò àøèãëàãäàæ ýõëýõýýñýý °ìí° ýõýëæ òîõèðóóëàãäñàí áàéõ øààðäëàãàòàé. Ýíý ýõíèé òîõèðóóëãà íü ç°âõ°í íýã óäàà õèéãäýõ ¼ñòîé: # gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock
gbde(8) íü çàãâàðò ò°ð°ë á³ðèéí òîõèðãîîíû ñîíãîëòóóäûã çààæ °ã°õ áîëîìæèéã òàíä °ã÷ òàíû çàñâàðëàã÷èéã îíãîéëãîõ áîëíî. UFS1 ýñâýë UFS2-òîé àøèãëàõûí òóëä sector_size-ã 2048 ãýæ çààíà: $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...]
gbde(8) íü °ã°ãäëèéã àþóëã³é áîëãîõîä õýðýãëýãäýõ ¼ñòîé íýâòðýõ ³ãèéã õî¼ð óäàà áè÷èõèéã òàíààñ õ³ñíý. Íýâòðýõ ³ã íü õî¼óëàíä íü àäèë áàéõ ¼ñòîé. gbde-èéí òàíû °ã°ãäëèéã õàìãààëàõ ÷àäâàð òàíû ñîíãîñîí íýâòðýõ ³ãèéí ÷àíàðààñ á³õýëäýý õàìààðíà. 1
òóøààë íü òàíû gbde õóâààëòàä çîðèóëæ öîîæ àéëûã ³³ñãýõ á°ã°°ä ýíý æèøýýí äýýð ãýæ õàäãàëàãäñàí áàéíà. gbde öîîæ àéëóóä íü /etc/rc.d/gbde ýõë³³ëýõ ñêðèïòýýð ç°â òàíèãäàõûí òóëä “.lock” ãýæ ò°ãñ°õ ¼ñòîé. gbde init /etc/gbde/ad4s1c.lock
Caution: gbde öîîæ àéëóóä íü øèðëýãäñýí õóâààëòóóäûí àãóóëãàòàé öóã í°°öë°ãä°õ ¼ñòîé . Ç°âõ°í öîîæ àéëûã óñòãàõ íü øèéäñýí õàëäàã÷ gbde õóâààëòûã áóöààæ òàéëàõààñ õàìãààëæ ÷àääàãã³é á°ã°°ä
519
Chapter 18 Õàäãàëàëò
öîîæ àéëã³éãýýð õóóëü ¼ñíû ýçýìøèã÷ íü øèðëýãäñýí õóâààëò äýýðõ °ã°ãä°ëä gbde(8) áîëîí ò³³íèéã çîõèîã÷èéí åð°°ñ°° äýìæäýãã³é, èõ õ³÷ øààðäñàí àæèëëàãààã³éãýýð õàíäàæ ÷àäàõã³é áîëîõ þì. 4.
Øèðëýãäñýí õóâààëòûã ö°ìä çàëãàíà # gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
Øèðëýãäñýí õóâààëòûã ýõýëæ òîõèðóóëæ áàéõ ³åä òàíû ñîíãîñîí íýâòðýõ ³ãèéã îðóóëàõûã òàíààñ àñóóõ áîëíî. Øèíý øèðëýãäñýí ò°õ°°ð°ìæ /dev äîòîð /dev/device_name.bde ãýæ ãàð÷ èðíý: # ls /dev/ad*
/dev/ad0 /dev/ad0s1 /dev/ad0s1a
5.
/dev/ad0s1b /dev/ad0s1c /dev/ad0s1d
/dev/ad0s1e /dev/ad0s1f /dev/ad4
/dev/ad4s1 /dev/ad4s1c /dev/ad4s1c.bde
Øèðëýãäñýí ò°õ°°ð°ìæ äýýð àéëûí ñèñòåì ³³ñãýíý Øèðëýãäñýí ò°õ°°ð°ìæ ö°ìä çàëãàãäñàíû äàðàà òà ýíý ò°õ°°ð°ìæ äýýð àéëûí ñèñòåì ³³ñãýæ áîëíî. Øèðëýãäñýí ò°õ°°ð°ìæ äýýð àéëûí ñèñòåì ³³ñãýõèéí òóëä newfs(8)-ã àøèãëàíà. Õóó÷èí UFS1 àéëûí ñèñòåìèéã ýõë³³ëñíýýñ øèíý UFS2 àéëûí ñèñòåìèéã ýõë³³ëýõ íü õàìààã³é õóðäàí ó÷ðààñ newfs(8)-ã -O2 òîõèðóóëãàòàé õýðýãëýõèéã ç°âë°ä°ã. # newfs -U -O2 /dev/ad4s1c.bde
Note: newfs(8) òóøààë íü ò°õ°°ð°ìæèéí íýðýíäýý *.bde ãýæ °ðã°òã°ë°°ð òàíèãäàõ çàëãàãäñàí gbde õóâààëò äýýð õèéãäýõ ¼ñòîé.
6.
Øèðëýãäñýí õóâààëòûã õîëáîíî Øèðëýãäñýí àéëûí ñèñòåìä çîðèóëæ õîëáîõ öýãèéã ³³ñãýíý. # mkdir /private
Øèðëýãäñýí àéëûí ñèñòåìèéã õîëáîíî. # mount /dev/ad4s1c.bde /private
7.
Øèðëýãäñýí àéëûí ñèñòåì áàéãàà ýñýõèéã øàëãàíà Øèðëýãäñýí àéëûí ñèñòåì îäîî df(1)-ä õàðàãäàæ àøèãëàõàä áýëýí áîëîõ ¼ñòîé. % df -H
Filesystem /dev/ad0s1a /devfs /dev/ad0s1f /dev/ad0s1e /dev/ad0s1d /dev/ad4s1c.bde
Size 1037M 1.0K 8.1G 1037M 6.1G 150G
Used 72M 1.0K 55K 1.1M 1.9G 4.1K
Avail Capacity 883M 8% 0B 100% 7.5G 0% 953M 0% 3.7G 35% 138G 0%
Mounted on / /dev /home /tmp /usr /private
520
Chapter 18 Õàäãàëàëò 18.16.1.2 Áàéãàà øèðëýãäñýí àéëûí ñèñòåì³³äèéã õîëáîõ íü
À÷ààëàëò á³ðèéí äàðàà ÿìàð ÷ øèðëýãäñýí àéëûí ñèñòåì³³äèéã àøèãëàæ ýõëýõýýñýý °ìí° ö°ìä äàõèí çàëãàæ, àëäààã íü øàëãàæ õîëáîæ áîëíî. Øààðäëàãàòàé òóøààëóóäûã root õýðýãëýã÷ àæèëëóóëàõ ¼ñòîé ãýæ ³çäýã. 1.
gbde õóâààëòûã ö°ìä çàëãàíà # gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock
2.
Øèðëýãäñýí gbde õóâààëòûã ýõýëæ òîõèðóóëæ áàéõ ³åä òàíû ñîíãîñîí íýâòðýõ ³ãèéã îðóóëàõûã òàíààñ àñóóõ áîëíî. Ôàéëûí ñèñòåì äýýð àëäààã øàëãàíà Øèðëýãäñýí àéëûí ñèñòåì³³ä íü àâòîìàòààð õîëáîãäîõûí òóëä /etc/fstab àéëä îäîîõîíäîî æàãñààãäàõ áîëîìæã³é ó÷èð àéëûí ñèñòåì³³ä äýýð àëäàà áàéãàà ýñýõèéã øàëãàæ òýäãýýðèéã õîëáîõîîñ °ìí° fsck(8)-ã ãàðààð àæèëëóóëàõ ¼ñòîé. # fsck -p -t ffs /dev/ad4s1c.bde
3.
Øèðëýãäñýí àéëûí ñèñòåìèéã õîëáîíî # mount /dev/ad4s1c.bde /private
Øèðëýãäñýí àéëûí ñèñòåì îäîî àøèãëàõàä áýëýí áîëëîî. 18.16.1.2.1 Øèðëýãäñýí õóâààëòóóäûã àâòîìàòààð õîëáîõ íü
Øèðëýãäñýí õóâààëòûã àâòîìàòààð çàëãàí øàëãàæ õîëáîõ ñêðèïòèéã ³³ñãýæ áîëîõ áîëîâ÷ àþóëã³é áàéäëûí øàëòãààíààñ áîëîîä ñêðèïò íü gbde(8) íóóö ³ãèéã àãóóëñàí áàéõ ¼ñã³é. Õàðèí ýäãýýð ñêðèïò³³äèéã ãàðààð àæèëëóóëæ íóóö ³ãèéã êîíñîë ýñâýë ssh(1)-ýýð îðóóëàõûã ç°âë°ä°ã. °ð íýã àðãà íü rc.d ñêðèïò áàéäàã. Ýíý ñêðèïòèéí íýìýëò °ã°ãäë³³äèéã rc.conf(5)-îîð äàìæóóëæ áîëíî, æèøýý íü: gbde_autoattach_all="YES" gbde_devices="ad4s1c" gbde_lockdir="/etc/gbde"
Ýíý íü gbde íýâòðýõ ³ãèéã à÷ààëàõ ³åä îðóóëàõûã øààðääàã. Ç°â íýâòðýõ ³ãèéã áè÷ñýíèé äàðàà gbde øèðëýãäñýí õóâààëò àâòîìàòààð õîëáîãäîõ áîëíî. Ýíý íü gbde-ã ç°°âðèéí êîìïüþòåð äýýð õýðýãëýæ áàéãàà ³åä èõ àøèãòàé áàéäàã. 18.16.1.3 gbde-èéí àæèëëóóëäàã êðèïòîãðà õàìãààëàëòóóä
gbde(8) íü 128-bit AES-èéã CBC ãîðèìä àøèãëàí ñåêòîð à÷ààã øèðëýäýã. Äèñê äýýðõ ñåêòîð á³ð °°ð °°ð AES ò³ëõ³³ðýýð øèðëýãääýã. Ñåêòîðûí ò³ëõ³³ð³³ä õýðýãëýã÷èéí îðóóëñàí íýâòðýõ ³ãýýñ õýðõýí ãàðãàãääàã çýðýã gbde-èéí êðèïòîãðà äèçàéíû òàëààð äýëãýðýíã³éã gbde(4)-ýýñ ³çíý ³³.
521
Chapter 18 Õàäãàëàëò 18.16.1.4 Íèéöòýé áàéäëûí àñóóäëóóä
sysinstall(8) íü gbde-øèðëýãäñýí ò°õ°°ð°ìæ³³äòýé íèéöã³é áàéäàã. Á³õ *.bde ò°õ°°ð°ìæ³³äèéã sysinstall(8) ýõë³³ëýõýýñ °ìí° ö°ì°°ñ ñàëãàñàí áàéõ ¼ñòîé á°ã°°ä èíãýõã³é áîë ýíý íü ò°õ°°ð°ìæ³³äèéã øàëãàæ ýõëýõäýý ñ³éðýõ áîëíî. Áèäíèé æèøýýí äýýð àøèãëàãäñàí øèðëýãäñýí ò°õ°°ð°ìæèéã ñàëãàõäàà äàðààõ òóøààëûã àøèãëàíà: # gbde detach /dev/ad4s1c
Ì°í vinum(4) íü geom(4) äýä ñèñòåìèéã àøèãëàäàãã³éã àíõààðààðàé, òà gbde-ã vinum ýçëýõ³³í³³äòýé àøèãëàæ áîëîõã³é.
ýýð äèñê øèðëýõ íü
18.16.2 geli-
Õóâü íýìýð áîëãîí îðóóëñàí Äàíèýë ýðçî. Øèíý êðèïòîãðà GEOM àíãèëàë FreeBSD 6.0-ñ ýõëýí geli ãýæ îðæ èðæýý. ³íèéã îäîîãîîð Pawel Jakub Dawidek õ°ãæ³³ëæ áàéãàà áîëíî. geli íü gbde-ýýñ °°ð á°ã°°ä ýíý íü °°ð áîëîìæóóäûã ñàíàë áîëãîæ êðèïòîãðà ³éëäýëäýý °°ð ñõåìèéã àøèãëàäàã. geli(8)-èéí õàìãèéí ÷óõàë áîëîìæóóä áîë: •
• •
•
crypto(9) òîãòîëöîîã àøèãëàäàã — êðèïòîãðà òîíîã ò°õ°°ð°ìæ áýëýí áîëîõîä geli ò³³íèéã àâòîìàòààð àøèãëàäàã.
Îëîí êðèïòîãðà àëãîðèòìóóäûã äýìæäýã (îäîîãîîð AES, Blowfish, áîëîí 3DES). root õóâààëòûã øèðëýõ áîëîìæèéã îëãîäîã. Øèðëýãäñýí root õóâààëòàä õàíäàõàä õýðýãëýãääýã íýâòðýõ ³ãèéã ñèñòåì à÷ààëàõàä àñóóäàã. Áèå áèåýíäýý õàìààðàëã³é õî¼ð ò³ëõ³³ð³³äèéã àøèãëàõûã ç°âø°°ðä°ã (°°ð°°ð õýëáýë “key” áîëîí “company key”).
íü õóðäàí áàéäàã. Ýíãèéí ñåêòîðîîñ ñåêòîð óðóó øèðëýëòèéã õèéäýã. • Ìàñòåð ò³ëõ³³ð³³äèéã í°°öë°õ áà ñýðãýýõèéã ç°âø°°ðä°ã. Õýðýãëýã÷ °°ðèéí ò³ëõ³³ð³³äèéã óñòãàõ õýðýãòýé áîëîõîä í°°ö°°ñ ò³ëõ³³ð³³äèéã ñýðãýýæ °ã°ãä°ëä äàõèí õàíäàõ áîëîìæòîé áîëîõ þì. • Äèñêèéã ñàíàìñàðã³é, íýã óäààãèéí ò³ëõ³³ðýýð çàëãàõûã ç°âø°°ðä°ã — ýíý íü swap õóâààëòóóä áîëîí ò³ð çóóðûí àéëûí ñèñòåì³³äýä àøèãòàé áàéäàã. geli-èéí èë³³ áîëîìæóóäûã geli(8)-èéí ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. Äàðààãèéí àëõìóóä íü geli-èéí äýìæëýãèéã FreeBSD ö°ìä õýðõýí èäýâõæ³³ëýõèéã òàéëáàðëàõ á°ã°°ä øèíý geli øèðëýëò ³ç³³ëýã÷èéã õýðõýí ³³ñãýõ áîëîí àøèãëàõ òàëààð °ã³³ëýõ áîëíî. geli-ã àøèãëàõûí òóëä òà FreeBSD 6.0-RELEASE áîëîí ò³³íýýñ äýýøõè õóâèëáàðûã õýðýãëýæ áàéõ ¼ñòîé. Ö°ìä °°ð÷ë°ëò³³ä øààðäëàãàòàé ó÷ðààñ ñóïåð õýðýãëýã÷èéí ýðõ³³ä õýðýãòýé áîëíî. • geli
1.
Ö°ìä geli äýìæëýãèéã íýìýõ íü Äàðààõ ì°ðèéã ö°ìèéí òîõèðãîîíû àéëä íýìíý: options GEOM_ELI device crypto
522
Chapter 18 Õàäãàëàëò
Ö°ì°° Chapter 8-ä òàéëáàðëàñíû äàãóó äàõèí á³òýýíý. Ì°í geli ìîäóëèéã à÷ààëàõ ³åä äóóäàæ áîëíî. Äàðààõ ì°ðèéã /boot/loader.conf àéëä íýìíý: geom_eli_load="YES"
geli(8) íü îäîî ö°ìä äýìæèãäñýí áàéõ ¼ñòîé.
2.
Ìàñòåð ò³ëõ³³ð ³³ñãýõ íü Äàðààõ æèøýý íü ò³ëõ³³ð àéëûã õýðõýí ³³ñãýõ òàëààð òàéëáàðëàõ á°ã°°ä ýíý íü /private äîîð õîëáîãäñîí øèðëýãäñýí ³ç³³ëýã÷èéí Ìàñòåð ò³ëõ³³ðèéí õýñýã áîëîí àøèãëàãäàõ áîëíî. Ò³ëõ³³ð àéë íü Ìàñòåð ò³ëõ³³ðèéã øèðëýõýä õýðýãëýãäýõ çàðèì ñàíàìñàðã³é °ã°ãäëèéã °ã°õ áîëíî. Ìàñòåð ò³ëõ³³ð íü íýâòðýõ ³ãýýð áàñ õàìãààëàãäàõ áîëíî. ç³³ëýã÷èéí ñåêòîðûí õýìæýý 4kB òîì áàéõ áîëíî. Ì°í ýíý õýëýëö³³ëýã íü geli ³ç³³ëýã÷èéã õýðõýí çàëãàæ ò³³í äýýð àéëûí ñèñòåì ³³ñãýõ, õýðõýí ò³³íèéã õîëáîæ àæèëëàõ áîëîí ò°ãñã°ëä íü õýðõýí ñàëãàõ òàëààð òàéëáàðëàõ áîëíî. Èë³³ ñàéí àæèëëàãààã õàíãàõûí òóëä ñåêòîðûí òîì õýìæýýã (4kB ÷ þì óó) àøèãëàõûã ç°âë°ä°ã. Ìàñòåð ò³ëõ³³ð íü íýâòðýõ ³ãýýð õàìãààëàãäàõ á°ã°°ä ò³ëõ³³ð àéëä çîðèóëàãäñàí °ã°ãäëèéí ýõ íü /dev/random áàéõ áîëíî. Áèäíèé ³ç³³ëýã÷ ãýæ íýðëýäýã /dev/da2.eli-èéí ñåêòîðûí õýìæýý 4kB áàéõ áîëíî. # dd if=/dev/random of=/root/da2.key bs=64 count=1 # geli init -s 4096 -K /root/da2.key /dev/da2
Enter new passphrase: Reenter new passphrase:
Íýâòðýõ ³ã áîëîí ò³ëõ³³ð àéëûã õî¼óëàíã íü çààâàë àøèãëàõ øààðäëàãàã³é; Ìàñòåð ò³ëõ³³ðèéã íóóöëàõ àëü ÷ àðãûã òóñàä íü àøèãëàæ áîëíî. Õýðýâ ò³ëõ³³ð àéë “-” ãýæ °ã°ãäñ°í áîë ñòàíäàðò îðîëòûã àøèãëàíà. Ýíý æèøýý íü íýãýýñ îëîí ò³ëõ³³ð àéëûã õýðõýí àøèãëàæ áîëîõ òàëààð õàðóóëæ áàéíà. # cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2
3.
ç³³ëýã÷èéã ³³ñãýñýí ò³ëõ³³ðèéí òóñëàìæòàé çàëãàõ íü # geli attach -k /root/da2.key /dev/da2
Enter passphrase:
Øèíý öýâýð òåêñò ò°õ°°ð°ìæ /dev/da2.eli ãýæ íýðëýãäýõ áîëíî. # ls /dev/da2*
/dev/da2
4.
/dev/da2.eli
Øèíý àéëûí ñèñòåìèéã ³³ñãýõ íü # dd if=/dev/random of=/dev/da2.eli bs=1m # newfs /dev/da2.eli # mount /dev/da2.eli /private
Øèðëýãäñýí àéëûí ñèñòåì df(1)-ä õàðàãäàæ àøèãëàõàä áýëýí áîëîõ ¼ñòîé: # df -H
Filesystem /dev/ad0s1a /devfs /dev/ad0s1f /dev/ad0s1d /dev/ad0s1e /dev/da2.eli
Size 248M 1.0K 7.7G 989M 3.9G 150G
Used 89M 1.0K 2.3G 1.5M 1.3G 4.1K
Avail Capacity 139M 38% 0B 100% 4.9G 32% 909M 0% 2.3G 35% 138G 0%
Mounted on / /dev /usr /tmp /var /private
523
Chapter 18 Õàäãàëàëò 5.
ç³³ëýã÷èéã õîëáîñíûã ñàëãàæ çàëãàñíûã áîëèóëàõ Øèðëýãäñýí õóâààëò äýýðõ àæèë õèéãäýæ äóóñààä /private õóâààëò õýðýãã³é áîëîõ ³åä geli øèðëýãäñýí õóâààëòûã õîëáîñíîî ñàëãàí ö°ìä çàëãàñíàà áàñ ñàëãàõ íü ç³éòýé þì. # umount /private # geli detach da2.eli
geli(8)-èéã õýðýãëýõ òóõàé äýëãýðýíã³é ìýäýýëëèéã ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. 18.16.2.1 geli rc.d ñêðèïòèéã àøèãëàõ íü
íü geli-èéí õýðýãëýýã õÿëáàðøóóëàõàä àøèãëàæ áîëîõ rc.d ñêðèïòòýé öóã èðäýã. geli-ã rc.conf(5)-îîð òîõèðóóëàõ æèøýýã äàðààõààñ õàðæ áîëíî: geli
geli_devices="da2" geli_da2_flags="-p -k /root/da2.key"
Ýíý íü /dev/da2-ã Ìàñòåð ò³ëõ³³ð àéë íü /root/da2.key-ä áàéðëàõ geli ³ç³³ëýã÷ ãýæ òîõèðóóëàõ á°ã°°ä ³ç³³ëýã÷èéã çàëãàæ áàéõäàà geli íü íýâòðýõ ³ãèéã àøèãëàõã³é (õýðýâ -P ñîíãîëò geli init õèéãäýõ ³åä °ã°ãäñ°í òîõèîëäîëä ýíý íü àøèãëàãäàõ áîëîìæòîé). Ñèñòåì íü geli ³ç³³ëýã÷èéã ö°ì°°ñ ñèñòåì óíòðàõààñ °ìí° ñàëãàõ áîëíî. rc.d-ã òîõèðóóëàõ òàëààð äýëãýðýíã³é ìýäýýëýë ýíýõ³³ ãàðûí àâëàãûí rc.d õýñýãò áàéãàà áîëíî.
18.17 Swap
çàéã øèðëýõ
Áè÷ñýí Êðèñ÷àí Áðþýð. FreeBSD äýýðõ swap-èéí øèðëýëò íü òîõèðóóëàõàä àìàðõàí áàéäàã á°ã°°ä FreeBSD 5.3-RELEASE-ñ ýõëýýä èéì áîëîìæòîé áîëñîí þì. FreeBSD-èéí àëü õóâèëáàðûã àøèãëàæ áàéãààãààñ õàìààðààä °°ð °°ð òîõèðóóëãóóä áàéäàã á°ã°°ä òîõèðãîî íü íýëýýí °°ð °°ð áàéäàã. FreeBSD 6.0-RELEASE-ñ ýõëýýä gbde(8) ýñâýë geli(8) øèðëýõ ñèñòåì³³äèéã swap-èéã øèðëýõýä àøèãëàæ áîëíî. ìí°õ õóâèëáàðóóäàä ç°âõ°í gbde(8) áàéäàã. Ýíý õî¼ð ñèñòåì íü õî¼óëàà encswap rc.d ñêðèïòèéã àøèãëàäàã. ìí°õ Äèñêíèé õóâààëòóóäûã øèðëýõ õýñýã íü °°ð °°ð øèðëýõ ñèñòåì³³äèéí òóõàé áîãèíî õýëýëö³³ëãèéã àãóóëäàã. 18.17.1 Swap
ÿàãààä øèðëýãäýõ ¼ñòîé âý?
Äèñêíèé õóâààëòóóäûí øèðëýëòèéí íýãýí àäèë swap çàéí øèðëýëò íü ýìçýã ìýäýýëëèéã õàìãààëàõûí òóëä õèéãääýã. Íóóö ³ãñòýé àæèëëàäàã ïðîãðàì áàéëàà ãýæ áîäú¼. Ýäãýýð íóóö ³ãñ íü èçèê ñàíàõ îéä áàéãàà ³åä á³ãä ç³ãýýð áàéíà. ýõäýý õýðýâ ³éëäëèéí ñèñòåì íü áóñàä ïðîãðàìóóäàä çîðèóëæ çàéã ÷°ë°°ë°õèéí òóëä ñàíàõ îéí õóóäàñíóóäûã swap õèéæ ýõýëáýë íóóö ³ãñ íü äèñêíèé õàâòãàé äýýð øèðëýãäýëã³é áè÷èãäýæ áîëîõ á°ã°°ä ýíý íü °ðñ°ëä°ã÷èéí õóâüä îëæ àâàõàä àìàðõàí áîëîõ þì. Swap çàéã øèðëýõ íü ýíý òîõèîëäîëä øèéäýë áîëæ áîëîõ þì.
524
Chapter 18 Õàäãàëàëò
18.17.2
Áýëòãýë
Note: Ýíý õýñãèéí ³ëäñýí õýñýãò ad0s1b
íü swap õóâààëò áàéõ áîëíî.
Ýíý õ³ðòýë swap íü øèðëýãäýýã³é áàéãàà áèëýý. Àëü õýäèéí íóóö ³ãñ ýñâýë áóñàä ýìçýã °ã°ãä°ë äèñêíèé õàâòãàéíóóä äýýð öýâýð òåêñòýýð áàéæ áîëçîøã³é þì. ³íèéã çàñâàðëàõûí òóëä swap õóâààëò äýýðõ °ã°ãäëèéã ñàíàìñàðã³é õàÿãäëààð äàðæ áè÷èõ õýðýãòýé: # dd if=/dev/random of=/dev/ad0s1b bs=1m
18.17.3 gbde(8)
àøèãëàí swap øèðëýëò õèéõ
Õýðýâ FreeBSD 6.0-RELEASE áîëîí ò³³íýýñ øèíý õóâèëáàð àøèãëàãäàæ áàéãàà áîë .bde äàãàâàðûã /etc/fstab-èéí òîõèðîõ swap ì°ð äýõ ò°õ°°ð°ìæèä íýìýõ øààðäëàãàòàé: # Device /dev/ad0s1b.bde
Mountpoint none
FStype swap
Options sw
Dump 0
Pass# 0
FreeBSD 6.0-RELEASE õóâèëáàðààñ °ìí°õ ñèñòåì³³äýä äàðààõ ì°ð íü /etc/rc.conf àéëä áàñ
õýðýãòýé:
gbde_swap_enable="YES"
18.17.4 geli(8)
àøèãëàí swap øèðëýëò õèéõ
°ð°°ð, swap øèðëýëòýä çîðèóëæ geli(8)-ã àøèãëàõ ïðîöåäóð íü gbde(8) àøèãëàõòàé ò°ñòýé. .eli äàãàâàðûã /etc/fstab-èéí òîõèðîõ swap ì°ð äýõ ò°õ°°ð°ìæèä íýìýõ øààðäëàãàòàé: # Device /dev/ad0s1b.eli
Mountpoint none
FStype swap
Options sw
Dump 0
Pass# 0
geli(8) íü AES àëãîðèòìèéã àíõäàã÷ààð 256 áèòèéí óðòòàé ò³ëõ³³ðòýé àøèãëàäàã.
Ì°í ýäãýýð àíõäàã÷óóäûã /etc/rc.conf àéëä geli_swap_flags òîõèðóóëãûã àøèãëàí °°ð÷èëæ áîëíî. Äàðààõ ì°ð íü encswap rc.d ñêðèïòèéã “detach on last close” òîõèðóóëãûã çààæ 4 êèëîáàéòûí ñåêòîðûí õýìæýýòýé, 128 áèò ò³ëõ³³ðèéí óðòòàéãààð Blowfish àëãîðèòì àøèãëàí geli(8) swap õóâààëò ³³ñãý ãýæ õýëæ áàéíà: geli_swap_flags="-e blowfish -l 128 -s 4096 -d"
FreeBSD 6.2-RELEASE õóâèëáàðààñ °ìí°õ ñèñòåì³³ä äýýð äîîð äóðäñàí ì°ðèéã àøèãëàíà: geli_swap_flags="-a blowfish -l 128 -s 4096 -d"
geli(8) ãàðûí àâëàãûí õóóäñàí äàõü onetime òóøààëûí òàéëáàðààñ áîëîìæèò òîõèðóóëãóóäûí æàãñààëòûã ëàâëàíà óó.
525
Chapter 18 Õàäãàëàëò
18.17.5
Àæèëëàæ áàéãàà ýñýõèéã øàëãàõ
Ñèñòåì äàõèí à÷ààëàãäñàíû äàðàà øèðëýãäñýí swap-èéí ç°â ³éëäëèéã swapinfo òóøààë àøèãëàí øàëãàæ áîëíî. Õýðýâ gbde(8) àøèãëàãäàæ áàéâàë: % swapinfo
Device 1K-blocks /dev/ad0s1b.bde 542720
Used 0
Avail Capacity 542720 0%
Used 0
Avail Capacity 542720 0%
Õýðýâ geli(8) àøèãëàãäàæ áàéâàë: % swapinfo
Device 1K-blocks /dev/ad0s1b.eli 542720
Notes 1.
Àìàðõàí òîãòîîæ áîëîõ àþóëã³é íýâòðýõ ³ãèéã õýðõýí ñîíãîõ òàëààð ç°âë°ã°°í³³äèéã Diceware Passphrase (http://world.std.com/~reinhold/diceware.html) âýá õóóäàñíààñ ³çíý ³³.
526
Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî Chapter 19 GEOM:
Áè÷ñýí Òîì °³äñ. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 19.1
Åð°íõèé àãóóëãà
Ýíý á³ëýã íü FreeBSD äýýð GEOM òîãòîëöîîíû õ³ðýýíä äèñêèéã õýðõýí õýðýãëýõ òàëààð õàìàðñàí. Ýíý íü òîõèðãîîíä çîðèóëæ òîãòîëöîîã àøèãëàäàã ãîë RAID õÿíàã÷ õýðýãñë³³äèéã áàãòààäàã. Ýíý á³ëýã íü I/O, äîîð íü áàéãàà äýä ñèñòåì, ýñâýë êîäûã GEOM õýðõýí çîõèöóóëæ ýñâýë õÿíàäàã òàëààð ã³íçãèé õýëýëöýõã³é. Ýíýõ³³ ìýäýýëýë íü geom(4) ãàðûí àâëàãûí õóóäàñ áîëîí ò°ð°ë á³ðèéí SEE ALSO áàðèìòóóäûí òóñëàìæòàé õàíãàãääàã. Áàñ ýíý á³ëýã íü RAID òîõèðãîîíóóäûí äýëãýðýíã³é çààâàð áèø þì. Ç°âõ°í GEOM-äýìæèãäñýí RAID àíãèëëóóäûí òàëààð õýëýëöýõ áîëíî. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: ßìàð ò°ðëèéí RAID äýìæëýã GEOM-èéí õ³ðýýíä áàéäàã òàëààð. • Õýðõýí ³íäñýí õýðýãñë³³äèéã àøèãëàæ òîõèðãîî õèéõ, àæèëëàãààã õàíãàõ, áîëîí ò°ð°ë á³ðèéí RAID ò³âøí³³äèéã óäèðäàõ òàëààð. • Õýðõýí òîëèí òóñãàë áîëîí ñóäàë ³³ñãýõ, øèðëýõ, àëñààñ GEOM-èéí õ³ðýýíä äèñê ò°õ°°ð°ìæ³³äèéã õîëáîõ òàëààð. • GEOM òîãòîëöîîíä õàâñàðãàñàí äèñêí³³äèéí àëäààã õýðõýí îëæ çàñâàðëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
• •
FreeBSD äèñê ò°õ°°ð°ìæ³³äèéã õýðõýí ³çäýã òàëààð îéëãîõ (Chapter 18).
Øèíý FreeBSD ö°ì õýðõýí òîõèðóóëæ ñóóëãàõ òàëààð ìýäýõ (Chapter 8).
19.2 GEOM-
èéí Òàíèëöóóëãà
GEOM íü Ìàñòåð À÷ààëàëòûí Áè÷ëýã³³ä (MBR), BSD õàÿãóóä, ãýõ ìýò — àíãèëëóóäàä òóõàéí àíãèëëûí äýìæèã÷èä (providers) ýñâýë /dev äàõü òóñãàé àéëóóäûí òóñëàìæòàéãààð õàíäàõ õàíäàëò áà õÿíàëòûã óã àíãèëàëä ç°âø°°ðä°ã. GEOM íü ò°ð°ë á³ðèéí ïðîãðàì õàíãàìæèéí RAID òîõèðãîîíóóäûã àøèãëàæ ³éëäëèéí ñèñòåì áîëîí ³éëäëèéí ñèñòåìèéí õýðýãñë³³äýä ñààäã³éãýýð õàíäàõ áîëîìæ îëãîäîã.
19.3 RAID0 -
Ñóäàë ³³ñãýõ
Áè÷ñýí Òîì °³äñ and Ìþððåé Ñò°³êëè. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. Ñóäàë ³³ñãýõ íü õýä õýäýí äèñêí³³äèéã íýã ýçëýõ³³í áîëãîäîã àðãà þì. Îëîí òîõèîëäîëä ýíý íü òîíîã ò°õ°°ð°ìæèéí õÿíàã÷óóäûã àøèãëàí õèéãääýã. GEOM äýä ñèñòåì íü äèñê ñóäàë ³³ñãýõ ãýæ áàñ íýðëýãääýã RAID0-ä çîðèóëñàí ïðîãðàìûã õàíãàæ °ãä°ã.
527
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî RAID0 ñèñòåìä, äàðààëñàí äèñêí³³äýä áàéãàà °ã°ãäë³³ä íü áàãö áîëæ õóâààãääàã. Ñèñòåì äýýð íýã äèñê ð³³ 256k-èéã áè÷èõèéã õ³ëýýñíýýñ 64k-èéã 4 °°ð äèñê ð³³ çýðýã áè÷èõ äýýä çýðãèéí I/O áóþó îðóóëàõ ãàðãàõ àæèëëàãààã RAID0 ñèñòåì íü ñàíàë áîëãîäîã. Ýíý àæèëëàãààã îëîí äèñêíèé õÿíàã÷óóäûã àøèãëàí íýìýãä³³ëæ áîëäîã. Áàãöàëñàí îëîí äèñêí³³äýýñ I/O õ³ñýëò³³ä íü çýðýãöýæ óíøèõ áîëîí áè÷èãääýã ó÷ðààñ RAID0 äèñêíèé õóâààãäàë íü á³ãä èæèë õýìæýýòýé áàéõ ¼ñòîé.
64k 256k would be written in four 64k simultaneous writes to each of the four disks
64k 64k 64k
disk 1
disk 2
disk 3
disk 4
Õýëáýðæ³³ëýãäýýã³é ATA äèñêí³³äèéí ñóäàë ³³ñãýõ 1.
geom_stripe.ko
ìîäóëèéã à÷ààëíà:
# kldload geom_stripe
2.
Òîõèðîõ õîëáîëòûí öýã áàéãààã øàëãààðàé. Õýðýâ ýíý ýçëýõ³³í íü root õóâààëò áîëîõ ¼ñòîé áîë ò³ð çóóð °°ð /mnt ãýõ ìýò õîëáîëòûí öýãèéã àøèãëààðàé: # mkdir /mnt
3.
Ñóäàë ³³ñãýõ äèñêí³³äýä çîðèóëñàí ò°õ°°ð°ìæèéí íýðèéã òîäîðõîéëîîä øèíý ñóäàë ò°õ°°ð°ìæ ³³ñãý. Æèøýý íü õî¼ð àøèãëàãäààã³é, õóâààëò õèéãäýýã³é /dev/ad2 áîëîí /dev/ad3 ãýñýí ATA äèñêí³³äýä ñóäàë ³³ñãýõèéí òóëä: # gstripe label -v st0 /dev/ad2 /dev/ad3
Metadata value stored on /dev/ad2. Metadata value stored on /dev/ad3. Done.
4.
Õóâààëòûí õ³ñíýãò ãýãääýã ñòàíäàðò õàÿãèéã øèíý ýçëýõ³³í äýýð áè÷ýýä àíõäàã÷ à÷ààëàãäàõ êîäûã ñóóëãààðàé: # bsdlabel -wB /dev/stripe/st0
528
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî 5.
Ýíý ïðîöåññ õî¼ð ò°õ°°ð°ìæèéã st0 ò°õ°°ð°ìæèéí õàìò /dev/stripe ñàíä ³³ñãýõ ¼ñòîé. Òýäãýýð íü st0a áîëîí st0c þì. Èíãýñíèé äàðàà àéëûí ñèñòåìèéã st0a ò°õ°°ð°ìæ äýýð newfs õýðýãñëèéí òóñëàìæòàéãààð ³³ñãýæ áîëíî: # newfs -U /dev/stripe/st0a
Îëîí òîîíóóä äýëãýö äýýð óðñàí °íã°ð°õ á°ã°°ä õýäõýí õîðìûí äàðàà ïðîöåññ ò°ãñ°í°. Èíãýýä ýçëýõ³³í ³³ñýæ õîëáîëò õèéãäýõýä áýëýí áîëíî. àðààð ³³ñãýñýí äèñêíèé ñóäëàà õîëáîõûí òóëä: # mount /dev/stripe/st0a /mnt
Ýíý ñóäàë ³³ñãýñýí àéëûí ñèñòåìäýý à÷ààëàõ ³åä àâòîìàòààð õîëáîëò õèéõèéí òóëä ýçëýõ³³íèé ìýäýýëëèéã /etc/fstab àéëä õèéãýýðýé. For this purpose, a permanent mount point, named stripe, is created: # mkdir /stripe # echo "/dev/stripe/st0a /stripe ufs rw 2 2" \ >> /etc/fstab
àéëä ì°ð íýìæ geom_stripe.ko ìîäóëèéã ñèñòåì ýõëýõýä àâòîìàòààð à÷ààëàãäàõààð áîëãîõ ¼ñòîé:
/boot/loader.conf
# echo ’geom_stripe_load="YES"’ >> /boot/loader.conf
19.4 RAID1 -
Òîëèí òóñãàë ³³ñãýõ
Òîëèí òóñãàë ³³ñãýõ íü îëîí êîðïîðàöèóä áîëîí ãýðèéí õýðýãëýã÷äèéí àøèãëàäàã °ã°ãäëèéã òàñàëäàëã³éãýýð í°°öë°õ òåõíîëîãè þì. Òîëèí òóñãàë áàéõ ³åä ýíý íü diskB íü diskA-ã õóâèëæ áàéãàà ãýñýí ³ã. Ýñâýë ìàãàäã³é diskC+D íü diskA+B-ã õóâèëæ áàéãàà áàéæ áîëíî. Äèñêíèé òîõèðãîîíîîñ õàìààðàëã³é ÷óõàë îéëãîëò áîë íýã äèñê äýýðõ ìýäýýëýë áîëîí õóâààëò íü õóâèëàãäàõ ÿâäàë þì. ѳ³ëä íü, õàäãàëñàí °ã°ãä°ë íü ³éë÷èëãýý áîëîí õàíäàëòûí òàñàëäàëã³éãýýð, àìàðõàí ñýðãýýãäýæ, í°°öë°ãä°æ áàðàã °ã°ãäëèéí ò°ì°ð àâäàðò õàäãàëñàí þì øèã áàéõ áîëíî. Ýõëýýä ñèñòåìä èæèë õýìæýýòýé õî¼ð äèñê áàéãààã øàëãààðàé, ýíý äàñãàëä óã äèñêí³³äýä øóóä õàíäàõ (da(4)) SCSI äèñêòýé ãýæ ³çýæ áàéãàà áîëíî. 19.4.1
íäñýí äèñê³³äèéã òîëüäîõ íü
FreeBSD ýõíèé da0 äèñêèéí ò°õ°°ð°ìæ äýýð ñóóëãàãäñàí ãýæ ³çâýë gmirror(8)-ä °°ðèéí ³íäñýí °ã°ãäëèéã òýíä õàäãàë ãýæ çààæ °ãñ°í áàéõ ¼ñòîé.
Òîëü á³òýýõýýñýý °ìí° kern.geom.debugflags ãýñýí sysctl(8)-èéí òîõèðãîîã äàðààõ óòãààð òîõèðóóëæ íýìýëò äèáàã ìýäýýëëèéã èäýâõæ³³ëæ ò°õ°°ð°ìæèä õàíäàõ õàíäàëòûã íýýæ °ãí°: # sysctl kern.geom.debugflags=17
Îäîî òîëü ³³ñãýíý. /dev/mirror/gm ò°õ°°ð°ìæèéã ³ð àøèãòàéãààð ³³ñãýí ìåòà °ã°ãäëèéã ³íäñýí äèñêèéí ò°õ°°ð°ìæ äýýð õàäãàëàí ïðîöåññèéã äàðààõ òóøààë àøèãëàí ýõë³³ëíý:
529
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî Warning: Äèñêíèé ñ³³ëèéí ñåêòîðò ÿìàð íýãýí °ã°ãä°ë õàäãàëñàí áîë à÷ààëàõ õ°ò÷°°ð òîëèí òóñãàë õèéõ òîõèîëäîëä °ã°ãäëèéí àëäàãäàëä õ³ðãýæ áîëîõ þì. FreeBSD-ã øèíýýð ñóóëãàñíû äàðààõàí íü òîëèí òóñãàë ³³ñãýñíýýð ýíý ýðñäýëèéã áàãàñãàæ áîëíî.
# gmirror label -vb round-robin gm0 /dev/da0
Ñèñòåì äàðààõ õàðèóã °ãí°: Metadata value stored on /dev/da0. Done.
GEOM-èéã ýõë³³ëýõýä /boot/kernel/geom_mirror.ko ö°ìèéí ìîäóëèéã à÷ààëíà: # gmirror load
Note: Ýíý òóøààë á³ðýí àæèëëàæ äóóññàíû äàðàà gm0 ò°õ°°ð°ìæèéí
öýãèéã /dev/mirror ñàíä ³³ñãýõ ¼ñòîé.
Ñèñòåìèéã ýõë³³ëýõ ³åä geom_mirror.ko ö°ìèéí ìîäóëèéã äóóäàõûã èäýâõæ³³ëíý: # echo ’geom_mirror_load="YES"’ >> /boot/loader.conf
Õóó÷èí áàéñàí da0-ã gm0 òîëèí ò°õ°°ð°ìæèéí øèíý ò°õ°°ð°ìæèéí öýãýýð ñîëüæ /etc/fstab àéëûã çàñâàðëàõ õýðýãòýé. Note: Õýðýâ vi(1) òàíû äóðòàé çàñâàðëàã÷ áîë ³³íèéã äàðààõ õÿëáàð àðãààð õèéæ áîëíî: # vi /etc/fstab
vi(1) äýýð :w /etc/fstab.bak ãýæ áè÷èí fstab-èéí îäîî áàéãàà àãóóëãûã í°°ö°ëí°. Äàðàà íü õóó÷èí áàéñàí á³õ da0-ã gm0-ð :%s/da/mirror\/gm/g ãýæ áè÷èí ñîëüíî.
³íèé ³ð ä³íä fstab àéë äàðààõòàé ò°ñòýé õàðàãäàõ ¼ñòîé. Äèñêèéí õ°ò÷³³ä SCSI ýñâýë ATA áàéõ íü õàìààã³é á°ã°°ä ýäãýýðýýñ ³ë õàìààðàí RAID ò°õ°°ð°ìæ íü gm áàéõ áîëíî. # Device Mountpoint FStype /dev/mirror/gm0s1b none /dev/mirror/gm0s1a / /dev/mirror/gm0s1d /usr ufs rw 0 0 /dev/mirror/gm0s1f /home ufs rw 2 2 #/dev/mirror/gm0s2d /store /dev/mirror/gm0s1e /var /dev/acd0 /cdrom cd9660
Options swap ufs
Dump sw rw
ufs rw ufs rw ro,noauto
0
Pass# 0 1
2 2 0
0 1
2 2
Ñèñòåìèéã äàõèí ýõë³³ëíý: # shutdown -r now
530
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî
Ñèñòåìèéã ýõë³³ëýõ ³åä gm0-ã da0 ò°õ°°ð°ìæèéí îðîíä àøèãëàõ ¼ñòîé. Á³ðýí ýõýëæ äóóññàíû äàðàà ³³íèéã mount òóøààëààñ ãàðàõ ³ð ä³íã õÿíàñíààð øàëãàæ áîëíî: # mount
Filesystem 1K-blocks Used Avail Capacity /dev/mirror/gm0s1a 1012974 224604 707334 24% devfs 1 1 0 100% /dev/mirror/gm0s1f 45970182 28596 42263972 0% /dev/mirror/gm0s1d 6090094 1348356 4254532 24% /dev/mirror/gm0s1e 3045006 2241420 559986 80% devfs 1 1 0 100%
Mounted on / /dev /home /usr /var /var/named/dev
ð ä³í ñàíàñíû äàãóó ç°â õàðàãäàæ áàéíà. Ò°ãñã°ëä íü ñèíõðîí÷ëîëûã ýõë³³ëýõèéí òóëä da1 äèñêèéã òîëü ðóó äàðààõ òóøààë àøèãëàí õèéíý: # gmirror insert gm0 /dev/da1
Òîëèí òóñãàë á³òýýãäñýíèé äàðàà ò³³íèéí ò°ëâèéã äîîð äóðäñàí òóøààë àøèãëàí øàëãàæ áîëíî: # gmirror status
Òîëü á³òýýãäýæ îäîî áàéãàà á³õ °ã°ãä°ë ñèíõðîí÷ëîãäñîíû äàðàà äýýðõ òóøààëààñ ãàðàõ ³ð ä³í èéìýðõ³³ áàéõ ¼ñòîé: Name mirror/gm0
Status COMPLETE
Components da0 da1
ßìàð íýã àñóóäàë áàéõ þì óó ýñâýë òîëü íü á³òýýõ ïðîöåññîî õèéñýýð áàéâàë óã æèøýý COMPLETE-èéí îðîíä DEGRADED ãýæ õàðóóëàõ áîëíî. 19.4.2
Àëäààã îëæ çàñâàðëàõ íü
19.4.2.1 Ñèñòåì à÷ààëàõã³é áàéõ
Õýðýâ ñèñòåì äàðààõ òóøààë õ³ëýýõ ì°ð õ³ðòýë à÷ààëñàí áîë: ffs_mountroot: can’t find rootvp Root mount failed: 6 mountroot>
Óíòðààõ áîëîí äàõèí ýõë³³ëýõ òîâ÷èéã äàðæ ìàøèíûã äàõèí ýõë³³ë. À÷ààëàõ ³åèéí öýñíýýñ (6) ñîíãîëòûã ñîíãî. Èíãýõýä ñèñòåìèéã loader(8) òóøààë õ³ëýýõ ì°ðä àâàà÷íà. Ö°ìèéí ìîäóëèéã ãàðààð à÷ààë: OK? load geom_mirror OK? boot
Õýðýâ ýíý íü àæèëëàñàí áîë ìîäóë ÿìàð íýã øàëòãààíààð áóðóó à÷ààëàãäñàí áàéíà. àéëä òîõèðîõ ì°ð áàéãàà ýñýõèéã øàëãàõ õýðýãòýé. Õýðýâ àñóóäàëòàé õýâýýð áàéâàë äàðààõ:
/boot/loader.conf
531
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî options GEOM_MIRROR
ì°ðèéã ö°ìèéí òîõèðãîîíû àéëä áàéðëóóëæ äàõèí á³òýýæ ñóóëãààðàé. Èíãýõ íü ýíý àñóóäëûã àðèëãàõ ¼ñòîé. 19.4.3
Äèñêèéí ýâäðýëýýñ áóöàæ ñýðãýýõ íü
Äèñêèéã òîëüäîõûí ãàéõàìøèãòàé òàë íü äèñê ýâäðýõýä ÿìàð ÷ °ã°ãä°ë àëäàëã³éãýýð ò³³íèéã ñîëüæ áîëîõîä îðøèíî. ìí°õ RAID1 òîõèðãîîã áàéíà ãýæ ³çýýä da1 ýâäýðñýí á°ã°°ä ñîëèõ õýðýãòýé áàéãàà ãýæ ³çüå. Ñîëèõûí òóëä àëü äèñê ýâäýðñíèéã ìýäýýä ñèñòåìèéã óíòðààíà. Îäîî äèñêèéã øèíýýð ñîëüæ ñèñòåìèéã àñààæ áîëíî. Ñèñòåìèéã äàõèí à÷ààëñíû äàðàà äèñêèéã ñîëèõûí òóëä äàðààõ òóøààëóóäûã àøèãëàæ áîëíî: # gmirror forget gm0 # gmirror insert gm0 /dev/da1
Äàõèí á³òýýëòèéí ÿâöûã õÿíàõûí òóëä gmirror status òóøààëûã àøèãëàíà. Ýíý íü èéì àìàðõàí þì. 19.5 GEOM
Õààëãà ѳëæýýíèé Ò°õ°°ð°ìæ³³ä
GEOM íü õààëãà õýðýãñë³³äèéã àøèãëàí äèñêí³³ä, CD-ROM-óóä, àéëóóä ãýõ ìýò ò°õ°°ð°ìæ³³äèéã àëñààñ àøèãëàõûã äýìæäýã. Ýíý íü NFS-òýé àäèë þì.
Ýêñïîðòûí àéë ýõýëæ ³³ñãýõ øààðäëàãàòàé. Ýíý àéë íü ýêñïîðò õèéãäñýí ýõ ³³ñâýð³³äýä õýíèéã õàíäàõûã ç°âø°°ðñ°í áîëîí ÿìàð ò³âøíèé õàíäàëòûã òýä °ã÷ áàéãààã òóñãàäàã. Æèøýý íü ýõíèé SCSI äèñê äýýð 4 äýõ ç³ñìýëèéã ýêñïîðò õèéõèéí òóëä äàðààõ /etc/gg.exports íü õàíãàëòòàé:
192.168.1.0/24 RW /dev/da0s4d
Ýíý íü äîòîîä ñ³ëæýýíèé á³õ õîñòóóä da0s4d õóâààëò äýýðõ àéëûí ñèñòåìä õàíäàõ õàíäàëòûã ç°âø°°ðí°. Ýíý ò°õ°°ð°ìæèéã ýêñïîðò õèéõäýý òóõàéí ³åä õîëáîëò õèéãäýýã³é ýñýõèéã øàëãààä ggated(8) ñåðâåð äýìîíã àæèëëóóëààðàé: # ggated
Õýðýãëýõ ìàøèíààñ óã ýêñïîðòëîãäñîí ò°õ°°ð°ìæèä õîëáîëò õèéõäýý äàðààõ òóøààëûã °ãí° ³³: # ggatec create -o rw 192.168.1.1 /dev/da0s4d
ggate0 # mount /dev/ggate0 /mnt
Ýíäýýñ ýõëýí ò°õ°°ð°ìæèä /mnt õîëáîëòûí öýãèéã àøèãëàí õàíäàæ áîëíî. Note: Õýðýâ ò°õ°°ð°ìæ òóõàéí ³åä ñåðâåð ìàøèí ýñâýë ñ³ëæýýí äýõ °°ð áóñàä ìàøèí äýýð õîëáîëò õèéãäñýí áàéñàí áîë ýíý íü àìæèëòã³é áîëîõûã ñàíóóëúÿ.
532
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî
Ò°õ°°ð°ìæ äàõèí øààðäëàãàã³é áîëîõîä áóñàä äèñêíèé ò°õ°°ð°ìæ³³äèéí íýãýí àäèë umount(8) òóøààëûí òóñëàìæòàéãààð ñàëãàæ áîëíî. 19.6
Äèñêíèé ò°õ°°ð°ìæ³³äèéã õàÿãëàõ íü
Ñèñòåìèéã ýõë³³ëýõ ÿâöàä FreeBSD ö°ì ò°õ°°ð°ìæ³³äèéã îëæ ò°õ°°ð°ìæèéí öýã³³äèéã ³³ñãýäýã. Ò°õ°°ð°ìæ³³äèéã èëð³³ëýõ ýíý àðãà íü çàðèì íýã àñóóäëóóäòàé áàéäàã, æèøýý íü øèíý äèñêíèé ò°õ°°ð°ìæ USB-ýýð íýìýãäñýí áîë ÿàõ âý? Ôëýø ò°õ°°ð°ìæèä da0 ãýñýí ò°õ°°ð°ìæèéí íýð °ã°ãä°æ õóó÷èí áàéñàí da0 íü da1 áîëæ °°ð÷ë°ãä°õ áîëîâ óó. Ýíý íü õýðýâ àéëûí ñèñòåì³³ä /etc/fstab-ä æàãñààãäñàí áîë òýäãýýðèéã õîëáîõîä àñóóäàë ãàðãàõ á°ã°°ä á³ð ñèñòåìèéã à÷ààëàõã³é áàéäàëä õ³ðãýæ áîëîõ þì. Ýíý àñóóäëûí íýã øèéäýë íü SCSI êàðò ðóó íýìýãäñýí øèíý ò°õ°°ð°ìæèä ò°õ°°ð°ìæèéí àøèãëàãäààã³é äóãààðóóä °ã°ãä°õ°°ð áîëãîæ SCSI ò°õ°°ð°ìæ³³äèéã ãèíæèí öóâàà áîëãîõ ÿâäàë þì. ýõäýý àíõäàã÷ SCSI äèñêèéã ñîëüæ áîëçîøã³é USB ò°õ°°ð°ìæ³³äèéí õóâüä ÿàõ âý? ßàãààä ãýâýë USB ò°õ°°ð°ìæ³³ä íü èõýâ÷ëýí SCSI êàðòíóóäààñ °ìí° øàëãàãääàã. ³íèé íýã øèéäýë íü ýäãýýð ò°õ°°ð°ìæ³³äèéã ñèñòåìèéã à÷ààëñíû äàðàà çàëãàõ ÿâäàë þì. °ð íýã àðãà íü ç°âõ°í ãàíö ATA õ°ò°÷ àøèãëàæ SCSI ò°õ°°ð°ìæ³³äèéã /etc/fstab àéëä õýçýý ÷ æàãñààõã³é áàéõ òèéì øèéäýë áàéæ áîëîõ þì. Èë³³ ñàéí øèéäýë áàéäàã. glabel õýðýãñýë àøèãëàí àäìèíèñòðàòîð ýñâýë õýðýãëýã÷ °°ðñäèéí äèñêíèé ò°õ°°ð°ìæ³³äèéã õàÿãëàæ ýäãýýð õàÿã/øîøãîíóóäûã /etc/fstab àéëä àøèãëàæ áîëîõ þì. glabel íü °ã°ãäñ°í ³ç³³ëýã÷èéí ñ³³ëèéí ñåêòîðò õàÿã/øîøãûã õàäãàëäàã áîëîõîîð õàÿã/øîøãî íü äàõèí à÷ààëàõàä õýâýýð áàéõ áîëíî. Ýíý õàÿã/øîøãûã ò°õ°°ð°ìæ ìàÿãààð àøèãëàñíààð ÿìàð ò°õ°°ð°ìæèéí öýãýýð äàìæèí õàíäàæ áàéãààãààñ ³ë õàìààðàí àéëûí ñèñòåì íü ³ðãýëæ õîëáîãäîõ þì. Note: Õàÿã/øîøãûã áàéíãûí áîëãîõûã ýíä äóðäñàíã³é. glabel õýðýãñýë íü ò³ð çóóðûí áîëîí áàéíãûí õàÿã/øîøãûã ³³ñãýõýä àøèãëàãäàæ áîëíî. Ç°âõ°í áàéíãûí õàÿã/øîøãî íü äàõèí à÷ààëàõàä õýâýýð ³ëäýõ áîëíî. Õàÿã/øîøãîíóóäûí ÿëãààíóóäûí òóõàé äýëãýðýíã³é ìýäýýëëèéã glabel(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
19.6.1
Õàÿã/øîøãîíû ò°ðë³³ä áîëîí æèøýýí³³ä
Åð°íõèé áà àéëûí ñèñòåìèéí ãýñýí õî¼ð ò°ðëèéí õàÿã/øîøãî áàéäàã. Õàÿã, øîøãîíóóä íü áàéíãûí ýñâýë ò³ð çóóðûí áàéæ áîëíî. Áàéíãûí õàÿãèéã tunefs(8) ýñâýë newfs(8) òóøààëààð ³³ñãýæ áîëíî. Ýäãýýð õàÿã/øîøãîíóóäàä òýäãýýðèéí àéëûí ñèñòåìèéí ò°ð°ë äýýð ñóóðèëñàí íýð á³õèé òóñãàé ñàí /dev ñàí äîòîð ³³ñãýãääýã. Æèøýý íü UFS2 àéëûí ñèñòåìèéí õàÿã/øîøãîíóóä /dev/ufs ñàíä ³³ñãýãääýã. Áàéíãûí õàÿãèéã áàñ glabel label òóøààëààð ³³ñãýæ áîëäîã. Ýäãýýð íü àéëûí ñèñòåìòýé õàìààðàëã³é á°ã°°ä /dev/label ñàíä ³³ñãýãäýõ áîëíî. Ò³ð çóóðûí õàÿã/øîøãî íü äàðààãèéí óäàà à÷ààëàõàä àðèëäàã. Ýäãýýð õàÿã/øîøãîíóóä íü /dev/label ñàíä ³³ñãýãäýõ á°ã°°ä òóðøèëòàä ñàéí òîõèðñîí áàéäàã. Ò³ð çóóðûí õàÿãèéã glabel create òóøààëààð ³³ñãýæ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã glabel(8)-èéí ãàðûí àâëàãûí õóóäàñíààñ óíøèíà óó. ã°ãäëèéã óñòãàëã³éãýýð UFS2 àéëûí ñèñòåìèéí õóâüä áàéíãûí õàÿã/øîøãî ³³ñãýõèéí òóëä äîîð äóðäñàí òóøààëóóäûã àæèëëóóëíà:
533
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî # tunefs -L home /dev/da3
Warning: Õýðýâ àéëûí ñèñòåì ä³³ðýí áîë ýíý íü °ã°ãäëèéí ýâäðýëä õ³ðãýæ áîëîõ þì; ãýõäýý õýðýâ àéëûí ñèñòåì ä³³ðýí áîë ãîë çîðèëãî íü õóó÷èðñàí àéëóóäûã óñòãàæ õàÿã/øîøãîíóóäûã íýìýõã³é áàéõ ÿâäàë þì.
Õàÿã/øîøãî îäîî /dev/ufs ñàíä ³³ññýí áàéõ ¼ñòîé á°ã°°ä ò³³íèéã /etc/fstab àéëä íýìæ áîëîõ þì: /dev/ufs/home /home Note: tunefs-ã
ufs
rw
2
2
àæèëëóóëàõäàà àéëûí ñèñòåìèéã õîëáîõ ¼ñã³é.
Îäîî àéëûí ñèñòåìèéã åðäèéíõ°°ð°° õîëáîæ áîëíî: # mount /home
Ýíäýýñ ýõëýí à÷ààëàõ ÿâöàä /boot/loader.conf àéëûí òóñëàìæòàéãààð geom_label.ko ö°ìèéí ìîäóëü äóóäàãäñàí áàéõàä ýñâýë GEOM_LABEL ö°ìèéí òîõèðóóëãà áàéõàä ò°õ°°ð°ìæèéí öýã ñèñòåìä ÿìàð íýãýí áóðóó í°ë°°ë°ëã³éãýýð °°ð÷ë°ãä°æ áîëîõ þì. Ôàéëûí ñèñòåì íü newfs òóøààëä °ã°ãäñ°í -L òóãíû òóñëàìæòàéãààð àíõäàã÷ õàÿã/øîøãîòîé ³³ñãýãäýæ áàñ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã newfs(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Äîîð äóðäñàí òóøààëûã õàÿã/øîøãûã óñòãàõäàà àøèãëàæ áîëíî: # glabel destroy home
À÷ààëàõ äèñêèéí õóâààëòóóäûã õýðõýí õàÿãëàõûã äàðààõ æèøýý õàðóóëæ áàéíà. Example 19-1.
À÷ààëàõ äèñê äýýðõ õóâààëòóóäûã õàÿãëàõ íü
À÷ààëàõ äèñê äýýðõ õóâààëòóóäûã áàéíãûí áàéäëààð õàÿãëàñíààð äèñêèéã °°ð õÿíàã÷ ðóó ýñâýë °°ð ñèñòåì ð³³ øèëæ³³ëñýí ÷ ãýñýí ñèñòåì õýâèéíýýð à÷ààëæ ÷àääàã áîëîõ þì. Ýíý æèøýýíèé õóâüä ñèñòåìýýð ad0 ãýæ òàíèãäñàí ãàíö ATA äèñê õýðýãëýãäýæ áàéãàà áîëíî. Áàñ /, /var, /usr áà /tmp àéëûí ñèñòåì³³ä áîëîí swap õóâààëòòàé FreeBSD-èéí ñòàíäàðò õóâààëòûí õýëáýðèéã àøèãëàæ áàéãàà áîëíî. Ñèñòåìèéí äàõèí à÷ààëæ ãàíö õýðýãëýã÷èéí ãîðèìä à÷ààëæ îðîõûí òóëä loader(8) òóøààë õ³ëýýõ ì°ð°íä 4 òîâ÷ëóóðûã äàðíà. Äàðàà íü äàðààõ òóøààëóóäûã àæèëëóóëíà: # glabel label rootfs /dev/ad0s1a
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs # glabel label var /dev/ad0s1d
GEOM_LABEL: Label for provider /dev/ad0s1d is label/var # glabel label usr /dev/ad0s1f
GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr # glabel label tmp /dev/ad0s1e
GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp # glabel label swap /dev/ad0s1b
GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap # exit
534
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî
Ñèñòåì íü îëîí õýðýãëýã÷èéí à÷ààëàõ ãîðèìîîð ³ðãýëæëýõ áîëíî. À÷ààëæ äóóññàíû äàðàà /etc/fstab àéëûã çàñâàðëàæ åðäèéí ò°õ°°ð°ìæèéí íýðñèéã òîõèðîõ õàÿãóóäààð ñîëèîðîé. Ò°ãñã°ëèéí /etc/fstab àéë äîîðõòîé àäèë õàðàãäàõ áîëíî: # Device /dev/label/swap /dev/label/rootfs /dev/label/tmp /dev/label/usr /dev/label/var
Mountpoint none / /tmp /usr /var
FStype swap ufs ufs ufs ufs
Options sw rw rw rw rw
Dump 0 1 2 2 2
Pass# 0 1 2 2 2
Ñèñòåìèéã îäîî äàõèí à÷ààëæ áîëíî. Õýðýâ á³ãä ç°â áîëñîí áîë ýíý íü õýâèéí ãàð÷ èðýõ á°ã°°ä mount òóøààë äàðààõèéã õàðóóëàõ áîëíî: # mount
/dev/label/rootfs on / (ufs, devfs on /dev (devfs, local) /dev/label/tmp on /tmp (ufs, /dev/label/usr on /usr (ufs, /dev/label/var on /var (ufs,
19.7 GEOM-
local) local, soft-updates) local, soft-updates) local, soft-updates)
èéí òóñëàìæòàé UFS òýìäýãëýë
FreeBSD 7.0 õóâèëáàð ãàðñíààð óäààí õ³ñýí õ³ëýýñýí UFS òýìäýãëýëèéí áîëîìæ á³ðäñýí áèëýý. Ýíýõ³³ øèéäýë íü °°ð°° GEOM äýä ñèñòåìèéí òóñëàìæòàéãààð õèéãäñýí á°ã°°ä gjournal(8) õýðýãñëèéí òóñëàìæòàé õÿëáàð òîõèðóóëæ áîëäîã. Journaling áóþó òýìäýãëýë ãýæ þó âý? Òýìäýãëýõ ÷àäâàð íü àéëûí ñèñòåìèéí øèëæ³³ëã³³äèéí á³ðòãýëèéã õàäãàëäàã, °°ð°°ð õýëáýë ìåòà °ã°ãä°ë áîëîí àéëûí áè÷èëò³³ä äèñêýíä ç°â°°ð õèéãäýõýýñ °ìí° äèñêíèé á³ðýí ã³éöýä áè÷èõ ³éëäëèéã á³òýýäýã °°ð÷ë°ëò³³äèéí á³ðòãýëèéã õàäãàëäàã. Ôàéëûí ñèñòåìèéí á³ðýí áóñ áàéäëààñ õàìãààëàõûí òóëä àéëûí ñèñòåìèéí øèëæ³³ëã³³äèéã äàõèí ã³éöýòãýõèéí òóëä ýíýõ³³ øèëæ³³ëã³³äèéí á³ðòãýëèéã äàðàà íü äàõèí àæèëëóóëæ áîëäîã. Ýíýõ³³ àðãà íü àéëûí ñèñòåìèéí á³ðýí áóñ áàéäàë áîëîí °ã°ãäëèéí àëäàãäëûí ýñðýã õàìãààëàõ °°ð íýã àðãà çàì þì. Ìåòà °ã°ãäëèéí øèíý÷ëýë³³ä áîëîí àéëûí ñèñòåìèéí ä³ðñ áîëîõ Õîðìûí õóâèëáàðóóäûã õÿíàæ ì°ðä³³ëæ áàéäàã Ç°°ë°í Øèíý÷ëýë³³äýýñ ÿëãààòàé íü á³ðòãýëèéí àéë íü ýíý ³éëäýëä òóñãàéëàí çîðèóëñàí äèñêèéí òàëáàðò õàäãàëàãääàã á°ã°°ä çàðèì òîõèîëäîëä °°ð äèñê äýýð òýð ÷èãýýðýý õàäãàëàãäàæ áîëäîã. °ð áóñàä àéëûí ñèñòåìèéí òýìäýãëýëèéí øèéäë³³äýýñ ÿëãààòàé íü gjournal àðãà íü áëîê äýýð òóëãóóðëàñàí á°ã°°ä àéëûí ñèñòåìèéí õýñýã áîëæ õèéãäýýã³é, ç°âõ°í GEOM °ðã°òã°ëèéí õ³ðýýíä õèéãäñýí. gjournal-ä çîðèóëñàí äýìæëýãèéã èäýâõæ³³ëýõèéí òóëä FreeBSD ö°ì íü 7.X ñèñòåì³³ä äýýð àíõäàã÷ààð áàéäàã äîîð äóðäñàí òîõèðóóëãàòàé áàéõ ¼ñòîé: options UFS_GJOURNAL
Õýðýâ òýìäýãëýë ³³ñãýãäñýí ýçëýõ³³í³³äèéã à÷ààëæ ýõëýõýä õîëáîõ øààðäëàãàòàé áîë /boot/loader.conf àéëä äàðààõ ì°ðèéã íýìæ ö°ìèéí geom_journal.ko ìîäóëèéã áàñ äóóäàõ õýðýãòýé áîëíî: 535
Chapter 19 GEOM: Ìîäóëü÷ëàãäñàí Äèñê Õóâèðãàõ Òîãòîëöîî geom_journal_load="YES"
Ì°í äàðààõ ì°ðèéã ö°ìèéí òîõèðãîîíû àéëä íýìæ ³³íèéã °°ð÷ë°í òîõèðóóëñàí ö°ìä áàñ á³òýýæ áîëîõ þì: options GEOM_JOURNAL da4 íü øèíý SCSI äèñê ãýæ òîîöâîë ÷°ë°°òýé àéëûí ñèñòåì äýýð òýìäýãëýë ³³ñãýõèéí òóëä îäîî äîîð äóðäñàí àëõìóóäûã àøèãëàí õèéæ áîëíî: # gjournal label /dev/da4 # gjournal load
Ýíý ³åä /dev/da4 ò°õ°°ð°ìæèéí öýã áîëîí /dev/da4.journal ò°õ°°ð°ìæèéí öýã ³³ññýí áàéõ ¼ñòîé. Îäîî ýíý ò°õ°°ð°ìæ äýýð àéëûí ñèñòåìèéã ³³ñãýæ áîëíî: # newfs -O 2 -J /dev/da4.journal
ìí° àæèëëóóëñàí òóøààë UFS2 àéëûí ñèñòåìèéã òýìäýãäýë èäýâõæñýíýýð ³³ñãýõ áîëíî. Ò°õ°°ð°ìæèéã õ³ññýí öýãòýý äîîð äóðäñàí òóøààëààð mount õèéíý: # mount /dev/da4.journal /mnt
Note: Õýä õýäýí ç³ñìýë³³äèéí òóõàéä òýìäýãëýë íü ç³ñìýë á³ð äýýð ³³ñãýãäýõ áîëíî. Æèøýý íü õýðýâ ad4s1 áîëîí ad4s2 íü õî¼óëàà ç³ñìýë áîë gjournal íü ad4s1.journal áîëîí ad4s2.journal ³³ñãýõ áîëíî. Õýðýâ òóøààëûã õî¼ð àæèëëóóëáàë ³ð ä³í íü “òýìäýãëýë³³ä” áàéõ áîëíî.
Çàðèì òîõèîëäîëä òýìäýãëýëèéã °°ð äèñê äýýð áàéëãàõ øààðäëàãàòàé áàéäàã. Ýíý òîõèîëäîëä òýìäýãëýë õàíãàã÷ ýñâýë õàäãàëàëòûí ò°õ°°ð°ìæ íü òýìäýãëýëèéã èäýâõæ³³ëýõèéí òóëä óã ò°õ°°ð°ìæèéíõ°° äàðàà æàãñààãäàõ ¼ñòîé. tunefs òóøààë àøèãëàí òóõàéí áàéãàà àéëûí ñèñòåì äýýð òýìäýãëýëèéã èäýâõæ³³ëæ áîëäîã; ãýõäýý àéëûí ñèñòåìèéã °°ð÷ë°õ°°ñ°° °ìí° í°°ö ³ðãýëæ õèéæ áàéõ õýðýãòýé. Èõýíõ òîõèîëäîëä gjournal íü ÿã òýìäýãëýëèéã ³³ñãýæ ÷àäààã³é áîë àìæèëòã³é áîëîõ á°ã°°ä ãýõäýý ýíý íü tunefs-èéã áóðóóãààð àøèãëàñíààñ áîëîîä ³³ññýí °ã°ãäëèéí àëäàãäëààñ õàìãààëæ ÷àäàõã³é þì. FreeBSD ñèñòåìèéí ýõë³³ëýõ äèñêèéã òýìäýãëýõ áàñ áîëîìæòîé áàéäàã. ³íèé òàëààðõ äýëãýðýíã³é çààâðûã Øèðýýíèé PC äýýð UFS òýìäýãëýëèéã õèéõ íü (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/gjournal-desktop) ãýñýí íèéòëýëýýñ ³çíý ³³.
536
Chapter 20
Ôàéëûí ñèñòåìèéí äýìæëýã
Áè÷ñýí Òîì °³äñ. 20.1
Åð°íõèé àãóóëãà
Ôàéëûí ñèñòåì³³ä íü ³éëäëèéí ñèñòåìèéí á³ðýëäýõ³³í õýñýã þì. Òýäãýýð íü õýðýãëýã÷äýä àéë õóóëæ õàäãàëàõ, °ã°ãä°ëä õàíäàõ áîëîìæèéã á³ðä³³ëýõ, òýãýýä ìýäýýæ õàòóó õ°ò÷³³äèéã àøèãòàé áîëãîäîã. °ð °°ð ³éëäëèéí ñèñòåì³³ä íü íèéòëýã íýã ãîë ³çýëòýé á°ã°°ä òýð íü òýäãýýðèéí ýõ àéëûí ñèñòåì þì. FreeBSD äýýð ýíý àéëûí ñèñòåì íü áàñ UFS ãýãääýã ýõ Unix™ Ôàéëûí Ñèñòåì äýýð á³òýýãäñýí Ò³ðãýí Ôàéëûí Ñèñòåì áóþó FFS þì. Ýíý íü °ã°ãä°ëä õàíäàõàä çîðèóëæ õàòóó äèñê³³ä äýýð áàéðëóóëàãääàã FreeBSD äýýðõ ýõ àéëûí ñèñòåì þì. FreeBSD íü áàñ áóñàä ³éëäëèéí ñèñòåìèéí °ã°ãä°ëä °°ð äýýðýýñýý °°ð°°ð õýëáýë õîëáîãäñîí USB õàäãàëàëòûí ò°õ°°ð°ìæ³³ä, ëýø õ°ò÷³³ä áîëîí õàòóó äèñê³³ä äýýð õàäãàëàãäñàí °ã°ãä°ëä õàíäàõ áîëîìæèéã á³ðä³³ëýõ çîðèëãîîð ò°ð°ë á³ðèéí îëîí àéëûí ñèñòåìèéã äýìæäýã. Áàñ çàðèì ýõ áóñ àéëûí ñèñòåì³³äýä çîðèóëñàí äýìæëýã áàéäàã. Ýäãýýð íü Linux-èéí Extended áóþó ðã°òã°ñ°í Ôàéëûí Ñèñòåì (EXT), áîëîí Sun-èé Z Ôàéëûí Ñèñòåì (ZFS) çýðýã °°ð ³éëäëèéí ñèñòåì³³ä äýýð õ°ãæ³³ëýãäñýí àéëûí ñèñòåì³³ä þì. FreeBSD äýýð ò°ð°ë á³ðèéí àéëûí ñèñòåì³³äýä çîðèóëñàí äýìæëýãèéí ÿíç á³ðèéí ò³âøèíã³³ä áàéäàã. Çàðèì íü ö°ìèéí ìîäóëèéã äóóäàõûã øààðääàã áîë çàðèì íü õýðýãñë³³ä ñóóëãàõûã øààðäàæ áîëîõ þì. Ýíý á³ëýã íü FreeBSD-èéí õýðýãëýã÷äýä °°ðèéí ñèñòåì äýýðýý Sun-èé Z àéëûí ñèñòåìýýñ ýõëýýä áóñàä àéëûí ñèñòåì³³äýä õàíäàõàä òóñëàõ çîðèëãîîð õèéãäñýí. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: Ýõ áîëîí äýìæèãäñýí àéëûí ñèñòåì³³äèéí ÿëãàà. • FreeBSD äýýð ÿìàð àéëûí ñèñòåì³³ä äýìæèãäñýí òàëààð. • Ýõ áóñ àéëûí ñèñòåì³³äèéã õýðõýí èäýâõæ³³ëæ, òîõèðóóëæ õàíäàí àøèãëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
• • • •
UNIX áîëîí FreeBSD-èéí ³íäñ³³äèéã (Chapter 3) îéëãîõ.
Ö°ìèéí òîõèðãîî/ýìõýòãýëòèéí (Chapter 8) ³íäñèéã ìýääýã áàéõ. FreeBSD äýýð ãóðàâäàã÷äûí ïðîãðàì õàíãàìæèéã ñóóëãàæ (Chapter 4) ÷àääàã áàéõ. FreeBSD äýýðõ äèñê, õàäãàëàëò áîëîí ò°õ°°ð°ìæèéí íýðñòýé òàíèëöñàí áàéõ (Chapter 18). Warning: ZFS áîëîìæ íü òóðøèëòûí ãýæ òîîöîãääîã. Çàðèì òîõèðãîîíóóä àæèëëàãààíû õóâüä äóòóó, çàðèì õýñýã íü åð°°ñ°° àæèëëàõã³é áàéæ áîëîõ þì. Öàãèéí ÿâöàä ýíý áîëîìæ íü ³éëäâýðëýëä àøèãëàãäàõàä áýëýí ãýæ òîîöîãäîõ á°ã°°ä ýíý áàðèìò íü òýð òîõèîëäîëä òààðàõààð °°ð÷ë°ãä°õ áîëíî.
537
20.2 Z
Ôàéëûí Ñèñòåì
Chapter 20 Ôàéëûí ñèñòåìèéí äýìæëýã
Sun-èé õ°ãæ³³ëñýí Z àéëûí ñèñòåì íü ö°°ð°ì õýëáýðèéí õàäãàëàëòûí àðãûã àøèãëàõààð õèéãäñýí øèíý òåõíîëîã þì. Ýíý íü çàé ç°âõ°í °ã°ãä°ë õàäãàëàëòàä õýðýãòýé í°õö°ëä àøèãëàãäàíà ãýñýí ³ã þì. Ýíý íü °ã°ãäëèéí õîðìûí õóâèëáàðóóä, îëîí õóóëáàðóóä, áîëîí °ã°ãäëèéí õÿíàëòûí íèéëáýðèéã äýìæèí °ã°ãäëèéí ìàêñèìóì á³ðýí á³òýí áàéäàëä çîðèóëàãäàí áàñ õèéãäñýí þì. RAID-Z ãýãääýã °ã°ãäëèéí øèíý õóóëáàðëàõ çàãâàð íýìýãäñýí. RAID-Z çàãâàð íü RAID5-òàé ò°ñòýé áîëîâ÷ °ã°ãäëèéí áè÷èëòèéí ýâäðýëòýýñ õàìãààëàõààð õèéãäñýí.
20.2.1 ZFS
òààðóóëàëò
ZFS äýä ñèñòåì íü ñèñòåìèéí ýõ ³³ñâýð³³äèéí èõýíõèéã õýðýãëýãäýã ó÷èð °ä°ð òóòìûí õýðýãëýýíä ìàêñèìóì ³ð àøãèéã õàíãàõàä øààðäëàãàòàé çàðèì íýã òààðóóëàëò øààðäëàãàòàé áàéäàã. FreeBSD äýýð òóðøèëòûí áîëîìæ ãýãäýæ áàéãàà áîëîâ÷ ýíý íü îéðûí èðýýä³éä °°ð÷ë°ãä°æ áîëîõ þì. ýõäýý îäîîãîîð äàðààõ àëõìóóäûã ç°âë°ä°ã. 20.2.1.1 Ñàíàõ îé
Íèéò ñèñòåìèéí ñàíàõ îé õàìãèéí áàãàà áîäîõîä íýã ãèãàáàéò áàéõ ¼ñòîé á°ã°°ä õî¼ð áîëîí ò³³íýýñ äýýøõèéã ç°âë°ä°ã. Ýíä áàéãàà á³õ æèøýýí³³äýä ñèñòåì íü íýã ãèãàáàéò ñàíàõ îéòîé, õýä õýäýí áóñàä òààðóóëàõ àðãûí õàìòààð áàéõ áîëíî. Çàðèì õ³ì³³ñ íýã ãèãàáàéò ñàíàõ îéãîîñ áàãà ñàíàõ îéã àìæèëòòàé àøèãëàæ ÷àäñàí áîëîâ÷ òèéì õÿçãààðëàãäìàë èçèê ñàíàõ îéòîé ñèñòåì à÷ààëàë èõòýé ³åä FreeBSD íü ñàíàõ îéí øàâõàëòààñ áîëæ ³éìýõ íü ìàø áîëîìæèéí áàéõ áîëíî. 20.2.1.2 Ö°ìèéí òîõèðãîî
Õýðýãöýýã³é äðàéâåðóóä áîëîí òîõèðãîîíóóäûã ö°ìèéí òîõèðãîîíû àéëààñ óñòãàõûã ç°âë°ä°ã. Èõýíõ ò°õ°°ð°ìæ³³ä ìîäóëü õýëáýðýýð áàéäàã áîëîõîîð òýäãýýðèéã /boot/loader.conf àéëûí òóñëàìæòàé äóóäàæ áîëíî. i386 àðõèòåêòóðûí õýðýãëýã÷èä °°ðñäèéí ö°ìèéí òîõèðãîîíû àéëäàà äàðààõ òîõèðãîîã íýìæ ö°ì°° äàõèí á³òýýæ äàõèí à÷ààëàõ õýðýãòýé: options
KVA_PAGES=512
Ýíý òîõèðãîî íü vm.kvm_size òîõèðóóëãûã îäîî áàéãàà 1 GB (PAE-èéí õóâüä 2 GB) õÿçãààðûã äàâàõ áîëîìæèéã á³ðä³³ëæ ö°ìèéí õàÿãèéí òàëáàðûã °ðã°òã°õ áîëíî. Ýíý òîõèðãîîíû õóâüä õàìãèéí òîõèðîìæòîé óòãûã îëîõûí òóëä ìåãàáàéòààð õ³ññýí õàÿãèéí òàëáàðàà ä°ð°âò (4) õóâààíà. Ýíý òîõèîëäîëä 2 GB-èéí õóâüä 512 áàéíà. 20.2.1.3 Äóóäàã÷èéí òîõèðóóëãóóä
õàÿãèéí òàëáàðûã FreeBSD-èéí á³õ àðõèòåêòóð äýýð èõýñãýõ ¼ñòîé. Íýã ãèãàáàéò èçèê ñàíàõ îéòîé òåñò ñèñòåì äýýð /boot/loader.conf àéëä õèéñýí äàðààõ òîõèðóóëãóóä áîëîí ñèñòåìèéã äàõèí à÷ààëñíû äàðàà àìæèëòòàé áîëñîí:
kmem
vm.kmem_size="330M" vm.kmem_size_max="330M"
538
Chapter 20 Ôàéëûí ñèñòåìèéí äýìæëýã vfs.zfs.arc_max="40M" vfs.zfs.vdev.cache.size="5M"
ZFS-òýé õîëáîîòîé òîõèðóóëãóóäûí òàëààð èë³³ äýëãýðýíã³é ç°âë°ìæ³³äèéí æàãñààëòûã http://wiki.freebsd.org/ZFSTuningGuide õàÿãààñ ³çíý ³³.
ã àøèãëàõ íü
20.2.2 ZFS-
ZFS ö°°ðì³³äèéã ñèñòåì ýõëýõ ³åä õîëáîõ áîëîìæèéã FreeBSD-ä îëãîõ ýõë³³ëýõ àðãà çàì áàéäàã. ³íèéã òîõèðóóëàõûí òóëä äàðààõ òóøààëóóäûã àæèëëóóëíà: # echo ’zfs_enable="YES"’ >> /etc/rc.conf # /etc/rc.d/zfs start
Ýíý áàðèìòûí ³ëäñýí õýñýã SCSI äèñê³³ä áàéíà ãýæ ³çýõ á°ã°°ä òýäãýýð ò°õ°°ð°ìæèéí íýðñ íü da0 áîëîí da1 þì. IDE òîíîã ò°õ°°ð°ìæèéí õýðýãëýã÷èä SCSI-èéí îðîíä ad ò°õ°°ð°ìæ³³äèéã àøèãëàäàã. 20.2.2.1 àíö äèñêèéí ö°°ð°ì
àíö äèñê ò°õ°°ð°ìæ äýýð ZFS ³³ñãýõèéí òóëä zpool òóøààëûã àøèãëàíà:
# zpool create example /dev/da0
Øèíý ö°°ðìèéã õàðàõûí òóëä df òóøààëûí ãàðàëòûã ³çíý: # df
Filesystem 1K-blocks Used Avail Capacity /dev/ad0s1a 2026030 235230 1628718 13% devfs 1 1 0 100% /dev/ad0s1d 54098308 1032846 48737598 2% example 17547136 0 17547136 0%
Mounted on / /dev /usr /example
Ýíý ãàðàëò íü example ö°°ð°ì ç°âõ°í ³³ñãýãäýýä çîãñîõã³é áàñ õîëáîãäñîí ãýäãèéã òîäîðõîé õàðóóëæ áàéíà. Ýíý íü ýíãèéí àéëûí ñèñòåì øèã õàíäàõ áîëîìæòîé, ³³í äýýð àéëóóä ³³ñãýæ õýðýãëýã÷èä äàðààõ æèøýýí äýýðõ øèã ³çýõ áîëîìæòîé áàéíà: # # # #
cd /example ls touch testfile ls -al
total 4 drwxr-xr-x drwxr-xr-x -rw-r--r--
2 root 21 root 1 root
wheel wheel wheel
3 Aug 29 23:15 . 512 Aug 29 23:12 .. 0 Aug 29 23:15 testfile
Õàðàìñàëòàé íü ýíý ö°°ð°ì ZFS-èéí áîëîìæóóäûí äàâóó òàëûã àøèãëàõã³é áàéíà. Ôàéëûí ñèñòåìèéã ýíý ö°°ð°ì äýýð ³³ñãýæ ò³³í äýýð øàõàëòûã èäýâõæ³³ëíý: # zfs create example/compressed # zfs set compression=gzip example/compressed
539
Chapter 20 Ôàéëûí ñèñòåìèéí äýìæëýã
íü îäîî ZFS øàõàãäñàí àéëûí ñèñòåì áîëëîî. Çàðèì íýã òîì àéëóóäûã õóóëàí ò³³í ð³³ õóóëæ ³ç. Øàõàëòûã äàðààõ òóøààëààð áîëèóëæ áîëíî: example/compressed /example/compressed
# zfs set compression=off example/compressed
Ôàéëûí ñèñòåìèéã ñàëãàõûí òóëä äàðààõ òóøààëûã àæèëëóóëæ df õýðýãñëýýð øàëãàíà: # zfs umount example/compressed # df
Filesystem 1K-blocks Used Avail Capacity /dev/ad0s1a 2026030 235232 1628716 13% devfs 1 1 0 100% /dev/ad0s1d 54098308 1032864 48737580 2% example 17547008 0 17547008 0%
Mounted on / /dev /usr /example
Ôàéëûí ñèñòåìèéã äàõèí õîëáîæ äàõèí õàíäàõ áîëîìæòîé áîëãîîä df òóøààëààð øàëãàíà: # zfs mount example/compressed # df
Filesystem 1K-blocks Used Avail Capacity /dev/ad0s1a 2026030 235234 1628714 13% devfs 1 1 0 100% /dev/ad0s1d 54098308 1032864 48737580 2% example 17547008 0 17547008 0% example/compressed 17547008 0 17547008 0%
Mounted on / /dev /usr /example /example/compressed
Ö°°ð°ì áîëîí àéëûí ñèñòåìèéã mount òóøààëûí ãàðàëòûã øàëãàí áàñ àæèãëàæ áîëíî: # mount
/dev/ad0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad0s1d on /usr (ufs, local, soft-updates) example on /example (zfs, local) example/data on /example/data (zfs, local) example/compressed on /example/compressed (zfs, local)
Àæèãëàñíààð ZFS àéëûí ñèñòåì³³ä íü ³³ñãýãäñýíèéõýý äàðààãààð æèðèéí àéëûí ñèñòåì³³ä øèãýýð àøèãëàãäàæ áîëíî, ãýõäýý °°ð áóñàä îëîí áîëîìæóóä áàñ áàéäàã. Äàðààõ æèøýýí äýýð øèíý àéëûí ñèñòåì data ³³ñãýãäýæ áàéíà. ×óõàë àéëóóä ýíä õàäãàëàãäàõ ó÷èð àéëûí ñèñòåì íü °ã°ãäëèéí áëîê á³ðèéí õî¼ð õóóëáàðûã õàäãàëàõààð òîõèðóóëàãäñàí: # zfs create example/data # zfs set copies=2 example/data
Îäîî df-ã äàõèí àæèëëóóëæ °ã°ãä°ë áîëîí çàéí õýðýãëýýã õàðàõ áîëîìæòîé: # df
Filesystem /dev/ad0s1a devfs /dev/ad0s1d example
1K-blocks Used Avail Capacity 2026030 235234 1628714 13% 1 1 0 100% 54098308 1032864 48737580 2% 17547008 0 17547008 0%
Mounted on / /dev /usr /example
540
Chapter 20 Ôàéëûí ñèñòåìèéí äýìæëýã example/compressed example/data
17547008 17547008
0 17547008 0 17547008
0% 0%
/example/compressed /example/data
Ö°°ð°ì äýýðõ àéëûí ñèñòåì á³ð èæèë õýìæýýòýé çàéòàé áàéãààã õàðààðàé. Ôàéëûí ñèñòåì³³ä íü ç°âõ°í õýðýãöýýòýé çàéãàà àøèãëàæ èæèë ö°°ðì°°ñ àâ÷ áàéãààã õàðóóëàõûí òóëä df òóøààëûã ýíý æèøýýí³³ä äýýð àøèãëàñàí øàëòãààíòàé þì. ZFS àéëûí ñèñòåì íü ýçëýõ³³í áîëîí õóâààëòóóä ãýõ ìýò îéëãîëòóóäààñ àíãèä áàéæ õýä õýäýí àéëûí ñèñòåì íýã ö°°ðìèéã ýçëýõèéã ç°âø°°ðä°ã. Ôàéëûí ñèñòåì³³äèéã óñòãààä äàðàà íü ö°°ðìèéã õýðýãöýýã³é áîëñîí áîëîõîîð óñòãàíà: # zfs destroy example/compressed # zfs destroy example/data # zpool destroy example
Äèñê³³ä ìóóäàæ ýâäðýõ íü òîéðîõ áîëîìæã³é í°õö°ë þì. Ýíý äèñê ìóóäñàí ³åä °ã°ãä°ë àëäàãäàõ áîëíî. Ýâäýðñýí õàòóó äèñêýýñ áîëîîä °ã°ãäëèéí àëäàãäëààñ õàìãààëàõ íýã àðãà íü RAID-ã àøèãëàõ ÿâäàë þì. ZFS íü ýíý áîëîìæèéã äàðààãèéí õýñýãò òàéëáàðëàõ °°ðèéí ö°°ðìèéí äèçàéíäàà äýìæñýí áàéäàã. 20.2.2.2 ZFS RAID-Z
ìí° õýëñýí÷ëýí ýíý õýñýã íü õî¼ð SCSI áàéõ á°ã°°ä da0 áîëîí da1 ãýæ òîîöíî. RAID-Z ö°°ð°ì ³³ñãýõèéí òóëä äàðààõ òóøààëûã °ãí°: # zpool create storage raidz da0 da1
³³ñãýãäñýí áàéõ ¼ñòîé. ìí°õ øèã mount(8) áîëîí df(1) òóøààëóóäûã àøèãëàí ³³íèéã øàëãàæ áîëíî. Äýýðõ æàãñààëòûí ò°ãñã°ëä °°ð èë³³ äèñêèéí ò°õ°°ð°ìæ³³äèéã íýìýí õóâààðèëæ áîëíî. Õýðýãëýã÷èéí àéëóóä óäàõã³é áàéðëàõ home ãýãäñýí øèíý àéëûí ñèñòåìèéã ö°°ð°ìä õèéíý: storage zpool
# zfs create storage/home
Îäîî øàõàëòûã èäýâõæ³³ëæ õýðýãëýã÷èéí ãýðèéí ñàíãóóä áîëîí àéëóóäûí èë³³ õóóëáàðóóäûã õàäãàëàõ áîëîìæòîé. ³íèéã °ìí°õ øèã äàðààõ òóøààëóóäûã àøèãëàí õèéæ áîëíî: # zfs set copies=2 storage/home # zfs set compression=gzip storage/home
³íèéã õýðýãëýã÷äèéí øèíý ãýðèéí ñàí áîëãîõûí òóëä õýðýãëýã÷èéí °ã°ãäëèéã ýíý ñàí ðóó õóóëæ òîõèðîõ òýìäýãò õîëáîîñóóäûã ³³ñãýíý: # # # #
cp rm ln ln
-rp /home/* /storage/home -rf /home /usr/home -s /storage/home /home -s /storage/home /usr/home
Îäîî õýðýãëýã÷äèéí õóâüä øèíýýð ³³ñãýãäñýí /storage/home àéëûí ñèñòåì äýýð òýäíèé °ã°ãä°ë õàäãàëàãäñàí áàéõ áîëíî. Øèíý õýðýãëýã÷ íýìæ òýð õýðýãëýã÷ýýð íýâòýð÷ ³çýýðýé. Äàðàà íü áóöààæ áîëîõ õîðìûí õóâèëáàð ³³ñãýæ ³çýýðýé: # zfs snapshot storage/home@08-30-08
541
Chapter 20 Ôàéëûí ñèñòåìèéí äýìæëýã
Õîðìûí õóâèëáàð òîõèðãîî íü ãýðèéí ñàí ÷ áèø ýñâýë àéë ÷ áèø ç°âõ°í æèíõýíý àéëûí ñèñòåìèéã àâàõûã àíõààðààðàé. @ òýìäýãò íü àéëûí ñèñòåìèéí íýð ýñâýë ýçëýõ³³íèé íýðèéí õîîðîíä àøèãëàãäñàí çààãëàã÷ þì. Õýðýãëýã÷èéí ãýðèéí ñàí óñòãàãäàõ ³åä ò³³íèéã äîîðõ òóøààëààð ñýðãýýíý: # zfs rollback storage/home@08-30-08
Áàéãàà õîðìûí õóâèëáàðóóäûí æàãñààëòûã àâàõûí òóëä ls-ã àéëûí ñèñòåìèéí .zfs/snapshot ñàí äîòîð àæèëëóóëíà. Æèøýý íü °ìí° íü àâñàí õîðìûí õóâèëáàðûã õàðàõûí òóëä äàðààõ òóøààëûã ã³éöýòãýíý: # ls /storage/home/.zfs/snapshot
Õýðýãëýã÷èéí °ã°ãä°ë äýýð ñàð á³ðèéí õîðìûí õóâèëáàð ³³ñãýõ ñêðèïò áè÷èõ áîëîìæòîé áîëîâ÷ õîæèì õîðìûí õóâèëáàðóóä íü èõýýõýí õýìæýýíèé äèñêèéí õýìæýý ýçëýõ áîëíî. Ò³ð³³÷èéí õîðìûí õóâèëáàðûã äàðààõ òóøààë àøèãëàí óñòãàæ áîëíî: # zfs destroy storage/home@08-30-08
Ýíý á³õ òåñòèéí äàðààãààð /storage/home ñàíã áèä îäîî áàéãàà ò°ë°âò íü áàéëãààä áàéõ øàëòãààí áàéõ ¼ñã³é þì. ³íèéã æèíõýíý /home àéëûí ñèñòåì áîëãîõ õýðýãòýé: # zfs set mountpoint=/home storage/home
áîëîí mount òóøààëóóäûã àæèëëóóëñíààð ñèñòåì áèäíèé àéëûí ñèñòåìèéã æèíõýíý /home ñàí ãýæ ³çýæ áàéãààã õàðóóëíà: df
# mount
/dev/ad0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/ad0s1d on /usr (ufs, local, soft-updates) storage on /storage (zfs, local) storage/home on /home (zfs, local) # df
Filesystem 1K-blocks Used Avail Capacity /dev/ad0s1a 2026030 235240 1628708 13% devfs 1 1 0 100% /dev/ad0s1d 54098308 1032826 48737618 2% storage 17547008 0 17547008 0% storage/home 17547008 0 17547008 0%
Mounted on / /dev /usr /storage /home
Èíãýñíýýð RAID-Z òîõèðãîî äóóñàæ áàéíà. Ø°í° á³ðèéí periodic(8) àæèëëàõ ³åä ³³ññýí àéëûí ñèñòåì³³äèéí òàëààð ò°ëâèéí øèíý÷ëýëò³³äèéã àâàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # echo ’daily_status_zfs_enable="YES"’ >> /etc/periodic.conf
20.2.2.3 RAID-Z-ã ñýðãýýõ íü
Ïðîãðàì õàíãàìæèéí RAID á³ð °°ðñäèéí ò°ëâèéã õÿíàõ àðãàòàé áàéäàã. ZFS íü ÷ ì°í àäèë. RAID-Z ò°õ°°ð°ìæ³³äèéí ò°ëâèéã äàðààõ òóøààëààð õàðæ áîëíî:
# zpool status -x
542
Chapter 20 Ôàéëûí ñèñòåìèéí äýìæëýã
Õýðýâ á³õ ö°°ðì³³ä ýð³³ë áà á³ãä õýâèéí áîë äàðààõ ìýäýãäýë ãàðíà: all pools are healthy
Õýðýâ àñóóäàë áàéâàë ìàãàäã³é äèñê õîëáîëòã³é áîë÷èõâîë ö°°ðìèéí ò°ë°â èéìýðõ³³ õàðàãäàõ áîëíî: pool: storage state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using ’zpool online’ or replace the device with ’zpool replace’. scrub: none requested config: NAME storage raidz1 da0 da1
STATE DEGRADED DEGRADED ONLINE OFFLINE
READ WRITE CKSUM 0 0 0 0 0 0 0 0 0 0 0 0
errors: No known data errors
Ýíý íü ò°õ°°ð°ìæèéã àäìèíèñòðàòîð ñàëãàñàí ãýäãèéã õàðóóëæ áàéíà. ßëàíãóÿà ýíý æèøýýíèé õóâüä ýíý íü ³íýí þì. Äèñêèéã ñàëãàõûí òóëä äàðààõ òóøààëûã àøèãëàæýý: # zpool offline storage da1
Îäîî ñèñòåìèéã óíòðààñíû äàðàà da1-ã ñîëèõ áîëîìæòîé. Ñèñòåì áóöàæ àññàíû äàðàà äàðààõ òóøààëûã àæèëëóóëæ äèñêèéã ñîëèíî: # zpool replace storage da1
Ýíäýýñ ò°ëâèéã äàõèí øàëãàæ áîëîõ á°ã°°ä ýíý óäààä ò°ëâèéí ìýäýýëëèéã àâàõûí òóëä -x °ã°ãä°ëã³éãýýð ³çíý: # zpool status storage
pool: storage state: ONLINE scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008 config: NAME storage raidz1 da0 da1
STATE ONLINE ONLINE ONLINE ONLINE
READ WRITE CKSUM 0 0 0 0 0 0 0 0 0 0 0 0
errors: No known data errors
Ýíý æèøýýíýýñ õàðàõàä á³ãä õýâèéí õàðàãäàæ áàéíà.
543
Chapter 20 Ôàéëûí ñèñòåìèéí äýìæëýã 20.2.2.4 ã°ãäëèéí øàëãàëò
ìí° äóðäñàí÷ëàí ZFS íü õàäãàëàãäñàí °ã°ãäëèéí á³ðýí á³òýí áàéäëûã øàëãàõäàà õÿíàëòûí àøèãëàäàã. Òýäãýýð íü àéëûí ñèñòåì³³äèéã ³³ñãýõýä àâòîìàòààð èäýâõæäýã á°ã°°ä äàðààõ òóøààëûã àøèãëàí áîëèóëæ áîëíî:
íèéëáýðèéã
# zfs set checksum=off storage/home
Ýíý íü óõààëàã ñàíàà áèø áîëîâ÷ õÿíàëòûí íèéëáýð³³ä íü ìàø áàãà õàäãàëàëòûí çàé ýçýëäýã á°ã°°ä èäýâæñýí áàéõäàà èë³³ àøèãòàé áàéäàã. Áàñ òýäãýýðèéã èäýâõæ³³ëñíýýð ìýäýãäýõýýð çàðäàë áàñ àæèãëàãääàãã³é. Èäýâõæñýí áàéõ ³åä °ã°ãäëèéí á³ðýí á³òýí áàéäëûã õÿíàëòûí íèéëáýðèéí øàëãàëò àøèãëàí ZFS øàëãàõ áîëîìæòîé áàéäàã. Ýíý ïðîöåññèéã “öýâýðëýõ” ãýæ õýëäýã. storage ö°°ðìèéí °ã°ãäëèéí á³ðýí á³òýí áàéäëûã øàëãàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # zpool scrub storage
Ýíý ïðîöåññ õàäãàëàãäñàí °ã°ãäëèéí õýìæýýíýýñ õàìààð÷ èõýýõýí õýìæýýíèé õóãàöàà øààðäàæ áîëîõ þì. Ýíý íü áàñ ýäãýýð ³éëäë³³äèéí ç°âõ°í íýã íü òóõàéí ³åä àæèëëàæ áîëîõîîð òèéì èõýýð I/O-ã àøèãëàäàã áàéíà. Öýâýðëýëò äóóññàíû äàðàà ò°ë°â øèíý÷ëýãäýæ ò°ëâèéí õ³ñýëòèéã èëãýýí õàðæ áîëíî: # zpool status storage
pool: storage state: ONLINE scrub: scrub completed with 0 errors on Sat Aug 30 19:57:37 2008 config: NAME storage raidz1 da0 da1
STATE ONLINE ONLINE ONLINE ONLINE
READ WRITE CKSUM 0 0 0 0 0 0 0 0 0 0 0 0
errors: No known data errors
Äóóññàí õóãàöàà ýíý æèøýýí äýýð öýâðýýð õàðóóëàãäàæ áàéíà. Ýíý áîëîìæ íü °ã°ãäëèéí á³ðýí á³òýí áàéäëûã óðò õóãàöààíû òóðø õàäãàëàõàä áàòàëãàà áîëæ òóñàëäàã. Z àéëûí ñèñòåìä çîðèóëñàí °°ð îëîí òîõèðãîîíóóä áàéäàã á°ã°°ä zfs(8) áîëîí zpool(8) ãàðûí àâëàãûí õóóäñóóäûã ³çíý ³³.
544
Chapter 21 Vinum
Ýçëýõ³³í Ìåíåæåð
Àíõëàí áè÷ñýí ðåã Ëèõýé. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 21.1
Åð°íõèé àãóóëãà
Òà ÿìàð ÷ äèñêí³³äòýé áàéñàí ãýñýí ³ðãýëæ ÿìàð íýãýí áîëçîøã³é àñóóäëóóä áàéñààð áàéäàã: Òýäãýýð äèñêí³³ä íü õýòýðõèé æèæèã áàéæ áîëîõ þì. • Òýäãýýð äèñêí³³ä íü õýòýðõèé óäààí áàéæ áîëîõ þì. • Òýäãýýð äèñêí³³ä íü õýòýðõèé íàéäâàðã³é áàéæ áîëîõ þì. Ýäãýýð àñóóäëóóäûã øèéäýõ ò°ð°ë á³ðèéí øèéäë³³ä ñàíàë áîëãîãäñîí á°ã°°ä õèéæ ã³éöýòãýãäñýí áîëíî. Èéìýðõ³³ àñóóäëóóä ãàðãàõã³éãýýð çàðèì õýðýãëýã÷äèéí °°ðñäèéãýý õàìãààëàõ íýã àðãà íü îëîí áîëîí í°°ö äèñêí³³äèéã çàðèìäàà àøèãëàõ ÿâäàë þì. íäñýí FreeBSD ñèñòåì íü òîíîã ò°õ°°ð°ìæ°°ð äýìæèãäñýí RAID ñèñòåì³³äýä çîðèóëñàí ò°ð°ë á³ðèéí êàðòóóä áîëîí õÿíàã÷óóäûã äýìæèõýýñ ãàäíà âèðòóàë äèñê õ°ò÷³³äèéã õèéäýã áëîê ò°õ°°ð°ìæèéí äðàéâåð Vinum Ýçëýõ³³í Ìåíåæåðèéã àãóóëäàã. Vinum íü ýäãýýð ãóðâàí àñóóäëûã øèéääýã Ýçëýõ³³í Ìåíåæåð ãýæ íýðëýãääýã âèðòóàë äèñêíèé äðàéâåð þì. Vinum íü óÿí õàòàí ÷àíàð, àæèëëàãàà áîëîí íàéäâàðòàé áàéäëûã óëàìæëàëò äèñê õàäãàëàëòààñ èë³³òýé õàíãàäàã á°ã°°ä RAID-0, RAID-1 áîëîí RAID-5 çàãâàðóóäûã äàíãààð íü áîëîí õîñëîëûíõ íü õóâüä øèéääýã. Ýíý á³ëýã íü óëàìæëàëò äèñê õàäãàëàëòûí áîëçîøã³é àñóóäëóóäûã òîéìëîí °ã³³ëýõ á°ã°°ä Vinum Ýçëýõ³³í Ìåíåæåðèéí òàëààð òàíèëöóóëàõ áîëíî. •
Note: FreeBSD 5-ààñ ýõëýí Vinum-èéã GEOM àðõèòåêòóðò (Chapter 19) òààðóóëàí îðóóëàõûí òóëä àíõäàã÷ ñàíààíóóä, íýð òîìú¼î áîëîí äèñê äýýðõ ìåòà °ã°ãäëèéã íü õàäãàëàí äàõèí áè÷ñýí þì. Ýíýõ³³ äàõèí áè÷èëò íü gvinum (GEOM vinum-ä çîðèóëñàí) ãýãääýã. Äàðààõ áàðèìò íü øèéäëèéí õóâèëáàðóóäààñ ³ë õàìààðàí Vinum-èéã õèéñâýð íýð ìàÿãààð èõýâ÷ëýí õýðýãëýõ áîëíî. ßìàð ÷ òóøààëûã îäîî àæèëëóóëàõäàà gvinum
òóøààëûã àøèãëàõ ¼ñòîé á°ã°°ä ö°ìèéí ìîäóëèéí íýð íü vinum.ko geom_vinum.ko áîëæ °°ð÷ë°ãäñ°í°°ñ ãàäíà ò°õ°°ð°ìæèéí á³õ öýã³³ä /dev/vinum äîòîð áèø /dev/gvinum äîòîð áàéðëàñàí áàéãàà. FreeBSD 6-ààñ ýõëýí õóó÷èí Vinum øèéäýë íü ³íäñýí êîäîíä áàéõàà àëü õýäèéí áîëüñîí áàéíà.
21.2
Äèñêí³³ä õýòýðõèé æèæèã
Äèñêí³³ä íü õýìæýýíèé õóâüä óëàì òîìîðñîîð áàéãààãèéí àäèë áàñ °ã°ãäëèéí õàäãàëàëòûí øààðäëàãóóä ÷ áàñ òèéì áîëñîîð áàéíà. Èõýíõ òîõèîëäîëä òàíä °°ðò ÷èíü áàéãàà äèñêí³³äýýñ èë³³ òîì àéëûí ñèñòåì õýðýãòýé áîëæ ìàãàäã³é þì. Ýíý àñóóäàë íü àðâàí æèëèéí °ìí°õ øèã òèéì õóðö àñóóäàë áèø áîëñîí áîëîâ÷ îäîî áîëòîë áàéãààã íü õ³ëýýí ç°âø°°ð°õ°°ñ °°ð àðãàã³é þì. Çàðèì ñèñòåì³³ä íü ³³íèéã °°ðèéíõ°° °ã°ãäëèéã õýä õýäýí äèñêí³³ä äýýð õàäãàëàõ õèéñâýð ò°õ°°ð°ìæ ³³ñãýí øèéääýã áàéíà.
545
21.3
Õàíäàëòûí òàãëàðàëòóóä
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Îð÷èí ³åèéí ñèñòåì³³äýä ìàø °íä°ð çýðýãöýý õàíäëàãààð °ã°ãä°ëä õàíäàõ õýðýãöýý áàéíãà ãàðäàã. Æèøýý íü òîì FTP ýñâýë HTTP ñåðâåð³³ä íü îëîí ìÿíãàí çýðýãöýý ñåññ³³äòýé àæèëëàæ ÷àääàã áà èõýíõ äèñêí³³äèéí òîãòâîðòîé äàìæóóëàõ ò³âøèíãýýñ õàâüã³é èë³³ ãàðñàí ãàäàãøàà åðò°íö óðóó õîëáîãäñîí îëîí 100 Mbit/s-èéí õîëáîëòóóäòàé áàéäàã. Îäîîãèéí äèñê õ°ò÷³³ä °ã°ãäëèéã öóâààãààð 70 MB/s õ³ðòýë äàìæóóëæ ÷àääàã áîëîâ÷ ýíý óòãà íü áèå áèåíýýñýý õàìààðàëã³é îëîí ÷°ë°°òýé ïðîöåññóóä õ°ò÷èä õàíääàã òèéì îð÷èíä òèéì ÷ ÷óõàë áèø þì. Òèéì îð÷èíä ïðîöåññóóä íü òýäãýýð óòãóóäûí ç°âõ°í áóòàðõàéãààð õýìæèãäýõ òîîíû õóðäàä õ³ð÷ ìàãàäã³é þì. Èéì òîõèîëäëóóäàä àñóóäëûã äèñêíèé äýä ñèñòåìèéí ³³äíýýñ õàðâàë èë³³ ñîíèðõîëòîé áàéõ áîëíî: ýíä ÷óõàë ïàðàìåòð íü äýä ñèñòåìä ³ç³³ëæ áàéãàà äàìæóóëàëòûí à÷ààëàë á°ã°°ä °°ð°°ð õýëáýë äàìæóóëàëòàä îðîëöîæ áàéãàà õ°ò÷³³äèéã ýçýëæ áàéãàà äàìæóóëàëòûí òýð õóãàöàà þì. Àëü ÷ äèñêíèé äàìæóóëàëòûí ³åä õ°ò°÷ íü òîëãîéíóóäàà ýõëýýä áàéðëóóëæ óíøèõ òîëãîéí äîîð ýõíèé ñåêòîð øàëãàãäàí °íã°ð°õèéã õ³ëýýæ äàðàà íü äàìæóóëàëòûã ã³éöýòãýõ ¼ñòîé. Ýäãýýð ³éëäë³³ä íü atomic áóþó õóâààãäàøã³é, ñàëãàãäàøã³é ³éëäë³³ä ãýæ îéëãîãääîã: òýäãýýðèéã òàñàëäóóëàõ íü ÿìàð ÷ óòãàã³é þì. Åðäèéí 10 kB-èéí äàìæóóëàëòûã àâ÷ ³çüå: °íä°ð àæèëëàãààòàé îäîî ³åèéí äèñêí³³ä íü òîëãîéíóóäàà äóíäæààð 3.5 ms-ä áàéðëóóëæ ÷àääàã. Õàìãèéí õóðäàí õ°ò÷³³ä 15,000 rpm õóðäààð ýðãýäýã, òèéì áîëîõîîð äóíäàæ ýðãýõ õîæèìäîë íü (õóâüñãàëûí õàãàñ) 2 ms áîëîõ þì. 70 MB/s ³åä äàìæóóëàëò íü °°ð°° 150 µs áîëîõ á°ã°°ä áàéðëóóëàõ õóãàöààòàé õàðüöóóëàõàä áàðàã þó ÷ áèø þì. Èéì òîõèîëäîëä ³ð ä³íòýé äàìæóóëàõ ò³âøèí íü 1 MB/s-ñ áàãà çýðýã èë³³ ò³âøèí óðóó áóóðàõ á°ã°°ä ìýäýýæ ýíý íü äàìæóóëàõ õýìæýýíýýñ èõýýõýí õàìààðàëòàé áàéíà. Ýíý àñóóäëûí óëàìæëàëò, ìýäýýæèéí øèéäýë íü “èë³³ ýýð³³ë³³ä” þì: íýã òîì äèñê àøèãëàõûí îðîíä ýíý íü íèéò õàäãàëàëòûí õýìæýý íü àäèëõàí õýä õýäýí àðàé æèæèã äèñêí³³äèéã àøèãëàõ ÿâäàë þì. Äèñê á³ð íü òóñ òóñäàà áàéðëóóëàõ áîëîí äàìæóóëàõ ³éëäëèéã õèéæ ÷àäàõ á°ã°°ä èíãýñíýýð ³ð ä³íòýé äàìæóóëàõ ÷àíàð íü àøèãëàñàí äèñêíèé òîîòîé îéðîëöîî õ³÷èí ç³éëýýð íýìýãäýõ áîëíî. Äàìæóóëàëòûí ÷àíàðûí ÿã òîäîðõîé ñàéæðóóëàëò íü ìýäýýæ îðîëöñîí äèñêí³³äèéí òîîíîîñ áàãà áàéíà: õ°ò°÷ á³ð íü çýðýãöýý äàìæóóëæ ÷àäàõ áîëîâ÷ õ³ñýëò³³ä íü õ°ò÷³³äèéí äàãóó òýíö³³ ò³ãýýãäýõèéã áàòëàõ àðãàã³é þì. Íýã õ°ò°÷ äýýðõ à÷ààëàë íü í°ã°° äýýðõýýñ èë³³ °íä°ð áàéõ íü çàéëøã³é þì. Äèñêí³³ä äýýðõ à÷ààëëûí òýíö³³ áàéäàë íü õ°ò÷³³äèéí äàãóó °ã°ãäë³³ä õóâààëöäàã àðãà çàìààñ ìàø èõýýð õàìààðäàã. Äàðààõ õýëýëö³³ëýã äýýð äèñêíèé õàäãàëàëòûã íîìíû õóóäàñ øèãýýð äóãààðààð íü õàíäàæ áîëîõ ìàø îëîí òîîíû °ã°ãäëèéí ñåêòîðóóä ãýæ îéëãîõ íü òîõèðîìæòîé þì. Õàìãèéí ìýäýýæèéí àðãà áîë òîì íîìûã àâààä æèæèã õýñã³³ä áîëãîí óðàõûí îðîíä âèðòóàë äèñêèéã èçèê äèñêí³³äèéí õýìæýýòýéãýýð äàðààëñàí ñåêòîðóóäûí á³ëã³³ä áîëãîí õóâààæ ýíý ìàÿãààð òýäãýýðèéã õàäãàëàõ ÿâäàë þì. Ýíý àðãûã concatenation áóþó íèéë³³ëýëò ãýæ íýðëýäýã á°ã°°ä äèñêí³³ä íü ÿìàð íýãýí òóñãàéëñàí õýìæýýíèé õàðèëöààíóóä øààðääàãã³éãýýðýý äàâóó òàëòàé þì. Âèðòóàë äèñê äýõ õàíäàëò °°ðèéí õàÿãèéí òàëáàðààð òýíö³³ òàðõñàí ³åä ýíý íü ñàéí àæèëëàäàã. Õàíäàëò íü æèæèã òàëáàðò ò°âë°ðñ°í ³åä ñàéæðóóëàëò òèéì ÷ ñàéí ìýäýãääýãã³é. Figure 21-1 íü õàäãàëàëòûí íýãæ³³ä íèéë³³ëýãäñýí çîõèîí áàéãóóëàëòàä õóâààðèëàãäàæ áàéãàà äàðààëëû㠳糳ëæ áàéíà.
546
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð Figure 21-1.
Íèéë³³ëýãäñýí çîõèîí áàéãóóëàëò
Disk 1
Disk 2
Disk 3
Disk 4
0
6
10
12
1
7
11
13
2
8
14
3
9
15
4
16
5
17
°ð íýã òààðóóëàëò íü õàÿãèéí òàëáàðûã àðàé æèæèã, òýíö³³ õýìæýýòýé á³ðýëäýõ³³í õýñýãò õóâààæ òýäãýýðèéã öóâààãààð °°ð ò°õ°°ð°ìæ³³ä äýýð õàäãàëàõ ÿâäàë þì. Æèøýý íü ýõíèé 256 ñåêòîð ýõíèé äèñê äýýð, äàðààãèéí 256 ñåêòîð íü äàðààãèéí äèñê äýýð ãýõ ìýò÷èëýí áàéõ þì. ѳ³ëèéí äèñêýíä õ³ðñíèé äàðàà ïðîöåññ äèñêí³³äèéã ä³³ðòýë äàâòàãäàíà. Ýíý òààðóóëàëòûã striping áóþó ñóäàë ³³ñãýõ ýñâýë RAID-0 ãýæ íýðëýäýã. . Ñóäàë ³³ñãýõ íü çàðèì òàëààðàà °ã°ãäëèéã îëîõûí òóëä èë³³ ÷àðìàéëò øààðääàã á°ã°°ä îëîí äèñêí³³äèéí äàãóó òàðõñàí äàìæóóëàëòàä íýìýëò I/O à÷ààëàë ³³ñãýæ áîëîõ áîëîâ÷ ýíý íü áàñ òîãòìîë à÷ààëëûã èë³³òýéãýýð äèñêí³³äèéí äàãóó õàíãàæ °ãä°ã. Figure 21-2 íü õàäãàëàëòûí íýãæ³³ä ñóäàë÷ëàãäñàí çîõèîí áàéãóóëàëòàä õóâààðèëàãäàæ áàéãàà äàðààëëû㠳糳ëæ áàéíà. 1
Figure 21-2.
Ñóäàë÷ëàãäñàí çîõèîí áàéãóóëàëò
Disk 1
Disk 2
Disk 3
Disk 4
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
547
21.4
ã°ãäëèéí á³ðýí á³òýí áàéäàë
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Îäîîãèéí äèñêí³³ä äýõ ñ³³ëèéí àñóóäàë íü íàéäâàðã³é áàéäàë þì. Äèñê õ°ò÷³³äèéí íàéäâàðòàé áàéäàë ñ³³ëèéí õýäýí æèëèéí äîòîð àñàð èõýýð íýìýãäñýí áîëîâ÷ òýäãýýð íü ñåðâåð óíàõ ãîë øàëòãààíû íýã á³ðýëäýõ³³í õýñýã õýâýýð áàéñààð áàéíà. Èíãýñýí òîõèîëäîëä ãàðàõ ³ð ä³í íü ñ³éðëèéí áàéæ áîëîõ þì: àæèëëàãààã³é áîëñîí äèñêíèé õ°ò÷èéã ñîëüæ øèíý äèñê óðóóãàà °ã°ãäëèéã ñýðãýýõ íü õýäýí °ä°ð áîëæ áîëîõ þì. Óëàìæëàëò çàìààð ýíý àñóóäëûã òîëèí òóñãàë ³³ñãýõ àðãààð °ã°ãäëèéí õî¼ð õóóëáàðûã °°ð èçèê òîíîã ò°õ°°ð°ìæ äýýð õàäãàëæ øèéääýã. RAID ò³âøèíã³³ä áèé áîëñíîîð ýíý òåõíèê íü áàñ RAID ò³âøèí 1 áóþó RAID-1 ãýæ íýðëýãääýã. Ýçëýõ³³í óðóó õèéãäýõ áè÷èëò õî¼ð áàéðëàë óðóó õèéãääýã; óíøèëò íü àëèíààñ íü ÷ õèéãäñýí áîëäîã, õýðýâ íýã õ°ò°÷ íü àæèëëàõã³é áîëáîë °ã°ãä°ë í°ã°° õ°ò°÷ äýýð áàñ áàéæ áàéõ þì. Òîëèí òóñãàë ³³ñãýõ íü õî¼ð àñóóäàëòàé áàéäàã: íý. Ýíý íü í°°öã³é øèéäëèéí íýãýí àäèë õî¼ð äàõèí èõ äèñêíèé õàäãàëàëò øààðääàã. • Àæèëëàãààíû í°ë°°ë°ë. Áè÷èëò³³ä íü õî¼ð õ°ò÷³³äýä õî¼óëàíä íü õèéãääýã, òèéìýýñ òýäãýýð íü òîëèí òóñãàë õèéãäýýã³é ýçëýõ³³íèé çóðâàñûí °ðã°í°°ñ õî¼ð äàõèí èõèéã ýçýëäýã. Óíøèëòóóä íü õàðèí àæèëëàãààíû õóâüä àñóóäàëã³é áàéäàã: òýä èë³³ õóðäàí þì øèã õàðàãääàã. °ð íýã øèéäýë íü RAID ò³âøèíã³³ä 2, 3, 4 áîëîí 5-ä õèéãäñýí parity þì. Ýäãýýðýýñ RAID-5 íü õàìãèéí ñîíèðõîëòîé áàéäàã. Ýíý íü Vinum-ä õèéãäñýí á°ã°°ä ñóäàë á³ðèéí íýã áëîêèéã °°ð áëîêóóäûí parity-ä çîðèóëäàã ñóäàë÷ëàãäñàí çîõèîí áàéãóóëàëòûí íýã õóâèëáàð þì. RAID-5 plex íü Vinum-ä õèéãäñýí á°ã°°ä ñóäàë÷ëàãäñàí plex-èéí íýãýí àäèë áîëîâ÷ ýíý íü ñóäàë á³ð äýõ parity áëîêóóäûã îðóóëàí RAID-5-ã øèéäâýðëýäýã. RAID-5-èéí øààðääàãààð ýíý parity áëîêèéí áàéðëàë íü íýã ñóäëààñ äàðààãèéíõ óðóó °°ð÷ë°ãää°ã. ã°ãäëèéí áëîêóóä äàõü òîîíóóä íü áëîêèéí õàðüöàíãóé äóãààðóóäûã èëýðõèéëäýã.
•
Figure 21-3. RAID-5
çîõèîí áàéãóóëàëò
Disk 1
Disk 2
Disk 3
Disk 4
0
1
2
Parity
3
4
Parity
5
6
Parity
7
8
Parity
9
10
11
12
13
14
Parity
15
16
Parity
17
548
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Òîëèí òóñãàë ³³ñãýõòýé õàðüöóóëàõàä RAID-5 íü õàìààã³é áàãà õàäãàëàëòûí çàé øààðääàãààðàà äàâóó òàëòàé þì. Óíøèõ õàíäàëò íü ñóäàë÷ëàãäñàí çîõèîí áàéãóóëàëòóóäûí àäèë áàéäàã áîëîâ÷ áè÷èõ õàíäàëò íü õàìààã³é óäààí îéðîëöîîãîîð óíøèõ õóðäíû 25% áàéäàã. Õýðýâ íýã õ°ò°÷ àæèëëàãààã³é áîëáîë ìàññèâ íü äîðîéòñîí ãîðèìä ³ðãýëæëýí àæèëëàõ áîëíî: ³ëäñýí õàíäàæ áîëîõ õ°ò÷³³äèéí àëü íýãíýýñ óíøèëò õýâèéí ³ðãýëæëýõ áîëîâ÷ àæèëëàãààã³é áîëñîí õ°ò÷°°ñ õèéãäýõ óíøèëò á³õ ³ëäñýí õ°ò÷³³äèéí õàðãàëçàõ áëîêîîñ äàõèí òîîöîîëîãäîõ áîëíî. 21.5 Vinum
îáüåêòóóä
Ýäãýýð àñóóäëóóäûã øèéäýõèéí òóëä Vinum íü îáüåêòèéí ä°ðâ°í ò³âøíèé øàòëàëûã øèéääýã: Õàìãèéí õàðàãääàã îáüåêò íü volume áóþó ýçëýõ³³í ãýãääýã âèðòóàë äèñê þì. Ýçëýõ³³í³³ä íü ãîë íü UNIX äèñê õ°ò÷³³äèéí íýãýí àäèë °ì÷³³äòýé áîëîâ÷ çàðèì íýã æèæèã ÿëãààíóóä áàéäàã. Òýäýíä õýìæýýíèé õÿçãààðëàëòóóä áàéõã³é. • Ýçëýõ³³í³³ä íü òóñ á³ð íü ýçëýõ³³íèé íèéò õàÿãèéí òàëáàðûã èëýðõèéëäýã plex-³³ä ýýñ á³ðääýã. Òèéìýýñ øàòëàë äàõü ýíý ò³âøèí íü í°°öèéã õàíãàäàã. Plex-³³äèéã òîëèí òóñãàë õèéãäñýí ìàññèâ äàõü òóñ á³ðòýý èæèë °ã°ãäëèéã àãóóëñàí äèñêí³³ä ãýæ áîäîõ õýðýãòýé. • Vinum íü UNIX äèñê õàäãàëàëòûí òîãòîëöîîíä îðøäîã áîëîõîîð UNIX õóâààëòóóäûã îëîí äèñê á³õèé plex-³³äèéí õóâüä á³òýýõ áëîê áîëãîí àøèãëàõ áîëîìæòîé, ãýõäýý æèíõýíýäýý ýíý íü õýòýðõèé óÿí õàòàí áèø áîëæ áîëîõ þì: UNIX äèñêí³³ä íü ç°âõ°í õÿçãààðëàãäìàë òîîíû õóâààëòóóäòàé áàéäàã. Èíãýõèéí îðîíä õàðèí Vinum íü ãàíö UNIX õóâààëòûã (õ°ò°÷ ) subdisks áóþó äýä äèñêí³³ä ãýãääýã ³ðãýëæëýí íèéëñýí òàëáàðóóäàä õóâààäàã á°ã°°ä ýäãýýð äýä äèñêí³³äèéã plex-³³äýä çîðèóëæ á³òýýõ áëîê áîëãîí àøèãëàäàã. • Äýä äèñêí³³ä íü Vinum õ°ò÷³³ä äýýð, îäîîãîîð UNIX õóâààëòóóä äýýð îðøäîã. Vinum õ°ò÷³³ä íü äóðûí òîîíû äýä äèñêí³³äèéã àãóóëæ áîëíî. Õ°ò÷èéí ýõëýë äýõ òîõèðãîî áîëîí ò°ëâèéí ìýäýýëëèéã õàäãàëàõ çîðèóëàëòòàé æèæèã òàëáàðààñ áóñàä õ°ò÷èéí á³õ õýñýã °ã°ãäëèéí õàäãàëàëòàíä çîðèóëàãäàíà. Äàðààõ õýñã³³ä íü ýäãýýð îáåêòóóäûí Vinum-èéí øààðääàã àæèëëàãààã õàíãàõ àðãûã òàéëáàðëàõ áîëíî. •
21.5.1
Ýçëýõ³³íèé õýìæýýíèé ñàíàëóóä
Plex-³³ä íü Vinum òîõèðãîîíä á³õ õ°ò÷³³ä äýýã³³ð òàðõñàí îëîí äýä äèñêí³³äèéã àãóóëæ áîëíî. ³íèé ³ð ä³íä õ°ò°÷ á³ðèéí õýìæýý íü plex-èéí õýìæýýã õÿçãààðëàõã³é, òèéìýýñ ýçëýõ³³íèé õýìæýýã áàñ õÿçãààðëàõã³é þì.
21.5.2
ã°ãäëèéí í°°ö õàäãàëàëò
Vinum íü îëîí plex-³³äèéã ýçëýõ³³íä õàâñðàí òîëèí òóñãàë ³³ñãýëòèéã õèéæ ã³éöýòãýäýã. Plex á³ð ýçëýõ³³í äýõ °ã°ãäëèéí ä³ðñëýë þì. Ýçëýõ³³í íü íýãýýñ íàéìàí plex-èéã àãóóëæ áîëíî. Plex íü ýçëýõ³³íèé á³õ °ã°ãäëèéã èëýðõèéëäýã áîëîâ÷ èëýðõèéëë³³äèéí õýñã³³ä íü õèéãäñýí àðãààñàà (plex-èéí õýñã³³äèéí õóâüä äýä äèñêí³³äèéã òîäîðõîéëîîã³éãýýñ) áîëîîä ýñâýë òîõèîëäëîîð (õ°ò°÷ àæèëëàãààã³é áîëñíîîñ áîëîîä) áîäèòîîð áàéõã³é áàéõ áîëîìæòîé þì. Ýçëýõ³³íèé õàÿãèéí á³ðýí
549
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
òàëáàðûí õ³ðýýíèé õóâüä õàìãèéí áàãààð áîäîõîä íýã plex °ã°ãäëèéã õàíãàæ ÷àääàã áàéõàä ýçëýõ³³í íü á³ðýí àæèëëàãààòàé áàéõ þì. 21.5.3
Àæèëëàãààíû àñóóäëóóä
Vinum íü íèéë³³ëýëò áîëîí ñóäàë÷ëàëûã plex ò³âøèíä õèéæ ã³éöýòãýäýã: • •
Íèéë³³ëýãäñýí plex íü õàðèí äýä äèñê á³ðèéí õàÿãèéí òàëáàðûã àøèãëàäàã. Ñóäàë÷ëàãäñàí plex íü äýä äèñê á³ðèéí äàãóó °ã°ãäëèéã ñóäàë÷èëäàã. Äýä äèñê á³ð á³ãä àäèë õýìæýýòýé áàéõ ¼ñòîé á°ã°°ä íèéë³³ëýãäñýí plex-ýýñ ÿëãàõûí òóëä õàìãèéí áàãààð áîäîõîä õî¼ð äýä äèñê áàéõ øààðäëàãàòàé.
21.5.4
Àëü Plex çîõèîí áàéãóóëàëò âý?
FreeBSD 7.1-òýé öóã èðäýã Vinum-èéí õóâèëáàð íü õî¼ð ò°ðëèéí plex-èéã õèéæ ã³éöýòãýäýã:
Íèéë³³ëýãäñýí plex-³³ä íü õàìãèéí óÿí õàòàí áàéäàã: òýäãýýð íü ÿìàð ÷ òîîíû äýä äèñêí³³äèéã àãóóëæ áîëîõ á°ã°°ä äýä äèñêí³³ä íü °°ð °°ð óðòòàé áàéæ áîëíî. Plex-èéã íýìýëò äýä äèñêí³³ä íýìæ °ðã°òã°æ áîëîõ þì. Òýäãýýð íü ñóäàë÷ëàãäñàí plex-³³äýýñ CPU-èéí õóãàöààíû õóâüä áàãûã øààðääàã, ãýõäýý CPU äýýðõ íýìýëò à÷ààëëûí ÿëãàà íü õýìæèãäýõýýð òèéì èõ áèø þì. Í°ã°° òàëààñ àâ÷ ³çýõ þì áîë òýäãýýð íü ãàíö äèñê èõ èäýâõèòýé á°ã°°ä áóñàä íü ñóë çîãñîæ áàéäàã õàëóóí öýã³³äýä õàìãèéí ìýäðýìòãèé áàéäàã. • Ñóäàë÷ëàãäñàí (RAID-0) plex-³³äèéí õàìãèéí àãóó äàâóó òàë íü òýäãýýð plex-³³ä íü õàëóóí öýã³³äèéã áàãàñãàäàã ÿâäàë þì: õàìãèéí òîõèðîìæòîé (256 kB îð÷èì) õýìæýýòýéãýýð ñóäëûã ñîíãîñíîîð òà á³ðýëäýõ³³íèé õ°ò÷³³ä äýýðõ à÷ààëëûã òýíö³³ëæ áîëîõ þì. Ýíý õàíäëàãûí ñóë òàëóóä íü (áóòàðõàéãààð õýìæèãäýõ) èë³³ ò°â°ãòýé êîä áîëîí äýä äèñêí³³ä äýýðõ õÿçãààðëàëòóóä þì: òýäãýýð íü á³ãä èæèë õýìæýýòýé áàéõ ¼ñòîé á°ã°°ä øèíý äýä äèñêí³³ä íýìæ plex-èéã °ðã°òã°õ íü àñàð õýö³³ ó÷èð Vinum íü ³³íèéã îäîîãîîð õèéæ ã³éöýòãýäýãã³é þì. Vinum íü íýìýëò, àìàðõàí õÿçãààðëàëòûã òîõîîæ °ãä°ã: ñóäàë÷ëàãäñàí plex íü õàìãèéí áàãààð áîäîõîä õî¼ð äýä äèñêòýé áàéõ ¼ñòîé, òýãýõã³é áîë ³³íèéã íèéë³³ëýãäñýí plex-ýýñ ÿëãàõ áîëîìæã³é þì. Table 21-1 íü plex çîõèîí áàéãóóëàëò á³ðèéí äàâóó áîëîí ñóë òàëóóäûã ä³ãíýí õàðóóëæ áàéíà. •
Table 21-1. Vinum Plex Plex ò°ð°ë
íèéë³³ëýãäñýí
çîõèîí áàéãóóëàëòóóä
Õàìãèéí áàãà äýä Äýä äèñêí³³ä Àäèë õýìæýýòýé Õýðýãëýý äèñêí³³ä íýìæ áîëîõ ýñýõ áàéõ ¼ñòîé 1 òèéì ³ã³é Áàéðëóóëàõ õàìãèéí èõ óÿí õàòàí ÷àíàð áà áîëîìæèéí àæèëëàãààòàé èõ õýìæýýíèé °ã°ãäëèéí õàäãàëàëò
550
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð Plex ò°ð°ë
ñóäàë÷ëàãäñàí
21.6
Õàìãèéí áàãà äýä Äýä äèñêí³³ä Àäèë õýìæýýòýé Õýðýãëýý äèñêí³³ä íýìæ áîëîõ ýñýõ áàéõ ¼ñòîé 2 ³ã³é òèéì Ìàø °íä°ð çýðýãöýý õàíäàëòòàé öóã °íä°ð õóðäòàé àæèëëàãàà
Çàðèì æèøýýí³³ä
Vinum íü õóâü ñèñòåì³³äýä ìýäýãääýã îáüåêòóóäûã òàéëáàðëàäàã òîõèðãîîíû ìýäýýëëèéí áààç ûí àæèëëàãààã õàíãàæ áàéäàã. Ýõëýýä õýðýãëýã÷ íýã áóþó ýñâýë õýä õýäýí òîõèðãîîíû àéëóóäààñ òîõèðãîîíû ìýäýýëëèéí áààçûã gvinum(8) õýðýãñýë ïðîãðàìûí òóñëàìæòàéãààð ³³ñãýäýã. Vinum íü °°ðèéí òîõèðãîîíû ìýäýýëëèéí áààçûí õóóëáàðûã äèñê ç³ñìýë (Vinum ³³íèéã ò°õ°°ð°ìæ ãýäýã) á³ð äýýð °°ðèéí õÿíàëòûí äîîð õàäãàëäàã. Äàõèí ýõë³³ëýëò íü ç°â°°ð Vinum îáüåêò á³ðèéí ò°ëâèéã ñýðãýýäýã áàéëãàõûí òóëä ò°ë°â °°ð÷ë°ãä°õ áîëãîíä ýíýõ³³ ìýäýýëëèéí áààç íü øèíý÷ëýãääýã.
21.6.1
Òîõèðãîîíû àéë
Òîõèðãîîíû àéë íü Vinum îáüåêòóóäûã òàéëáàðëàäàã. Ýíãèéí ýçëýõ³³íèé òîäîðõîéëîëò èéì áàéæ áîëîõ þì: drive a device /dev/da3h volume myvol plex org concat sd length 512m drive a
Ýíý àéë íü ä°ðâ°í Vinum îáüåêòèéã òàéëáàðëàäàã: drive ì°ð íü äèñêíèé õóâààëòûã (õ°ò°÷ ) òàéëáàðëàõ á°ã°°ä ³³íèé áàéðëàë íü ò³³í äîîð îðøèõ òîíîã ò°õ°°ð°ìæòýé õàðüöàíãóé áàéíà. ³íä a ãýæ ñèìáîë íýð °ãñ°í áàéãàà. Èíãýæ ñèìáîë íýðñèéã ò°õ°°ð°ìæèéí íýðñýýñ òóñàä íü ñàëãàõ íü äèñêí³³äèéã íýã áàéðëàëààñ í°ã°° óðóó ýðãýëçýýã³éãýýð øèëæ³³ëýõ áîëîìæèéã îëãîäîã. • volume ì°ð íü ýçëýõ³³íèéã òàéëáàðëàíà. Öîðûí ãàíö øààðäëàãàòàé øèíæ ÷àíàð íü íýð á°ã°°ä ýíý òîõèîëäîëä myvol áàéíà. • plex ì°ð íü plex-èéã òîäîðõîéëäîã. Öîðûí ãàíö øààðäëàãàòàé ïàðàìåòð íü çîõèîí áàéãóóëàëò á°ã°°ä ýíý òîõèîëäîëä concat áîëíî. ßìàð ÷ íýð õýðýãã³é: ñèñòåì àâòîìàòààð ýçëýõ³³íèé íýðýí äýýð .px äàãàâàð çàëãàæ ³³ñãýäýã á°ã°°ä x íü ýçëýõ³³í äýõ plex-èéí äóãààð þì. Òèéìýýñ ýíý plex íü myvol.p0 ãýæ íýðëýãäýíý. • sd ì°ð íü äýä äèñêèéã òàéëáàðëàíà. Õàìãèéí áàãà òîäîðõîéëîëòóóä íü ³³íèéã õàäãàëàõ õ°ò÷èéí íýð áîëîí äýä äèñêíèé óðò þì. Plex-³³äòýé àäèë íýð õýðýãã³é: ñèñòåì àâòîìàòààð plex-èéí íýðýí äýýð .sx äàãàâàð çàëãàæ ³³ñãýäýã á°ã°°ä x íü plex äýõ äýä äèñêíèé äóãààð þì. Òèéìýýñ Vinum íü ýíý äýä äèñêýíä myvol.p0.s0 ãýæ íýð °ãä°ã. Ýíý àéëûã ïðîöåññ õèéñíèé äàðàà gvinum(8) äàðààõ ³ð ä³íã ãàðãàíà:
•
# gvinum -> create config1
Configuration summary
551
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð Drives: Volumes: Plexes: Subdisks:
1 1 1 1
(4 configured) (4 configured) (8 configured) (16 configured)
D a
State: up
Device /dev/da3h
V myvol
State: up
Plexes:
1 Size:
512 MB
Subdisks:
1 Size:
512 MB
B Size:
512 MB
P myvol.p0 S myvol.p0.s0
C State: up State: up
PO:
0
Avail: 2061/2573 MB (80%)
Ýíý ãàðàëò íü gvinum(8)-èéí õýëáýðø³³ëýëòèéí òîâ÷ æàãñààëòûã õàðóóëæ áàéíà. Ýíý íü ãðàèêààð Figure 21-4 çóðàãò ä³ðñëýãäñýí áàéíà. Figure 21-4.
Ýíãèéí Vinum ýçëýõ³³í
0 MB
volume address space
Subdisk myvol.p0.s0
512 MB
Plex 1 myvol.p0
Ýíý çóðàã áîëîí äàðààãèéí çóðàã íü äýä äèñêí³³ä àãóóëñàí plex-³³äèéã àãóóëñàí ýçëýõ³³íèéã õàðóóëæ áàéíà. Ýíý õÿëáàð æèøýýí äýýð ýçëýõ³³í íü íýã plex-èéã àãóóëàõ á°ã°°ä plex íü íýã äýä äèñêèéã àãóóëæ áàéíà.
552
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Ýíýõ³³ ýçëýõ³³í íü õýâøìýë äèñêíèé õóâààëòòàé õàðüöóóëàõàä ÿìàð íýã òóõàéëñàí äàâóó ÷àíàðã³é þì. Ýíý íü ãàíö plex-èéã àãóóëàõ ó÷ðààñ í°°ö áèø þì. Plex íü ãàíö äýä äèñêíýýñ òîãòîõ ó÷ðààñ õýâøìýë äèñêíèé õóâààëòòàé õàðüöóóëàõàä õàäãàëàëò õóâààðèëàëòûí õóâüä ÿìàð ÷ ÿëãààã³é þì. Äàðààõ õýñã³³ä íü ò°ð°ë á³ðèéí èë³³ ñîíèðõîëòîé òîõèðãîîíû àðãóóäûã õàðóóëàõ áîëíî. 21.6.2
Íýìýãäñýí óÿí õàòàí ÷àíàð: Òîëèí òóñãàë ³³ñãýõ
Ýçëýõ³³íèé óÿí õàòàí ÷àíàðûã òîëèí òóñãàë ³³ñãýæ èõýñãýæ áîëíî. Òîëèí òóñãàë õèéñýí ýçëýõ³³íèéã áàéðëóóëàõäàà õ°ò÷èéí ñ³éðýë plex á³ðèéã óíàãàõã³é áàéëãàõûí òóëä plex á³ð äýõ äýä äèñêí³³ä íü °°ð °°ð õ°ò÷³³ä äýýð áàéãàà ýñýõèéã øàëãàõ íü ÷óõàë þì. Äàðààõ òîõèðãîî íü ýçëýõ³³íèéã òîëèí òóñãàë õèéæ áàéíà: drive b device /dev/da4h volume mirror plex org concat sd length 512m drive a plex org concat sd length 512m drive b
Vinum íü °°ðèéí òîõèðãîîíû ìýäýýëëèéí áààç äàõü á³õ îáüåêòóóäûã õÿíàæ áàéäàã áîëîõîîð a õ°ò÷èéí òîäîðõîéëîëòûã ýíý æèøýýí äýýð äàõèí çààæ °ã°õ øààðäëàãàã³é þì. Ýíý òîäîðõîéëîëòûã ïðîöåññ õèéñíèé äàðàà òîõèðãîî èéìýðõ³³ õàðàãäàíà: Drives: Volumes: Plexes: Subdisks:
2 2 3 3
D a D b
(4 configured) (4 configured) (8 configured) (16 configured) State: up State: up
V myvol V mirror P myvol.p0 P mirror.p0 P mirror.p1 S myvol.p0.s0 S mirror.p0.s0 S mirror.p1.s0
Device /dev/da3h Device /dev/da4h
State: up State: up
Plexes: Plexes:
Avail: 1549/2573 MB (60%) Avail: 2061/2573 MB (80%) 1 Size: 2 Size:
512 MB 512 MB
C State: up Subdisks: 1 Size: 512 MB C State: up Subdisks: 1 Size: 512 MB C State: initializing Subdisks: 1 Size: State: up State: up State: empty
PO: PO: PO:
0 0
0 B Size: B Size: B Size:
512 MB
512 MB 512 MB 512 MB
Figure 21-5 çóðàã íü á³òöèéã ãðàèêààð õàðóóëæ áàéíà.
553
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð Figure 21-5.
Òîëèí òóñãàë õèéãäñýí Vinum ýçëýõ³³í
0 MB
volume address space
Subdisk 1
Subdisk 2
mirror.p0.s0
mirror.p1.s0
512 MB
Plex 1
Plex 2
mirror.p0
mirror.p1
Ýíý æèøýýí äýýð plex á³ð á³ðýí 512 MB õàÿãèéí òàëáàðûã àãóóëæ áàéíà. ìí°õ æèøýýí äýýðõ øèã plex á³ð ç°âõ°í ãàíö äýä äèñêèéã àãóóëíà. 21.6.3
Àæèëëàãààã îíîâ÷òîé áîëãîõ
ìí°õ æèøýýí äýýðõ òîëèí òóñãàë õèéãäñýí ýçëýõ³³í íü òîëèí òóñãàë õèéãäýýã³é ýçëýõ³³íýýñ èë³³ ñ³éðýëä òýñâýðòýé áîëîâ÷ àæèëëàãààíû õóâüä äóòìàã áàéäàã: ýçëýõ³³í óðóó õèéãäýõ áè÷èëò á³ð íü íèéò äèñêíèé çóðâàñûí °ðã°í°°ñ èë³³òýéãýýð àøèãëàí õî¼ð õ°ò°÷ õî¼óëàí óðóó íü áè÷èëò õèéõèéã øààðääàã. Àæèëëàãààíû òîîöîîíóóä íü °°ð õàíäëàãûã øààðääàã: òîëèí òóñãàë ³³ñãýõèéí îðîíä °ã°ãä°ë íü àëü áîëîõ îëîí äèñê õ°ò÷³³äèéí äàãóó ñóäàë÷ëàãääàã. Äàðààõ òîõèðãîî íü ä°ðâ°í äèñêíèé õ°ò÷³³äèéí äàãóó ñóäàë÷ëàãäñàí plex á³õèé ýçëýõ³³íèéã õàðóóëæ áàéíà: drive c device /dev/da5h drive d device /dev/da6h volume stripe plex org striped 512k
554
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð sd sd sd sd
length length length length
128m 128m 128m 128m
drive drive drive drive
a b c d
ìí°õèéí àäèë Vinum-ä ìýäýãäýæ áàéãàà õ°ò÷³³äèéã òîäîðõîéëîõ õýðýãã³é þì. Ýíý òîäîðõîéëîëòûã ïðîöåññ õèéñíèé äàðàà òîõèðãîî èéìýðõ³³ áàéíà: Drives: Volumes: Plexes: Subdisks: D D D D
4 3 4 7
(4 configured) (4 configured) (8 configured) (16 configured)
a b c d
V myvol V mirror V striped P P P P
myvol.p0 mirror.p0 mirror.p1 striped.p1
S S S S S S S
myvol.p0.s0 mirror.p0.s0 mirror.p1.s0 striped.p0.s0 striped.p0.s1 striped.p0.s2 striped.p0.s3
State: State: State: State:
up up up up
State: up State: up State: up
Device Device Device Device Plexes: Plexes: Plexes:
/dev/da3h /dev/da4h /dev/da5h /dev/da6h 1 Size: 2 Size: 1 Size:
Avail: Avail: Avail: Avail:
1421/2573 1933/2573 2445/2573 2445/2573
up up empty up up up up
PO: PO: PO: PO: PO: PO: PO:
0 B Size: 0 B Size: 0 B Size: 0 B Size: 512 kB Size: 1024 kB Size: 1536 kB Size:
(55%) (75%) (95%) (95%)
512 MB 512 MB 512 MB
C State: up Subdisks: 1 Size: 512 MB C State: up Subdisks: 1 Size: 512 MB C State: initializing Subdisks: 1 Size: State: up Subdisks: 1 Size: 512 MB State: State: State: State: State: State: State:
MB MB MB MB
512 512 512 128 128 128 128
512 MB
MB MB MB MB MB MB MB
555
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð Figure 21-6.
Ñóäàë÷ëàãäñàí Vinum ýçëýõ³³í
0 MB striped.p0.s0 volume address space
striped.p0.s1
striped.p0.s2
striped.p0.s3 512 MB
Plex 1 striped.p0
Ýíý ýçëýõ³³í íü Figure 21-6 çóðàãò ³ç³³ëýãäñýí áàéãàà. Ñóäëóóäûí õàðàíõóé áàéäàë plex-èéí õàÿãèéí òàëáàð äàõü áàéðëàëûã èëýðõèéëíý: õàìãèéí öàéâàð ñóäëóóä íü ýõëýýä áàéõ á°ã°°ä õàìãèéí õàðàíõóéíóóä íü ñ³³ëä áàéíà. 21.6.4
Óÿí õàòàí ÷àíàð áà àæèëëàãàà
Õàíãàëòòàé òîíîã ò°õ°°ð°ìæèéí òóñëàìæòàéãààð ñòàíäàðò UNIX õóâààëòóóäòàé õàðüöóóëàõ þì áîë íýìýãäñýí óÿí õàòàí ÷àíàð áîëîí íýìýãäñýí àæèëëàãàà àëü àëèíûã íü ³ç³³ëäýã ýçëýõ³³í³³äèéã á³òýýõ áîëîìæòîé þì. Íèéòëýã òîõèðãîîíû àéë èéìýðõ³³ áàéæ áîëîõ þì: volume raid10 plex org striped 512k sd length 102480k drive sd length 102480k drive sd length 102480k drive sd length 102480k drive
a b c d
556
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð sd plex sd sd sd sd sd
length 102480k drive org striped 512k length 102480k drive length 102480k drive length 102480k drive length 102480k drive length 102480k drive
e c d e a b
Õî¼ð äàõü plex-èéí äýä äèñêí³³ä íü ýõíèé plex äýõýýñ õî¼ð õ°ò÷°°ð ÿëãààòàé: äàìæóóëàëò õî¼ð õ°ò÷°°ð äàìæèí õèéãäñýí ÷ ãýñýí áè÷èëò³³ä àäèë äýä äèñêí³³ä óðóóãàà õèéãäýõã³é áàéõûã ýíý íü áàòàëãààæóóëæ °ãä°ã. Figure 21-7 íü ýíý ýçëýõ³³íèé á³òöèéã èëýðõèéëæ áàéíà. Figure 21-7.
Òîëèí òóñãàë õèéãäñýí, ñóäàë÷ëàãäñàí Vinum ýçëýõ³³í
.p0.s0
.p1.s0
.p0.s1
.p1.s1
.p0.s2
.p1.s2
.p0.s3
.p1.s3
.p0.s4
.p1.s4
Plex 1
Plex 2
striped.p0
striped.p1
557
21.7
Îáüåêòèéí íýðëýëò
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Äýýä äóðäñàíû äàãóó Vinum íü àíõäàã÷ íýðñèéã plex-³³ä áîëîí äýä äèñêí³³äýä °ãä°ã áîëîâ÷ òýäãýýð íü äàðàãäàí °°ð÷ë°ãä°æ áîëîõ þì. Àíõäàã÷ íýðñèéã äàðæ °°ð÷ë°õèéã ç°âë°ä°ãã³é: îáüåêòóóäûã äóðûí íýðýýð ñîëèõûã ç°âø°°ðä°ã VERITAS ýçëýõ³³í ìåíåæåðýýñ õàðàõ þì áîë ýíý óÿí õàòàí ÷àíàð íü ìýäýãäýõ³éö äàâóó òàëûã àâ÷ èðäýãã³é á°ã°°ä ýíä³³ðýë ³³ñãýæ áîëîõ þì. Íýðñ íü äóðûí õîîñîí áèø òýìäýãòèéã àãóóëæ áîëîõ á°ã°°ä òýìäýãò³³äèéã ³ñýã, òîî áîëîí äîîãóóð çóðààñ áàéëãàæ õÿçãààðëàõûã ç°âë°ä°ã. Ýçëýõ³³í³³ä, plex-³³ä áîëîí äýä äèñêí³³ä íü 64 òýìäýãò õ³ðòýë óðòòàé áàéæ áîëîõ á°ã°°ä õ°ò÷³³äèéí íýðñ 32 òýìäýãò õ³ðòýë óðòòàé áàéæ áîëíî. Vinum îáüåêòóóä íü /dev/gvinum øàòëàëä ò°õ°°ð°ìæèéí öýã³³äèéã °ãä°ã. Äýýð ³ç³³ëñýí òîõèðãîî íü Vinum-èéã äàðààõ ò°õ°°ð°ìæèéí öýã³³äèéã ³³ñãýõýä õ³ðãýíý: •
Note: Ýíý íü ç°âõ°í óëàìæëàëò Vinum øèéäýëä õàìààòàé.
gvinum(8) áîëîí Vinum äýìîíû àøèãëàäàã õàðãàëçàõ /dev/vinum/control áîëîí õÿíàëòûí ò°õ°°ð°ìæ³³ä.
/dev/vinum/controld •
Ýçëýõ³³í á³ðèéí ò°õ°°ð°ìæèéí îðóóëãóóä. Ýäãýýð íü Vinum-èéí àøèãëàäàã ãîë ò°õ°°ð°ìæ³³ä þì. Òýãýõýýð äýýðõ òîõèðãîî íü /dev/gvinum/myvol, /dev/gvinum/mirror, /dev/gvinum/striped, /dev/gvinum/raid5 áîëîí /dev/gvinum/raid10 ò°õ°°ð°ìæ³³äèéã àãóóëàõ áîëíî.
•
Note: Ýíý íü ç°âõ°í óëàìæëàëò Vinum øèéäýëä õàìààòàé.
Õ°ò°÷ á³ðèéí îðóóëãàòàé /dev/vinum/drive ñàí. Ýäãýýð îðóóëãóóä íü æèíõýíýäýý õàðãàëçàõ äèñêíèé öýã³³ä óðóó çààñàí ñèìáîëûí õîëáîîñóóä þì. • Á³õ ýçëýõ³³í³³ä íü /dev/gvinum/ äîòîð øóóä îðóóëãóóäûã àâíà. • Plex áîëîí äýä äèñê á³ðèéí ò°õ°°ð°ìæèéí öýã³³äèéã àãóóëäàã õàðãàëçàõ /dev/gvinum/plex áîëîí /dev/gvinum/sd ñàíãóóä. Æèøýý íü äàðààõ òîõèðãîîíû àéë áàéëàà ãýæ ³çüå: drive drive1 device /dev/sd1h drive drive2 device /dev/sd2h drive drive3 device /dev/sd3h drive drive4 device /dev/sd4h volume s64 setupstate plex org striped 64k sd length 100m drive drive1 sd length 100m drive drive2 sd length 100m drive drive3 sd length 100m drive drive4
558
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Ýíý àéëûã ïðîöåññ õèéñíèé äàðàà gvinum(8) íü /dev/gvinum àéëä äàðààõ á³òöèéã ³³ñãýäýã: drwxr-xr-x crwxr-xr-drwxr-xr-x
2 root 1 root 2 root
wheel wheel wheel
91,
512 Apr 13 16:46 plex 2 Apr 13 16:46 s64 512 Apr 13 16:46 sd
/dev/vinum/plex: total 0 crwxr-xr-- 1 root
wheel
25, 0x10000002 Apr 13 16:46 s64.p0
/dev/vinum/sd: total 0 crwxr-xr-- 1 root crwxr-xr-- 1 root crwxr-xr-- 1 root crwxr-xr-- 1 root
wheel wheel wheel wheel
91, 91, 91, 91,
0x20000002 0x20100002 0x20200002 0x20300002
Apr Apr Apr Apr
13 13 13 13
16:46 16:46 16:46 16:46
s64.p0.s0 s64.p0.s1 s64.p0.s2 s64.p0.s3
Plex-³³ä áîëîí äýä äèñêí³³ä íü òóñãàéëñàí íýðñèéã õóâààðèëàõ ¼ñã³é ãýæ ç°âë°ä°ã áîëîâ÷ Vinum õ°ò÷³³ä íü íýðëýãäñýí áàéõ ¼ñòîé. Ýíý íü õ°ò÷èéã °°ð áàéðëàë óðóó ç°°æ àâòîìàòààð òàíüñàí õýâýýð áàéõ áîëîìæèéã á³ðä³³ëäýã. Õ°ò÷èéí íýðñ 32 òýìäýãò õ³ðòýë óðòòàé áàéæ áîëíî.
21.7.1
Ôàéëûí ñèñòåì³³ä ³³ñãýõ íü
Ýçëýõ³³í³³ä íü íýã ç³éëýýñ áóñäààðàà äèñêí³³äýä èæèë þì øèã ñèñòåìä õàðàãääàã. UNIX õ°ò÷³³äýýñ ÿëãààòàé íü Vinum ýçëýõ³³í³³äèéã õóâààäàãã³é, òèéìýýñ õóâààëòûí õ³ñíýãòèéã àãóóëäàãã³é. Ýíý íü çàðèì íýã äèñêíèé õýðýãñë³³äýä ÿëàíãóÿà newfs(8)-ä °°ð÷ë°ëò õèéõèéã øààðääàã. Óðüä íü newfs(8) Vinum-èéí ýçëýõ³³íèé íýðèéí ñ³³ëèéí ³ñãèéã õóâààëò òàíèóëàã÷ ãýæ òàéëáàðëàõûã îðîëääîã áàéñàí áàéíà. Æèøýý íü äèñêíèé õ°ò°÷ /dev/ad0a ýñâýë /dev/da2h ãýñýí íýðòýé áàéæ áîëîõ þì. Ýäãýýð íýðñ íü ýõíèé (0) IDE äèñê äýýðõ ýõíèé õóâààëò (a) áîëîí ãóðàâ äàõü (3) SCSI äèñê äýõ íàéì äàõü õóâààëòûã (h) èëýðõèéëäýã. ßëãààòàé òàë íü Vinum ýçëýõ³³í íü õóâààëòûí íýðòýé ÿìàð ÷ õîëáîîã³é íýðýýð ìàãàäã³é /dev/gvinum/concat ãýæ íýðëýãäýæ áîëîõ þì. newfs(8) íü äèñêíèé íýðèéã òàéëáàðëàõ á°ã°°ä õýðýâ îéëãîæ ÷àäàõã³é áîë ìýäýýëýë ³ç³³ëäýã. Æèøýý íü: # newfs /dev/gvinum/concat
newfs: /dev/gvinum/concat: can’t figure out file system partition
Ýíý ýçëýõ³³í äýýð àéëûí ñèñòåì ³³ñãýõèéí òóëä newfs(8)-ã àøèãëàíà: # newfs /dev/gvinum/concat
Note: 5.0-ñ °ìí°õ FreeBSD õóâèëáàðóóäàä newfs(8) íü íýìýëò -v òóã áîëîí õóó÷èí ò°õ°°ð°ìæ ñõåìèéã øààðääàã:
íýðëýëòèéí
# newfs -v /dev/vinum/concat
559
21.8 Vinum
òîõèðóóëàõ íü
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
ö°ì Vinum-èéã àãóóëäàãã³é. Vinum îðóóëñàí òóñãàé ö°ì á³òýýõ áîëîìæòîé áîëîâ÷ èíãýõèéã ç°âë°ä°ãã³é. Vinum-èéã ýõë³³ëýõ ñòàíäàðò àðãà íü ö°ìèéí ìîäóëü (kld) þì. Òà á³ð Vinum-ä çîðèóëæ kldload(8)-ã ÷ àøèãëàõ õýðýãã³é: gvinum(8)-ã ýõë³³ëýõýä ýíý íü ìîäóëü à÷ààëàãäñàí ýñýõèéã øàëãààä õýðýâ ³ã³é áîë ò³³íèéã àâòîìàòààð à÷ààëäàã. GENERIC
21.8.1
Ýõë³³ëýëò
Vinum íü òîõèðãîîíû ìýäýýëëèéã ãîë íü òîõèðãîîíû àéëóóäàä áàéäàã ÿã òýð õýëáýðýýð äèñêíèé ç³ñìýë³³ä äýýð õàäãàëäàã. Òîõèðãîîíû ìýäýýëëèéí áààçààñ óíøèõ ³åä Vinum òîõèðãîîíû àéëóóäàä ç°âø°°ð°ãä°°ã³é õýä õýäýí ò³ëõ³³ð ³ãí³³äèéã òàíüäàã. Æèøýý íü äèñêíèé òîõèðãîî äàðààõ òåêñòèéã àãóóëæ áîëîõ þì: volume myvol state up volume bigraid state down plex name myvol.p0 state up org concat vol myvol plex name myvol.p1 state up org concat vol myvol plex name myvol.p2 state init org striped 512b vol myvol plex name bigraid.p0 state initializing org raid5 512b vol bigraid sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset
0b 4194304b 8388608b 12582912b 16777216b
Ýíäýõ ìýäýýæèéí ÿëãààíóóä íü áàéðëàëûí òîäîðõîé ìýäýýëýë áîëîí íýðëýëò (òýäãýýðèéí õî¼óë áàñ ç°âø°°ð°ãäñ°í áîëîâ÷ õýðýãëýã÷èä àøèãëàõûã õîðèãëîñîí) áîëîí ò³âøèíã³³ä äýõ ìýäýýëýë (õýðýãëýã÷èä áàéäàãã³é) áàéãàà ÿâäàë þì. Vinum íü òîõèðãîîíû ìýäýýëýë äýõ õ°ò÷³³äèéí òóõàé ìýäýýëëèéã õàäãàëäàãã³é: ýíý íü Vinum øîøãîòîé õóâààëòóóäûí õóâüä òîõèðóóëàãäñàí äèñêíèé õ°ò÷³³äèéã ñêàí õèéí õ°ò÷³³äèéã îëäîã. Ýíý íü òýäãýýð õ°ò÷³³äýä °°ð ò°ðëèéí UNIX õ°ò÷èéí ID °ãñ°í áàéñàí ÷ Vinum-ä õ°ò÷³³äèéã ç°â°°ð òàíèõ áîëîìæèéã îëãîäîã. 21.8.1.1 Àâòîìàò ýõë³³ëýëò Note: Ýíý ìýäýýëýë íü ç°âõ°í óëàìæëàëò Vinum øèéäýëä õàìààòàé. Gvinum íü loader.conf(5)-èéí òóñëàìæòàé ö°ìèéí ìîäóëü à÷ààëàãäñàíû äàðàà àâòîìàòààð ýõë³³ëýãääýã áîëîìæèéã ³ðãýëæ àãóóëñàí áàéíà. Gvinum ìîäóëèéã à÷ààëàëòûí ³åä äóóäàõûí òóëä /boot/loader.conf àéëä geom_vinum_load="YES" ì°ðèéã íýìýõ õýðýãòýé.
Ñèñòåìèéã à÷ààëàõàä Vinum-èéã àâòîìàòààð ýõë³³ëýõèéí òóëä °°ðèéí /etc/rc.conf àéëä äàðààõ ì°ð áàéãàà ýñýõèéã øàëãààðàé: start_vinum="YES" # set to YES to start vinum
Õýðýâ òàíä /etc/rc.conf àéë áàéõã³é áîë èéì àãóóëãàòàé íýãèéã ³³ñãýýðýé. Ýíý íü ñèñòåìèéã ýõëýõäýý Vinum kld-ã à÷ààëóóëæ òîõèðãîîíä äóðäàãäñàí îáüåêò á³ðèéã ýõë³³ëýõýä õ³ðãýäýã. Ýíý íü
560
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
àéëûí ñèñòåì³³äèéã õîëáîõîîñ °ìí° õèéãääýã ó÷èð àâòîìàòààð Vinum ýçëýõ³³í³³ä äýýð fsck(8) õèéõ áîëîí àéëûí ñèñòåì³³äèéã õîëáîõ áîëîìæòîé þì. vinum start òóøààëààð Vinum-èéã ýõë³³ëýõýä Vinum íü àëü íýã Vinum õ°ò÷°°ñ òîõèðãîîíû ìýäýýëëèéí áààçûã óíøäàã. Åðäèéí òîõèîëäîëä õ°ò°÷ á³ð òîõèðãîîíû ìýäýýëëèéí áààçûí àäèë õóóëáàðûã àãóóëäàã ó÷èð àëü õ°ò°÷ óíøèãäàõ íü õàìààã³é þì. ýõäýý ñ³éðëèéí äàðàà Vinum íü àëü õ°ò°÷ õàìãèéí ñ³³ëä øèíý÷ëýãäñýíèéã òîäîðõîéëæ òýð õ°ò÷°°ñ òîõèðãîîã óíøèõ ¼ñòîé. Äàðàà íü òýð õýðýâ øààðäëàãàòàé áîë õóó÷èí õ°ò÷³³äýýñ òîõèðãîîã øèíý÷èëäýã.
21.9 Root
àéëûí ñèñòåìèéí õóâüä Vinum-èéã àøèãëàõ íü
Vinum àøèãëàí á³ðýí òîëèí òóñãàë õèéãäñýí àéëûí ñèñòåì³³ä á³õèé ìàøèíû õóâüä root àéëûí ñèñòåìèéã áàñ òîëèí òóñãàë õèéõ íü ç³éòýé. Èíãýæ òîõèðóóëàõ íü äóðûí àéëûí ñèñòåìèéã òîëèí òóñãàë õèéõýýñ àìàðã³é þì, ó÷èð íü: •
•
root àéëûí ñèñòåì íü à÷ààëàõ ïðîöåññèéí íýëýýí ýõýí ³åä áýëýí áàéæ áàéõ øààðäëàãàòàé ó÷ðààñ Vinum äýä á³òýö íü ýíý ³åä àëü õýäèéí áýëýí áîëñîí áàéõ øààðäëàãàòàé.
root àéëûí ñèñòåìèéã àãóóëñàí ýçëýõ³³í íü áàñ ñèñòåìèéã ýõë³³ëýõ êîä áîëîí ö°ìèéã àãóóëäàã á°ã°°ä ö°ì íü õîñò ñèñòåìèéí ýõ õýðýãñë³³ä (°°ð°°ð õýëáýë PC àíãèëëûí ìàøèíóóä äýýð BIOS) àøèãëàí óíøèãäàõ ¼ñòîé. Ýäãýýð õîñò ñèñòåìèéí ýõ õýðýãñë³³äýä Vinum-èéí òàëààð äýëãýðýíã³éã ìýä³³ëýõ èõýâ÷ëýí áîëîìæã³é áàéäàã.
Äàðààõ õýñã³³äýä “root ýçëýõ³³í” ãýñýí îéëãîëò root àéëûí ñèñòåìèéã àãóóëäàã Vinum ýçëýõ³³íèéã òàéëáàðëàõàä ãîë÷ëîí àøèãëàãäàíà. Ýíý ýçëýõ³³íèé õóâüä "root" ãýñýí íýðèéã àøèãëàõ íü ç³éòýé ñàíàà áîëîâ÷ ýíý íü àëü ÷ òàëààðàà çààâàë øààðäëàãàòàé áèø þì. Äàðààõ õýñã³³ä äýõ á³õ òóøààëûí æèøýýí³³ä íü ýíý íýðèéã àøèãëàõ áîëíî. 21.9.1 root
àéëûí ñèñòåìèéí õóâüä Vinum-èéã àëü áîëîõ ýðò ýõë³³ëýõ íü
Èíãýõèéí òóëä õýä õýäýí àðãà õýìæýýí³³äèéã àâàõ õýðýãòýé: •
Vinum íü à÷ààëàõ ³åä ö°ìä áýëýí áàéõ ¼ñòîé. Òèéìýýñ Section 21.8.1.1-ä òàéëáàðëàñàí Vinum-èéã
àâòîìàòààð ýõë³³ëýõ àðãà íü ýíý àñóóäëûã øèéäýõýä õýðýãëýõ áîëîìæã³é á°ã°°ä start_vinum ïàðàìåòðèéã äàðààõ òîõèðãîîã çîõèîí áàéãóóëñàí òîõèîëäîëä òîõèðóóëàõ ¼ñã³é. Ýõíèé òîõèðóóëãà íü Vinum-èéã ñòàòèêààð ö°ìä ýìõýòãýõ òîõèðóóëãà áàéõ þì. Òýãýõýýð ýíý áîëîìæ íü ³ðãýëæ áýëýí áàéõ áîëîâ÷ èõýíõ òîõèîëäîëä õ³ñìýýð ç³éë áèø áàéäàã. /boot/loader (Section 12.3.3)-ààð ö°ìèéã ýõëýõýýñ °ìí° vinum ö°ìèéí ìîäóëèéã ýðò à÷ààëàõààð òîõèðóóëàõ °°ð áàñ íýã òîõèðóóëãà áàéäàã. Èíãýõèéí òóëä äàðààõ ì°ðèéã: geom_vinum_load="YES" /boot/loader.conf
àéë óðóó îðóóëæ õèéæ áîëíî.
•
Note: Gvinum-èéí õóâüä á³õ ýõë³³ëýëò íü ö°ìèéí ìîäóëü à÷ààëàãäñàíû äàðàà àâòîìàòààð õèéãääýã ó÷ðààñ äýýð òàéëáàðëàñàí ïðîöåäóð áàéõàä ë õàíãàëòòàé. Äàðààõ òåêñò íü õóó÷èí òîõèðãîîíóóäûí òóñûí òóëä óëàìæëàëò Vinum ñèñòåìèéí àæèëëàãààã áàðèìòæóóëæ áàéíà.
561
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Vinum íü root àéëûí ñèñòåìä ýçëýõ³³íèéã õàíãàõ õýðýãòýé áàéäàã ó÷èð ýðò ýõë³³ëýãäýõ ¼ñòîé áàéäàã. Àíõäàã÷ààð ö°ìèéí Vinum õýñýã íü àäìèíèñòðàòîð (ýñâýë ýõë³³ëýõ ñêðèïò³³äèéí àëü íýã íü) vinum start òóøààë àæèëëóóëàõ õ³ðòýë Vinum ýçëýõ³³íèé ìýäýýëëèéã àãóóëñàí áàéæ áîëîõ õ°ò÷³³äèéã õàéäàãã³é. Note: FreeBSD-ä õýðýãòýé àëõìóóäûã äàðààõ õýñýã òàéëáàðëàõ áîëíî.
Äàðààõ ì°ðèéã: vinum.autostart="YES"
ãýæ /boot/loader.conf àéëä íýìæ Vinum-èéã ö°ìèéí ýõë³³ëýëòèéí õýñýã áîëîí Vinum ìýäýýëëèéí õóâüä á³õ õ°ò÷³³äèéã àâòîìàòààð ñêàí õèéõèéã çààæ °ãä°ã. Ö°ìä root àéëûí ñèñòåìèéã õàéõûã çààõ çààâàë øààðäëàãàã³éã òýìäýãëýå. /boot/loader íü root ò°õ°°ð°ìæèéí íýðèéã /etc/fstab àéëààñ õàéõ á°ã°°ä ýíý ìýäýýëëèéã ö°ìä äàìæóóëäàã. root àéëûí ñèñòåìèéã õîëáîõ ³åä °ã°ãäñ°í ò°õ°°ð°ìæèéí íýðýýñ àëü äðàéâåðààñ ³³íèéã äîòîîä ò°õ°°ð°ìæèéí ID (major/minor äóãààð) áîëãîí õ°ðâ³³ëýõèéã àñóóõàà ìýääýã.
äýýð òóëãóóðëàñàí root ýçëýõ³³íèéã ýõë³³ëýõ êîäîíä õàíäàõ áîëîìæòîé áîëãîõ íü
21.9.2 Vinum
Îäîîãèéí FreeBSD ýõë³³ëýã÷ íü ç°âõ°í 7.5KB êîä áàéäàã á°ã°°ä ýíý íü UFS àéëûí ñèñòåìýýñ àéëóóäûã (/boot/loader çýðýã) óíøäàãààð õèéãäñýí áàéäàã áîëîõîîð Vinum-èéí òîõèðãîîíû ìýäýýëëèéã áîëîâñðóóëæ ýõëýõ ýçëýõ³³íèé °°ðèéíõ íü ýëåìåíò³³äèéã òàíüæ Vinum-èéí äîòîîä á³òö³³äèéã ò³³íä ìýä³³ëýõ íü èëò áîëîìæã³é þì. Òèéìýýñ root àéëûí ñèñòåìèéã àãóóëäàã ñòàíäàðò "a" õóâààëòûí õóóðàì÷ ³çýãäëýýð ýõë³³ëýã÷ êîäûã õàíãàõ çàðèì íýãýí çàëü ìýõ øààðäëàãàòàé áàéäàã. Èíãýõèéí òóëä root ýçëýõ³³íèé õóâüä äàðààõ øààðäëàãóóäûã õàíãàñàí áàéõ ¼ñòîé: • •
root ýçëýõ³³í íü ñóäàë õèéãäýýã³é ýñâýë RAID-5 õèéãäýýã³é áàéõ ¼ñòîé.
root ýçëýõ³³í íü íýã plex-èéí õóâüä íýãýýñ èë³³ íèéë³³ëýãäñýí äýä äèñêòýé áàéõ ¼ñã³é.
Òóñ á³ðäýý root àéëûí ñèñòåìèéí íýã õóóëáàðûã àãóóëñàí îëîí plex áàéëãàõ áîëîìæòîé á°ã°°ä èíãýõ ñîíèðõîëòîé áàéäãèéã ñàíààðàé. ýõäýý ýõë³³ëýã÷ ïðîöåññ íü ýäãýýð õóóëáàðóóäûí ç°âõ°í íýãèéã ýõë³³ëýã÷ áîëîí á³õ àéëóóäûã îëîõûí òóëä ö°ì root àéëûí ñèñòåìèéã °°ðèéã íü õîëáîõ õ³ðòýë õýðýãëýäýã. Äàðàà íü õàðãàëçàõ ò°õ°°ð°ìæèéã ýõë³³ëýõ áîëîìæòîé áîëãîõûí òóëä ýäãýýð plex-³³äèéí äîòîðõ ãàíö äýä äèñê á³ðò °°ðñäèéí "a" õóâààëòûí õóóðàì÷ ³çýãäýë õýðýãòýé áîëäîã. Ýäãýýð õóóðñàí "a" õóâààëò á³ð °°ðèéí ò°õ°°ð°ìæèéí äîòîð àäèë îñåòýä áàéðëàõ íü root ýçëýõ³³íèé plex-³³äèéã àãóóëäàã áóñàä ò°õ°°ð°ìæ³³äòýé õàðüöóóëàõ þì áîë çààâàë õýðýãòýé áàéäàãã³é. ýõäýý Vinum ýçëýõ³³í³³äèéã òîëèí òóñãàë õèéãäñýí ò°õ°°ð°ìæ³³ä íü òýãø õýìò áàéõààð ýíä³³ðëýýñ õàìãààëæ ³³ñãýõ íü ìàãàäã³é ç³éòýé ñàíàà áàéõ þì. Ýäãýýð "a" õóâààëòóóäûã root ýçëýõ³³íèé õýñãèéã àãóóëñàí ò°õ°°ð°ìæ á³ðèéí õóâüä òîõèðóóëàõûí òóëä äîîð äóðäñàíûã õèéõ õýðýãòýé:
562
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð 1.
Ýíý ò°õ°°ð°ìæèéí root ýçëýõ³³íèé õýñýã áîëîõ äýä äèñêíèé áàéðëàë (ò°õ°°ð°ìæèéí ýõýí õýñãýýñ òîäîðõîé îñåòýä) áîëîí õýìæýýã äàðààõ òóøààëûã àøèãëàæ øàëãàõ õýðýãòýé: # gvinum l -rv root
Vinum îñåò³³ä áîëîí õýìæýýí³³ä íü áàéòààð õýìæèãääýã áîëîõûã ñàíààðàé. bsdlabel òóøààëä õýðýãëýãääýã áëîê äóãààðóóäûã îëæ àâàõûí òóëä òýäãýýð íü 512-ò õóâààãäàõ ¼ñòîé. 2.
Äàðààõ òóøààëûã:
# bsdlabel -e devname
3.
ãýæ root ýçëýõ³³íä îðîëöîæ áàéãàà ò°õ°°ð°ìæ á³ðèéí õóâüä àæèëëóóëíà. devname íü ç³ñìýëèéí õ³ñíýãòã³é äèñêí³³äèéí äèñêíèé íýð (da0 ãýõ çýðýã) ýñâýë ç³ñìýëèéí íýð (ad0s1 ãýõ çýðýã) áàéõ ¼ñòîé. Õýðýâ ò°õ°°ð°ìæ äýýð "a" õóâààëò (Vinum-èéí °ìí°õ root àéëûí ñèñòåìèéã àãóóëñàí) áàéõ þì áîë ýíý íü õàíäàõàä áîëîìæòîé õýâýýð (ç°âõ°í ýíý òîõèîëäîëä) áàéõûí òóëä °°ð íýðýýð íýðëýãäýõ øààðäëàãàòàé. ýõäýý àíõäàã÷ààð ñèñòåìèéã ýõë³³ëýõýä õýðýãëýãäýõýý áîëèõ þì. Èäýâõòýé õóâààëòóóäûí (îäîîãîîð õîëáîãäñîí root àéëûí ñèñòåì çýðýã) íýðèéã °°ð÷èëæ áîëîõã³é, òèéì áîëîõîîð ³³íèéã “Fixit” ç°°â°ðë°ã÷°°ñ ýõë³³ëýõ ³åä ýñâýë (òîëèí òóñãàë õèéãäñýí í°õö°ëä) à÷ààëààã³é áàéãàà äèñêèéã ýõëýýä óäèðäàõ õî¼ð àëõàìòàé ïðîöåññèéí ³åä àæèëëóóëàõ ¼ñòîéã ñàíààðàé. Äàðàà íü ýíý ò°õ°°ð°ìæ äýýðõ Vinum õóâààëòûí îñåò íü ýíý ò°õ°°ð°ìæèéí õàðãàëçàõ root ýçëýõ³³íèé äýä äèñêíèé îñåòýä íýìýãäýõ ¼ñòîé. ð ä³íä íü ãàðàõ óòãà íü øèíý "a" õóâààëòûí õóâüä "offset" áóþó îñåò óòãà áîëíî. Ýíý õóâààëòûí õóâüä "size" áóþó õýìæýý óòãûã äýýðõ òîîöîîëëîîñ ³ã÷ëýí àâ÷ áîëíî. "fstype" íü 4.2BSD áàéõ ¼ñòîé. "fsize", "bsize", áîëîí "cpg" óòãóóä íü áàéãàà àéëûí ñèñòåìòýé òààðàõààð ñîíãîãäñîí áàéõ õýðýãòýé, ãýõäýý òýäãýýð íü ýíý ñýäýâò áàðàã ë ÷óõàë áèø þì. Èéì çàìààð øèíý "a" õóâààëò íü ýíý ò°õ°°ð°ìæ äýýðõ Vinum õóâààëòûã äàðæ áàéãóóëàãäàíà. Õýðýâ Vinum õóâààëò íü "vinum" fstype-ã àøèãëàí ç°â°°ð òýìäýãëýãäñýí áîë bsdlabel òóøààë íü ç°âõ°í ýíý äàðàëòûã ç°âø°°ð°õ áîëíî. Èíãýýä áîëëîî! root ýçëýõ³³íèé íýã õóóëáàðòàé ò°õ°°ð°ìæ á³ð äýýð õóóðñàí "a" õóâààëò îäîî áèé áîëëîî. ð ä³íã äàðààõ òóøààëòàé ò°ñòýé òóøààë àøèãëàí äàõèí øàëãàõûã ç°âë°ä°ã: # fsck -n /dev/devnamea
Øèíý Vinum root ýçëýõ³³íèéã òîõèðóóëàõ ³åä èäýâõòýé áàéãàà root àéëûí ñèñòåìòýé òààðäàãã³é ó÷èð õÿíàëòûí ìýäýýëýë àãóóëñàí á³õ àéëóóä íü Vinum ýçëýõ³³í äýõ root àéëûí ñèñòåìä õàðüöàíãóé áàéõ ¼ñòîéã ñàíàõ õýðýãòýé. Òýãýõýýð ÿëàíãóÿà /etc/fstab áîëîí /boot/loader.conf àéëóóäûã áîäîëöîõ õýðýãòýé þì. Äàðààãèéí äàõèí à÷ààëàëòûí äàðàà ýõë³³ëýã÷ íü øèíý Vinum äýýð òóëãóóðëàñàí root àéëûí ñèñòåìýýñ òîõèðîõ õÿíàëòûí ìýäýýëëèéã îëæ ò³³íèé äàãóó àæèëëàõ ¼ñòîé. Ö°ìèéí ýõë³³ëýõ ïðîöåññèéí ò°ãñã°ëä á³õ ò°õ°°ð°ìæ³³ä çàðëàãäñàíû äàðàà ýíý òîõèðãîîã àìæèëòòàé áîëñíûã õàðóóëñàí àëäàðòàé ìýäýãäýë èéìýðõ³³ áàéäëààð õàðóóëàãäàíà: Mounting root from ufs:/dev/gvinum/root
563
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
21.9.3 Vinum
äýýð òóëãóóðëàñàí root òîõèðãîîíû æèøýý
Vinum root ýçëýõ³³í òîõèðóóëàãäñàíû äàðàà gvinum l -rv root òóøààëûí ³ð ä³í èéìýðõ³³ õàðàãäàíà: ... Subdisk root.p0.s0: Size: 125829120 bytes (120 MB) State: up Plex root.p0 at offset 0 (0 B) Drive disk0 (/dev/da0h) at offset 135680 (132 kB) Subdisk root.p1.s0: Size: 125829120 bytes (120 MB) State: up Plex root.p1 at offset 0 (0 B) Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
Òýìäýãëýõ ¼ñòîé óòãóóä íü îñåòèéí (/dev/da0h õóâààëòûí õóâüä õàðüöàíãóé áàéíà) õóâüä 135680 áàéíà. Ýíý íü bsdlabel-èéí îéëãîëòîä 265 øèðõýã 512 áàéò äèñê áëîê óðóó õ°ðâ³³ëíý. ³íòýé àäèëààð ýíý root ýçëýõ³³íèé õýìæýý íü 245760 512 áàéò áëîê þì. Ýíý root ýçëýõ³³íèé õî¼ð äàõü õóóëáàðûã àãóóëñàí /dev/da1h íü òýãø õýìòýé òîõèðãîîòîé áàéíà. Ýäãýýð ò°õ°°ð°ìæèéí õóâüä bsdlabel íü èéìýðõ³³ õàðàãäàíà: ... 8 partitions: # size a: 245760 c: 71771688 h: 71771672
offset 281 0 16
fstype 4.2BSD unused vinum
[fsize bsize bps/cpg] 2048 16384 0 # (Cyl. 0 0 # (Cyl. # (Cyl.
0*- 15*) 0 - 4467*) 0*- 4467*)
Õóóðñàí "a" õóâààëòûí "size" ïàðàìåòð íü äýýð õàðóóëñàí óòãàòàé òààðäàã áîë õàðèí "offset" ïàðàìåòð íü Vinum õóâààëò "h" äîòîðõ îñåò áîëîí ò°õ°°ð°ìæ (ýñâýë ç³ñìýë) äýõ ýíý õóâààëòûí îñåòèéí íèéëáýð áîëîõûã ýíäýýñ õàðæ áîëíî. Ýíý íü Section 21.9.4.3-ä òàéëáàðëàñàí àñóóäëûã òîéðîí ãàðàõàä øààðäëàãàòàé åðäèéí òîõèðãîî þì. Ì°í á³õýë "a" õóâààëò íü ýíý ò°õ°°ð°ìæèéí õóâüä á³õ ë Vinum °ã°ãäëèéã àãóóëàí á³òíýýðýý "h" äîòîð áàéõûã ýíäýýñ áàñ õàðæ áîëíî. Äýýðõ æèøýýí äýýð á³õýë ò°õ°°ð°ìæ íü Vinum-ä çîðèóëàãäñàí á°ã°°ä ç°âõ°í Vinum òîõèðãîîíû õýñýã áîëîõîîð çîðèóëàãäñàí äèñêíèé øèíý òîõèðãîî ó÷ðààñ Vinum-ààñ °ìí°õ root õóâààëòûí ³ëäýãäýë áàéõã³é áîëîõûã ñàíàõ õýðýãòýé. 21.9.4
Àëäààã îëæ çàñâàðëàõ íü
Õýðýâ ÿìàð íýãýí ç³éë áîëîõîî áàéâàë ýíý òîõèîëäîëä ñýðãýýõ àðãà õýðýãòýé. Äàðààõ æàãñààëò íü òîõèîëääîã ö°°í õýäýí àñóóäëóóä áîëîí øèéäë³³äèéã õàðóóëæ áàéíà. 21.9.4.1 Ñèñòåìèéí ýõë³³ëýã÷ à÷ààëàõ áîëîâ÷ ñèñòåì ýõëýõã³é áàéõ
ßìàð íýã øàëòãààíààð ñèñòåì íü à÷ààëàõã³é áîë ýõë³³ëýã÷èéã 10 ñåêóíäûí àíõààðóóëãà äýýð space òîâ÷ëóóð äàðæ òàñàëäóóëæ áîëíî. Äóóäàã÷èéí õóâüñàã÷óóäûã (vinum.autostart çýðýã) show òóøààë àøèãëàí øàëãàæ áîëîõ á°ã°°ä set ýñâýë unset òóøààëóóäûã àøèãëàí òîõèðóóëæ áîëíî.
564
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
Õýðýâ ö°ìèéí Vinum ìîäóëü íü àâòîìàòààð äóóäàãääàã ìîäóëèóäûí æàãñààëòàä îðæ àìæààã³é áàéõ þì áîë åðäèéí load geom_vinum òóøààë òóñëàíà. Áýëýí áîëñíûõîî äàðàà à÷ààëàõ ïðîöåññèéã boot -as òóøààëààð ³ðãýëæë³³ëæ áîëíî. -as òîõèðóóëãóóä íü root àéëûí ñèñòåìèéã õîëáîõûã (-a) àñóóäàã á°ã°°ä à÷ààëàõ ïðîöåññèéã root àéëûí ñèñòåìèéã ç°âõ°í óíøèõ ýðõýýð õîëáîñîí ãàíö-õýðýãëýã÷èéí ãîðèìä (-s) çîãñîîõûã ö°ì°°ñ õ³ñäýã. Èéì çàìààð îëîí-plex ýçëýõ³³íèé ç°âõ°í íýã plex õîëáîãäñîí áàéõàä plex-³³ä õîîðîíäûí °ã°ãäëèéí á³ðýí á³òýí áóñ áàéäëûí ýðñäýë ãàðäàãã³é. root àéëûí ñèñòåìèéã õîëáîõûã àñóóõ ì°ð°í äýýð ç°â root àéëûí ñèñòåìòýé äóðûí ò°õ°°ð°ìæèéã îðóóëæ áîëíî. Õýðýâ /etc/fstab ç°â òîõèðóóëàãäñàí áîë àíõäàã÷ íü ufs:/dev/gvinum/root ì°ðòýé ò°ñ°°òýé áàéõ ¼ñòîé. Åðäèéí °°ð íýã ñîíãîëò íü ufs:da0d çýðýã Vinum-ààñ °ìí°õ root àéëûí ñèñòåìèéã àãóóëäàã òààìàãëàë õóâààëò áàéæ áîëîõ þì. Ýíä æèíõýíýäýý òîëèí òóñãàë ³³ñãýãäñýí òîõèðóóëãààñ áîëîîä Vinum root ò°õ°°ð°ìæèéí äýä äèñêí³³ä óðóó çààñàí àëü íýã õóóëáàð "a" õóâààëòûã îðóóëñàí áîë áîëãîîìæòîé áàéõ õýðýãòýé á°ã°°ä ýíý íü òîëèí òóñãàë õèéãäñýí root ò°õ°°ð°ìæèéí ç°âõ°í íýãèéã õîëáîõ áîëíî. Õýðýâ ýíý àéëûí ñèñòåì íü äàðàà íü óíøèõ áè÷èõ ýðõòýéãýýð õîëáîãäîõ áîë Vinum root ýçëýõ³³íèé áóñàä plex-(³³ä)èéã àðèëãàõ øààðäëàãàòàé. Ó÷èð íü ýäãýýð plex-³³ä íü á³ðýí á³òýí áóñ °ã°ãäëèéã ç°°â°ðë°õ áîëíî. 21.9.4.2 Ç°âõ°í àíõäàã÷ ýõë³³ëýã÷ äóóäàõ
Õýðýâ /boot/loader äóóäàãäàõã³é áàéãàà áîëîâ÷ àíõäàã÷ ýõë³³ëýã÷ äóóäàãäàæ áàéâàë (à÷ààëàõ ïðîöåññ ýõýëñíèé äàðàà äýëãýöèéí ç³³í áàãàíà äýýð ãàíö çóðààñ õàðàãääàã) ýíý ³åä àíõäàã÷ ýõë³³ëýã÷èéã òàñàëäóóëàõ îðîëäëîãûã space òîâ÷ëóóð àøèãëàí õèéæ áîëíî. Ýíý íü ýõë³³ëýã÷èéã õî¼ðäóãààð àëõàì äýýð çîãñîîõ á°ã°°ä Section 12.3.2-ñ ³çíý ³³. Ýíä "a"-ñ äýýð øèëæ³³ëýãäñýí °ìí°õ root àéëûí ñèñòåìèéã àãóóëñàí °°ð õóâààëòààñ à÷ààëàõ îðîëäëîãî õèéæ áîëîõ þì. 21.9.4.3 Þó ÷ à÷ààëàõã³é áîëæ ýõë³³ëýã÷ ñ³éðýõ
Ýíý òîõèîëäîë íü õýðýâ ýõë³³ëýã÷èéã Vinum ñóóëãàöààð óñòãàñàí áîë òîõèîëääîã. Õàðàìñàëòàé íü îäîîãîîð Vinum íü ñàíàìñàðã³éãýýð ç°âõ°í 4 KB õýìæýýã ÷°ë°°òýéã°°ð °°ðèéí õóâààëòûí ýõýíä °°ðèéí Vinum òîëãîéí ìýäýýëëèéã áè÷èæ ýõëýõýýñýý °ìí° ³ëäýýäýã. ýõäýý íýãä³ãýýð àëõàì áà õî¼ðäóãààð ýõë³³ëýã÷èä, òýäãýýðèéí õîîðîíä ñóóëãàãäñàí bsdlabel íü îäîîãîîð 8 KB-ã øààðääàã. Õýðýâ Vinum õóâààëò íü à÷ààëàãäàõ áîëîìæòîé ãýãäýæ áàéãàà ç³ñìýë ýñâýë äèñê äîòîð 0 îñåòýä ýõýëñýí áîë Vinum íü ýõë³³ëýã÷èéã óñòãàíà. ³íòýé àäèëààð õýðýâ äýýðõ òîõèîëäîë ñýðãýýãäñýí áîë, æèøýý íü “Fixit” ç°°â°ðë°ã÷°°ñ à÷ààëàãäàæ ýõë³³ëýã÷ íü Section 12.3.2-ä òàéëáàðëàñíû äàãóó äàõèí ñóóëãàãäñàí áîë ýõë³³ëýã÷ íü Vinum òîëãîéã óñòãàõ á°ã°°ä Vinum íü °°ðèéí äèñê(³³ä)èéã äàõèæ îëîõã³é áàéõ áîëíî. ßã æèíõýíýäýý Vinum-èéí òîõèðãîîíû °ã°ãä°ë ýñâýë Vinum-èéí ýçëýõ³³í³³ä äýõ °ã°ãä°ë íü ýíý ³åä óñòãàãääàãã³é á°ã°°ä á³õ °ã°ãäëèéã ÿã àäèëõàí Vinum òîõèðãîîíû °ã°ãäëèéã äàõèí îðóóëñíààð ñýðýýõ áîëîìæòîé áîëîâ÷ èéì òîõèîëäëûã çàñâàðëàõ íü èõ õýö³³ áàéäàã. Vinum òîëãîé áîëîí ñèñòåìèéí ýõë³³ëýã÷èéã äàâõöóóëàõã³é áàéëãàõûí òóëä á³õýë Vinum õóâààëòûã õàìãèéí áàãààð áîäîõîä 4 KB-ààð øèëæ³³ëýõ õýðýãòýé áîëíî.
Notes 1. RAID íü Redundant Array of Inexpensive Disks áóþó Õÿìä äèñêí³³äèéí Í°°ö Ìàññèâ
á°ã°°ä ãýìòýë 565
Chapter 21 Vinum Ýçëýõ³³í Ìåíåæåð
äààõ ÷àäâàðûí ò°ð°ë á³ðèéí õýëáýð³³äèéã ñàíàë áîëãîäîã á°ã°°ä ãýõäýý ñ³³ëèéí îéëãîëò íü çàðèì òàëààðàà ò°°ð°ãä³³ëìýýð þì: ýíý íü ÿìàð ÷ í°°öèéí áîëîìæèéã õàíãàäàãã³é.
566
Chapter 22
Âèðòóàë÷ëàë
Õóâü íýìýð áîëãîí îðóóëñàí Ìþððåé Ñò°³êëè. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 22.1
Åð°íõèé àãóóëãà
Âèðòóàë÷ëàëûí ïðîãðàì õàíãàìæ íü îëîí ³éëäëèéí ñèñòåìèéã íýã êîìïüþòåð äýýð àæèëëóóëàõ áîëîìæèéã îëãîäîã. PC-³³äýä çîðèóëñàí òèéì ïðîãðàì õàíãàìæóóä íü âèðòóàë÷ëàëûí ïðîãðàì õàíãàìæèéã àæèëëóóëæ çî÷èí ³éëäëèéí ñèñòåì õýä ë áîë õýäèéã äýìæèõ ýõ ³éëäëèéí ñèñòåì áàéäàã. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: Õîñò áóþó ýõ ³éëäëèéí ñèñòåì áîëîí çî÷èí ³éëäëèéí ñèñòåìèéí ÿëãàà. • FreeBSD-ã Intel äýýð ñóóðèëñàí Apple Macintosh êîìïüþòåð äýýð õýðõýí ñóóëãàõ òàëààð. • FreeBSD-ã Ëèíóêñ äýýð Xen™ àøèãëàí õýðõýí ñóóëãàõ òàëààð. • FreeBSD-ã Microsoft Windows äýýð Virtual PC àøèãëàí õýðõýí ñóóëãàõ òàëààð. • Âèðòóàë÷ëàëûí äîîð FreeBSD ñèñòåìèéã õàìãèéí ñàéí àæèëëàãààòàéãààð õýðõýí òààðóóëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
• • • •
UNIX áîëîí FreeBSD-èéí ³íäñ³³äèéã îéëãîõ (Chapter 3). FreeBSD-ã õýðõýí ñóóëãàõ òàëààð ìýäýõ (Chapter 2).
°ðèéí ñ³ëæýýíèé õîëáîëòîî õýðõýí òîõèðóóëàõ òàëààð ìýäýõ (Chapter 31). Íýìýëò ãóðàâäàã÷ ïðîãðàì õàíãàìæóóäûã õýðõýí ñóóëãàõ òàëààð ìýäýõ (Chapter 4).
22.2 FreeBSD22.2.1 MacOS
ã çî÷èí OS ìàÿãààð àøèãëàõ
äýýðõ Parallels
Mac-ä çîðèóëñàí Parallels Desktop íü Mac OS 10.4.6 áóþó ò³³íýýñ äýýø õóâèëáàðûã àøèãëàæ áàéãàà Intel äýýð ñóóðèëñàí Apple Mac êîìïüþòåðóóäàä çîðèóëàãäñàí àðèëæààíû ïðîãðàì õàíãàìæèéí á³òýýãäýõ³³í þì. FreeBSD íü á³ðýí äýìæèãäñýí çî÷èí ³éëäëèéí ñèñòåì þì. Mac OS X äýýð Parallels
ñóóëãàãäñàíû äàðàà õýðýãëýã÷ âèðòóàë ìàøèíàà òîõèðóóëæ äàðàà íü õ³ñýæ áàéãàà çî÷èí ³éëäëèéí ñèñòåìýý ñóóëãàõ ¼ñòîé. 22.2.1.1 Parallels/Mac OS® X äýýð FreeBSD-ã ñóóëãàõ
FreeBSD-ã Mac OS X/Parallels äýýð ñóóëãàõ ýõíèé àëõàì íü FreeBSD-ã ñóóëãàõàä çîðèóëæ øèíý âèðòóàë ìàøèíûã ³³ñãýõ ÿâäàë þì. Guest OS Type áóþó Çî÷èí OS-èéí ò°ð°ë ãýæ àñóóõàä íü FreeBSD ãýæ ñîíãîõ õýðýãòýé:
567
Chapter 22 Âèðòóàë÷ëàë
Òýãýýä ýíý âèðòóàë FreeBSD ìàøèíû õóâüä °°ðèéí ò°ë°âë°ã°°í°°ñ õàìààðààä áîëîìæèéí õýìæýýíèé äèñê áîëîí ñàíàõ îéã ñîíãîõ õýðýãòýé. Parallels äýýð FreeBSD-ã àøèãëàõ èõýíõ õýðýãëýýíèé õóâüä 4GB äèñêíèé çàé áà 512MB õýìæýýíèé RAM ñàéí àæèëëàäàã.
568
Chapter 22 Âèðòóàë÷ëàë
569
Chapter 22 Âèðòóàë÷ëàë
570
Chapter 22 Âèðòóàë÷ëàë
571
Chapter 22 Âèðòóàë÷ëàë
ѳëæýýíèé ò°ð°ë áîëîí ñ³ëæýýíèé èíòåðýéñèéã ñîíãîíî:
572
Chapter 22 Âèðòóàë÷ëàë
573
Chapter 22 Âèðòóàë÷ëàë
Õàäãàëààä òîõèðãîîã äóóñãàíà:
574
Chapter 22 Âèðòóàë÷ëàë
575
Chapter 22 Âèðòóàë÷ëàë
Òàíû FreeBSD âèðòóàë ìàøèí ³³ñãýãäñýíèé äàðàà òà FreeBSD-ã ò³³í äýýð ñóóëãàõ õýðýãòýé áîëíî. Àëáàí ¼ñíû FreeBSD CDROM ýñâýë àëáàí ¼ñíû FTP ñàéòààñ òàòàí àâñàí ISO ä³ðñ àøèãëàí ñóóëãàõ íü ç³éòýé þì. Òà °°ðèéí ëîêàë Mac àéëûí ñèñòåì äýýðýý òîõèðîõ ISO ä³ðñòýé áîëîíãóóòàà ýñâýë °°ðèéí Mac-èéí CD õ°ò°÷ äýýð CDROM-òîé áîëîíãóóòàà °°ðèéí FreeBSD Parallels öîíõíû áàðóóí äîîä òàëä áàéãàà äèñêíèé ä³ðñýí äýýð äàðàõ õýðýãòýé. Ýíý íü òàíû âèðòóàë ìàøèí äàõü CDROM õ°ò÷èéã äèñê äýýðõ ISO àéë ýñâýë òàíû æèíõýíý CDROM õ°ò°÷òýé õîëáîõ áîëîìæèéã îëãîõ öîíõûã õàðóóëàõ áîëíî.
576
Chapter 22 Âèðòóàë÷ëàë
°ðèéí CDROM ýõòýé ýíý õîëáîëòûã õèéñíèéõýý äàðàà äàõèí à÷ààëàõ ä³ðñèéã äàðæ °°ðèéí FreeBSD ìàøèíûã õýâèéí ³åä äàõèí à÷ààëäàã øèãýý äàõèí à÷ààëíà. Parallels íü õýâèéí BIOS-èéí õèéäýã øèã òàíä CDROM áàéãàà ýñýõèéã øàëãàõ òóñãàé BIOS-îîð ýõëýõ áîëíî.
577
Chapter 22 Âèðòóàë÷ëàë
Ýíý òîõèîëäîëä ýíý íü FreeBSD-èéí ñóóëãàõ ç°°â°ðë°ã÷èéã îëæ Chapter 2-ò òàéëáàðëàãäñàíû àäèëààð åðäèéí sysinstall äýýð ñóóðèëñàí ñóóëãàëòûã ýõë³³ëýõ áîëíî. Òà X11 ñèñòåìèéã ñóóëãàæ áîëîõ áîëîâ÷ ýíý óäààä òîõèðóóëàõûã áèòãèé îðîëäîîðîé.
578
Chapter 22 Âèðòóàë÷ëàë
Ñóóëãàëòûã äóóññàíûõàà äàðàà òà °°ðèéí øèíý ñóóëãàñàí FreeBSD âèðòóàë ìàøèí ðóóãàà äàõèí à÷ààëæ îðîîðîé.
579
Chapter 22 Âèðòóàë÷ëàë
22.2.1.2 FreeBSD-ã Mac OS X/Parallels äýýð òîõèðóóëàõ
FreeBSD-ã Parallels-èéí òóñëàìæòàé Mac OS X äýýð àìæèëòòàéãààð ñóóëãàñíû äàðàà âèðòóàë÷ëàãäñàí
àæèëëàãààíä çîðèóëæ ñèñòåìèéã îíîâ÷òîé áîëãîõûí òóëä õýä õýäýí òîõèðãîîíû àëõìóóäûã õèéõ ¼ñòîé. 1.
À÷ààëàã÷ äóóäàã÷èéí õóâüñàã÷óóäûã òîõèðóóëíà Õàìãèéí ÷óõàë àëõàì áîë Parallels-èéí îð÷èíä FreeBSD-èéí CPU-í õýðýãëýýã áàãàñãàõûí òóëä kern.hz-ã áàãàñãàõ ÿâäàë þì. Äàðààõ ì°ðèéã /boot/loader.conf àéëä íýìýí ³³íèéã õèéæ áîëíî: kern.hz=100
2.
Ýíý òîõèðãîîã³éãýýð, ñóë çîãñîæ áàéãàà FreeBSD Parallels çî÷èí OS íýã ïðîöåññîð á³õèé iMac®-èéí CPU-èéí 15%-ã îéðîëöîîãîîð àøèãëàõ áîëíî. Ýíý °°ð÷ë°ëòèéí äàðàà õýðýãëýý íü 5% ðóó îéðòîõ áîëíî. Øèíý ö°ìèéí òîõèðãîîíû àéëûã ³³ñãýíý
580
Chapter 22 Âèðòóàë÷ëàë
3.
Òà á³õ SCSI, FireWire, áîëîí USB ò°õ°°ð°ìæèéí äðàéâåðóóäûã àðèëãàæ áîëíî. Parallels íü ed äðàéâåðèéí àøèãëàäàã âèðòóàë ñ³ëæýýíèé àäàïòåðèéí áîëîìæòîé áàéäàã, òýãýõýýð ed(4) áîëîí miibus(4)-ä çîðèóëñíààñ áóñàä á³õ ñ³ëæýýíèé ò°õ°°ð°ìæ³³äèéã ö°ì°°ñ àðèëãàæ áîëíî. ѳëæýýã òîõèðóóëíà Õàìãèéí õÿëáàð ñ³ëæýýíèé òîõèðãîî áîë òàíû õîñò Mac øèãýýð èæèë ëîêàë ñ³ëæýýíä °°ðèéí âèðòóàë ìàøèíûã õîëáîõûí òóëä DHCP-ã àøèãëàõ ÿâäàë þì. ³íèéã /etc/rc.conf àéëä ifconfig_ed0="DHCP" ãýæ íýìýí õèéæ áîëíî. ѳëæýýíèé èë³³ íàðèéí òîõèðãîîíóóä Chapter 31-ä òàéëáàðëàãäñàí áàéãàà.
22.2.2
Ëèíóêñ äýýð àæèëëàõ Xen™ FreeBSD
Õóâü íýìýð áîëãîí îðóóëñàí Ôóêàíã ×åí (Loader). Xen õýò á³ðõ³³ë íü íýýëòòýé ýõ âèðòóàë÷ëàëûí á³òýýãäýõ³³í á°ã°°ä ò³³íèéã îäîîãîîîð àðèëæààíû XenSource êîìïàíè äýìæäýã. Çî÷èí ³éëäëèéí ñèñòåì³³ä íü domU äîìýéí ãýãääýã á°ã°°ä õîñò áóþó ýõ ³éëäëèéí ñèñòåì íü dom0 ãýãääýã. FreeBSD-èéí âèðòóàë õóâèëáàðûã Ëèíóêñ äýýð àæèëëóóëàõ ýõíèé àëõàì íü Ëèíóêñ dom0-ä çîðèóëæ Xen-èéã ñóóëãàõ ÿâäàë þì. Õîñò áóþó ýõ ³éëäëèéí ñèñòåì íü Slackware Ëèíóêñ òàðõàö áàéíà. 22.2.2.1 Xen 3-ã Ëèíóêñ dom0 äýýð ñóóëãàæ òîõèðóóëàõ 1.
Xen 3.0-ã XenSource-ñ òàòàæ àâàõ
xen-3.0.4_1-src.tgz (http://bits.xensource.com/oss-xen/release/3.0.4-1/src.tgz/xen-3.0.4_1-src.tgz)-ã http://www.xensource.com/-ñ òàòàæ àâàõ õýðýãòýé. 2.
tar õèéãäñýí á°ìá°ãèéã çàäëàõ õýðýãòýé
# cd xen-3.0.4_1-src # KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world # make install
Note: dom0-ä çîðèóëæ ö°ìèéã äàõèí ýìõýòãýõèéí # # # #
òóëä:
cd xen-3.0.4_1-src/linux-2.6.16.33-xen0 make menuconfig make make install
Xen-èé õóó÷èí õóâèëáàðóóäàä make ARCH=xen menuconfig
3.
òóøààëûã çààæ °ã°õ õýðýãòýé áàéæ áîëîõ þì
Grub menu.lst-ä öýñ îðóóëãà íýìýõ õýðýãòýé /boot/grub/menu.lst-
ã çàñâàðëàæ äàðààõ ì°ð³³äèéã íýìýõ õýðýãòýé:
title Xen-3.0.4 root (hd0,0) kernel /boot/xen-3.0.4-1.gz dom0_mem=262144 module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro
4.
°ðèéí êîìïüþòåðàà Xen ðóó äàõèí à÷ààëíà 581
Chapter 22 Âèðòóàë÷ëàë
Ýõëýýä /etc/xen/xend-config.sxp-ã çàñâàðëààä äàðààõ ì°ðèéã íýìíý: (network-script ’network-bridge netdev=eth0’)
Äàðàà íü áèä Xen-ã àæèëëóóëæ áîëíî: # /etc/init.d/xend start # /etc/init.d/xendomains start
Áèäíèé dom0 àæèëëàæ áàéíà: # xm list
Name Domain-0
ID 0
Mem VCPUs 256 1
State r-----
Time(s) 54452.9
22.2.2.2 FreeBSD 7-CURRENT domU Xen 3.0-ä çîðèóëñàí FreeBSD domU ö°ì áîëîí äèñêíèé ä³ðñèéã http://www.fsmware.com/ òàòàæ àâàõ õýðýãòýé. •
kernel-current (http://www.fsmware.com/xenofreebsd/7.0/download/kernel-current)
•
mdroot-7.0.bz2 (http://www.fsmware.com/xenofreebsd/7.0/download/mdroot-7.0.bz2)
•
xmexample1.bsd (http://www.fsmware.com/xenofreebsd/7.0/download/config/xmexample1.bsd)
òîõèðãîîíû àéëûã /etc/xen/ ñàíä õèéæ ö°ì áîëîí äèñêíèé ä³ðñíèé õàäãàëàãäñàí õýñýãòýé õîëáîîòîé îðóóëãóóäûã çàñâàðëàíà. Ýíý íü èéìýðõ³³ õàðàãäàõ ¼ñòîé:
xmexample1.bsd
kernel = "/opt/kernel-current" memory = 256 name = "freebsd" vif = [ ” ] disk = [ ’file:/opt/mdroot-7.0,hda1,w’ ] #on_crash = ’preserve’ extra = "boot_verbose" extra += ",boot_single" extra += ",kern.hz=100" extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a"
àéë øàõàãäààã³é áàéõ ¼ñòîé. Äàðàà íü kernel-current äàõü __xen_guest õýñãèéã Xen 3.0.3-èéí øààðääàã VIRT_BASE-ã íýìæ °°ð÷ë°õ õýðýãòýé: mdroot-7.0.bz2
# objcopy kernel-current -R __xen_guest # perl -e ’print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC00000 # objcopy kernel-current --add-section __xen_guest=tmp # objdump -j __xen_guest -s kernel-current
kernel-current:
file format elf32-i386
Contents of section __xen_guest: 0000 4c4f4144 45523d67 656e6572 69632c47 0010 55455354 5f4f533d 66726565 6273642c
LOADER=generic,G UEST_OS=freebsd,
582
Chapter 22 Âèðòóàë÷ëàë 0020 0030 0040 0050
47554553 4e5f5645 445f5359 53453d30
545f5645 523d7865 4d544142 78433030
523d372e 6e2d332e 2c564952 30303030
302c5845 302c4253 545f4241 3000
GUEST_VER=7.0,XE N_VER=xen-3.0,BS D_SYMTAB,VIRT_BA SE=0xC0000000.
Îäîî áèä °°ðñäèéí domU-ã ³³ñãýæ àæèëëóóëàõàä áýëýí áîëëîî: # xm create /etc/xen/xmexample1.bsd -c
Using config file "/etc/xen/xmexample1.bsd". Started domain freebsd WARNING: loader(8) metadata is missing! Copyright (c) 1992-2006 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 [email protected] :/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XEN WARNING: DIAGNOSTIC option enabled, expect reduced performance. Xen reported: 1796.927 MHz processor. Timecounter "ixen" frequency 1796927000 Hz quality 0 CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff Features2=0x4400> real memory = 265244672 (252 MB) avail memory = 255963136 (244 MB) xc0: <Xen Console> on motherboard cpu0 on motherboard Timecounters tick every 10.000 msec [XEN] Initialising virtual ethernet driver. xn0: Ethernet address: 00:16:3e:6b:de:3a [XEN] Trying to mount root from ufs:/dev/xbd769a WARNING: / was not properly dismounted Loading configuration files. No suitable dump device was found. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation Setting hostname: demo.freebsd.org. lo0: flags=8049 mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 Additional routing options:. Mounting NFS file systems:. Starting syslogd. /etc/rc: WARNING: Dump device does not exist. Savecore not run. ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout Starting usbd. usb: Kernel module not available: No such file or directory Starting local daemons:.
583
Chapter 22 Âèðòóàë÷ëàë Updating motd. Starting sshd. Initial i386 initialization:. Additional ABI support: linux. Starting cron. Local package initialization:. Additional TCP options:. Starting background file system checks in 60 seconds. Sun Apr
1 02:11:43 UTC 2007
FreeBSD/i386 (demo.freebsd.org) (xc0) login:
domU íü FreeBSD 7.0-CURRENT ö°ìèéã àæèëëóóëàõ ¼ñòîé: # uname -a
FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 [email protected] :/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF
ѳëæýýã îäîî domU äýýð òîõèðóóëæ áîëíî. FreeBSD domU íü xn0 ãýæ íýðëýãäýõ òóñãàé èíòåðýéñèéã àøèãëàõ áîëíî: # ifconfig xn0 10.10.10.200 netmask 255.0.0.0 # ifconfig
xn0: flags=843 mtu 1500 inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255 ether 00:16:3e:6b:de:3a lo0: flags=8049 mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000
dom0 Slackware äýýð Xen-ýýñ õàìààðàõ çàðèì ñ³ëæýýíèé èíòåðýéñ³³ä õàðàãäàõ ¼ñòîé: # ifconfig
eth0
Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2 inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:815 errors:0 dropped:0 overruns:0 frame:0 TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB)
lo
Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:99 errors:0 dropped:0 overruns:0 frame:0 TX packets:99 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB)
584
Chapter 22 Âèðòóàë÷ëàë peth0
Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0 TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB) Base address:0xc000 Memory:ef020000-ef040000
vif0.1
Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:1400 errors:0 dropped:0 overruns:0 frame:0 TX packets:815 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB)
vif1.0
Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:157 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:140 (140.0 b) TX bytes:158 (158.0 b)
xenbr1
Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:112 (112.0 b) TX bytes:0 (0.0 b)
# brctl show
bridge name xenbr1
bridge id 8000.feffffffffff
22.2.3 Windows
STP enabled no
interfaces vif0.1 peth0 vif1.0
äýýðõ Virtual PC
Windows-ä çîðèóëñàí Virtual PC íü ÷°ë°°òýé òàòàæ àâàõààð áàéäàã, Microsoft-èéí ïðîãðàì õàíãàìæ þì. Ñèñòåìèéí øààðäëàãóóä (http://www.microsoft.com/windows/downloads/virtualpc/sysreq.mspx) õóóäñûã ³çíý ³³. Microsoft Windows äýýð Virtual PC ñóóñíû äàðàà õýðýãëýã÷ âèðòóàë ìàøèíàà òîõèðóóëæ õ³ññýí çî÷èí ³éëäëèéí ñèñòåìýý ñóóëãàõ øààðäëàãàòàé. 22.2.3.1 Virtual PC/Microsoft® Windows äýýð FreeBSD ñóóëãàõ íü
Microsoft Windows/Virtual PC äýýð FreeBSD ñóóëãàõ ýõíèé àëõàì íü FreeBSD-ã ñóóëãàõ øèíý âèðòóàë ìàøèí ³³ñãýõ ÿâäàë þì. Àñóóõàä íü Create a virtual machine ãýñýí öýñèéã ñîíãîíî:
585
Chapter 22 Âèðòóàë÷ëàë
586
Chapter 22 Âèðòóàë÷ëàë
Òýãýýä äàðàà íü Operating system ãýäýã äýýð Other ãýäãèéã ñîíãîíî:
587
Chapter 22 Âèðòóàë÷ëàë
Äàðàà íü ýíý âèðòóàë FreeBSD-ä çîðèóëñàí °°ðèéí ò°ë°âë°ã°°í°°ñ°° õàìààðààä õàíãàëòòàé äèñê áîëîí ñàíàõ îéí õýìæýýã ñîíãîõ õýðýãòýé. Virtual PC äýýð FreeBSD-ã àøèãëàõàä èõýíõäýý 4GB äèñêíèé çàé áîëîí 512MB RAM õàíãàëòòàé áàéäàã:
588
Chapter 22 Âèðòóàë÷ëàë
589
Chapter 22 Âèðòóàë÷ëàë
Õàäãàëààä òîõèðãîîã äóóñãàíà:
590
Chapter 22 Âèðòóàë÷ëàë
°ðèéí FreeBSD âèðòóàë ìàøèíàà ñîíãîîä Settings äýýð äàðààä äàðàà íü ñ³ëæýýíèé ò°ð°ë áîëîí ñ³ëæýýíèé èíòåðýéñèéã òîõèðóóëíà:
591
Chapter 22 Âèðòóàë÷ëàë
592
Chapter 22 Âèðòóàë÷ëàë
°ðèéí ÷èíü FreeBSD ìàøèí ³³ñãýãäñýíèé äàðàà ò³³í äýýð FreeBSD ñóóëãàõ øààðäëàãàòàé áîëíî. ³íèéã àëáàí ¼ñíû FreeBSD CDROM ýñâýë àëáàí ¼ñíû FTP õàÿãààñ òàòàæ àâñàí ISO ä³ðñíýýñ ñóóëãàõ íü ç³éòýé. °ðèéí Windows àéëûí ñèñòåì äýýð òîõèðñîí ISO ä³ðñ ýñâýë CD õ°ò°÷ä°° CDROM õèéñíèéõýý äàðàà °°ðèéí âèðòóàë FreeBSD ìàøèí äýýð õî¼ð äàðæ ýõë³³ëýõ õýðýãòýé. Äàðàà íü Virtual PC öîíõíû CD öýñýí äýýð äàðæ Capture ISO Image... öýñèéã ñîíãîíî. Èíãýñíýýð òàíû âèðòóàë ìàøèí äýýð CDROM õ°ò÷èéã äèñê äýýð áàéãàà ISO àéëòàé ýñâýë òàíû °°ðèéí æèíõýíý CDROM õ°ò°÷òýé õîëáîõ áîëîìæèéã îëãîõ öîíõûã ãàðãàæ èðýõ þì.
593
Chapter 22 Âèðòóàë÷ëàë
594
Chapter 22 Âèðòóàë÷ëàë
°ðèéí CDROM ýõòýé ýíý õîëáîëòûã õèéñíèé äàðàà °°ðèéí FreeBSD âèðòóàë ìàøèíûã Action áîëîí Reset öýñ³³äèéã ñîíãîí äàõèí à÷ààëàõ õýðýãòýé. Virtual PC íü ÿã ë ýíãèéí BIOS øàëãàäàã øèã ë òàíä CDROM áàéãàà ýñýõèéã ýõëýí øàëãàõ òóñãàé BIOS-îîð äàõèí ýõëýí à÷ààëàõ áîëíî.
595
Chapter 22 Âèðòóàë÷ëàë
Ýíý òîõèîëäîëä FreeBSD-èéí ñóóëãàö ç°°â°ðë°ã÷èéã îëæ Chapter 2 äýýð òàéëáàðëàñàí øèã ýíãèéí sysinstall äýýð òóëãóóðëàñàí ñóóëãàëòûã ýõë³³ëíý. Òà X11-èéã ýíý ³åä ñóóëãàæ áîëîõ áîëîâ÷ òîõèðóóëàõûã á³³ îðîëäîîðîé.
596
Chapter 22 Âèðòóàë÷ëàë
Ñóóëãàæ äóóññàíûõàà äàðàà CDROM ýñâýë õóâèëáàðûí ISO ä³ðñýý ãàðãàæ àâàõàà ìàðòóóçàé. Ò°ãñã°ëä íü °°ðèéí øèíýõýí ñóóëãàñàí FreeBSD âèðòóàë ìàøèí óðóóãàà äàõèí à÷ààëæ îðîõ õýðýãòýé.
597
Chapter 22 Âèðòóàë÷ëàë
22.2.3.2 Microsoft Windows/Virtual PC äýýð FreeBSD-ã òîõèðóóëàõ íü
Microsoft Windows äýýð Virtual PC àøèãëàí FreeBSD-ã àìæèëòòàé ñóóëãàñíû äàðàà âèðòóàë÷ëàãäñàí ³éëäýëä çîðèóëæ ñèñòåìèéã îíîâ÷òîé áîëãîí õèéæ áîëîõ õýä õýäýí òîõèðãîîíû àëõìóóä áàéäàã. 1.
À÷ààëàã÷ äóóäàã÷èéí õóâüñàã÷óóäûã òîõèðóóëíà Õàìãèéí ÷óõàë àëõàì áîë Virtual PC îð÷èíä FreeBSD-èéí CPU-èéí õýðýãëýýã áàãàñãàõûí òóëä kern.hz òîõèðãîîã áàãàñãàõ ÿâäàë þì. ³íèéã õèéõèéí òóëä äîîð äóðäñàí ì°ðèéã /boot/loader.conf àéëä íýìíý: kern.hz=100
Ýíý òîõèðãîîã³é áîë ñóë çîãñîæ áàéãàà FreeBSD Virtual PC çî÷èí ³éëäëèéí ñèñòåì íýã ïðîöåññîðòîé êîìïüþòåðèéí CPU-íèé 40%-èéã îéðîëöîîãîîð àøèãëàõ áîëíî. Ýíý òîõèðãîîíû
598
Chapter 22 Âèðòóàë÷ëàë
2.
3.
äàðàà õýðýãëýý ä°íã°æ 3% óðóó ä°õ°æ î÷èõ áîëíî. Ö°ìèéí øèíý òîõèðãîîíû àéë ³³ñãýíý Òà SCSI, FireWire áîëîí USB ò°õ°°ð°ìæèéí á³õ äðàéâåðóóäûã óñòãàæ áîëíî. Virtual PC íü de(4) äðàéâåðèéí àøèãëàäàã âèðòóàë ñ³ëæýýíèé àäàïòåðèéí áîëîìæòîé á°ã°°ä òýãýõýýð de(4) áîëîí miibus(4)-ñ áóñàä á³õ ñ³ëæýýíèé ò°õ°°ð°ìæ³³äèéã ö°ì°°ñ àðèëãàæ áîëíî. ѳëæýýã òîõèðóóëíà Õàìãèéí ýíãèéí ñ³ëæýýíèé òîõèðãîî íü °°ðèéí ýõ Microsoft Windows õîëáîãäñîí òýð äîòîîä ñ³ëæýýíäýý °°ðèéí âèðòóàë ìàøèíûã õîëáîõäîî DHCP-èéã àøèãëàõ ÿâäàë þì. ifconfig_de0="DHCP" ì°ðèéã /etc/rc.conf àéëä íýìæ ³³íèéã õèéíý. ѳëæýýíèé èë³³ íàðèéí òîõèðãîîíóóäûí òàëààð Chapter 31 äýýð òàéëáàðëàñàí áàéãàà áîëíî.
22.2.4 MacOS
äýýðõ VMWare
Mac-ä çîðèóëñàí VMWare Fusion íü Mac OS 10.4.9 áîëîí ò³³íýýñ õîéøõ õóâèëáàð á³õèé Intel äýýð òóëãóóðëàñàí Apple Mac êîìïüþòåðóóäàä çîðèóëàãäñàí àðèëæààíû ïðîãðàì õàíãàìæ á³òýýãäýõ³³í þì. FreeBSD íü á³ðýí äýìæèãäñýí çî÷èí ³éëäëèéí ñèñòåì þì. Mac OS X äýýð VMWare Fusion
ñóóëãàñíû äàðàà õýðýãëýã÷ âèðòóàë ìàøèíàà òîõèðóóëæ õ³ññýí çî÷èí ³éëäëèéí ñèñòåìýý ñóóëãàõ ¼ñòîé.
22.2.4.1 VMWare/Mac OS X äýýð FreeBSD ñóóëãàõ íü
Ýõíèé àëõàì íü VMWare Fusion-ã ýõë³³ëíý, èíãýõýä Âèðòóàë Ìàøèíû Ñàí à÷ààëàãäàõ áîëíî. "New"-ã äàðæ VM áóþó âèðòóàë ìàøèí ³³ñãýíý:
599
Chapter 22 Âèðòóàë÷ëàë
Ýíý íü VM ³³ñãýõýä òàíü òóñëàõ New Virtual Machine Assistant áóþó Øèíý Âèðòóàë Ìàøèíû Òóñëàã÷èéã à÷ààëàõ á°ã°°ä Continue äàðæ ³ðãýëæë³³ëíý:
600
Chapter 22 Âèðòóàë÷ëàë
Operating System ãýäýã äýýð Other ãýäãèéã ñîíãîîä FreeBSD þì óó ýñâýë òà 64-áèòèéí äýìæëýã õ³ñýæ áàéãàà áîë FreeBSD 64-bit ãýäãèéã Version ãýäýã äýýð ñîíãîîðîé:
601
Chapter 22 Âèðòóàë÷ëàë
VM ä³ðñíèé íýð áîëîí õàäãàëàõûã õ³ñýæ áàéãàà òýð ñàíãèéíõàà íýðèéã ñîíãîíî:
602
Chapter 22 Âèðòóàë÷ëàë
VM-ä çîðèóëñàí Âèðòóàë Õàòóó Äèñêèéíõýý õýìæýýã ñîíãîíî:
603
Chapter 22 Âèðòóàë÷ëàë
VM-èéã ñóóëãàõäàà ISO ä³ðñ ýñâýë CD-èé àëü íýãíýýñ ñóóëãàõûã ñîíãîíî:
604
Chapter 22 Âèðòóàë÷ëàë
Finish-èéã äàðñíû äàðàà VM äàõèí à÷ààëàõ áîëíî:
605
Chapter 22 Âèðòóàë÷ëàë
Åðäèéí ñóóëãàäàãòàéãàà àäèë þì óó ýñâýë Chapter 2-ò çààñíû äàãóó FreeBSD-èéã ñóóëãàíà:
606
Chapter 22 Âèðòóàë÷ëàë
Ñóóëãàæ äóóññàíû äàðàà Ñàíàõ îéí õýðýãëýý çýðýã VM-èéí òîõèðãîîíóóäûã °°ð÷èëæ áîëíî: Note: VM-èéã àæèëëàæ áàéõàä VM-èéí ñèñòåìèéí òîíîã ò°õ°°ð°ìæèéí
òîõèðãîîíóóäûã °°ð÷èëæ áîëäîãã³é.
607
Chapter 22 Âèðòóàë÷ëàë
VM-èéí õàíäàæ áîëîõ CPU-èéí òîî:
608
Chapter 22 Âèðòóàë÷ëàë
CD-Rom ò°õ°°ð°ìæèéí ò°ë°â. Õýðýâ òàíä CD-Rom/ISO äàõèæ õýðýã áîëîõã³é áîë òà åð°íõèéä°° ò³³íèéã VM-ýýñ ñàëãàæ áîëíî.
609
Chapter 22 Âèðòóàë÷ëàë
ѳ³ëèéí °°ð÷ë°õ þì íü ñ³ëæýýíä VM õýðõýí õîëáîãäîõûã çààõ þì. Ýõ õîñòîîñ íü ãàäíà áóñàä ìàøèíóóäààñ VM ð³³ õîëáîëò õèéãääýã áàéõûã òà ç°âø°°ð°õèéã õ³ñýæ áàéãàà áîë Connect directly to the physical network (Bridged) áóþó Ôèçèê ñ³ëæýýíä øóóä õîëáîãäîõ ( ³³ð õèéãäñýí) ãýäãèéã ñîíãîîðîé. Õýðýâ òýãæ õ³ñýõã³é áàéãàà áîë VM-èéã Èíòåðíýò ð³³ õàíäàõ áîëîìæòîé áîëãîäîã áîëîâ÷ ñ³ëæýýíýýñ VM ð³³ õàíäàõ áîëîìæã³é Share the host’s internet connection (NAT) áóþó õîñòûí èíòåðíýòèéí õîëáîëòûã (NAT) õóâààëöàõ ãýñýí ñîíãîëòûã ñîíãîõûã ç°âë°ä°ã.
610
Chapter 22 Âèðòóàë÷ëàë
Òîõèðãîîíóóäûã °°ð÷èëæ äóóññàíûõàà äàðàà øèíýýð ñóóëãàñàí FreeBSD âèðòóàë ìàøèíàà à÷ààëàõ õýðýãòýé. 22.2.4.2 FreeBSD-ã Mac OS X/VMWare äýýð òîõèðóóëàõ íü
Mac OS X äýýð VMWare-èéí òóñëàìæòàéãààð FreeBSD àìæèëòòàé ñóóãäñàíû äàðàà âèðòóàë÷ëàãäñàí
³éëäýëä çîðèóëæ ñèñòåìèéã îíîâ÷òîé áîëãîõûí òóëä õèéãäýæ áîëîõ õýä õýäýí òîõèðãîîíû àëõìóóä áàéäàã. 1.
À÷ààëàã÷ äóóäàã÷èéí õóâüñàã÷óóäûã òîõèðóóëíà VMWare îð÷èí äîîð FreeBSD-èéí CPU-èéí õýðýãëýýã áàãàñãàõûí òóëä kern.hz òîõèðóóëãûã áàãàñãàõ íü õàìãèéí ÷óõàë àëõàì þì. Äàðààõ ì°ðèéã /boot/loader.conf-ä íýìñíýýð ³³íèéã õèéæ áîëíî: kern.hz=100
611
Chapter 22 Âèðòóàë÷ëàë
2.
3.
Ýíý òîõèðãîîã³éãýýð ñóë çîãñîæ áàéãàà FreeBSD VMWare çî÷èí OS íü ãàíö ïðîöåññîð á³õèé iMac-èéí CPU-íèé áàðàã 15%-èéã àøèãëàõ áîëíî. Ýíý °°ð÷ë°ëòèéí äàðàà àøèãëàëò ä°íã°æ 5% õ³ðýõ õýìæýýíèé áàéõ áîëíî. Ö°ìèéí øèíý òîõèðãîîíû àéë ³³ñãýíý Òà FireWire, áîëîí USB ò°õ°°ð°ìæèéí á³õ ë äðàéâåðóóäûã õàñàæ áîëíî. VMWare íü em(4) äðàéâåðèéí àøèãëàäàã âèðòóàë ñ³ëæýýíèé àäàïòåðààð õàíãàäàã ó÷èð em(4)-ä çîðèóëñíààñ áóñàä ñ³ëæýýíèé á³õ ò°õ°°ð°ìæ³³äèéã ö°ì°°ñ õàñàæ áîëíî. ѳëæýýã òîõèðóóëíà Õàìãèéí õÿëáàð ñ³ëæýýíèé òîõèðãîî íü °°ðèéí õîñò Mac õîëáîãäñîí áàéãàà äîòîîä ñ³ëæýýíäýý DHCP àøèãëàí °°ðèéí âèðòóàë ìàøèíàà õîëáîõ ÿâäàë þì. /etc/rc.conf àéëä ifconfig_em0="DHCP" ì°ðèéã íýìñíýýð ³³íèéã õèéæ áîëíî. ѳëæýýíèé èë³³ äýëãýðýíã³é òîõèðãîîíóóäûí òàëààð Chapter 31-ä òàéëáàðëàñàí áàéãàà.
22.3 FreeBSD-
ã õîñò áóþó ýõ OS ìàÿãààð àøèãëàõ
FreeBSD íü õîñò áóþó ýõ ³éëäëèéí ñèñòåì ìàÿãààð àøèãëàãäàõààð àëü ÷ âèðòóàë÷ëàëûí áàãöàä îäîîãîîð àëáàí ¼ñîîð äýìæèãäýýã³é áàéãàà áîëîâ÷ îëîí õ³ì³³ñ VMware-èéí õóó÷èí õóâèëáàðóóäûã ýíý çîðèëãîîð àøèãëàäàã. FreeBSD äýýð Xen-èéã õîñò áóþó ýõ îð÷èí ìàÿãààð àæèëëóóëàõ òàë äýýð àæèëëàæ áàéãàà áîëíî.
612
Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà Chapter 23
Õóâü íýìýð áîëãîí îðóóëñàí Àíäðåé ×åðíîâ. Äàõèí áè÷ñýí Ìàéêë Ñè. Âó. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 23.1
Åð°íõèé àãóóëãà
FreeBSD íü äýëõèé äàÿàð áàéðëàñàí õýðýãëýã÷èä áîëîí õóâü íýìýð áîëãîí îðóóëàã÷èäòàé ìàø òàðõìàë ò°ñ°ë þì. Ýíý á³ëýã Àíãëèàð ÿðüäàãã³é õýðýãëýã÷äýä æèíõýíý àæëàà õèéõ áîëîìæ îëãîõ FreeBSD-èéí èíòåðíàöèîíàë÷ëàë áîëîí ëîêàë÷ëàëûí áîëîìæóóäûã õýëýëöýõ áîëíî. Ñèñòåì áîëîí ïðîãðàìûí ò³âøèíã³³äèéí àëü àëèíä íü i18n øèéäëèéí îëîí ³çýë áîäëóóä áàéäàã á°ã°°ä áèä øààðäëàãàòàé òîõèîëäîëä èë³³ òóñãàéëñàí áàðèìòûí ýõ³³äèéã õýðýãëýã÷äýä çààæ °ã°õ áîëíî.
Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî:
Îð÷èí ³åèéí ³éëäëèéí ñèñòåì³³ä äýýð õýëí³³ä áîëîí ëîêàëóóä (locales) íü õýðõýí êîä÷èëîãääîã òàëààð. • °ðèéí íýâòðýõ á³ðõ³³ëèéí õóâüä ëîêàëûã õýðõýí òîõèðóóëàõ òàëààð. • Àíãëè áèø õýëí³³äèéí õóâüä °°ðèéí êîíñîëûã õýðõýí òîõèðóóëàõ òàëààð. • X Öîíõíû Ñèñòåìèéã °°ð õýëí³³äòýé õýðõýí ³ð ä³íòýéãýýð àøèãëàõ òàëààð. • i18n-íèéöòýé ïðîãðàìóóäûã áè÷èõ òàëààð èë³³ ìýäýýëëèéã õààíààñ îëîõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
•
Íýìýëò ãóðàâäàã÷ ýòãýýäèéí ïðîãðàìóóäûã (Chapter 4) õýðõýí ñóóëãàõ òàëààð.
23.2
íäñ³³ä
23.2.1 I18N/L10N
ãýæ þó âý?
Õ°ãæ³³ëýã÷èä èíòåðíàöèîíàë÷ëàëûã I18N ãýæ internationalization ãýñýí ³ãèéí ýõíèé áîëîí ýöñèéí ³ñãèéí õîîðîíäîõ ³ñãèéí òîîã îðóóëàí áîãèíîñãîñîí þì. L10N íü áàñ àäèë æóðìààð “localization”-ñ óëáààëàí íýðëýãäñýí þì. Õî¼óëàà íýãäñýí I18N/L10N àðãóóä, ïðîòîêîëóóä áîëîí ïðîãðàìóóä íü õýðýãëýã÷äýä °°ðñäèéíõ íü ñîíãîñîí õýëí³³äèéã àøèãëàõ áîëîìæèéã îëãîäîã. I18N ïðîãðàìóóä íü ñàíãóóäûí äîîðõ I18N õýðýãñë³³äèéã àøèãëàí ïðîãðàì÷ëàãäñàí áàéäàã. Ýíý íü ýíãèéí àéëûã áè÷èõ áîëîí õàðóóëàãäñàí öýñí³³ä, òåêñò³³äèéã õýë á³ð óðóó îð÷óóëàõ áîëîìæèéã õ°ãæ³³ëýã÷äýä îëãîíî. Áèä ýíý äàäëûã ì°ðä°õèéã ïðîãðàì çîõèîã÷äîîñ øàðãóó õ³ñäýã.
613
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà
èéã áè ÿàãààä àøèãëàõ ¼ñòîé ãýæ?
23.2.2 I18N/L10N-
I18N/L10N íü Àíãëè õýëíýýñ °°ð õýë äýýð °ã°ãäëèéã õàðàõ, îðóóëàõ, ýñâýë áîëîâñðóóëàõûã òàíûã õ³ñýõ ³åä õýðýãëýãääýã.
23.2.3 I18N
÷àðìàéëòàä ÿìàð õýëí³³ä äýìæèãäñýí áàéäàã âý?
I18N áîëîí L10N íü ç°âõ°í FreeBSD çîðèóëàãäààã³é. Îäîîãîîð õýðýãëýã÷ äýëõèéí ãîë ãîë õýëí³³äèéí èõýíõèéã ñîíãîæ áîëîõ á°ã°°ä ãýõäýý ýíý íü ýíä áàéãàà æàãñààëòààð õÿçãààðëàãäàõã³é: Õÿòàä, åðìàí, ßïîí, Ñîëîíãîñ, Ôðàíö, Îðîñ, Âüåòíàì áîëîí áóñàä õýëí³³äèéã äóðäàæ áîëíî.
23.3
Ëîêàë÷ëàëûã àøèãëàõ íü
°ðèéí á³õ ñ³ð æàâõëàíãààðàà I18N íü ç°âõ°í FreeBSD-ä çîðèóëàãäààã³é á°ã°°ä ýíý íü ¼ñ çàíøèë áîëñîí áàéäàã. Ýíý ¼ñ çàíøëûã äàãàæ FreeBSD-ä òóñëàõûã áèä òàíààñ õ³ñäýã. Ëîêàë÷ëàëûí òîõèðóóëãóóä íü ãóðâàí ãîë îéëãîëò äýýð òóëãóóðëàäàã: Õýëíèé êîä, Óëñûí êîä áà Êîä÷èëîë. Ëîêàëûí íýðñ ýäãýýð õýñã³³äýýñ äàðààõ ìàÿãààð á³ðýëäýí òîãòîíî: LanguageCode_CountryCode.Encoding
23.3.1
Õýë áîëîí Óëñûí êîäóóä
FreeBSD ñèñòåìèéã òóõàéí õýë óðóó (ýñâýë I18N äýìæäýã áóñàä UNIX ò°ñò ñèñòåì³³ä äýýð) ëîêàë÷ëàõûí òóëä õýðýãëýã÷ òóõàéí óëñ áîëîí õýëèéã (óëñûí êîä íü ïðîãðàìä °ã°ãäñ°í õýëíèé àëü õóâèëáàðûã àøèãëàõûã õýëæ °ãä°ã) çààõ êîäóóäûã îëæ ìýäýõ õýðýãòýé. Ì°í âýá õ°ò÷³³ä, SMTP/POP ñåðâåð³³ä çýðýã íü òýäãýýð äýýð òóëãóóðëàí øèéäýë ãàðãàäàã. Äàðààõ íü õýë/óëñûí êîäíû æèøýýí³³ä þì:
Õýë/Óëñûí êîä en_US ru_RU zh_TW
23.3.2
Òàéëáàð English áóþó Àíãëè - Íýãäñýí Óëñ Îðîñ óëñàä çîðèóëñàí Russian áóþó Îðîñ Òàéâàíüä çîðèóëñàí Óëàìæëàëò Õÿòàä õýë
Êîä÷èëîëóóä
Çàðèì õýëí³³ä 8-áèò, °ðã°í ýñâýë îëîí áàéò òýìäýãò³³ä çýðýã ASCII áèø êîä÷èëîëûã àøèãëàäàã. Îëîí áàéò òýìäýãò³³äèéí òàëààð èë³³ äýëãýðýíã³éã multibyte(3)-ýýñ ³çíý ³³. Õóó÷èí ïðîãðàìóóä òýäãýýðèéã òàíèäàãã³é á°ã°°ä òýäãýýðèéã õÿíàõ òýìäýãò³³ä ãýæ àëääàã. Øèíý ïðîãðàìóóä èõýâ÷ëýí 8-áèò òýìäýãò³³äèéã òàíèäàã. Øèéäëýýñ õàìààðààä õýðýãëýã÷èä ïðîãðàìûã °ðã°í ýñâýë îëîí áàéò òýìäýãòèéí äýìæëýãòýéãýýð ýìõýòãýõ ýñâýë ç°â°°ð òîõèðóóëàõ øààðäëàãàòàé áàéæ áîëîõ þì. ðã°í ýñâýë îëîí òýìäýãò³³äèéã îðóóëæ ïðîöåññ õèéæ ÷àäàõûí òóëä FreeBSD ïîðòûí öóãëóóëãà (http://www.FreeBSD.org/ports/index.html) õýë á³ðèéã °°ð °°ð ïðîãðàìóóäòàéãààð õàíãàäàã. FreeBSD ïîðò äàõü õàðãàëçàõ I18N áàðèìòæóóëàëòààñ ëàâëàíà óó. ßëàíãóÿà ïðîãðàìûã õýðõýí ç°â òîõèðóóëàõ ýñâýë ç°â óòãóóäûã configure/Makefile/ýìõýòãýã÷èä 614
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà
äàìæóóëàõûã øèéäýõäýý ïðîãðàìûí áàðèìòæóóëàëòààñ õàðàõ õýðýãòýé áîëíî. Ñàíàæ áàéõ ¼ñòîé çàðèì íýã ç³éë³³ä íü: •
Òóõàéí õýëíèé ãàíö C chars òýìäýãòèéí îëîíëîãóóä (multibyte(3)-ã ³çíý ³³), °°ð°°ð õýëáýë ISO8859-1, ISO8859-15, KOI8-R, CP437.
ðã°í ýñâýë îëîí áàéò êîä÷èëîë, °°ð°°ð õýëáýë EUC, Big5. Òà òýìäýãòèéí îëîíëîãóóäûí èäýâõòýé æàãñààëòûã IANA Registry (http://www.iana.org/assignments/character-sets)-ñ øàëãàæ áîëíî. •
Note: FreeBSD íü X11-íèéöòýé ëîêàëûí êîä÷èëîëóóäûã õàðèí àøèãëàäàã.
23.3.3 I18N
ïðîãðàìóóä
FreeBSD-èéí ïîðòóóä áîëîí áàãöûí ñèñòåìä I18N ïðîãðàìóóä íü àìàðõàí òàíèãäàõûí òóëä íýðýíäýý I18N-òàéãààð íýðëýãääýã. ýõäýý òýäãýýð íü õýðýãòýé õýëèéã ³ðãýëæ äýìæñýí áàéäàãã³é.
23.3.4
Ëîêàëûã òîõèðóóëàõ
Íýâòðýõ á³ðõ³³ë äýýð ëîêàëûí íýðíèé óòãûã LANG óðóó ýêñïîðò õèéõýä èõýâ÷ëýí õàíãàëòòàé áàéäàã. ³íèéã õýðýãëýã÷èéí ~/.login_conf àéë ýñâýë õýðýãëýã÷èéí á³ðõ³³ëèéí ýõë³³ëýõ àéëä (~/.profile, ~/.bashrc, ~/.cshrc) çààæ °ã÷ áîëíî. LC_CTYPE, LC_CTIME çýðýã ëîêàë äýä îëîíëîãóóäûã òîõèðóóëàõ õýðýãã³é. Äýëãýðýíã³é ìýäýýëëèéí òàëààð òóõàéí õýëíèé FreeBSD-èéí áàðèìòààñ ëàâëàíà óó. Òà °°ðèéí òîõèðãîîíû àéëóóääàà äàðààõ õî¼ð îð÷íû õóâüñàã÷èéã òîõèðóóëàõ õýðýãòýé: •
POSIX setlocale(3) ò°ðëèéí óíêöóóäàä çîðèóëñàí LANG
Ïðîãðàìóóäûí MIME òýìäýãòèéí îëîíëîãò çîðèóëñàí MM_CHARSET Ýíý íü õýðýãëýã÷èéí á³ðõ³³ëèéí òîõèðãîî, òóõàéí ïðîãðàìûí òîõèðãîî áîëîí X11-èéí òîõèðãîîã àãóóëäàã.
•
23.3.4.1 Ëîêàë àðãóóäûã òîõèðóóëàõ
Ëîêàëûã òîõèðóóëàõ õî¼ð àðãà áàéäàã á°ã°°ä õî¼óëàíã äîîð òàéëáàðëàñàí áàéãàà. Ýõíèéõèéã (áèäíèé ç°âë°æ áàéãààã) íýâòðýõ àíãèëàëä îð÷íû õóâüñàã÷óóäûã çààæ õî¼ð äàõèéã ñèñòåìèéí á³ðõ³³ëèéí ýõë³³ëýõ àéëä îð÷íû õóâüñàã÷èéí çààëòóóäûã íýìñíýýð õèéäýã. 23.3.4.1.1 Íýâòðýõ àíãèëàëóóäûí àðãà
Ýíý àðãà íü á³ðõ³³ë á³ðèéí ýõë³³ëýõ àéëä òóõàéí á³ðõ³³ëèéí çààëòóóäûã íýìýõèéí îðîíä ëîêàëûí íýð áîëîí MIME òýìäýãòèéí îëîíëîãóóäàä õýðýãòýé îð÷íû õóâüñàã÷óóäûã áîëîìæèò á³ðõ³³ë á³ðèéí õóâüä íýã ë óäàà çààõ áîëîìæèéã îëãîäîã. Õýðýãëýã÷èéí ò³âøíèé òîõèðóóëãûã õýðýãëýã÷ °°ð°° õèéæ áîëîõ á°ã°°ä Àäìèíèñòðàòîðûí ò³âøíèé òîõèðóóëãà íü ñóïåð õýðýãëýã÷èéí ç°âø°°ðë³³äèéã øààðääàã. 615
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà 23.3.4.1.1.1 Õýðýãëýã÷èéí ò³âøíèé òîõèðóóëãà
Ýíä õýðýãëýã÷èéí ãýð ñàí äîòîð áàéðëàõ Latin-1 êîä÷èëîëûí õóâüä õî¼ð õóâüñàã÷èéã íü òîõèðóóëæ °ãñ°í .login_conf àéëûí õàìãèéí áàãà æèøýý áàéíà: me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:
Ýíä BIG-5 êîä÷èëîëä Óëàìæëàëò Õÿòàä õýëä çîðèóëàí õóâüñàã÷óóäûã òîõèðóóëæ áàéãàà .login_conf àéëûí æèøýý áàéíà. Çàðèì ïðîãðàì õàíãàìæóóä íü Õÿòàä, ßïîí áîëîí Ñîëîíãîñ õýëíèé õóâüä ëîêàëûí õóâüñàã÷óóäûã ç°â°°ð õ³íäýëäýãã³é ó÷ðààñ èë³³ îëîí õóâüñàã÷óóäûã òîõèðóóëñíûã ýíäýýñ õàðæ áîëíî. #Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable me:\ :lang=zh_TW.Big5:\ :setenv=LC_ALL=zh_TW.Big:\ :setenv=LC_COLLATE=zh_TW.Big5:\ :setenv=LC_CTYPE=zh_TW.Big5:\ :setenv=LC_MESSAGES=zh_TW.Big5:\ :setenv=LC_MONETARY=zh_TW.Big5:\ :setenv=LC_NUMERIC=zh_TW.Big5:\ :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server
Èë³³ äýëãýðýíã³éã Àäìèíèñòðàòîðûí ò³âøíèé òîõèðóóëãà áîëîí login.conf(5)-ñ ³çíý ³³. 23.3.4.1.1.2 Àäìèíèñòðàòîðûí ò³âøíèé òîõèðóóëãà
/etc/login.conf äàõü õýðýãëýã÷èéí íýâòðýõ àíãèëàë ç°â õýë òîõèðóóëñíûã øàëãàíà. Ýäãýýð òîõèðóóëãóóä /etc/login.conf-ä áàéãàà ýñýõèéã øàëãààðàé: language_name:accounts_title:\ :charset=MIME_charset:\ :lang=locale_name:\ :tc=default:
Áèäíèé óðäíû æèøýýíèé àäèë Latin-1-ã ñîíãîâîë ýíý íü èéìýðõ³³ õàðàãäàíà: german:German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default:
Õýðýãëýã÷èéí íýâòðýõ àíãèëëóóäûã °°ð÷ë°õ°°ñ°° °ìí° äàðààõ òóøààëûã àæèëëóóëæ # cap_mkdb /etc/login.conf
øèíý òîõèðãîîã ñèñòåìä õàðàãäóóëàõààð /etc/login.conf-ä õèéíý.
616
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà
Íýâòðýõ àíãèëëóóäûã vipw(8) àøèãëàí ñîëèõ
Øèíý õýðýãëýã÷èä íýìýõèéí òóëä vipw òóøààë àøèãëàí îðóóëãûã èéìýðõ³³ áîëãîíî: user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh
Íýâòðýõ àíãèëëóóäûã adduser (8) àøèãëàí ñîëèõ
Øèíý õýðýãëýã÷èä íýìýõèéí òóëä adduser òóøààë àøèãëàí äîîð äóðäñàíûã õèéíý: àéëä defaultclass = language-ã òîõèðóóëíà. Òà ýíý òîõèîëäîëä áóñàä õýëí³³äèéí á³õ õýðýãëýã÷äýä çîðèóëàí àíõäàã÷ àíãèëàëûã îðóóëàõ õýðýãòýéã ñàíàõ õýðýãòýé. adduser(8)-ñ ãàð÷ èðýõ àñóóëò á³ðò
• /etc/adduser.conf
•
Enter login class: default []:
•
àñóóëòàä òóõàéí õýëèéã çààæ °ã°õ áàñ íýã õóâèëáàð áàéæ áîëíî. °ð íýã àðãà íü íýìýõýýð õ³ñýæ áàéãàà °°ð õýëíèé õýðýãëýã÷ á³ðèéí õóâüä äîîð äóðäñàíûã àøèãëàõ ÿâäàë þì: # adduser -class language
Íýâòðýõ àíãèëëóóäûã pw(8) àøèãëàí ñîëèõ
Õýðýâ òà pw(8)-ã øèíý õýðýãëýã÷ íýìýõèéí òóëä àøèãëàæ áàéãàà áîë ³³íèéã èéìýðõ³³ ìàÿãààð äóóäààðàé: # pw useradd user_name -L language
23.3.4.1.2 Á³ðõ³³ëèéí ýõë³³ëýõ àéë àðãà Note: Ýíý àðãûã ç°âë°ä°ãã³é, ó÷èð íü ñîíãîñîí áîëîìæèò á³ðõ³³ë ïðîãðàì á³ðèéí õóâüä °°ð òîõèðóóëãûã øààðääàã. Îðîíä íü Íýâòðýõ àíãèëëûí àðãûã àøèãëààðàé.
Ëîêàëûí íýð áîëîí MIME òýìäýãòèéí îëîíëîãèéã íýìýõèéí òóëä äîîð ³ç³³ëñýí õî¼ð îð÷íû õóâüñàã÷èéã /etc/profile-ä áîëîí/ýñâýë á³ðõ³³ëèéí ýõë³³ëýõ àéë /etc/csh.login-ä çààæ °ãí°. Áèä åðìàí õýëèéã äîîð æèøýý áîëãîí àøèãëàõ áîëíî: /etc/profile àéëä: LANG=de_DE.ISO8859-1; export LANG MM_CHARSET=ISO-8859-1; export MM_CHARSET
Ýñâýë /etc/csh.login àéëä: setenv LANG de_DE.ISO8859-1 setenv MM_CHARSET ISO-8859-1
°ð°°ð òà äýýðõ çààâðóóäûã /usr/share/skel/dot.profile àéëä (äýýðõ /etc/profile-ä àøèãëàñàíòàé àäèë) ýñâýë /usr/share/skel/dot.login àéëä (äýýðõ /etc/csh.login-ä àøèãëàñàíòàé àäèë) íýìæ áîëíî.
617
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà X11-èéí õóâüä: $HOME/.xinitrc
àéëä:
LANG=de_DE.ISO8859-1; export LANG
Ýñâýë: setenv LANG de_DE.ISO8859-1
Òàíû á³ðõ³³ëýýñ õàìààðààä (äýýð äóðäñàíûã ³çíý ³³).
23.3.5
Êîíñîë òîõèðóóëàõ
Á³õ ãàíö C chars òýìäýãòèéí îëîíëîãóóäûí õóâüä ç°â êîíñîëûí îíòóóäûã /etc/rc.conf-ä àñóóëòàíä áàéãàà õýëíèé õóâüä òîõèðóóëíà: font8x16=font_name font8x14=font_name font8x8=font_name
Ýíäýõ font_name-èéã /usr/share/syscons/fonts ñàíãààñ .fnt ò°ãñã°ëã³éãýýð àâñàí. Áàñ ç°â keymap áîëîí screenmap-èéã °°ðèéí ãàíö C chars òýìäýãòèéí îëîíëîãèéí õóâüä sysinstall (5.2-îîñ õóó÷èí FreeBSD õóâèëáàðóóäàä /stand/sysinstall) àøèãëàí çààæ °ãñ°í ýñýõýý øàëãààðàé. sysinstall äîòîð áàéõäàà Configure-ã ñîíãîîä äàðàà íü Console-ã ñîíãîíî. °ð°°ð òà äîîð äóðäñàíûã /etc/rc.conf-ä íýìæ áîëíî: scrnmap=screenmap_name keymap=keymap_name keychange="fkey_number sequence"
Ýíäýõ screenmap_name-èéã /usr/share/syscons/scrnmaps ñàíãààñ .scm ò°ãñã°ëã³éãýýð àâñàí. Çîõèõ îíîîãäñîí îíòòîé screenmap íü ïñåâäîãðàèê òàëáàðò VGA àäàïòåðèéí îíòûí òýìäýãòèéí ìàòðèö äýýð áèò 8-èéã áèò 9 óðóó °ðã°òã°õ°ä èõýâ÷ëýí òîéðîí ãàðàõ àðãà çàì áîëãîí õýðýãëýãääýã, °°ð°°ð õýëáýë õýðýâ äýëãýöèéí îíò áèò 8 áàãàíà àøèãëàæ áàéâàë òýð òàëáàðààñ ³ñýãí³³äèéã øèëæ³³ëýí ãàðãàõûí òóëä õýðýãëýãääýã. Õýðýâ òà /etc/rc.conf-ä moused äýìîíã èäýâõæ³³ëýõèéã äàðààõ áàéäëààð òîõèðóóëñàí áîë: moused_enable="YES"
õóëãàíû çààã÷èéí ìýäýýëëèéã äàðààãèéí õýñãýýñ øàëãààðàé. Àíõäàã÷ààð syscons(4) äðàéâåðèéí õóëãàíû çààã÷ íü òýìäýãòèéí îëîíëîãèéí 0xd0-0xd3 õýñãèéã ýçýëäýã. Õýðýâ òàíû õýë ýíý õýñãèéã àøèãëàäàã áîë çààã÷èéí õýñãèéã ³³íýýñ ãàäíà øèëæ³³ëýõ õýðýãòýé. FreeBSD-èéí õóâüä òîéðîí ãàðàõ àðãà çàìûã èäýâõæ³³ëýõèéí òóëä äàðààõ ì°ðèéã /etc/rc.conf-ä íýìíý: mousechar_start=3
618
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà
Ýíäýõ keymap_name-èéã /usr/share/syscons/keymaps ñàíãààñ .kbd ò°ãñã°ëã³é àâñàí. Õýðýâ òà àëü keymap-èéã àøèãëàõ ýñýõäýý ýðãýëçýæ áàéâàë kbdmap(1)-ã àøèãëàæ äàõèí à÷ààëàëã³éãýýð keymap-óóäûã òåñò õèéæ áîëíî. keychange íü óíêöûí òîâ÷ëóóðóóäûã ñîíãîñîí òåðìèíàëûí ò°ð°ëòýé òààðóóëàõûí òóëä ïðîãðàì÷ëàõàä èõýâ÷ëýí õýðýãòýé áàéäàã, ó÷èð íü óíêöûí òîâ÷ëóóðûí äàðààëëóóäûã òîâ÷ëóóðóóäûí îíîîëòîä òîäîðõîéëæ áîëäîãã³é. Áàñ êîíñîëûí òåðìèíàëûí ç°â ò°ðëèéã á³õ ttyv* îðóóëãóóäûí õóâüä /etc/ttys àéëä òîõèðóóëñàí ýñýõýý øàëãààðàé. Îäîîãèéí óðüä÷èëàí òîäîðõîéëñîí çîõèöëóóä íü:
Òýìäýãòèéí Îëîíëîã ISO8859-1 ýñâýë ISO8859-15
Òåðìèíàëûí Ò°ð°ë cons25l1
ISO8859-2 ISO8859-7
cons25l2
KOI8-R KOI8-U
cons25r
CP437 (VGA default) US-ASCII
cons25
cons25l7
cons25u
cons25w
ðã°í ýñâýë îëîí áàéò òýìäýãò³³ä á³õèé õýëí³³äèéí õóâüä °°ðèéí /usr/ports/language ñàíãààñ ç°â FreeBSD ïîðòîî àøèãëààðàé. Çàðèì ïîðòóóä êîíñîë ìàÿãààð áàéõàä ò³³íèéã ñèñòåì ñåðèàë vtty-³³ä øèãýýð õàðäàã, èéì ó÷ðààñ òà X11 áîëîí ïñåâäî-ñåðèàë êîíñîëûí õóâüä õàíãàëòòàé vtty-³³äèéã õàäãàëæ áàéõ øààðäëàãàòàé. °ð õýë³³äèéã êîíñîëä àøèãëàõûí òóëä ýíä ïðîãðàìóóäûí õýñýã÷èëñýí æàãñààëò áàéíà:
Õýë Óëàìæëàëò Õÿòàä õýë (BIG-5) ßïîí õýë
chinese/big5con
Ñîëîíãîñ õýë
korean/han
23.3.6 X11
Áàéðëàë ýñâýë
japanese/kon2-16dot japanese/mule-freewnn
òîõèðóóëàõ
X11 íü FreeBSD Ò°ñëèéí íýã õýñýã áèø áîëîâ÷ áèä ýíä FreeBSD õýðýãëýã÷äýä çîðèóëæ çàðèì ìýäýýëýë îðóóëëàà. Èë³³ äýëãýðýíã³éã Xorg âýá õàÿãààñ (http://www.x.org/) ýñâýë àëü X11 ñåðâåð àøèãëàæ áàéãàà ò³³íèéõýý âýá õàÿãààñ ëàâëàíà óó.
àéëä òà ïðîãðàìóóäàä çîðèóëñàí I18N òîõèðóóëãóóäûã (°°ð°°ð õýëáýë îíòóóä, öýñí³³ä, ãýõ ìýò.) òààðóóëæ °ã÷ áîëíî.
~/.Xresources
23.3.6.1 Ôîíòóóäû㠳糳ëýõ
Xorg ñåðâåð (x11-servers/xorg-server) ýñâýë XFree86 ñåðâåð (x11-servers/XFree86-4-Server) ñóóëãààä äàðàà íü õýëíèé TrueType îíòóóäûã ñóóëãàíà. Ç°â ëîêàëûã òîõèðóóëàõ íü òàíä öýñí³³äèéã ñîíãîñîí õýëýýðýý õàðàõ çýðýã áîëîìæèéã îëãîíî.
619
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà 23.3.6.2 Àíãëè áèø òýìäýãò³³äèéã îðóóëàõ íü
X11 îðóóëàõ àðãà (XIM) íü á³õ X11 êëèåíò³³äýä çîðèóëñàí øèíý ñòàíäàðò þì. Á³õ X11 ïðîãðàìóóä íü XIM îðóóëàõ ñåðâåð³³äýýñ îðîëò àâäàã XIM êëèåíò³³ä ìàÿãààð áè÷èãäýõ ¼ñòîé. °ð °°ð õýëí³³äýä çîðèóëàãäñàí õýä õýäýí XIM ñåðâåð³³ä áàéäàã.
23.3.7
Õýâëýã÷ òîõèðóóëàõ
Çàðèì ãàíö C chars òýìäýãòèéí îëîíëîãóóä íü èõýâ÷ëýí õýâëýã÷³³ä äîòîð õàòóóãààð áè÷èãäñýí áàéäàã. ðã°í ýñâýë îëîí áàéò òýìäýãòèéí îëîíëîãóóä íü òóñãàé òîõèðóóëãà øààðääàã á°ã°°ä áèä apsfilter ïðîãðàìûã õýðýãëýõèéã ç°âë°ä°ã. Òà áàñ PostScript ýñâýë PDF õýëáýð³³ä óðóó òóõàéí õýëíèé õ°ðâ³³ëýã÷äèéã àøèãëàí áàðèìòûã õ°ðâ³³ëæ áîëîõ þì. 23.3.8
Ö°ì áà àéëûí ñèñòåì³³ä
FreeBSD-èéí õóðäàí àéëûí ñèñòåì (FFS) íü 8-áèò öýâýð ó÷èð ³³íèéã ÿìàð ÷ ãàíö C chars òýìäýãòèéí îëîíëîãòîé öóã àøèãëàæ áîëíî (multibyte(3)-ã ³çíý ³³), ãýõäýý òýìäýãòèéí îëîíëîãèéí íýð àéëûí ñèñòåìä õàäãàëàãääàãã³é; °°ð°°ð õýëáýë ýíý íü ò³³õèé 8-áèò á°ã°°ä êîä÷èëîëûí äàðààëëûí òàëààð þó ÷ ìýääýãã³é. Àëáàí ¼ñîîð FFS íü °ðã°í ýñâýë îëîí áàéò òýìäýãòèéí îëîíëîãóóäûí àëü ÷ õýëáýðèéã äýìæäýãã³é. ýõäýý çàðèì °ðã°í ýñâýë îëîí áàéò òýìäýãòèéí îëîíëîãóóä íü FFS-ä èéì äýìæëýãèéã èäýâõæ³³ëýõýä çîðèóëñàí áèå áèåýñýý àíãèä çàñâàðóóäòàé áàéäàã. Òýäãýýð íü öîðûí ãàíö èéø òèéø õ°ðâ³³ëýõ áîëîìæã³é øèéäë³³ä áóþó hack á°ã°°ä áèä òýäãýýðèéã ýõ ìîäîíä îðóóëàõã³é ãýæ øèéäýöãýýñýí þì. Òîõèðîõ õýëí³³äèéí âýá õóóäàñíóóäààñ èë³³ äýëãýðýíã³é ìýäýýëýë áîëîí çàñâàð àéëóóäûí òàëààð ëàâëàíà óó. FreeBSD MS-DOS àéëûí ñèñòåì íü MS-DOS, Þíèêîä òýìäýãòèéí îëîíëîãóóä áîëîí FreeBSD-èéí ñîíãîñîí àéëûí ñèñòåìèéí òýìäýãòèéí îëîíëîãóóäûí õîîðîíä õ°ðâ³³ëýõ òîõèðóóëæ áîëîõ áîëîìæ á³õèé áàéäàã. Äýëãýðýíã³éã mount_msdosfs(8)-ñ ³çíý ³³.
23.4 I18N
ïðîãðàìóóäûã ýìõýòãýõ
FreeBSD-èéí îëîí ïîðòóóä I18N äýìæëýãòýéãýýð õ°ðâ³³ëýãäñýí áàéäàã. Òýäãýýðèéí çàðèì íü ïîðòûí íýðýíäýý -I18N ãýæ òýìäýãëýãäñýí áàéäàã. Ýäãýýð áîëîí áóñàä îëîí ïðîãðàìóóä I18N-ä çîðèóëàãäñàí äýìæëýãòýéãýýð á³òýýãäñýí áàéäàã á°ã°°ä òóñãàé õýëýëö³³ëýã øààðäëàãàã³é þì. ýõäýý MySQL çýðýã çàðèì ïðîãðàìóóä òóñãàéëñàí charset á³õèé áàéõààð òîõèðóóëàãäñàí Makefile àéëòàé áàéõ øààðäëàãàòàé. ³íèéã èõýâ÷ëýí Makefile-ä ýñâýë ýõýä áàéõ configure ïðîãðàìä óòãà äàìæóóëàí õèéäýã.
620
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà
23.5 FreeBSD23.5.1
ã °°ð õýëí³³ä óðóó ëîêàë÷ëàõ
Îðîñ õýë (KOI8-R Êîä÷èëîë)
Àíõëàí õóâü íýìýð áîëãîí îðóóëñàí Àíäðåé ×åðíîâ. KOI8-R êîä÷èëîëûí òàëààð äýëãýðýíã³é ìýäýýëëèéã KOI8-R Ëàâëàõóóä (Russian Net Character Set) (http://koi8.pp.ru/)-ñ ³çíý ³³. 23.5.1.1 Ëîêàë Òîõèðóóëàõ
Äàðààõ ì°ð³³äèéã °°ðèéí ~/.login_conf àéëä íýìíý: me:My Account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R:
Ýíý á³ëãèéí °ìí°õ°°ñ ëîêàë òîõèðóóëàõ æèøýýí³³äèéã ³çíý ³³. 23.5.1.2 Êîíñîë Òîõèðóóëãà •
Äàðààõ ì°ðèéã °°ðèéí /etc/rc.conf àéëä íýìíý: mousechar_start=3
•
Ì°í äàðààõ òîõèðóóëãóóäûã /etc/rc.conf-ä àøèãëàíà: keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8"
àéë äàõü ttyv* îðóóëãà áîëãîíû õóâüä cons25r-èéã òåðìèíàëûí ò°ð°ëä àøèãëàíà. Ýíý á³ëãèéí °ìí°õ°°ñ êîíñîë òîõèðóóëàõ æèøýýí³³äèéã ³çíý ³³. • /etc/ttys
23.5.1.3 Õýâëýã÷èéí Òîõèðóóëãà
Îðîñ òýìäýãò³³äòýé èõýíõ õýâëýã÷èä CP866 ãýñýí òîíîã ò°õ°°ð°ìæèéí êîä õóóäàñòàé èðäýã á°ã°°ä KOI8-R-ñ CP866 óðóó õ°ðâ³³ëýõèéí òóëä òóñãàé ãàðàëòûí ø³³ã÷ õýðýãòýé áîëäîã. Èéì ø³³ã÷ àíõäàã÷ààð /usr/libexec/lpr/ru/koi2alt ãýæ ñóóãääàã. Îðîñ õýâëýã÷èéí /etc/printcap îðóóëãà èéìýðõ³³ õàðàãäàõ ¼ñòîé: lp|Russian local line printer:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
Äýëãýðýíã³é òàéëáàðûí òàëààð printcap(5)-ñ ³çíý ³³.
621
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà 23.5.1.4 MS-DOS FS áîëîí Îðîñ àéëûí íýðñ
Äàðààõ æèøýý fstab(5) îðóóëãà íü õîëáîãäñîí MS-DOS àéëûí ñèñòåì³³ä äýýð Îðîñ àéëûí íýðèéí äýìæëýãèéã èäýâõæ³³ëäýã: /dev/ad0s2
/dos/c
msdos
rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0
òîõèðóóëãà àøèãëàãäñàí ëîêàëûí íýðèéã ñîíãîäîã á°ã°°ä -W íü òýìäýãòèéí õ°ðâ³³ëýëòèéí õ³ñíýãòèéã çààäàã. -W òîõèðóóëãûã àøèãëàõûí òóëä /usr-ã MS-DOS õóâààëòààñ °ìí° õîëáîõ õýðýãòýé, ó÷èð íü õ°ðâ³³ëýëòèéí õ³ñíýãò³³ä /usr/libdata/msdosfs-ä áàéðëàäàã. Äýëãýðýíã³é ìýäýýëëèéã mount_msdosfs(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
-L
23.5.1.5 X11 òîõèðóóëãà 1. Ýõëýýä X áèø ëîêàëûí òîõèðóóëãûã òàéëáàðëàñíààð õèéíý.
2. Õýðýâ òà Xorg-ã àøèãëàæ áàéãàà áîë x11-fonts/xorg-fonts-cyrillic áàãöûã ñóóëãàíà.
°ðèéí /etc/X11/xorg.conf àéëûí "Files" õýñãèéã øàëãààðàé. Äàðààõ ì°ð³³ä àëü ÷ FontPath îðóóëãóóäààñ °ìí° íýìýãäñýí áàéõ øààðäëàãàòàé:
FontPath FontPath FontPath
"/usr/X11R6/lib/X11/fonts/cyrillic/misc" "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"
Õýðýâ òà °íä°ð íàðèéâ÷ëàëòàé âèäåî ãîðèìûã àøèãëàæ áàéãàà áîë 75 dpi áîëîí 100 dpi ì°ð³³äèéã ñîëèîðîé. Note: °ð èë³³ îëîí êèðèëë îíòóóäûã àâàõûã õ³ñâýë ïîðòóóäààñ ³çíý ³³.
3. Îðîñ ãàðûã èäýâõæ³³ëýõèéí òóëä °°ðèéí xorg.conf àéëûí "Keyboard" õýñýãò äîîð äóðäñàíûã íýìýýðýé: Option "XkbLayout" Option "XkbOptions"
"us,ru" "grp:toggle"
Ì°í XkbDisable-ã õààñàí (òàéëáàð áîëãîñîí) ýñýõèéã òýíäýýñ øàëãààðàé. grp:toggle-í õóâüä RUS/LAT øèëæ³³ëýã÷ Right Alt áîëîõ á°ã°°ä grp:ctrl_shift_toggle øèëæ³³ëýã÷èéí õóâüä Ctrl+Shift áîëíî. grp:caps_toggle-í õóâüä RUS/LAT øèëæ³³ëýã÷ CapsLock áàéíà. Õóó÷èí CapsLock óíêöûí õóâüä Shift+CapsLock (ç°âõ°í LAT ãîðèìä) áàéñààð áàéíà. grp:caps_toggle íü Xorg äýýð òîäîðõîéã³é øàëòãààíû óëìààñ àæèëëàäàãã³é. Õýðýâ òà °°ðèéí ãàð äýýðýý “Windows” òîâ÷ëóóðóóäòàé áîë, çàðèì ³ñãýí òîâ÷ëóóðóóä íü RUS ãîðèìä áóðóóãààð òààðóóëàãääàãèéã àíçààðñàí áàéõ, °°ðèéí xorg.conf àéëäàà äàðààõ ì°ðèéã íýìýýðýé: Option "XkbVariant" ",winkeys" Note: Îðîñ XKB ãàð íü ëîêàë÷ëàë õèéãäýýã³é ïðîãðàìóóäòàé àæèëëàõã³é áàéæ áîëîõ þì.
622
Chapter 23 Ëîêàë÷ëàë - I18N/L10N-èéí õýðýãëýý áîëîí òîõèðóóëãà
Note: Õàìãèéí áàãààð ëîêàë÷ëàãäñàí ïðîãðàìóóä XtSetLanguageProc (NULL, NULL, NULL); óíêöûã ïðîãðàìûí ýõýíä äóóäàõ ¼ñòîé. X11 ïðîãðàìóóäûã ëîêàë÷ëàõ òàëààð äýëãýðýíã³é çààâðóóäûã X Öîíõíû KOI8-R (http://koi8.pp.ru/xwin.html) õàÿãààñ ³çíý ³³.
23.5.2
Òàéâàíüä çîðèóëñàí óëàìæëàëò Õÿòàä õýëíèé ëîêàë÷ëàë
FreeBSD-Òàéâàíü Ò°ñ°ë îëîí Õÿòàä ïîðòóóäûã àøèãëàí FreeBSD-ä çîðèóëñàí Õÿòàä HOWTO-ã http://netlab.cse.yzu.edu.tw/~statue/freebsd/zh-tut/ äýýð áàéðëóóëñàí áàéäàã. FreeBSD Õÿòàä HOWTO-í îäîîãèéí çàñâàðëàã÷ íü ×óàí-Øèíã Øåí <[email protected] > þì.
×óàí-Øèíã Øåí <[email protected] > íü FreeBSD-Òàéâàíèé zh-L10N-tut àøèãëàí Õÿòàä FreeBSD Öóãëóóëãà (CFC) (http://netlab.cse.yzu.edu.tw/~statue/cfc/) ³³ñãýñýí áàéãàà. Áàãöóóä áîëîí ñêðèïò àéëóóä ftp://freebsd.csie.nctu.edu.tw/pub/taiwan/CFC/ äýýð áàéãàà áîëíî. 23.5.3
åðìàí õýëíèé ëîêàë÷ëàë(á³õ ISO 8859-1 õýëí³³äýä çîðèóëñàí)
Ñëàâåí åçè÷ <[email protected] > íü FreeBSD ìàøèí äýýð umlaut áóþó åðìàí õýëíèé àâèà °°ð÷ë°ãää°ãèéã òýìäýãëýäýã õî¼ð öýãèéã õýðõýí àøèãëàõ òàëààð çààâàð áè÷ñýí áàéãàà. Ýíý çààâàð íü åðìàí õýë äýýð áè÷èãäñýí á°ã°°ä http://user.cs.tu-berlin.de/~eserte/FreeBSD/doc/umlaute/umlaute.html äýýð áàéãàà áîëíî. 23.5.4
ðåê õýëíèé ëîêàë÷ëàë
Íèêîñ Êîêàëèñ íü FreeBSD äýýðõ ðåê õýëíèé äýìæëýãèéí òàëààð á³ðýí íèéòëýë áè÷ñýí áàéãàà. Ýíý íü FreeBSD-èéí àëáàí ¼ñíû ðåê áàðèìòæóóëàëòûí õýñýã áîëîí http://www.freebsd.org/doc/el_GR.ISO8859-7/articles/greek-language-support/index.html (http://www.FreeBSD.org/doc/el_GR.ISO8859-7/articles/greek-language-support/index.html) õàÿãò îðñîí áàéäàã. Ýíý íü ç°âõ°í ðåê õýë äýýð þì.
23.5.5
ßïîí áîëîí Ñîëîíãîñ õýëíèé ëîêàë÷ëàë
ßïîí õýëíèé õóâüä http://www.jp.FreeBSD.org/-ä õàíäàíà óó, Ñîëîíãîñ õýëíèé õóâüä http://www.kr.FreeBSD.org/-ä õàíäàíà óó. 23.5.6
Àíãëè áèø FreeBSD áàðèìòæóóëàëò
FreeBSD-èéí çàðèì õóâü íýìýð îðóóëàã÷èä FreeBSD-èéí áàðèìòæóóëàëòûí çàðèì õýñãèéã îð÷óóëñàí áàéãàà. Òýäãýýðèéã ýõ ñàéò (http://www.FreeBSD.org/index.html) äýýðõ õîëáîîñóóäààñ ýñâýë /usr/share/doc ñàíãààñ ³çýæ áîëîõ þì.
623
ã øèíý÷èëæ ñàéæðóóëàõ
Chapter 24 FreeBSD-
íü
Á³òöèéã äàõèí °°ð÷ë°í çîõèîí áàéãóóëæ çàðèì õýñã³³äèéã øèíý÷èëñýí Æèì Ìîê. Àíõëàí ýõèéã áè÷ñýí Æîðäàí Õàááàðä, Ïîóë-Õýííèíã Êàìï, Æîí Ïîëñòðà, and Íèê Êëýéòîí. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 24.1
Åð°íõèé àãóóëãà
FreeBSD íü °°ðèéí õóâèëáàðóóäûí õîîðîíä áàéíãûí õ°ãæ³³ëýëòèéí äîîð îðøèí òîãòíîæ áàéäàã.
Çàðèì õ³ì³³ñ àëáàí ¼ñîîð ãàðãàñàí õóâèëáàðóóäûã àøèãëàõ õ³ñýëòýé áàéäàã áîë çàðèì õ³ì³³ñ õàìãèéí ñ³³ëèéí ³åèéí õ°ãæ³³ëýëòèéã äàãàõ ñîíèðõîëòîé áàéäàã. ýõäýý àëáàí ¼ñíû õóâèëáàðóóä õ³ðòýë àþóëã³é áàéäëûí áîëîîä áóñàä ÷óõàë çàñâàðóóäààð øèíý÷ëýãäýæ áàéäàã. ßìàð õóâèëáàð àøèãëàæ áàéãààãààñ ³ë õàìààðààä FreeBSD íü òàíû ñèñòåìèéã øèíý áàéëãàõàä øààðäëàãàòàé á³õ ë õýðýãñë³³ä áîëîí õóâèëáàð õîîðîíä õÿëáàðààð øèíý÷ëýõ áîëîìæîîð õàíãàäàã. Ýíýõ³³ á³ëýã íü õ°ãæ³³ëýëòèéí ñèñòåìèéã äàãàõûã õ³ñýõ ýñâýë ãàðãàñàí õóâèëáàðòàé ³ëäýõ ýñýõèéã øèéäýõýä òàíä òóñëàõ áîëíî. Òàíû ñèñòåìèéã øèíý÷ëýõýä çîðèóëñàí ³íäñýí õýðýãñë³³äèéã áàñ õàðóóëàõ áîëíî. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: Ñèñòåì áîëîí ïîðòûí öóãëóóëãûã ÿìàð õýðýãñë³³ä àøèãëàí øèíý÷èëæ áîëîõ òàëààð. • freebsd-update, CVSup, CVS, ýñâýë CTM ïðîãðàìóóäûí òóñëàìæòàé °°ðèéí ñèñòåìèéã õýðõýí õàìãèéí ñ³³ëèéí õýëáýðò àâ÷ðàõ òàëààð. • Ñóóëãàãäñàí ñèñòåìèéí ò°ëâèéã ìýäýãäýæ áàéãàà ñàéí õóóëáàðòàé õýðõýí õàðüöóóëàõ òàëààð. • CVSup àøèãëàí °°ðèéí áàðèìòóóäûã õýðõýí ñ³³ëèéí õóâèëáàðò áàéëãàæ áàéõ òàëààð. • FreeBSD-STABLE áîëîí FreeBSD-CURRENT õ°ãæ³³ëýëòèéí ñàëáàðóóäûí ÿëãàà. • Á³õ ³íäñýí ñèñòåìèéã make buildworld (ãýõ ìýò) àøèãëàí õýðõýí äàõèí á³òýýæ ñóóëãàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäýõ øààðäëàãàòàé: •
• •
°ðèéí ñ³ëæýýíèé õîëáîëòûã ç°â òîõèðóóëàõ (Chapter 31). Íýìýëò ãóðàâäàã÷ ïðîãðàì õàíãàìæóóäûã õýðõýí ñóóëãàõûã ìýäýõ (Chapter 4). Note: Ýíý á³ëýãò FreeBSD-èéí ýõèéã àâ÷ øèíý÷ëýõèéí òóëä cvsup
òóøààëûã àøèãëàãäñàí. ³íèéã õýðýãëýõèéí òóëä net/cvsup-without-gui ãýñýí ïîðò áóþó áàãöûã òà ñóóëãàõ õýðýãòýé. Õýðýâ òà FreeBSD 6.2-RELEASE þì óó ýñâýë ò³³íýýñ õîéøõè õóâèëáàð õýðýãëýæ áàéâàë ³íäñýí ñèñòåìèéí õýñýã áîëñîí csup(1) òóøààëààð ³³íèéã îðëóóëæ õýðýãëýæ áîëíî.
624
24.2 FreeBSD-
èéí øèíý÷ëýëò
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Áè÷ñýí Òîì °³äñ. Òýìäýãëýãýý áè÷ñýí Êîëèí Ïåðñèâàë. Àþóëã³é áàéäëûí çàñâàðóóäûã õèéíý ãýäýã êîìïüþòåðèéí ïðîãðàì õàíãàìæ ÿëàíãóÿà ³éëäëèéí ñèñòåìèéã àð÷ëàëòûí ÷óõàë õýñãèéí íýã þì. Óäààí õóãàöààíû òóðøèä FreeBSD äýýð ýíý ïðîöåññ õÿëáàð áèø áàéëàà. Çàñâàðóóäûã ýõ êîä ðóó õèéæ êîäûã õî¼ðòûí õýëáýð ð³³ äàõèí á³òýýæ äàðàà íü õî¼ðòûí àéëóóäûã äàõèí ñóóëãàõ øààðäëàãàòàé áàéëàà. Ýíý íü îäîî òèéì áèø áîëñîí á°ã°°ä FreeBSD íü freebsd-update ãýãääýã õýðýãñëèéã àãóóëäàã. Ýíý õýðýãñýë íü õî¼ð òóñäàà óíêöýýð õàíãàäàã. Íýãä³ãýýðò ýíý íü á³òýýëò áîëîí ñóóëãàõ øààðäëàãàã³éãýýð õî¼ðòûí àþóëã³é áàéäàë áîëîí àëäààíû øèíý÷ëýëò³³äèéã FreeBSD-èéí ³íäñýí ñèñòåìä îðóóëàõ áîëîìæèéã îëãîäîã. Õî¼ðäóãààðò óã õýðýãñýë áàãà áîëîí òîì õóâèëáàðûí øèíý÷ëýëò³³äèéã äýìæäýã. Note: Àþóëã³é áàéäëûí áàãààð äýìæèãäñýí á³õ àðõèòåêòóð áîëîí õóâèëáàðóóäûí õóâüä õî¼ðòûí øèíý÷ëýëò³³ä áàéäàã áîëîâ÷ FreeBSD ³éëäëèéí ñèñòåìèéí øèíý÷ëýëò³³ä çýðýã çàðèì íýã áîëîìæóóä íü freebsd-update(8)-èéí õàìãèéí ñ³³ëèéí õóâèëáàð áîëîí FreeBSD 6.3 áîëîí ò³³íýýñ äýýøèõ õóâèëáàðûã øààðääàã. Øèíý õóâèëáàð ðóó øèíý÷ëýõýýñ °ìí° õ³ññýí õóâèëáàðò ÷èíü õàìààòàé ÷óõàë ìýäýýëýë áàéæ áîëîõ ó÷èð îäîîãèéí õóâèëáàðûí çàðëàëóóäûã äàõèí ³çýõ õýðýãòýé. Òýäãýýð çàðëàëóóäûã äàðààõ õîëáîîñîîñ ³çýæ áîëíî: http://www.FreeBSD.org/releases/.
Õýðýâ crontab íü freebsd-update-èéí áîëîìæóóäûã õýðýãëýæ áàéâàë äàðààõ ³éëäëèéã ýõëýõýýñ °ìí° ò³³íèéã áîëèóëàõ õýðýãòýé. 24.2.1
Òîõèðãîîíû àéë
Ïðîöåññèéã èë³³ õÿíàõ áîëîìæòîé áîëãîæ çàðèì õýðýãëýã÷èä òîõèðãîîíû àéëûã °°ð÷ë°õèéã õ³ñýæ áîëîõ þì. Òîõèðãîîíóóä íü ìàø ñàéí áàðèìòæóóëàãäñàí áàéäàã áîëîâ÷ äàðààõ õýäýí ç³éëèéã àðàé èë³³ òàéëáàðëàõ øààðäëàãàòàé áàéæ áîëîõ þì: # Components of the base system which should be kept updated. Components src world kernel
Ýíý °ã°ãä°ë íü FreeBSD-èéí àëü õýñãèéã øèíý÷ëýõèéã õÿíàäàã. Àíõäàã÷ààð ýõ êîä, ³íäñýí ñèñòåì á³òíýýðýý áà ö°ìèéã øèíý÷ëýõ áàéäàã. Á³ðýëäýõ³³í õýñã³³ä íü ñóóëãàõ ÿâöàä áàéäàãòàé àäèë áàéäàã á°ã°°ä æèøýý íü "world/games" ãýäãèéã ýíä íýìýõýä òîãëîîìûí çàñâàðóóäûã õèéõ áîëîìæèéã îëãîíî. "src/bin" ãýäãèéã àøèãëàõ íü src/bin äàõü ýõ êîäûã øèíý÷ëýõ áîëîìæèéã îëãîäîã. Õàìãèéí ñàéí òîõèðãîî áîë ³³íèéã àíõäàã÷ààð íü ³ëäýýõ á°ã°°ä òóñãàé ç³éëñ îðóóëæ ³³íèéã °°ð÷èëñí°°ð õýðýãëýã÷èä °°ðñäèéí øèíý÷ëýõèéã õ³ññýí ç³éë áîëãîíîî æàãñààæ îðóóëàõ øààðäëàãàòàé áîëíî. Èíãýñíýýð ýõ êîä áîëîí õî¼ðòûí àéëóóäûí õîîðîíäîõ óÿëäàà àëäàãäàæ ãàìøèãò ³ð äàãàâàðò õ³ðãýæ áîëíî. # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths
625
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
ýñâýë /sbin çýðýã çàìóóäûã íýìæ ýäãýýð òóñãàé ñàíãóóäûã øèíý÷ëýõ ïðîöåññèéí ÿâöàä îðîëäîõã³é îðõèæ áîëíî. Ýíý òîõèðãîî íü freebsd-update ëîêàë °°ð÷ë°ëò³³äèéã äàðæ áè÷èõýýñ õàìãààëàõàä õýðýãëýæ áîëíî. /bin
# Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile
Çààãäñàí ñàíãóóä äàõü òîõèðãîîíû àéëóóä °°ð÷ë°ãä°°ã³é òîõèîëäîëä øèíý÷èëíý. Õýðýãëýã÷èéí õèéñýí °°ð÷ë°ëò³³ä ýäãýýð àéëóóäûí àâòîìàò øèíý÷ëýëòèéã õ³÷èíã³é áîëãîíî. freebsd-update-ã íèéë³³ëýõ ÿâöàä °°ð÷ë°ëò³³äèéã õàäãàëàõûã òóøààõ KeepModifiedMetadata ãýñýí °°ð íýã òîõèðãîî áàéäàã. # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/
èéí íèéë³³ëýõèéã îðîëäîõ òîõèðãîîíû àéëóóäòàé ñàíãóóäûí æàãñààëò. Ôàéë íèéë³³ëýõ ïðîöåññ íü ö°°í òîõèðãîîòîé mergemaster(8)-òàé ò°ñòýé diff(1) çàñâàðóóä á°ã°°ä íèéë³³ëýëòèéã ýñâýë õ³ëýýí àâàõ þì óó ýñâýë çàñâàðëàã÷ íýýæ ýñâýë freebsd-update àæèëëàãààãàà çîãñîîõ áîëíî. Ýðãýëçýæ áàéâàë /etc ñàíã í°°ö°ëæ àâààä íèéë³³ëýëò³³äèéã õ³ëýýí àâàõ õýðýãòýé. mergemaster òóøààëûí òàëààð äýëãýðýíã³é ìýäýýëëèéã Section 24.7.11.1-ñ ³çíý ³³. freebsd-update-
# Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update
Ýíý ñàí íü á³õ çàñâàðóóä áîëîí ò³ð çóóðûí àéëóóä áàéõ ñàí þì. Õýðýãëýã÷ õóâèëáàð øèíý÷ëýëò õèéæ áàéâàë ýíý áàéðëàë íü õàìãèéí áàãààð áîäîõîä ãèãàáàéò äèñêèéí çàéòàé áàéõ øààðäëàãàòàé. # # # # #
When upgrading between releases, should the list of Components be read strictly (StrictComponents yes) or merely as a list of components which *might* be installed of which FreeBSD Update should figure out which actually are installed and upgrade those (StrictComponents no)? StrictComponents no
yes ãýæ òîõèðóóëñàí ³åä freebsd-update íü Components áóþó á³ðýëäýõ³³í õýñã³³äèéí æàãñààëò á³ðýí ãýæ òîîöîõ á°ã°°ä æàãñààëòààñ ãàäíà °°ð÷ë°ëò õèéõèéã îðîëäîõã³é. freebsd-update íü Components-èéí æàãñààëòàä õàìààðàõ àéë á³ðèéã øèíý÷ëýõèéã îðîëäîõ áîëíî.
24.2.2
Àþóëã³é áàéäëûí çàñâàðóóä
Àþóëã³é áàéäëûí çàñâàðóóä íü àëñûí ìàøèí äýýð õàäãàëàãääàã á°ã°°ä äàðààõ òóøààë àøèãëàí òàòàí àâ÷ ñóóëãàæ áîëíî: # freebsd-update fetch # freebsd-update install
Õýðýâ ö°ìèéí ÿìàð íýã çàñâàð õèéãäñýí áîë ñèñòåìèéã äàõèí à÷ààëàõ õýðýãòýé. Õýðýâ á³ãä ç°â ÿâàãäñàí áîë ñèñòåì íü çàñâàð õèéãäñýí áàéõ ¼ñòîé á°ã°°ä freebsd-update-èéã cron(8) àæëààñ ø°í°
626
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
á³ð àæèëëóóëæ áîëíî. Ýíý àæëûã õèéõýä äàðààõ ì°ðèéã /etc/crontab-ä õèéõýä õàíãàëòòàé áàéõ áîëíî: @daily
root
freebsd-update cron
Ýíý ì°ð íü °ä°ð á³ð freebsd-update-ã àæèëëóóëàõûã çààæ áàéíà. Èéì àðãààð cron-èé íýìýëò °ã°ãäëèéã àøèãëàí freebsd-update íü ç°âõ°í øèíý÷ëýëò áàéãàà ýñýõèéã øàëãàõ áîëíî. Õýðýâ çàñâàðóóä áàéâàë òýäãýýðèéã àâòîìàòààð äèñê ð³³ òàòàæ àâàõ á°ã°°ä ãýõäýý çàñâàðóóäûã õèéõã³é. root õýðýãëýã÷ ð³³ çàõèà èëãýýãäýõ á°ã°°ä äàðàà íü òýä ãàðààð ñóóëãàæ áîëîõ þì. Õýðýâ ÿìàð íýã ç³éë áóðóó áîëáîë freebsd-update íü äàðààõ òóøààëààð ñ³³ëèéí °°ð÷ë°ëò³³äèéã áóöààõ ÷àäâàðòàé áàéäàã: # freebsd-update rollback
Äóóññàíû äàðàà ö°ì ýñâýë ö°ìèéí ìîäóëèóä °°ð÷ë°ãäñ°í áîë ñèñòåìèéã äàõèí ýõë³³ëýõ õýðýãòýé. Ýíý íü øèíý õî¼ðòûí àéëóóäûã ñàíàõ îé ðóó äóóäàõ áîëîìæèéã FreeBSD-ä îëãîíî. freebsd-update õýðýãñýë íü àâòîìàòààð ç°âõ°í GENERIC ö°ìèéã øèíý÷èëæ ÷àääàã. Õýðýâ °°ð÷ë°í òîõèðóóëñàí ö°ì àøèãëàãäàæ áàéâàë freebsd-update íü øèíý÷ëýëòèéã õèéæ äóóññàíû äàðàà ö°ìèéã äàõèí á³òýýæ ñóóëãàõ øààðäëàãàòàé. ýõäýý freebsd-update íü /boot/GENERIC (õýðýâ áàéãàà áîë) äàõü GENERIC ö°ìèéã ñèñòåìèéí òóõàéí ³åèéí (àæèëëàæ áàéãàà) ö°ì áèø áàéñàí ÷ ãýñýí îëæ øèíý÷èëäýã. äàõü GENERIC ö°ìèéí õóóëáàðûã ³ðãýëæ õàäãàëàõ íü åð íü ç³éòýé áàéäàã. Ýíý íü ò°ð°ë á³ðèéí àñóóäëóóäûã øèíæëýõ áîëîí Section 24.2.3-ò òàéëáàðëàñíû äàãóó freebsd-update-ã àøèãëàí õóâèëáàð øèíý÷ëýëòèéã õèéõýä à÷ òóñòàé áàéõ áîëíî.
Note: /boot/GENERIC
äàõü àíõäàã÷ òîõèðãîî °°ð÷ë°ãä°°ã³é ë áîë freebsd-update øèíý÷ëýãäñýí ö°ìèéí ýõèéã áóñàä øèíý÷ëýëòòýé öóã ñóóëãàõ áîëíî. Äàðàà íü °°ðèéí °°ð÷ë°í òîõèðóóëñàí ö°ìèéã äàõèí á³òýýæ ñóóëãàõäàà ýíãèéí ñóðñàí àðãààðàà õèéæ áîëíî.
/etc/freebsd-update.conf
Note: freebsd-update-ààð
ò³ãýýãäñýí øèíý÷ëýëò³³ä íü ö°ìòýé ³ðãýëæ õîëáîîòîé áàéäàãã³é. òóøààëààð ö°ìèéí ýõ °°ð÷ë°ãä°°ã³é áîë °°ðèéí °°ð÷ë°í òîõèðóóëñàí ö°ìèéã äàõèí á³òýýõ øààðäëàãàã³é þì. ýõäýý freebsd-update òóøààë /usr/src/sys/conf/newvers.sh àéëûã ³ðãýëæ øèíý÷ëýõ áîëíî. Òóõàéí ³åèéí í°õ°°ñèéí ò³âøèíã (uname -r òóøààëààñ ãàðñàí -p äóãààðààð çààãäñàí) ýíý àéëààñ àâäàã. °ð áóñàä þìñ °°ð÷ë°ãä°°ã³é áàéñàí ÷ ãýñýí °°ðèéí °°ð÷ë°í òîõèðóóëñàí ö°ìèéã äàõèí á³òýýõ íü ñèñòåìèéí òóõàéí ³åèéí í°õ°°ñèéí ò³âøèíã ç°â ãàðãàõ áîëîìæèéã uname(1)-ä îëãîíî. Ýíý íü îëîí ñèñòåìèéã àð÷èëæ áàéãàà ³åä ÿëàíãóÿà à÷ òóñòàé áàéäàã á°ã°°ä èíãýñíýýð òýð ñèñòåì³³ä äýýð ñóóëãàãäñàí øèíý÷ëýëò³³äýä ò³ðãýí øóóðõàé ³íýëãýý °ã°õ áîëîìæèéã îëãîäîã. freebsd-update install
24.2.3 Major
áà Minor áóþó Òîì áà Áàãà øèíý÷ëýëò³³ä
Ýíý ïðîöåññ íü èõýíõ ãóðàâäàã÷ òàëûí ïðîðàìóóäûã ýâäýõ õóó÷èí îáüåêò àéëóóä áîëîí ñàíãóóäûã óñòãàõ áîëíî. Á³õ ñóóëãàãäñàí ïîðòóóäûã óñòãàæ äàõèí ñóóëãàõ ýñâýë ports-mgmt/portupgrade õýðýãñýë àøèãëàí ñ³³ëä íü øèíý÷ëýõèéã ç°âë°ä°ã. Äàðààõ òóøààëûã àøèãëàí èõýíõ õýðýãëýã÷èä òåñò á³òýýëòèéã àæèëëóóëàõûã õ³ñíý:
627
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü # portupgrade -af
Ýíý íü á³ãäèéã ç°â äàõèí ñóóëãàõ áàòàëãàà áîëîõ þì. BATCH îð÷íû õóâüñàã÷èéã yes ãýæ òîõèðóóëñíààð ýíý ïðîöåññèéí ÿâöàä ãàð÷ èðýõ õ³ëýýõ ì°ð°íä yes ãýæ õàðèóëàí á³òýýõ ïðîöåññèéí ³åä îðîëöîõ øààðäëàãûã ³ã³é áîëãîíî. Õýðýâ °°ð÷ë°í òîõèðóóëñàí ö°ì àøèãëàãäàæ áàéãàà áîë øèíý÷ëýõ ïðîöåññ àðàé èë³³ àæèëëàãààòàé. GENERIC ö°ìèéí õóóëáàð øààðäëàãàòàé á°ã°°ä /boot/GENERIC-ä áàéðëóóëàõ øààðäëàãàòàé. Õýðýâ GENERIC ö°ì ñèñòåìä áàéõã³é áîë ³³íèéã äîîð äóðäñàí àðãóóäûí àëü íýãèéã àøèãëàí îëæ àâ÷ áîëíî: •
•
Õýðýâ °°ð÷ë°í òîõèðóóëñàí ö°ì ç°âõ°í íýã óäàà á³òýýãäñýí áîë /boot/kernel.old äàõü ö°ì íü GENERIC ö°ì þì. Ýíý ñàíã /boot/GENERIC ãýæ °°ð÷ë°õ°ä ë áîëíî. Ìàøèíä èçèêýýð õàíäàõ áîëîìæòîé ãýæ òîîöâîë GENERIC ö°ìèéí õóóëáàðûã CD-ROM ç°°â°ðë°ã÷°°ñ ñóóëãàæ áîëíî. °ðèéí ñóóëãàö äèñêèéã õèéæ äàðààõ òóøààëóóäûã àøèãëàíà: # mount /cdrom # cd /cdrom/X.Y-RELEASE /kernels # ./install.sh GENERIC
ã °°ðèéí àøèãëàæ áàéãàà õóâèëáàðààð ñîëèõ õýðýãòýé. GENERIC ö°ì àíõäàã÷ààð ä ñóóëãàãäàõ áîëíî. Äýýð äóðäñàí á³ãäèéã õèéõ áîëîìæã³é áîë GENERIC ö°ìèéã ýõýýñ íü äàõèí á³òýýæ ñóóëãàæ áîëîõ þì:
X.Y-RELEASE -
/boot/GENERIC•
# # # #
cd /usr/src env DESTDIR=/boot/GENERIC make kernel mv /boot/GENERIC/boot/kernel/* /boot/GENERIC rm -rf /boot/GENERIC/boot
Ýíý ö°ìèéã freebsd-update õýðýãñýëä GENERIC ãýæ õàðóóëàõûí òóëä GENERIC òîõèðãîîíû àéëûã ÿìàð ÷ òîõèîëäîëä °°ð÷èëñ°í áàéõ ¼ñã³é. Áàñ ÿìàð íýã òóñãàé ñîíãîëòóóäã³éãýýð (àëü áîëîõ õîîñîí /etc/make.conf àéëòàéãààð) á³òýýãäñýí áàéõ ¼ñòîéã ç°âë°ä°ã. Ýíý ³åä GENERIC ö°ì ð³³ äàõèí à÷ààëàõ øààðäëàãàã³é þì. Òîì áà áàãà õóâèëáàðûí øèíý÷ëýëò³³äèéã freebsd-update òóøààëä õóâèëáàðûí äóãààðûã °ã÷ ã³éöýòãýæ áîëíî, æèøýý íü äàðààõ òóøààë FreeBSD 6.4 ðóó øèíý÷èëíý: # freebsd-update -r 6.4-RELEASE upgrade
Òóøààë õ³ëýýí àâñíû äàðàà freebsd-update ñèñòåìèéã øèíý÷ëýõýä øààðäëàãàòàé ìýäýýëëèéã öóãëóóëàõûí òóëä òîõèðãîîíû àéë áîëîí îäîîãèéí ñèñòåìèéã øàëãàíà. ßìàð á³ðýëäýõ³³í õýñã³³ä èëð³³ëýãäñýí áîëîí ÿìàð á³ðýëäýõ³³í õýñã³³ä èëð³³ëýãäýýã³é ãýäãèéã äýëãýö äýýð ³ç³³ëíý. Æèøýý íü: Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 6.3-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
628
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y
Ýíä õ³ðýõýä freebsd-update øèíý÷ëýëòýä øààðäëàãàòàé á³õ àéëóóäûã òàòàí àâàõààð îðîëäîõ áîëíî. Çàðèì òîõèîëäîëä õýðýãëýã÷ýýñ þó ñóóëãàõ ýñâýë õýðõýí öààø ³ðãýëæë³³ëýõ òàëààð àñóóëòóóä àñóóæ áîëîõ þì. °ð÷ë°í òîõèðóóëñàí ö°ìèéã àøèãëàæ áàéõ ³åä äýýðõ àëõàì äàðààõòàé ò°ñòýé àíõààðóóëãûã õàðóóëàõ áîëíî: WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 6.3-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install"
Ýíý àíõààðóóëãûã ýíý ³åä îðõèãäóóëàõàä àþóëã³é áàéäàã. Øèíý÷ëýãäñýí GENERIC ö°ì øèíý÷ëýëòèéí ÿâöàä çàâñðûí àëõàì áîëîí àøèãëàãäàõ áîëíî. Á³õ çàñâàðóóä ëîêàë ñèñòåì ð³³ òàòàãäñàíû äàðàà òýäãýýðèéã õèéæ °ã°õ áîëíî. Ìàøèíû õóðä áîëîí à÷ààëëààñ õàìààð÷ ýíý ïðîöåññ íü õóãàöàà øààðäàæ áîëîõ þì. Òîõèðãîîíû àéëóóäûã íèéë³³ëýõ áîëíî. Ôàéë íèéë³³ëýãäýõ þì óó ýñâýë ãàðààð íèéë³³ëýõýä çîðèóëæ çàñâàðëàã÷ äýëãýö äýýð ãàð÷ èð÷ áîëîõ ó÷èð ïðîöåññèéí ýíý õýñýã õýðýãëýã÷èéí îðîëöîî øààðäàíà. Àìæèëòòàé íèéë³³ëýëò áîëãîíû ³ð ä³í õýðýãëýã÷èä õàðóóëàãäàæ ïðîöåññ ³ðãýëæëýõ áîëíî. Àìæèëòã³é áîëñîí ýñâýë îðõèãäñîí íèéë³³ëýëò íü ïðîöåññèéã çîãñîîõ áîëíî. Õýðýãëýã÷èä íü /etc ñàíãèéí í°°öèéã õèéæ master.passwd ýñâýë group çýðýã ÷óõàë àéëóóäûã ãàðààð ñ³³ëä íü íèéë³³ëýõèéã õ³ñýæ áîëîõ þì. Note: Ñèñòåì íü °°ð÷ë°ãä°°ã³é áàéãàà á°ã°°ä á³õ çàñâàð îðóóëàëò áîëîí íèéë³³ëýëò °°ð ñàí äîòîð áîëæ áàéãàà áîëíî. Á³õ çàñâàðóóä àìæèëòòàé õèéãäýæ á³õ òîõèðãîîíû àéëóóä íèéë³³ëýãäýæ ïðîöåññ òýãø ÿâàãäàæ áàéãàà ìýò ñàíàãäâàë õýðýãëýã÷ °°ð÷ë°ëò³³äèéã õèéõ õýðýãòýé.
Ýíý ïðîöåññ äóóññàíû äàðàà øèíý÷ëýëòèéã äàðààõ òóøààëûã àøèãëàí äèñê ð³³ õèéæ áîëíî. # freebsd-update install
Ö°ì áîëîí ö°ìèéí ìîäóëèóäàä ýõëýýä çàñâàð õèéíý. Ýíý ³åä ìàøèíûã äàõèõ à÷ààëàõ ¼ñòîé. Õýðýâ ñèñòåì °°ð÷ë°í òîõèðóóëñàí ö°ì°°ð àæèëëàæ áàéãàà áîë ö°ìèéã /boot/GENERIC (øèíý÷ëýãäñýí) ö°ì°°ð äàðàà íü à÷ààëàõààð áîëãîõûí òóëä nextboot(8)-èéã àøèãëàíà: # nextboot -k GENERIC
Warning: GENERIC ö°ì°°ð à÷ààëàõààñ °ìí° (õýðýâ øèíý÷ëýãäýæ áàéãàà ìàøèíä àëñààñ õàíäàæ áàéãàà áîë ñ³ëæýýíä õîëáîãäîí) òàíû ñèñòåì ç°â à÷ààëàõûí òóëä øààðäëàãàòàé á³õ äðàéâåðóóäûã àãóóëñàí ýñýõèéã øàëãàõ õýðýãòýé. ßëàíãóÿà õýðýâ °ìí° íü àæèëëàæ áàéñàí °°ð÷ë°í òîõèðóóëñàí ö°ì åð°íõèéä°° ö°ìèéí ìîäóëèóäààð õàíãàãäàæ áàéäàã àæèëëàãààã °°ðò°° àãóóëñàí áîë /boot/loader.conf áîëîìæèéã àøèãëàí ýäãýýð ìîäóëèóäûã GENERIC ö°ìä ò³ð çóóð à÷ààëàõàà ìàðòóóçàé. Øèíý÷ëýõ ïðîöåññ á³ðýí äóóñòàë øààðäëàãàã³é ³éë÷èëãýýí³³ä, äèñê áîëîí ñ³ëæýýíèé õîëáîëòóóä ãýõ ìýòèéã òà áàñ õààæ °ã÷ áîëîõ þì.
629
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Îäîî ìàøèí øèíý÷ëýãäñýí ö°ì°°ð à÷ààëàãäàõ ¼ñòîé: # shutdown -r now
Ñèñòåì áóöàæ àññàíû äàðàà freebsd-update-ã äàõèí ýõë³³ëýõ õýðýãòýé. Ïðîöåññèéí ò°ë°â õàäãàëàãäñàí áîëîõîîð freebsd-update ýõíýýñýý ýõëýõã³é á°ã°°ä á³õ õóó÷èí õóâààëöñàí ñàíãóóä áîëîí îáüåêò àéëóóäûã óñòãàõ áîëíî. Ýíý øàòûã ³ðãýëæë³³ëýõèéí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # freebsd-update install
Note: Ñàíãóóäûí õóâèëáàðûí òîî äýýøèëñýí ýñýõýýñ õàìààð÷ ñóóëãàõ ãóðâàí øàòíû îðîíä õî¼ð øàò áàéæ áîëîõ þì.
Á³õ ãóðàâäàã÷ òàëûí ïðîãðàì õàíãàìæèéã äàõèí á³òýýæ äàõèí ñóóëãàõ õýðýãòýé. Ñóóëãàãäñàí ïðîãðàì õàíãàìæ íü øèíý÷ëýëòèéí ïðîöåññèéí ÿâöàä óñòãàãäñàí ñàíãóóäààñ õàìààð÷ áîëîõ ó÷ðààñ ýíý íü øààðäëàãàòàé þì. ports-mgmt/portupgrade òóøààëûã ³³íèéã àâòîìàòæóóëàõàä àøèãëàæ áîëîõ þì. Ýíý ïðîöåññèéã ýõë³³ëýõèéí òóëä äàðààõ òóøààëûã õýðýãëýæ áîëíî: # # # # #
portupgrade -f ruby rm /var/db/pkg/pkgdb.db portupgrade -f ruby18-bdb rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db portupgrade -af
³íèéã äóóññàíû äàðàà øèíý÷ëýëòèéí ïðîöåññèéã freebsd-update-èéã ñ³³ëèéí óäàà äóóäàæ ò°ãñã°í°. Øèíý÷ëýëòèéí ïðîöåññèéí ñóë áàéãàà á³õ ç³éëñèéã ã³éöýýõèéí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # freebsd-update install
Õýðýâ GENERIC ö°ì ò³ð çóóð àøèãëàãäàæ áàéñàí áîë °°ð÷ë°í òîõèðóóëñàí øèíý ö°ìèéã åðäèéí õýâøñýí àðãààð îäîî á³òýýæ ñóóëãàõ öàã áîëæýý. Ìàøèíàà FreeBSD-èéí øèíý õóâèëáàð ðóó äàõèí à÷ààëàõ õýðýãòýé. Ïðîöåññ äóóñëàà. 24.2.4
Ñèñòåìèéí ò°ëâèéí õàðüöóóëàëò
õýðýãñëèéã FreeBSD-èéí ñóóëãàãäñàí õóâèëáàðûí ò°ëâèéã áàéãàà ç°â õóóëáàðûí ýñðýã òåñò õèéõýä õýðýãëýæ áîëíî. Ýíý ñîíãîëò íü ñèñòåìèéí õýðýãñë³³ä ñàíãóóä áîëîí òîõèðãîîíû àéëóóäûí îäîîãèéí õóâèëáàðóóäûã øàëãàäàã. Õàðüöóóëàëòûã ýõë³³ëýõèéí òóëä äàðààõ òóøààëûã àæèëëóóëíà: freebsd-update
# freebsd-update IDS >> outfile.ids
Warning: Òóøààëûí íýð IDS áîëîâ÷ ýíý íü ÿìàð ÷ òîõèîëäîëä security/snort çýðýã õàëäëàãà èëð³³ëýã÷ ñèñòåìèéã ñîëèõ çîðèóëàëòòàé áèø þì. freebsd-update íü °ã°ãäëèéã äèñê äýýð õàäãàëäàã á°ã°°ä ò³³íèéã
630
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
°°ð÷ë°õ áîëîìæ òîäîðõîé þì. kern.securelevel òîõèðãîîã àøèãëàõ áîëîí freebsd-update-èéí °ã°ãäëèéã ç°âõ°í óíøèãäàõ àéëûí ñèñòåì äýýð àøèãëàãäààã³é òîõèîëäîëä õàäãàëàõ íü ýíý áîëîìæèéã áàãàñãàõ áîëîâ÷ èë³³ ñàéí øèéäýë íü ñèñòåìèéã DVD ýñâýë íóóöëàã õàäãàëñàí ãàäààä USB äèñêèéí ò°õ°°ð°ìæ çýðýã íóóöëàã äèñêòýé õàðüöóóëàõ ÿâäàë þì.
Ñèñòåì íü îäîî øàëãàãäàõ á°ã°°ä àéëóóä íü °°ðñäèéí sha256(1) óòãóóäûí õàìò, õóâèëáàð äàõü ìýäýãäýæ áàéãàà ñàéí óòãóóä áîëîí îäîî ñóóãäñàí áàéãàà óòãóóäûí õàìò õýâëýãäýí õàðóóëàãäàíà. Ýíý íü ÿàãààä ãàðàëò outfile.ids àéë ðóó èëãýýãäñýí øàëòãààí þì. ³íèéã í³äýýð øàëãàõàä õýòýðõèé õóðäàí äýýø ã³éæ óäàëã³é êîíñîëûí áóåðèéã ä³³ðãýõ áîëíî. Ýäãýýð ì°ð³³ä íü áàñ õýòýðõèé óðò áîëîâ÷ ãàðàëòûí õýëáýðèéã õÿëáàðààð çàäëàí ÿëãàæ áîëíî. Æèøýý íü õóâèëáàðò áàéãààãààñ îíäîî á³õ àéëóóäûí æàãñààëòûã àâàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # cat outfile.ids | awk ’{ print $1 }’ | more
/etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf
Ýíý ãàðàëò íü òàéðàãäñàí á°ã°°ä îëîí àéë áàéãàà áîëíî. Ýäãýýð àéëóóäûí çàðèì íü ò°ð°ëõèéí °°ð÷ë°ëò³³äòýé áàéíà, æèøýý íü /etc/passwd íü õýðýãëýã÷ ñèñòåìä íýìýãäñýí áîëîõîîð °°ð÷ë°ãäñ°í áàéíà. Çàðèì òîõèîëäîëä freebsd-update íü øèíý÷èëñýí áàéæ áîëçîøã³é ó÷èð ö°ìèéí ìîäóëèóä çýðýã áóñàä àéëóóä °°ð áàéæ áîëîõ þì. Òóñãàé àéëóóä áîëîí ñàíãóóäûã õàñàõûí òóëä òýäãýýðèéã /etc/freebsd-update.conf àéëûí IDSIgnorePaths òîõèðãîîíä íýìæ °ãí°. ìí° õýëýëöñýí õóâèëáàðààñ ãàäíà íàðèéí íÿãò øèíý÷ëýëòèéí àðãûí õýñýã áîëãîí ýíý ñèñòåìèéã àøèãëàæ áîëíî. 24.3 Portsnap:
Ïîðòûí öóãëóóëãûã øèíý÷ëýõ õýðýãñýë
Áè÷ñýí Òîì °³äñ. Òýìäýãëýãýý áè÷ñýí Êîëèí Ïåðñèâàë. FreeBSD-èéí ³íäñýí ñèñòåì ïîðòûí öóãëóóëãûã áàñ øèíý÷èëäýã portsnap(8) õýðýãñëèéã àãóóëäàã. Àæèëëóóëñíû äàðàà ýíý íü àëñûí ñàéò ðóó õîëáîãäîæ íóóö ò³ëõ³³ðèéã øàëãàæ ïîðòûí öóãëóóëãûí øèíý õóóëáàðûã òàòàí àâäàã. Ò³ëõ³³ð íü á³õ òàòàæ àâñàí àéëóóä òàòàãäàæ áàéõäàà °°ð÷ë°ãä°°ã³é ýñýõèéã õÿíàí á³ðýí á³òýí áàéäëûã øàëãàõàä àøèãëàãääàã. Õàìãèéí ñ³³ëèéí ³åèéí ïîðòûí öóãëóóëãûã òàòàæ àâàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. Fetching snapshot tag from portsnap1.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done.
631
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü Fetching 133 new ports or files... done.
Ýíý æèøýý íü þó ³ç³³ëæ áàéíà âý ãýõýýð portsnap(8) îäîî áàéãàà ïîðòûí °ã°ãä°ëä õýä õýäýí çàñâàðóóä áàéãààã îëæ øàëãàæ áàéíà. Ýíý íü áàñ óã õýðýãñýë °ìí° íü àæèëëàñíûã õàðóóëæ áàéãàà á°ã°°ä õýðýâ ýõíèé óäàà àæèëëàñàí áîë öóãëóóëãà òàòàãäàí àâàãäàõ áàéñàí þì. portsnap(8) íü fetch ³éëäëèéã õèéæ äóóññàíû äàðàà ëîêàë ñèñòåì äýýð áàéãàà ïîðòûí öóãëóóëãà áîëîí äàðàà äàðààãèéí çàñâàðóóäûã øàëãàëòàä äàìæóóëíà. Øèíý÷ëýãäñýí àéëóóäûã äàðààõèéã áè÷èæ ñóóëãàæ áîëíî: # portsnap extract
/usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk ...
Ïðîöåññ îäîî äóóññàí á°ã°°ä ïîðòûí öóãëóóëûã àøèãëàí ïðîãðàìóóäûã ñóóëãàæ ýñâýë øèíý÷èëæ áîëíî. Õî¼ð ïðîöåññèéã äàðààëàí öóã àæèëëóóëàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # portsnap fetch update
24.4
Áàðèìòûí öóãëóóëãûã øèíý÷ëýõ íü
íäñýí ñèñòåì áîëîí ïîðòûí öóãëóóëãààñ ãàäíà áàðèìòóóä íü FreeBSD ³éëäëèéí ñèñòåìèéí ñàëøã³é õýñýã þì. Õýäèéãýýð FreeBSD-èéí õàìãèéí ñ³³ëèéí ³åèéí áàðèìòûí öóãëóóëãà FreeBSD âýá ñàéò (http://www.freebsd.org/doc/) äýýð ³ðãýëæ áàéäàã áîëîâ÷ çàðèì õýðýãëýã÷èä óäààí ñ³ëæýýíèé õîëáîëòòîé ýñâýë á³ð òîãòìîë ñ³ëæýýíèé õîëáîëòã³é áàéæ áîëîõ þì. Àçààð FreeBSD-èéí õàìãèéí ñ³³ëèéí ³åèéí áàðèìòûí öóãëóóëãûí ëîêàë õóóëáàðûã àð÷ëàí õóâèëáàð á³ðòýé öóã èðäýã áàðèìòûã øèíý÷ëýõ õýä õýäýí àðãà áàéäàã. 24.4.1
Áàðèìòûã øèíý÷ëýõèéí òóëä CVSup-ã àøèãëàõ íü
íäñýí ñèñòåìèéã øèíý÷ëýõòýé ò°ñòýé àðãûã àøèãëàí CVSup õýðýãëýí ýõ áîëîí FreeBSD-èéí áàðèìòóóäûí ñóóëãàãäñàí õóóëáàðûã øèíý÷èëæ áîëíî (Section 24.7). Ýíý õýñýã äàðààõ ç³éëñèéã òàéëáàðëàäàã: •
•
FreeBSD-èéí áàðèìòóóäûã ýõýýñ íü á³òýýõýä øààðäëàãàòàé õýðýãñë³³ä, áàðèìòûí õýðýãñë³³äèéã õýðõýí ñóóëãàõ òàëààð. CVSup àøèãëàí /usr/doc äàõü áàðèìòûí ýõèéí õóóëáàðûã õýðõýí òàòàæ àâàõ òàëààð.
632
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü • •
FreeBSD-èéí áàðèìòûã ýõýýñ íü õýðõýí á³òýýæ /usr/share/doc äîòîð ñóóëãàõ òàëààð.
Áàðèìòûã á³òýýõ ñèñòåìèéí äýìæäýã á³òýýëòèéí çàðèì òîõèðóóëãóóä, °°ð°°ð õýëáýë áàðèìòûí çàðèì íýã õýë äýýðõ îð÷óóëãûã ç°âõ°í á³òýýäýã òîõèðóóëãóóä ýñâýë òóñãàé ãàðàëòûí õýëáýðæ³³ëýëòèéã ñîíãîäîã òîõèðóóëãóóä.
24.4.2 CVSup
áîëîí áàðèìòûí õýðýãñë³³äèéã ñóóëãàõ íü
FreeBSD-èéí áàðèìòûã ýõýýñ íü á³òýýõýä íýëýýí îëîí òîîíû õýðýãñë³³äèéã øààðääàã. Ýäãýýð õýðýãñë³³ä íü FreeBSD-èéí ³íäñýí ñèñòåìèéí õýñýã áèø áàéäàã. Ó÷èð íü ýäãýýð íü èõýýõýí õýìæýýíèé äèñêèéí çàé øààðääàã á°ã°°ä FreeBSD-èéí á³õ õýðýãëýã÷äýä õýðýãòýé áàéäàãã³é. Òýäãýýð íü FreeBSD-ä
çîðèóëæ øèíý áàðèìòóóä èäýâõòýé áè÷äýã ýñâýë °°ðñäèéí áàðèìòûã ýõýýñ íü áàéíãà øèíý÷èëäýã õýðýãëýã÷äýä ç°âõ°í õýðýãòýé áàéäàã. Á³õ øààðäëàãàòàé õýðýãñë³³ä ïîðòûí öóãëóóëãàä áàéäàã. Ýäãýýð õýðýãñë³³äèéí ýõíèé ñóóëãàëò áîëîí õîæìûí øèíý÷ëýëò³³äèéã õÿëáàðøóóëàõ textproc/docproj ïîðò íü FreeBSD-èéã áàðèìòæóóëàõ ò°ñë°°ñ õ°ãæ³³ëñýí ìàñòåð ïîðò þì. Note: PostScript ýñâýë PDF áàðèìò øààðäëàãàã³é ³åä õàðèí textproc/docproj-nojadetex ïîðòûã ñóóëãàæ áîëîõ þì. Áàðèìòûí õýðýãñëèéí ýíý õóâèëáàð íü teTeX òàéïñåò õ°ä°ëã³³ðýýñ áóñàä á³ãäèéã áàãòààñàí áàéäàã. teTeX íü ìàø îëîí õýðýãñë³³äèéí öóãëóóëãà ó÷èð PDF ãàðàëò ³íýõýýð øààðäëàãàã³é òîõèîëäîëä ñóóëãàõã³é áàéõ íü çîõèìæòîé áàéäàã.
CVSup-ã ñóóëãàæ àøèãëàõ òàëààðõ äýëãýðýíã³é ìýäýýëëèéã CVSup-ã àøèãëàõ õýñãýýñ ³çíý ³³.
24.4.3
Áàðèìòûí ýõèéã øèíý÷ëýõ íü
CVSup íü /usr/share/examples/cvsup/doc-supfile àéëûã òîõèðãîîíû çàãâàð áîëãîí àøèãëàæ áàðèìòûí ýõèéí öýâýð õóóëáàðûã òàòàí àâ÷ ÷àääàã. Àíõäàã÷ øèíý÷ëýëòèéí õîñò íü doc-supfile àéëä çààñíààð áàéãàà áîëîâ÷ cvsup(1) íü òóøààëûí ì°ð°°ñ õîñòûí íýðèéã àâäàã á°ã°°ä áàðèìòûí ýõèéã àëü íýã CVSup ñåðâåðýýñ äàðààõ òóøààëûã áè÷èí òàòàí àâ÷ áîëíî: # cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/share/examples/cvsup/doc-supfile
ã õàìãèéí îéð CVSup ñåðâåðýýð ñîëèõ õýðýãòýé. Òîëèí òóñãàë ñàéòóóäûí á³ðýí æàãñààëòûã Section A.6.7-ñ ³çíý ³³. Áàðèìòûí ýõèéí ýõíèé òàòàëò õóãàöàà øààðäàæ áîëîõ þì. Äóóñòàë íü õ³ëýýõ õýðýãòýé. Áàðèìòûí ýõèéí äàðàà äàðààãèéí øèíý÷ëýëò³³äèéã äýýðõ òóøààëûã àøèãëàí òàòàí àâ÷ áîëíî. CVSup õýðýãñýë íü õàìãèéí ñ³³ëèéí óäàà àæèëëàñíààøàà õîéøèõ øèíý÷ëýëò³³äèéã ç°âõ°í òàòàí àâ÷ õóóëäàã ó÷èð ýõíèé óäàà á³ðýí àæèëëàñíààñ õîéø äàðàà äàðààãèéí óäàà CVSup-ã àæèëëóóëàõàä èë³³ õóðäàí áàéäàã. Ýõèéã òàòàí àâñíûõàà äàðàà áàðèìòûã øèíý÷ëýõ °°ð íýã àðãà íü /usr/doc ñàíãèéí Makefile-ààð äýìæèãäñýí áàéäàã. /etc/make.conf àéëä SUP_UPDATE, SUPHOST áîëîí DOCSUPFILE-èéã òîõèðóóëñíààð äîîðõèéã àæèëëóóëàõ áîëîìæòîé áîëíî:
cvsup.FreeBSD.org -
# cd /usr/doc # make update
633
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü /etc/make.conf-
ä çîðèóëñàí make(1)-èéí ýäãýýð òîõèðóóëãóóä èéì áàéäàã:
SUP_UPDATE= yes SUPHOST?= cvsup.freebsd.org DOCSUPFILE?= /usr/share/examples/cvsup/doc-supfile Note: SUPHOST áîëîí DOCSUPFILE óòãàä ?=-ã °ãñí°°ð á³òýýõ òóøààëûí ì°ð°°ñ °°ð÷ë°õ áîëîìæèéã á³ðä³³ëäýã. Ýíý íü make.conf-ä òîõèðóóëãóóä íýìýõ ç°âë°ñ°í àðãà þì. Èíãýñíýýð °°ð °°ð òîõèðóóëãûí óòãûã òåñò õèéõ áîëãîíä àéëûã çàñâàðëàõ øààðäëàãàã³é áîëãîäîã.
24.4.4
Áàðèìòûí ýõèéí òààðóóëæ áîëîõ òîõèðóóëãóóä
FreeBSD-èéí áàðèìòæóóëàëòûã á³òýýæ øèíý÷ëýõ ñèñòåì íü áàðèìòûí ç°âõ°í òîäîðõîé õýñãèéã øèíý÷ëýõ ýñâýë òóñãàé îð÷óóëãûã á³òýýõ ïðîöåññèéã àìàð÷ëàõ õýäýí òîõèðóóëãûã äýìæäýã. Ýäãýýð òîõèðóóëãóóäûã /etc/make.conf àéëä á³õýë ñèñòåìèéí õóâüä çààæ °ã°õ þì óó ýñâýë make(1) õýðýãñýëä òóøààëûí ì°ðèéí òîõèðãîî ìàÿãààð çààæ °ã÷ áîëíî.
Äàðààõ òîõèðóóëãóóä íü ýäãýýðèéí çàðèì íü þì:
DOC_LANG
Á³òýýæ ñóóëãàõ õýë áà êîä÷èëîëûí æàãñààëò, æèøýý íü Àíãëè áàðèìòàä ç°âõ°í çîðèóëñàí en_US.ISO8859-1 áàéíà. FORMATS
Á³òýýõ ãàíö õýëáýðæ³³ëýëò ýñâýë ãàðàëòûí õýëáýðæ³³ëýëòèéí æàãñààëò. Îäîîãîîð html, html-split, txt, ps, pdf, áîëîí rtf äýìæèãäñýí áàéãàà. SUPHOST
Øèíý÷ëýõýä àøèãëàõ CVSup ñåðâåðèéí õîñòûí íýð. DOCDIR
Áàðèìòûã ñóóëãàõ ãàçàð. Àíõäàã÷ààð /usr/share/doc áàéäàã. FreeBSD äýýðõ ñèñòåìèéí òîõèðóóëãà áîëîí äýìæèãäñýí á³òýýëòèéí õóâüñàã÷óóäûí òàëààð äýëãýðýíã³éã make.conf(5)-ñ ³çíý ³³. FreeBSD-èéí áàðèìòæóóëàëò á³òýýõ ñèñòåìèéí äýìæäýã á³òýýëòèéí õóâüñàã÷óóäûí òàëààð äýëãýðýíã³éã Øèíý õóâü íýìýð îðóóëàã÷äàä çîðèóëñàí FreeBSD áàðèìòæóóëàõ ò°ñëèéí ãàðûí àâëàãààñ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/fdp-primer) ³çíý ³³.
èéí áàðèìòóóäûã ýõýýñ ñóóëãàõ íü
24.4.5 FreeBSD-
Áàðèìòûí ýõèéí õàìãèéí ñ³³ëèéí õîðìûí õóâèëáàðûã /usr/doc ñàíä òàòàæ àâñíààð ñóóëãàãäñàí áàðèìòûí øèíý÷ëýëòèéã õèéõýä á³õ þì áýëýí áîëíî. DOC_LANG makefile-èéí òîõèðãîîíä çààãäñàí á³õ õýëíèé á³ðýí øèíý÷ëýëòèéã äàðààõèéã áè÷èí õèéæ áîëíî: 634
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü # cd /usr/doc # make install clean
Õýðýâ make.conf íü ç°â DOCSUPFILE, SUPHOST áîëîí SUP_UPDATE òîõèðãîîíóóäòàéãààð òîõèðóóëàãäñàí áîë ñóóëãàõ àëõìûã áàðèìòûí øèíý÷ëýëòòýé öóã õàìòàòãàí èíãýæ õèéæ °ã÷ áîëíî: # cd /usr/doc # make update install clean
Õýðýâ ç°âõ°í òóñãàé õýëíèé øèíý÷ëýëò õýðýãòýé áîë /usr/doc-èéí òóõàéí õýëíèé òóñãàé äýä ñàíä make(1)-èéã àæèëëóóëæ áîëíî, æèøýý íü: # cd /usr/doc/en_US.ISO8859-1 # make update install clean
Ñóóëãàõ ãàðàëòûí õýëáýðæ³³ëýëòèéã FORMATS á³òýýëòèéí õóâüñàã÷èéã çààæ °ã°í õèéæ °ã÷ áîëíî, æèøýý íü: # cd /usr/doc # make FORMATS=’html html-split’ install clean
24.5
Õ°ãæ³³ëýëòèéí ñàëáàðûã äàãàõ íü
FreeBSD-èéí õî¼ð õ°ãæ³³ëýëòèéí ñàëáàð áàéäàã: FreeBSD-CURRENT áîëîí FreeBSD-STABLE. Ýíý
õýñýãò ýäãýýð òóñ á³ðèéã òàéëáàðëàæ °°ðèéí ñèñòåìèéã òóñ òóñûí ìîäíû õóâüä õàìãèéí øèíý õýëáýðò áàéíãà áàéëãàõ òàëààð òàéëáàðëàõ áîëíî. FreeBSD-CURRENT ýõëýýä õýëýëöýãäýõ á°ã°°ä äàðàà íü FreeBSD-STABLE-èéí òóõàé ÿðèãäàõ áîëíî.
èéí îäîî ³åèéí õýëáýðò áàéõ íü
24.5.1 FreeBSD-
Òà ³³íèéã óíøèõäàà FreeBSD-CURRENT íü FreeBSD-èéí õ°ãæ³³ëýëòèéí “bleeding edge ñàëáàð áóþó àìæèëò îëîëòûí õàìãèéí òýðã³³íèé ñàëáàð” ãýäãèéã ñàíààðàé. FreeBSD-CURRENT õýðýãëýã÷äèéã òåõíèêèéí °íä°ð ÷àäàâõèòàé á°ã°°ä ñèñòåìèéí õ³íä õýö³³ àñóóäëóóäûã °°ðñä°° øèéäâýðëýõ ÷àäâàðòàé áàéíà ãýæ òîîöäîã. Õýðýâ òà FreeBSD-ä àíõëàí ñóðàëöàã÷ áîë ³³íèéã ñóóëãàõààñàà °ìí° äàõèí ñàéí áîäîîðîé. 24.5.1.1 FreeBSD-CURRENT ãýæ þó âý?
FreeBSD-CURRENT íü FreeBSD-èéí õàìãèéí ñ³³ëèéí ³åèéí àæëûí ýõ þì. Ýíý íü õèéãäýæ áàéãàà àæëóóä, òóðøèëòûí °°ð÷ë°ëò³³ä áîëîí ïðîãðàì õàíãàìæèéí äàðààãèéí àëáàí ¼ñíû õóâèëáàðò áàéõã³é ÷ áàéæ áîëîõ ýñâýë áàéæ ÷ áîëîõ øèëæèëòèéí àðãóóäûã áàãòààäàã. FreeBSD-èéí îëîí õ°ãæ³³ëýã÷èä FreeBSD-CURRENT-èéí ýõ êîäûã °ä°ð áîëãîí ýìõýòãýí õ°ðâ³³ëæ áàéäàã áîëîâ÷ ýõèéã á³òýýõ áîëîìæã³é ³å áàñ áàéäàã. Ýäãýýð àñóóäëóóä íü áîëîìæèéí õýðýýð õóðäàí øèéäýãääýã áîëîâ÷ FreeBSD-CURRENT íü ñ³éðýë àâ÷ðàõ ýñâýë òóí èõ õ³ññýí àæèëëàãààã àâ÷ðàõ ýñýõ íü òà ÿã ÿìàð àãøèíä ýõ êîäûã òàòàæ àâñíààñ õàìààðàõ þì!
635
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü 24.5.1.2 FreeBSD-CURRENT õýíä õýðýãòýé âý?
FreeBSD-CURRENT íü ³íäñýí 3 ñîíèðõëûí á³ëýãò çîðèóëàãäàí õèéãäñýí: 1. Ýõ ìîäíû çàðèì õýñýã äýýð èäýâõòýéãýýð àæèëëàæ áàéãàà FreeBSD-èéí õ³ðýýíèé ãèø³³ä áîëîí “current áóþó îäîî ³åèéí õýëáýðò” áàéëãàõ íü òóéëûí øààðäëàãà áîëñîí õ³ì³³ñò.
2. FreeBSD-CURRENT-ã àëü áîëîõ óõààëàã áàéëãàõûã õè÷ýýæ àñóóäëóóäûã øèéäâýðëýõýä öàãàà çàðàõ õ³ñýëòýé áàéäàã èäýâõòýé òåñò õèéã÷ FreeBSD-èéí õ³ðýýíèé ãèø³³ä. Ýäãýýð õ³ì³³ñ íü °°ð÷ë°ëò³³ä áîëîí FreeBSD-èéí åð°íõèé ÷èãëýëä öàã ³åèéí ñàíàëóóäûã òóñãàõûã õ³ñýæ òýäãýýðèéã øèéäýõ çàñâàðóóäûã èëãýýäýã áàñ õ³ì³³ñ þì.. 3. Þó áîëæ áàéãààã ç°âõ°í õàðæ ìýäýæ áàéõûã õ³ññýí ýñâýë îäîî ³åèéí ýõèéã ëàâëàãààíû çîðèëãîîð àøèãëàõûã ç°âõ°í õ³ññýí õ³ì³³ñ (°°ð°°ð õýëáýë àæèëëóóëàõ áèø óíøèõ çîðèëãîîð). Ýäãýýð õ³ì³³ñ íü õààÿà áàñ ñàíàë ãàðãàæ êîäîíä õóâü íýìýð îðóóëäàã. 24.5.1.3 FreeBSD-CURRENT íü þó Áèø
âý?
1. Òà çàðèì íýã äàæã³é øèíý áîëîìæ áàéãààã ñîíññîí ó÷ðààñ áóñäààñ ò³ð³³ëæ óðüä÷èëñàí õóâèëáàðûí òýäãýýð áèò³³äèéã àâàõ òàíû íýí òýðã³³íèé àðãà çàì. Øèíý áîëîìæèéã àâ÷ ýõýíä áàéíà ãýäýã íü òà øèíý àëäààíóóä, õîðõîéíóóäûã áàñ àâ÷ ýõýíä áàéíà ãýñýí ³ã þì.
2. Àëäààíû çàñâàðóóäûã õóðäàí àâàõ àðãà çàì. FreeBSD-CURRENT-èéí °ã°ãäñ°í äóðûí õóâèëáàð íü èëýðñýí àëäààíóóäûã çàñàõûí õàæóóãààð áàñ ìàãàäã³é øèíý àëäààíóóä áàñ ãàðãàæ áàéäàã.
3. Àëü ÷ ³åä “àëáàí ¼ñîîð äýìæèãäñýí”. Áèä °°ðñäèéí ÷àäëûí õèðýýð “õóóëü ¼ñíû” 3 FreeBSD-CURRENT á³ëãèéí àëü íýãýíä õ³ì³³ñò áîäèòîîð òóñëàõûã õè÷ýýäýã, ãýõäýý áèäýíä åðä°° ë òåõíèêèéí äýìæëý㠳糳ëýõ öàã áàéäàãã³é . Ýíý íü áèä õ³ì³³ñò òóñëàõ äóðã³é °°äã³é ìóóõàé õ³ì³³ñ ó÷ðààñ ãýñýí ³ã áèø þì (õýðýâ áèä áàéãààã³é áîë áèä FreeBSD-ã õèéæ áàéõã³é áàéõ áàéñàí). Áèä åðä°° ë °äðèéí õýäýí çóóí çàõèäëóóäàä õàðèóëàõûí õàæóóãààð FreeBSD äýýð àæèëëàæ ÷àääàãã³é! FreeBSD-ã ñàéæðóóëàõ áîëîí òóðøèëòûí êîäîí äýýð òàâèãäñàí ìàø îëîí àñóóëòóóäàä õàðèóëàõ õî¼ð ñîíãîëòûí ýõíèéõèéã õ°ãæ³³ëýã÷èä ñîíãîñîí þì. 24.5.1.4 FreeBSD-CURRENT àøèãëàõ íü 1. freebsd-current (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current) áîëîí svn-src-head (http://lists.FreeBSD.org/mailman/listinfo/svn-src-head) æàãñààëòóóäàä ýëñýí îðíî óó. Ýíý íü ç°âõ°í ñàéí ñàíààíààñ ãàäíà áàñ ÷óõàë þì. Õýðýâ òà freebsd-current (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current) æàãñààëòàä îðîîã³é áîë ñèñòåìèéí îäîîãèéí
ò°ëâèéí òàëààð õ³ì³³ñèéí °ã÷ áàéãàà ñàíàë õ³ñýëò³³äèéã õàðàõã³é ó÷ðààñ áóñäûí àëü õýäèéí îëîîä øèéäñýí ìàø èõ àñóóäëóóä äýýð ìàãàäã³é òà á³äðýí ò°°ð°ëä°æ äóóñàõ áèç ýý. Á³ð èë³³ ÷óõàë ç³éë íü þó âý ãýâýë òàíû ñèñòåìèéí ýð³³ë ìýíäýä ýãçýãòýé áàéæ áîëîõ ÷óõàë ìýäýýí³³äýýñ òà õîöðîõ áîëíî. svn-src-head (http://lists.FreeBSD.org/mailman/listinfo/svn-src-head) æàãñààëò íü êîäîíä îðóóëñàí °°ð÷ë°ëò á³ðèéí á³ðòãýë îðóóëãûã áîëçîøã³é ñ°ð°ã í°ë°°í³³äèéí òàëààð òîõèðñîí ìýäýýëëèéí õàìòààð òàíä õàðàõ áîëîìæèéã îëãîäîã. Ýäãýýð æàãñààëòóóä ýñâýë áàéãàà áóñäûí àëü íýãýíä ýëñýõèéí òóëä http://lists.FreeBSD.org/mailman/listinfo õàÿã óðóó îðæ ýëñýõèéã õ³ññýí æàãñààëòàà ñîíãîîðîé. 636
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Äàðààëëûí ³ëäñýí çààâðóóä òýíä áàéãàà áîëíî. Õýðýâ òà á³õ ë ýõ ìîäîí äàõü °°ð÷ë°ëòèéã äàãàõ ñîíèðõîëòîé áàéãàà áîë svn-src-all (http://lists.FreeBSD.org/mailman/listinfo/svn-src-all) æàãñààëòàä á³ðòã³³ëýõèéã áèä ç°âë°æ áàéíà. 2. FreeBSD-èéí òîëèí òóñãàëààñ ýõèéã àâíà. Òà ³³íèéã õî¼ð àðãààð õèéæ áîëíî: a. /usr/share/examples/cvsup ñàíä áàéõ standard-supfile ãýæ íýðëýãäñýí supfile-òàé öóã cvsup ïðîãðàì àøèãëà. Ýíý íü á³õýë öóãëóóëãûã íýã ë óäàà àâ÷ äàðàà íü ç°âõ°í °°ð÷ë°ãäñ°í³³äèéã òàíä àâàõ áîëîìæèéã îëãîäîã õàìãèéí ñàéøààñàí àðãà þì. Îëîí õ³ì³³ñ cvsup-ã cron-ñ àæèëëóóëæ °°ðñäèéí ýõèéã õàìãèéí ñ³³ëèéí õýëáýðò àâòîìàòààð àâàà÷äàã. Òà äýýð äóðäñàí æèøýý supfile-ã °°ð÷ë°í cvsup-ã °°ðèéí îð÷íû õóâüä òîõèðóóëàõ õýðýãòýé. Note: Æèøýý standard-supfile
íü FreeBSD-CURRENT-èéí áèø FreeBSD-èéí àþóëã³é áàéäëûí òóñãàé ñàëáàðûã äàãàõàä õýðýãëýãäýíý. Òàíä ýíý àéëûã çàñâàðëàæ äàðààõ ì°ðèéã °°ð÷ë°õ õýðýãòýé áîëíî:
*default release=cvs tag=RELENG_X _Y
Äýýðõ ì°ðèéã äàðààõ ì°ð°°ð ñîëüíî: *default release=cvs tag=.
Õýðýãöýýòýé õàÿã/øîøãîíóóäûí äýëãýðýíã³é òàéëáàðûã ãàðûí àâëàãûí CVS õàÿã/øîøãîíóóä õýñãýýñ ³çíý ³³.
b. CTM õýðýãñëèéã àøèãëà. Õýðýâ òà ìàø ìóó õîëáîëòòîé (°íä°ð ³íýòýé õîëáîëòóóä ýñâýë ç°âõ°í öàõèì çàõèäëûí õàíäàëò) áîë CTM íü ñîíãîëò áîëîõ þì. ýõäýý ýíý íü á°°í çîâëîí á°ã°°ä òà ýâäýðñýí àéëóóäòàé ³ëäýæ áîëîõ þì. Ýíý íü ³³íèéã õîâîð àøèãëàõàä õ³ðãýäýã á°ã°°ä èíãýñíýýð àæèëëàõã³é áàéõ áîëîìæèéã íýëýýí óäààí õóãàöààãààð èõýñãýäýã. Áèä 9600 bps ìîäåì áîëîí ò³³íýýñ õóðäàí õîëáîëòòîé õ³ì³³ñò CVSup-ã àøèãëàõûã ç°âë°ä°ã. 3. Õýðýâ òà ýõèéã ç°âõ°í õàðàõààð áèø àæèëëóóëàõààð òàòàæ àâ÷ áàéãàà áîë ç°âõ°í ñîíãîñîí õýñã³³äèéã áèø FreeBSD-CURRENT-èéí á³õ ýõèéã òàòàæ àâààðàé. ³íèé øàëòãààí íü ýõèéí ò°ð°ë
á³ðèéí õýñã³³ä íü áóñàä õàà íýãòýý áàéãàà øèíý÷ëýëò³³äýýñ õàìààðäàã á°ã°°ä ç°âõ°í õýñýã á³ëýã ýõèéã õ°ðâ³³ëýõèéã îðîëäîõ íü òàíûã áàðàã ë áàòàëãààòàéãààð àñóóäàëòàé ó÷ðóóëàõ áîëíî. FreeBSD-CURRENT-èéã õ°ðâ³³ëýõýýñýý °ìí° /usr/src äàõü Makefile-ã àíõààðàëòàé óíøèíà óó. Ýõíèé óäàà òà õàìãèéí áàãààð áîäîõîä øèíý÷ëýëòèéí ïðîöåññèéí õýñýã áîëîõ øèíý ö°ìèéã ñóóëãàæ åðòåíöèéã äàõèí á³òýýõ õýñãýýð äàìæèõ õýðýãòýé. FreeBSD-CURRENT çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current) áîëîí /usr/src/UPDATING àéëûã óíøèõ íü áèäíèéã äàðààãèéí õóâèëáàð óðóó øèëæèõýä çàðèìäàà øààðäëàãàòàé áîëäîã áóñàä ýõë³³ëýõ ïðîöåäóðóóäûí õóâüä õàìãèéí ñ³³ëèéí ìýäýýëýëòýé áàéëãàõ áîëîìæèéã áèäýíä îëãîäîã. 4. Èäýâõòýé áàé! Õýðýâ òà FreeBSD-CURRENT àæèëëóóëæ áàéãàà áîë ò³³íèé òàëààð òàíûã þó õýëýõèéã ÿëàíãóÿà õýðýâ òàíä °ðã°æ³³ëýëò ýñâýë àëäààíû çàñâàðóóäûí òàëààð ñàíàë õ³ñýëò áàéâàë ò³³íèéã áèä ìýäýõèéã õ³ñäýã þì. Õàâñàðãàñàí êîäòîé ñàíàë õ³ñýëò³³äèéã õàìãèéí èõ óðàì çîðèãòîéãîîð õ³ëýýí àâäàã áèëýý!
637
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
èéí òîãòâîðòîé õýëáýðò áàéõ íü
24.5.2 FreeBSD-
24.5.2.1 FreeBSD-STABLE ãýæ þó âý?
FreeBSD-STABLE íü ³íäñýí õóâèëáàðóóä ãàðäàã áèäíèé õ°ãæ³³ëýëòèéí ñàëáàð þì. °ð÷ë°ëò³³ä íü ýõëýýä òåñò õèéãäýõ çîðèëãîîð FreeBSD-CURRENT óðóó îðäîã ãýñýí åð°íõèé ò°ñ°°ë°ë/òààìàãëàëòàéãààð ÿíç á³ðèéí ç°âø°°ðë°°ð ýíý ñàëáàð óðóó îðäîã. Ýíý íü îäîî áîëòîë õ°ãæ³³ëýëòèéí ñàëáàð á°ã°°ä ãýõäýý ýíý íü ÿìàð ÷ ³åä FreeBSD-STABLE-ä çîðèóëàãäñàí ýõ íü ÿìàð ÷ çîðèëãîä òîõèð÷ ýñâýë òîõèðîõã³é áàéæ áîëíî ãýñýí ³ã þì. Ýíý íü ýöñèéí õýðýãëýã÷èä çîðèóëàãäñàí ýõ ³³ñâýð áóñ åðä°° ë °°ð íýã èíæåíåð÷ëýëèéí õ°ãæ³³ëýëòèéí àðãà çàì þì. 24.5.2.2 FreeBSD-STABLE õýíä õýðýãòýé âý?
Õýðýâ òà FreeBSD-èéí õ°ãæ³³ëýëòèéí ïðîöåññîä õóâü íýìýð îðóóëàõ ñîíèðõîëòîé, ýíý íü ÿëàíãóÿà FreeBSD-èéí äàðààãèéí “ãàðàõ” õóâèëáàðòàé õîëáîîòîé áàéäàã, ýñâýë þó áîëæ áàéãààã ìýäýæ áàéõ ñîíèðõîëòîé áàéãàà áîë òà äàðààõ FreeBSD-STABLE-ã áîäîëöîõ õýðýãòýé. Àþóëã³é áàéäëûí çàñâàðóóä áàñ FreeBSD-STABLE ñàëáàð óðóó îðæ áàéäàã íü ³íýí áîëîâ÷ òà ³³íèéã õèéõèéí òóëä FreeBSD-STABLE-ã çààâàë äàãàõ õýðýãã³é . FreeBSD-èéí àþóëã³é áàéäëûí ç°âë°ìæ³³ä íü òóõàéí õóâèëáàðò õàìààðàëòàé àñóóäëûã õýðõýí çàñàõ òóõàé òàéëáàðëàäàã á°ã°°ä ç°âõ°í àþóëã³é áàéäëûí ³³äíýýñ á³õýë á³òýí õ°ãæ³³ëýëòèéí ñàëáàðûã äàãàæ áàéíà ãýäýã áàñ ç°íä°° îëîí õ³ñýýã³é °°ð÷ë°ëò³³äèéã àâ÷ðàõ ìàãàäëàëòàé þì. Áèä FreeBSD-STABLE ñàëáàð ³ðãýëæ õ°ðâ³³ëýãäýí ýìõýòãýãäýæ äàíäàà àæèëëàäàã áàéëãàõààð ÷àðìàéæ áàéäàã áîëîâ÷ ýíý íü áàòàëãààòàé áèø þì. Íýìæ õýëýõýä êîä íü FreeBSD-STABLE-ä îðîõîîñîî °ìí° FreeBSD-CURRENT-ä õ°ãæ³³ëýãäýæ áàéäàã áîëîâ÷ FreeBSD-CURRENT-ã àøèãëàí àæèëëóóëäãààñ èë³³ FreeBSD-STABLE-ã õ³ì³³ñ àæèëëóóëäàã áîëîõîîð FreeBSD-CURRENT-èéí õóâüä èëýðõèé áèø áàéñàí àëäààíóóä áîëîí áóëàíãèéí òîõèîëäëóóä FreeBSD-STABLE-ä èëðýõ íü çàðèìäàà çàéëøã³é þì. Ýäãýýð øàëòãààíóóäààñ áîëîîä áèä FreeBSD-STABLE-ã ñîõðîîð äàãàõûã òàíä ç°âë°ä°ãã³é á°ã°°ä ýíý íü °°ðèéí õ°ãæ³³ëýëòèéí îð÷èíäîî êîäûã ýõëýýä ñàéòàð òåñò õèéëã³éãýýð ³éëäâýðëýëä (production) àøèãëàæ áàéãàà ñåðâåð³³äýý FreeBSD-STABLE óðóó øèíý÷ëýõã³é áàéõàä òàíä ÿëàíãóÿà ÷óõàë à÷ õîëáîãäîëòîé þì. Õýðýâ òàíä ³³íèéã õèéõ ýõ ³³ñâýð³³ä áàéõã³é áîë áèä FreeBSD-èéí õàìãèéí ñ³³ëèéí ³åèéí õóâèëáàðûã àæèëëóóëæ õî¼ðòûí øèíý÷ëýëò õèéõ àðãûã õóâèëáàðààñ õóâèëáàð óðóó øèëæèõäýý àøèãëàõûã òàíä ç°âë°æ áàéíà. 1
24.5.2.3 FreeBSD-STABLE àøèãëàõ íü 1. freebsd-stable (http://lists.FreeBSD.org/mailman/listinfo/freebsd-stable) æàãñààëòàä ýëñýí îðíî óó. Ýíý íü FreeBSD-STABLE-ä èëýð÷ áîëîõ á³òýýëòèéí õàìààðëóóä ýñâýë òóñãàéëñàí àíõààðàë øààðäëàãàòàé °°ð áóñàä àñóóäëóóäûí òàëààð òàíä ìýäýýëæ áàéõ áîëíî. Õ°ãæ³³ëýã÷èä íü çàðèì íýã ìàðãààíòàé
çàñâàð ýñâýë øèíý÷ëýëèéí òàëààð áîäîæ áàéãàà òàëààðàà áàñ ýíý çàõèäëûí æàãñààëòàä ìýäýýëäýã á°ã°°ä èéíõ³³ ñàíàë áîëãîæ áàéãàà °°ð÷ë°ëòèéí òàëààð õýðýãëýã÷äýä ÿìàð íýã àñóóäàë áàéâàë òýäýíä ýðãýýä õàðèó °ã°õ áîëîìæ îëãîäîã þì. °ðèéí äàãàæ áàéãàà ñàëáàðûí òîõèðîõ SVN æàãñààëòàä ýëñýí îðîõ õýðýãòýé. Æèøýý íü õýðýâ òà 7-STABLE ñàëáàðûã äàãàæ áàéãàà áîë svn-src-stable-7 638
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü (http://lists.FreeBSD.org/mailman/listinfo/svn-src-stable-7) æàãñààëòàä ýëñýí îðîîðîé. Ýíý íü êîäîíä
îðóóëñàí °°ð÷ë°ëò á³ðèéí á³ðòãýë îðóóëãûã áîëçîøã³é ñ°ð°ã í°ë°°í³³äèéí òàëààð òîõèðñîí ìýäýýëëèéí õàìòààð òàíä õàðàõ áîëîìæèéã îëãîäîã. Ýäãýýð æàãñààëòóóä ýñâýë áàéãàà áóñäûí àëü íýãýíä ýëñýõèéí òóëä http://lists.FreeBSD.org/mailman/listinfo õàÿã óðóó îðæ ýëñýõèéã õ³ññýí æàãñààëòàà ñîíãîîðîé. Äàðààëëûí ³ëäñýí çààâðóóä òýíä áàéãàà áîëíî. Õýðýâ òà á³õ ë ýõ ìîäîí äàõü °°ð÷ë°ëòèéã äàãàõ ñîíèðõîëòîé áàéãàà áîë svn-src-all (http://lists.FreeBSD.org/mailman/listinfo/svn-src-all) æàãñààëòàä á³ðòã³³ëýõèéã áèä ç°âë°æ áàéíà. 2. Õýðýâ òà øèíý ñèñòåì ñóóëãàæ FreeBSD-STABLE-ýýñ á³òýýñýí ñàð á³ðèéí õîðìûí àãøíû õóâèëáàðûã ò³³í äýýð àæèëëóóëàõûã õ³ñýæ áàéãàà áîë äýëãýðýíã³é ìýäýýëëèéí òàëààð Õîðìûí àãøíû õóâèëáàðóóä (http://www.FreeBSD.org/snapshots/) âýá õóóäàñíààñ øàëãàíà óó. ³íýýñ ãàäíà õàìãèéí ñ³³ëèéí ³åèéí FreeBSD-STABLE õóâèëáàðûã òîëèí òóñãàëûí õàÿãóóäààñ òàòàí àâ÷ ñóóëãàõ áîëîìæòîé á°ã°°ä äîîð äóðäñàí çààâðóóäûã äàãàæ °°ðèéí ñèñòåìèéã õàìãèéí ñ³³ëèéí ³åèéí FreeBSD-STABLE ýõ êîä óðóó øèíý÷èëæ áîëîõ þì. Õýðýâ òà FreeBSD-èéí óðäíû õóâèëáàð àëü õýäèéí àæèëëóóëæ áàéãàà á°ã°°ä ýõýýñ øèíý÷ëýõèéã õ³ñýæ áàéãàà áîë FreeBSD-èéí òîëèí òóñãàë õóóäàñààñ õÿëáàðààð õèéæ áîëíî. ³íèéã õî¼ð àðãààð õèéæ áîëíî: a. /usr/share/examples/cvsup ñàíä áàéõ standard-supfile ãýæ íýðëýãäñýí supfile-òàé öóã cvsup ïðîãðàì àøèãëà. Ýíý íü á³õýë öóãëóóëãûã íýã ë óäàà àâ÷ äàðàà íü ç°âõ°í °°ð÷ë°ãäñ°í³³äèéã òàíä àâàõ áîëîìæèéã îëãîäîã õàìãèéí ñàéøààñàí àðãà þì. Îëîí õ³ì³³ñ cvsup-ã cron-ñ àæèëëóóëæ °°ðñäèéí ýõèéã õàìãèéí ñ³³ëèéí õýëáýð àâòîìàòààð àâàà÷äàã. Òà äýýð äóðäñàí æèøýý supfile-ã °°ð÷ë°í cvsup-ã °°ðèéí îð÷íû õóâüä òîõèðóóëàõ õýðýãòýé. b. CTM õýðýãñëèéã àøèãëà. Õýðýâ òàíä Èíòåðíýò óðóó õîëáîãäñîí õóðäàí õÿìä õîëáîëò áàéõã³é áîë ýíý àðãûã òà àøèãëàõ õýðýãòýé. 3. îë íü õýðýâ òà ýõýä õóðäàí, øààðäëàãûí óëìààñ õàíäàõ õýðýãòýé áîëîîä õîëáîëòóóäûí çóðâàñûí °ðã°í à÷ õîëáîãäîëã³é áîë cvsup ýñâýë ftp àøèãëààðàé. Áóñàä òîõèîëäîëä CTM-ã àøèãëà.
4. FreeBSD-CURRENT-èéã õ°ðâ³³ëýõýýñýý °ìí° /usr/src äàõü Makefile-ã àíõààðàëòàé óíøèíà óó.
Ýõíèé óäàà òà õàìãèéí áàãààð áîäîõîä øèíý÷ëýëòèéí ïðîöåññèéí õýñýã áîëîõ øèíý ö°ìèéã ñóóëãàæ åðòåíöèéã äàõèí á³òýýõ õýñãýýð äàìæèõ õýðýãòýé. FreeBSD-CURRENT çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current) áîëîí /usr/src/UPDATING àéëûã óíøèõ íü áèäíèéã äàðààãèéí õóâèëáàð óðóó øèëæèõýä çàðèìäàà øààðäëàãàòàé áîëäîã áóñàä ýõë³³ëýõ ïðîöåäóðóóäûí õóâüä õàìãèéí ñ³³ëèéí ìýäýýëýëòýé áàéëãàõ áîëîìæèéã áèäýíä îëãîäîã.
24.6
°ðèéí ýõèéã õàìãèéí ñ³³ëèéí õýëáýðò àâàà÷èõ íü
Èíòåðíåòèéí (ýñâýë öàõèì çàõèäàë) õîëáîëò àøèãëàí FreeBSD ò°ñëèéí ýõ³³äèéí àëü ÷ õýñãèéí õóâüä ýñâýë òàíû þó ñîíèðõîæ áàéãààãààñ õàìààðàí á³õ õýñã³³äèéã õàìãèéí øèíý áàéëãàæ áàéõ ò°ð°ë á³ðèéí àðãóóä áàéäàã. Áèäíèé ñàíàë áîëãîäîã ³íäñýí ³éë÷èëãýýí³³ä áîë Anonymous áóþó íýðã³é CVS, CVSup áîëîí CTM þì.
639
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü Warning: °ðèéí ýõ ìîäíû ç°âõ°í çàðèì õýñãèéã øèíý÷ëýõ áîëîìæòîé áîëîâ÷ öîðûí ãàíö øèíý÷ëýõ àðãà áîë ìîäûã á³òíýýð íü øèíý÷èëæ õýðýãëýã÷èéí òàëáàð (°°ð°°ð õýëáýë /bin áîëîí /sbin ãýõ ìýò äýõ õýðýãëýã÷èéí òàëáàðò àæèëëàäàã á³õ ïðîãðàìóóä) áîëîí ö°ìèéí ýõ³³äèéã äàõèí ýìõýòãýõ ÿâäàë þì. °ðèéí ýõ ìîäíû ç°âõ°í íýã õýñýã ç°âõ°í ö°ì ýñâýë ç°âõ°í õýðýãëýã÷èéí òàëáàðûã øèíý÷ëýõ íü àñóóäëóóä ãàðàõàä èõýâ÷ëýí õ³ðãýäýã. Ýäãýýð àñóóäëóóä íü ýìõýòãýëòèéí ³åèéí àëäààíóóäààñ àâàõóóëààä ö°ìèéí ñ³éðë³³ä ýñâýë °ã°ãäëèéí ýâäðýëèéã õ³ðòýë õàìàðäàã.
Íýðã³é CVS áîëîí CVSup íü ýõèéã øèíý÷ëýõäýý òàòàõ çàãâàðûã õýðýãëýäýã. CVSup-èéí õóâüä
õýðýãëýã÷ (ýñâýë cron ñêðèïò) cvsup ïðîãðàìûã ýõë³³ëýí õàà íýãòýý áàéãàà cvsupd ñåðâåðò õàíäàæ òàíû °°ðèéí àéëóóäûã õàìãèéí øèíý õýëáýðò àâ÷èðäàã. Òàíû õ³ëýýí àâàõ øèíý÷ëýëò³³ä íü õàìãèéí ñ³³ëèéí ìèíóò õ³ðòýëõ ³åèéíõ áàéõ á°ã°°ä òà òýäãýýðèéã ç°âõ°í °°ðèéí õ³ññýí òýð ³åäýý àâäàã. Òà °°ðèéí øèíý÷ëýëò³³äèéã òàíû ñîíèðõîæ áàéãàà òóñãàéëñàí àéëóóä ýñâýë ñàíãóóäààð õÿëáàðààð õÿçãààðëàæ áîëíî. Øèíý÷ëýëò³³ä íü òàíû þóã àâàõûã õ³ññýí áîëîí òàíä þó áàéãààãààñ õàìààðàí ñåðâåðýýð òóõàéí ³åä ³³ñãýãääýã. Íýðã³é CVS íü àëñûí CVS repository áóþó êîäûí àðõèâààñ °°ð÷ë°ëò³³äèéã øóóä òàòàõûã ò³³íä ç°âø°°ðä°ã CVS-èéí åðä°° ë íýã °ðã°òã°ë á°ã°°ä ³³ãýýðýý CVSup-ñ àðàé èë³³ õÿëáàð þì. CVSup íü ³³íèéã õàìààã³é èë³³ ³ð ä³íòýéãýýð õèéæ ÷àääàã áîëîâ÷ Íýðã³é CVS-ã àøèãëàõàä èë³³ õÿëáàð áàéäàã. Í°ã°° òàëààñ CTM íü òàíä áàéãàà ýõèéã ìàñòåð àðõèâ äàõü ýõòýé ëàâëàæ àñóóõ çàð÷ìààð õàðüöóóëäàãã³é á°ã°°ä °°ð°°ð õýëáýë òýäãýýðèéã òàòàæ àâäàãã³é. Èíãýõèéí îðîíä õàðèí °ìí° íü àæèëëóóëñíààñ õîéøõ àéë äàõü °°ð÷ë°ëò³³äèéã òàíüäàã ñêðèïò °ä°ðò õýä õýäýí óäàà ìàñòåð CTM ìàøèí äýýð àæèëëàæ èëýðñýí °°ð÷ë°ëò³³äèéã øàõàæ äàðààëëûí-äóãààð òàâèí öàõèì çàõèäëààð äàìæóóëàõàä çîðèóëàí êîä÷èëäîã (ç°âõ°í õýâëýãäýõ áîëîìæòîé ASCII õýëáýðýýð). Ýäãýýð “CTM äåëüòàíóóäûã” àâñàíû äàðàà òýäãýýðèéã àâòîìàòààð äåêîä õèéæ øàëãàí õýðýã÷èä áàéãàà ýõèéí õóóëáàðò °°ð÷ë°ëò³³äèéã õèéõ ctm_rmail(1) õýðýãñýë óðóó °ãä°ã. Ýíý ïðîöåññ íü CVSup-ñ õàìààã³é èë³³ ³ð ä³íòýé á°ã°°ä ýíý íü òàòàõ áèø õàðèí ò³ëõýõ çàãâàð ó÷ðààñ áèäíèé ñåðâåðèéí ýõ ³³ñâýðò áàãà à÷ààëàë ó÷ðóóëäàã þì. Ìýäýýæ ³³íýýñ ãàäíà õàðèëöàí ñóë áîëîí äàâóó òàëóóäòàé àñóóäëóóä áàéäàã. Õýðýâ òà ñàíàìñàðã³éãýýð °°ðèéí àðõèâûí õýñãèéã óñòãà÷èõ þì áîë CVSup ³³íèéã èëð³³ëæ ýâäýðñýí õýñã³³äèéã äàõèí á³òýýæ °ãä°ã. CTM èíãýæ õèéäýãã³é á°ã°°ä õýðýâ òà °°ðèéí ýõ ìîäíû çàðèì õýñãèéã óñòãàñàí (áàñ í°°öë°í àâààã³é) áîë òà äàõèí øèíýýð ýõíýýñ íü (õàìãèéí ñ³³ëèéí ³åèéí CVS “ñóóðü äåëüòàãààñ”) ýõýëæ CTM-èéí òóñëàìæòàéãààð á³ãäèéã äàõèí á³òýýõ áóþó ýñâýë Íýðã³é CVS-èéí òóñëàìæòàéãààð ìóó áèò³³äèéã åðä°° ë óñòãàæ äàõèí ñ³³ëèéí õýëáýðò àâàà÷èõ õýðýãòýé áîëíî. 24.7 “
Åðò°íö”èéã äàõèí á³òýýõ íü
Òà °°ðèéí ëîêàë ýõ ìîäîî FreeBSD-èéí òóõàéí õóâèëáàðûí (FreeBSD-STABLE, FreeBSD-CURRENT, ãýõ çýðýã) õàìãèéí ñ³³ëèéí ³åèéí õýëáýðò àâàà÷ñàíûõàà äàðàà òà ýõ ìîäîî àøèãëàí ñèñòåìèéã äàõèí á³òýýæ áîëíî. Í°°ö õèé: Òà äýýðõèéã õèéõýýñýý °ìí° °°ðèéí ñèñòåìèéã í°°öë°í àâàõ íü ÿìàð ÷óõàë áîëîõûã ýíý íü õàíãàëòòàé õýëæ °ã÷ ÷àääàãã³é. Åðò°íöèéã äàõèí á³òýýõ íü (õýðýâ òà ýäãýýð çààâðóóäûã äàãàñàí òîõèîëäîëä) õÿëáàð áîëîâ÷ òàíûã àëäàà ãàðãàõàä ýñâýë áóñäûí ýõ ìîäîíä õèéñýí àëäààíóóä íü òàíû ñèñòåìèéã à÷ààëàãäàõã³é áîëãîõ í°õö°ëä çàéëøã³é õ³ðãýäýã. Í°°ö õèéæ àâñàí ýñýõýý øàëãààðàé. Çàñâàðëàõ óÿí äèñê ýñâýë à÷ààëàãäàõ CD-ã ãàðûí äîð áàéëãààðàé. Ìàãàäã³é òà ³³íèéã õýçýý ÷ õýðýãëýõã³é áàéæ áîëîõ þì, ãýõäýý õàðàìñàõààñàà °ìí° àþóëã³é áàéæ áàéõ íü
640
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
èë³³ äýýð þì! Òîõèðîõ çàõèäëûí æàãñààëòàä á³ðòã³³ë: FreeBSD-STABLE áîëîí FreeBSD-CURRENT ñàëáàðóóä íü óãààñàà õ°ãæ³³ëýëòýä áàéäàã . FreeBSD-ä õóâü íýìýð îðóóëæ áàéãàà õ³ì³³ñ íü õ³í ë ó÷ðààñ àëäààíóóä çàðèìäàà ãàðäàã. Çàðèìäàà ýäãýýð àëäààíóóä íü íýã èõ õîð õ°í°°ëã³é á°ã°°ä åðä°° ë òàíû ñèñòåìèéã øèíý îíîøëîãîîíû àíõààðóóëãà õýâëýõýä õ³ðãýäýã. Ýñâýë °°ð÷ë°ëò íü ñ³éðëèéí áàéæ áîëçîøã³é áàéäàã á°ã°°ä òàíû ñèñòåìèéã à÷ààëàãäàõã³é áîëãîæ ýñâýë àéëûí ñèñòåì³³äèéã ÷èíü óñòãàæ (ýñâýë á³ð ìóó þì áîëæ) áîëîõ þì. Ýäãýýðòýé àäèë àñóóäëóóä ãàðâàë àñóóäëûí ó÷èð øàëòãààí áîëîí àëü ñèñòåì äýýð ýíý àñóóäàë õàìààðàëòàéã òàéëáàðëàñàí “heads up áóþó á³õíèé ñîíîðò” õàíäñàí çàðëàë òîõèðîõ çàõèäëûí æàãñààëòàä èëãýýãääýã. Òýãýýä “all clear áóþó á³ãä öýâýð” çàðëàë àñóóäàë øèéäýãäñýíèé äàðàà òàâèãääàã. Õýðýâ òà FreeBSD-STABLE ýñâýë FreeBSD-CURRENT-èéã äàãàõûã îðîëäîæ FreeBSD-STABLE çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-stable) ýñâýë FreeBSD-CURRENT çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current)-ã õàðãàëçóóëàí óíøèõã³é áàéãàà áîë ýíý íü òà °°ðò°° ãàé ò°â°ã àñóóæ áàéíà ë ãýñýí ³ã þì. òóøààëûã á³³ àøèãëà: Èõýíõ õóó÷èí áàðèìòóóä ³³íä çîðèóëàí make world òóøààëûã àøèãëàõûã ç°âë°ä°ã. Ýíý òóøààëûã àæèëëóóëñíààð çàðèì íýã ÷óõàë àëõìóóäûã àëãàñàõ á°ã°°ä òà þó õèéæ áàéãààãàà ìýäýæ áàéãàà òîõèîëäîëä ³³íèéã ç°âõ°í àøèãëàõ õýðýãòýé. Áàðàã èõýíõ òîõèîëäîëä make world õèéõ íü áóðóó ç³éë á°ã°°ä ýíä òàéëáàðëàñàí ïðîöåäóðûã ò³³íèé îðîíä àøèãëàõ ¼ñòîé þì. make world
24.7.1
Øàëãàãäñàí àðãààð °°ðèéí ñèñòåìèéã øèíý÷ëýõ íü
°ðèéí ñèñòåìèéã øèíý÷ëýõèéí òóëä °°ðò ÷èíü áàéãàà ýõèéí õóâèëáàðò øààðäëàãàòàé áàéãàà á³òýýõýýñ óðüäàõ àëõìóóä òà /usr/src/UPDATING àéëä áàéãàà ýñýõèéã øàëãàõ õýðýãòýé á°ã°°ä ³³íèé äàðàà ýíä äóðäñàí ïðîöåäóðûã àøèãëàíà. Ýäãýýð øèíý÷ëýëòèéí àëõìóóä íü òàíûã õóó÷èí õ°ðâ³³ëýã÷, õóó÷èí ö°ì, õóó÷èí åðò°íö áîëîí õóó÷èí òîõèðãîîíû àéëóóä á³õèé FreeBSD-èéí õóó÷èí õóâèëáàð àøèãëàæ áàéãàà ãýæ òîîöäîã. “Åðò°íö” ãýäãèéã áèä ýíä ñèñòåìèéí ãîë õî¼ðòûí àéëóóä, ñàíãóóä áîëîí ïðîãðàìûí àéëóóä ãýæ îéëãîíî. Õ°ðâ³³ëýã÷ íü “åðò°íö”èéí õýñýã á°ã°°ä ö°°í àñóóäëóóäòàé áàéäàã. Òàíûã øèíý ñèñòåìèéí ýõèéã àëü õýäèéí àâñàí áàéãàà ãýæ áèä áàñ ýíä òîîöäîã. Òóõàéí ñèñòåì äýýð áàéãàà ýõ³³ä áàñ õóó÷èí áàéâàë øèíý õóâèëáàð ðóó øèëæ³³ëýõ òàëààð áè÷ñýí Section 24.6-ñ äýëãýðýíã³éã ³çíý ³³. Ñèñòåìèéã ýõýýñ øèíý÷ëýõ íü ýõëýýä ñàíàãäñàíààñàà èë³³ íàðèéí áàéäàã á°ã°°ä òîéðîí ãàðàõ áîëîìæã³é, õàìààðëóóä á³õèé øèíý àñóóäëóóä ãàðäãààñ áîëîîä FreeBSD-èéí õ°ãæ³³ëýã÷èä ç°âë°ä°ã ÷èã õàíäëàãàà æèë èðýõ òóòàì íýëýýíýýð °°ð÷ë°õ øààðäëàãàòàé áîëñîí. Ýíý õýñãèéí ³ëäñýí õýñýã íü îäîîãîîð ç°âë°æ áàéãàà øèíý÷ëýõ äàðààëëûí òàëààð òàéëáàðëàõ áîëíî. Àìæèëòòàé áîëîõ øèíý÷ëýõ äàðààëàë á³ð äàðààõ àñóóäëóóäûã øèéäýõ ¼ñòîé: •
Õóó÷èí õ°ðâ³³ëýã÷ øèíý ö°ìèéã á³òýýæ ÷àäàõã³é áàéæ áîëîõ þì. (Õóó÷èí õ°ðâ³³ëýã÷èä çàðèìäàà àëäààòàé áàéäàã.) Òèéìýýñ øèíý ö°ìèéã øèíý õ°ðâ³³ëýã÷ýýð á³òýýõ ¼ñòîé. ßëàíãóÿà øèíý ö°ì
641
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
á³òýýõýýñýý °ìí° øèíý õ°ðâ³³ëýã÷èéã á³òýýõ õýðýãòýé. Ýíý íü øèíý õ°ðâ³³ëýã÷èéã çààâàë øèíý ö°ì°°ñ °ìí° ñóóëãàñàí áàéõ ¼ñòîé ãýñýí ³ã áèø þì. • Øèíý åðò°íö øèíý ö°ìèéí áîëîìæóóä äýýð òóëãóóðëàæ áàéæ áîëîõ þì. Òèéìýýñ øèíý ö°ìèéã øèíý åðò°íöèéã ñóóëãàõààñàà °ìí° ñóóëãàñàí áàéõ øààðäëàãàòàé. Ýäãýýð õî¼ð àñóóäàë íü áèäíèé äàðààãèéí õýñã³³äýä òàéëáàðëàõ ãîë buildworld, buildkernel, installkernel, installworld äàðààëëûí ³íäýñ áîëäîã. Ýíý íü îäîîãîîð ç°âë°ä°ã øèíý÷ëýëòèéí ïðîñåññèéã òà ÿàãààä çààâàë ñîíãîõ ¼ñòîéã õàðóóëñàí á³õ øàëòãààíóóäûí á³ðýí ä³³ðýí æàãñààëò áèø þì. Çàðèì íýã òèéì ÷ ìýäýýæèéí áèø ç³éëñèéã äîîð æàãñààâ: Õóó÷èí åðò°íö øèíý ö°ì äýýð ç°â àæèëëàõã³é áàéæ áîëîõ ó÷èð òà øèíý ö°ì ñóóëãàñíûõàà äàðàà øèíý åðò°íöèéã äàðóéõàí ñóóëãàõ ¼ñòîé. • Øèíý åðò°íö ñóóëãàõààñàà °ìí° çàðèì íýã òîõèðãîîíû °°ð÷ë°ëò³³äèéã õèéõ ¼ñòîé áîëîâ÷ çàðèì íü õóó÷èí åðò°íöèéã ýâäýæ ìàãàäã³é þì. Òèéì áîëîõîîð õî¼ð °°ð òîõèðãîîíû øèíý÷ëýëòèéí àëõàì åð°íõèéä°° øààðäëàãàòàé áàéäàã. • Èõýíõ õýñãèéí õóâüä øèíý÷ëýõ ïðîöåññ íü ç°âõ°í àéëóóäûã ñîëèõ þì óó ýñâýë íýìäýã á°ã°°ä áàéãàà õóó÷èí àéëóóäûã óñòãàäàãã³é. Ö°°í òîõèîëäîëä ýíý íü àñóóäàë ³³ñãýæ áîëîõ þì. ³íèé ä³íä øèíý÷ëýõ àðãà çàì íü çàðèì íýã àëõàì äýýð ãàðààð óñòãàõ òîäîðõîé àéëóóäûã çàðèìäàà çààæ °ãä°ã. ³íèéã èðýýä³éä àâòîìàò÷èëàõ þì óó ýñâýë ³ã³é ÷ áàéæ áîëîõ þì. Ýäãýýð ç³éëñ íü äàðààõ ç°âë°ñ°í äàðààëàëä õ³ðãýäýã. Òóõàéí øèíý÷ëýëò³³äýä çîðèóëñàí äýëãýðýíã³é äàðààëàë íü íýìýëò àëõìóóäûã øààðäàæ áîëîõûã ñàíààðàé. ýõäýý ýäãýýð ãîë ïðîöåññóóä òîäîðõîé õóãàöààãààð °°ð÷ë°ãä°õã³é áàéõ ¼ñòîé þì: •
1. make buildworld
Ýíý íü ýõëýýä øèíý õ°ðâ³³ëýã÷ áîëîí õàìààðàëòàé ö°°í õýðýãñë³³äèéã á³òýýæ äàðàà íü øèíý åðò°íöèéí áóñäûã õ°ðâ³³ëýõèéí òóëä øèíý õ°ðâ³³ëýã÷èéã àøèãëàäàã. ð ä³í íü /usr/obj-ä õàäãàëàãääàã. 2. make buildkernel config(8) áîëîí make(1)-èéã àøèãëàäàã õóó÷èí àðãààñàà ÿëãààòàé íü ýíý òóøààë /usr/obj ñàíä áàéðëàæ áàéãàà øèíý õ°ðâ³³ëýã÷èéã àøèãëàäàã. Ýíý íü õ°ðâ³³ëýã÷ áîëîí ö°ìèéí õîîðîíä òîõèðîìæã³é áàéäàë ³³ñýõýýñ òàíûã õàìãààëäàã. 3. make installkernel
Øèíý ö°ì áîëîí ö°ìèéí ìîäóëèóäûã äèñêýä áàéðëóóëæ øèíýýð øèíý÷èëñýí ö°ì°°ð à÷ààëàõ áîëîìæèéã á³ðä³³ëäýã. 4. àíö õýðýãëýã÷èéí ãîðèì ðóó à÷ààëàí îðíî. àíö õýðýãëýã÷èéí ãîðèì íü àæèëëàæ áàéãàà ïðîãðàì õàíãàìæóóäûã øèíý÷ëýõýä ãàðàõ àñóóäëóóäûã áàãàñãàäàã. Ýíý íü áàñ øèíý ö°ì äýýð õóó÷èí åðò°íöèéã àæèëëóóëàõàä ãàðàõ àñóóäëûã áàãàñãàäàã. 5. mergemaster -p
Ýíý íü øèíý åðò°íö°ä çîðèóëæ çàðèì íýã òîõèðãîîíû àéëóóäûí ýõíèé øèíý÷ëýëò³³äèéã õèéäýã. Æèøýý íü ýíý íü øèíý õýðýãëýã÷èéí á³ëãèéã ñèñòåìä íýìýõ, ýñâýë øèíý õýðýãëýã÷èéí íýðñèéã íóóö ³ãèéí ìýäýýëëèéí ñàíä íýìæ áîëîõ þì. ѳ³ëèéí øèíý÷ëýëòýýñ õîéø øèíý á³ëã³³ä ýñâýë ñèñòåìèéí òóñãàé õýðýãëýã÷èéí á³ðòãýë³³äèéã íýìýõ ³åä ýíý íü èõýâ÷ëýí øààðäëàãàòàé áàéäàã.
642
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Èíãýñíýýð installworld àëõàì íü øèíýýð ñóóëãàãäñàí ñèñòåìèéí õýðýãëýã÷ ýñâýë ñèñòåìèéí á³ëãèéí íýðñèéã ÿìàð ÷ àñóóäàëã³éãýýð àøèãëàõ áîëîìæòîé áîëîõ þì. 6. make installworld /usr/obj
ñàíãààñ åðò°íöèéã õóóëäàã. Òà îäîî äèñê äýýðýý øèíý ö°ì áîëîí øèíý åðò°íöòýé áîëëîî.
7. mergemaster
Íýãýíò äèñê äýýðýý øèíý åðò°íöòýé áîëñîí áîëîõîîð òà îäîî ³ëäñýí òîõèðãîîíû àéëóóäàà øèíý÷èëæ áîëíî. 8. Äàõèí à÷ààëíà. Øèíý ö°ì áîëîí øèíý åðò°íöèéã øèíý òîõèðãîîíû àéëóóäòàé äóóäàõûí òóëä ìàøèíûã á³ðýí äàõèí à÷ààëàõ õýðýãòýé. Õýðýâ òà FreeBSD-èéí íýã ñàëáàð äîòîð íýã õóâèëáàðààñ èë³³ ñ³³ëèéí õóâèëáàð ðóó øèíý÷èëæ áàéãàà áîë, °°ð°°ð õýëáýë 7.0-ñ 7.1 ð³³ øèíý÷èëæ áàéãàà áîë õ°ðâ³³ëýã÷, ö°ì, õýðýãëýã÷èéí òàëáàð áîëîí òîõèðãîîíû àéëóóäûí õîîðîíä àéõòàð òààðàìæã³é áàéäëóóä òàíòàé áàðàã ë òîõèîëäîõã³é ó÷èð ýíý àðãà íü çààâàë øààðäëàãàòàé áèø áàéæ áîëîõ þì. Õóó÷èí àðãà áîëîõ make world áîëîí øèíý ö°ìèéã á³òýýæ ñóóëãàõ íü æèæèã øèíý÷ëýëòèéí õóâüä õàíãàëòòàé ñàéí àæèëëàæ áîëîõ þì. ýõäýý ãîë õóâèëáàðóóäûí õîîðîíä øèíý÷ëýëò õèéæ áàéõ ³åä ýíý àðãà çàìûã äàãàõã³é áàéãàà õ³ì³³ñò çàðèì àñóóäëóóä ó÷èð÷ áîëîõ þì. Îëîí øèíý÷ëýëò³³ä (°°ð°°ð õýëáýë 4.X -ñ 5.0 ðóó) òóñãàéëñàí íýìýëò àëõìóóäûã (æèøýý íü installworld õèéõýýñ °ìí° òóñãàé àéëóóäûí íýðèéã °°ð÷ë°õ ýñâýë óñòãàõ ãýõ ìýò) øààðäàæ áîëîõûã ýíä òýìäýãëýõ íü ç³éòýé þì. /usr/src/UPDATING àéëûã àíõààðàëòàé óíøèíà óó, ÿëàíãóÿà îäîîãîîð ç°âë°ñ°í áàéãàà øèíý÷ëýõ äàðààëëûã òóñãàéëàí òàéëáàðëàñàí ò°ãñã°ë õýñãèéã óíøààðàé. Çàðèì íýã òîõèðîìæã³é áàéäàëòàé õîëáîîòîé àñóóäëóóäààñ á³ðýí ã³éöýä õàìãààëàõ áîëîìæã³éã õ°ãæ³³ëýã÷èä ìýäñýíýýð ýíý àðãà íü öàã õóãàöààíû òóðøèä ñàéæðóóëàãäñààð èðñýí þì. Îäîîãèéí àðãà çàìóóä íü óäààí õóãàöààíû òóðøèä òîãâîðòîé áàéíà ãýäýãò íàéäàæ áàéíà. ýñâýë èë³³ õóó÷íû õóâèëáàðààñ øèíý÷ëýõýä èë³³ íàðèéí ò°â°ãòýé áàéäàã. Òà ýíý ò°ðëèéí øèíý÷ëýëòèéã õèéõ øààðäëàãàòàé áîë UPDATING àéëûã àíõààðàëòàé óíøèíà óó.
Note: FreeBSD 3.X
ijãíýõýä FreeBSD-ã ýõýýñ øèíý÷ëýõýä îäîîãîîð ç°âë°ä°ã àðãà áîë: # # # # #
cd /usr/src make buildworld make buildkernel make installkernel shutdown -r now
Note: buildworld àëõìààñ °ìí° mergemaster -p òóøààëûã íýìæ àæèëëóóëàõ ö°°í õîâîð òîõèîëäëóóä áàéäàã. Ýäãýýðèéí òàëààð UPDATING àéëä òàéëáàðëàñàí áàéäàã. Õýðýâ òà FreeBSD-èéí íýã áóþó îëîí ãîëëîõ õóâèëáàðóóäûí äàãóó øèíý÷ëýë õèéõã³é áàéãàà áîë åð°íõèéä°° ýíý àëõìûã ýìýýëã³éãýýð îðõèæ áîëîõ þì.
643
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü installkernel àìæèëòòàé äóóññàíû äàðàà òà ãàíö õýðýãëýã÷èéí ãîðèì óðóó à÷ààëàõ õýðýãòýé (°°ð°°ð õýëáýë boot -s òóøààëûã äóóäàã÷ ì°ð°°ñ àøèãëàíà). Äàðàà íü äîîð äóðäñàí òóøààëóóäûã àæèëëóóëíà: # # # # # # #
adjkerntz -i mount -a -t ufs mergemaster -p cd /usr/src make installworld mergemaster reboot
Òàéëáàðóóäûã öààø óíøèíà óó: Äýýð òàéëáàðëàñàí äàðààëàë íü ç°âõ°í òàíûã ýõëýõýä òóñëàõ áîãèíî ñýðãýýëò áîëîõ þì. ýõäýý õýðýâ òà ÿëàíãóÿà °°ð÷ë°í òîõèðóóëñàí ö°ìèéí òîõèðãîî àøèãëàõûã õ³ñýæ áàéãàà áîë äàðààõ õýñã³³äèéã óíøèæ àëõàì á³ðèéã ñàéòàð îéëãîõ õýðýãòýé.
24.7.2 /usr/src/UPDATING
àéëûã óíø
°ð þì õèéæ ýõëýõýýñýý °ìí° òà /usr/src/UPDATING-ã (ýñâýë ýõ êîäûí õóóëáàð õààíà áàéãàà òýíäýýñ ³³íòýé ò°ñòýé àéëûã ) óíøààðàé. Ýíý àéë íü òàíä ó÷èð÷ áîëçîøã³é àñóóäëóóäûí òàëààð ÷óõàë ìýäýýëýë àãóóëäàã á°ã°°ä ýñâýë òàíû àæèëëóóëàõ çàðèì íýã òóøààëóóäûí äàðààëëûí òàëààð çààñàí áàéäàã. Õýðýâ UPDATING àéë òàíû ýíä óíøñàíòàé ç°ð÷èëä°æ áàéâàë UPDATING àéëä çààñíûã äàãàõ õýðýãòýé. Important: UPDATING àéëûã óíøèõ íü °ìí° íü òàéëáàðëàñíààð ç°â çàõèäëûí æàãñààëòàä á³ðòã³³ëýõòýé õàðüöóóëàõ þì áîë õ³ëýýí ç°âø°°ð÷ áîëîõóéö îðëîã÷ áàéæ ÷àäàõã³é þì. Ýíý õî¼ð øààðäëàãà íü íýìýëò á°ã°°ä çààâàë øààðäëàãàòàé áèø þì.
24.7.3 /etc/make.conf
àéëûã øàëãà
áîëîí /etc/make.conf àéëûã øàëãààðàé. Ýõíèéõ íü çàðèì íýã àíõäàã÷ òîäîðõîéëîëòóóäûã àãóóëäàã – òýäãýýðèéí èõýíõ íü òàéëáàð áîëîí õààãäñàí áàéäàã. Òà ñèñòåìýý ýõýýñ íü äàõèí á³òýýõ ³åäýý òýäãýýðèéã àøèãëàõûí òóëä /etc/make.conf àéëä íýìýõ õýðýãòýé. /etc/make.conf àéëä íýìñýí áîëãîí make òóøààëûã àæèëëóóëàõ á³ðä áàñ àøèãëàãääàã ó÷èð °°ðèéí ñèñòåìäýý çîðèóëàí òýäãýýðèéã áîëîìæèéí óòãààð òîõèðóóëæ °ã°õ íü ç³éòýé þì. Åðäèéí õýðýãëýã÷ /usr/share/examples/etc/make.conf àéëä áàéäàã CFLAGS áîëîí NO_PROFILE ì°ð³³äèéã /etc/make.conf óðóó õóóëæ òýäãýýðèéã òàéëáàð áîëãîñíûã áîëèóëæ íýýõèéã ìàãàäã³é õ³ñýæ áîëîõ þì. Áóñàä òîäîðõîéëîëòóóäûã (COPTFLAGS, NOPORTDOCS ãýõ çýðýã) øàëãàæ òàíä õàìààòàé ýñýõýýñ õàìààð÷ îðóóëàõ ýñýõýý øèéäýýðýé. /usr/share/examples/etc/make.conf
644
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
24.7.4 /etc
äýõ àéëóóäûã øèíý÷èë
ñàí íü òàíû ñèñòåìèéí òîõèðãîîíû ìýäýýëëèéí èõýíõ õýñãèéã àãóóëäãààñ ãàäíà ñèñòåìèéã ýõë³³ëýõýä àæèëëàäàã ñêðèïò³³ä ýíä áàéäàã. Ýäãýýð ñêðèïò³³äèéí çàðèì íü FreeBSD-èéí õóâèëáàðààñ õóâèëáàðò °°ð÷ë°ãää°ã. Òîõèðãîîíû àéëóóäûí çàðèì íü áàñ ñèñòåìèéã àæèëëóóëàõàä °ä°ð òóòàì õýðýãëýãääýã. ßëàíãóÿà /etc/group-ã äóðäàæ áîëíî. make installworld òóøààëûí ñóóëãàëò õèéõ õýñýã íü çàðèì íýã õýðýãëýã÷èéí íýð ýñâýë á³ëã³³ä áàéæ áàéíà ãýæ òîîöäîã òîõèîëäëóóä áàéäàã. Øèíý÷ëýë õèéæ áàéõ ³åä ýäãýýð õýðýãëýã÷èä ýñâýë á³ëã³³ä èõýíõäýý áàéõã³é áàéäàã. Ýíý íü øèíý÷ëýë õèéõýä àñóóäàë ó÷ðóóëäàã. Çàðèì òîõèîëäîëä make buildworld íü ýäãýýð õýðýãëýã÷èä ýñâýë á³ëã³³ä áàéãàà ýñýõèéã øàëãàíà. ³íèé íýã æèøýý íü smmsp õýðýãëýã÷ íýìýãäñýí òîõèîëäîë þì. mtree(8) íü /var/spool/clientmqueue-ã ³³ñãýõèéã îðîëäîõ ³åä õýðýãëýã÷èéí ñóóëãàëòûí ïðîöåññ ýíý àñóóäëààñ áîëæ àìæèëòã³é áîëæ áàéñàí. ³íèé øèéäýë íü mergemaster(8)-ã åðò°íöèéã á³òýýõýýñ óðä -p òîõèðóóëãàòàé àæèëëóóëàõ ÿâäàë þì. Ýíý íü buildworld ýñâýë installworld òóøààëûã àìæèëòòàé áîëãîõîä ç°âõ°í øààðäëàãàòàé àéëóóäûã õàðüöóóëäàã. Õýðýâ òàíû õóó÷èí mergemaster õóâèëáàð -p òîõèðóóëãûã äýìæäýãã³é áîë ýõ ìîäîí äàõü øèíý õóâèëáàðûã ýõíèé óäàà àæèëëóóëàõäàà àøèãëààðàé: /etc
# cd /usr/src/usr.sbin/mergemaster # ./mergemaster.sh -p
Tip: Õýðýâ òà ÿëàíãóÿà õýòýðõèé ñàíàà çîâæ áàéãàà áîë òóõàéí á³ëýãò õàðüÿàëàãäàæ áàéãàà íýðèéã íü °°ð÷èëæ áàéãàà ýñâýë óñòãàæ áàéãàà ÿìàð àéëóóä áàéãààã °°ðèéí ñèñòåìýýñ øàëãààðàé: # find / -group GID -print
äýýðõ íü GID (ýíý á³ëãèéí íýð áàéæ áîëíî ýñâýë á³ëãèéí òîîí ID áàéæ áîëíî) á³ëãèéí ýçýìøäýã àéëóóäûã õàðóóëíà.
24.7.5
àíö õýðýãëýã÷èéí ãîðèìä øèëæ
Òà ñèñòåìèéã ãàíö õýðýãëýã÷èéí ãîðèìä ýìõýòãýõèéã õ³ñýæ áîëîõ þì. Ýíý íü øèíý÷ëýëòèéã àðàé èë³³ õóðäàñãàõ èëýðõèé àøèã òóñòàéãààñ ãàäíà ñèñòåìèéã äàõèí ñóóëãàõ íü ñèñòåìèéí ñòàíäàðò õî¼ðòûí àéëóóä, libraries áóþó òóñëàõ ñàíãóóä, îðóóëãûí àéëóóä ãýõ çýðýã ñèñòåìèéí ìàø îëîí ÷óõàë àéëóóäûã õ°íää°ã. Àæèëëàæ áàéãàà ñèñòåì äýýð ýäãýýðèéã °°ð÷ë°õ íü (ÿëàíãóÿà õýðýâ òóõàéí ³åä òàíû ñèñòåì äýýð èäýâõòýé õýðýãëýã÷èä áàéâàë) ãàé ò°âãèéã °°ð°° ýðæ áàéíà ãýñýí ³ã þì. °ð íýã àðãà áîë ñèñòåìèéã îëîí õýðýãëýã÷èéí ãîðèìä ýìõýòãýæ äàðàà íü ñóóëãàõäàà ãàíö õýðýãëýã÷èéí ãîðèìä øèëæèí õèéõ ÿâäàë þì. Õýðýâ òà ýíý çàìààð õèéõèéã õ³ñýæ áàéâàë á³òýýëò äóóñòàë äàðààõ àëõìóóä äýýð õ³ëýýæ áàéãààðàé. Òà installkernel ýñâýë installworld õèéõ õ³ðòëýý ãàíö õýðýãëýã÷èéí ãîðèìä îðîëã³éãýýð õ³ëýýæ áàéæ áîëíî. Ñóïåð õýðýãëýã÷ áîëîîä òà äîîð äóðäñàíûã: # shutdown now
645
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
àæèëëàæ áàéãàà ñèñòåìýýñ ãàíö õýðýãëýã÷èéí ãîðèì óðóó îðóóëàõäàà àæèëëóóëæ áîëíî. °ð íýã àðãà íü ñèñòåìèéã äàõèí à÷ààëààä à÷ààëàëòûí òóøààë õ³ëýýõ ì°ð°í äýýð “single user áóþó ãàíö õýðýãëýã÷” òîõèðóóëãûã ñîíãîîðîé. Èíãýõýä ñèñòåì ãàíö õýðýãëýã÷èéã à÷ààëíà. Á³ðõ³³ëèéí òóøààë õ³ëýýõ ì°ð°íä òà äîîð äóðäñàí òóøààëóóäûã àæèëëóóëàõ øààðäëàãàòàé: # # # #
fsck -p mount -u / mount -a -t ufs swapon -a
Ýíý íü àéëûí ñèñòåì³³äèéã øàëãàæ /-ã äàõèí óíøèõ/áè÷èõýýð äàõèí õîëáîæ áóñàä á³õ UFS àéëûí ñèñòåì³³äèéã /etc/fstab-ä çààñíû äàãóó õîëáîí äàðàà íü swap-èéã èäýìâõæ³³ëýõ áîëíî. Note: Õýðýâ òàíû CMOS öàã íü GMT áèø ëîêàë õóãàöààãààð òîõèðóóëàãäñàí áîë (õýðýâ date(1) òóøààëûí ãàðàëò ç°â öàã áîëîí á³ñèéã õàðóóëàõã³é áîë ýíý íü ³íýí) òà äàðààõ òóøààëûã áàñ àæèëëóóëàõ õýðýãòýé áîëæ áîëîõ þì: # adjkerntz -i
Ýíý íü òàíû ëîêàë öàãèéí á³ñèéí òîõèðóóëãóóäûã ç°â°°ð òîõèðóóëæ °ãä°ã — ³³íèéã õèéõã³é áîë òà äàðàà íü çàðèì àñóóäëóóäòàé òóëãàð÷ ìàãàäã³é.
ã óñòãà
24.7.6 /usr/obj-
Ñèñòåìèéí õýñã³³ä äàõèí á³òýýãäñýíèéõýý äàðàà (àíõäàã÷ààð) /usr/obj äàõü ñàíãóóäàä áàéðøäàã. Ýäãýýð ñàíãóóä íü /usr/src äîòîð áàéãààã õàëõàëäàã. Òà make buildworld ïðîöåññèéã õóðäàñãàæ áîëîõ á°ã°°ä ýíý ñàíã áàñ óñòãàñíààð õàìààðëûí çîâëîíãóóäààñ °°ðèéã°° ìàãàäã³é àâðàõ áîëíî. /usr/obj äîòîðõ çàðèì àéëóóäàä immutable áóþó õóâèðøã³é òóã òàâèãäñàí (äýëãýðýíã³é ìýäýýëëèéã chflags(1)-ñ ³çíý ³³ ) áàéæ áîëîõ á°ã°°ä ò³³íèéã ýõëýýä àðèëãàõ õýðýãòýé. # cd /usr/obj # chflags -R noschg * # rm -rf *
24.7.7
íäñýí ñèñòåìèéã äàõèí ýìõýòãý
24.7.7.1 àðàëòûã õàäãàëàõ íü
make(1)-ã àæèëëóóëàõäàà ãàðàõ ³ð ä³íã °°ð àéë óðóó õàäãàëàõ íü ç³éòýé þì. Õýðýâ ÿìàð íýã þì áîëîõîî áîëèâîë òà àëäààíû ìýäýãäëèéí õóóëáàðòàé áàéõ áîëíî. Ýíý íü òàíä þó áóðóóòñàíûã øèíæëýõýä ÷èíü òóñ áîëîõã³é áàéæ áîëîõ áîëîâ÷ òà °°ðèéí ýíý àñóóäëàà FreeBSD-èéí àëü íýã çàõèäëûí æàãñààëò óðóó èëãýýñýí òîõèîëäîëä áóñäàä òóñ áîëæ áîëîõ þì.
646
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
³íèéã õàìãèéí àìðààð õèéõèéí òóëä script(1) òóøààëûã á³õ ãàðàëòûã õàäãàëàõ àéëûí íýðèéã çààñàí ïàðàìåòðèéí õàìòààð àøèãëàíà. Òà ³³íèéã åðò°íöèéã äàõèí á³òýýõýýñ °ìí°õ°í íýí äàðóé õèéæ äàðàà íü ïðîöåññ äóóññàíû äàðàà exit ãýæ áè÷èæ ãàðíà. # script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out # make TARGET
... compile, compile, compile ... # exit
Script done, ...
Õýðýâ òà ³³íèéã õèéõ áîë ãàðàëòûã /tmp äîòîð áèòãèé õàäãàëààðàé. Ýíý ñàí íü òàíûã äàõèí à÷ààëñíû äàðàà öýâýðëýãäýæ áîëîõ þì. Ýíý àéëûã õàäãàëàõ àðàé èë³³ áîëîìæèéí ãàçàð íü /var/tmp (°ìí°õ æèøýýí äýýðõ øèã) ýñâýë root õýðýãëýã÷èéí ãýð ñàí áàéæ áîëîõ þì. 24.7.7.2 íäñýí ñèñòåìèéã ýìõýòãý
Òà /usr/src ñàí äîòîð áàéõ øààðäëàãàòàé: # cd /usr/src
(ãýõäýý ìýäýýæ òàíû êîä °°ð ãàçàð áàéãàà òîõèîëäîëä òýð ñàí óðóóãàà îðîõ õýðýãòýé).
Åðò°íöèéã äàõèí á³òýýõäýý òà make(1) òóøààëûã àøèãëàíà. Ýíý òóøààë íü FreeBSD-èéí àãóóëñàí ïðîãðàìóóä ÿìàð äàðààëëààð äàõèí õýðõýí á³òýýãäýõ çýðãèéã òàéëáàðëàñàí Makefile àéëààñ çààâðóóäûã óíøäàã. Òàíû áè÷èõ òóøààëûí ì°ðèéí åð°íõèé õýëáýð íü äàðààõ áàéäëààð áàéíà: # make -x -DVARIABLE target
Ýíý æèøýýí äýýð -x íü make(1) óðóó òàíû äàìæóóëàõ òîõèðóóëãà þì. make(1)-í ãàðûí àâëàãûí õóóäàñíààñ òà äàìæóóëæ áîëîõ òîõèðóóëãóóäûí æèøýýã ³çíý ³³. -DVARIABLE òîõèðóóëãà íü Makefile óðóó õóâüñàã÷ äàìæóóëæ áàéíà. Makefile-èéí àæèëëàãàà ýäãýýð õóâüñàã÷óóäààð õÿíàãäàíà. Ýäãýýð íü /etc/make.conf äîòîð çààæ °ãñ°í õóâüñàã÷óóäòàé àäèë á°ã°°ä ýíý íü òýäãýýðèéã òîõèðóóëàõ áàñ íýã °°ð àðãà þì. # make -DNO_PROFILE target
òóøààë íü ïðîèëü õèéãäñýí ñàíãóóä á³òýýãäýõ ¼ñã³éã çààõ °°ð íýã àðãà á°ã°°ä ýíý íü /etc/make.conf äàõü äàðààõ NO_PROFILE=
true
#
Avoid compiling profiled libraries
ì°ðä õàðãàëçàõ þì. target íü make(1)-ä òàíû þó õèéõèéã õýëæ °ãä°ã. Makefile áîëãîí °°ð °°ð “targets áóþó äààëãàâðûí ò°ðë³³äèéã” òîäîðõîéëäîã á°ã°°ä òàíû ñîíãîñîí ò°ð°ë þó áîëîõûã òîäîðõîéëäîã. Çàðèì ò°ðë³³ä Makefile-ä æàãñààãäñàí áàéõ á°ã°°ä ãýõäýý ýäãýýð íü òàíûã àæèëëóóëàõàä çîðèóëàãäààã³é. Õàðèí òýäãýýð íü ñèñòåìèéã äàõèí á³òýýõýä øààðäëàãàòàé àëõìóóäûã õýä õýäýí äýä àëõìóóäàä õóâààõûí òóëä á³òýýõ ïðîöåññîä õýðýãëýãääýã.
647
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Èõýíõ òîõèîëäîëä òà make(1) óðóó ÿìàð ÷ ïàðàìåòð äàìæóóëàõ õýðýãã³é á°ã°°ä òýãýõýýð òàíû òóøààë äàðààõòàé èæèë áàéæ áîëíî: # make target
äýýðõ target íü îëîí á³òýýõ òîõèðóóëãóóäûí íýã áîëíî. Ýõíèé ò°ð°ë íü ³ðãýëæ buildworld áàéõ ¼ñòîé. Íýðòýéãýý àäèëààð buildworld íü /usr/obj äîòîð á³ðýí ã³éöýä øèíý ìîäûã á³òýýõ á°ã°°ä °°ð íýã ò°ð°ë áîëîõ installworld íü ýíý ìîäûã òóõàéí ìàøèí äýýð ñóóëãàäàã. Òóñäàà òîõèðóóëãóóäòàé áàéõ íü õî¼ð øàëòãààíààð ìàø à÷ õîëáîãäîëòîé þì. Íýãä³ãýýðò ýíý íü á³òýýëòèéã òàíû àæèëëàæ áàéãàà ñèñòåìèéí ÿìàð ÷ õýñýãò í°ë°°ë°õã³éãýýð àþóëã³éãýýð õèéõèéã òàíä ç°âø°°ðä°ã. Á³òýýëò íü “°°ð äýýðýý õèéãäýíý (self hosted)”. Èéì áîëîõîîð òà buildworld òóøààëûã îëîí õýðýãëýã÷èéí ãîðèìä àæèëëàæ áàéãàà ìàøèí äýýð áóðóó í°ë°°ëë°°ñ àéëã³éãýýð àþóëã³éãýýð õèéæ áîëíî. ýõäýý installworld õýñãèéí õóâüä ãàíö õýðýãëýã÷èéí ãîðèìä õèéõèéã òàíä ç°âë°ä°ã. Õî¼ðäóãààðò ýíý íü ñ³ëæýýí äýõ îëîí ìàøèíóóäûã øèíý÷ëýõýä NFS õîëáîëòóóäûã àøèãëàõûã òàíä ç°âø°°ðä°ã. Õýðýâ òàíä ãóðâàí ìàøèí áàéãàà á°ã°°ä A, B áîëîí C ìàøèíóóäûã øèíý÷ëýõèéã õ³ñâýë make buildworld áîëîí make installworld òóøààëûã A äýýð àæèëëóóëíà. Äàðàà íü B áîëîí C ìàøèíóóä A äýýðõ /usr/src áîëîí /usr/obj ñàíãóóäûã NFS õîëáîëò õèéí make installworld-ã àæèëëóóëæ á³òýýëòèéí ³ð ä³íã B áîëîí C äýýð ñóóëãàæ áîëîõ þì. world ò°ð°ë áàéñààð áàéãàà õýäèé ÷ òàíä ò³³íèéã àøèãëàõã³é áàéõûã ç°âë°æ áàéíà. Äàðààõ òóøààëûã àæèëëóóë # make buildworld
Õýä õýäýí çýðýãöýý ïðîöåññóóäûã ³³ñãýõ -j òîõèðóóëãûã make òóøààëä çààæ °ã°õ áîëîìæòîé. Ýíý íü îëîí CPU-òýé ìàøèíóóä äýýð õàìãèéí èõ àøèãòàé. ýõäýý ýìõýòãýõ ïðîöåññèéí èõýíõ íü CPU äýýð áèø IO äýýð àæèëëàäàã áîëîõîîð ýíý íü áàñ íýã CPU-òýé ìàøèíóóä äýýð àøèãòàé þì. Åðäèéí íýã CPU-òýé ìàøèí äýýð òà äîîð äóðäñàíûã àæèëëóóëæ áîëîõ þì: # make -j4 buildworld
make(1) íü 4 õ³ðòýëõ ïðîöåññèéã íýãýí çýðýã àæèëëóóëàõ þì. Çàõèäëûí æàãñààëòóóäàä èëãýýãäñýí òóðøëàãààñ õàðàõàä ýíý íü åð°íõèéä°° àæèëëàãààã õàìãèéí ñàéí õàíãàæ õóðäàñãàäàã áàéíà. Õýðýâ òà îëîí CPU ìàøèíòàé á°ã°°ä SMP òîõèðóóëàãäñàí ö°ì àøèãëàæ áàéâàë óòãûã 6-ààñ 10 õ³ðòýë áîëãîæ õýð õóðäñàæ áàéãààã õàðààðàé. 24.7.7.3 Õóãàöàà
Á³òýýõýä øààðäàãäàõ õóãàöààíä îëîí õ³÷èí ç³éëñ í°ë°°ëä°ã, ãýõäýý íýëýýí ñ³³ëèéí ³åèéí ìàøèíóóäûí õóâüä FreeBSD-STABLE ìîäûã ïðîöåññèéí ÿâöàä ÿìàð íýãýí çàëü ìýõ ýñâýë ä°ò çàì àøèãëàëã³éãýýð á³òýýõýä ç°âõ°í íýã þì óó ýñâýë õî¼ð öàã ë øààðäàãäàõ áîëîõ þì. FreeBSD-CURRENT ìîäíû õóâüä àðàé óäàõ áîëîâ óó.
648
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
24.7.8
Øèíý ö°ìèéã ýìõýòãýæ ñóóëãà
Òà °°ðèéí øèíý ñèñòåìèéí äàâóó òàëûã á³ãäèéã íü àâàõûí òóëä ö°ì°° äàõèí ýìõýòãýõ õýðýãòýé. Çàðèì íýã ñàíàõ îéí á³òö³³ä °°ð÷ë°ãäñ°í áàéõ òàëòàé á°ã°°ä ps(1) áîëîí top(1) çýðýã ïðîãðàìóóä íü ö°ì áîëîí ýõ êîäûí õóâèëáàðóóä àäèë áîëòîë àæèëëàäàãã³é áîëîõîîð ýìõýòãýõ íü ³íýíäýý ÷óõàë õýðýãöýýòýé þì. ³íèéã õàìãèéí õÿëáàðààð àþóëã³éãýýð õèéõèéí òóëä GENERIC äýýð òóëãóóðëàñàí ö°ìèéã á³òýýæ ñóóëãàõ ÿâäàë þì. GENERIC íü òàíû ñèñòåìèéí õóâüä õýðýãöýýòýé ò°õ°°ð°ìæ³³äèéã àãóóëààã³é áàéæ áîëîõ áîëîâ÷ òàíû ñèñòåìèéã ÿäàæ ãàíö õýðýãëýã÷èéí ãîðèìä à÷ààëàõàä øààðäëàãàòàé á³ãäèéã àãóóëñàí áàéõ ¼ñòîé. Øèíý ñèñòåì ç°â àæèëëóóëàõàä ýíý ñàéí òåñò áîëæ °ãä°ã. GENERIC-ñ à÷ààëæ òàíû ñèñòåì àæèëëàæ áàéãààã øàëãàñíû äàðàà òà °°ðèéí åðäèéí ö°ìèéí òîõèðãîîíû àéë äýýð òóëãóóðëàí øèíý ö°ì°° á³òýýæ áîëîõ þì. FreeBSD äýýð øèíý ö°ì á³òýýõýýñýý °ìí° åðò°íöèéã á³òýýõ íü ÷óõàë þì. Note: Õýðýâ òà °°ð÷ë°í òîõèðóóëñàí ö°ìèéã á³òýýõèéã
õ³ñýæ òîõèðãîîíû àéëàà àëü õýäèéí ³³ñãýñýí áîë äîîð äóðäñàíòàé àäèëààð KERNCONF=MYKERNEL ãýæ àøèãëààðàé: # cd /usr/src # make buildkernel KERNCONF=MYKERNEL # make installkernel KERNCONF=MYKERNEL
Õýðýâ òà kern.securelevel õóâüñàã÷èéã 1-ýýñ äýýø áîëãîí èõýñãýñýí á°ã°°ä noschg ýñâýë ò³³íòýé àäèë òóãóóäûã °°ðèéí ö°ìèéí õî¼ðòûí àéëä òàâüñàí áîë installkernel õèéõèéí òóëä òà ãàíö õýðýãëýã÷èéí ãîðèìä øèëæèí îðîõ øààðäëàãàòàé áàéæ áîëîõ þì. ã³é áîë òà ýíý õî¼ð òóøààëûã îëîí õýðýãëýã÷èéí ãîðèìîîñ ÿìàð ÷ àñóóäàëã³éãýýð àæèëëóóëàõ ¼ñòîé. kern.securelevel-èéí òàëààð äýëãýðýíã³éã init(8) áîëîí ò°ð°ë á³ðèéí àéëûí òóãóóäûí òàëààð äýëãýðýíã³éã chflags(1) ãàðûí àâëàãûí õóóäàñíóóäààñ ³çíý ³³. 24.7.9
àíö õýðýãëýã÷èéí ãîðèì óðóó äàõèí à÷ààëàí îð
Òà øèíý ö°ìèéí àæèëëàãààã øàëãàõûí òóëä ãàíö õýðýãëýã÷èéí ãîðèìä äàõèí à÷ààëàí îðîõ õýðýãòýé. ³íèéã Section 24.7.5 äàõü çààâðóóäûí äàãóó õèéíý. 24.7.10
Øèíý ñèñòåìèéí õî¼ðòûí àéëóóäûã ñóóëãà
Õýðýâ òà make buildworld òóøààëûã àøèãëàñàí ñàÿõíû FreeBSD-èéí õóâèëáàðûã á³òýýæ áàéãàà áîë îäîî øèíý ñèñòåìèéí õî¼ðòûí àéëóóäûã ñóóëãàõûí òóëä installworld òóøààëûã àøèãëàõ øààðäëàãàòàé. Äîîð äóðäñàíûã àæèëëóóëíà # cd /usr/src # make installworld
Õýðýâ òà
òóøààëûí ì°ð°íä õóâüñàã÷óóäûã çààæ °ãñ°í áîë òýäãýýð õóâüñàã÷óóäûã òóøààëûí ì°ð°íä áàñ àäèëààð çààæ °ã°õ õýðýãòýé. Ýíý áóñàä òîõèðóóëãóóäûí õóâüä çààâàë øààðäëàãàòàé áèø áàéæ áîëîõ þì; æèøýý íü -j òîõèðóóëãà installworld-òîé öóã õýçýý ÷ õýðýãëýãäýõ ¼ñã³é.
make buildworld Note: make installworld
649
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Æèøýý íü õýðýâ òà äîîð äóðäñàíûã àæèëëóóëñàí áîë: # make -DNO_PROFILE buildworld
õî¼ðòûí àéëóóäûã äàðààõ òóøààëààð ñóóëãàíà: # make -DNO_PROFILE installworld
èíãýõã³é áîë make buildworld òóøààëûí àæèëëàõ ÿâöàä á³òýýãäýýã³é ïðîèëü õèéãäñýí ñàíãóóäûã (libraries) ñóóëãàõûã îðîëäîõ áîëíî.
24.7.11 make installworld
òóøààëààð øèíý÷ëýãäýýã³é àéëóóäûã øèíý÷èë
Åðò°íöèéã äàõèí á³òýýõ íü çàðèì íýã ñàíãóóäûã (ÿëàíãóÿà /etc, /var áîëîí /usr) øèíý áîëîí °°ð÷ë°ãäñ°í òîõèðãîîíû àéëóóäààð øèíý÷èëäýãã³é. Ýäãýýð àéëóóäûã õàìãèéí àìàðõíààð øèíý÷ëýõ àðãà íü mergemaster(8)-ã àøèãëàõ ÿâäàë þì, ãýõäýý òà õýðýâ õ³ñâýë ³³íèéã ãàðààð àæèëëóóëàõ áîëîìæòîé þì. Àëü ÷ àðãûã ñîíãîëîî ãýñýí ÿìàð íýãýí ç³éë áóðóóòñàí òîõèîëäîëä ñýðãýýõ áîëîìæòîéãîîð /etc-ã í°°ö°ëæ àâàõ íü ç³éòýé þì. 24.7.11.1 mergemaster
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. mergemaster(8) õýðýãñýë íü /etc äýõ òàíû òîõèðãîîíû àéëóóä áîëîí /usr/src/etc ýõ ìîäîí äàõü òîõèðãîîíû àéëóóäûí ÿëãààã òîäîðõîéëîõîä òàíä òóñàëäàã Bourne ñêðèïò þì. Ýíý íü ñèñòåìèéí òîõèðãîîíû àéëóóäûã ýõ ìîäîí äàõü òîõèðãîîíû àéëóóäààð øèíý÷ëýõ çîðèóëàëòòàé áèäíèé ç°âë°ä°ã øèéäýë þì. Ýõëýõèéí òóëä °°ðèéí òóøààë îðóóëàõ ì°ð°íä åðä°° ë mergemaster-ã áè÷èæ ò³³íèé ýõëýõèéã íü õàðààðàé. mergemaster íü ò³ð çóóðûí root îð÷íûã /-ñ äîîøëóóëàí á³òýýæ ò°ð°ë á³ðèéí ñèñòåìèéí òîõèðãîîíû àéëóóäààð äàìæäàã. Òýäãýýð àéëóóä íü òàíû ñèñòåìä ñóóëãàãäñàí àéëóóäòàé õàðüöóóëàãääàã. Ýíý ³åä õîîðîíäîî ÿëãààòàé àéëóóä diff(1) õýëáýðýýð ³ç³³ëýãääýã á°ã°°ä + òýìäýãòýýð íýìýãäñýí ýñâýë °°ð÷ë°ãäñ°í ì°ð³³äèéã - òýìäýãòýýð óñòãàãäñàí ýñâýë øèíý ì°ð°°ð ñîëèãäñîí ì°ð³³äèéã õàðóóëäàã. diff(1)-í ñèíòàêñ áîëîí àéëûí °°ð÷ë°ëò³³äèéã õýðõýí ³ç³³ëäýã òàëààð äýëãýðýíã³é ìýäýýëëèéã diff(1) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. mergemaster(8) íü ç°ð÷èëä°°í³³äèé㠳糳ëñýí àéë áîëãîíûã õàðóóëäàã á°ã°°ä ýíý ³åä òàíä øèíý àéëûã óñòãàõ (ò³ð çóóðûí àéë ãýãääýã), ò³ð çóóðûí àéëûã °°ð÷ë°ëã³éãýýð ñóóëãàõ, ñóóñàí áàéãàà àéëòàé ò³ð çóóðûí àéëûã íèéë³³ëýõ ýñâýë diff(1)-í ãàðàëòûã äàõèí õàðàõ ñîíãîëòû㠳糳ëýõ áîëíî. Ò³ð çóóðûí àéëûã óñòãàõûã ñîíãîñíîîð áèä îäîî áàéãàà àéëàà õýâýýð °°ð÷ë°ëã³é ³ëäýýæ øèíý õóâèëáàðûã óñòãàõûã õ³ñýæ áàéãààãàà mergemaster(8)-ä õýëæ áàéíà ãýñýí ³ã þì. Õýðýâ òà îäîî áàéãàà àéëàà °°ð÷ë°õ øàëòãààíûã îëæ õàðàõã³é áàéãààãààñ áóñàä òîõèîëäîëä ýíý ñîíãîëòûã õèéõèéã ç°âë°ä°ãã³é. Òà ÿìàð ÷ ³åä mergemaster(8) òóøààë õ³ëýýõ ì°ð°í äýýð ? ãýæ áè÷èí òóñëàìæ àâ÷ áîëîõ þì. Õýðýâ õýðýãëýã÷ àéëûã îðõèõîîð ñîíãîñîí áîë ýíý íü áóñàä á³õ àéëóóäòàé àæèëñíû äàðàà äàõèí ³ç³³ëýãäýí õýðýãëýã÷ýýñ òóøààë õ³ëýýõ áîëíî. °ð÷ë°ãä°°ã³é ò³ð çóóðûí àéëûã ñóóëãàõûã ñîíãîñíîîð îäîî áàéãàà àéëûã øèíýýð ñîëüäîã. Èõýíõ °°ð÷ë°ãä°°ã³é àéëóóäûí õóâüä ýíý íü õàìãèéí øèëäýã ñîíãîëò þì.
650
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Ôàéëûã íèéë³³ëýõèéã ñîíãîñíîîð òåêñò çàñâàðëàã÷ áîëîí õî¼ð àéëûí àãóóëãûã òàíä õàðóóëàõ áîëíî. Òà äýëãýöèéí õî¼ð òàëä áàéðëàñàí òýäãýýð õî¼ð àéëûã õî¼óëàíã íü øàëãàí àëü àëü òàëààñ íü õýðýãòýé õýñã³³äèéã ñîíãîí ýöñèéí á³òýýãäýõ³³í ãàðãàæ àâàí íèéë³³ëæ áîëíî. Ôàéëóóä íü äýëãýöèéí õî¼ð òàëä áàéðëàí õàðüöóóëàãäàõ ÿâöàä l ò³ëõ³³ð òàíû ç³³í òàëûí àãóóëãûã ñîíãîäîã áîë r ò³ëõ³³ð íü òàíû áàðóóí òàë äàõü àãóóëãûã ñîíãîõ þì. àðàõ ýöñèéí ³ð ä³í íü õî¼ð àéëûí õî¼óëàíãèéí õýñã³³äèéã àãóóëñàí àéë áîëîõ á°ã°°ä ò³³íèéã äàðàà íü ñóóëãàõ áîëîìæòîé áîëîõ þì. Ýíý ñîíãîëòûã õýðýãëýã÷èéí òîõèðãîîíóóäàä õèéãäñýí °°ð÷ë°ëò³³äòýé àéëóóäûí õóâüä õýðýãëýõ íü çóðøèë áîëæýý. diff(1)-ýýñ ãàðàõ ³ð ä³íã äàõèí õàðàõûã ñîíãîñíîîð °ìí° íü mergemaster(8) àéëûí °°ð÷ë°ëò³³äèéã õàðóóëàí òàíû ñîíãîëòûã õ³ëýýñíèé íýãýí àäèëûã äàõèí õàðóóëäàã. mergemaster(8) ñèñòåìèéí àéëóóäòàé àæèëëàæ äóóññàíû äàðàà òàíààñ áóñàä ñîíãîëòóóäûã õèéõèéã õ³ëýýäýã. mergemaster(8) òóøààë íóóö ³ãèéí àéëûã äàõèí á³òýýõèéã õ³ñýæ áàéãàà ýñýõèéã òàíààñ àñóóæ ³ëäñýí ò³ð çóóðûí àéëóóäûã óñòãàõ ñîíãîëòû㠳糳ëýí äóóñäàã. 24.7.11.2 àðààð øèíý÷ëýõ
Õýðýâ òà ãàðààð øèíý÷ëýõèéã õ³ñâýë ãýõäýý òà /usr/src/etc ñàíãààñ /etc ñàí óðóó àéëóóäûã ç³ãýýð ë äàðæ õóóëæ àæèëëóóëæ ÷àäàõã³é. Çàðèì àéëóóäûã ýõëýýä “ñóóëãàõ” õýðýãòýé. Ó÷èð íü /usr/src/etc ñàí òàíû /etc ñàíãèéí õóóëáàð øèã áàéõààð õàðàãääàã³é . Ì°í /usr/src/etc ñàíä áàéäàãã³é õýðíýý /etc ñàí äîòîð áàéõ øààðäëàãàòàé çàðèì àéëóóä áàéäàã. Õýðýâ òà mergemaster(8) (ç°âë°ñíèé äàãóó) àøèãëàæ áàéâàë òà äàãààãèéí õýñýã óðóó îðæ áîëíî. ³íèéã ãàðààð õàìãèéí õÿëáàð àðãààð õèéõèéí òóëä àéëóóäûã øèíý ñàí óðóó ñóóëãàæ íýã á³ð÷ëýí °°ð÷ë°ëò³³äèéã õàéí àæèëëàõ õýðýãòýé. °ðò áàéãàà /etc-ã í°°ö°ë: Îíîëîîð áîë àâòîìàòààð ýíý ñàíä þó ÷ õ³ðäýãã³é ÷ ³³íä ³ðãýëæ èòãýëòýé áàéõ õýðýãòýé. Òýãýõýýð °°ðèéí áàéãàà /etc ñàíã õàà íýã àþóëã³é ãàçàð õóóëàõ õýðýãòýé. Äîîðõòîé àäèëààð: # cp -Rp /etc /etc.old
-R
íü ðåêóðñèâ õóóëáàð õèéõ á°ã°°ä -p íü àéëóóäûí õóãàöàà, ýçýìøèã÷ ãýõ ìýòèéã õàäãàëäàã.
Òà øèíý /etc áîëîí áóñàä àéëóóäûã ñóóëãàõûí òóëä õîîñîí ñàíãóóä á³òýýõ õýðýãòýé. /var/tmp/root íü áîëîìæèéí ñîíãîëò áîëîõ á°ã°°ä ýíý ñàíãèéí äîîð õýä õýäýí äýä ñàíãóóä áàñ øààðäëàãàòàé áîëíî. # mkdir /var/tmp/root # cd /usr/src/etc # make DESTDIR=/var/tmp/root distrib-dirs distribution
Ýíý íü øààðäëàãàòàé ñàíãèéí á³òöèéã á³òýýæ àéëóóäûã ñóóëãàäàã. /var/tmp/root äîòîð ³³ñãýãäñýí îëîí äýä ñàíãóóä õîîñîí á°ã°°ä òýäãýýðèéã óñòãàõ øààðäëàãàòàé áàéäàã. ³íèéã õàìãèéí õÿëáàðààð õèéõèéí òóëä: # cd /var/tmp/root # find -d . -type d | xargs rmdir 2>/dev/null
Ýíý íü á³õ õîîñîí ñàíãóóäûã óñòãàíà. (Õîîñîí áèø ñàíãóóäûí òóõàé àíõààðóóëãóóäûã ãàðãàõã³éí òóëä ñòàíäàðò àëäàà íü /dev/null óðóó èëãýýãääýã.)
651
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
Îäîî /var/tmp/root íü /-ñ äîîð áàéðëàõ òîõèðîõ áàéðëàëóóäàä áàéðøóóëàõ ¼ñòîé á³õ àéëóóäûã àãóóëñàí áàéõ áîëíî. Òà îäîî ýäãýýð àéë á³ðèéã øàëãàæ òàíä áàéãàà àéëóóäààñ õýðõýí ÿëãààòàé áîëîõûã òîãòîîõ õýðýãòýé. /var/tmp/root äîòîð ñóóëãàãäñàí çàðèì àéëóóäûí íýð óðäàà “.” òýìäýãòòýé áàéäãèéã àíõààðíà óó. Ýíý áàðèìòûã áè÷èæ áàéõ ³åä èéì àéëóóäòàé àäèë àéëóóä /var/tmp/root/ áîëîí /var/tmp/root/root/ ñàí äàõü á³ðõ³³ëèéí ýõë³³ëýõ àéëóóä áàéñàí, ãýõäýý (òàíû õýçýý ³³íèéã óíøèæ áàéãààãààñ õàìààð÷) °°ð áóñàä àéëóóä áàéõûã ³ã³éñãýõã³é. Òýäãýýðèéã îëæ õàðàõûí òóëä ls -a òóøààëûã çààâàë àøèãëààðàé. ³íèéã õàìãèéí õÿëáàð àðãààð õèéæ õî¼ð àéëûã õàðüöóóëàõûí òóëä diff(1) òóøààëûã àøèãëàõ ÿâäàë þì: # diff /etc/shells /var/tmp/root/etc/shells
Ýíý íü òàíû /etc/shells àéë áîëîí øèíý /var/tmp/root/etc/shells àéëûí õîîðîíäûí ÿëãààã õàðóóëíà. Ýäãýýðèéã àøèãëàæ °°ðèéí õèéñýí °°ð÷ë°ëò³³äèéã íèéë³³ëýõ ýñâýë °°ðèéí õóó÷èí àéë äýýðýýñ õóóëàõ ýñýõýý øèéäýýðýé. Õóâèëáàðóóäûí Õîîðîíäîõ ßëãààíóóäûã Õÿëáàðààð Õàðüöóóëàõûí Òóëä Òà Øèíý Root Ñàíãàà Òóõàéí åèéí Õóãàöààãààð Íýðëýýðýé: Åðò°íöèéã áàéíãà äàõèí á³òýýíý ãýäýã íü /etc-ã òà áàñ áàéíãà øèíý÷èëíý ãýñýí ³ã á°ã°°ä ýíý íü åðä°° ë æèæèã õýâøìýë àæèë þì. Òà ýíý ïðîöåññèéã /etc óðóó íèéë³³ëñýí °°ðèéí õàìãèéí ñ³³ëèéí °°ð÷ë°ãäñ°í àéëóóäûã õàäãàëñíààð õóðäàñãàæ áîëîõ þì. Äàðààõ ïðîöåäóð ³³íèéã õýðõýí õèéæ áîëîõ íýã ñàíààã °ã÷ áàéíà. 1.
Åðò°íöèéã æèðèéíýýð á³òýý. /etc áîëîí áóñàä ñàíãóóäûã øèíý÷ëýõèéã õ³ñýõäýý òóõàéí öàã äýýð òóëãóóðëàñàí íýð á³õèé ñàíã °ã. Õýðýâ òà ³³íèéã 1998 îíû 2 ñàðûí 14-íä õèéæ áàéãàà áîë äàðààõ áàéäëààð õèéíý: # mkdir /var/tmp/root-19980214 # cd /usr/src/etc # make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution
2.
3.
4.
Ýíý ñàíãèéí °°ð÷ë°ëò³³äèéã äýýð äóðäñàíû äàãóó íèéë³³ë. Òà äóóññàíûõàà äàðàà /var/tmp/root-19980214 ñàíã áèòãèé óñòãààðàé. Òà ýõèéí õàìãèéí ñ³³ëèéí õóâèëáàðûã òàòàí àâ÷ äàõèí á³òýýõäýý 1-ð àëõìûã äàãà. Ýíý íü òàíä øèíý ñàí °ã°õ á°ã°°ä /var/tmp/root-19980221 ãýæ íýðëýãäñýí áàéæ áîëîõ þì (õýðýâ òà øèíý÷ëýëò³³äèéã õèéõäýý äîëîî õîíîã õ³ëýýñýí áîë). Òà îäîî diff(1) àøèãëàí õî¼ð ñàíãèéí õîîðîíä ðåêóðñèâ diff ³³ñãýæ äîëîî õîíîãèéí õîîðîíä õèéãäñýí °°ð÷ë°ëò³³äèéã õàðæ áîëíî: # cd /var/tmp # diff -r root-19980214 root-19980221
5.
Èõýíõäýý ýíý íü /var/tmp/root-19980221/etc áîëîí /etc õî¼ðûí õîîðîíäîõ °°ð÷ë°ëò³³äèéã áîäîõ þì áîë õàðüöàíãóé áàãà °°ð÷ë°ëò³³ä áàéäàã. °ð÷ë°ëò³³ä íü àðàé áàãà áîëîõîîð òýäãýýð °°ð÷ë°ëò³³äèéã °°ðèéí /etc ñàí óðóó øèëæ³³ëýõ íü èë³³ õÿëáàð áàéäàã. Òà îäîî õî¼ð /var/tmp/root-* ñàíãóóäûí àëü õóó÷íûã óñòãàæ áîëíî: # rm -rf /var/tmp/root-19980214
6.
/etc
óðóó °°ð÷ë°ëò³³äèéã íèéë³³ëýõ áîëãîíäîî ýíý ïðîöåññèéã äàâòàõ õýðýãòýé.
Òà date(1)-ã àøèãëàí ñàíãèéí íýðñèéã àâòîìàòààð ³³ñãýæ áîëíî:
652
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü # mkdir /var/tmp/root-‘date "+%Y%m%d"‘
24.7.12
Äàõèí à÷ààëàõ íü
Òà åð°íõèéä°° èíãýýä õèéãýýä äóóñ÷ áàéíà. Òà á³õ ç³éë áàéõ ¼ñòîé áàéðàíäàà áàéãàà ýñýõèéã øàëãàñíûõàà äàðàà ñèñòåìèéã äàõèí à÷ààëæ áîëíî. Ýíãèéí shutdown(8) ³³íèéã õèéõ áîëíî: # shutdown -r now
24.7.13
Äóóñëàà
Îäîî òà °°ðèéí FreeBSD ñèñòåìèéã àìæèëòòàéãààð øèíý÷ëýýä äóóññàí áàéõ ¼ñòîé. Áàÿð õ³ðãýå. Õýðýâ þìñ øàë áóðóóãààð ýðãýâýë ñèñòåìèéí òóõàéí õýñãèéã äàõèí á³òýýõýä àìàðõàí áàéäàã. Æèøýý íü õýðýâ òà øèíý÷ëýëòèéí ÿâöàä ýñâýë /etc-ã íèéë³³ëýõ ÿâöàä ñàíàìñàðã³éãýýð /etc/magic àéëûã óñòãàñàí áîë file(1) òóøààë àæèëëàõàà áîëüíî. Èéì òîõèîëäîëä äàðààõ çàñâàðûã àæèëëóóëæ áîëîõ þì: # cd /usr/src/usr.bin/file # make all install
24.7.14
Àñóóëòóóä
1. °ð÷ë°ëò á³ðò çîðèóëàí åðò°íöèéã äàõèí á³òýýõ õýðýãòýé þó?
³íä õÿëáàð õàðèóëò áàéõã³é, ó÷èð íü °°ð÷ë°ëòèéí öààä óòãà ÷àíàðààñ õàìààðíà. Æèøýý íü õýðýâ òà CVSup-ã ä°íã°æ àæèëëóóëàõàä äàðààõ àéëóóä øèíý÷ëýãäýæ áàéãàà㠳糳ëæ áàéãàà áîë: src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/share/mk/bsd.port.mk
ìàãàäã³é á³õýë åðò°íöèéã äàõèí á³òýýõ õýðýãã³é áàéæ áîëîõ þì. Òà òîõèðîõ äýä ñàíãóóä óðóó îðæ make all install ãýæ òóøààëûã °ã°°ä ë áîëîõ þì. Õýðýâ çàðèì íýã ãîë ÷óõàë ç³éë æèøýý íü src/lib/libc/stdlib °°ð÷ë°ãäñ°í áîë òà åðò°íöèéã ýñâýë õàìãèéí áàãààð áîäîõîä ñòàòèêààð õîëáîãäñîí (statically linked) ò³³íèé òýäãýýð õýñã³³äèéã äàõèí á³òýýõ øààðäëàãàòàé áîëíî. Ýöñèéí ýöýñò ýíý íü òàíààñ ë õàìààðíà. Òà æèøýý íü õî¼ð äîëîî õîíîã òóòàì åðò°íöèéã äàõèí á³òýýæ òýð õî¼ð äîëîî õîíîãèéí õóãàöààíä °°ð÷ë°ëò³³äèéã õóðèìòëóóëæ áàéãààäàà ñýòãýë õàíãàëóóí áàéæ áîëíî. Ýñâýë òà ç°âõ°í °°ð÷ë°ãäñ°í ç³éëñ³³äèéã äàõèí á³òýýõèéã õ³ñýæ ìàãàäã³é á°ã°°ä á³õ õàìààðëóóäûã øèéäíý ãýäýãòýý èòãýëòýé áàéõ õýðýãòýé. Òýãýýä ìýäýýæ ýíý á³õýí òàíû ÿìàð äàâòàìæòàéãààð øèíý÷ëýõèéã õ³ñäýã áîëîí FreeBSD-STABLE ýñâýë FreeBSD-CURRENT-èéí àëèéã äàãàæ áàéãààãààñ õàìààðàõ áîëíî.
653
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü 2. Ìèíèé ýìõýòãýë ìàø îëîí äîõèî 11 (ýñâýë áóñàä äîõèîíû äóãààð) àëäààãààð àìæèëòã³é áîëñîí. Þó áîëñîí þì áîë? Ýíý íü èõýâ÷ëýí òîíîã ò°õ°°ð°ìæèéí àñóóäëûã èëýðõèéëäýã. Åðò°íöèéã (äàõèí) á³òýýõ íü °°ðèéí òîíîã ò°õ°°ð°ìæèéã à÷ààëàõ òåñò õèéõ ³ð ä³íòýé àðãà á°ã°°ä óäàà äàðàà ñàíàõ îéí àñóóäëóóä áàéâàë òýäãýýðèéã èëð³³ëäýã. Ýìõýòãýã÷ íü ñîíèí/õà÷èí äîõèîíóóäûã õ³ëýýí àâ÷ èä øèäèéí áàéäëààð àìæèëòã³é áîëñíîîð òýäãýýð àñóóäëóóä íü °°ðñäèéã°° çàðëàí òóíõàãëàäàã. Õýðýâ òà á³òýýëòèéã äàõèí ýõë³³ëýýä òýð íü ïðîöåññèéí °°ð °°ð õýñýãò àìæèëòã³é áîëæ áàéâàë ýíý íü ³³íèéã òîäîîð çààæ áàéíà ãýñýí ³ã þì. Ýíý òîõèîëäîëä òà °°ðèéí ìàøèí äàõü á³ðýëäýõ³³í õýñã³³äýý °°ð÷ë°í íýãýýñ í°ã°°ä ñîëüæ òàâèí àëü íü àæèëëàõã³é áàéãààã îëîõîîñ °°ð ç³éë õèéæ ÷àäàõã³é ë áîëîâ óó. 3. Áè äóóññàíûõàà äàðàà /usr/obj-ã óñòãàæ áîëîõ óó?
Òîâ÷õîíäîî áîë áîëíî. /usr/obj íü ýìõýòãýõ ³åä á³òýýãäñýí á³õ îáüåêò àéëóóäûã àãóóëäàã. Æèðèéí ³åä make buildworld ïðîöåññèéí ýõíèé àëõìóóäûí íýã íü ýíý ñàíã óñòãààä öîî øèíýýð ýõëýõ ÿâäàë þì. Ýíý òîõèîëäîëä /usr/obj-ã äóóññàíûõàà äàðàà áàéëãààä áàéõ íü óõààëàã áèø á°ã°°ä ³³íèéã óñòãàñíààð èõýýõýí õýìæýýíèé äèñêíèé çàéã ñóëëàõ áîëíî (îäîîãîîð 340 MB îð÷èì). ýõäýý õýðýâ òà þó õèéæ áàéãààãàà ìýäýæ áàéãàà áîë make buildworld õèéõäýý ýíý àëõìûã àëãàñàæ áîëíî. Ýíý íü äàðàà äàðààãèéí á³òýýëòèéã èë³³ õóðäàñãàäàã á°ã°°ä ó÷èð íü èõýíõ ýõ³³ä äàõèí ýìõýòãýõ øààðäëàãàã³é áàéäàã. ³íèé ñóë òàë íü áàðèãäàøã³é õàìààðëûí àñóóäëóóä èëýð÷ òàíû á³òýýëòèéã õà÷èí áàéäëààð àìæèëòã³é áîëãîäîã. Õýí íýãýí èë³³ ä°òë°õ ãýñíýýñýý áîëîîä àìæèëòã³é áîëñíûã ìýäýëã³é °°ðèéí á³òýýëòèéã àìæèëòã³é áîëñíûã ãîìäîëëîñíîîð FreeBSD-èéí çàõèäëûí æàãñààëòóóäàä õèé äýìèé øóóãèàíûã óäàà äàðàà ³³ñãýäýã áèëýý. 4. Òàñàëäñàí á³òýýëò³³äèéã ³ðãýëæë³³ëæ áîëîõ óó?
Ýíý íü àñóóäëûã îëîõ õ³ðòëýý òà õýð õîë ÿâñíààñ õàìààðíà. Åð°íõèéä°° (ýíý íü õýö³³ áàñ õóðäàí ä³ðýì áèø) make buildworld ïðîöåññ íü ³íäñýí áàãàæóóäûí (gcc(1), áîëîí make(1) çýðýã) áîëîí ñèñòåìèéí ñàíãóóäûí øèíý õóóëáàðóóäûã á³òýýäýã. Òýäãýýð áàãàæóóä áîëîí ñàíãóóä íü äàðàà íü ñóóëãàãääàã. Øèíý áàãàæóóä áîëîí ñàíãóóä äàðàà íü °°ðñäèéã°° äàõèí á³òýýõýä àøèãëàãääàã á°ã°°ä äàõèí ñóóëãàãääàã. Á³õýë á³òýí ñèñòåì (îäîî ls(1) ýñâýë grep(1) çýðýã åðäèéí õýðýãëýã÷èéí ïðîãðàìóóä) äàðàà íü øèíý ñèñòåìèéí àéëóóäòàéãààð äàõèí á³òýýãääýã. Õýðýâ òà ñ³³ëèéí øàòàíä áàéãàà á°ã°°ä òà ³³íèéã ìýäýæ áàéãàà áîë (òà õàäãàëæ áàéãàà ãàðàëòààñ õàðñàí áîëîõîîð) òà äàðààõ òóøààëûã àæèëëóóëæ (áàðàã ë àþóëã³éãýýð) áîëíî: ... fix the problem ... # cd /usr/src # make -DNO_CLEAN all
Ýíý íü °ìí°õ make buildworld òóøààëûí õèéñíèéã áóöààõã³é. Õýðýâ òà äîîðõ ìýäýãäëèéã : -------------------------------------------------------------Building everything..
654
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü --------------------------------------------------------------
òóøààëûí ãàðàëò äýýð õàðñàí áîë ìàãàäã³é òýãæ õèéõ íü àþóëã³é áàéæ áîëîõ þì. Õýðýâ òà òèéì ìýäýãäýë õàðàõã³é áàéãàà áîë ýñâýë òà èòãýëòýé áèø áàéãàà áîë õàðàìñàõààñàà °ìí° àþóëã³é áàéäëûã áîäîæ á³òýýëòèéã á³ð ýõíýýñ íü äàõèí ýõë³³ëñýí íü äýýð þì. make buildworld
5. Áè åðò°íöèéã á³òýýõèéã õýðõýí õóðäàñãàõ âý? • •
•
•
•
•
•
àíö õýðýãëýã÷èéí ãîðèìä àæèëëóóë. /usr/src áîëîí /usr/obj ñàíãóóäûã òóñ òóñäàà áàéõ äèñêí³³ä äýýð òóñ òóñäàà áàéõ àéëûí ñèñòåì³³ä äýýð áàéðëóóë. Õýðýâ áîëîìæòîé áîë ýäãýýð äèñêí³³äèéã òóñ òóñàä íü äèñêíèé õÿíàã÷óóä äýýð áàéðëóóë. ccd(4) (íèéë³³ëñýí äèñêíèé äðàéâåð) ò°õ°°ð°ìæ àøèãëàí ýäãýýð àéëûí ñèñòåì³³äèéã îëîí äèñêí³³äèéí äàãóó áàéðëóóëàõ íü áàñ àðàé èë³³ õóðäàñãàõ þì. Ïðîèëü õèéãäýõèéã (/etc/make.conf àéëä “NO_PROFILE=true” ãýæ çààæ °ã) áîëèóë. Òàíä ýíý áàðàã ãàðöààã³é õýðýãã³é. /etc/make.conf àéëä áàñ CFLAGS-ã -O -pipe ãýäýãòýé àäèëààð çàà. -O2 îíîâ÷ëîë íü èë³³ óäààí áàéäàã á°ã°°ä -O áîëîí -O2 îíîâ÷ëîëûí ÿëãàà èõýâ÷ëýí °÷³³õýí áàéäàã. -pipe íü ýìõýòãýã÷èä õîëáîîíû çîðèóëàëòààð ò³ð çóóðûí àéëóóäûã áèø õîîëîéíóóäûã àøèãëàõûã ç°âø°°ðä°ã á°ã°°ä ýíý íü äèñêýíä õàíäàõ õàíäàëòûã (ñàíàõ îéã èë³³òýé õýðýãëýæ) áàãàñãàäàã. -jn òîõèðóóëãûã make(1)-ä äàìæóóëæ îëîí ïðîöåññèéã çýðýãöýýãýýð àæèëëóóë. Ýíý íü òàíä ãàíö ýñâýë îëîí ïðîöåññîðòîé ìàøèí àëü íü ÷ áàéñàí ÿëãààã³éãýýð èõýâ÷ëýí òóñàëäàã. /usr/src-ã àãóóëæ áàéãàà àéëûí ñèñòåì noatime òîõèðóóëãààð õîëáîëò õèéãäýæ (ýñâýë ñàëãàãäàæ) áîëíî. Ýíý íü àéëûí ñèñòåì àéë óðóó õàíäàõ õàíäàëòûí õóãàöààã á³ðòãýõèéã áîëèóëäàã. Òàíä ìàãàäã³é ýíý ìýäýýëýë áàðàã ë õýðýãã³é áèç ýý. # mount -u -o noatime /usr/src
Warning: Ýíý æèøýý /usr/src íü °°ðèéí àéëûí ñèñòåì äýýð áàéãàà ãýæ òîîöîæ áàéãàà áîëíî. Õýðýâ ýíý íü òèéì áèø áîë (õýðýâ ýíý ñàí æèøýý íü /usr-èéí õýñýã ìàÿãààð áàéãàà áîë) òà /usr/src-ã áèø õàðèí òýð àéëûí ñèñòåìýý õîëáîëòûí öýã áîëãîí àøèãëàõ õýðýãòýé.
ã àãóóëæ áàéãàà àéëûí ñèñòåì async òîõèðóóëãàòàé õîëáîëò õèéãäýæ (ýñâýë ñàëãàãäàæ) áîëíî. Ýíý íü äèñê óðóó õèéõ áè÷èëòèéã àñèíõðîíîîð áóþó çýðýã áèø õèéëãýäýã. °ð°°ð õýëáýë áè÷èëò íýí äàðóé õèéãäýýä °ã°ãä°ë äèñê óðóó ö°°í ñåêóíäûí äàðàà áè÷èãääýã. Ýíý íü áè÷èëò³³äèéã á³ëýãëýõèéã ç°âø°°ð÷ ìàø èõ ³ð ä³íòýéãýýð àæèëëàãààã õóðäàñãàæ áîëîõ þì.
• /usr/obj-
Warning: Ýíý òîõèðóóëãà íü òàíû àéëûí ñèñòåìèéã èë³³ ýìçýã áîëãîõûã ñàíààðàé. Òýæýýë òàñàëäàæ ìàøèí äàõèí à÷ààëàõ ³åä àéëûí ñèñòåì ñýðãýýæ áîëøã³é ò°ë°âò îðîõ ìàãàäëàë ýíý òîõèðóóëãàòàé áàéõàä èë³³ áàéäàã. Õýðýâ /usr/obj íü ýíý àéëûí ñèñòåì äýýðõ öîðûí ãàíö ç³éë áîë ýíý àñóóäàë áèø þì. Õýðýâ òàíä óã àéëûí ñèñòåì äýýð °°ð, ³íýòýé °ã°ãä°ë áàéãàà áîë ýíý òîõèðóóëãûã èäýâõæ³³ëýõýýñýý °ìí° °°ðèéí í°°ö ÷èíü øèíý ýñýõèéã øàëãààðàé.
655
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
# mount -u -o async /usr/obj
Warning: Äýýð äóðäñàí øèã õýðýâ /usr/obj
íü °°ðèéí àéëûí ñèñòåì äýýð áèø áàéõ þì áîë æèøýýí äýýðõèéã òîõèðîõ õîëáîëò õèéõ öýãèéí íýðýýð ñîëèîðîé.
6. Õýðýâ ÿìàð íýã þì áóðóóòâàë áè þó õèéõ âý?
Òàíû îð÷èíä °ìí°õ á³òýýëò³³äèéí ³åèéí èë³³ ³ëäýãäë³³ä áàéõã³éä ³íýõýýð èòãýëòýé áàéõ õýðýãòýé. Ýíý íü èõ àìàðõàí þì.
# # # # #
chflags -R noschg /usr/obj/usr rm -rf /usr/obj/usr cd /usr/src make cleandir make cleandir
Òèéìýý, make cleandir òóøààëûã ³íýíäýý õî¼ð óäàà àæèëëóóëàõ øààðäëàãàòàé. Òýãýýä make buildworld òóøààëûã ýõë³³ëæ á³õ ïðîöåññèéã äàõèí ýõë³³ë. Õýðýâ òà àñóóäàëòàé õýâýýð áàéãàà áîë àëäàà áîëîí uname -a òóøààëûí ä³íã FreeBSD åð°íõèé àñóóëòóóä çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions) óðóó ÿâóóëààðàé. °ðèéí òîõèðãîîíûõîî òàëààð áóñàä àñóóëòàíä õàðèóëàõàä áýëýí áàéãààðàé!
24.8
Îëîí ìàøèíû õóâüä äàãàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìàéê Ìýéýð. Õýðýâ òà îëîí ìàøèíóóäûí õóâüä èæèë ýõ ìîäûã äàãàõûã õ³ñýæ á³ãäèéí õóâüä ýõèéã òàòàí àâàõóóëæ á³ãäèéã äàõèí á³òýýõèéã õ³ñýæ áàéãàà áîë ýíý íü äèñêíèé çàé, ñ³ëæýýíèé çóðâàñûí °ðã°í áîëîí CPU öèêë³³ä çýðýã ýõ ³³ñâýð³³äèéã ³ð àøèãã³éãýýð àøèãëàõàä õ³ðãýõýýð ñàíàãäàæ áîëîõ þì. Òèéìýý, ³³íèé øèéäýë íü íýã ìàøèíààð èõýíõ àæëûã õèéëãýæ áóñàä ìàøèíóóä íü òýð àæëûã NFS-ýýð äàìæóóëàí õîëáîõ ÿâäàë þì. Ýíý õýñýãò èíãýæ õèéõ àðãûã òàéëáàðñàí. 24.8.1
Áýëòãýë àæëóóä
Ýõëýýä õî¼ðòûí àäèë àéëóóäûã àæèëëóóëàõ build set áóþó á³òýýõ îëîíëîã ãýæ áèäíèé íýðëýõ ìàøèíóóäûã îëîõ õýðýãòýé. Ìàøèí á³ð °°ð÷ë°í òîõèðóóëñàí ö°ìòýé áàéæ áîëîõ á°ã°°ä ãýõäýý òýä èæèë õýðýãëýã÷èéí òàëáàðûí õî¼ðòûí àéëóóäûã àæèëëóóëæ áàéõ ¼ñòîé. Òýð îëîíëîãîîñ á³òýýõ ìàøèí ûã ñîíãîõ õýðýãòýé. Ýíý íü åðò°íö áîëîí ö°ì á³òýýãäýõ ìàøèí áàéõ þì. Òóéëûí õ³ñëýýð áîë ýíý íü make buildworld áîëîí make buildkernel òóøààëóóäûã àæèëëóóëàõàä õàíãàëòòàé í°°ö CPU á³õèé õóðäàí ìàøèí áàéõ õýðýãòýé. Òà ì°í ³éëäâýðëýëä àøèãëàõààñ °ìí° ïðîãðàì õàíãàìæóóäûã
656
Chapter 24 FreeBSD-ã øèíý÷èëæ ñàéæðóóëàõ íü
òåñò õèéäýã òåñò ìàøèí ñîíãîõûã áàñ õ³ñýæ áîëîõ þì. Ýíý íü óäààí õóãàöààãààð óíòðààñòàé ýñâýë çîãññîí áàéæ áîëîõ ìàøèí áàéõ ¼ñòîé . Ýíý íü á³òýýõ ìàøèí áàéæ áîëîõ þì, ãýõäýý çààâàë áèø þì. Ýíý á³òýýõ îëîíëîã äàõü á³õ ìàøèíóóä íü °°ð °°ðèéí ìàøèí äýýðýýñýý èæèë öýã äýýð /usr/obj áîëîí /usr/src-ã õîëáîëò õèéõ õýðýãòýé. Òóéëûí õ³ñëýýð áîë ýíý íü á³òýýõ ìàøèí äýýðõ õî¼ð °°ð äèñêí³³ä áàéæ áîëîõ á°ã°°ä ãýõäýý ýäãýýð íü óã ìàøèí äýýð NFS õîëáîëò áàñ õèéãäýæ áîëîõîîð áàéæ áîëîõ þì. Õýðýâ òàíä îëîí á³òýýõ îëîíëîãóóä áàéãàà áîë /usr/src ñàí íü íýã á³òýýõ ìàøèí äýýð áàéðëàæ áóñàä äýýð íü NFS õîëáîëò õèéãäñýí áàéõ þì. Ò°ãñã°ëä íü á³òýýõ îëîíëîãèéí á³õ ìàøèíóóä äýýðõ /etc/make.conf áîëîí /etc/src.conf àéëóóä á³òýýõ ìàøèíûõòàé òîõèð÷ áàéãàà ýñýõèéã øàëãààðàé. Ýíý íü á³òýýõ îëîíëîãèéí ìàøèí á³ðèéí ñóóëãàõ ³íäñýí ñèñòåìèéí á³õ õýñã³³äèéã á³òýýõ ìàøèí õèéõ ¼ñòîé ãýñýí ³ã þì. Ì°í á³òýýõ ìàøèí á³ð °°ðèéí ö°ìèéí íýðèéã /etc/make.conf àéëä KERNCONF õóâüñàã÷èä çààí °ã°õ ¼ñòîé á°ã°°ä á³òýýõ ìàøèí á³ð KERNCONF õóâüñàã÷äàà °°ðèéí ö°ìèéã ýõýíä îðóóëàí äàðàà íü òýäãýýðèéã æàãñààõ ¼ñòîé áàéäàã. Á³òýýõ ìàøèí íü ìàøèí á³ðèéí ö°ìèéã á³òýýõýýð áîëîõ þì áîë òýäãýýðèéí òîõèðãîîíû àéëûã /usr/src/sys/arch/conf ñàíä àãóóëñàí áàéõ øààðäëàãàòàé. 24.8.2
íäñýí ñèñòåì
Îäîî á³õ þì èíãýæ õèéãäñýíèé äàðàà òà á³ãäèéã á³òýýõýä áýëýí áîëëîî. Á³òýýõ ìàøèí äýýð Section 24.7.7.2-ä òàéëáàðëàñíû äàãóó ö°ì áîëîí åðò°íöèéã á³òýý, ãýõäýý þóã ÷ áèòãèé ñóóëãààðàé. Á³òýýëò äóóññàíû äàðàà òåñò ìàøèí äýýð ä°íã°æ ñàÿõàí á³òýýñýí ö°ì°° ñóóëãà. Õýðýâ ýíý ìàøèí íü /usr/src áîëîí /usr/obj ñàíãóóäûã NFS-ýýð õîëáîëò õèéõ ãýæ áàéãàà áîë òà ãàíö õýðýãëýã÷èéí ãîðèìä äàõèí à÷ààëàõäàà ñ³ëæýýã íýýæ òýäãýýðèéã õîëáîæ °ã°õ õýðýãòýé. ³íèéã õàìãèéí õÿëáàðààð õèéõèéí òóëä îëîí õýðýãëýã÷èéí ãîðèìä à÷ààëàí shutdown now òóøààëûã àæèëëóóëæ ãàíö õýðýãëýã÷èéí ãîðèìä îðîõ ÿâäàë þì. Òýãýæ îðñíûõîî äàðàà òà øèíý ö°ì áîëîí åðò°íöèéã ñóóëãàæ æèðèéí ³åäýý õèéäýã mergemaster òóøààëûã àæèëëóóëæ áîëíî. Èíãýæ äóóññàíûõàà äàðàà ýíý ìàøèíû õóâüä åðäèéí îëîí õýðýãëýã÷èéí ³éëäë³³äýä äàõèí à÷ààëæ îðíî. Òåñò ìàøèí äýýðõ á³õ ç³éëñ ç°â àæèëëàæ áàéãààã ìýäñýíèéõýý äàðàà òà á³òýýõ îëîíëîãèéí áóñàä ìàøèí á³ð äýýð øèíý ïðîãðàì õàíãàìæ ñóóëãàõäàà èæèë ïðîöåäóðûã àøèãëààðàé. 24.8.3
Ïîðòóóä
³íòýé àäèë ñàíààã áàñ ïîðòóóäûí ìîäîíä àøèãëàæ áîëíî. Ýõíèé ÷óõàë àëõàì áîë í°ã°° ìàøèí äýýðõ /usr/ports ñàíã á³òýýõ îëîíëîãèéí áóñàä ìàøèíóóä äýýð õîëáîæ °ã°õ ÿâäàë þì. Äàðàà íü òà /etc/make.conf àéëûã distfiles áóþó ò³ãýýëòèéí àéëóóäûã õóâààëöàõààð ç°â òîõèðóóëæ °ã÷ áîëíî. Òà DISTDIR õóâüñàã÷èéã òàíû NFS õîëáîëòóóäàä çààãäñàí àëü ÷ root õýðýãëýã÷èéí õóâüä áè÷èãäýõ áîëîìæòîé áàéõ íèéòëýã õóâààëöñàí ñàíãààð òîõèðóóëàõ øààðäëàãàòàé. Ìàøèí á³ð WRKDIRPREFIX õóâüñàã÷èéã ëîêàë á³òýýõ ñàíãààð çààæ °ã°õ õýðýãòýé. Ýöýñò íü õýðýâ òà áàãöóóäûã á³òýýæ ò³ãýýõ ãýæ áàéãàà áîë PACKAGES õóâüñàã÷èéã DISTDIR õóâüñàã÷èéí íýãýí àäèë ñàíãààð çààæ °ã°õ õýðýãòýé.
Notes 1.
Ýíý íü á³ð ÿã ³íýí áèø þì. Áèä FreeBSD-èéí õóó÷èí õóâèëáàðóóäûã ³ðãýëæ äýìæèæ ÷àäàõã³é, ãýõäýý áèä òýäãýýðèéã îëîí æèëèéí òóðø äýìæñýýð èðñýí. FreeBSD-èéí õóó÷èí õóâèëáàðóóäûí îäîîãèéí àþóëã³é áàéäëûí áîäëîãûí á³ðýí òàéëáàðûã http://www.FreeBSD.org/security/-ñ ³çíý ³³.
657
Chapter 25 DTrace Áè÷ñýí Òîì °³äñ. 25.1
Åð°íõèé àãóóëãà
DTrace áóþó Dynamic Tracing (Äèíàìèê Ì°ðä°ëò) íü ³éëäâýðëýëä àøèãëàæ áàéãàà áîëîí àøèãëàõûí °ìí°õ ñèñòåì³³äýä ³éë àæèëëàãààíû ñààä òîòãîðóóäûã îëîõîä çîðèóëàãäñàí Sun-ñ õ°ãæ³³ëñýí õýðýãñýë þì. Ýíý íü ÿìàð ÷ òîõèîëäîëä äèáàã õèéã÷ õýðýãñýë áèø áîëîâ÷ ³éë àæèëëàãàà áîëîí áóñàä àñóóäëóóäûã öàã òóõàéä íü îëîõ ñèñòåìèéí àíàëèç õèéõýä çîðèóëàãäñàí õýðýãñýë þì.
DTrace íü ñèñòåìèéí àñóóäëóóäûã îíîøëîõîä çîðèóëàãäñàí ñýòãýë õ°äë°ì áîëîìæóóäòàé ãàéõàìøèãòàé ïðîèëü õèéã÷ õýðýãñýë þì. Ýíý íü °°ðèéí áîëîìæóóäûã àøèãëàõûí òóëä °ìí° íü áè÷èãäñýí ñêðèïò³³äèéã àæèëëóóëæ áàñ áîëäîã. Õýðýãëýã÷èä íü òóñãàé çîðèóëàëòààð °°ðñäèéí ïðîèëü õèéëòèéã °°ð÷ë°õ áîëîìæòîé DTrace D õýëèéã àøèãëàí á³ð °°ðñäèéí õýðýãñë³³äèéã çîõèîæ áîëîõ þì. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: • • •
DTrace ãýæ þó áîëîõ ÿìàð ÿìàð áîëîìæóóäààð õàíãàäàã òàëààð.
Solaris-èéí DTrace øèéäýë áîëîí FreeBSD-ä áàéãàà õî¼ðûí õîîðîíäûí ÿëãààíóóä.
FreeBSD äýýð DTrace-èéã õýðõýí èäýâõæ³³ëæ àøèãëàõ òàëààð.
Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: • • •
•
UNIX áîëîí FreeBSD-èéí ³íäñ³³äèéã (Chapter 3) îéëãîõ.
Ö°ìèéí òîõèðãîî/ýìõýòãýëòèéí (Chapter 8) ³íäñèéã ìýääýã áàéõ. Àþóëã³é áàéäëûí òàëààð áîëîí ýíý íü FreeBSD-ä õýðõýí õàìààðàëòàé áàéõ òàëààð çàðèì îéëãîëòòîé áàéõ (Chapter 14). FreeBSD ýõèéã õýðõýí àâ÷ äàõèí á³òýýõ òàëààð îéëãîõ (Chapter 24). Warning: Ýíý áîëîìæ íü òóðøèëòûí ãýæ òîîöîãääîã. Çàðèì òîõèðãîîíóóä àæèëëàãààíû õóâüä äóòóó, çàðèì õýñýã íü åð°°ñ°° àæèëëàõã³é áàéæ áîëîõ þì. Öàãèéí ÿâöàä ýíý áîëîìæ íü ³éëäâýðëýëä àøèãëàãäàõàä áýëýí ãýæ òîîöîãäîõ á°ã°°ä ýíý áàðèìò íü òýð òîõèîëäîëä òààðàõààð °°ð÷ë°ãä°õ áîëíî.
25.2
Øèéäëèéí ÿëãààíóóä
FreeBSD äýýðõ DTrace íü Solaris-ä áàéäàãòàé ìàø ò°ñòýé áîëîâ÷ öààø ³ðãýëæë³³ëýõýýñýý °ìí° òàéëáàðëàõ ¼ñòîé ÿëãààíóóä áàéäàã. Õýðýãëýã÷äèéí ìýäðýõ ³íäñýí ÿëãàà íü FreeBSD äýýð DTrace íü òóñãàéëàí èäýâõæ³³ëýõ ¼ñòîé áàéäàã. DTrace íü ç°â àæèëëàõûí òóëä èäýâõæ³³ëñýí áàéõ ¼ñòîé ö°ìèéí òîõèðãîîíóóä áîëîí ìîäóëèóä áàéäàã. Ýäãýýðèéã äàðàà òàéëáàðëàõ áîëíî. CTF °ã°ãäëèéã ö°ìèéí ìîäóëü áîëîí ö°ì°°ñ °°ð°°ñ íü äóóäàõàä çîðèóëñàí äýìæëýãèéã èäýâõæ³³ëýõ ö°ìèéí DDB_CTF òîõèðãîî áàéäàã. CTF íü Solaris-èéí Compact C Type áóþó Øàõìàë C Ò°ð°ë á°ã°°ä
658
Chapter 25 DTrace DWARF áîëîí venerable stab-óóäòàé (õ³íäòýé õàòãàëòóóä) àäèë äèáàã ìýäýýëëèéí áàãàñãàñàí õýëáýðèéã àãóóëäàã. Ýíý CTF °ã°ãä°ë íü ctfconvert áîëîí ctfmerge ãýñýí á³òýýõ õýðýãñë³³äýýð õî¼ðòûí àéëóóäàä íýìýãääýã. ctfconvert õýðýãñýë íü ýìõýòãýã÷èéí ³³ñãýñýí DWARF äèáàã ELF õýñã³³äèéã çàäëàí ÿëãàæ ctfmerge íü îáüåêòóóäûí CTF ELF õýñã³³äèéã àæèëëàäàã àéëóóä þì óó ýñâýë õóâààëöñàí ñàíãóóä ðóó íèéë³³ëäýã. Ö°ì áîëîí FreeBSD á³òýýëòýä çîðèóëæ ³³íèéã õýðõýí èäýâõæ³³ëýõ òàëààð äýëãýðýíã³é òàéëáàð óäàõã³é áè÷èãäýõ áîëíî. Solaris-ä áàéäãààñ °°ð õàíãàã÷èä FreeBSD-ä áàéäàã. Õàìãèéí àëäàðòàé íü dtmalloc õàíãàã÷ á°ã°°ä FreeBSD ö°ìä malloc()-èéã ò°ðë°°ð íü ì°ðä°õ áîëîìæèéã á³ðä³³ëäýã.
Ç°âõ°í root DTrace-èéã FreeBSD äýýð àøèãëàæ áîëíî. Ýíý íü àþóëã³é áàéäëûí ÿëãààòàé õîëáîîòîé á°ã°°ä FreeBSD-ä áàéäàãã³é õýäýí äîîä ò³âøíèé àþóëã³é áàéäëûí øàëãàëòóóä Solaris-ä áàéäàã. Òèéì áîëîõîîð /dev/dtrace/dtrace íü ç°âõ°í root õýðýãëýã÷ýýð õàòóó õÿçãààðëàãäñàí áàéäàã. Ò°ãñã°ëä íü DTrace ïðîãðàì õàíãàìæ íü Sun-èé CDDL ëèöåíçèéí äîîð áàéäàã. Common Development and Distribution License áóþó Íèéòëýã Õ°ãæ³³ëýëò áà Ò³ãýýëòèéí Ëèöåíç íü FreeBSD-òýé öóã èðäýã á°ã°°ä /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE þì óó ýñâýë îíëàéí õýëáýðýýð http://www.opensolaris.org/os/licensing õàÿãààñ õàðæ áîëíî. Ýíý ëèöåíç íü DTrace òîõèðãîîòîé FreeBSD ö°ì íü BSD ëèöåíçòýé õýâýýð ãýñýí ³ã áîëîâ÷ ìîäóëèóä íü õî¼ðòûí õýëáýðýýð ò³ãýýãäýõ ³åä þì óó ýñâýë õî¼ðòûí àéëóóä äóóäàãäñàí ³åä CDDL íü õ³÷èí ò°ã°ëä°ð áîëäîã. 25.3 DTrace
äýìæëýãèéã èäýâõæ³³ëýõ
DTrace-ä çîðèóëñàí äýìæëýãèéã èäýâõæ³³ëýõèéí òóëä äàðààõ ì°ð³³äèéã ö°ìèéí òîõèðãîîíû àéëä
íýìíý:
options options
KDTRACE_HOOKS DDB_CTF
Note: AMD64 àðõèòåêòóðûí õýðýãëýã÷èä °°ðñäèéí ö°ìèéí òîõèðãîîíû õ³ñýõ áîëíî: options
àéëäàà äàðààõ ì°ðèéã íýìýõèéã
KDTRACE_FRAME
Ýíý òîõèðãîî íü FBT áîëîìæèä çîðèóëñàí äýìæëýãèéã õàíãàäàã. DTrace íü ýíý òîõèðãîîã³éãýýð àæèëëàäàã áîëîâ÷ óíêöèéí õÿçãààðûí ì°ðä°ëò°ä çîðèóëñàí äýìæëýã õÿçãààðëàãäìàë áàéõ áîëíî.
Á³õ ýõ CTF òîõèðãîîíóóäòàé äàõèí á³òýýãäýæ ñóóëãàãäñàí áàéõ ¼ñòîé. Èíãýõèéí òóë FreeBSD-èéí ýõèéã äîîðõ òóøààëóóäûã àøèãëàí äàõèí á³òýýíý: # cd /usr/src # make WITH_CTF=1 kernel
Ñèñòåìèéã äàõèí à÷ààëàõ õýðýãòýé. Äàõèí à÷ààëæ øèíý ö°ìèéã ñàíàõ îéä äóóäàãäñàíû äàðàà Korn á³ðõ³³ëèéí äýìæëýãèéã íýìýõ õýðýãòýé. DTrace õýðýãñë³³ä íü ksh äýýð áè÷èãäñýí õýä õýäýí õýðýãñë³³äòýé áîëîõîîð ýíý íü õýðýãòýé
659
Chapter 25 DTrace
þì. shells/ksh93-ã ñóóëãàõ õýðýãòýé. Ýäãýýð õýðýãñë³³äèéã shells/pdksh ýñâýë shells/mksh äýýð àæèëëóóëæ áàñ áîëíî. Ò°ãñã°ëä íü îäîîãèéí DTrace õýðýãñë³³äèéã îëæ àâàõ õýðýãòýé. Îäîîãèéí õóâèëáàð íü http://www.opensolaris.org/os/community/dtrace/dtracetoolkit/ õàÿãò áàéðëàäàã. Ñóóëãàõ àðãà çàì öóã áàéäàã áîëîâ÷ ñóóëãàëò íü áàãöàëñàí õýðýãñë³³äèéã àøèãëàõûã øààðääàãã³é. 25.4 DTrace-
ã àøèãëàõ
DTrace áîëîìæèéã àøèãëàõààñ °ìí° DTrace ò°õ°°ð°ìæ áàéõ õýðýãòýé. Ò°õ°°ð°ìæèéã äóóäàõûí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # kldload dtraceall
DTrace äýìæëýã îäîî áîëîìæòîé áîëñîí áàéõ ¼ñòîé. Á³õ øàëãàëòûã õàðàõûí òóëä àäìèíèñòðàòîð äàðààõ òóøààëûã îäîî àæèëëóóëæ áîëíî: # dtrace -l | more
Äýëãýöèéí áóåðèéã ò³ðãýí ä³³ðãýõ áîëîõîîð á³õ ãàðàëòûã more õýðýãñýë ð³³ äàìæóóëäàã. Ýíä õ³ðýõýä DTrace-èéã àæèëëàæ áàéíà ãýæ ³çíý. Îäîî óã õýðýãñëèéã øàëãàæ ³çýõ öàã áîëëîî. Óã õýðýãñýë íü ñèñòåìèéí ìýäýýëëèéã öóãëóóëàõûí òóëä DTrace-òýé öóã àæèëëóóëæ áîëîõ àøèãëàõàä áýëýí ñêðèïò³³äèéí öóãëóóëãà þì. Íýýëòòýé àéëóóä, ñàíàõ îé,CPU-èéí õýðýãëýý áîëîí °°ð îëîí ç³éëñèéã øàëãàõ ñêðèïò³³ä áàéäàã. Ñêðèïò³³äèéã äàðààõ òóøààëààð çàäàëæ áîëíî: # gunzip -c DTraceToolkit* | tar xvf -
àøèãëàí òýð ñàí ðóó °°ð÷èëæ æèæèã ³ñãýýð áè÷èãäñýí íýðòýé á³õ àéëóóä äýýð àæèëëóóëàõ ç°âø°°ðë³³äèéã 755 ðóó °°ð÷ë°õ õýðýãòýé. Ýäãýýð á³õ ñêðèïò³³äèéí àãóóëãàä °°ð÷ë°ëò õèéõ õýðýãòýé áîëíî. /usr/bin/ksh ãýñíèéã /usr/local/bin/ksh áîëãîõ ¼ñòîé á°ã°°ä /usr/bin/sh-èéã /bin/sh áîëãîí àøèãëàõààð, ò°ãñã°ëä íü /usr/bin/perl-ã /usr/local/bin/perl áîëãîí àøèãëàõààð áîëãîæ °°ð÷ë°õ õýðýãòýé.
cd
Important: FreeBSD äýýðõ DTrace äýìæëýã íü á³ðýí áóñ á°ã°°ä òóðøèëòûí ãýäãèéã óíøèã÷èä ñàíóóëàõ íü óõààëàã áîëîõ þì. Ýäãýýð ñêðèïò³³äèéí îëîíõè íü àæèëëàõã³é á°ã°°ä òýäãýýð íü õýòýðõèé Solaris-ä òóñãàéëàí çîðèóëñàí ýñâýë îäîî äýìæèãäýýã³é áàéãàà øàëãàëòóóäûã àøèãëàäàã.
³íèéã áè÷èæ áàéõ ³åä DTrace õýðýãñëèéí ç°âõ°í õî¼ð ñêðèïò FreeBSD äýýð á³ðýí äýìæèãäñýí: ýäãýýð íü hotkernel áîëîí procsystime ñêðèïò³³ä þì. Ýäãýýð õî¼ðûã áèä ýíý á³ëãèéí äàðààãèéí õýñã³³äýä àâ÷ ³çýõ áîëíî. hotkernel íü àëü óíêö ö°ìèéí èõýíõ õóãàöààã àøèãëàæ áàéãààã èëð³³ëýõýýð õèéãäñýí. Õýâèéíýýð àæèëëóóëàõàä ýíý íü äàðààõòàé ò°ñòýé ãàðàëòûã õàðóóëàõ áîëíî: # ./hotkernel
Sampling... Hit Ctrl-C to end.
660
Chapter 25 DTrace
Ñèñòåìèéí àäìèíèñòðàòîð ïðîöåññèéã çîãñîîõûí òóëä Ctrl+C òîâ÷ëóóðûí õîñëîëûã àøèãëàõ ¼ñòîé. Çîãñîîñíû äàðàà ñêðèïò íü ö°ìèéí óíêöóóäûí æàãñààëò áîëîí õóãàöààíû ìýäýýëëèéã õàðóóëàõ á°ã°°ä ãàðàëòûã õóãàöààíû èõýññýí äàðààëëààð ýðýìáýëæ õàðóóëíà: kernel‘_thread_lock_flags 0xc1097063 kernel‘sched_userret kernel‘kern_select kernel‘generic_copyin kernel‘_mtx_assert kernel‘vm_fault kernel‘sopoll_generic kernel‘fixup_filename kernel‘_isitmyx kernel‘find_instance kernel‘_mtx_unlock_flags kernel‘syscall kernel‘DELAY 0xc108a253 kernel‘witness_lock kernel‘read_aux_data_no_wait kernel‘Xint0x80_syscall kernel‘witness_checkorder kernel‘sse2_pagezero kernel‘strncmp kernel‘spinlock_exit kernel‘_mtx_lock_flags kernel‘witness_unlock kernel‘sched_idletd 0xc10981a5
2 2 2 2 3 3 3 3 4 4 4 5 5 5 6 7 7 7 7 8 9 10 11 15 137 42139
0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.3% 99.3%
Ýíý ñêðèïò íü ö°ìèéí ìîäóëèóäòàé áàñ àæèëëàäàã. Ýíý áîëîìæèéã àøèãëàõûí òóëä ñêðèïòèéã -m °ã°ãä°ëòýé àæèëëóóëàõ õýðýãòýé: # ./hotkernel -m
Sampling... Hit Ctrl-C to end. ^C MODULE 0xc107882e 0xc10e6aa4 0xc1076983 0xc109708a 0xc1075a5d 0xc1077325 0xc108a245 0xc107730d 0xc1097063 0xc108a253 kernel 0xc10981a5
COUNT 1 1 1 1 1 1 1 1 2 73 874 213781
PCNT 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.4% 99.6%
ñêðèïò íü °ã°ãäñ°í PID ýñâýë ïðîöåññèéí õóâüä ñèñòåìèéí äóóäëàãûí öàãèéí õýðýãëýýã àâ÷ õýâëýí õàðóóëäàã. Äàðààõ æèøýýí äýýð /bin/csh-èéí øèíý õóóëáàð àæèëëóóëñàí.
procsystime
661
Chapter 25 DTrace
èéã àæèëëóóëñàí á°ã°°ä °°ð íýã csh äýýð ö°°í õýäýí òóøààëûã áè÷òýë ýíý íü õ³ëýýõ ãîðèìä îðñîí. Ýíý òåñòèéí ³ð ä³í ýíä áàéíà: procsystime-
# ./procsystime -n csh
Tracing... Hit Ctrl-C to end... ^C Elapsed Times for processes csh, SYSCALL getpid sigreturn close fcntl dup setpgid stat setitimer wait4 sigaction sigprocmask gettimeofday write execve ioctl vfork sigsuspend read
TIME (ns) 6131 8121 19127 19959 26955 28070 31899 40938 62717 67372 119091 183710 263242 492547 770073 3258923 6985124 3988049784
Ýíä ³ç³³ëñíýýð read() ñèñòåìèéí äóóäëàãà èõýíõ öàãèéã, getpid() ñèñòåìèéí äóóäëàãà õàìãèéí áàãà õóãàöààã àøèãëàñíûã íàíîñåêóíäààð õàðóóëæ áàéíà. 25.5 D
õýë
DTrace õýðýãñýë íü DTrace-èéí òóñãàé õýë äýýð áàéäàã îëîí ñêðèïò³³äèéã àãóóëäàã. Ýíý õýë íü Sun-èéí áàðèìòààð “D õýë” ãýãääýã á°ã°°ä C++ õýëòýé òóí ò°ñòýé þì. Ýíý õýëíèé òàëààðõ ã³íçãèé õýëýëö³³ëýã íü ýíý áàðèìòààñ õ³ðýýíýýñ ãàäíà þì. Ýíý íü http://wikis.sun.com/display/DTrace/Documentation õàÿã äýýð äýëãýðýíã³é õýëýëöýãäñýí áàéäàã.
662
IV. ѳëæýýíèé Õîëáîëò
FreeBSD íü °íä°ð àæèëëàãààòàé ñ³ëæýýíèé ñåðâåð³³äýä çîðèóëàãäñàí õàìãèéí °ðã°í õýðýãëýãääýã ³éëäëèéí ñèñòåì³³äèéí íýã þì. Ýíý õýñýãò äàðààõ ñýäâ³³äèéã õàìðàõ áîëíî:
Ñåðèàë õîëáîëò • PPP áîëîí Ethernet äýýã³³ðõ PPP (PPP over Ethernet) • Öàõèì çàõèäàë • ѳëæýýíèé ñåðâåð³³äèéã àæèëëóóëàõ • àëò õàíàíóóä • Áóñàä äýýä ò³âøíèé ñ³ëæýýíèé ñýäâ³³ä Ýäãýýð á³ëã³³ä íü òàíä ìýäýýëýë õýðýãòýé ³åä óíøèãäàõààð çîðèóëàãäñàí þì. Òà ÿìàð íýãýí òîäîðõîé äàðààëëààð óíøèõ õýðýãã³é á°ã°°ä FreeBSD àøèãëàæ ýõëýõýýñýý °ìí° á³ãäèéã íü óíøèõ øààðäëàãàã³é áîëíî. •
Chapter 26
Öóâàà õîëáîîíóóä
Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 26.1
Åð°íõèé àãóóëãà
UNIX íü öóâàà õîëáîîíóóäàä çîðèóëñàí äýìæëýãòýé ³ðãýëæ áàéñààð èðñýí. Òóõàéëáàë õàìãèéí àíõíû UNIX ìàøèíóóä õýðýãëýã÷èéí îðîëò áîëîí ãàðàëòûí õóâüä öóâàà øóãàìóóä äýýð òóëãóóðëàäàã áàéñàí. Äóíäàæ “òåðìèíàë” íü ñåêóíäýä 10 òýìäýãò äàìæèõ öóâàà õýâëýã÷ áîëîí ãàðààñ òîãòäîã áàéñàí òýð ³åýñ õîéø þìñ àñàð èõ °°ð÷ë°ãäñ°°ð èðñýí þì. Ýíý á³ëýã íü FreeBSD äýýð öóâàà õîëáîîíóóäûã àøèãëàõ çàðèì àðãóóäààñ äóðäàõ áîëíî.
Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî:
°ðèéí FreeBSD ñèñòåìä òåðìèíàëóóäûã õýðõýí õîëáîõ òàëààð. • Àëñûí õîñòóóä óðóó õýðõýí ìîäåìîîð çàëãàæ õîëáîãäîõ òàëààð. • Àëñûí õýðýãëýã÷äèéã ìîäåìîîð òàíû ñèñòåì óðóó íýâòðýõèéã õýðõýí ç°âø°°ð°õ òàëààð. • Öóâàà êîíñîëîîñ °°ðèéí ñèñòåìèéã õýðõýí à÷ààëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
• • •
Øèíý ö°ìèéã õýðõýí òîõèðóóëàí ñóóëãàõ òàëààð ìýäýõ (Chapter 8). UNIX ç°âø°°ðë³³ä áîëîí ïðîöåññóóäûã îéëãîõ (Chapter 3). FreeBSD äýýð àøèãëàõûã õ³ñýæ áàéãàà öóâàà òîíîã ò°õ°°ð°ìæèéí (ìîäåì ýñâýë îëîí ïîðòòîé êàðò) òåõíèêèéí ãàðûí àâëàãàä õàíäàæ áîëîõîîð áàéõ.
26.2
Òàíèëöóóëãà
26.2.1
Óõàãäàõóóíóóä
bps Bits per Second áóþó ñåêóíäýä äàìæóóëàõ áèò — °ã°ãä°ë äàìæèõ õóðä DTE Data Terminal Equipment áóþó ã°ãäëèéí Òåðìèíàë Ò°õ°°ð°ìæ — æèøýý íü òàíû êîìïüþòåð DCE Data Communications Equipment áóþó ã°ãäëèéí Õîëáîîíóóäûí Ò°õ°°ð°ìæ — òàíû ìîäåì RS-232
Òîíîã ò°õ°°ð°ìæèéí öóâàà õîëáîîíóóäàä çîðèóëñàí EIA ñòàíäàðò
664
Chapter 26 Öóâàà õîëáîîíóóä
Õîëáîîíóóäûí °ã°ãäëèéí õóðäíû òàëààð ÿðèõäàà ýíý õýñýã “baud” ãýñýí óõàãäàõóóíûã àøèãëàäàãã³é. Baud íü òîäîðõîé õóãàöààíä õèéãäñýí öàõèëãààíû ò°ëâèéí øèëæèëò³³äèéí òîîã õýëäýã áîë “bps” (bits per second áóþó ñåêóíäýä äàìæóóëàõ áèò) íü õýðýãëýãäýõ ç°â îéëãîëò þì (ýíý íü ÿìàð ÷ áàéñàí õýö³³ ç°ð³³ä õ³ì³³ñò òèéì ÷ ÿðøèã ò°â°ã áîëäîãã³é þì øèã ñàíàãääàã). 26.2.2
Êàáåëèóä áîëîí Ïîðòóóä
°ðèéí FreeBSD ñèñòåì óðóó ìîäåì ýñâýë òåðìèíàëûã õîëáîõûí òóëä òàíä êîìïüþòåð äýýð ÷èíü öóâàà ïîðò áîëîí °°ðèéí öóâàà ò°õ°°ð°ìæ óðóó õîëáîõ ç°â êàáåëü õýðýãòýé áîëíî. Õýðýâ òà °°ðèéí òîíîã ò°õ°°ð°ìæòýé áîëîí øààðäàãäàõ êàáåëüòàé àëü õýäèéí òàíèë áîëñîí áîë ýíý õýñãèéã àéëã³éãýýð îðõèæ áîëíî. 26.2.2.1 Êàáåëèóä
Õýä õýäýí °°ð °°ð ò°ðëèéí öóâàà êàáåëèóä áàéäàã. Áèäíèé çîðèëãîä íèéöýõ õî¼ð õàìãèéí íèéòëýã ò°ð°ë áîë null-ìîäåì áîëîí ñòàíäàðò (“straight áóþó øóóä”) RS-232 êàáåëèóä þì. Òàíû òîíîã ò°õ°°ð°ìæèéí áàðèìò øààðäëàãàòàé êàáåëèéí ò°ðëèéã òàéëáàðëàõ ¼ñòîé. 26.2.2.1.1 Null-ìîäåì êàáåëèóä
Null-ìîäåì êàáåëü íü “Signal Ground” áóþó àçàð äîõèî çýðýã çàðèì äîõèîíóóäûã øóóä íýâòð³³ëäýã áîëîâ÷ çàðèì äîõèîíóóäûã øèëæ³³ëäýã. Æèøýý íü íýã òàëûí “Transmitted Data” áóþó Äàìæèãäñàí ã°ãä°ë ç³³ íü í°ã°° òàëûí “Received Data” áóþó Õ³ëýýí àâñàí ã°ãä°ë ç³³ óðóó îðäîã.
Òà áàñ °°ðèéí null-ìîäåì êàáåëèéã òåðìèíàëóóäòàé àæèëëàõààð áîëãîæ áîëíî (°°ð°°ð õýëáýë ÷àíàðûí çîðèëãîîð). Ýíý õ³ñíýãò íü RS-232C äîõèîíóóä áîëîí DB-25 õîëáîã÷ äýýðõ ç³³íèé òîîíóóäûã õàðóóëæ áàéíà. Ì°í ñòàíäàðò íü øóóä õîëáîãäîõ 1-ð ç³³ã 1-ð ç³³ Protective Ground áóþó Õàìãààëàëòûí àçàð øóãàì óðóó äóóääàã áîëîâ÷ ýíý íü èõýâ÷ëýí îðõèãääîã. Çàðèì òåðìèíàëóóä 2, 3 áîëîí 7-ð ç³³í³³äèéã ç°âõ°í àøèãëàõàä ç³ãýýð àæèëëàäàã áîë áóñäóóä íü äîîð äóðäñàí æèøýýí³³äýýñ °°ð òîõèðãîîíóóäûã øààðääàã. Table 26-1. DB-25-
Äîõèî
ààñ DB-25 Null-Ìîäåì êàáåëü dz³ #
dz³ #
Äîõèî
SG
7
7
SG
TD
2
3
RD
2
TD
5
CTS
4
RTS
6
DSR
8
DCD
20
DTR
20
DTR
õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ RD 3 RTS 4 õîëáîãäîõ CTS 5 õîëáîãäîõ DTR 20 õîëáîãäîõ õîëáîãäîõ DTR 20 DSR 6 õîëáîãäîõ DCD 8 õîëáîãäîõ Îäîî ³åä íèéòëýã áàéäàã °°ð õî¼ð ñõåìèéã ýíä ³ç³³ëýâ.
665
Chapter 26 Öóâàà õîëáîîíóóä Table 26-2. DB-9-
Äîõèî
°°ñ DB-9 Null-Ìîäåì êàáåëü dz³ #
RD
2
TD
3
DTR
4
DTR
4
SG
5
DSR
6
DCD
1
RTS
7
CTS
8
Table 26-3. DB-9-
õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ
dz³ #
Äîõèî
3
TD
2
RD
6
DSR
1
DCD
5
SG
4
DTR
4
DTR
8
CTS
7
RTS
dz³ #
Äîõèî
2
TD
3
RD
6
DSR
8
DCD
7
SG
20
DTR
20
DTR
5
CTS
4
RTS
°°ñ DB-25 Null-Ìîäåì êàáåëü
Äîõèî
dz³ #
RD
2
TD
3
DTR
4
DTR
4
SG
5
DSR
6
DCD
1
RTS
7
CTS
8
õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ õîëáîãäîõ
Note: Íýã òàëä áàéãàà íýã ç³³ íü í°ã°° òàëûí õîñ ç³³ óðóó õîëáîãäîõ áîë òýäãýýðèéí õîëáîã÷ äýýð õîñ ç³³íèé õîîðîíä íýã áîãèíî óòñààð áîëîí óðò óòñààð í°ã°° ãàíö ç³³ óðóó õîëáîí èõýâ÷ëýí øèéäñýí áàéäàã.
Äýýðõ äèçàéíóóä íü õàìãèéí íèéòëýã þì øèã ñàíàãääàã. °ð õóâèëáàðóóä äýýð (RS-232 Made Easy íîìîíä òàéëáàðëàñíààð) SG íü SG óðóó, TD íü RD óðóó, RTS áîëîí CTS íü DCD óðóó, DTR íü DSR óðóó áîëîí ýñðýãýýð õîëáîãääîã. 26.2.2.1.2 Ñòàíäàðò RS-232C êàáåëèóä
Ñòàíäàðò öóâàà êàáåëü íü RS-232C äîõèîíóóäûã á³ãäèéã íü øóóä íýâòð³³ëäýã. °ð°°ð õýëáýë êàáåëèéí íýã òàëûí “Transmitted Data” áóþó Äàìæèãäñàí ã°ãä°ë ç³³ íü í°ã°° òàëûí “Transmitted Data” áóþó Äàìæèãäñàí ã°ãä°ë ç³³ óðóó îðäîã. Ýíý íü ìîäåìèéã òàíû FreeBSD ñèñòåì óðóó áîëîí çàðèì íýã òîõèðîõ òåðìèíàëèóä óðóó õîëáîõîä õýðýãëýãäýõ êàáåëèéí ò°ð°ë þì.
666
Chapter 26 Öóâàà õîëáîîíóóä 26.2.2.2 Ïîðòóóä
Öóâàà ïîðòóóä íü °ã°ãäëèéã FreeBSD õîñò êîìïüþòåð áîëîí òåðìèíàëûí õîîðîíä äàìæóóëàõ ò°õ°°ð°ìæ³³ä þì. Ýíý õýñýã íü ÿìàð ò°ðëèéí ïîðòóóä áàéäàã áîëîí FreeBSD äýýð òýäãýýðò õýðõýí õàíääàãèéã òàéëáàðëàõ áîëíî. 26.2.2.2.1 Ïîðòóóäûí ò°ðë³³ä
Õýä õýäýí ò°ðëèéí ïîðòóóä áàéäàã. Òà êàáåëèéã õóäàëäàæ àâàõ þì óó ýñâýë õèéõýýñýý °ìí° ýíý íü òàíû òåðìèíàë áîëîí FreeBSD ñèñòåì äýýðõ ïîðòóóäàä òààðàõ ýñýõèéã øàëãàõ õýðýãòýé. Èõýíõ òåðìèíàëóóä DB-25 ïîðòóóäòàé áàéäàã. FreeBSD àæèëëàæ áàéãàà PC-³³ä çýðýã ïåðñîíàë êîìïüþòåðóóä íü DB-25 ýñâýë DB-9 ïîðòóóäòàé áàéäàã. Õýðýâ òà PC äýýðýý îëîí ïîðòòîé öóâàà êàðòòàé áîë òàíä RJ-12 ýñâýë RJ-45 ïîðòóóä áàéæ áîëîõ þì. Òîíîã ò°õ°°ð°ìæòýé öóã èðñýí áàðèìòààñ àøèãëàõ ïîðòûí ò°ðëèéí òîäîðõîéëîëòûã ³çíý ³³. Ïîðòûã í³äýýðýý õàðæ øàëãàõ íü áàñ ³ð ä³íãýý °ãä°ã. 26.2.2.2.2 Ïîðòûí íýðñ
FreeBSD äýýð öóâàà ïîðò á³ðò /dev ñàí äàõü îðóóëãààð òà õàíääàã. Õî¼ð °°ð ò°ðëèéí îðóóëãà áàéäàã:
ãýãääýã á°ã°°ä N íü òýãýýñ ýõëýõ ïîðòûí äóãààð þì. Åð°íõèéä°° äóóäàãäàõ ïîðòûã òåðìèíàëóóäàä çîðèóëæ àøèãëàäàã. Data carrier detect (DCD) áóþó °ã°ãäëèéí ç°°ã÷ èëð³³ëýõ äîõèîã ç°â àæèëëàõûã öóâàà øóãàì áàòëàõûã äóóäàãäàõ ïîðòóóä íü øààðääàã. • Call-out áóþó äóóäàõ ïîðòóóä íü /dev/cuadN ãýãääýã. Äóóäàõ ïîðòóóäûã òåðìèíàëóóäàä çîðèóëæ èõýâ÷ëýí àøèãëàäàãã³é, ç°âõ°í ìîäåìóóäàä çîðèóëæ àøèãëàäàã. Öóâàà êàáåëü ýñâýë òåðìèíàë íü ç°°ã÷èéã èëð³³ëýõ äîõèîã äýìæäýãã³é áîë òà äóóäàõ ïîðòóóäûã àøèãëàæ áîëîõ þì. Õýðýâ òà òåðìèíàëûã ýõíèé öóâàà ïîðò óðóó (MS-DOS äýýð COM1) õîëáîñîí áîë òåðìèíàëä õàíäàõäàà /dev/ttyd0 ãýæ àøèãëàõ áîëíî. Õýðýâ òåðìèíàë íü õî¼ð äàõü öóâàà ïîðò äýýð áàéãàà áîë (áàñ COM2 ãýãääýã) /dev/ttyd1 ãýõ ìýòýýð àøèãëàõ ¼ñòîé.
•
Call-in áóþó äóóäàãäàõ ïîðòóóä íü /dev/ttydN
26.2.3
Ö°ìèéí òîõèðãîî
FreeBSD íü àíõäàã÷ààð ä°ðâ°í öóâàà ïîðòûã äýìæäýã. MS-DOS-èéí åðò°íö°ä ýäãýýð íü COM1, COM2, áîëîí COM4 ãýãääýã. FreeBSD íü îäîîãîîð BocaBoard 1008 áîëîí 2016 çýðýã “ä³ëèé” îëîí ïîðòòîé öóâàà èíòåðýéñ êàðòóóä áîëîí Digiboard áîëîí Stallion Technologies-èéí õèéäýã èë³³ óõààëàã îëîí ïîðòòîé êàðòóóäûã äýìæäýã. ýõäýý àíõäàã÷ ö°ì íü ç°âõ°í ñòàíäàðò COM ïîðòóóäûã õàéäàã. COM3,
Òàíû öóâàà ïîðòóóäûã òàíû ö°ì òàíüæ áàéãàà ýñýõèéã õàðàõûí òóëä ö°ìèéã à÷ààëæ áàéõ ³åä ìýäýãäë³³äèéã ³çýõ õýðýãòýé ýñâýë ö°ìèéí à÷ààëàëòûí ìýäýãäë³³äèéã äàõèí õàðóóëàõ /sbin/dmesg òóøààëûã àøèãëàõ õýðýãòýé. ßëàíãóÿà sio òýìäýãò³³äýýð ýõýëñýí ìýäýãäë³³äèéã õàéãààðàé. Tip: sio îðñîí ìýäýãäë³³äèéã õàðàõûí òóëä äàðààõ òóøààëûã àøèãëàíà: # /sbin/dmesg | grep ’sio’
667
Chapter 26 Öóâàà õîëáîîíóóä
Æèøýý íü ä°ðâ°í öóâàà ïîðòòîé ñèñòåì äýýð ýäãýýð íü öóâàà ïîðòòîé õîëáîîòîé ö°ìèéí à÷ààëàëòûí ìýäýãäë³³ä þì: sio0 at 0x3f8-0x3ff sio0: type 16550A sio1 at 0x2f8-0x2ff sio1: type 16550A sio2 at 0x3e8-0x3ef sio2: type 16550A sio3 at 0x2e8-0x2ef sio3: type 16550A
irq 4 on isa irq 3 on isa irq 5 on isa irq 9 on isa
Õýðýâ òàíû ö°ì á³õ öóâàà ïîðòóóäûã ÷èíü òàíèõã³é áàéãàà áîë òà °°ðèéí ö°ìèéã /boot/device.hints àéëä òîõèðóóëàõ õýðýãòýé áàéæ áîëîõ þì. Òà °°ðò°° áàéõã³é ò°õ°°ð°ìæ³³äèéí õóâüä òýäãýýð ì°ð³³äèéã òàéëáàð áîëãîõ ýñâýë á³ðì°ñ°í àðèëãàæ áîëîõ þì. Öóâàà ïîðòóóä áîëîí îëîí ïîðòòîé õàâòàíãèéí òîõèðãîîíû òàëààð äýëãýðýíã³é ìýäýýëëèéã sio(4) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. °ð õóâèëáàðûí FreeBSD äýýð óðüä íü àøèãëàæ áàéñàí òîõèðãîîíû àéë òà àøèãëàæ áàéãàà áîë áîëãîîìæòîé áàéãààðàé, ó÷èð íü ò°õ°°ð°ìæèéí òóãóóä áîëîí ñèíòàêñ õóâèëáàðóóä õîîðîíä °°ð÷ë°ãäñ°í áàéäàã. Note: IO_COM1 ïîðò íü 0x3f8 õàÿã äýýðõ ïîðòîä çîðèóëàãäñàí îðëóóëàëò þì, IO_COM2 íü 0x2f8-èéí IO_COM3 íü 0x3e8-èéí IO_COM4 íü 0x2e8-èéí îðëóóëàëò þì. Ýäãýýð õàÿãóóä íü öóâàà ïîðòóóäûí íýëýýí ò³ãýýìýë ïîðòûí õàÿãóóä á°ã°°ä 4,3, 5 áîëîí 9 òàñàëäëóóä íü íýëýýí ò³ãýýìýë òàñàëäàë õ³ñýõ øóãàìíóóä þì. Åðäèéí öóâàà ïîðòóóä íü ISA-bus á³õèé PC-³³ä äýýð òàñàëäëóóäûã õóâààëöàæ ÷àääàãã³éã áàñ ñàíààðàé (îëîí ïîðòòîé õàâòàíãóóä íü °°ð äýýðýý õàâòàí äýýð á³õ 16550A-óóäàä íýã ýñâýë õî¼ð òàñàëäàë õ³ñýõ øóãàìóóäûã õóâààëöàõûã ç°âø°°ðä°ã áè÷èë ñõåì³³äòýé áàéäàã).
26.2.4
Ò°õ°°ð°ìæèéí Òóñãàé àéëóóä
Ö°ì äýõ èõýíõ ò°õ°°ð°ìæ³³äýä “ò°õ°°ð°ìæèéí òóñãàé àéëóóä”ûí òóñëàìæòàéãààð õàíääàã á°ã°°ä ýäãýýð àéëóóä íü /dev ñàíä áàéäàã. sio ò°õ°°ð°ìæèä /dev/ttydN (dial-in áóþó ãàäíààñ çàëãàõ) áîëîí /dev/cuadN (call-out áóþó äóóäàõ) ò°õ°°ð°ìæ³³äèéí òóñëàìæòàé õàíääàã. FreeBSD íü áàñ ýõë³³ëýõ ò°õ°°ð°ìæ³³ä (/dev/ttydN .init áîëîí /dev/cuadN .init) áîëîí ò³ãæèõ ò°õ°°ð°ìæ³³äòýé (/dev/ttydN .lock áîëîí /dev/cuadN .lock) áàéäàã. Ýõë³³ëýõ ò°õ°°ð°ìæ³³ä íü óðñãàëûí õÿíàëòäàà RTS/CTS äîõèîëëûã àøèãëàäàã ìîäåìèéí crtscts çýðýã õîëáîîíû ïîðòûí ïàðàìåòð³³äèéã ïîðò íýýãäýõ á³ðò ýõë³³ëæ òîõèðóóëàõàä õýðýãëýãääýã. Ò³ãæèõ ò°õ°°ð°ìæ³³ä íü õýðýãëýã÷èä áîëîí ïðîãðàìóóäûí çàðèì íýã ïàðàìåòð³³äèéã °°ð÷ë°õ°°ñ ñýðãèéëýõèéí òóëä ïîðòóóä äýýð òóãóóäûã ò³ãæèõýä õýðýãëýãääýã. Òåðìèíàëûí òîõèðãîîíóóä, ò³ãæèõ áîëîí ýõë³³ëýõ ò°õ°°ð°ìæ³³ä áîëîí òåðìèíàëûí òîõèðóóëãóóäûã òîõèðóóëàõ òàëààð äýëãýðýíã³é ìýäýýëëèéã termios(4), sio(4), áîëîí stty(1) ãàðûí àâëàãûí õóóäàñíóóäààñ ³çíý ³³.
668
Chapter 26 Öóâàà õîëáîîíóóä
26.2.5
Öóâàà ïîðòûí òîõèðãîî
ýñâýë cuadN ) ò°õ°°ð°ìæ íü òàíû °°ðèéí ïðîãðàìóóääàà çîðèóëæ íýýõèéã õ³ñýõ åðäèéí ò°õ°°ð°ìæ þì. Ïðîöåññ ò°õ°°ð°ìæèéã îíãîéëãîõîä ýíý íü òåðìèíàëûí I/O òîõèðãîîíóóäûí àíõäàã÷ îëîíëîãòîé áàéõ áîëíî. Òà ýäãýýð òîõèðãîîíóóäûã äàðààõ òóøààëààð ³çýæ áîëíî ttydN (
# stty -a -f /dev/ttyd1
Ýíý ò°õ°°ð°ìæèä òîõèðãîîíóóäûã °°ð÷ë°õ°ä ò°õ°°ð°ìæèéã õààõ õ³ðòýë òîõèðãîîíóóä íü èäýâõòýé áàéäàã. Äàõèí îíãîéëãîõîä ýíý íü àíõäàã÷ òîõèðãîî óðóóãàà áóöäàã. Àíõäàã÷ îëîíëîãò °°ð÷ë°ëò³³äèéã õèéõèéí òóëä òà îíãîéëãîîä “ýõíèé ò°ë°âò” ò°õ°°ð°ìæèéí òîõèðãîîíóóäûã òààðóóëæ áîëíî. Æèøýý íü ttyd5-èéí õóâüä àíõäàã÷ààð CLOCAL ãîðèì, 8 áèò õîëáîî, áîëîí XON/XOFF óðñãàëûí õÿíàëòûã èäýâõæ³³ëýõèéí òóëä äîîð äóðäñàíûã áè÷íý: # stty -f /dev/ttyd5.init clocal cs8 ixon ixoff
Öóâàà ò°õ°°ð°ìæ³³äèéí ñèñòåìèéí äàãóóõ ýõë³³ëýëò íü /etc/rc.d/serial àéëààð õÿíàãääàã. Ýíý àéë íü öóâàà ò°õ°ð°ìæ³³äèéí àíõäàã÷ òîõèðãîîíóóäàä í°ë°°ëä°ã. Ïðîãðàì çàðèì òîõèðãîîíóóäûã °°ð÷ë°õ°°ñ ñýðãèéëýõèéí òóëä “ò³ãæèõ ò°ë°âò” ò°õ°°ð°ìæèä òîõèðãîî õèéíý. Æèøýý íü ttyd5-èéí õóðäûã 57600 bps áîëãîæ ò³ãæèõèéí òóëä äîîð äóðäñàíûã áè÷íý: # stty -f /dev/ttyd5.lock 57600
Îäîî ïðîãðàì ttyd5-èéã îíãîéëãîæ ïîðòûí õóðäûã °°ð÷ë°õèéã îðîëäîõîä õóðä íü 57600 bps-ñ õ°äë°õã³é áàéõ áîëíî. Ìýäýýæ òà ýõíèé ò°ë°âò áîëîí ò³ãæèõ ò°ë°âò ò°õ°°ð°ìæ³³äèéã ç°âõ°í root á³ðòãýë áè÷äýãýýð áîëãîõ õýðýãòýé. 26.3
Òåðìèíàëóóä
Õóâü íýìýð áîëãîí îðóóëñàí Øîí Êåëëè. Òåðìèíàëóóä íü òàíûã êîìïüþòåðèéíõàà êîíñîë äýýð áàéõã³é ³åä ýñâýë ñ³ëæýýíä õîëáîãäîîã³é áàéõàä àìàðõàí, ³íý õÿìä àðãààð FreeBSD ñèñòåì óðóó õàíäàõ áîëîìæèéã îëãîäîã. Ýíý õýñýã íü òåðìèíàëóóäûã FreeBSD-òýé õýðõýí àøèãëàõ òàëààð òàéëáàðëàíà. 26.3.1
Òåðìèíàëóóäûí õýðýãëýý áîëîí ò°ðë³³ä
Àíõäàã÷ UNIX ñèñòåì³³äýä êîíñîë áàéãààã³é þì. Õàðèí êîìïüþòåðèéí öóâàà ïîðòóóäàä õîëáîãäñîí òåðìèíàëóóäààð õ³ì³³ñ íýâòðýí îðîîä ïðîãðàìóóä àæèëëóóëäàã áàéñàí áàéíà. Ýíý íü ç°âõ°í òåêñò îð÷íû àæèë õèéõèéí òóëä ìîäåì áîëîí òåðìèíàë ïðîãðàì õàíãàìæ àøèãëàí àëñûí ñèñòåìä çàëãàí îðîõòîé áàðàã ò°ñòýé þì. Îäîîãèéí PC-³³ä íü °íä°ð ÷àíàðûí ãðàèêóóäû㠳糳ëæ ÷àäàõ êîíñîëóóäòàé áîëîâ÷ öóâàà ïîðò äýýð íýâòðýõ ñåññ ³³ñãýõ ÷àäâàð °í°°ãèéí áàðàã á³õ UNIX çàãâàðûí ³éëäëèéí ñèñòåìä áàéäàã á°ã°°ä FreeBSD ÷ áàñ ³³íèé íýãýí àäèë þì. Àøèãëàãäààã³é áàéãàà öóâàà ïîðòîä õîëáîãäñîí òåðìèíàëûã àøèãëàí òà íýâòðýí îðæ äóðûí òåêñò ïðîãðàìûã êîíñîë ýñâýë X öîíõíû ñèñòåì äýýð xterm öîíõîíä àæèëëóóëäàã áàéñàí øèãýýð àæèëëóóëæ áîëîõ þì.
669
Chapter 26 Öóâàà õîëáîîíóóä
Áèçíåñèéí õýðýãëýã÷èéí õóâüä òà FreeBSD ñèñòåìä îëîí òåðìèíàëóóäûã õîëáîæ òýäãýýðèéã °°ðèéí àæèëòíóóäûíõàà øèðýýíèé êîìïüþòåðóóä äýýð áàéðëóóëæ áîëîõ þì. ýðèéí õýðýãëýã÷èéí õóâüä õóó÷èí IBM PC ýñâýë Macintosh çýðýã í°°ö êîìïüþòåð íü FreeBSD àæèëëóóëæ áàéãàà èë³³ õ³÷òýé êîìïüþòåðò õîëáîãäñîí òåðìèíàë áîëæ áîëîõ þì. Òà ãàíö õýðýãëýã÷èéí áàéñàí êîìïüþòåðèéã õ³÷èðõýã îëîí õýðýãëýã÷èéí ñèñòåì áîëãîí õóâèðãàæ áîëîõ þì. FreeBSD-èéí õóâüä ãóðâàí ò°ðëèéí òåðìèíàë áàéäàã: ijëèé òåðìèíàëóóä • Òåðìèíàë ìàÿãààð àæèëëàæ áàéãàà PC-³³ä • X òåðìèíàëóóä Äàðààõ äýä õýñã³³ä íü äýýðõ ò°ðë³³äèéã òàéëáàðëàõ áîëíî.
•
26.3.1.1 ijëèé òåðìèíàëóóä
ijëèé òåðìèíàëóóä íü òàíûã êîìïüþòåðóóä óðóó öóâàà øóãàìóóäààð õîëáîãäîõûã ç°âø°°ð°õ òóñãàéëñàí òîíîã ò°õ°°ð°ìæ þì. Òýäãýýðèéã “ä³ëèé” ãýäýã á°ã°°ä òýäãýýð íü ç°âõ°í òåêñò õàðóóëàõ, èëãýýõ, áîëîí õ³ëýýæ àâàõ õàíãàëòòàé òîîöîîëëûí õ³÷èí ÷àäàëòàé ó÷ðààñ òýð þì. Òà òýäãýýð äýýð ÿìàð ÷ ïðîãðàì àæèëëóóëæ ÷àäàõã³é. Òåêñò çàñâàðëàã÷óóä, ýìõýòãýã÷èä, öàõèì çàõèäàë, òîãëîîìóóä ãýõ çýðã³³äèéã àæèëëóóëàõ õ³÷èí ÷àäàë á³õèé òàíû êîìïüþòåðò òýäãýýðèéã õîëáîäîã. Digital Equipment Corporation-èé VT-100 áîëîí Wyse-èéí WY-75 çýðýã îëîí ³éëäâýðëýã÷äèéí õèéñýí ä³ëèé òåðìèíàëóóäûí õýäýí çóóí ò°ð°ë áàéäàã. Áàðàã á³õ ò°ð°ë FreeBSD-òýé öóã àæèëëàíà. Çàðèì íýã °íä°ð ÷àíàðòàé òåðìèíàëóóä ãðàèê ³ç³³ëæ ÷àääàã áîëîâ÷ ýäãýýð äýâøèëòýò áîëîìæóóäûã ç°âõ°í ö°°í õýäýí ïðîãðàì õàíãàìæèéí áàãöóóä àøèãëàæ ÷àääàã. Àæèëòíóóä íü X öîíõíû ñèñòåìèéí çýðýã ãðàèê ïðîãðàìóóäàä õàíäàõ øààðäëàãàã³é àæëûí îð÷èíä ä³ëèé òåðìèíàëóóä íü ò³ãýýìýë áàéäàã. 26.3.1.2 Òåðìèíàë ìàÿãààð àæèëëàæ áàéãàà PC-³³ä
Õýðýâ ä³ëèé òåðìèíàë íü òåêñò õàðóóëàõ, èëãýýæ õ³ëýýí àâàõ ÷àäâàðòàé áàéäàã áîë ÿìàð ÷ í°°ö ïåðñîíàë êîìïüþòåð ä³ëèé òåðìèíàë áîëæ ÷àäíà. Òàíä ç°â êàáåëü áîëîí êîìïüþòåð äýýð àæèëëàõ çàðèì íýã òåðìèíàë ýìóëÿö õèéõ ïðîãðàì õàíãàìæ õî¼ð ë õýðýãòýé áîëîõ þì. Èéì òîõèðãîî ãýðò èõ íèéòëýã áàéäàã. Æèøýý íü õýðýâ òàíû ãýð á³ëèéí õ³í FreeBSD ñèñòåìèéí ÷èíü êîíñîë äýýð çàâã³é àæèëëàæ áàéâàë òà FreeBSD ñèñòåì óðóó òåðìèíàë ìàÿãààð õîëáîñîí àðàé õ³÷èí ÷àäàë áàãàòàé ïåðñîíàë êîìïüþòåð äýýðýýñ çàðèì íýã òåêñò îð÷íû àæèë çýðýã õèéæ áàéæ áîëîõ þì. FreeBSD-èéí ³íäñýí ñèñòåìä öóâàà õîëáîëòîîð àæèëëàõàä õýðýãëýæ áîëîõ õàìãèéí áàãààð áîäîõîä õî¼ð õýðýãñýë áàéäàã: ýíý íü cu(1) áîëîí tip(1) þì. FreeBSD àæèëëàæ áàéãàà êëèåíò ñèñòåì äýýðýýñ °°ð ñèñòåìèéí öóâàà õîëáîëò óðóó õîëáîãäîõûí òóëä òà äàðààõ òóøààëûã àøèãëàæ áîëíî: # cu -l serial-port-device
Ýíä áàéãàà “serial-port-device” íü òàíû ñèñòåìèéí öóâàà ïîðòîä çîðèóëàãäñàí òóñãàé ò°õ°°ð°ìæèéí àéëûí íýð þì. Ýäãýýð ò°õ°°ð°ìæèéí àéëóóä íü /dev/cuadN ãýæ íýðëýãääýã. Ò°õ°°ð°ìæèéí “N”-õýñýã íü öóâàà ïîðòûí äóãààðûã èëýðõèéëíý.
670
Chapter 26 Öóâàà õîëáîîíóóä Note: FreeBSD äýýð ò°õ°°ð°ìæèéí äóãààðóóä íü íýãýýñ áèø òýãýýñ ýõýëäýã (æèøýý íü MS-DOS-îîñ ³³äýëòýé ñèñòåì³³ä äýýð áàéäàã øèã áèø). Ýíý íü þó ãýñýí ³ã âý ãýõýýð MS-DOS äýýð òóëãóóðëàñàí ñèñòåì³³äèéí COM1 ãýæ íýðëýäýã ïîðò FreeBSD äýýð èõýâ÷ëýí /dev/cuad0 ãýãääýã.
Note: Çàðèì õ³ì³³ñ ïîðòûí öóãëóóëãàä áàéäàã °°ð ïðîãðàìóóä àøèãëàõûã èë³³ä ³çäýã. Ïîðòóóäàä cu(1) áîëîí tip(1)-òýé ò°ñòýé àæèëëàäàã comms/minicom çýðýã ö°°íã³é õýäýí õýðýãñë³³ä áàéäàã.
26.3.1.3 X òåðìèíàëóóä
X òåðìèíàëóóä íü õàìãèéí ò°â°ãòýé òåðìèíàëóóäûí íýã þì. Öóâàà ïîðò óðóó õîëáîãäîõûí îðîíä òýäãýýð íü èõýâ÷ëýí Ethernet çýðýã ñ³ëæýýíä õîëáîãääîã. Ç°âõ°í òåêñò îð÷íû ïðîãðàìóóäàä çîðèóëàãäñàí áèø òýäãýýð íü õàðèí X ïðîãðàì ³ç³³ëæ ÷àääàã.
Ýíý ñýäâèéã ã³éöýä õàìàð÷ á³ðýí á³òýí áàéëãàõ ³³äíýýñ áèä X òåðìèíàëóóäûã òàíèëöóóëæ áàéíà. ýõäýý ýíý á³ëýã X òåðìèíàëóóäûã ñóóëãàõ, òîõèðóóëàõ áîëîí òýäãýýðèéí õýðýãëýýã òàéëáàðëàõã³é .
26.3.2
Òîõèðãîî
Ýíý õýñýã íü òåðìèíàë äýýð íýâòðýõ ñåññ èäýâõæ³³ëýõèéí òóëä °°ðèéí FreeBSD ñèñòåì äýýð òàíûã þó òîõèðóóëàõ õýðýãòýéã òàéëáàðëàõ áîëíî. Ýíý íü öóâàà ïîðò äýìæèõýýð °°ðèéí ö°ìèéã òàíûã àëü õýäèéí òîõèðóóëñàí áàéãàà ãýæ ³çäýã. Öóâàà ïîðò óðóó òåðìèíàë õîëáîãäñîí á°ã°°ä òàíûã òýð òåðìèíàë óðóó õîëáîãäñîí áàéãàà ãýæ òîîöäîã. init ïðîöåññ íü á³õ ïðîöåññèéí õÿíàëò áîëîí ñèñòåìèéí ýõë³³ëýõ ³å äýõ ýõíèé òîõèðãîîã õàðèóöäàãèéã Chapter 12-ñ ñàíàõ õýðýãòýé. init-èéí õèéäýã ³éëäë³³äèéí íýã íü /etc/ttys àéëûã óíøèæ áàéãàà òåðìèíàëóóä äýýð getty ïðîöåññèéã ýõë³³ëýõ ÿâäàë þì. getty ïðîöåññ íü íýâòðýõ íýðèéã óíøèæ login ïðîãðàìûã àæèëëóóëàõûã õàðèóöäàã. Òèéìýýñ °°ðèéí FreeBSD ñèñòåìèéí õóâüä òåðìèíàëóóäûã òîõèðóóëàõûí òóëä root õýðýãëýã÷ýýð äàðààõ àëõìóóäûã ã³éöýòãýõ õýðýãòýé: ñàí äàõü îðóóëãàä çîðèóëæ /etc/ttys àéëä õýðýâ áàéõã³é áîë öóâàà ïîðòûí ì°ðèéã íýìíý. 2. /usr/libexec/getty íü ïîðò äýýð àæèëëàõûã çààæ /etc/gettytab àéëààñ òîõèðîõ getty ò°ðëèéã òîõèðóóëàõ õýðýãòýé. 3. Àíõäàã÷ òåðìèíàëûí ò°ðëèéã çààíà. 4. Ïîðòûã “on” áîëãîíî. 5. Ïîðò “secure” áàéõ ¼ñòîé ýñýõèéã çààíà. 6. init òóøààëààð /etc/ttys àéëûã äàõèí óíøóóëíà. Íýìýëò àëõàì áîëãîæ õî¼ðäóãààð àëõàì äýýð òà °°ð getty ò°ðëèéã õýðýãëýýíä çîðèóëàí /etc/gettytab-ä îðóóëàí ³³ñãýæ áîëîõ þì. Ýíý á³ëýã íü ³³íèéã õýðõýí õèéõèéã òàéëáàðëàõã³é á°ã°°ä äýëãýðýíã³é ìýäýýëëèéã gettytab(5) áîëîí getty(8) ãàðûí àâëàãûí õóóäàñíóóäààñ ³çýõèéã ç°âë°æ áàéíà. 1.
/dev
671
Chapter 26 Öóâàà õîëáîîíóóä 26.3.2.1 /etc/ttys óðóó îðóóëãóóä íýìýõ íü
/etc/ttys àéë íü íýâòðýëò³³äèéã ç°âø°°ð°õèéã õ³ññýí òàíû FreeBSD ñèñòåì äýýðõ á³õ ïîðòóóäûã æàãñààäàã. Æèøýý íü ýõíèé âèðòóàë êîíñîë ttyv0 íü ýíý àéëä °°ðèéí îðóóëãàòàé áàéíà. Òà ýíý îðóóëãûã àøèãëàí êîíñîë äýýð íýâòðýí îðæ ÷àäíà. Ýíý àéë íü áàñ áóñàä âèðòóàë êîíñîëóóä, öóâàà ïîðòóóä, áîëîí ïñåâäî tty-óóäûí îðóóëãóóäûã áàñ àãóóëäàã. Õàòóóãààð õîëáîãäñîí òåðìèíàëûí õóâüä öóâàà ïîðòûí /dev îðóóëãûã /dev õýñýãã³éãýýð (æèøýý íü /dev/ttyv0 íü ttyv0 ãýæ æàãñààãäàõ áîëíî) æàãñààäàã. Àíõäàã÷ FreeBSD ñóóëãàö íü /etc/ttys àéëûã ýõíèé ä°ðâ°í öóâàà ïîðòûí äýìæëýãòýéãýýð àãóóëäàã: ttyd0-ñ ttyd3 õîîðîíä áàéíà. Õýðýâ òà òåðìèíàëûã ýäãýýð ïîðòóóäûí àëü íýãýíä õîëáîæ áàéãàà áîë °°ð îðóóëãà íýìýõ øààðäëàãàã³é þì.
Example 26-1. /etc/ttys
óðóó òåðìèíàëûí îðóóëãóóä íýìýõ íü
Áèä ñèñòåìä õî¼ð òåðìèíàë õîëáîõûã õ³ñëýý ãýæ áîäú¼: Wyse-50 áîëîí VT-100 òåðìèíàëûã ýìóëÿö õèéõ Procomm òåðìèíàë ïðîãðàì õàíãàìæèéã àæèëëóóëæ áàéãàà õóó÷èí 286 IBM PC-ã òåðìèíàë ìàÿãààð àøèãëàÿ. Áèä Wyse-èéã õî¼ð äàõü öóâàà ïîðò óðóó õîëáîæ 286-ã çóðãàà äàõü öóâàà ïîðò óðóó õîëáî¼ (îëîí ïîðòòîé öóâàà êàðòûí ïîðò). /etc/ttys àéë äàõü õàðãàëçàõ îðóóëãóóä íü èéìýðõ³³ áàéíà: ttyd1➊ "/usr/libexec/getty std.38400"➋ wy50➌ on➍ insecure➎ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
➊ ➋
➌
Ýõíèé òàëáàð íü èõýâ÷ëýí /dev-ä áàéãàà òåðìèíàëûí òóñãàé àéëûí íýðèéã çààäàã. Õî¼ð äàõü òàëáàð íü ýíý ì°ðèéí õóâüä àæèëëàõ òóøààë á°ã°°ä èõýâ÷ëýí getty(8) áàéäàã. getty íü ýõë³³ëæ øóãàìûã íýýí õóðäûã òîõèðóóëàí õýðýãëýã÷èéí íýðèéã àñóóæ login(1) ïðîãðàìûã àæèëëóóëäàã. getty ïðîãðàì íü íýã (íýìýëò) ïàðàìåòð getty ò°ðëèéã °°ðèéí òóøààëûí ì°ð°íä õ³ëýýí àâäàã. getty ò°ð°ë íü òåðìèíàëûí øóãàì äàõü bps õóðä áîëîí parity çýðýã øèíæ³³äèéã òîõèðóóëäàã. getty ïðîãðàì íü ýäãýýð øèíæ³³äèéã /etc/gettytab àéëààñ óíøäàã. /etc/gettytab àéë íü õóó÷èí áîëîí øèíý òåðìèíàëûí øóãàìíóóäàä çîðèóëñàí îëîí ì°ð³³äèéã àãóóëäàã. Áàðàã á³õ òîõèîëäîëä std òåêñòýýð ýõýëñýí îðóóëãóóä íü hardwired áóþó õàòóóãààð õîëáîãäñîí òåðìèíàëóóäûí õóâüä àæèëëàäàã. Ýäãýýð îðóóëãóóä íü parity-ã îðõèäîã. 110-ààñ 115200 õ³ðòýë bps õóðä áîëãîíû õóâüä std îðóóëãà áàéäàã. Ìýäýýæ òà °°ðèéíõ°° îðóóëãûã ýíý àéëä íýìæ áîëíî. gettytab(5) ãàðûí àâëàãûí õóóäàñ èë³³ äýëãýðýíã³é ìýäýýëëèéã °ã°õ áîëíî. getty ò°ðëèéã /etc/ttys àéëä òîõèðóóëàõäàà òåðìèíàë äàõü õîëáîîíû òîõèðóóëãóóä òààð÷ áàéãàà ýñýõèéã øàëãààðàé. Áèäíèé æèøýýí äýýð Wyse-50 íü parity àøèãëàõã³é á°ã°°ä 38400 bps õóðäààð õîëáîãäîíî. 286 PC íü parity àøèãëàõã³é á°ã°°ä 19200 bps õóðäààð õîëáîãäîíî. óðàâ äàõü òàëáàð íü òýð tty øóãàì óðóó èõýâ÷ëýí õîëáîãäñîí áàéäàã òåðìèíàëûí ò°ð°ë þì. Õýðýãëýã÷ íü áàðàã ë äóðûí òåðìèíàëûí ò°ð°ë ýñâýë ïðîãðàì õàíãàìæààð óòàñäàí õîëáîãäîæ áîëîõ ó÷èð dial-up ïîðòóóäûí õóâüä unknown ýñâýë dialup ò°ð°ë ýíý òàëáàðò èõýâ÷ëýí àøèãëàãääàã. Õàòóóãààð õîëáîãäñîí òåðìèíàëóóäûí õóâüä òåðìèíàëûí ò°ð°ë °°ð÷ë°ãä°õã³é ó÷ðààñ òà ýíý òàëáàðò termcap(5) ìýäýýëëèéí áààçààñ æèíõýíý òåðìèíàëûí ò°ðëèéã òàâüæ áîëíî. Áèäíèé æèøýýí äýýð Wyse-50 íü æèíõýíý òåðìèíàëûí ò°ðëèéã àøèãëàõ áîë Procomm àæèëëóóëæ áàéãàà 286 PC íü VT-100-ã ýìóëÿö õèéõýýð òîõèðóóëàãäàõ áîëíî.
672
Chapter 26 Öóâàà õîëáîîíóóä ➍
➎
Ä°ð°â äýõ òàëáàð íü ïîðò èäýâõòýé áàéõ ¼ñòîé ýñýõèéã çààäàã. Ýíä on ãýæ òàâèõàä init ïðîöåññ õî¼ð äàõü òàëáàð äàõü ïðîãðàì getty-ã àæèëëóóëàõ áîëíî. Õýðýâ òà ýíý òàëáàðò off ãýæ òàâüáàë getty ³ã³é áîëæ ïîðò äýýð íýâòðýëò áàéõã³é áîëíî. ѳ³ëèéí òàëáàð íü ïîðò àþóëã³é ýñýõèéã çààõàä õýðýãëýãääýã. Ïîðòûã secure áóþó àþóëã³é áîëãîõ íü root á³ðòãýëèéã (ýñâýë õýðýãëýã÷èéí ID 0 á³õèé äóðûí á³ðòãýëèéã) òýð ïîðòîîñ íýâòðýõèéã ç°âø°°ð÷ õàíãàëòòàé èòãýíý ãýñýí ³ã þì. Insecure áóþó àþóëã³é áèø ïîðòóóä íü root íýâòðýëò³³äèéã ç°âø°°ðä°ãã³é. Insecure áóþó àþóëã³é áèø ïîðò äýýð õýðýãëýã÷èä íü ýðõã³é á³ðòãýë³³äýýñ íýâòðýí îðæ ñóïåð õýðýãëýã÷èéí ýðõ³³äèéã àâàõûí òóëä su(1) ýñâýë °°ð ò°ñòýé àðãà çàìûã àøèãëàõ ¼ñòîé þì. Ò³ãæýýòýé õààëãàíû öààíà áàéãàà òåðìèíàëûí õóâüä ÷ ãýñýí “insecure” òîõèðóóëãûã àøèãëàõ íü õàìãèéí ç°â ç³éòýé þì. Õýðýâ òàíä ñóïåð õýðýãëýã÷èéí ç°âø°°ðë³³ä õýðýãòýé áîë íýâòðýí îðîîä su òóøààëûã àøèãëàõ íü èõ àìàðõàí áàéäàã.
26.3.2.2 /etc/ttys-ã init òóøààëààð äàõèí óíøóóëàõ
àéëä øààðäëàãàòàé °°ð÷ë°ëò³³äèéã õèéñíèé äàðàà init ïðîöåññ óðóó °°ðèéí òîõèðãîîíûõ íü àéëûã äàõèí óíøóóëàõûí òóëä SIGHUP (hangup) äîõèîã èëãýýõ õýðýãòýé. Æèøýý íü: /etc/ttys
# kill -HUP 1
Note: init
íü ³ðãýëæ ñèñòåì äýýð àæèëëàæ áàéãàà ýõíèé ïðîöåññ áàéäàã ó÷èð ýíý íü ³ðãýëæ PID 1-òýé áàéíà.
Õýðýâ á³ãä ç°â òîõèðóóëàãäàæ á³õ êàáåëèóä íü áàéõ ¼ñòîé ãàçðàà áàéæ òåðìèíàëóóä íü àññàí áàéãàà áîë òåðìèíàë á³ð äýýð getty ïðîöåññ àæèëëàæ áàéõ ¼ñòîé á°ã°°ä òà ýíý ³åä °°ðèéí òåðìèíàëóóä äýýð íýâòðýëò õ³ëýýõ ì°ð³³äèéã õàðàõ ¼ñòîé. 26.3.3
°ðèéí õîëáîëòîä ãàðñàí àëäààã îëæ çàñâàðëàõ íü
Íÿãò íÿìáàé àíõààðàë õàíäóóëñàí áàéëàà ÷ ãýñýí òåðìèíàëûã òîõèðóóëæ áàéõ ÿâöàä àëäàà ãàð÷ áóðóóòàæ áîëîõ þì. Ýíä øèíæ òýìäã³³äèéí æàãñààëò áîëîí çàðèì íýã ñàíàë áîëãîñîí çàñâàðóóäû㠳糳ëýâ. 26.3.3.1 Íýâòðýëò õ³ëýýõ ì°ð ãàð÷ èðýõã³é áàéõ
Òåðìèíàë õîëáîãäñîí á°ã°°ä àññàí áàéãàà ýñýõèéã øàëãàíà. Ýíý íü õýðýâ òåðìèíàë ìàÿãààð àæèëëàæ áàéãàà ïåðñîíàë êîìïüþòåð áîë ç°â öóâàà ïîðò äýýð òåðìèíàë ýìóëÿö õèéõ ïðîãðàì õàíãàìæ àæèëëóóëæ áàéãàà ýñýõèéã øàëãààðàé. Êàáåëü òåðìèíàë áîëîí FreeBSD êîìïüþòåðò ñàéí õîëáîãäñîí ýñýõèéã øàëãàõ õýðýãòýé. Ýíý íü ç°â ò°ðëèéí êàáåëü áîëîõûã áàòàëãààæóóëæ ³çýýðýé. Òåðìèíàë áîëîí FreeBSD íü bps õóðä áîëîí parity òîõèðãîîíóóä äýýð òîõèð÷ áàéãàà ýñýõèéã øàëãààðàé. Õýðýâ òà âèäåî äýëãýöèéí òåðìèíàëòàé áîë õàð öàãààí áîëîí òîä áàéäëûí õÿíàëòóóä òààðñàí ýñýõèéã ³çýýðýé. Õýðýâ ýíý íü õýâëýõ òåðìèíàë áîë öààñ áîëîí áýõ ñàéí ýñýõèéã øàëãààðàé.
673
Chapter 26 Öóâàà õîëáîîíóóä
ïðîöåññ àæèëëàæ òåðìèíàëä ³éë÷èëæ áàéãàà ýñýõèéã ³çíý. Æèøýý íü àæèëëàæ áàéãàà getty ïðîöåññóóäûí æàãñààëòûã ps òóøààëààð àâàõûí òóëä äîîð äóðäñàíûã áè÷íý: getty
# ps -axww|grep getty
Òà òåðìèíàëûí õóâüä ò³³íèé îðóóëãûã õàðàõ ¼ñòîé. Æèøýý íü äàðààõ äýëãýö íü getty íü õî¼ð äàõü öóâàà ïîðò ttyd1 äýýð àæèëëàæ /etc/gettytab àéëä std.38400 ãýñýí îðóóëãûã àøèãëàæ áàéãààã õàðóóëæ áàéíà: 22189
d1
Is+
0:00.03 /usr/libexec/getty std.38400 ttyd1
Õýðýâ ÿìàð ÷ getty ïðîöåññ àæèëëàõã³é áàéãàà áîë /etc/ttys àéëä òà ïîðòûã èäýâõæ³³ëñýí ýñýõýý øàëãààðàé. Ì°í ttys àéëûã °°ð÷èëñíèéõ°° äàðàà kill -HUP 1 òóøààëûã àæèëëóóëàõàà ìàðòóóçàé. Õýðýâ getty ïðîöåññ àæèëëàæ áàéãàà áîëîâ÷ òåðìèíàë íü íýâòðýëò õ³ëýýõ ì°ðèéã õàðóóëàõã³é áàéãàà, ýñâýë ýíý íü õ³ëýýõ ì°ðèé㠳糳ëæ áàéãàà áîëîâ÷ òàíä áè÷èõèéã ç°âø°°ð°õã³é áàéãàà áîë òàíû òåðìèíàë ýñâýë êàáåëü òîíîã ò°õ°°ð°ìæèéí handshaking áóþó õàðèëöàí çîõèöîæ õîëáîãäîõ ãîðèìûã äýìæèõã³é áàéíà ãýñýí ³ã þì. /etc/ttys àéë äàõü îðóóëãûã std.38400-ñ 3wire.38400 óðóó áîëãîæ ³çýýðýé (/etc/ttys àéëûã °°ð÷èëñíèéõ°° äàðàà kill -HUP 1 òóøààëûã àæèëëóóëàõàà ìàðòóóçàé). 3wire îðóóëãà íü std-òýé ò°ñòýé áîëîâ÷ òîíîã ò°õ°°ð°ìæèéí handshaking õèéäýãã³é. Ìàãàäã³é òà õóðäûã áàãàñãàæ ýñâýë 3wire-ã àøèãëàæ áàéõäàà áóåð ä³³ðýõýýñ ñýðãèéëæ ïðîãðàì õàíãàìæèéí óðñãàëûí õÿíàëòûã èäýâõæ³³ëýõ õýðýãòýé áàéæ áîëîõ þì. 26.3.3.2 Íýâòðýëò õ³ëýýõ ì°ðèéí îðîíä õîã ãàð÷ èðâýë
Òåðìèíàë áîëîí FreeBSD íü bps õóðä áîëîí parity òîõèðãîîíóóä äýýð òîõèð÷ áàéãàà ýñýõèéã øàëãàíà. Ç°â getty ò°ðëèéã àøèãëàæ áàéãàà ýñýõèéã áàòàëãààæóóëæ getty ïðîöåññóóäûã øàëãàõ õýðýãòýé. Õýðýâ ³ã³é áîë /etc/ttys-ã çàñâàðëàæ kill -HUP 1 òóøààëûã àæèëëóóëíà.
26.3.3.3 Òýìäýãò³³ä õî¼ð óäàà ãàðàõ; áè÷èõ ³åä íóóö ³ã ãàðàõ
Òåðìèíàëûã (ýñâýë òåðìèíàë ýìóëÿö õèéõ ïðîãðàì õàíãàìæèéã) “half duplex” ýñâýë “local echo” ãîðèìîîñ “full duplex” óðóó øèëæ³³ëíý.
26.4 Dial-in
áóþó ãàäíààñ çàëãàõ ³éë÷èëãýý
Õóâü íýìýð áîëãîí îðóóëñàí àé Õýëìåð. Íýìñýí Øîí Êåëëè. °ðèéí FreeBSD ñèñòåìèéã dial-in áóþó ãàäíààñ çàëãàõ ³éë÷èëãýýíä çîðèóëæ òîõèðóóëàõ íü òåðìèíàëóóä õîëáîõòîé ìàø ò°ñòýé á°ã°°ä ÿëãààòàé òàë íü òà òåðìèíàëóóäûí îðîíä ìîäåìóóäòàé àæèëëàõ þì. 26.4.1
àäààä, Äîòîîä ìîäåìóóä
àäààä ìîäåìóóä íü dial-up áóþó ãàäàãø çàëãàõàä èë³³ òîõèðîìæòîé áàéäàã, ó÷èð íü ãàäààä ìîäåìóóä íü õóâèðäàãã³é RAM-ä õàäãàëàãäàõ ïàðàìåòð³³äýýð õàãàñ òîãòìîëîîð èõýâ÷ëýí òîõèðóóëàãäñàí áàéæ áîëäîã á°ã°°ä òýäãýýð íü èõýâ÷ëýí ÷óõàë RS-232 äîõèîíóóäûí ò°ë°âèé㠳糳ëäýã ãýðëèéí çààã÷òàé 674
Chapter 26 Öóâàà õîëáîîíóóä
áàéäàã. Àíèâ÷èõ ãýðë³³ä íü ãèé÷äèéí ñýòãýëèéã òàòàõààñ ãàäíà ãýðë³³ä íü áàñ ìîäåì ç°â àæèëëàæ áàéãàà ýñýõèéã õàðàõàä èõ àøèãòàé áàéäàã. Äîòîîä ìîäåìóóäàä èõýâ÷ëýí õóâèðäàãã³é RAM áàéäàãã³é áîëîõîîð òýäãýýðèéí òîõèðãîî ç°âõ°í DIP øèëæ³³ëýã÷äèéã òîõèðóóëñíààð õÿçãààðëàãäàæ áîëîõ þì. Õýðýâ òàíû äîòîîä ìîäåì ÿìàð íýã äîõèî çààã÷ ãýðýëòýé áîë ñèñòåìèéí ãàäàð áàéãàà í°õö°ëä õàðàõàä õ³íä áàéõ áàéñàí áîëîâ óó. 26.4.1.1 Ìîäåìóóä áîëîí Êàáåëóóä
Õýðýâ òà ãàäààä ìîäåì àøèãëàæ áàéãàà áîë òàíä ìýäýýæ ç°â êàáåëü õýðýãòýé áîëíî. Õýâèéí á³õ äîõèîíóóä õîëáîãäñîí áàéõàä ñòàíäàðò RS-232C öóâàà êàáåëü õàíãàëòòàé áàéõ ¼ñòîé:
Table 26-4.
Äîõèîíû íýðñ
Òîâ÷ëîëóóä RD TD DTR DSR DCD
SG RTS CTS
Íýðñ
Received Data áóþó Õ³ëýýí àâñàí °ã°ãä°ë
Transmitted Data áóþó Äàìæóóëñàí °ã°ãä°ë
Data Terminal Ready áóþó ã°ãäëèéí òåðìèíàë
áýëýí
Data Set Ready áóþó ã°ãäëèéí îëîíëîã áýëýí
Data Carrier Detect áóþó ã°ãäëèéí ç°°ã÷ èëð³³ëýõ (RS-232-èéí Õ³ëýýí àâñàí Øóãàìûí Äîõèî Èëð³³ëýã÷) Signal Ground áóþó Äîõèî ãàçàð
Request to Send áóþó Èëãýýõ õ³ñýëò Clear to Send áóþó Èëãýýõýä öýâýð
2400 bps õóðäààñ äýýø óðñãàëûí õÿíàëòàä RTS áîëîí CTS äîõèîíóóä FreeBSD-ä õýðýãòýé áàéäàã. Ì°í õýçýý äóóäëàãà õ³ëýýí àâñàí ýñâýë øóãàì òàñëàãäñàíûã ìýäýõ CD äîõèî áîëîí ñåññ á³ðýí ã³éöýä áîëñíû äàðàà ìîäåìèéã äàõèí òîõèðóóëàõ DTR äîõèîíóóä õýðýãòýé áàéäàã. Çàðèì êàáåëèóä íü á³õ õýðýãöýýòýé äîõèîíóóäã³éãýýð õîëáîãäñîí áàéäàã áîëîõîîð øóãàì òàñëàãäàõ ³åä íýâòðýõ ñåññ áàéõã³é áîëîõã³é áàéõ çýðýã àñóóäëóóä õýðýâ òàíä áàéãàà áîë òàíû êàáåëü àñóóäàëòàé áàéæ áîëîõ þì. Áóñàä UNIX ò°ñò ³éëäëèéí ñèñòåì³³äèéí àäèë FreeBSD íü õýçýý äóóäëàãûã õ³ëýýí àâñàí ýñâýë øóãàì õýçýý òàñëàãäñàí áîëîí äóóäëàãûí äàðàà ìîäåìèéã òàñàëæ äàõèí òîõèðóóëàõûã ìýäýõ òîíîã ò°õ°°ð°ìæèéí äîõèîíóóäûã àøèãëàäàã. FreeBSD íü ìîäåì óðóó òóøààëóóäûã èëãýýõ ýñâýë ìîäåìîîñ ò°ëâèéí òàéëàíãóóäûã õàðàõààñ çàéëñõèéäýã. Õýðýâ òà ìîäåìóóäûã PC äýýð òóëãóóðëàñàí ìýäýý òàâèõ ñèñòåì³³ä óðóó õîëáîõûã ìýääýã áîë ýíý íü áîëõè ñàíàãäàæ ìàãàäã³é þì.
26.4.2
Öóâàà èíòåðýéñèéí ýðãýö³³ëë³³ä
FreeBSD íü NS8250-, NS16450-, NS16550-, áîëîí NS16550A-äýýð òóëãóóðëàñàí EIA RS-232C (CCITT V.24) õîëáîîíû èíòåðýéñ³³äèéã äýìæäýã. 8250 áîëîí 16450 èíòåðýéñ³³ä íü ãàíö òýìäýãòèéí áóåðòàé áàéäàã. 16550 ò°õ°°ð°ìæ íü ñèñòåìèéí àæèëëàãààã èë³³ ñàéí áîëãîõ 16 òýìäýãòèéí áóåðòàé áàéäàã. (Öýâýð 16550 äàõü àëäààíóóä íü 16 òýìäýãòèéí áóåðèéí õýðýãëýýíýýñ çàéëñõèéäýã, òèéìýýñ õýðýâ áîëîìæòîé áîë 16550A-ã àøèãëààðàé). àíö òýìäýãòèéí áóåð á³õèé ò°õ°°ð°ìæ³³ä íü 16 òýìäýãòèéí áóåð á³õèé ò°õ°°ð°ìæ³³äýýñ èë³³ àæèë ³éëäëèéí ñèñòåìýýñ øààðääàã ó÷ðààñ 16550A-äýýð
675
Chapter 26 Öóâàà õîëáîîíóóä
òóëãóóðëàñàí öóâàà èíòåðýéñ êàðòóóäûã ýðõýìëýõ íü ç³éòýé þì. Õýðýâ ñèñòåì îëîí èäýâõòýé öóâàà ïîðòóóäòàé áîë ýñâýë èõ à÷ààëàëòàé áîë 16550A-äýýð òóëãóóðëàñàí êàðòóóä íü áàãà àëäààíû ò³âøèí á³õèé õîëáîîíóóäàä èë³³ çîõèöäîã. 26.4.3
Ò³ðãýí ä³ãíýëò
Òåðìèíàëóóäòàé àäèë init íü ãàäíààñ çàëãàõ õîëáîëòóóäûí õóâüä òîõèðóóëñàí öóâàà ïîðò á³ðèéí õóâüä getty ïðîöåññèéã àæèëëóóëäàã. Æèøýý íü õýðýâ ìîäåì /dev/ttyd0 óðóó çàëãàãäñàí áîë ps ax òóøààë èíãýæ õàðóóëæ áîëîõ þì: 4850 ??
I
0:00.09 /usr/libexec/getty V19200 ttyd0
Õýðýãëýã÷ ìîäåìèéí øóãàì çàëãààä ìîäåì õîëáîãäîõ ³åä CD (Carrier Detect áóþó Ç°°ã÷ Èëð³³ëýã÷) øóãàìûã ìîäåì ãàðãàæ õàðóóëíà. Ö°ì ç°°ã÷ èëð³³ëýãäñýíèéã ìýäýæ getty-èéí ïîðò íýýõèéã ã³éöýýíý. getty íü login: õ³ëýýõ ì°ðèéã çààãäñàí ýõíèé øóãàìûí õóðäààð èëãýýäýã. getty íü ç°âø°°ð°ãäñ°í òýìäýãò³³ä õ³ëýýí àâàãäñàí ýñýõèéã ìýäýõèéí òóëä õàðæ áàéäàã á°ã°°ä åðäèéí òîõèðãîîíä õýðýâ ýíý íü õîã îëîõ þì áîë (ìîäåìèéí õîëáîëòûí õóðä getty-èéí õóðäíààñ °°ð áàéãààãààñ ìàãàäã³é áîëîîä) getty íü áîëîìæèéí òýìäýãò³³ä õ³ëýýæ àâòëàà øóãàìûí õóðäóóäûã òààðóóëàõûã îðîëäîõ áîëíî. Õýðýãëýã÷ °°ðèéí íýâòðýõ íýðèéã îðóóëñíû äàðàà getty òóøààë õýðýãëýã÷èéí íóóö ³ãèéã àñóóæ íýâòðýëòèéã ã³éöýýí õýðýãëýã÷èéí á³ðõ³³ëèéã ýõë³³ëäýã /usr/bin/login òóøààëûã àæèëëóóëäàã. 26.4.4
Òîõèðãîîíû àéëóóä
/etc ñàíä ãóðâàí ñèñòåìèéí òîõèðãîîíû àéë áàéäàã á°ã°°ä °°ðèéí FreeBSD ñèñòåìä dial-up áóþó ãàäàãø çàëãàõ áîëîìæèéã îëãîõûí òóëä òà ìàãàäã³é çàñâàðëàõ õýðýãòýé áîëíî. Ýõíèé /etc/gettytab íü /usr/libexec/getty äåìîíû òîõèðãîîíû ìýäýýëëèéã àãóóëäàã. Õî¼ð äàõü /etc/ttys íü getty ïðîöåññóóäûí àæèëëàõ tty ò°õ°°ð°ìæ³³äýä þó áàéõ ¼ñòîéã /sbin/init òóøààëä õýëæ °ã°õ ìýäýýëëèéã àãóóëäàã. ѳ³ëä íü ïîðò ýõë³³ëýõ òóøààëóóäûã òà /etc/rc.d/serial ñêðèïòýä áàéðëóóëæ áîëíî. UNIX äýýð dial-up ìîäåìóóäûí òàëààð ñàíàà áîäëûí õî¼ð ñóðãóóëü áàéäàã. Íýã á³ëýã íü àëñûí õýðýãëýã÷ ÿìàð ÷ õóðäààð çàëãàñàí áàéñàí ãýñýí ëîêàë êîìïüþòåðààñ ìîäåìä õîëáîãäñîí RS-232 èíòåðýéñ ò³ãæèãäñýí õóðäààð àæèëëàõààð °°ðñäèéí ìîäåìóóä áîëîí ñèñòåì³³äèéã òîõèðóóëàõ äóðòàé áàéäàã. Ýíý òîõèðãîîíû àøèãòàé òàë íü àëñûí õýðýãëýã÷ ñèñòåìèéí íýâòðýëò õ³ëýýõ ì°ðèéã ³ðãýëæ íýí äàðóé õàðäàã ÿâäàë þì. Ñóë òàë íü ñèñòåì õýðýãëýã÷èéí °ã°ãäëèéí æèíõýíý õóðäûã ìýääýãã³é ÿâäàë á°ã°°ä Emacs çýðýã á³ðýí äýëãýöèéí ïðîãðàìóóä íü óäààí õîëáîëòóóäûí õóâüä õàðèóëòûã ñàéæðóóëàõûí òóëä °°ðèéí äýëãýö áóäàõ àðãóóäàà òààðóóëàõã³é áàéõ áîëíî. Í°ã°° íýã ñóðãóóëü íü °°ðñäèéí ìîäåìóóäûíõàà RS-232 èíòåðýéñèéí õóðäûã àëñûí êîìïüþòåðèéí õîëáîëòûí õóðä äýýð òóëãóóðëàí °°ð÷èëäã°°ð òîõèðóóëäàã. Æèøýý íü ìîäåì óðóó õèéãäýõ V.32bis (14.4 Kbps) õîëáîëòóóä íü ìîäåìèéã °°ðèéí RS-232 èíòåðýéñèéã 19.2 Kbps õóðäààð àæèëëóóëàõ áîë 2400 bps õîëáîëòóóä íü ìîäåìèéí RS-232 èíòåðýéñèéã 2400 bps õóðä äýýð àæèëëóóëäàã. getty íü òóõàéí ÿìàð íýã ìîäåìèéí õîëáîëòûí õóðäíû òàéëàãíàëòûã îéëãîäîãã³é ó÷ðààñ getty òóøààë íü login: ìýäýãäëèéã ýõíèé õóðäàí äýýð °ãä°ã á°ã°°ä õàðèóëòààñ èðýõ òýìäýãò³³äèéã õàðæ áàéäàã. Õýðýâ õýðýãëýã÷ õîã õàðâàë òýäãýýð íü òàíèãäàõ õ³ëýýõ ì°ðèéã õàðòëàà Enter òîâ÷ëóóðûã äàðàõ ¼ñòîé ãýäãýý ìýäýæ áàéãàà ãýæ òîîöäîã. Õýðýâ °ã°ãäëèéí õóðä òààðàõã³é áîë getty íü õýðýãëýã÷èéí áè÷ñýí áîëãîíûã “õîã” ãýæ õàðàõ á°ã°°ä äàðààãèéí õóðäûã îðîëäîæ login: õ³ëýýõ ì°ðèéã äàõèí °ãä°ã. Ýíý
676
Chapter 26 Öóâàà õîëáîîíóóä
ïðîöåäóð äîòîð ìóóõàéðàõ ò³âøèíä õ³ðòýë ³ðãýëæèëæ áîëîõ áîëîâ÷ õýðýãëýã÷ ç°â õ³ëýýõ ì°ðèéã õàðàõ õ³ðòýë èõýâ÷ëýí ãàíö õî¼ð òîâ÷ëóóð äàðóóëäàã. Ìýäýýæ ýíý íýâòðýëòèéí äàðààëàë íü ò³ð³³÷èéí “locked-speed áóþó ò³ãæèãäñýí õóðä”òàé àäèë öýâýð áàéäàãã³é áîëîâ÷ áàãà õóðäòàé õîëáîëòîí äýýð áàéõ õýðýãëýã÷èéí õóâüä á³ðýí äýëãýöèéí ïðîãðàìóóäààñ èë³³ ñàéí èíòåðàêòèâ õàðèóëòûã õ³ëýýí àâàõ ¼ñòîé þì. Ýíý õýñýã íü òýíöâýðòýé òîõèðãîîíû ìýäýýëëèéã °ã°õèéã îðîëäîõ áîëîâ÷ ìîäåìèéí °ã°ãäëèéí õóðä õîëáîëòûí õóðäûã äàãàõ òàë óðóó èë³³ õàçàéñàí áàéãàà áîëíî. 26.4.4.1 /etc/gettytab
íü getty(8)-èéí òîõèðãîîíû ìýäýýëëèéí termcap(5) çàãâàðûí àéë þì. Ôàéëûí õýëáýð áîëîí áîëîìæóóäûí æàãñààëòûí òóõàé á³ðýí ìýäýýëëèéã gettytab(5) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
/etc/gettytab
26.4.4.1.1 Locked-speed áóþó ò³ãæèãäñýí õóðä òîõèðãîî
Õýðýâ òà °°ðèéí ìîäåìèéí °ã°ãäëèéí õîëáîîíóóäûí õóðäûã òóõàéí íýã õóðäàí äýýð ò³ãæèæ áàéãàà áîë ìàãàäã³é /etc/gettytab àéëä ÿìàð íýã °°ð÷ë°ëò õèéõ øààðäëàãàã³é þì. 26.4.4.1.2 Matching-speed áóþó òààðàõ õóðä òîõèðãîî
°ðèéí ìîäåìä çîðèóëæ àøèãëàõûã õ³ññýí õóðäíû òàëààð getty-ä ìýäýýëýë °ã°õèéí òóëä àéëä òà îðóóëãà òîõèðóóëàõ õýðýãòýé áîëíî. Õýðýâ òà 2400 bps ìîäåìòîé áîë áàéãàà îðóóëãûã ìàãàäã³é àøèãëàæ áîëîõ þì.
/etc/gettytab D2400
# # Fast dialup terminals, 2400/1200/300 rotary (can start either way) # D2400|d2400|Fast-Dial-2400:\ :nx=D1200:tc=2400-baud: 3|D1200|Fast-Dial-1200:\ :nx=D300:tc=1200-baud: 5|D300|Fast-Dial-300:\ :nx=D2400:tc=300-baud:
Õýðýâ òà èë³³ õóðäòàé ìîäåìòîé áîë /etc/gettytab àéëä ìàãàäã³é îðóóëãà íýìýõ õýðýãòýé áîëæ áîëîõ þì; ýíä èíòåðýéñèéí äýýä õóðä íü 19.2 Kbps á³õèé 14.4 Kbps ìîäåìä çîðèóëàí òàíû àøèãëàõ îðóóëãà áàéíà: # # Additions for a V.32bis Modem # um|V300|High Speed Modem at 300,8-bit:\ :nx=V19200:tc=std.300: un|V1200|High Speed Modem at 1200,8-bit:\ :nx=V300:tc=std.1200: uo|V2400|High Speed Modem at 2400,8-bit:\ :nx=V1200:tc=std.2400: up|V9600|High Speed Modem at 9600,8-bit:\ :nx=V2400:tc=std.9600:
677
Chapter 26 Öóâàà õîëáîîíóóä uq|V19200|High Speed Modem at 19200,8-bit:\ :nx=V9600:tc=std.19200:
Ýíý íü 8 áèò, parity áàéõã³é õîëáîëòóóäàä õ³ðãýíý. Äýýðõ æèøýý íü õîëáîëòûí õóðäàà 19.2 Kbps (V.32bis õîëáîëòûí õóâüä) ãýæ ýõë³³ëæ äàðàà íü 9600 bps (V.32-èéí õóâüä), 2400 bps, 1200 bps, 300 bps, ãýæ îðîëäîîä 19.2 Kbps õóðä óðóó áóöàõ áîëíî. Õîëáîîíû õóðäíû òîéðîëò íü nx= (“next table” áóþó äàðààãèéí õ³ñíýãò) áîëîìæòîé öóã õèéãäñýí áàéäàã. Ì°ð á³ð íü °ã°ãäëèéí òóõàéí õóðäíû õóâüä “ñòàíäàðò” òîõèðãîîíóóäûí ³ëäñýíèéã àâàõûí òóëä tc= (“table continuation” áóþó õ³ñíýãòèéí ³ðãýëæëýë) îðóóëãûã àøèãëàäàã. Õýðýâ òà 28.8 Kbps ìîäåìòîé áà/ýñâýë òà 14.4 Kbps ìîäåì äýýð øàõàëòûí äàâóó òàëûã àâàõûã õ³ñâýë 19.2 Kbps-ýýñ èë³³ õîëáîîíû õóðäûã àøèãëàõ õýðýãòýé þì. Ýíä 57.6 Kbps-ýýñ ýõëýõ gettytab îðóóëãûí æèøýý áàéíà: # # Additions for a V.32bis or V.34 Modem # Starting at 57.6 Kbps # vm|VH300|Very High Speed Modem at 300,8-bit:\ :nx=VH57600:tc=std.300: vn|VH1200|Very High Speed Modem at 1200,8-bit:\ :nx=VH300:tc=std.1200: vo|VH2400|Very High Speed Modem at 2400,8-bit:\ :nx=VH1200:tc=std.2400: vp|VH9600|Very High Speed Modem at 9600,8-bit:\ :nx=VH2400:tc=std.9600: vq|VH57600|Very High Speed Modem at 57600,8-bit:\ :nx=VH9600:tc=std.57600:
Õýðýâ òà óäààí CPU-òýé ýñâýë à÷ààëàë èõòýé ñèñòåìòýé á°ã°°ä 16550A äýýð òóëãóóðëàñàí öóâàà ïîðòóóäòàé áîë 57.6 Kbps õóðä äýýð òà “sio” “silo” ãýñýí àëäààíóóä õ³ëýýí àâ÷ áîëîõ þì. 26.4.4.2 /etc/ttys
àéëûí òîõèðãîî Example 26-1 õýñýãò ÿðèãäñàí áàéãàà. Ìîäåìóóäûí òîõèðãîî ò°ñòýé áîëîâ÷ áèä °°ð òåðìèíàëûí ò°ðëèéã çààõûí òóëä getty óðóó °°ð íýìýëò °ã°ãäë³³äèéã äàìæóóëàõ ¼ñòîé. Ò³ãæèãäñýí õóðäòàé áîëîí òààðàõ õóðäòàé òîõèðãîîíóóäûí åð°íõèé õýëáýð íü èéìýðõ³³ áàéíà: /etc/ttys
ttyd0
"/usr/libexec/getty xxx "
dialup on
Äýýðõ ì°ðíèé ýõíèéõ íü ýíý îðóóëãàä çîðèóëñàí ò°õ°°ð°ìæèéí òóñãàé àéë þì — ttyd0 íü /dev/ttyd0 ãýñýí ³ã á°ã°°ä ³³íèéã getty õàðæ áàéäàã. Õî¼ð äàõü "/usr/libexec/getty xxx " (xxx íü ýõíèé gettytab áîëîìæîîð ñîëèãäîíî) íü ýíý ò°õ°°ð°ìæ äýýð init-èéí àæèëëóóëàõ ïðîöåññ þì. óðàâ äàõü dialup ãýäýã íü òåðìèíàëûí àíõäàã÷ ò°ð°ë þì. Ä°ð°â äýõ ïàðàìåòð on ãýäýã íü init-ä øóãàì àæèëëàãààòàé ãýäãèéã çààíà. Òàâ äàõü ïàðàìåòð secure áàéæ áîëîõ áîëîâ÷ ýíý íü ç°âõ°í èçèêèéí õóâüä àþóëã³é òåðìèíàëóóäàä (ñèñòåìèéí êîíñîëä) àøèãëàãäàõ ¼ñòîé þì. Àíõäàã÷ òåðìèíàëûí ò°ð°ë íü (äýýðõ æèøýýíèé dialup) ëîêàë òîõèðóóëãóóäààñ õàìààðíà. dialup íü dial-up øóãàìóóä äýýðõ óëàìæëàëò òåðìèíàëûí àíõäàã÷ ò°ð°ë á°ã°°ä õýðýãëýã÷èä íü °°ðñäèéí íýâòðýõ ñêðèïò³³äèéã òåðìèíàë dialup áàéãàà ³åä ìýäýõýýð °°ð÷èëæ °°ðñäèéí òåðìèíàëûí ò°ðëèéã
678
Chapter 26 Öóâàà õîëáîîíóóä
àâòîìàòààð òààðóóëæ áîëîõ þì. ýõäýý çîõèîã÷ °°ðèéí ñàéò äýýð àíõäàã÷ òåðìèíàëûí ò°ðë°° vt102 ãýõ íü õÿëáàð áîëîõûã îëñîí á°ã°°ä õýðýãëýã÷èä °°ðñäèéí àëñûí ñèñòåì³³ä äýýðýý åðä°° ë VT102 ýìóëÿöûã àøèãëàäàã áîëîõîîð òýð þì. Òà /etc/ttys àéëä °°ð÷ë°ëò³³ä õèéñíèéõýý äàðàà init ïðîöåññîä àéëûã äàõèí óíøóóëàõûí òóëä HUP äîõèîã èëãýýæ áîëîõ þì. Òà äàðààõ òóøààëûã àøèãëàæ # kill -HUP 1
äîõèî èëãýýæ áîëíî. Õýðýâ òà àíõ óäààãàà ñèñòåìèéã òîõèðóóëæ áàéãàà áîë °°ðèéí ìîäåì(³³ä)èéã ç°â òîõèðóóëæ init óðóó äîõèîëîõîîñ °ìí° õîëáîãäîõ õ³ðòýë õ³ëýýõèéã õ³ñýæ áîëîõ þì. 26.4.4.2.1 Locked-speed áóþó ò³ãæèãäñýí õóðä òîõèðãîî
Ò³ãæèãäñýí õóðä òîõèðãîîíû õóâüä òàíû ttys îðóóëãà getty óðóó °ã°ãä°õ òîãòìîë õóðä á³õèé îðóóëãàòàé áàéõ õýðýãòýé. Ïîðòûí õóðä íü 19.2 Kbps ãýæ ò³ãæèãäñýí ìîäåìèéí õóâüä ttys îðóóëãà íü èéìýðõ³³ õàðàãäàæ áîëîõ þì: ttyd0
"/usr/libexec/getty std.19200"
dialup on
Õýðýâ òàíû ìîäåì °°ð õóðäàí äýýð ò³ãæèãäñýí áîë std.19200-èéí îðîíä std.speed-èéí õóâüä òîõèðîõ óòãûã òàâüæ ñîëèîðîé. Òà /etc/gettytab-ä æàãñààãäñàí ç°â ò°ðëèéã àøèãëàñàí ýñýõýý øàëãààðàé. 26.4.4.2.2 Matching-speed áóþó òààðàõ õóðä òîõèðãîî
Òààðàõ õóðä òîõèðãîîí äýýð òàíû ttys îðóóëãà íü /etc/gettytab äàõü òîõèðîõ ç°â “auto-baud” (sic) îðóóëãààñ àâàõ õýðýãòýé áîëäîã. Æèøýý íü õýðýâ òà äýýðõ ñàíàë áîëãîñîí îðóóëãûã 19.2 Kbps-ýýñ (V19200 ýõëýõ öýãèéã àãóóëàõ gettytab îðóóëãà) ýõëýõ òààðàõ õóðä á³õèé ìîäåìèéí õóâüä íýìñýí áîë òàíû ttys îðóóëãà èéìýðõ³³ õàðàãäàõ áîëíî:
ttyd0
"/usr/libexec/getty V19200"
dialup on
26.4.4.3 /etc/rc.d/serial V.32, V.32bis, áîëîí V.34 çýðýã °íä°ð õóðäòàé ìîäåìóóä òîíîã ò°õ°°ð°ìæèéí (RTS/CTS) óðñãàë õÿíàëòûã àøèãëàõ õýðýãòýé. Òà ìîäåìèéí ïîðòóóäûí õóâüä FreeBSD ö°ìä òîíîã ò°õ°°ð°ìæèéí óðñãàëûí õÿíàëòûí òóãèéã òîõèðóóëàõûí òóëä stty òóøààëóóäûã /etc/rc.d/serial àéëä íýìæ áîëíî.
Æèøýý íü ãàäíààñ çàëãàõ áîëîí ãàäàãø çàëãàõ ýõíèé ò°õ°°ð°ìæ³³äèéí õóâüä öóâàà ïîðò #1 äýýð crtscts ãýñýí termios-èéí òóãèéã òîõèðóóëàõûí òóëä äàðààõ ì°ð³³äèéã /etc/rc.d/serial àéëä íýìæ áîëîõ þì: # Serial port initial configuration stty -f /dev/ttyd1.init crtscts stty -f /dev/cuad1.init crtscts
679
Chapter 26 Öóâàà õîëáîîíóóä
26.4.5
Ìîäåìèéí òîõèðãîîíóóä
Õýðýâ òà õóâèðäàãã³é RAM-ä ïàðàìåòð³³ä íü òîãòìîëîîð òîõèðóóëàãäñàí áàéæ áîëîõ ìîäåìòîé áîë ïàðàìåòð³³äèéã òîõèðóóëàõûí òóëä òà òåðìèíàë ïðîãðàì (MS-DOS äýýð Telix ýñâýë FreeBSD äýýð tip ãýõ ìýò) àøèãëàõ õýðýãòýé áîëíî. Ýõíèé õóðäòàé àäèë õîëáîëòûí õóðäûã àøèãëàí ìîäåì óðóó õîëáîãäîõûí òóëä getty íü äîîð äóðäñàí øààðäëàãóóäòàé òààðàõûí òóëä ìîäåìèéí õóâèðäàãã³é RAM-èéã õýðýãëýæ òîõèðóóëàõ áîëíî: Õîëáîãäîõ ³åä CD øàëãàãäàíà • éëäëèéí õóâüä DTR øàëãàãäàíà; DTR-èéã õàÿõ íü øóãàìûã ñàëãàæ ìîäåìèéã äàõèí òîõèðóóëàõàä õ³ðãýíý • CTS íü °ã°ãäëèéí óðñãàëûí õÿíàëòûã äàìæóóëñàí • XON/XOFF óðñãàëûí õÿíàëòûã õààíà • RTS íü °ã°ãäëèéí óðñãàëûí õÿíàëòûã õ³ëýýí àâñàí • ×èìýýã³é ãîðèì (³ð ä³íãèéí êîäóóä áàéõã³é) • Òóøààëûí öóóðàé áàéõã³é Àëü òóøààëóóä áà/ýñâýë DIP øèëæ³³ëýã÷èéí òîõèðãîîíóóäûã òà °ã°õ ¼ñòîé áîëîõûã îëîõûí òóëä °°ðèéí ìîäåìèéí áàðèìòûã óíøèíà óó. Æèøýý íü U.S. Robotics® Sportster® 14,400 õóðäòàé ãàäààä ìîäåì äýýð äýýðõ ïàðàìåòð³³äèéã òîõèðóóëàõûí òóëä ýäãýýð òóøààëóóäûã ìîäåìä °ã÷ áîëîõ þì: •
ATZ AT&C1&D2&H1&I0&R2&W
V.42bis áà/ýñâýë MNP5 øàõàëòûã àøèãëàõ çýðýã ìîäåìèéí áóñàä òîõèðãîîíóóäûã òààðóóëàõûí òóëä òà áàñ ýíý áîëîìæèéã àøèãëàõûã õ³ñýæ áîëîõ þì.
U.S. Robotics Sportster 14,400 õóðäòàé ãàäààä ìîäåì íü òîõèðóóëàõ õýðýãòýé DIP øèëæ³³ëýã÷³³äòýé áàñ áàéäàã; áóñàä ìîäåìóóäûí õóâüä òà ýäãýýð òîõèðóóëãóóäûã æèøýý áîëãîí àøèãëàæ áîëîõ þì:
Øèëæ³³ëýã÷ 1: ÄÝÝØ — DTR Õýâèéí • Øèëæ³³ëýã÷ 2: N/A áóþó Áàéõã³é (ð ä³íãèéí ³ãýí êîäóóä/ð ä³íãèéí òîîí êîäóóä) • Øèëæ³³ëýã÷ 3: ÄÝÝØ — ð ä³íãèéí äàðàõ/õîðèãëîõ êîäóóä • Øèëæ³³ëýã÷ 4: ÄÎÎØ — Öóóðàé áàéõã³é, õîëáîãäîîã³é ³åèéí òóøààëóóä • Øèëæ³³ëýã÷ 5: ÄÝÝØ — Àâòîìàò õàðèóëíà • Øèëæ³³ëýã÷ 6: ÄÝÝØ — Ç°°ã÷ èëð³³ëýëò õýâèéí • Øèëæ³³ëýã÷ 7: ÄÝÝØ — NVRAM àíõäàã÷óóäûã à÷ààëàõ • Øèëæ³³ëýã÷ 8: N/A áóþó Áàéõã³é (Óõààëàã îðèì/ijëèé îðèì) Õýðýâ getty òóøààë íü login: õ³ëýýõ ì°ðèéã òóøààëûí ãîðèìä áàéãàà ìîäåì óðóó àíäóóð÷ °ãñ°í á°ã°°ä ìîäåì íü òóøààëûã öóóðàéòóóëàí áóöààæ ýñâýë ³ð ä³íãèéí êîäûã áóöààõàä ³³ñ÷ áîëîõ àñóóäëóóäààñ ñýðãèéëýõèéí òóëä ³ð ä³íãèéí êîäóóä íü dial-up ìîäåìóóäûí õóâüä õààãäñàí/äàðàãäñàí áàéõ ¼ñòîé. Ýíý äàðààëàë íü getty áîëîí ìîäåìèéí õîîðîíä ñóíàñàí, òýíýã ÿðèàíä õ³ðãýæ áîëîõ þì. •
680
Chapter 26 Öóâàà õîëáîîíóóä 26.4.5.1 Locked-speed áóþó ò³ãæèãäñýí õóðä òîõèðãîî
Ò³ãæèãäñýí õóðä òîõèðãîîíû õóâüä òà ìîäåìèéã õîëáîëòûí õóðäààñ õàìààðàëã³éãýýð ìîäåìîîñ êîìïüþòåð õ³ðòýëõ °ã°ãäëèéí õóðäûã òîãòìîëîîð áàéëãàõààð òîõèðóóðàõ õýðýãòýé. U.S. Robotics Sportster 14,400 õóðäòàé ãàäààä ìîäåì äýýð ýäãýýð òóøààëóóä íü ìîäåìîîñ êîìïüþòåð õ³ðòýëõ °ã°ãäëèéí õóðäûã òóøààëóóäûã àæèëëóóëàõ õóðä äýýð ò³ãæèõ áîëíî: ATZ AT&B1&W
26.4.5.2 Matching-speed áóþó òààðàõ õóðä òîõèðãîî
Õóâüñàõ õóðä òîõèðãîîíû õóâüä èðæ áàéãàà äóóäëàãûí õóðäòàé èæèë áàéëãàæ °°ðèéí öóâàà ïîðòûí °ã°ãäëèéí õóðäûã òààðóóëàõûí òóëä òà °°ðèéí ìîäåìèéã òîõèðóóëàõ õýðýãòýé áîëíî. U.S. Robotics Sportster 14,400 õóðäòàé ãàäààä ìîäåì äýýð ýäãýýð òóøààëóóä íü ìîäåìèéí àëäàà çàñâàðëàõ °ã°ãäëèéí õóðäûã òóøààëóóäûã àæèëëóóëàõ õóðä äýýð ò³ãæèõ áîëîâ÷ öóâàà ïîðòûí õóðäûã àëäàà çàñâàðëàõ³é õîëáîëòóóäûí õóâüä õóâüñàõ áàéõààð ç°âø°°ð°õ áîëíî: ATZ AT&B2&W
26.4.5.3 Ìîäåìèéí òîõèðãîîã øàëãàõ íü
Èõýíõ °íä°ð õóðäòàé ìîäåìóóä íü ìîäåìèéí òóõàéí ³åèéí ³éëäëèéí ïàðàìåòð³³äèéã õ³í óíøèæ áîëîõîîð ³ç³³ëýõ òóøààëóóäòàé áàéäàã. U.S. Robotics Sportster 14,400 õóðäòàé ãàäààä ìîäåìóóä äýýð ATI5 òóøààë õóâèðäàãã³é RAM-ä õàäãàëàãäàæ áàéãàà òîõèðãîîíóóäûã õàðóóëäàã. Ìîäåìèéí ³éëäëèéí æèíõýíý ïàðàìåòð³³äèéã õàðàõûí òóëä (ìîäåìèéí DIP øèëæ³³ëýã÷èéí òîõèðãîîíóóä í°ë°°ëñ°í) ATZ áîëîí äàðàà íü ATI4 òóøààëóóäûã àøèãëàíà. Õýðýâ òà °°ð çàãâàðûí ìîäåìòîé áîë °°ðèéí ìîäåìèéí òîõèðãîîíû ïàðàìåòð³³äèéã õýðõýí äàâõàð øàëãàõ òàëààð °°ðèéí ìîäåìèéí ãàðûí àâëàãààñ øàëãààðàé. 26.4.6
Àëäààã îëæ çàñâàðëàõ íü
°ðèéí ñèñòåì äýýð dial-up ìîäåìèéã øàëãàõûí òóëä òàíû äàãàõ ö°°í õýäýí àëõìóóä ýíä áàéíà. 26.4.6.1 FreeBSD ñèñòåìèéã øàëãàõ
°ðèéí ìîäåìèéã °°ðèéí FreeBSD ñèñòåìä çàëãààä ñèñòåìýý à÷ààëàõ á°ã°°ä õýðýâ òàíû ìîäåì ò°ë°â çààõ ãýðë³³äòýé áîë ñèñòåìèéí êîíñîë äýýð login: õ³ëýýõ ì°ð ãàð÷ èðýõ ³åä ìîäåìèéí DTR çààã÷ àñàæ áàéãàà ýñýõèéã øàëãàõ õýðýãòýé — õýðýâ àñàæ áàéãàà áîë FreeBSD íü òîõèðîõ õîëáîëòóóäûí ïîðò äýýð getty-ã ýõë³³ëæ ìîäåìèéã äóóäëàãà õ³ëýýæ àâàõûã õ³ëýýæ áàéíà ãýñýí ³ã þì. Õýðýâ DTR çààã÷ àñàõã³é áîë FreeBSD ñèñòåì óðóó êîíñîëîîð íýâòðýýä FreeBSD íü ç°â ïîðò äýýð getty ïðîöåññèéã àæèëëóóëàõààð îðîëäîæ áàéãàà ýñýõèéã õàðàõûí òóëä ps ax òóøààëûã àæèëëóóëíà. Òà ýäãýýðòýé ò°ñòýé ì°ð³³äèéã ïðîöåññóóäûí õàìòààð õàðàõ ¼ñòîé: 114 ??
I
0:00.10 /usr/libexec/getty V19200 ttyd0
681
Chapter 26 Öóâàà õîëáîîíóóä 115 ??
I
0:00.10 /usr/libexec/getty V19200 ttyd1
Õýðýâ òà ³³íòýé àäèë °°ð: 114 d0
I
0:00.10 /usr/libexec/getty V19200 ttyd0
ì°ðèéã õàðñàí á°ã°°ä ìîäåì íü äóóäëàãà õ³ëýýæ àâ÷ àìæààã³é áàéãàà áîë getty íü õîëáîëòóóäûí ïîðò äýýð °°ðèéí îíãîéëãîëòûã á³ðýí õèéæ ã³éöñýí ãýñýí ³ã þì. Ýíý íü êàáåëèéí àñóóäàë ýñâýë áóðóó òîõèðóóëñàí ìîäåìòîé õîëáîîòîé àñóóäëûã çààæ áîëîõ þì. ßàãààä ãýâýë getty íü CD-ã (carrier detect áóþó ç°°ã÷ èëð³³ëýõ) ìîäåìîîð øàëãàãäòàë õîëáîëòóóäûí ïîðòóóäûã îíãîéëãîæ ÷àäàõã³é áàéõ ¼ñòîé þì. Õýðýâ òà õ³ññýí ttydN ïîðòûã îíãîéëãîõûã õ³ëýýæ áàéãàà ÿìàð íýã getty ïðîöåññóóäûã õàðàõã³é áàéãàà áîë /etc/ttys àéë äàõü °°ðèéí îðóóëãóóäàä àëäàà áàéãàà ýñýõèéã äàâõàð øàëãààðàé. Ì°í init ýñâýë getty òóøààëààñ ãàðñàí á³ðòãýëèéí ÿìàð íýã ìýäýãäë³³ä àñóóäëóóä áàéãàà ýñýõèéã ìýäýýëñýí ýñýõèéã õàðàõûí òóëä á³ðòãýëèéí àéë /var/log/messages-ã áàñ øàëãààðàé. Õýðýâ ÿìàð íýã ìýäýãäë³³ä áàéãàà áîë /etc/ttys áîëîí /etc/gettytab òîõèðãîîíû àéëóóäûã ãóðàâ äàõèí øàëãààðàé. Ì°í /dev/ttydN çýðýã òîõèðîõ ò°õ°°ð°ìæèéí òóñãàé àéëóóäàä àëäààíóóä, îðóóëãóóä äóòàãäàæ áàéãàà ýñýõ, ýñâýë ò°õ°°ð°ìæèéí òóñãàé àéëóóä äóòàãäàæ áàéãàà ýñýõèéã áàñ øàëãààðàé. 26.4.6.2 àäíààñ çàëãàæ ³çýõ
Ñèñòåì óðóó ãàäíààñ çàëãàæ ³çýýðýé; 8 áèòèéã parity áàéõã³éãýýð áîëîí àëñûí ñèñòåì äýýð 1 çîãñîõ áèòèéã àøèãëàñàí ýñýõýý øàëãààðàé. Õýðýâ òà õ³ëýýõ ì°ðèéã òýð äîð íü õ³ëýýæ àâàõã³é áîë ýñâýë õîã õ³ëýýí àâñàí áîë ñåêóíä òóòàì íýã Enter äàðààä îðîëäîîä ³çýýðýé. Òýãñýí ÷ ãýñýí òà login: õ³ëýýõ ì°ðèéã õýñýã õóãàöàà °íã°ðñ°í ÷ ãýñýí õàðàõã³é áàéãàà áîë BREAK èëãýýæ îðîëäîîä ³çýýðýé. Òà çàëãàõäàà °íä°ð õóðäòàé ìîäåì àøèãëàæ áàéãàà áîë ìîäåìèéí èíòåðýéñèéí õóðäûã (æèøýý íü U.S. Robotics Sportster ìîäåì äýýð AT&B1 òóøààë àøèãëàí) ò³ãæñýíèéõýý äàðàà äàõèí çàëãààä îðîëäîîä ³çýýðýé. Õýðýâ òà òýãñýí ÷ ãýñýí login: õ³ëýýõ ì°ðèéã õ³ëýýí àâàõã³é áàéãàà áîë /etc/gettytab àéëûã äàõèí øàëãààä äîîð äóðäñàíûã äàâõàð øàëãààðàé Øóãàìûí õóâüä /etc/ttys àéëä çààãäñàí áîëîìæèéí ýõíèé íýð /etc/gettytab äàõü áîëîìæèéí íýðòýé òààð÷ áàéãàà ýñýõ • nx= îðóóëãà á³ð gettytab áîëîìæèéí °°ð íýðòýé òààð÷ áàéãàà ýñýõ • tc= îðóóëãà á³ð gettytab áîëîìæèéí °°ð íýðòýé òààð÷ áàéãàà ýñýõ Õýðýâ òàíûã çàëãàõàä FreeBSD ñèñòåì äýýðõ ìîäåì õàðèóëàõã³é áàéãàà áîë DTR øàëãàãäàõ ³åä ìîäåì íü óòñàíä õàðèóëàõààð òîõèðóóëàãäñàí ýñýõèéã øàëãààðàé. Õýðýâ ìîäåì ç°â òîõèðóóëàãäñàí þì øèã áàéâàë DTR øóãàì øàëãàãäñàí ýñýõèéã ìîäåìèéí çààã÷ ãýðë³³äèéã (ãýðë³³äòýé áîë) øàëãàí íÿãòëààðàé. Õýðýâ òà á³ãäèéã õýä õýäýí óäàà øàëãàñàí á°ã°°ä àæèëëàõã³é õýâýýð áàéãàà áîë çàâñàðëàãà àâààä äàðàà íü ³çýýðýé. Õýðýâ òýãñýí ÷ ãýñýí àæèëëàõã³é áàéãàà áîë òà FreeBSD åð°íõèé àñóóëòóóä çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions) óðóó °°ðèéí ìîäåì áîëîí àñóóäëûíõàà òàëààð öàõèì çàõèäàë èëãýýæ áîëîõ á°ã°°ä æàãñààëòàí äàõü ñàéí õ³ì³³ñ òàíä òóñëàõûã îðîëäîõ áîëíî. •
682
26.5 Dial-out
áóþó ãàäàãø çàëãàõ ³éë÷èëãýý
Chapter 26 Öóâàà õîëáîîíóóä
Äàðààõ íü òàíû õîñòûã ìîäåìîîð °°ð êîìïüþòåð óðóó õîëáîõ çààâðóóä þì. Ýíý íü àëñûí õîñòòîé òåðìèíàë ñåññ ³³ñãýõýä òîõèðîõ þì. Ýíý íü BBS óðóó íýâòðýí îðîõîä àøèãòàé áàéäàã. Õýðýâ òà PPP äýýð àñóóäàëòàé áàéãàà áîë Èíòåðíýò äýõ àéëûã àâàõàä ýíý ò°ðëèéí õîëáîëò íü òóéëûí àøèãòàé áàéæ áîëîõ þì. Õýðýâ òà ÿìàð íýã ç³éë FTP õèéõ õýðýãòýé á°ã°°ä PPP ýâäýðñýí áîë òåðìèíàë ñåññ àøèãëàí FTP õèéæ áîëíî. Äàðàà íü ò³³íèéã °°ðèéí ìàøèí óðóó äàìæóóëàõûí òóëä zmodem àøèãëàíà. 26.5.1
Ìèíèé Hayes ìîäåì äýìæèãäýýã³é áàéíà, áè þó õèéõ âý?
Æèíõýíýäýý áîë tip-ä çîðèóëñàí ãàðûí àâëàãûí õóóäàñ õóó÷èðñàí áàéãàà. Ýíãèéí Hayes çàëãàã÷ àëü õýäèéí öóã á³òýýãäñýí áàéãàà áîëíî. °ðèéí /etc/remote àéëä åðä°° ë at=hayes-ã àøèãëààðàé. Hayes äðàéâåð íü øèíý ìîäåìóóäûí äýâøèëòýò áîëîìæóóäûí çàðèìûã òàíèõ õýìæýýíèé óõààëàã áàéäàãã³é á°ã°°ä BUSY, NO DIALTONE, ýñâýë CONNECT 115200 çýðýã ìýäýãäë³³ä íü ò³³íèéã ñàìóóðóóëàõ áîëíî. Òà tip-èéã õýðýãëýõäýý òýäãýýð ìýäýãäë³³äèéã (ATX0&W-ã àøèãëàæ) õààõ õýðýãòýé. Áàñ tip-èéí õóâüä çàëãàõ õóãàöàà íü 60 ñåêóíä áàéäàã. Òàíû ìîäåì íü ³³íýýñ áàãûã àøèãëàõ ¼ñòîé á°ã°°ä òýãýõã³é áîë tip õîëáîîíä àñóóäàë áàéíà ãýæ ³çýõ áîëíî. ATS7=45&W ãýæ ³çýýðýé. 26.5.2
Ýäãýýð AT òóøààëóóäûã áè õýðõýí îðóóëàõ ¼ñòîé âý?
°ðèéí /etc/remote àéëäàà “øóóä” ãýãääýã îðóóëãûã õèéõ õýðýãòýé. Æèøýý íü õýðýâ òàíû ìîäåì ýõíèé öóâàà ïîðò /dev/cuad0-ä õîëáîãäñîí áîë äàðààõ ì°ðèéã òàâüíà: cuad0:dv=/dev/cuad0:br#19200:pa=none
br áîëîìæèä òàíû ìîäåìèéí äýìæäýã õàìãèéí èõ bps õóðäûã àøèãëààðàé. Äàðàà íü tip cuad0 ãýæ áè÷èõýä òà °°ðèéí ìîäåìä õîëáîãäîõ áîëíî. root
õýðýãëýã÷ýýð cu-ã äàðààõ ìàÿãààð àøèãëààðàé:
# cu -lline -sspeed
íü öóâàà ïîðò (°°ð°°ð õýëáýë /dev/cuad0) á°ã°°ä speed íü õóðä (°°ð°°ð õýëáýë 57600) þì. Òà AT òóøààëóóäûã îðóóëæ äóóñààä ãàðàõûí òóëä ~. äàðíà.
line
26.5.3 pn
áîëîìæèéí @ òýìäýã àæèëëàõã³é áàéíà!
Óòàñíû äóãààðûí áîëîìæèéí @ òýìäýã íü tip-èéã /etc/phones àéëààñ óòàñíû äóãààð õàéõûã çààäàã. ýõäýý @ òýìäýã íü áàñ /etc/remote çýðýã áîëîìæèéí àéëóóäûí òóñãàé òýìäýãò þì. ³íèéã óðàãø òàøóó çóðààñ àøèãëàí îðóóëæ áîëíî: pn=\@
683
Chapter 26 Öóâàà õîëáîîíóóä
26.5.4
Òóøààëûí ì°ð°í äýýð áè óòàñíû äóãààð óðóó õýðõýí çàëãàõ âý?
°ðèéí /etc/remote àéëä “åðäèéí” ãýãääýã îðóóëãûã îðóóëíà. Æèøýý íü: tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuad0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuad0:br#57600:at=hayes:pa=none:du:
Äàðàà íü òà èéìýðõ³³ ç³éëñ õèéæ áîëíî: # tip -115200 5551234
Õýðýâ òà cu-ã tip-ýýñ èë³³ä ³çäýã áîë åðäèéí cu îðóóëãûã àøèãëàæ: cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:
äàðàà íü èíãýæ áè÷íý: # cu 5551234 -s 115200
26.5.5
Áè ò³³íèéã õèéõ áîëãîíäîî bps õóðäûã áè÷èõ õýðýãòýé þó?
ýñâýë cu1200-èéí õóâüä îðóóëãûã õèéíý, ãýõäýý br áîëîìæòîé òîõèðîõ ÿìàð ÷ bps õóðäûã àøèãëàæ áîëíî. tip íü áîëîìæèéí àíõäàã÷ óòãà áîë 1200 bps ãýæ ³çäýã. tip1200 îðóóëãûã õàéäãèéí ó÷èð íü èéì þì. ýõäýý òà çààâàë 1200 bps õóðäûã àøèãëàõ øààðäëàãàã³é þì. tip1200
26.5.6
Áè òåðìèíàë ñåðâåðýýð õýä õýäýí õîñòóóä óðóó õàíääàã
Òà õîëáîãäîõ õ³ðòëýý õ³ëýýæ CONNECT host ãýæ òóõàé á³ðò áè÷èæ áàéõûí îðîíä tip-èéí cm áîëîìæèéã àøèãëàæ áîëíî. Æèøýý íü /etc/remote àéë äàõü ýäãýýð îðóóëãóóä íü: pain|pain.deep13.com|Forrester’s machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank’s machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234: pain ýñâýë muffin õîñòóóä óðóó õîëáîãäîõûí òóëä òàíä tip pain ýñâýë tip muffin ãýæ áè÷èõ áîëîìæèéã îëãîõîîñ ãàäíà òåðìèíàë ñåðâåð óðóó îðîõûí òóëä tip deep13 ãýæ áè÷èõ áîëîìæèéã áàñ îëãîíî.
26.5.7
Ñàéò áîëãîíû õóâüä íýãýýñ èõ ì°ðèéã tip îðîëäîæ ÷àäàõ óó?
Ýíý íü èõ ñóðãóóëü õýä õýäýí ìîäåìèéí øóãàìóóäòàé á°ã°°ä õýäýí ìÿíãàí îþóòíóóä òýäãýýðèéã àøèãëàõûã îðîëäîõ ³åä èõýâ÷ëýí ãàðäàã àñóóäàë þì. °ðèéí èõ ñóðãóóëèéí îðóóëãûã /etc/remote àéëä õèéãýýä pn áîëîìæèéí õóâüä @-èéã àøèãëààðàé:
684
Chapter 26 Öóâàà õîëáîîíóóä big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuad3:br#9600:at=courier:du:pa=none:
Äàðàà íü èõ ñóðãóóëèóäûí õóâüä óòàñíû äóãààðóóäûã /etc/phones àéëä æàãñààíà: big-university big-university big-university big-university
5551111 5551112 5551113 5551114
íü æàãñààãäñàí äàðààëëààð óòàñ áîëãîíûã îðîëäîæ äàðàà íü çîãñîíî. Òà îðîëäëîãîî ³ðãýëæë³³ëñýýð áàéõûí òóëä tip-èéã while äàâòàëòàä àæèëëóóëàõ õýðýãòýé.
tip
õîñëîëûã íýã óäàà èëãýýõèéí òóëä Ctrl+P õîñëîëûã ÿàãààä õî¼ð óäàà äàðàõ õýðýãòýé ãýæ?
26.5.8 Ctrl+P
Ctrl+P íü àíõäàã÷ “force áóþó õ³÷ëýõ” òýìäýãò á°ã°°ä tip òóøààëä äàðààãèéí òýìäýãò íü ³ñãýí °ã°ãä°ë ãýäãèéã õýëýõýä õýðýãëýãääýã. Òà õ³÷ëýõ òýìäýãòèéã äóðûí òýìäýãò áîëãîí ~s òóøààëààð çààæ °ã÷ áîëíî. ~s òóøààë íü “õóâüñàã÷èéã òîõèðóóëàõ” ãýñýí ³ã þì.
ãýæ áè÷ýýä øèíý ì°ð àâàõ õýðýãòýé. single-char íü äóðûí ãàíö òýìäýãò þì. Õýðýâ òà ã îðõèõ þì áîë õ³÷ëýõ òýìäýãò íü õîîñîí òýìäýãò áîëîõ á°ã°°ä òà ³³íèéã Ctrl+2 ýñâýë Ctrl+Space ãýæ áè÷èí àâ÷ áîëíî. single-char-èéí õóâüä áîëîìæèéí óòãà Shift+Ctrl+6 áàéæ áîëîõ á°ã°°ä ýíý íü ç°âõ°í çàðèì íýã òåðìèíàë ñåðâåð³³äèéí õóâüä àøèãëàãääàã. Òà õ³÷ëýõ òýìäýãòèéã °°ðèéí õ³ññýíýýð $HOME/.tiprc àéëä äîîð äóðäñàíûã çààæ òîõèðóóëæ áîëíî: ~sforce=single-char single-char -
force=single-char
26.5.9
ýíýò ìèíèé áè÷ñýí áîëãîí òîì ³ñãýýð ãàðààä áàéíà??
Òà ýâäýãäñýí caps-lock òîâ÷ëóóð á³õèé õýðýãëýã÷äýä òóñãàéëàí çîðèóëàãäñàí tip-èéí “°ñã°õ òýìäýãò” áîëîõ Ctrl+A õîñëîëûã äàðñàí áàéíà. Äýýð äóðäñàíû àäèë ~s òóøààëûã àøèãëàí raisechar õóâüñàã÷èéã áîëîìæèéí óòãààð òîõèðóóëàõ õýðýãòýé. Òà ³³íèéã õ³÷ëýõ òýìäýãòòýé àäèëààð òîõèðóóëæ áîëîõ þì. °ð°°ð õýëáýë õýðýâ òà ýäãýýð áîëîìæóóäûí àëü íýãèéã àøèãëàõ áîë èíãýæ áîëîõ þì. Ctrl+2 áîëîí Ctrl+A õîñëîëóóäûã áàéíãà áè÷èõ õýðýãòýé áîëäîã Emacs õýðýãëýã÷äýä ÿã çîðèóëàãäñàí æèøýý .tiprc àéë ýíä áàéíà: force=^^ raisechar=^^ ^^
íü Shift+Ctrl+6 þì.
685
Chapter 26 Öóâàà õîëáîîíóóä
ýýð áè ÿàæ àéë äàìæóóëàëòóóäûã õèéõ âý?
26.5.10 tip-
Õýðýâ òà °°ð UNIX ñèñòåìòýé õàðüöàæ áàéâàë òà ~p (put áóþó òàâèõ) áîëîí ~t (take áóþó àâàõ) òóøààëóóäûã àøèãëàí àéëóóäûã èëãýýæ õ³ëýýí àâ÷ áîëíî. Ýäãýýð òóøààëóóä íü àéëóóäûã õ³ëýýí àâ÷ èëãýýõèéí òóëä àëñûí ñèñòåì äýýð cat áîëîí echo òóøààëóóäûã àæèëëóóëäàã. Ñèíòàêñ íü èéì áàéíà: ~p local-file [remote-file]
~t remote-file [local-file]
Àëäàà øàëãàëò áàéäàãã³é ó÷ðààñ ìàãàäã³é òà zmodem-òîé àäèë °°ð ïðîòîêîë àøèãëàõ õýðýãòýé þì.
òýé áè zmodem-èéã õýðõýí àæèëëóóëàõ âý?
26.5.11 tip-
Ôàéëóóäûã õ³ëýýí àâàõûí òóëä àëñûí ìàøèí äýýð ïðîãðàìûã èëãýýæ ýõýëíý. Äàðàà íü òýäãýýðèéã ëîêàëààð õ³ëýýí àâ÷ ýõëýõèéí òóëä ~C rz ãýæ áè÷íý. Ôàéëóóäûã èëãýýõèéí òóëä àëñûí ìàøèí äýýð ïðîãðàìûã õ³ëýýí àâ÷ ýõýëíý. Äàðàà íü òýäãýýðèéã àëñûí ñèñòåì óðóó èëãýýõèéí òóëä ~C sz files ãýæ áè÷íý. 26.6
Öóâàà êîíñîëûã òîõèðóóëàõ íü
Õîéíî äóðäñàí õ³íèé áè÷ñýí áàðèìò äýýð òóëãóóðëàí õóâü íýìýð áîëãîí îðóóëñàí Êàçóòàêà ÎÊÎÒÀ. Áè÷èã áàðèìòûã áè÷ñýí Áèëë Ïîë. 26.6.1
Òàíèëöóóëãà
FreeBSD íü ç°âõ°í öóâàà ïîðò äýýð êîíñîë ìàÿãààð àøèãëàõ ä³ëèé òåðìèíàë á³õèé ñèñòåì äýýð à÷ààëàõ ÷àäâàðòàé áàéäàã. Èéì òîõèðãîî íü õî¼ð àíãèëëûí õ³ì³³ñò àøèãòàé áàéõ ¼ñòîé á°ã°°ä ýäãýýð íü ãàð ýñâýë ìîíèòîð áàéõã³é ìàøèíóóä äýýð FreeBSD ñóóëãàõûã õ³ññýí ñèñòåìèéí àäìèíèñòðàòîðóóä áîëîí ö°ì ýñâýë ò°õ°°ð°ìæèéí äðàéâåðóóäûã äèáàã õèéõèéã õ³ññýí õ°ãæ³³ëýã÷èä þì. Chapter 12-ò òàéëáàðëàñíààð FreeBSD íü ãóðâàí øàòòàé ýõë³³ëýã÷èéã õýðýãëýäýã. Ýõíèé õî¼ð øàò íü à÷ààëàõ äèñê äýýðõ FreeBSD-èéí ç³ñìýëèéí ýõëýë äýýð õàäãàëàãääàã à÷ààëàõ áëîêèéí êîäîä áàéäàã. À÷ààëàõ áëîê íü à÷ààëàã÷ äóóäàã÷èéã (/boot/loader) ãóðàâ äàõü øàòíû êîä áîëãîí äóóäàæ àæèëëóóëäàã. Öóâàà êîíñîëûã òîõèðóóëàõûí òóëä òà à÷ààëàõ áëîêèéí êîä, à÷ààëàã÷ äóóäàõ êîä áîëîí ö°ì°° òîõèðóóëàõ ¼ñòîé áîëíî.
26.6.2
Öóâàà êîíñîëûí òîõèðãîî, Òîâ÷ õóâèëáàð
Ýíý õýñýã íü òàíûã àíõäàã÷ òîõèðóóëãà àøèãëàæ áàéãàà á°ã°°ä öóâàà êîíñîëûã òîõèðóóëàõ õóðäàí òîéìûã àâàõûã õ³ñýæ áàéãàà ãýæ ³çäýã.
686
Chapter 26 Öóâàà õîëáîîíóóä 1. 2.
Öóâàà êàáåëèéã COM1 áîëîí õÿíàæ áàéãàà òåðìèíàë óðóó õîëáîíî. Öóâàà êîíñîë äýýð á³õ à÷ààëàëòûí ìýäýãäë³³äèéã õàðàõûí òóëä ñóïåð õýðýãëýã÷ýýð íýâòýðñíèéõýý äàðàà äàðààõ òóøààëûã àæèëëóóëíà: # echo ’console="comconsole"’ >> /boot/loader.conf
ã çàñâàðëàæ ttyd0 îðóóëãûí õóâüä off ãýñíèéã on, dialup ãýñíèéã vt100 áîëãîíî. Èíãýõã³é áîë öóâàà êîíñîëîîð õîëáîãäîõîä íóóö ³ã øààðäàõã³é á°ã°°ä áîëîìæèò àþóëã³é áàéäëûí öîîðõîé ³³ñãýõ þì. 4. °ð÷ë°ëò³³ä èäýâõòýé áîëñîí ýñýõèéã õàðàõûí òóëä ñèñòåìèéã äàõèí à÷ààëíà. Õýðýâ °°ð òîõèðãîî øààðäëàãàòàé áîë Section 26.6.3 õýñýãò èë³³ ã³íçãèé òîõèðãîîíû òàéëáàð áàéãàà áîëíî. 3.
/etc/ttys-
26.6.3 1.
2.
Öóâàà êîíñîëûí òîõèðãîî
Öóâàà êàáåëü áýëäýíý. Òàíä null-ìîäåì êàáåëü ýñâýë ñòàíäàðò öóâàà êàáåëü áîëîí null-ìîäåì õóâèðãàã÷ õýðýãòýé áîëíî. Öóâàà êàáåëèóäûí òóõàé õýëýëö³³ëãèéã Section 26.2.2 õýñãýýñ ³çíý ³³. àðûã ñàëãàíà. Èõýíõ PC ñèñòåì³³ä íü Power-On Self-Test (POST) áóþó àñààõ ³åèéí òåñòèéí ³åýð ãàðûã áàéãàà ýñýõèéã øàëãàäàã á°ã°°ä ãàð îëäîõã³é áîë àëäàà ³³ñãýäýã. Çàðèì ìàøèíóóä íü ãàð áàéõã³éã ÷àíãààð ìýäýýëæ çàëãàãäòàë íü öààø à÷ààëäàãã³é. Õýðýâ òàíû êîìïüþòåð àëäààã ìýäýýëñýí áîëîâ÷ öààø à÷ààëàõ þì áîë òà ÿìàð íýã òóñãàé ç³éë õèéõ øààðäëàãàã³é þì. (Phoenix BIOS ñóóëãàãäñàí çàðèì ìàøèíóóä íü åðä°° ë “Keyboard failed” ãýæ ìýäýýëýýä õýâèéíýýð öààø à÷ààëàõ áîëíî.) Õýðýâ òàíû êîìïüþòåð ãàð çàëãàëã³éãýýð à÷ààëàõààñ òàòãàëçâàë ýíý àëäààã àâ÷ ³çýëã³éãýýð îðõèõîîð áîëãîæ òà BIOS-îî òîõèðóóëàõ õýðýãòýé áîëíî (õýðýâ áîëäîã áîë). ³íèéã õýðõýí õèéõ òàëààð äýëãýðýíã³éã °°ðèéí ýõ õàâòàíãèéí ãàðûí àâëàãààñ ëàâëàíà óó. Tip: BIOS-èéí òîõèðãîîí äýýð ãàðàà “Not installed” áóþó ñóóëãàãäààã³é ãýæ òîõèðóóëíà. Òýãñýí ÷ ãýñýí òà °°ðèéí ãàðûã àøèãëàæ ÷àäàõ áîëíî. ³íèé õèéæ áàéãàà ç³éë íü BIOS-ä àñàõ ³åä ãàðûã øàëãàõã³é ãýæ õýëæ °ã÷ áàéãàà þì. Òàíû BIOS ãàð áàéõã³é ³åä ãîìäîëëîõã³é áàéõ ¼ñòîé. Òà ýíý òóãèéã “Not installed” ãýæ òîõèðóóëñàí áàéëàà ÷ ãýñýí ãàðàà çàëãààòàé õýâýýð îðõèæ áîëîõ á°ã°°ä ãàð àæèëëàñàí õýâýýð áàéõ áîëíî. Õýðýâ äýýðõ òîõèðãîî BIOS-ä áàéõã³é áîë îðîíä íü “Halt on Error” òîõèðãîîã õàéõ õýðýãòýé. ³íèéã “All but Keyboard” ãýæ ýñâýë “No Errors” ãýæ òîõèðóóëàõ íü èæèë ³éë÷èëãýýòýé áàéäàã.
Note: Õýðýâ òàíû ñèñòåì PS/2® õóëãàíàòàé áîë òà áàñ °°ðèéí ãàðíû àäèë õóëãàíàà áàñ ñàëãàõ øààðäëàãàòàé áàéæ áîëîõ þì. Ó÷èð íü þó âý ãýâýë PS/2 õóëãàíà íü ãàðòàé öóã çàðèì òîíîã ò°õ°°ð°ìæèéã õóâààëöäàã á°ã°°ä õóëãàíàà çàëãààòàé îðõèõ íü ãàð øàëãàã÷èéã ãàð áàéñààð áàéãàà ãýæ áîäîõîä õ³ðãýí õóóð÷ áîëîõ þì. AMI BIOS á³õèé Gateway 2000 Pentium 90 MHz ñèñòåì èíãýäýã ãýæ ÿðèãääàã. Åð°íõèéä°° õóëãàíà íü ãàðã³éãýýð îëèãòîé àæèëëàõã³é áîëîõîîð ýíý íü àñóóäàë áèø þì.
687
Chapter 26 Öóâàà õîëáîîíóóä 3.
4.
ijëèé òåðìèíàëûã COM1 óðóó çàëãàíà (sio0). Õýðýâ òàíä ä³ëèé òåðìèíàë áàéõã³é áîë òà õóó÷èí PC/XT-ã ìîäåìèéí ïðîãðàìòàé öóã, ýñâýë °°ð UNIX õàéðöàã äýýð öóâàà ïîðòûã àøèãëàæ áîëîõ þì. Õýðýâ òàíä COM1 (sio0) áàéõã³é áîë ò³³íòýé áîëîõ õýðýãòýé. Îäîîãîîð à÷ààëàõ áëîêóóäûã äàõèí ýìõýòãýëã³éãýýð à÷ààëàõ áëîêóóäûí õóâüä COM1-ñ °°ð ïîðòûã ñîíãîõ àðãà áàéõã³é. Õýðýâ òà COM1-ã °°ð ò°õ°°ð°ìæèä àøèãëàæ áàéãàà áîë òà òýð ò°õ°°ð°ìæ°° ò³ð çóóð ñàëãààä FreeBSD ýõë³³ëæ àæèëëóóëñíûõàà äàðàà øèíý à÷ààëàõ áëîê áîëîí ö°ìèéã ñóóëãàõ õýðýãòýé áîëíî. (COM1 íü àéë/òîîöîîëîõ/òåðìèíàë ñåðâåð äýýð áàéäàã ãýæ ³çäýã; õýðýâ òàíä COM1 íü ³íýõýýð °°ð ç³éëä õýðýãòýé áàéãàà (á°ã°°ä òà òýð °°ð ç³éëýý COM2 (sio1) óðóó øèëæ³³ëæ ÷àäàõã³é áàéãàà)) áîë òà ìàãàäã³é ýõëýýä ýíý á³õ ç³éë äýýð á³ð ñàíàà çîâîõ øààðäëàãàã³é áàéæ áîëîõ þì.) Òàíû ö°ìèéí òîõèðãîîíû àéëä COM1-èéí (sio0) õóâüä òîõèðîõ òóãóóä òîõèðóóëàãäñàí ýñýõèéã øàëãààðàé. Õîëáîîòîé òóãóóä íü: 0x10
Ýíý íýãæèä çîðèóëàí êîíñîëûí äýìæëýãèéã èäýâõæ³³ëíý. Ýíý òóã òîõèðóóëàãäààã³é áîë áóñàä òóãóóä íü îðõèãääîã. Îäîîãîîð õàìãèéí èõäýý íýã íýãæ êîíñîëûí äýìæëýãòýé áàéæ áîëäîã; Ýíý òóã òîõèðóóëàãäñàí ýõíèéõèéã (òîõèðãîîíû àéëûí äàðààëëààð) ýðõýìëýäýã. Ýíý òîõèðóóëãà íü ãàíöààðàà öóâàà ïîðòûã êîíñîë áîëãîäîãã³é. Äàðààõ òóãèéã òîõèðóóëàõ þì óó ýñâýë ýíý òóãòàé öóã äîîð òàéëáàðëàñàí -h òîõèðóóëãûã àøèãëàíà. 0x20
Äîîð òàéëáàðëàñàí -h òîõèðóóëãà áàéãàà ýñýõýýñ ³ë õàìààð÷ ýíý íýãæèéã êîíñîë áîëãîíî (°°ð èë³³ ýðõòýé êîíñîë áàéõã³é òîõèîëäîëä). 0x20 òóã íü 0x10 òóãòàé öóã àøèãëàãäàõ ¼ñòîé. 0x40
Ýíý íýãæèéã (0x10-òàé öóã) í°°ö°ëæ õýâèéí õàíäàëòàä ýíý íýãæèéã áàéõã³é áîëãîíî. Òà ýíý òóãèéã öóâàà êîíñîë ìàÿãààð àøèãëàõûã õ³ñýæ áàéãàà öóâàà ïîðòûí íýãæäýý òîõèðóóëàõ ¼ñã³é þì. Ýíý òóãíû öîðûí ãàíö õýðýãëýý íü àëñààñ ö°ìèéã äèáàã õèéõýä íýãæèéã çîðèóëàõ ÿâäàë þì. Àëñààñ äèáàã õèéõ òàëààð èë³³ ìýäýýëëèéã Õ°ãæ³³ëýã÷èéí àðûí Àâëàãà (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/developers-handbook/index.html)àñ ³çíý ³³. Æèøýý: device sio0 at isa? port IO_COM1 flags 0x10 irq 4
5.
Èë³³ äýëãýðýíã³éã sio(4) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Õýðýâ òóãíóóä òîõèðóóëàãäààã³é áîë UserConfig-ã (°°ð êîíñîë äýýð) àæèëëóóëàõ þì óó ýñâýë ö°ìèéã äàõèí ýìõýòãýõ õýðýãòýé. À÷ààëàõ ò°õ°°ð°ìæ äýýð a õóâààëòûí root ñàíä boot.config àéëûã ³³ñãýíý. Ýíý àéë íü ñèñòåìèéã òà õýðõýí à÷ààëàõûã õ³ñýæ áàéãààã à÷ààëàõ áëîêèéí êîäîä çààâàðëàõ áîëíî. Öóâàà êîíñîëûã èäýâõæ³³ëýõèéí òóëä òàíä äàðààõ íýã áóþó õýä õýäýí òîõèðóóëãóóä õýðýãòýé áîëíî—õýðýâ òà îëîí òîõèðóóëãóóäûã õ³ñýæ áàéãàà áîë á³ãäèéã íýã ì°ðò îðóóëàõ õýðýãòýé:
688
Chapter 26 Öóâàà õîëáîîíóóä -h
Äîòîîä áîëîí öóâàà êîíñîëóóäûã õàðèëöàí ñîëüíî. Òà ³³íèéã àøèãëàí êîíñîë ò°õ°°ð°ìæ³³äèéã ñîëüæ øèëæ³³ëæ áîëíî. Æèøýý íü õýðýâ òà äîòîîä (âèäåî) êîíñîëîîñ à÷ààëàõ áîë à÷ààëàã÷ äóóäàã÷ áîëîí ö°ìä °°ðèéí êîíñîëûí ò°õ°°ð°ìæä°° öóâàà ïîðòûã àøèãëóóëàõààð ÷èãë³³ëýõ -h òîõèðóóëãûã àøèãëàæ áîëîõ þì. Ì°í °°ð°°ð õýðýâ òà öóâàà ïîðòîîñ à÷ààëàõ áîë à÷ààëàã÷ äóóäàã÷ áîëîí ö°ìä âèäåî äýëãýöèéã êîíñîë ìàÿãààð õàðèí õýðýãë³³ëýõèéí òóëä -h òîõèðóóëãûã àøèãëàæ áîëîõ þì. -D
àíö áîëîí õî¼ð êîíñîëûí òîõèðãîîíóóäûã ñîëüíî. àíö òîõèðãîîí äýýð äýýðõ -h òîõèðãîîíû ò°ëâ°°ñ õàìààð÷ êîíñîë íü äîòîîä êîíñîë (âèäåî äýëãýö) áàéõ þì óó ýñâýë öóâàà ïîðò áàéõ áîëíî. Õî¼ð êîíñîëûí òîõèðãîîí äýýð âèäåî äýëãýö áîëîí öóâàà ïîðò íü õî¼óëàà -h òîõèðãîîíû ò°ëâ°°ñ ³ë õàìààðàí êîíñîë áîëîõ þì. ýõäýý õî¼ð êîíñîëûí òîõèðãîî íü ç°âõ°í à÷ààëàõ áëîê àæèëëàæ áàéõ ³åä èäýâõòýé áàéõûã ñàíààðàé. À÷ààëàã÷ äóóäàã÷ õÿíàëòûã àâñíû äàðàà -h òîõèðóóëãààð çààãäñàí êîíñîë íü öîðûí ãàíö êîíñîë áîëîõ þì. -P
À÷ààëàõ áëîêîîð ãàðûã øàëãóóëíà. Õýðýâ ãàð îëäîîã³é áîë -D áîëîí -h òîõèðóóëãóóä àâòîìàòààð òîõèðóóëàãäàíà. Note: Çàéíû øààðäëàãààñ áîëîîä à÷ààëàõ áëîêóóäûí îäîîãèéí õóâèëáàðò -P òîõèðóóëãà íü ç°âõ°í °ðã°òã°ñ°í ãàðíóóäûã îëîõ ÷àäâàðòàé áàéäàã. 101 òîâ÷ëóóðààñ áàãà òîâ÷ëóóðóóäòàé (áà F11 áîëîí F12 òîâ÷ëóóðóóäã³é) ãàðíóóä íü îëäîõã³é áàéæ áîëîõ þì. Çàðèì íýã ç°°âðèéí êîìïüþòåðóóä äýýðõ ãàðíóóä íü ýíý õÿçãààðëàëòààñ áîëîîä ç°â°°ð îëäîõã³é áàéæ áîëîõ þì. Õýðýâ òà èéì ñèñòåìòýé áîë -P òîõèðóóëãà àøèãëàõàà áîëèõ õýðýãòýé þì. Õàðàìñàëòàé íü ýíý àñóóäëûã òîéðîí ãàðàõ àðãà çàì áàéäàãã³é.
6.
Êîíñîëèî àâòîìàòààð ñîíãîõûí òóëä -P òîõèðóóëãûã àøèãëàõ þì óó ýñâýë öóâàà êîíñîëûã èäýâõæ³³ëýõèéí òóëä -h òîõèðóóëãûã àøèãëàíà. Òà boot(8)-ä òàéëáàðëàñíû àäèë áàñ áóñàä òîõèðóóëãóóäûã îðóóëæ áîëîõ þì. -P-ñ áóñàä òîõèðóóëãóóä íü à÷ààëàã÷ äóóäàã÷èä (/boot/loader) äàìæóóëàãääàã. À÷ààëàã÷ äóóäàã÷ íü ç°âõ°í -h òîõèðóóëãûí ò°ë°âèéã øàëãàæ äîòîîä âèäåî ýñâýë öóâàà ïîðòûí àëü íü êîíñîë áîëîõ ¼ñòîéã òîäîðõîéëîõ áîëíî. Ýíý íü õýðýâ òà /boot.config àéëä -D òîõèðóóëãûã òîõèðóóëààä ãýõäýý -h òîõèðóóëãûã òîõèðóóëààã³é áîë òà öóâàà ïîðòûã ç°âõ°í à÷ààëàõ áëîêèéí ³åä êîíñîë áîëãîí àøèãëàæ áîëíî ãýñýí ³ã þì; à÷ààëàã÷ äóóäàã÷ íü äîòîîä âèäåî äýëãýöèéã êîíñîë ìàÿãààð àøèãëàõ áîëíî. Ìàøèíûã à÷ààëíà. Òà °°ðèéí FreeBSD õàéðöãèéã ýõë³³ëýõ ³åä à÷ààëàõ áëîêóóä íü /boot.config àéëûí àãóóëãóóäûã êîíñîë óðóó ãàðãàæ õàðóóëàõ áîëíî. Æèøýý íü: /boot.config: -P Keyboard: no
689
Chapter 26 Öóâàà õîëáîîíóóä
Õî¼ð äàõü ì°ð íü /boot.config àéëä -P òîõèðóóëãûã ç°âõ°í òàâüñàí òîõèîëäîëä ãàðàõ á°ã°°ä ãàð áàéãàà/áàéõã³éã çààäàã. Ýäãýýð ìýäýãäë³³ä íü /boot.config àéë äàõü òîõèðóóëãààñ õàìààðààä öóâàà ýñâýë äîòîîä êîíñîë óðóó, ýñâýë õî¼óëàí óðóó ãàðäàã.
Òîõèðóóëãóóä áàéõã³é
Ìýäýãäë³³ä ãàðàõ ãàçàð äîòîîä êîíñîë -h öóâàà êîíñîë -D öóâàà áîëîí äîòîîä êîíñîëóóä -Dh öóâàà áîëîí äîòîîä êîíñîëóóä -P, ãàð áàéíà äîòîîä êîíñîë -P, ãàð áàéõã³é öóâàà êîíñîë Äýýðõ ìýäýãäë³³äèéí äàðàà à÷ààëàõ áëîêóóä íü à÷ààëàã÷ äóóäàã÷èéã äóóäàõààñ °ìí° áîëîí áóñàä äàðàà äàðààãèéí ìýäýãäë³³ä êîíñîë äýýð õýâëýãäýõýýñ °ìí° áàãà õýìæýýíèé çàâñàðëàãà (ïàóç) àâàõ áîëíî. Õýâèéí í°õö°ëä òàíä à÷ààëàõ áëîêóóäûã òàñàëäóóëàõ õýðýãã³é áîëîâ÷ òà á³õ ç³éëñ ç°â òîõèðóóëàãäñàíûã áàòàëãààæóóëàõûí òóëä èíãýõèéã õ³ñýæ áîëîõ þì. À÷ààëàõ ïðîöåññèéã òàñàëäóóëàõûí òóëä êîíñîë äýýð Enter-ñ °°ð äóðûí òîâ÷ëóóðûã äàðàõ õýðýãòýé. À÷ààëàõ áëîêóóä íü äàðàà íü òàíààñ äàðàà÷èéí ÷èíü ³éëäëèéã àñóóõ áîëíî. Òà îäîî èéìýðõ³³ ìýäýãäýë õàðàõ ¼ñòîé: >> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot:
Äýýðõ ìýäýãäýë öóâàà ýñâýë äîòîîä êîíñîë äýýð ýñâýë õî¼óëàí äýýð ãàð÷ áàéãàà ýñýõèéã /boot.config àéëä õèéñýí òîõèðóóëãóóäûíõàà äàãóó øàëãààðàé. Õýðýâ ìýäýãäýë ç°â êîíñîë äýýð ãàð÷ áàéâàë à÷ààëàõ ïðîöåññèéã ³ðãýëæë³³ëýõèéí òóëä Enter äàðààðàé. Õýðýâ òà öóâàà êîíñîëûã õ³ñýæ áàéãàà áîëîâ÷ öóâàà òåðìèíàë äýýð õ³ëýýõ ì°ðèéã õàðàõã³é áàéãàà áîë òàíû òîõèðãîîíä ÿìàð íýã ç³éë áóðóó áàéíà. Òýð õîîðîíä òà à÷ààëàõ áëîêò (áà äàðàà íü à÷ààëàã÷ äóóäàã÷ áîëîí ö°ìä) öóâàà ïîðòûã êîíñîëä çîðèóëàí ñîíãóóëàõûã õýëýõèéí òóëä -h ãýæ áè÷ýýä Enter ýñâýë Return (áîëîìæòîé áîë) äàðààðàé. Ñèñòåì à÷ààëñíû äàðàà þó áóðóó áîëñíûã áóöàæ øàëãààðàé. À÷ààëàã÷ äóóäàã÷ äóóäàãäñàíû äàðàà òà à÷ààëàõ ïðîöåññèéí ãóðàâ äàõü øàòàíä áàéãàà áîë à÷ààëàã÷ äóóäàã÷èä çîõèõ îð÷íû õóâüñàã÷óóäûã òîõèðóóëæ äîòîîä êîíñîë áîëîí öóâàà êîíñîëûí õîîðîíä òà øèëæèæ ÷àäñàí õýâýýð áàéõ áîëíî. Section 26.6.6-ã ³çíý ³³. 26.6.4
ijãíýëò
Ýíý õýñýãò õýëýëöñýí ò°ð°ë á³ðèéí òîõèðãîîíóóäûí ä³ãíýëò áîëîí ýöñèéí ä³íä êîíñîë ñîíãîãäñîí òóõàé ìýäýýëýë ýíä áàéíà. 26.6.4.1 Òîõèîëäîë 1: Òà sio0-ä çîðèóëæ òóãóóäûã 0x10 áîëãîæ òîõèðóóëíà device sio0 at isa? port IO_COM1 flags 0x10 irq 4
690
Chapter 26 Öóâàà õîëáîîíóóä /boot.config äàõü òîõèðóóëãóóä þó ÷ áàéõã³é -h -D -Dh
ãàð áàéíà -P, ãàð áàéõã³é -P,
À÷ààëàõ áëîêóóäûí ³åèéí êîíñîë äîòîîä öóâàà öóâàà áîëîí äîòîîä öóâàà áîëîí äîòîîä äîòîîä öóâàà áîëîí äîòîîä
À÷ààëàã÷ äóóäàã÷èéí ³åèéí êîíñîë äîòîîä öóâàà äîòîîä öóâàà äîòîîä öóâàà
Ö°ì äýõ êîíñîë äîòîîä öóâàà äîòîîä öóâàà äîòîîä öóâàà
26.6.4.2 Òîõèîëäîë 2: Òà sio0-ä çîðèóëæ òóãóóäûã 0x30 áîëãîæ òîõèðóóëíà device sio0 at isa? port IO_COM1 flags 0x30 irq 4
/boot.config äàõü òîõèðóóëãóóä þó ÷ áàéõã³é -h -D -Dh -P, -P,
ãàð áàéíà ãàð áàéõã³é
26.6.5
À÷ààëàõ áëîêóóäûí ³åèéí êîíñîë äîòîîä öóâàà öóâàà áîëîí äîòîîä öóâàà áîëîí äîòîîä äîòîîä öóâàà áîëîí äîòîîä
À÷ààëàã÷ äóóäàã÷èéí ³åèéí êîíñîë äîòîîä öóâàà äîòîîä öóâàà äîòîîä öóâàà
Ö°ì äýõ êîíñîë öóâàà öóâàà öóâàà öóâàà öóâàà öóâàà
Öóâàà êîíñîëä çîðèóëñàí çààâðóóä
26.6.5.1 Öóâàà ïîðòûí õóðäûã èë³³ õóðäàí áîëãîõ
Àíõäàã÷ààð öóâàà ïîðòûí òîõèðóóëãóóä íü 9600 baud, 8 áèò, parity áàéõã³é, áà 1 çîãñîõ áèò á³õèé áàéíà. Õýðýâ òà àíõäàã÷ êîíñîëûí õóðäûã °°ð÷ë°õèéã õ³ñâýë òàíä äàðààõ ñîíãîëòóóä áàéíà: •
À÷ààëàõ áëîêóóäûã êîíñîëûí øèíý õóðä çààãäñàí BOOT_COMCONSOLE_SPEED õóâüñàã÷òàé öóã äàõèí ýìõýòãýíý. Øèíý à÷ààëàõ áëîêóóäûã á³òýýæ ñóóëãàõ òàëààð äýëãýðýíã³é çààâðóóäûã Section 26.6.5.2-ñ ³çíý ³³. Õýðýâ öóâàà êîíñîë íü -h òîõèðóóëãàòàéãààð à÷ààëàõààñ °°ð àðãààð òîõèðóóëàãäñàí áîë ýñâýë ö°ìèéí àøèãëàæ áàéãàà öóâàà êîíñîë íü à÷ààëàõ áëîêóóäûí àøèãëàæ áàéãààãààñ °°ð áîë òà äàðààõ òîõèðóóëãûã ö°ìèéí òîõèðãîîíû àéëäàà áàñ íýìæ øèíý ö°ì°° ýìõýòãýõ ¼ñòîé þì: options CONSPEED=19200
•
•
Ö°ìèéí -S à÷ààëàõ òîõèðóóëãûã àøèãëàíà. -S òóøààëûí ì°ðèéí òîõèðóóëãà íü /boot.config àéëä íýìýãäýæ áîëíî. /boot.config àéëä õýðõýí òîõèðóóëãóóä íýìýõ òóõàé òàéëáàð áîëîí äýìæèãäñýí òîõèðóóëãóóäûí òàëààð boot(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. °ðèéí /boot/loader.conf àéëä comconsole_speed òîõèðóóëãûã èäýâõæ³³ëíý.
691
Chapter 26 Öóâàà õîëáîîíóóä
Ýíý òîõèðóóëãà íü /boot/loader.conf àéëä áàñ console, boot_serial, áîëîí boot_multicons òîõèðóóëàãäñàí ýñýõýýñ õàìààðäàã. Öóâàà êîíñîëûí õóðäûã °°ð÷ë°õ comconsole_speed òîõèðóóëãûí õýðýãëýýíèé æèøýý ýíä áàéíà: boot_multicons="YES" boot_serial="YES" comconsole_speed="115200" console="comconsole,vidconsole"
26.6.5.2 Êîíñîëä çîðèóëæ sio0-ñ °°ð öóâàà ïîðòûã àøèãëàõ
ñ °°ð ïîðòûã êîíñîëä àøèãëàõ íü çàðèì íýã äàõèí ýìõýòãýëòèéã øààðääàã. Òà ÿìàð ÷ øàëòãààíààð áàéëàà ãýñýí °°ð öóâàà ïîðòûã àøèãëàõûã õ³ñâýë äîîð äóðäñàí øèãýýð à÷ààëàõ áëîêóóä, à÷ààëàã÷ äóóäàã÷ áîëîí ö°ìèéã äàõèí ýìõýòãýõ õýðýãòýé. sio0-
1. 2.
3.
Ö°ìèéí ýõèéã àâíà. (Chapter 24 á³ëãèéã ³çíý ³³) /etc/make.conf àéëûã çàñâàðëàæ BOOT_COMCONSOLE_PORT õóâüñàã÷èéã àøèãëàõûã õ³ñýæ áàéãàà ïîðòûíõîî õàÿãààð (0x3F8, 0x2F8, 0x3E8 ýñâýë 0x2E8) òîõèðóóëíà. Ç°âõ°í sio0-ñ sio3 (COM1-ñ COM4) õ³ðòýëõ ïîðòóóä àøèãëàãäàæ áîëíî; îëîí ïîðòòîé öóâàà êàðòóóä àæèëëàõã³é. Òàñàëäëûí òîõèðóóëãà øààðäëàãàã³é. Òóñãàéëñàí ö°ìèéí òîõèðãîîíû àéë ³³ñãýýä àøèãëàõûã õ³ñýæ áàéãàà ïîðòûíõîî õóâüä òîõèðîõ òóãóóäûã íýìýýðýé. Æèøýý íü õýðýâ òà sio1 (COM2) ïîðòûã êîíñîë áîëãîõûã õ³ñýæ áàéãàà áîë: device sio1 at isa? port IO_COM2 flags 0x10 irq 3
ýñâýë device sio1 at isa? port IO_COM2 flags 0x30 irq 3
4.
Áóñàä öóâàà ïîðòóóäûí õóâüä êîíñîëûí òóãóóä òîõèðóóëàãäàõ ¼ñã³é. À÷ààëàõ áëîêóóä áîëîí à÷ààëàã÷ äóóäàã÷èéã äàõèí ýìõýòãýýä ñóóëãàíà: # # # #
5. 6.
cd /sys/boot make clean make make install
Ö°ìèéã äàõèí á³òýýæ ñóóëãàíà. À÷ààëàõ áëîêóóäûã à÷ààëàõ äèñê óðóó bsdlabel(8)-èéí òóñëàìæòàé áè÷ýýä øèíý ö°ì°°ñ à÷ààëíà.
26.6.5.3 Öóâàà øóãàìíààñ DDB äèáàã õèéã÷ óðóó îðîõ
Õýðýâ òà öóâàà êîíñîëîîñ ö°ìèéã äèáàã õèéã÷ óðóó îðîõûã õ³ñâýë (àëñààñ õèéõ øèíæèëãýýíä àøèã òóñòàé áàéäàã áîëîâ÷ õýðýâ òà öóâàà ïîðò äýýð àëäààòàé BREAK ³³ñãýñýí áîë ýíý íü àþóëòàé áàéäàã!) òà °°ðèéí ö°ìèéã äàðààõ òîõèðóóëãóóäòàé ýìõýòãýõ øààðäëàãàòàé: options BREAK_TO_DEBUGGER options DDB
692
Chapter 26 Öóâàà õîëáîîíóóä 26.6.5.4 Öóâàà êîíñîë äýýð íýâòðýëò õ³ëýýõ ì°ð ãàðãàæ àâàõ
Ýíý íü øààðäëàãàòàé áèø áîëîâ÷ òà îäîî öóâàà øóãàìààð à÷ààëàëòûí ìýäýãäë³³äèéã õàðæ ö°ìèéí äèáàã õèéõ ñåññ óðóó îðæ ÷àäàæ áàéãàà þì ÷èíü òà öóâàà øóãàìààð íýâòðýëò õ³ëýýõ ì°ðèéã àâàõûã õ³ñýæ áîëîõ þì. Ýíä õýðõýí ³³íèéã õèéõ òàëààð áàéíà. /etc/ttys àéëûã çàñâàðëàã÷ààð îíãîéëãîîä äàðààõ ì°ð³³äèéã îëíî: ttyd0 ttyd1 ttyd2 ttyd3
"/usr/libexec/getty "/usr/libexec/getty "/usr/libexec/getty "/usr/libexec/getty
std.9600" std.9600" std.9600" std.9600"
unknown unknown unknown unknown
off off off off
secure secure secure secure
ttyd0-ñ ttyd3 õ³ðòýëõ íü COM1-ñ COM4 õ³ðòýëõòýé òîõèðíî. Õ³ññýí ïîðò äýýðýý off ãýñíèéã on áîëãîæ °°ð÷èëí°. Õýðýâ òà öóâàà ïîðòûí õóðäûã °°ð÷èëñ°í áîë òóõàéí ³åèéí òîõèðãîîòîé òààðóóëàõûí òóëä std.9600-ã °°ð÷ë°õ õýðýãòýé áîëíî, °°ð°°ð õýëáýë std.19200 ãýõ ìýò. Òà áàñ òåðìèíàëûí ò°ðëèéã unknown ãýäãýýñ °°ðèéí öóâàà òåðìèíàëûí æèíõýíý ò°ðë°°ð ñîëèõûã õ³ñýæ áîëîõ þì. Ôàéëûã çàñâàðëàñíû äàðàà òà ýíý °°ð÷ë°ëòèéã èäýâõæ³³ëýõèéí òóëä kill -HUP 1 õèéõ ¼ñòîé.
26.6.6
À÷ààëàã÷ äóóäàã÷ààñ êîíñîëûã °°ð÷ë°õ
ìí°õ õýñã³³ä íü à÷ààëàõ áëîêóóäûã òîõèðóóëàí öóâàà êîíñîëûã õýðõýí òîõèðóóëàõ òàëààð òàéëáàðëàëàà. Ýíý õýñýã íü à÷ààëàã÷ äóóäàã÷ äýýð çàðèì íýã òóøààëóóä áîëîí îð÷íû õóâüñàã÷óóäûã îðóóëæ êîíñîëûã òîõèðóóëàõ òàëààð ³ç³³ëýõ áîëíî. À÷ààëàõ áëîêèéí äàðàà à÷ààëàõ ïðîöåññèéí ãóðàâ äàõü øàòàí äýýð à÷ààëàã÷ äóóäàã÷ àæèëëàõ ³åä à÷ààëàã÷ äóóäàã÷ äàõü òîõèðãîîíóóä íü à÷ààëàõ áëîê äàõü òîõèðãîîíóóäûã äàðæ àæèëëàõ áîëíî. 26.6.6.1 Öóâàà êîíñîë òîõèðóóëàõ
Òà à÷ààëàã÷ äóóäàã÷ áîëîí ö°ìä öóâàà êîíñîëûã àøèãëóóëàõûí òóëä /boot/loader.conf àéëä ç°âõ°í íýã ì°ð áè÷ýýä àìàðõàí çààæ °ã÷ áîëíî: set console="comconsole"
Ýíý íü °ìí°õ õýñýãò õýëýëöñýí à÷ààëàõ áëîê äàõü òîõèðãîîíóóäààñ ³ë õàìààðàí èäýâõæèõ áîëíî. Òà öóâàà êîíñîë äýýð à÷ààëàëòûí ìýäýãäë³³äèéã àëü áîëîõ ýðò õàðàõûí òóëä äýýðõ ì°ðèéã /boot/loader.conf àéëûíõàà õàìãèéí ýõíèé ì°ð áîëãîí îðóóëàõ íü ç³éòýé þì. ³íòýé àäèëààð òà äîòîîä êîíñîëîî èíãýæ çààæ °ã÷ áîëíî: set console="vidconsole"
Õýðýâ òà à÷ààëàã÷ äóóäàã÷èéí îð÷íû õóâüñàã÷ console-ã òîõèðóóëàõã³é áîë à÷ààëàã÷ áîëîí äàðàà íü ö°ì à÷ààëàõ áëîê äàõü -h òîõèðóóëãààð çààãäñàí òýð êîíñîëûã àøèãëàõ áîëíî. Êîíñîëûã /boot/loader.conf.local þì óó ýñâýë /boot/loader.conf àéëä çààæ °ã÷ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã loader.conf(5)-ñ ³çíý ³³.
693
Chapter 26 Öóâàà õîëáîîíóóä Note: Îäîîãîîð à÷ààëàã÷ äóóäàã÷èä à÷ààëàõ áëîê äàõü -P òîõèðóóëãàòàé àäèë òîõèðóóëãà áàéäàãã³é á°ã°°ä ãàð áàéãàà ýñýõýýñ õàìààð÷ äîòîîä êîíñîë áà öóâàà êîíñîëûã àâòîìàòààð ñîíãîõ áýëòãýë áàéäàãã³é þì.
26.6.6.2 Êîíñîëä çîðèóëæ sio0-ñ °°ð öóâàà ïîðòûã àøèãëàõ
Òà öóâàà êîíñîëä çîðèóëæ sio0-ñ °°ð öóâàà ïîðòûã àøèãëàõûí òóëä à÷ààëàã÷ äóóäàã÷èéã äàõèí ýìõýòãýõ õýðýãòýé. Section 26.6.5.2 õýñýãò òàéëáàðëàñàí ïðîöåäóðûã äàãààðàé. 26.6.7
Àíõààðàõ ç³éëñ
îë ñàíàà íü ãðàèê òîíîã ò°õ°°ð°ìæ ýñâýë ãàð çàëãàãäñàí áàéõûã øààðääàãã³é òèéì çîðèóëàãäñàí ñåðâåð³³äèéã òîõèðóóëàõ áîëîìæèéã õ³ì³³ñò ç°âø°°ð°õ ÿâäàë þì. Èõýíõ ñèñòåì³³ä íü ãàðã³éãýýð à÷ààëàõ áîëîìæèéã òàíä îëãîõ áîëîâ÷ õàðàìñàëòàé íü ãðàèê õóâèðãàã÷ã³éãýýð òàíä à÷ààëàõûã ç°âø°°ðä°ãã³é íýëýýí õýäýí ñèñòåì³³ä áàéäàã. AMI BIOS-óóäòàé ìàøèíóóäûã ãðàèê õóâèðãàã÷ ñóóëãàëã³éãýýð à÷ààëäàã áîëãîæ òîõèðóóëæ áîëäîã. Èíãýõèéí òóëä åðä°° ë CMOS òîõèðãîîí äàõü “graphics adapter” òîõèðóóëãûã “Not installed” áîëãîæ °°ð÷èëí°. ýõäýý îëîí ìàøèíóóä ýíý òîõèðóóëãûã äýìæäýãã³é á°ã°°ä òà ñèñòåì äýýðýý ÿìàð ÷ äýëãýöèéí òîíîã ò°õ°°ð°ìæ áàéõã³é áîë ìàøèí à÷ààëàõààñ òàòãàëçàõ áîëíî. Èéì ìàøèíóóäàä òà ÿìàð íýã ò°ðëèéí ãðàèê êàðò (õîãèéí õàð öàãààí õàâòàí áàéñàí ÷ ãýñýí áîëíî) çàëãàæ îðõèõ õýðýãòýé áîëîõ áîëîâ÷ çààâàë äýëãýö çàëãàõ øààðäëàãàã³é þì. Òà áàñ AMI BIOS ñóóëãàõûã îðîëäîæ áîëîõ þì.
694
Chapter 27 PPP
áîëîí SLIP
Á³òöèéã äàõèí °°ð÷ë°í çîõèîí áàéãóóëæ øèíý÷èëñýí Æèì Ìîê. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 27.1
Åð°íõèé àãóóëãà
FreeBSD íü íýã êîìïüþòåðèéã í°ã°°òýé õîëáîõ õýä õýäýí àðãóóäòàé áàéäàã. Dial-up ìîäåìîîð ñ³ëæýýíä ýñâýë Èíòåðíýòýä õîëáîëò õèéõ þì óó ýñâýë áóñäûã °°ð°°ð ÷èíü äàìæèõûã ç°âø°°ð°õèéí òóëä PPP ýñâýë SLIP-ã õýðýãëýõèéã øààðääàã. Ýíý á³ëýã ýäãýýð ìîäåì äýýð òóëãóóðëàñàí õîëáîîíû ³éë÷èëãýýí³³äèéã òîõèðóóëàõ òàëààð äýëãýðýíã³é òàéëáàðëàõ áîëíî. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî:
Õýðýãëýã÷èéí PPP-ã õýðõýí òîõèðóóëàõ òàëààð. • Ö°ìèéí PPP-ã õýðõýí òîõèðóóëàõ òàëààð. • PPPoE-ã (PPP over Ethernet áóþó Ethernet äýýã³³ðõ PPP) õýðõýí òîõèðóóëàõ òàëààð. • PPPoA-ã (PPP over ATM áóþó ATM äýýã³³ðõ PPP) õýðõýí òîõèðóóëàõ òàëààð. • SLIP êëèåíò áîëîí ñåðâåðèéã õýðõýí òîõèðóóëæ ñóóëãàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
ѳëæýýíèé ³íäñýí óõàãäàõóóíóóäûã ìýääýã áàéõ. • àäàãø çàëãàõ (dialup) õîëáîëò áîëîí PPP áà/ýñâýë SLIP-èéí ³íäýñ áîëîí çîðèëãûã îéëãîñîí áàéõ. Òà õýðýãëýã÷èéí PPP áîëîí ö°ìèéí PPP õî¼ðûí õîîðîíäîõ ãîë ÿëãàà íü þó þì áîë ãýæ ãàéõàæ áàéæ ìàãàäã³é þì. Õàðèóëò íü õÿëáàðõàí: õýðýãëýã÷èéí PPP íü èðæ áàéãàà áîëîí ãàð÷ áàéãàà °ã°ãäëèéã ö°ìèéí òàëáàðò áèø õýðýãëýã÷èéí òàëáàðò ïðîöåññ õèéäýã. Ýíý íü °ã°ãäëèéã ö°ì áîëîí õýðýãëýã÷èéí òàëáàð õî¼ðûí õîîðîíä õóóëäãààðàà çàðäàëòàé áîëîâ÷ õàìààã³é èë³³ áîëîìæóóäààð áàÿëàã PPP øèéäëèéã ç°âø°°ðä°ã. Õýðýãëýã÷èéí PPP íü ãàäíàõ åðò°íöòýé õîëáîãäîõäîî tun ò°õ°°ð°ìæèéã àøèãëàäàã áîë ö°ìèéí PPP ppp ò°õ°°ð°ìæèéã àøèãëàäàã. •
Note: Ýíý á³ëýãò õýðýãëýã÷èéí PPP-ã pppd çýðýã °°ð áóñàä PPP ïðîãðàì õàíãàìæààñ ÿëãàõ øààðäëàãà ãàðàõã³é òîõèîëäîëä åðä°° ë ppp ãýõ áîëíî. Òóñãàéëàí òàéëáàðëààã³é ë áîë ýíý á³ëýãò òàéëáàðëàñàí á³õ òóøààëóóä íü root ýðõýýð àæèëëóóëàãäàõ ¼ñòîé.
27.2
Õýðýãëýã÷èéí PPP àøèãëàõ
Øèíý÷èëæ °ðã°æ³³ëñýí Òîì °³äñ. Àíõëàí õóâü íýìýð áîëãîí îðóóëñàí Áðàéí Ñîìåðñ. Çàðèì
695
Chapter 27 PPP áîëîí SLIP
õýñãèéã íýìñýí Íèê Êëýéòîí, Äèðê Ôðîìáåðã, and Ïèòåð ×àéëäñ. 27.2.1
Õýðýãëýã÷èéí PPP
27.2.1.1 Òààìàãëàëóóä
Ýíý áàðèìò íü òàíûã äàðààõ øààðäëàãóóäûã õàíãàñàí ãýæ òîîöäîã: •
PPP àøèãëàí òàíû õîëáîãäîõ Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷ýýñ (ISP) °ãñ°í á³ðòãýë.
Ìîäåì ýñâýë °°ð ò°õ°°ð°ìæ òàíû ñèñòåìä õîëáîãäñîí áàéãàà á°ã°°ä òýð íü òàíä °°ðèéí ISP-òàé õîëáîãäîõûã ç°âø°°ð°õ°°ð ç°â òîõèðóóëàãäñàí áàéãàà. • Òàíû ISP-èéí õàíäàõ dial-up äóãààð(óóä). • Òàíû íýâòðýõ íýð áîëîí íóóö ³ã. (åðäèéí UNIX çàãâàðûí íýâòðýëò áîëîí íóóö ³ãèéí õîñëîë þì óó ýñâýë PAP ýñâýë CHAP íýâòðýëò áîëîí íóóö ³ãèéí õîñëîë). • Íýã áóþó õýä õýäýí íýðèéí ñåðâåð³³äèéí IP õàÿã. Õýâèéí ³åä ³³íä çîðèóëàí àøèãëàõààð õî¼ð IP õàÿãèéã òàíû ISP òàíä °ãä°ã. Õýðýâ òýä òàíä ÿäàæ ãàíöûã °ã°°ã³é áîë òà enable dns òóøààëûã ppp.conf àéëä àøèãëàâàë ppp íýðèéí ñåðâåð³³äèéã òàíä òîõèðóóëæ °ã°õ áîëíî. Ýíý áîëîìæ íü DNS-òàé òîõèðîëöîîã äýìæäýã òàíû ISP-èéí PPP øèéäëýýñ õàìààðàõ þì. Äàðààõ ìýäýýëëèéã òàíû ISP °ãñ°í áàéæ áîëîõ áîëîâ÷ ýíý íü çààâàë øààðäëàãàã³é þì: •
Òàíû ISP-èéí ãàðöûí IP õàÿã. àðö íü òàíû õîëáîãäîõ ìàøèí á°ã°°ä òàíû àíõäàã÷ ÷èãë³³ëýëò ãýæ òîõèðóóëàãäàõ áîëíî. Õýðýâ òàíä ýíý ìýäýýëýë áàéõã³é áîë áèä íýãèéã îðëóóëæ áîëîõ á°ã°°ä òàíû ISP-èéí PPP ñåðâåð áèäíèéã õîëáîãäîõ ³åä ç°â óòãûã õýëæ °ã°õ áîëíî. Ýíý IP äóãààð íü ppp-ýýð HISADDR ãýãäýíý. • Òàíû àøèãëàõ ¼ñòîé ñ³ëæýýíèé áàã. Õýðýâ òàíû ISP ³³íèéã °ã°°ã³é áîë òà àþóëã³éãýýð 255.255.255.255 ãýæ àøèãëàæ áîëíî. • Õýðýâ òàíû ISP òàíä ñòàòèê IP õàÿã áîëîí õîñòûí íýð °ãñ°í áîë òà òýäãýýðèéã îðóóëæ áîëíî. ã³é áîë áèä í°ã°° òàëûí °ã°õ òîõèðîõ IP õàÿãèéã åðä°° ë ç°âø°°ð°õ áîëíî. Õýðýâ òàíä øààðäëàãàòàé ìýäýýëëèéí àëü íü ÷ áàéõã³é áîë °°ðèéí ISP óðóóãàà õàíäàíà óó.
•
Note: Ýíý õýñýãò æèøýýí³³äèéí îëîíõèéí ³ç³³ëæ áàéãàà òîõèðãîîíû àéëóóäûí àãóóëãóóäàä áàéãàà ì°ð á³ð äóãààðëàãäñàí áàéãàà áîëíî. Ýäãýýð äóãààðóóä íü òàíèëöóóëãà áîëîí õýëýëö³³ëýãò òóñëàõ çîðèëãîîð ç°âõ°í àøèãëàãääàã á°ã°°ä ÿã ³íýíäýý æèíõýíý àéë äýýðýý òàâèãäàõ ¼ñòîé ãýñýí ³ã áèø þì. Tab àøèãëàí ç°â äîãîë õèéõ áîëîí çàéí òýìäýãò³³ä íü áàñ ÷óõàë þì.
27.2.1.2 Àâòîìàò PPP òîõèðãîî
ppp áîëîí pppd íü (PPP-èéí ö°ìèéí ò³âøíèé øèéäýë) /etc/ppp ñàí äàõü òîõèðãîîíû àéëóóäûã àøèãëàäàã. Õýðýãëýã÷èéí ppp-ä çîðèóëñàí æèøýýí³³äèéã /usr/share/examples/ppp/ ñàíãààñ îëæ áîëíî.
696
Chapter 27 PPP áîëîí SLIP ppp-ã òîõèðóóëàõ íü òàíû °°ðèéí øààðäëàãóóäààñ õàìààð÷ õýä õýäýí àéëóóäûã çàñâàðëàõûã òàíààñ øààðääàã. Òýäãýýðò þó îðóóëàõ íü òàíû ISP IP õàÿãóóäûã ñòàòèêààð °ãä°ã ³³ (°°ð°°ð õýëáýë òàíä íýã IP õàÿã °ã°õ á°ã°°ä ç°âõ°í òýðèéã äàíäàà àøèãëàíà) ýñâýë äèíàìèêààð (°°ð°°ð õýëáýë òàíû IP õàÿã òàíûã ISP-äàà õîëáîãäîõ á³ðò °°ð÷ë°ãää°ã) °ãä°ã ³³ ãýäãýýñ çàðèì òàëààðàà õàìààðäàã.
27.2.1.2.1 PPP áîëîí ñòàòèê IP õàÿãóóä
Òà /etc/ppp/ppp.conf òîõèðãîîíû àéëûã çàñâàðëàõ õýðýãòýé. Ýíý íü äîîðõ æèøýýòýé ò°ñòýé õàðàãäàõ ¼ñòîé. Note: :-ýýð ò°ãññ°í ì°ð³³ä ýõíèé áàãàíààñ ýõýëíý (ì°ðèéí ýõëýë)— áóñàä á³õ ì°ð³³äýä äîîð ³ç³³ëñýí øèã çàé ýñâýë tab-ààð äîãîë ãàðãàñàí áàéõ ¼ñòîé.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
default: set log Phase Chat LCP IPCP CCP tun command ident user-ppp VERSION (built COMPILATIONDATE) set device /dev/cuad0 set speed 115200 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" set timeout 180 enable dns provider: set phone "(123) 456 7890" set authname foo set authkey bar set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" set timeout 300 set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0 add default HISADDR
Ì°ð 1: Àíõäàã÷ îðóóëãûã òýìäýãëýäýã. Ýíý îðóóëãà äàõü òóøààëóóä íü ppp àæèëëàõ ³åä àâòîìàòààð àæèëëàäàã. Ì°ð 2: Ïàðàìåòð³³äèéã á³ðòãýë õèéõèéã èäýâõæ³³ëíý. Òîõèðãîî õàíãàëòòàéãààð àæèëëàæ áàéãàà ³åä á³ðòãýëèéí àéëûí èõ õýìæýýíýýñ ñýðãèéëýõèéí òóëä ýíý ì°ðèéã: set log phase tun
ãýæ áîëãîõ ¼ñòîé. Ì°ð 3:
PPP-ä í°ã°° òàëäàà °°ðèéã°° õýðõýí òàíèóëàõûã õýëæ °ãä°ã. PPP íü òîõèðîëöîæ õîëáîîñûã ³³ñãýõ
³åäýý ÿìàð íýãýí àñóóäàëòàé áàéãàà ýñýõýý òàíèóëñàí ìýäýýëëýýð í°ã°° òàëàà õàíãàäàã á°ã°°ä í°ã°° òàëûí àäìèíèñòðàòîð èéìýðõ³³ àñóóäëóóäûã ñóäàëæ áàéãàà ³åä ýíý íü àøèãòàé áàéæ áîëîõ þì.
697
Chapter 27 PPP áîëîí SLIP
Ì°ð 4: Ìîäåìèéí õîëáîãäñîí ò°õ°°ð°ìæèéã òîäîðõîéëäîã. COM1 íü /dev/cuad0 á°ã°°ä COM2 íü /dev/cuad1 þì. Ì°ð 5: Òàíû õîëáîãäîõ õóðäûã çààäàã. Õýðýâ 115200 àæèëëàõã³é áîë (ÿìàð ÷ øèíý ìîäåìòîé ýíý íü áîëîõ ¼ñòîé) 38400-ãààð îðîëäîæ ³çýýðýé. Ì°ð 6 & 7: Çàëãàõ ì°ð. Õýðýãëýã÷èéí PPP íü chat(8) ïðîãðàìûí àäèë õ³ëýýãýýä èëãýýõ çàð÷ìûã àøèãëàäàã. Ýíý õýëíèé áîëîìæóóäûí òóõàé ìýäýýëëèéã ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. Ýíý òóøààë íü óíøèãäàõàä õÿëáàð áàéõ çîðèëãîîð äàðààãèéí ì°ð°íä ³ðãýëæèëæ áàéãààã àíçààðààðàé. Õýðýâ ì°ðèéí ñ³³ëèéí òýìäýãò \ áàéâàë ppp.conf àéë äàõü ÿìàð ÷ òóøààë èéì áàéæ áîëîõ þì. Ì°ð 8: Ýíý õîëáîîñîíä çîðèóëæ ñóë çîãñîõ õóãàöààã òîõèðóóëíà. 180 ñåêóíä íü àíõäàã÷ áàéíà, òýãýõýýð ýíý ì°ð íü öýâýð ãîî ñàéõíû ç³éë þì. Ì°ð 9: Ëîêàë òàíèã÷èéí òîõèðãîîã áàòàòãàõûí òóëä í°ã°° òàëààñàà àñóóõûã PPP-ä õýëíý. Õýðýâ òà ëîêàë íýðèéí ñåðâåðèéã àæèëëóóëàõ áîë ýíý ì°ðèéã òàéëáàð áîëãîõ þì óó ýñâýë àðèëãàõ ¼ñòîé. Ì°ð 10: Óíøèõàä õÿëáàð áàéõ çîðèëãîîð õîîñîí ì°ð áàéíà. PPP íü õîîñîí ì°ð³³äèéã îðõèäîã. Ì°ð 11: “provider” ãýæ íýðëýãäñýí ³ç³³ëýã÷èä çîðèóëñàí îðóóëãûã òîäîðõîéëäîã. ³íèéã °°ðèéí ISP-èéí íýðýýð ñîëüæ áîëîõ þì. Èíãýñíèé äàðàà òà õîëáîëòûã ýõë³³ëýõèéí òóëä load ISP ãýæ àøèãëàæ áîëîõ þì. Ì°ð 12: Ýíý ³ç³³ëýã÷èéí õóâüä óòàñíû äóãààðûã òîõèðóóëäàã. Îëîí óòàñíû äóãààðûã òîäîðõîéëîõ õî¼ð öýã (:) þì óó ýñâýë õîîëîé òýìäýãòèéã (|) òóñãààðëàã÷ áîëãîí àøèãëàí çààæ °ã÷ áîëíî. Õî¼ð òóñãààðëàã÷èéí ÿëãàà ppp(8)-ä òàéëáàðëàãäñàí áàéäàã. ijãíýæ õýëýõýä õýðýâ òà äóãààðóóäûã ýýëæëýí àøèãëàõ áîë òîäîðõîéëîõ öýãèéã àøèãëàíà. Õýðýâ òà ýõíèé äóãààð óðóó ýõëýýä ³ðãýëæ çàëãàõûã õ³ñýæ áàéãàà á°ã°°ä ç°âõ°í ýõíèé äóãààð íü àìæèëòã³é áîëñîí òîõèîëäîëä áóñàä äóãààðóóäûã àøèãëàõûã õ³ñýæ áàéãàà áîë õîîëîé òýìäýãòèéã àøèãëààðàé. Óòàñíû äóãààðóóäûã òýð ÷èãýýð íü ³ç³³ëñýí øèã ³ðãýëæ õààëòàíä õèéõ õýðýãòýé. Õýðýâ òà óòàñíû äóãààð äýýð çàé àøèãëàõààð áîë óòàñíû äóãààðûã õààëòàíä (") õèéõ ¼ñòîé. Èíãýõã³é áîë ýíý íü ýíãèéí áîëîâ÷ áàðèãäàøã³é àëäààíä õ³ðãýæ áîëîõ þì. Ì°ð 13 & 14: Õýðýãëýã÷èéí íýð áîëîí íóóö ³ãèéã òîäîðõîéëíî. UNIX çàãâàðûí íýâòðýëò õ³ëýýõ ì°ðèéã àøèãëàí õîëáîãäîõ ³åä ýäãýýð óòãóóä íü set login òóøààëààð \U áîëîí \P õóâüñàã÷óóäûã
698
Chapter 27 PPP áîëîí SLIP
àøèãëàí õèéãääýã. PAP ýñâýë CHAP àøèãëàí õîëáîãäîæ áàéãàà ³åä ýäãýýð óòãóóä íü íýâòðýëò òàíèëò õèéãäýõýä õýðýãëýãääýã. Ì°ð 15: Õýðýâ òà PAP ýñâýë CHAP àøèãëàæ áàéãàà áîë íýâòðýëò ýíý ³åä áàéõã³é áàéõ á°ã°°ä ýíý ì°ð íü òàéëáàð áîëãîãäîõ þì óó ýñâýë àðèëãàãäñàí áàéõ ¼ñòîé. Èë³³ äýëãýðýíã³é ìýäýýëëèéã PAP áîëîí CHAP íýâòðýëò òàíèëò õîëáîîñîîñ ³çíý ³³. Íýâòðýëòèéí ì°ð íü çàëãàõ ì°ð øèã ÷àë÷èõòàé ò°ñ°°òýé çàð÷èìòàé áàéäàã. Ýíý æèøýýí äýýð íýâòðýõ ñåññ íü äîîð äóðäñàíòàé àäèë ³éë÷èëãýýíèé õóâüä óã ì°ð àæèëëàæ áàéíà: J. Random Provider login: foo password: bar protocol: ppp
Òà ýíý ñêðèïòèéã °°ðèéí õýðýãöýýíäýý òààðóóëàí °°ð÷ë°õ õýðýãòýé áîëíî. Ýíý ñêðèïòèéã ýõíèé óäàà áè÷èæ áàéõäàà òà ÿðèà õ³ññýíýýð ³ðãýëæèëæ áàéãàà ýñýõèéã òîäîðõîéëæ ÷àäàõààð áàéõûí òóëä “chat” áóþó ÷àë÷èõ á³ðòãýëèéã èäýâõæ³³ëñýí ýñýõýý áàòàëãààæóóëàõ õýðýãòýé. Ì°ð 16: Àíõäàã÷ ñóë çîãñîõ õóãàöààã (ñåêóíäýýð) õîëáîëòîä çîðèóëæ òîõèðóóëäàã. Ýíä õîëáîëò íü 300 ñåêóíäûí õóãàöààíä èäýâõã³é áàéâàë àâòîìàòààð õààãäàõ áîëíî. Õýðýâ òà õóãàöààíû õóâüä õýçýý ÷ äóóñàõã³é áàéõûã õ³ñâýë ýíý óòãûã òýã áîëãîõ þì óó ýñâýë -ddial òóøààëûí ì°ðèéí òîõèðóóëãûã àøèãëàõ õýðýãòýé. Ì°ð 17: Èíòåðýéñèéí õàÿãóóäûã òîõèðóóëíà. x.x.x.x ì°ðèéã òàíû èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷èéí òàíä õóâààðèëñàí IP õàÿãààð ñîëèõ øààðäëàãàòàé. y.y.y.y ì°ðèéã òàíû ISP °°ðèéí ãàðöûã (òàíû õîëáîãäîõ ìàøèí) çààñàí òýð IP õàÿãààð ñîëèõ øààðäëàãàòàé. Õýðýâ òàíû ISP ãàðöûí õàÿãèéã òàíä °ã°°ã³é áîë 10.0.0.2/0 ãýæ àøèãëààðàé. Õýðýâ òà “òààñàí” õàÿãèéã àøèãëàõ õýðýãòýé áîë PPP áîëîí äèíàìèê IP õàÿãóóä õýñýãò çîðèóëñàí çààâðóóäûí äàãóó /etc/ppp/ppp.linkup àéëäàà îðóóëãà ³³ñãýñýí ýñýõýý øàëãààðàé. Õýðýâ ýíý ì°ðèéã îðõèâîë ppp íü -auto ãîðèìä àæèëëàæ ÷àäàõã³é. Ì°ð 18: °ðèéí ISP-èéí ãàðö óðóó àíõäàã÷ ÷èãë³³ëýëòèéã íýìíý. HISADDR òóñãàé ³ãèéã ì°ð 17 äýýð çààñàí ãàðöûí õàÿãààð ñîëüäîã. Ýíý ì°ð íü 17-ð ì°ðèéí äàðàà áàéõ íü ÷óõàë á°ã°°ä òýãýõã³é áîë HISADDR íü ýõëýí òîõèðóóëàãäàæ àìæèõã³é áàéõ þì. Õýðýâ òà ppp-ã -auto ãîðèìä àæèëëóóëàõûã õ³ñýõã³é áîë ýíý ì°ðèéã ppp.linkup àéëä øèëæ³³ëýõ ¼ñòîé. Òà ñòàòèê IP õàÿãòàé á°ã°°ä ppp-ã -auto ãîðèìîîð àæèëëóóëæ áàéãàà áîë ppp.linkup àéëä îðóóëãà íýìýõ øààðäëàãàã³é á°ã°°ä ó÷èð íü òàíûã õîëáîãäîõîîñ °ìí° òàíû ÷èãë³³ëýëòèéí õ³ñíýãòèéí îðóóëãóóä íü àëü õýäèéí ç°â áàéõ ó÷ðààñ òýð þì. ýõäýý òà õîëáîëòûí äàðàà ïðîãðàìóóäûã àæèëëóóëàõ îðóóëãà ³³ñãýõèéã õ³ñýæ áîëîõ þì. Ýíý íü sendmail-èéí æèøýýí äýýð ñ³³ëä òàéëáàðëàãäàõ áîëíî. Æèøýý òîõèðãîîíû àéëóóä íü /usr/share/examples/ppp/ ñàíä áàéðëàíà.
699
Chapter 27 PPP áîëîí SLIP 27.2.1.2.2 PPP áîëîí äèíàìèê IP õàÿãóóä
Õýðýâ òàíû ³éë÷èëãýý ³ç³³ëýã÷ ñòàòèê IP õàÿãóóäûã îëãîäîãã³é áîë ëîêàë áîëîí àëñûí õàÿãóóä äýýð òîõèðäîã áàéõààð ppp íü òîõèðóóëàãäàæ áîëíî. IP õàÿãèéã “òààõ” áîëîí õîëáîëòûí äàðàà IP Configuration Protocol (IPCP) áóþó IP òîõèðãîîíû ïðîòîêîë àøèãëàí ç°â°°ð òîõèðóóëàõûã ppp-ä ç°âø°°ð°õ çàìààð ³³íèéã õèéíý. ppp.conf òîõèðãîî íü äàðààõ °°ð÷ë°ëòèéí õàìòààð PPP áîëîí ñòàòèê IP õàÿãóóä õýñýãòýé àäèë áàéíà: 17
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255
Äàõèí õýëýõýä ì°ðèéí äóãààðûã áèòãèé îðóóëààðàé, ýíý íü ç°âõ°í ëàâëàãààíû çîðèëãîîð áàéãàà þì. ßäàæ íýã õîîñîí çàéãààð äîãîë ãàðãàõ øààðäëàãàòàé. Ì°ð 17: / òýìäýãòèéí äàðààõ äóãààð íü ppp-èéí øààðäàõ õàÿãèéí áèòèéí òîî þì. Òà °°ðèéí í°õö°ëä°° òîõèðóóëàí IP äóãààðóóäûã àøèãëàõûã õ³ñýæ áîëîõ þì, ãýõäýý äýýðõ æèøýýí³³ä íü ³ðãýëæ àæèëëàõ áîëíî. ѳ³ëèéí íýìýëò °ã°ãä°ë (0.0.0.0) íü PPP-ä 10.0.0.1-èéí îðîíä 0.0.0.0 õàÿã àøèãëàí òîõèðîëöîîã ýõë³³ëýõèéã õýëæ áàéãàà á°ã°°ä çàðèì íýãýí ISP-óóäûí õóâüä ýíý íü øààðäëàãàòàé áàéäàã. Ýõíèé ÷èãë³³ëýëòèéã -auto ãîðèìä òîõèðóóëàõàä PPP-ä ñààä áîëäîã ó÷ðààñ set ifaddr òóøààëä 0.0.0.0-ã ýõíèé íýìýëò °ã°ãä°ë áîëãîí áèòãèé àøèãëààðàé. Õýðýâ òà -auto ãîðèìä àæèëëàõã³é áàéãàà áîë /etc/ppp/ppp.linkup àéëä îðóóëãà ³³ñãýõ õýðýãòýé áîëíî. ppp.linkup íü õîëáîëò òîãòñîíû äàðàà àøèãëàãääàã. Ýíý ³åä ppp íü èíòåðýéñèéí õàÿãóóäûã îëãîñîí áàéõ á°ã°°ä îäîî ÷èãë³³ëýëòèéí õ³ñíýãòèéí îðóóëãóóäûã íýìýõ áîëîìæòîé áîëñîí áàéõ áîëíî: 1 2
provider: add default HISADDR
Ì°ð 1: Õîëáîëò òîãòîîõäîî ppp íü äàðààõ ä³ðì³³äèéí äàãóó ppp.linkup àéëä îðóóëãûã õàéõ áîëíî: Ýõëýýä áèäíèé ppp.conf àéëä àøèãëàñàíòàé àäèë õàÿã/øîøãîòîé òààðàõûã îðîëäîíî. Õýðýâ àìæèëòã³é áîëâîë áèäíèé ãàðöûí IP õàÿãèéí îðóóëãûã õàéíà. Ýíý îðóóëãà íü ä°ðâ°í øèðõýã íàéìàí áèòýýñ òîãòîõ IP çàãâàðûí õàÿã/øîøãî þì. Õýðýâ áèä òýãñýí ÷ ãýñýí îðóóëãà îëîîã³é áàéãàà áîë MYADDR îðóóëãûã õàéíà. Ì°ð 2: Ýíý ì°ð íü HISADDR óðóó çààñàí àíõäàã÷ ÷èãë³³ëýëò íýìýõèéã ppp-ä õýëæ áàéíà. HISADDR íü IPCP-ýýð òîõèðîëöñîíû äàãóó ãàðöûí IP õàÿãààð ñîëèãäîõ áîëíî. Íàðèéâ÷èëñàí æèøýýíèé õóâüä /usr/share/examples/ppp/ppp.conf.sample áîëîí /usr/share/examples/ppp/ppp.linkup.sample àéëóóä äàõü pmdemand îðóóëãûã õàðíà óó. 27.2.1.2.3 Èðæ áàéãàà äóóäëàãóóäûã õ³ëýýí àâàõ
LAN-ä õîëáîãäñîí ìàøèí äýýð èðæ áàéãàà äóóäëàãóóäûã õ³ëýýí àâàõààð áîëãîæ ppp-ã òîõèðóóëàõäàà LAN óðóó ïàêåòóóäûã äàìæóóëàõûã õ³ñýæ áàéãàà ýñýõýýñýý õàìààð÷ ³³íèéã øèéäýõ ¼ñòîé. Õýðýâ òà
700
Chapter 27 PPP áîëîí SLIP
èíãýõèéã õ³ñýæ áàéãàà áîë °°ðèéí LAN-èé äýä ñ³ëæýýíýýñ IP õàÿãèéã í°ã°° òàëäàà õóâààðèëæ °ã°õ õýðýãòýé á°ã°°ä °°ðèéí /etc/ppp/ppp.conf àéëä enable proxy òóøààëûã àøèãëàõ õýðýãòýé. /etc/rc.conf àéë äîîð äóðäñàíûã àãóóëæ áàéãàà ýñýõèéã áàñ áàòàëãààæóóëàõ õýðýãòýé: gateway_enable="YES"
27.2.1.2.4 Àëü getty?
getty(8) àøèãëàí dial-up áóþó ãàäàãø çàëãàõ ³éë÷èëãýýí³³äèéã èäýâõæ³³ëýõ òóõàé ñàéí òàéëáàðûã Dial-up áóþó ãàäàãø çàëãàõ ³éë÷èëãýýí³³äýä çîðèóëæ FreeBSD-ã òîõèðóóëàõ õýñýã °ãä°ã.
òýé ò°ñòýé ïðîãðàì íü dial-up øóãàìóóäûã áîäîëöîæ õèéñýí getty-èéí èë³³ óõààëàã õóâèëáàð áîëîõ mgetty (http://www.leo.org/~doering/mgetty/index.html) þì. mgetty-ã àøèãëàõûí äàâóó òàë íü òýðýýð ìîäåìóóäòàé èäýâõòýéãýýð ÿðèëöäàã ÿâäàë á°ã°°ä ýíý íü þó ãýñýí ³ã âý ãýõýýð õýðýâ òàíû ïîðò õààãäñàí áîë ìîäåì ÷èíü óòñàíä õàðèóëàõã³é ãýñýí ³ã þì. mgetty-èéí ñ³³ëèéí õóâèëáàðóóä íü (0.99beta-ààñ ýõëýí) òàíû êëèåíò³³äýä ñêðèïòã³éãýýð òàíû ñåðâåðò õàíäàõ õàíäàëòûã ç°âø°°ð÷ PPP óðñãàëóóäûí àâòîìàò èëð³³ëýëòèéã áàñ äýìæäýã. mgetty-èéí òóõàé äýëãýðýíã³é ìýäýýëëèéã Mgetty áà AutoPPP õàÿãààñ ëàâëàíà óó. getty-
27.2.1.2.5 PPP
ç°âø°°ðë³³ä
ppp òóøààëûã root õýðýãëýã÷ýýð õýâèéí ³åä àæèëëóóëàõ ¼ñòîé. ýõäýý õýðýâ òà ppp-ã äîîð òàéëáàðëàñíû àäèëààð ýíãèéí õýðýãëýã÷ýýð ñåðâåðèéí ãîðèìä àæèëëóóëàõ áîëîìæòîé áîëãîõûã õ³ñýæ áàéãàà áîë õýðýãëýã÷èéã ppp àæèëëóóëàõ ç°âø°°ð°ëòýé áîëãîæ òýäãýýðèéã /etc/group àéëä network á³ëýãò íýìýõ ¼ñòîé. Òà allow òóøààëûã àøèãëàí òîõèðãîîíû àéëûí íýã áóþó õýä õýäýí õýñã³³äýä õàíäàõ áîëîìæèéã áàñ °ã°õ øààðäëàãàòàé áîëíî: allow users fred mary
Õýðýâ ýíý òóøààë íü default õýñýãò õýðýãëýãäñýí áîë çààñàí õýðýãëýã÷äýä á³õ ç³éë óðóó õàíäàõ áîëîìæèéã îëãîíî. 27.2.1.2.6 Äèíàìèê IP-òàé õýðýãëýã÷äýä çîðèóëñàí PPP á³ðõ³³ë³³ä
äîîð äóðäñàíûã àãóóëñàí /etc/ppp/ppp-shell ãýãäýõ àéëûã ³³ñãýíý:
#!/bin/sh IDENT=‘echo $0 | sed -e ’s/^.*-\(.*\)$/\1/’‘ CALLEDAS="$IDENT" TTY=‘tty‘ if [ x$IDENT = xdialup ]; then IDENT=‘basename $TTY‘ fi echo "PPP for $CALLEDAS on $TTY" echo "Starting PPP for $IDENT"
701
Chapter 27 PPP áîëîí SLIP
exec /usr/sbin/ppp -direct $IDENT
Ýíý ñêðèïò íü àæèëëàõààð áîëñîí áàéõ ¼ñòîé. Îäîî ýíý ñêðèïò óðóó ppp-dialup ãýãäñýí ñèìáîëûí õîëáîîñûã äàðààõ òóøààëóóäûã àøèãëàí ³³ñãýõ õýðýãòýé: # ln -s ppp-shell /etc/ppp/ppp-dialup
Òà ýíý ñêðèïòèéã °°ðèéí á³õ dialup õýðýãëýã÷äèéí õóâüä á³ðõ³³ë ìàÿãààð àøèãëàõ ¼ñòîé. Ýíý íü pchilds ãýñýí õýðýãëýã÷èéí íýðòýé dialup PPP õýðýãëýã÷èä çîðèóëñàí /etc/passwd àéëä áàéãàà æèøýý þì (íóóö ³ãèéí àéëûã øóóä áèòãèé çàñààðàé, vipw(8)-ã àøèãëààðàé). pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Äàðààõ 0 áàéò àéëóóäûã àãóóëñàí á³ãä áè÷èõ áîëîìæòîé /home/ppp ñàíã ³³ñãýíý: -r--r--r--r--r--r--
1 root 1 root
wheel wheel
0 May 27 02:23 .hushlogin 0 May 27 02:22 .rhosts
Ýíý íü /etc/motd àéëû㠳糳ëýõýýñ ñýðãèéëäýã. 27.2.1.2.7 Ñòàòèê IP-òàé õýðýãëýã÷äýä çîðèóëñàí PPP á³ðõ³³ë³³ä
Äýýð äóðäñàíû àäèë ppp-shell àéë ³³ñãýýä ñòàòèêààð °ã°ãäñ°í IP-òàé á³ðòãýë á³ðèéí õóâüä ppp-shell óðóó ñèìáîëûí õîëáîîñ ³³ñãýíý. Æèøýý íü õýðýâ òà fred, sam, áîëîí mary ãýñýí ãóðâàí dialup õýðýãëýã÷òýé á°ã°°ä òýäãýýðò çîðèóëæ /24 CIDR ñ³ëæýýí³³äèéã ÷èãë³³ëæ áàéãàà áîë äàðààõ òóøààëûã àæèëëóóëæ áîëîõ þì: # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
Ýäãýýð õýðýãëýã÷äèéí dialup á³ðòãýë á³ð °°ðñäèéí á³ðõ³³ëèéã äýýð ³³ñãýñýí ñèìáîëûí õîëáîîñ óðóó çààñàí áàéõ ¼ñòîé (æèøýý íü mary-èéí á³ðõ³³ë /etc/ppp/ppp-mary áàéõ ¼ñòîé). 27.2.1.2.8 Äèíàìèê IP-òàé õýðýãëýã÷äýä çîðèóëæ ppp.conf -ã òîõèðóóëàõ /etc/ppp/ppp.conf
àéë äîîð äóðäñàíòàé ò°ñòýé ì°ð³³äýýñ òîãòîõ ¼ñòîé:
default: set debug phase lcp chat set timeout 0 ttyd0: set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 enable proxy ttyd1: set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 enable proxy
702
Chapter 27 PPP áîëîí SLIP Note: Äîãîë ³³ñãýõ íü ÷óõàë þì.
õýñýã íü õýñýã á³ðèéí õóâüä äóóäàãääàã. /etc/ttys àéëä èäýâõæ³³ëñýí dialup ì°ð á³ðèéí õóâüä äýýðõ ttyd0:-ä çîðèóëñàíòàé ò°ñòýé îðóóëãà ³³ñãýíý. Äèíàìèê õýðýãëýã÷äýä çîðèóëñàí IP õàÿãèéí ö°°ðì°°ñ ì°ð áîëãîí °°ð °°ð IP õàÿã àâàõ ¼ñòîé.
default:
27.2.1.2.9 Ñòàòèê IP-òàé õýðýãëýã÷äýä çîðèóëæ ppp.conf -ã òîõèðóóëàõ
Äýýðõ æèøýý /usr/share/examples/ppp/ppp.conf àéëûí àãóóëãàòàé öóã ñòàòèêààð °ã°ãäñ°í dialup õýðýãëýã÷ á³ðèéí õóâüä çîõèõ õýñýã íýìýõ øààðäëàãàòàé. Áèä °°ðñäèéí fred, sam, áîëîí mary õýðýãëýã÷èäòýé æèøýýãýý ³ðãýëæë³³ëýõ áîëíî. fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 sam: set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255 mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
àéë õýðýâ øààðäëàãàòàé áîë ñòàòèê IP-òàé õýðýãëýã÷ á³ðèéí õóâüä ÷èãë³³ëýëòèéí ìýäýýëëèéã áàñ àãóóëñàí áàéõ ¼ñòîé. Äîîðõ ì°ð íü êëèåíòèéí ppp õîëáîîñîîð 203.14.101.0/24 ñ³ëæýýíä çîðèóëæ ÷èãë³³ëýëò íýìýõ áîëíî. /etc/ppp/ppp.linkup
fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR sam: add 203.14.102.0 netmask 255.255.255.0 HISADDR mary: add 203.14.103.0 netmask 255.255.255.0 HISADDR
27.2.1.2.10 mgetty
áîëîí AutoPPP
ã òîõèðóóëãà èäýâõæ³³ëñýí áàéäëààð òîõèðóóëæ ýìõýòãýõ íü mgetty-ä PPP õîëáîëòóóäûí LCP øàòûã èëð³³ëæ àâòîìàòààð ppp á³ðõ³³ë àæèëëóóëàõ áîëîìæèéã îëãîäîã. ýõäýý àíõäàã÷ íýâòðýëò/íóóö ³ãèéí äàðààëàë áîëäîãã³é áîëîõîîð PAP àëü ýñâýë CHAP àøèãëàí õýðýãëýã÷äèéí íýâòðýëòèéã òàíèõ øààðäëàãàòàé þì. Ýíý õýñýã íü õýðýãëýã÷ AUTO_PPP òîõèðóóëãàòàéãààð mgetty-èéí õóâèëáàðûã (v0.99beta ýñâýë õîéøõ) àìæèëòòàéãààð òîõèðóóëæ ýìõýòãýí ñóóëãàñàí ãýæ ³çäýã. Òàíû /usr/local/etc/mgetty+sendfax/login.config àéë äîîð äóðäñàíûã àãóóëñàí ýñýõèéã øàëãààðàé: mgetty- AUTO_PPP
/AutoPPP/ -
-
/etc/ppp/ppp-pap-dialup
Ýíý íü èëð³³ëñýí PPP õîëáîëòóóääàà ppp-pap-dialup ñêðèïòèéã àæèëëóóëàõûã mgetty-ä õýëíý. 703
Chapter 27 PPP áîëîí SLIP
äîîð äóðäñàíûã àãóóëñàí /etc/ppp/ppp-pap-dialup àéëûã ³³ñãýíý (àéë àæèëëàõ áîëîìæòîé áàéõ ¼ñòîé): #!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT /etc/ttys-ä èäýâõæ³³ëñýí dialup ì°ð á³ðèéí õóâüä òîõèðîõ îðóóëãûã /etc/ppp/ppp.conf àéëä ³³ñãýíý. Ýíý íü áèäíèé ³³ñãýñýí òîäîðõîéëîëòóóäòàé àç æàðãàëòàéãààð öóã áàéõ áîëíî. pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy
Ýíý àðãààð íýâòýð÷ áàéãàà õýðýãëýã÷ á³ð /etc/ppp/ppp.secret àéëä õýðýãëýã÷èéí íýð/íóóö ³ãòýé áàéõ øààðäëàãàòàé, ýñâýë °°ð íýã àðãà íü /etc/passwd àéëààñ õýðýãëýã÷äèéã PAP-ààð òàíüæ íýâòð³³ëýõèéí òóëä äàðààõ òîõèðóóëãûã õèéõ ÿâäàë þì. enable passwdauth
Õýðýâ òà çàðèì õýðýãëýã÷äýä ñòàòèê IP õàÿã °ã°õèéã õ³ñâýë òà õàÿãèéã /etc/ppp/ppp.secret àéëä ãóðàâ äàõü íýìýëò °ã°ãä°ë áîëãîí çààæ °ã÷ áîëíî. Æèøýýí³³äèéã /usr/share/examples/ppp/ppp.secret.sample-ñ ³çíý ³³. 27.2.1.2.11 MS °ðã°òã°ë³³ä
DNS áîëîí NetBIOS íýðèéí ñåðâåðèéí õàÿãóóäûã øààðäëàãûí äàãóó õàíãàõààð PPP-ã òîõèðóóëàõ áîëîìæòîé áàéäàã.
PPP õóâèëáàð 1.x äýýð ýäãýýð °ðã°òã°ë³³äèéã èäýâõæ³³ëýõèéí òóëä äàðààõ ì°ð³³äèéã /etc/ppp/ppp.conf àéëûí òîõèðîõ õýñýãò íýìýõ ¼ñòîé. enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
PPP õóâèëáàð 2 áîëîí ò³³íýýñ õîéíî ãàðñàí õóâèëáàðûí õóâüä: accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Ýíý íü àíõäàã÷ áîëîí õî¼ðäîõ íýðèéí ñåðâåðèéí õàÿãóóä áîëîí NetBIOS íýðèéí ñåðâåðèéí õîñòûã êëèåíò³³äýä õýëíý. Õóâèëáàð 2 áîëîí ò³³íýýñ äýýøõèä set dns ì°ðèéã îðõèãäóóëñàí áîë PPP íü /etc/resolv.conf àéëä áàéãàà óòãóóäûã àøèãëàõ áîëíî.
704
Chapter 27 PPP áîëîí SLIP 27.2.1.2.12 PAP áîëîí CHAP íýâòðýëò øàëãàëò
Òàíû õîëáîëòûí íýâòðýëò òàíèëòûí õýñãèéã PAP þì óó ýñâýë CHAP íýâòðýëò òàíèëòûí àðãóóäûã àøèãëàí õèéäýã áàéõààð çàðèì ISP-óóä °°ðñäèéí ñèñòåìèéã òîõèðóóëäàã. Õýðýâ èéì áîë òàíû ISP íü login: õ³ëýýõ ì°ðèéã òàíûã õîëáîãäîõ ³åä õàðóóëäàãã³é á°ã°°ä PPP íýí äàðóé ÿðüæ ýõëýõ áîëíî. PAP íü CHAP-ààñ àþóëã³é áàéäëûí õóâüä äóòóó áàéäàã á°ã°°ä íóóö ³ã íü PAP-ààð öýâýð òåêñò ìàÿãààð èëãýýãääýã áîëîâ÷ öóâàà øóãàìààð ç°âõ°í äàìæóóëàãääàã áîëîõîîð àþóëã³é áàéäàë íü íóóö ³ã³³äýä áàéäàã àñóóäàë øèã áèø áàéäàã. Ýâäëýã÷äýä çîðèóëñàí “ñýì ÷àãíàõ” çàé áàðàã áàéäàãã³é ãýñýí ³ã þì. PPP áîëîí ñòàòèê IP õàÿãóóä ýñâýë PPP áîëîí äèíàìèê IP õàÿãóóä õýñã³³äèéí õóâüä äàðààõ °°ð÷ë°ëò³³äèéã õèéõ ¼ñòîé: 13 14 15
set authname MyUserName set authkey MyPassword set login
Ì°ð 13: Ýíý ì°ð íü òàíû PAP/CHAP õýðýãëýã÷èéí íýðèéã çààíà. Òà MyUserName-ä ç°â óòãûã îðóóëàõ õýðýãòýé áîëíî. Ì°ð 14: Ýíý ì°ð íü òàíû PAP/CHAP íóóö ³ãèéã çààíà. Òà MyPassword-ä ç°â óòãûã îðóóëàõ õýðýãòýé áîëíî. Òà äàðààõ øèã íýìýëò ì°ð íýìýõèéã õ³ñýõ þì óó: 16
accept PAP
ýñâýë 16
accept CHAP
ãýæ áîëíî. Èíãýñíýýð ³³íèéã çîðèóä òîäîðõîé áîëãîõ þì, ãýõäýý PAP áîëîí CHAP-èéã õîþóëàíã àíõäàã÷ààð õ³ëýýí àâäàã. Ì°ð 15: Õýðýâ òà PAP ýñâýë CHAP àøèãëàæ áàéãàà áîë òàíû ISP õýâèéí ³åä ñåðâåð óðóó íýâòðýí îðîõûã øààðääàãã³é. Òèéì áîëîõîîð òà °°ðèéí “set login” ì°ðèéã õààõ ¼ñòîé. 27.2.1.2.13 °ðèéí ppp òîõèðãîîã ÿâöûí äóíä øóóä °°ð÷ë°õ íü
ppp-ã àð òàëä äàëä àæèëëàæ áàéõàä ò³³íòýé ç°âõ°í òîõèðîõ îíîøëîãîîíû ïîðò òîõèðóóëàãäñàí òîõèîëäîëä õàðèëöàæ áîëäîã. ³íèéã õèéõèéí òóëä °°ðèéí òîõèðãîîíäîî äàðààõ ì°ðèéã íýìíý: set server /var/run/ppp-tun%d DiagnosticPassword 0177
Ýíý íü êëèåíò³³äèéí õàíäàëòûã ç°âø°°ð°õèéí °ìí° òýäíýýñ íóóö ³ãèéã àñóóæ çààñàí UNIX äîìýéí ñîêåò äýýð ñîíñîõûã PPP-ä õýëíý. Íýðýí äýõ %d íü àøèãëàãäàæ áàéãàà tun ò°õ°°ð°ìæèéí äóãààðààð ñîëèãäîíî. Ñîêåò òîõèðóóëàãäñàíû äàðàà pppctl(8) ïðîãðàì íü àæèëëàæ áàéãàà ïðîãðàìûã óäèðäàõûã õ³ñýæ áàéãàà ñêðèïò³³äýä àøèãëàãäàæ áîëíî.
705
Chapter 27 PPP áîëîí SLIP 27.2.1.3 PPP-èéí Network Address Translation áóþó ѳëæýýíèé Õàÿãèéí Õ°ðâ³³ëýëò áîëîìæèéã àøèãëàõ íü PPP íü ö°ìèéí divert áóþó °°ð÷ë°í äàìæóóëàõ áîëîìæóóäûã àøèãëàëã³éãýýð äîòîîä NAT-èéã àøèãëàõ ÷àäâàðòàé áàéäàã. /etc/ppp/ppp.conf àéë äàõü äàðààõ ì°ð°°ð ýíý áîëîìæèéã èäýâõæ³³ëæ áîëíî: nat enable yes
°ð°°ð, PPP NAT-èéã òóøààëûí ì°ðèéí -nat òîõèðóóëãààð èäýâõæ³³ëæ áîëîõ þì. Ì°í /etc/rc.conf àéëûí õóâüñàã÷ ppp_nat ãýæ áàéõ á°ã°°ä ýíý íü àíõäàã÷ààð èäýâõæ³³ëýãäñýí áàéíà. Õýðýâ òà ýíý áîëîìæèéã àøèãëàæ áàéãàà áîë èðæ áàéãàà õîëáîëòóóäûí öààø äàìæóóëàëòûã èäýâõæ³³ëýõ äàðààõ /etc/ppp/ppp.conf àéëûí òîõèðóóëãóóäûí àøèãòàéã õàðæ áîëîõ þì: nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http
ýñâýë ãàäíà òàëä åð°°ñ°° áèòãèé èòãýýðýé nat deny_incoming yes
27.2.1.4 Ñèñòåìèéí ñ³³ëèéí òîõèðãîî
Òà îäîî ppp-ã òîõèðóóë÷èõëàà, ãýõäýý ÿã àæèëëàõàä áýëýí áîëîõûí °ìí° õèéõ ö°°í õýäýí ç³éëñ áèé. Òýäãýýð íü á³ãä /etc/rc.conf àéëûã çàñâàðëóóëàõ áîëíî. Ýíý àéëòàé äýýðýýñ äîîø àæèëëàõäàà hostname= ì°ð òîõèðóóëàãäñàí ýñýõèéã øàëãààðàé, °°ð°°ð õýëáýë: hostname="foo.example.com"
Õýðýâ òàíû ISP òàíä ñòàòèê IP õàÿã áîëîí íýð °ãñ°í áîë òà ýíý íýðèéã õîñòûí íýðýíäýý àøèãëàõ íü ìàãàäã³é ç³éòýé þì. network_interfaces õóâüñàã÷èéã õàéãààðàé. Õýðýâ òà °°ðèéí ñèñòåìèéã ISP óðóóãàà øààðäëàãà õ³ñýëòýýð çàëãàõààð òîõèðóóëàõûã õ³ñâýë tun0 ò°õ°°ð°ìæèéã æàãñààëòàä íýìñýí ýñýõýý áàòàëãààæóóëààðàé, õýðýâ òýãæ õ³ñýýã³é áîë ò³³íèéã óñòãààðàé. network_interfaces="lo0 tun0" ifconfig_tun0= Note: ifconfig_tun0 õóâüñàã÷ õîîñîí áàéõ ¼ñòîé á°ã°°ä /etc/start_if.tun0 ¼ñòîé. Ýíý àéë íü äàðààõ ì°ðèéã àãóóëñàí áàéõ ¼ñòîé:
ãýæ íýðëýãäñýí àéëûã ³³ñãýõ
ppp -auto mysystem
Ýíý ñêðèïò íü ñ³ëæýý òîõèðóóëàõ ³åä òàíû ppp äýìîíã àâòîìàò ãîðèìä ýõë³³ëýí àæèëëàäàã. Õýðýâ òà ýíý ìàøèí ãàðö áîëæ áàéãàà LAN-òàé áîë -alias ñîíãîëòûã àøèãëàõûã õ³ñýæ áîëîõ þì. Èë³³ äýëãýðýíã³é ìýäýýëëèéã ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó.
Òàíû /etc/rc.conf àéëä ÷èãë³³ëýëòèéí ïðîãðàì NO ãýæ äàðààõ ì°ð°°ð õèéãäñýí ýñýõèéã øàëãààðàé: 706
Chapter 27 PPP áîëîí SLIP router_enable="NO"
äýìîí íü ýõëýõã³é áàéõ íü ÷óõàë þì. Ó÷èð íü routed íü ppp-èéí ³³ñãýñýí àíõäàã÷ ÷èãë³³ëýëòèéí õ³ñíýãòèéí îðóóëãóóäûã óñòãàäàã þì. sendmail_flags ì°ð -q òîõèðóóëãûã àãóóëààã³é ýñýõèéã øàëãàõ íü ìàãàäã³é ç³éòýé þì. Òýãýõã³é áîë sendmail íü òàíû ìàøèíûã ãàäàãø çàëãóóëàí ³ðãýëæ ñ³ëæýýíèé õàéëò õèéõèéã îðîëäîõ áîëíî. Òà äîîð äóðäñàíûã òîõèðóóëæ áîëîõ þì: routed
sendmail_flags="-bd"
³íèé ñóë òàë íü ppp õîëáîîñ òîãòñîí ³åä òà äîîð äóðäñàíûã áè÷èæ sendmail-ýýð çàõèäëûí äàðààëëûã äàõèí øàëãóóëæ áàéõ ÿâäàë þì: # /usr/sbin/sendmail -q
Òà ³³íèéã õèéõèéí òóëä ppp.linkup àéëä !bg òóøààëûã àøèãëàõûã õ³ñýæ áîëîõ þì: 1 2 3 4
provider: delete ALL add 0 0 HISADDR !bg sendmail -bd -q30m
Õýðýâ òàíä ýíý òààëàãäàõã³é áàéãàà áîë SMTP óðñãàëûã õààõûí òóëä “dfilter”-ã òîõèðóóëàõ áîëîìæòîé áàéäàã. Èë³³ äýëãýðýíã³é ìýäýýëëèéã æèøýý àéëóóäààñ ëàâëàíà óó. Îäîî ìàøèíûã äàõèí à÷ààëàõ ë ³ëäëýý. Äàõèí à÷ààëñíû äàðàà òà äîîð äóðäñàíûã áè÷èæ: # ppp
äàðàà íü PPP ñåññèéã ýõë³³ëýõèéí òóëä dial provider òóøààëûã àæèëëóóëàõ þì óó ýñâýë ãàäàãøàà óðñãàë áàéãàà (á°ã°°ä òà start_if.tun0 ñêðèïò ³³ñãýýã³é) áîë ñåññ³³äèéã àâòîìàòààð òîãòîîäãîîð ppp-ã áàéëãàõûã õ³ñýæ áàéãàà áîë äîîð äóðäñàíûã áè÷ýýðýé: # ppp -auto provider
27.2.1.5 ijãíýëò
ijãíýõýä ppp-ã ýõíèé óäàà òîõèðóóëàõàä äàðààõ àëõìóóä øààðäëàãàòàé: Êëèåíò òàë: 1. 2. 3. 4. 5. 6.
Òàíû ö°ìä tun ò°õ°°ð°ìæ á³òýýãäñýí ýñýõèéã øàëãàíà. /dev ñàíä tunN ò°õ°°ð°ìæèéí àéë áàéãàà ýñýõèéã øàëãàíà. /etc/ppp/ppp.conf àéëä îðóóëãà ³³ñãýíý. pmdemand æèøýý íü èõýíõ ISP-óóäûí õóâüä õàíãàëòòàé áàéõ ¼ñòîé. Õýðýâ òà äèíàìèê IP õàÿãòàé áîë /etc/ppp/ppp.linkup àéëä îðóóëãà ³³ñãýýðýé. °ðèéí /etc/rc.conf àéëûã øèíý÷èëíý. Õýðýâ òàíä õýðýãöýýãýýð çàëãàõ øààðäëàãà áàéãàà áîë start_if.tun0 ñêðèïò ³³ñãýýðýé.
707
Chapter 27 PPP áîëîí SLIP
Ñåðâåð òàë: 1. 2. 3. 4. 5. 6. 7.
Òàíû ö°ìä tun ò°õ°°ð°ìæ á³òýýãäñýí ýñýõèéã øàëãàíà. /dev ñàíä tunN ò°õ°°ð°ìæèéí àéë áàéãàà ýñýõèéã øàëãàíà. /etc/passwd àéëä (vipw(8) ïðîãðàìûã àøèãëàí) îðóóëãà ³³ñãýíý. Ýíý õýðýãëýã÷äèéí ãýðèéí ñàíä ppp -direct direct-server þì óó ýñâýë ³³íòýé àäèëûã àæèëëóóëàõ õóâèéí òîõèðãîîã (profile) ³³ñãýíý. /etc/ppp/ppp.conf àéëä îðóóëãà ³³ñãýíý. direct-server æèøýý õàíãàëòòàé áàéõ ¼ñòîé. /etc/ppp/ppp.linkup àéëä îðóóëãà ³³ñãýíý. °ðèéí /etc/rc.conf àéëûã øèíý÷èëíý.
27.3
Ö°ìèéí PPP-ã àøèãëàõ
Õýñã³³äèéã àíõëàí õóâü íýìýð áîëãîí îðóóëñàí åííàäèé Á. Ñîðîêîïóä and îáåðò Õà. 27.3.1
Ö°ìèéí PPP òîõèðóóëàõ
Òà °°ðèéí ìàøèí äýýð PPP-ã òîõèðóóëæ ýõëýõýýñýý °ìí° pppd íü /usr/sbin ñàíä áàéãàà áîëîí /etc/ppp ñàí áàéãàà ýñýõèéã øàëãààðàé. pppd íü õî¼ð ãîðèìä àæèëëàõ ÷àääàã: 1. “Êëèåíò” ìàÿãààð — òà °°ðèéí ìàøèíûã ãàäíàõ åðò°íö óðóó PPP öóâàà õîëáîëòîîð ýñâýë ìîäåìèéí øóãàìààð õîëáîõûã õ³ñäýã.
2. “Ñåðâåð” ìàÿãààð — Òàíû ìàøèí ñ³ëæýýí äýýð áàéãàà á°ã°°ä áóñàä êîìïüþòåðóóäûã PPP àøèãëàí õîëáîõîä õýðýãëýãäýíý.
Àëü ÷ òîõèîëäîë áàéëàà ãýñýí òà òîõèðóóëãóóäûí àéëûã (/etc/ppp/options ýñâýë õýðýâ òà PPP àøèãëàæ áàéãàà °°ðèéí ìàøèí äýýðýý íýãýýñ èë³³ îëîí õýðýãëýã÷èäòýé áîë ~/.ppprc) òîõèðóóëàõ õýðýãòýé áîëíî. Òà çàëãàæ àëñûí õîñòòîé õîëáîëò òîãòîîõûí òóëä òàíä áàñ çàðèì ìîäåì/öóâàà ïðîãðàì õàíãàìæ (comms/kermit-ã àëü áîëîõ ýðõýìëýõ) õýðýãòýé áîëíî.
ã êëèåíò ìàÿãààð àøèãëàõ
27.3.2 pppd-
Based on information provided by Òðåâ îéäõàóç.
Äàðààõ /etc/ppp/options àéë íü Cisco òåðìèíàë ñåðâåðèéí PPP øóãàì óðóó õîëáîãäîõîä õýðýãëýãäýæ áîëîõ þì. crtscts modem noipdefault
# enable hardware flow control # modem control line # remote PPP server must supply your IP address
708
Chapter 27 PPP áîëîí SLIP # if the remote host does not send your IP during IPCP # negotiation, remove this option passive # wait for LCP packets domain ppp.foo.com # put your domain name here :remote_ip
defaultroute
# put the IP of remote PPP host here # it will be used to route packets via PPP link # if you didn’t specified the noipdefault option # change this line to local_ip:remote_ip # put this if you want that PPP server will be your # default router
Õîëáîãäîõûí òóëä: 1.
2. 3.
Àëñûí õîñò óðóó Kermit (ýñâýë °°ð áóñàä ìîäåìèéí ïðîãðàì) àøèãëàí çàëãàæ °°ðèéí õýðýãëýã÷èéí íýð áîëîí íóóö ³ãèéã (ýñâýë àëñûí õîñò äýýð PPP-ã èäýâõæ³³ëýõýä øààðäëàãàòàé òýð ç³éëèéã) îðóóëíà. Kermit-ñ ãàðíà (øóãàìûã òàñëàëã³éãýýð). Äîîð äóðäñàíûã îðóóëíà: # /usr/sbin/pppd /dev/tty01 19200
Òîõèðîõ õóðä áîëîí ò°õ°°ð°ìæèéí íýðèéã àøèãëàõàà ìàðòóóçàé. Îäîî òàíû êîìïüþòåð PPP-òýé õîëáîãäëîî. Õýðýâ õîëáîëò àìæèëòã³é áîëáîë òà /etc/ppp/options àéëä debug òîõèðóóëãûã íýìæ àñóóäëûã îëîõûí òóëä êîíñîëûí ìýäýãäë³³äèéã øàëãàíà. Äàðààõ /etc/ppp/pppup ñêðèïò íü á³õ 3 àëõìûã àâòîìàò áîëãîíî: #!/bin/sh pgrep -l pppd pid=‘pgrep pppd‘ if [ "X${pid}" != "X" ] ; then echo ’killing pppd, PID=’ ${pid} kill ${pid} fi pgrep -l kermit pid=‘pgrep kermit‘ if [ "X${pid}" != "X" ] ; then echo ’killing kermit, PID=’ ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.dial pppd /dev/tty01 19200 /etc/ppp/kermit.dial íü Kermit ñêðèïò á°ã°°ä ãàäàãø çàëãàæ á³õ øààðäëàãàòàé íýâòðýëò òàíèóëàëòûã àëñûí õîñò äýýð õèéäýã (ýíý áàðèìòûí ò°ãñã°ëä èéì ñêðèïòèéí æèøýý õàâñàðãàãäñàí áîëíî).
709
Chapter 27 PPP áîëîí SLIP
Äàðààõ /etc/ppp/pppdown ñêðèïòèéã àøèãëàæ PPP øóãàìûã ñàëãàæ áîëíî: #!/bin/sh pid=‘pgrep pppd‘ if [ X${pid} != "X" ] ; then echo ’killing pppd, PID=’ ${pid} kill -TERM ${pid} fi pgrep -l kermit pid=‘pgrep kermit‘ if [ "X${pid}" != "X" ] ; then echo ’killing kermit, PID=’ ${pid} kill -9 ${pid} fi /sbin/ifconfig ppp0 down /sbin/ifconfig ppp0 delete kermit -y /etc/ppp/kermit.hup /etc/ppp/ppptest
àæèëëàæ áàéãàà ýñýõèéã øàëãàõûí òóëä /usr/etc/ppp/ppptest-ã àæèëëóóëíà. Ýíý íü èéìýðõ³³ õàðàãäàõ ¼ñòîé:
pppd
#!/bin/sh pid=‘pgrep pppd‘ if [ X${pid} != "X" ] ; then echo ’pppd running: PID=’ ${pid-NONE} else echo ’No pppd running.’ fi set -x netstat -n -I ppp0 ifconfig ppp0
Ìîäåìèéã ñàëãàæ áóöààæ çàëãàõûí òóëä /etc/ppp/kermit.hup-ã àæèëëóóëíà. Ýíý íü äîîð äóðäñàíûã àãóóëàõ ¼ñòîé: set set set set set set set set set set set
line /dev/tty01 ; put your modem device here speed 19200 file type binary file names literal win 8 rec pack 1024 send pack 1024 block 3 term bytesize 8 command bytesize 8 flow none
pau 1 out +++ inp 5 OK
710
Chapter 27 PPP áîëîí SLIP out ATH0\13 echo \13 exit
Ýíä kermit òóøààëûí îðîíä chat òóøààë õýðýãëýõ °°ð àðãà áàéíà: Äàðààõ õî¼ð ì°ð íü pppd õîëáîëòûã õèéõýä õàíãàëòòàé áàéäàã. /etc/ppp/options: /dev/cuad1 115200 crtscts # enable hardware flow control modem # modem control line connect "/usr/bin/chat -f /etc/ppp/login.chat.script" noipdefault # remote PPP serve must supply your IP address # if the remote host doesn’t send your IP during # IPCP negotiation, remove this option passive # wait for LCP packets domain your.domain # put your domain name here : # put the IP of # it will # #
remote PPP host here be used to route packets via PPP link if you didn’t specified the noipdefault option change this line to local_ip:remote_ip
defaultroute # put this if you want that PPP server will be # your default router /etc/ppp/login.chat.script: Note: Äàðààõ íü íýã ì°ð°íä áàéõ ¼ñòîé.
ABORT BUSY ABORT ’NO CARRIER’ "" AT OK ATDTphone.number CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: login-id TIMEOUT 5 sword: password
Ýäãýýð íü ñóóëãàãäàæ ç°â áîëæ °°ð÷ë°ãäñ°íèé äàðàà òàíû õèéõ ãàíö ç³éë áîë pppd-ã èéìýðõ³³ ìàÿãààð àæèëëóóëàõ ÿâäàë þì: # pppd
ã ñåðâåð ìàÿãààð àøèãëàõ
27.3.3 pppd-
/etc/ppp/options
àéë íü äîîð äóðäñàíòàé ò°ñòýéã àãóóëàõ ¼ñòîé:
crtscts netmask 255.255.255.0 192.114.208.20:192.114.208.165
# # # # #
Hardware flow control netmask (not required) IP’s of local and remote hosts local ip must be different from one you assigned to the Ethernet (or other)
711
Chapter 27 PPP áîëîí SLIP
domain ppp.foo.com passive modem
# # # # # #
interface on your machine. remote IP is IP address that will be assigned to the remote machine your domain wait for LCP modem line
Äàðààõ /etc/ppp/pppserv ñêðèïò íü pppd-ã ñåðâåð ìàÿãààð àæèëëàõûã çààõ áîëíî: #!/bin/sh pgrep -l pppd pid=‘pgrep pppd‘ if [ "X${pid}" != "X" ] ; then echo ’killing pppd, PID=’ ${pid} kill ${pid} fi pgrep -l kermit pid=‘pgrep kermit‘ if [ "X${pid}" != "X" ] ; then echo ’killing kermit, PID=’ ${pid} kill -9 ${pid} fi # reset ppp interface ifconfig ppp0 down ifconfig ppp0 delete # enable autoanswer mode kermit -y /etc/ppp/kermit.ans # run ppp pppd /dev/tty01 19200
Ñåðâåðèéã çîãñîîõûí òóëä ýíý /etc/ppp/pppservdown ñêðèïòèéã àøèãëàíà: #!/bin/sh pgrep -l pppd pid=‘pgrep pppd‘ if [ "X${pid}" != "X" ] ; then echo ’killing pppd, PID=’ ${pid} kill ${pid} fi pgrep -l kermit pid=‘pgrep kermit‘ if [ "X${pid}" != "X" ] ; then echo ’killing kermit, PID=’ ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.noans
712
Chapter 27 PPP áîëîí SLIP
Äàðààõ Kermit ñêðèïò íü (/etc/ppp/kermit.ans) òàíû ìîäåì äýýð àâòîìàò õàðèóëàã÷èéã íýýõ/õààõ áîëíî. Ýíý íü èéìýðõ³³ õàðàãäàõ ¼ñòîé: set set set set set set set set set set set
line /dev/tty01 speed 19200 file type binary file names literal win 8 rec pack 1024 send pack 1024 block 3 term bytesize 8 command bytesize 8 flow none
pau 1 out +++ inp 5 OK out ATH0\13 inp 5 OK echo \13 out ATS0=1\13
; change this to out ATS0=0\13 if you want to disable ; autoanswer mode
inp 5 OK echo \13 exit /etc/ppp/kermit.dial ãýñýí íýðòýé ñêðèïò íü ãàäàãø çàëãàæ àëñûí õîñò äýýð íýâòðýëò òàíèóëàõàä õýðýãëýãääýã. Òà ³³íèéã °°ðèéí õýðýãöýýíä çîðèóëàí °°ð÷ë°õ õýðýãòýé áîëíî. °ðèéí íýâòðýõ íýð áîëîí íóóö ³ãèéã ýíý ñêðèïòýä îðóóëàõ õýðýãòýé; òà áàñ îðîëòûí èëýðõèéëëèéã òàíû ìîäåì áîëîí àëñûí õîñòîîñ èðýõ õàðèóíóóäààñ õàìààðàí °°ð÷ë°õ õýðýãòýé áîëíî. ; ; put the com line attached to the modem here: ; set line /dev/tty01 ; ; put the modem speed here: ; set speed 19200 set file type binary ; full 8 bit file xfer set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none set modem hayes set dial hangup off set carrier auto ; Then SET CARRIER if necessary, set dial display on ; Then SET DIAL if necessary,
713
Chapter 27 PPP áîëîí SLIP set input echo on set input timeout proceed set input case ignore def \%x 0 goto slhup
; login prompt counter
:slcmd ; put the modem in command mode echo Put the modem in command mode. clear ; Clear unread characters from input buffer pause 1 output +++ ; hayes escape sequence input 1 OK\13\10 ; wait for OK if success goto slhup output \13 pause 1 output at\13 input 1 OK\13\10 if fail goto slcmd ; if modem doesn’t answer OK, try again :slhup clear pause 1 echo Hanging up the phone. output ath0\13 input 2 OK\13\10 if fail goto slcmd :sldial pause 1 echo Dialing. output atdt9,550311\13\10 assign \%x 0 :look clear increment \%x input 1 {CONNECT } if success goto sllogin reinput 1 {NO CARRIER\13\10} if success goto sldial reinput 1 {NO DIALTONE\13\10} if success goto slnodial reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 60 goto look else goto slhup :sllogin assign \%x 0 pause 1 echo Looking for login prompt.
; hang up the phone ; Clear unread characters from input buffer
; hayes command for on hook ; if no OK answer, put modem in command mode ; dial the number
; put phone number here ; zero the time counter
; Clear unread characters from input buffer ; Count the seconds
; login ; zero the time counter
714
Chapter 27 PPP áîëîí SLIP
:slloop increment \%x ; Count the seconds clear ; Clear unread characters from input buffer output \13 ; ; put your expected login prompt here: ; input 1 {Username: } if success goto sluid reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 10 goto slloop ; try 10 times to get a login prompt else goto slhup ; hang up and start again if 10 failures :sluid ; ; put your userid here: ; output ppp-login\13 input 1 {Password: } ; ; put your password here: ; output ppp-password\13 input 1 {Entering SLIP mode.} echo quit :slnodial echo \7No dialtone. exit 1 ; ; ; ; ;
Check the telephone line!\7
local variables: mode: csh comment-start: "; " comment-start-skip: "; " end:
27.4 PPP
õîëáîëòóóäûí àëäààã îëæ çàñâàðëàõ
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Ýíý õýñýã íü PPP-ã ìîäåìèéí õîëáîëòîîð àøèãëàõ ³åä ãàð÷ áîëîõ ö°°í àñóóäëóóäûã õàìðàõ áîëíî. Æèøýý íü ìàãàäã³é òàíä çàëãàæ õîëáîãäîõ ãýæ áàéãàà ñèñòåì ÷èíü ÿã ÿìàð õ³ëýýõ ì°ð³³äèé㠳糳ëýõèéã ìýäýõ øààðäëàãàòàé áàéæ áîëîõ þì. Çàðèì ISP-óóä ssword õ³ëýýõ ì°ðèé㠳糳ëäýã áîë çàðèì íü password ãýæ ³ç³³ëýõ áîëíî; õýðýâ ppp ñêðèïò íü ò³³íèé äàãóó áè÷èãäýýã³é áîë íýâòðýõ
715
Chapter 27 PPP áîëîí SLIP
îðîëäëîãî àìæèëòã³é áîëîõ áîëíî. ppp õîëáîëòóóäûã äèáàã õèéõ õàìãèéí ò³ãýýìýë àðãà áîë ãàðààð õîëáîãäîõ ÿâäàë þì. Äàðààõ ìýäýýëýë íü àëõàì àëõìààð ãàð õîëáîëòûã òàíä òàéëáàðëàõ áîëíî. 27.4.1
Ò°õ°°ð°ìæèéí öýã³³äèéã øàëãàíà
Õýðýâ °°ð÷ë°í òîõèðóóëñàí ö°ì àøèãëàæ áàéãàà áîë äàðààõ ì°ðèéã °°ðèéí ö°ìèéí òîõèðãîîíû àéëäàà íýìñýí ýñýõýý øàëãààðàé: device
sio
ò°õ°°ð°ìæ GENERIC ö°ìä àëü õýäèéí îðñîí áàéäàã ó÷èð ýíý òîõèîëäîëä íýìýëò àëõìóóä õýðýãã³é þì. Ìîäåì ò°õ°°ð°ìæèéí õóâüä dmesg ãàðàëòûã øàëãààðàé:
sio
# dmesg | grep sio
Òà sio ò°õ°°ð°ìæ³³äèéí òàëààð òîõèðîõ ìýäýýëë³³äèéã àâàõ ¼ñòîé. Ýäãýýð íü áèäýíä õýðýãòýé COM ïîðòóóä þì. Õýðýâ òàíû ìîäåì ñòàíäàðò öóâàà ïîðò øèã àæèëëàæ áàéâàë òà ò³³íèéã sio1, ýñâýë COM2 äýýð æàãñààãäñàí áàéõûã õàðàõ ¼ñòîé. Õýðýâ òèéì áîë òà ö°ìèéã äàõèí á³òýýõ øààðäëàãàã³é þì. sio ìîäåì sio1 äýýð ýñâýë õýðýâ òà DOS äýýð áàéãàà áîë COM2 äýýð òààð÷ áàéâàë òàíû ìîäåìèéí ò°õ°°ð°ìæ /dev/cuad1 áàéõ áîëíî. 27.4.2
àðààð õîëáîãäîõ íü
àðààð ppp-ã õÿíàæ Èíòåðíýòýä õîëáîãäîõ íü õîëáîëòûã äèáàã õèéõ þì óó ýñâýë åðä°° ë òàíû ISP ÷èíü ppp êëèåíò õîëáîëòóóäàä õýðõýí õàíääàã òàëààð ìýäýýëýë àâàõàä õóðäàí, õÿëáàð, àãóó àðãà áàéäàã. Òóøààëûí ì°ð°°ñ PPP-ã ýõë³³ëüå. Áèäíèé á³õ æèøýýí³³ä äýýð áèä PPP àæèëëóóëæ áàéãàà ìàøèíû õîñòûí íýðèéã example ãýæ àâ÷ àøèãëàõ áîëíî. Òà ppp-ã ppp ãýæ áè÷èí ýõë³³ëíý: # ppp
Áèä îäîî ppp-ã ýõë³³ëëýý. ppp ON example> set device /dev/cuad1
Áèä °°ðñäèéí ìîäåìíèé ò°õ°°ð°ìæèéã òîõèðóóëíà. Ýíý òîõèîëäîëä cuad1 áîëíî. ppp ON example> set speed 115200
Õîëáîëòûí õóðäûã òîõèðóóëíà. Ýíý òîõèîëäîëä áèä 115,200 kbps-ã àøèãëàæ áàéíà. ppp ON example> enable dns
Áèäíèé íýð òàíèã÷èéã òîõèðóóëæ /etc/resolv.conf àéëä íýðèéí ñåðâåð³³äèéí ì°ð³³äèéã íýìýõèéã ppp-ä õýëíý. ppp áèäíèé õîñòûí íýðèéã òîäîðõîéëæ ÷àäàõã³é áàéãàà áîë áèä äàðàà íü ãàðààðàà òîõèðóóëæ °ã÷ áîëíî. ppp ON example> term
Ìîäåìèéã ãàðààð õÿíàæ ÷àäàæ áàéõûí òóëä “Òåðìèíàë” ãîðèìä øèëæèõ õýðýãòýé. deflink: Entering terminal mode on /dev/cuad1
716
Chapter 27 PPP áîëîí SLIP type ’~h’ for help at
OK atdt123456789
Ìîäåìèéã ýõë³³ëýõèéí òóëä at-ã àøèãëàæ äàðàà íü atdt äýýð °°ðèéí ISP-èéí äóãààðàà íýìýýä çàëãàõ ïðîöåññîî ýõëýõ õýðýãòýé. CONNECT
Õîëáîëòûí áàòàëãàà ãàðàõ ¼ñòîé, õýðýâ áèä òîíîã ò°õ°°ð°ìæòýé õîëáîîã³é ÿìàð íýã õîëáîëòûí àñóóäëóóäòàé áàéõ áîë ýíä áèä òýäãýýðèéã øèéäýõèéã îðîëäîõ áîëíî. ISP Login:myusername
Ýíä òàíààñ õýðýãëýã÷èéí íýðèéã àñóóõ áîëíî, ISP-ýýñ °ãñ°í õýðýãëýã÷èéí íýðèéã îðóóëààä áóöàõûã äàðíà. ISP Pass:mypassword
Ýíý óäààä íóóö ³ãèéã àñóóõ áîëíî, ISP-ýýñ °ãñ°í íóóö ³ãýýð õàðèóëàõ õýðýãòýé. ßã ë FreeBSD óðóó íýâòðýí îðäîã øèã íóóö ³ã íü áóöàæ äýëãýöýä õàðàãäàõã³é. Shell or PPP:ppp
Òàíû ISP-ýýñ õàìààðààä ýíý õ³ëýýõ ì°ð íü õýçýý ÷ ãàðàõã³é áàéæ áîëîõ þì. Ýíä áèäíýýñ ³éë÷èëãýý ³ç³³ëýã÷ äýýð á³ðõ³³ë àøèãëàõ ýñýõ ýñâýë ppp ýõë³³ëýõ ýñýõèéã àñóóäàã. Ýíý æèøýýí äýýð áèä Èíòåðíýò õîëáîëòûã õ³ñýæ áàéãàà áîëîõîîð ppp-ã àøèãëàõààð ñîíãîñîí. Ppp ON example>
Ýíý æèøýýí äýýð ýõíèé p òîõèðóóëãà òîìîîð áè÷èãäñýíèéã õàðààðàé. Ýíý íü áèä ISP-ä àìæèëòòàéãààð õîëáîãäñîíûã õàðóóëæ áàéíà. PPp ON example>
Áèä ISP-ä àìæèëòòàéãààð °°ðñäèéã°° òàíèóëàí íýâòýð÷ çààãäñàí IP õàÿãèéã õ³ëýýæ áàéíà. PPP ON example>
Áèä IP õàÿã äýýðýý ç°âøèëö°æ õîëáîëòîî àìæèëòòàéãààð õèéæ äóóñãàëàà. PPP ON example>add default HISADDR
Ýíä áèä °°ðñäèéí àíõäàã÷ ÷èãë³³ëýëòýý íýìæ áàéíà. Áèä ³³íèéã ãàäíàõ åðò°íöòýé ÿðüæ ýõëýõýýñýý °ìí° õèéõ ¼ñòîé á°ã°°ä îäîîãîîð ç°âõ°í õèéãäñýí õîëáîëò íü í°ã°° òàëòàéãàà õèéãäñýí õîëáîëò áàéãàà áîëíî. Õýðýâ ýíý íü áàéãàà ÷èãë³³ëýëò³³äýýñýý áîëîîä àìæèëòã³é áîëáîë òà add òîõèðóóëãûí °ìí° àíõààðëûí òýìäýã ! òàâüæ áîëíî. °ð°°ð òà ³³íèéã æèíõýíý õîëáîëò õèéõýýñýý °ìí° òîõèðóóëæ áîëîõ á°ã°°ä ýíý íü øèíý ÷èãë³³ëýëòèéã çîõèõ ¼ñîîð òîõèðîëöîíî. Õýðýâ á³õ ç³éë ñàéí áîëæ °íã°ðñ°í áîë áèä îäîî èäýâõòýé Èíòåðíýòèéí õîëáîëòòîé áîëñîí áàéõ á°ã°°ä ³³íèéã àð òàëä CTRL+z õîñëîëîîð îðóóëæ áîëîõ þì. Õýðýâ òà PPP-ã ppp áîëîõûã àíçààðàõ þì áîë áèä °°ðñäèéí õîëáîëòîî àëäñàí ãýñýí ³ã þì. Ýíý íü áèäíèé õîëáîëòûí ò°ë°âèé㠳糳ëäýã áîëîõîîð 717
Chapter 27 PPP áîëîí SLIP
ìýäýõýä èë³³äýõã³é þì. Òîì P ³ñýãí³³ä íü áèä ISP óðóó õîëáîëòòîé áàéãàà㠳糳ëýõ á°ã°°ä æèæèã p ³ñýãí³³ä íü õîëáîëò ÿìàð íýã øàëòãààíààð òàñàðñíûã õàðóóëíà. ppp íü ç°âõ°í ýäãýýð õî¼ð ò°ë°âòýé áàéäàã. 27.4.2.1 Äèáàã õèéõ íü
Õýðýâ òà øóóä øóãàìòàé á°ã°°ä õîëáîëò õèéæ ÷àäàõã³é áàéãàà þì øèã ñàíàãäâàë CTS/RTS òîíîã ò°õ°°ð°ìæèéí óðñãàëûã set ctsrts off áîëãîí õààõ õýðýãòýé. Ýíý íü ÿëàíãóÿà òà PPP õèéæ ÷àääàã òåðìèíàë ñåðâåðò õîëáîãäîõ òîõèîëäîë þì. Ýíý òîõèîëäîëä PPP íü òàíû õîëáîîíû øóãàì äýýð °ã°ãäëèéã áè÷èõýýð îðîëäîõ ³åä °ëã°ãä°æ õýçýý ÷ èðýõã³é áàéæ áîëîõ CTS þì óó ýñâýë Clear To Send áóþó Èëãýýõýä Öýâýð äîõèîã õ³ëýýæ áàéæ áîëîõ þì. Õýðýâ òà ýíý òîõèðóóëãûã àøèãëàõ þì áîë set accmap òîõèðóóëãûã áàñ õýðýãëýõ øààðäëàãàòàé. Ýíý òîõèðóóëãà íü çàðèì íýã ïàðàìåòð³³äèéã, èõýíõ òîõèîëäîëä XON/XOFF-ã ò°ãñã°ë°°ñ ò°ãñã°ëä äàìæóóëàõàä òîíîã ò°õ°°ð°ìæèéí õóâüä õàìààðàëòàé áàéäëûã ³ã³é õèéõèéí òóëä øààðäëàãàòàé áàéæ áîëîõ þì. Ýíý òîõèðóóëãûí òàëààð äýëãýðýíã³é ìýäýýëëèéã áîëîí õýðõýí àøèãëàãääàã òàëààð ppp(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Õýðýâ òà õóó÷èí ìîäåìòîé áîë set parity even òîõèðóóëãûã àøèãëàõ õýðýãòýé áîëæ áîëîõ þì. Parity íü àíõäàã÷ààð none áóþó áàéõã³é ãýæ òîõèðóóëàãäñàí áàéäàã áîëîâ÷ õóó÷èí ìîäåìóóä áîëîí ISP-óóäàä (óðñãàëûí õóâüä èõ õýìæýýãýýð èõñýõýä) àëäàà øàëãàõàä õýðýãëýãääýã. Compuserve ISP-èéí õóâüä òàíä ýíý òîõèðóóëãà õýðýãòýé áàéæ áîëîõ þì. PPP íü òóøààëûí ãîðèìä áóöàõã³é áàéæ áîëîõ þì. Ýíý íü èõýâ÷ëýí ISP íü òàíààñ õàðèëöàí òîõèðîëöîõûã ýõë³³ëýõèéã õ³ëýýõ òîõèðîëöîîíû àëäàà áàéäàã. Ýíý ³åä ~p òóøààëûã àøèãëàõ íü ppp-ã òîõèðãîîíû ìýäýýëëýý èëãýýæ ýõëýõýä õ³ðãýõ áîëíî. Õýðýâ òà íýâòðýëò õ³ëýýõ ì°ðèéã õýçýý ÷ àâàõã³é áàéãàà áîë òà ìàãàäã³é äýýðõ æèøýýí äýýðõ UNIX çàãâàðûí íýâòðýëò òàíèëòûí îðîíä PAP þì óó ýñâýë CHAP íýâòðýëò òàíèëòûã àøèãëàõ õýðýãòýé áàéæ áîëîõ þì. PAP ýñâýë CHAP-ã àøèãëàõûí òóëä åðä°° ë äàðààõ òîõèðóóëãóóäûã PPP-ä òåðìèíàë ãîðèì óðóó îðîõîîñ °ìí° íýìýõ õýðýãòýé: ppp ON example> set authname myusername
Äýýð áàéãàà myusername-ã ISP-ñ °ã°ãäñ°í õýðýãëýã÷èéí íýðýýð ñîëèõ øààðäëàãàòàé. ppp ON example> set authkey mypassword
Äýýð áàéãàà mypassword-ã ISP-ñ °ã°ãäñ°í íóóö ³ãýýð ñîëèõ øààðäëàãàòàé. Õýðýâ òà ç³ãýýð õîëáîãäñîí ì°ðòë°° ÿìàð ÷ äîìýéí íýð îëîõã³é áàéãàà þì øèã áàéâàë ping(8) òóøààëûã IP õàÿãòàé àøèãëàæ ÿìàð íýã ìýäýýëýë áóöàæ èðæ áàéãàà ýñýõèéã øàëãàõ õýðýãòýé. Õýðýâ òà 100 õóâèéí (100%) ïàêåòèéí àëäàãäàëä îðæ áàéâàë òàíä áàðàã ë àíõäàã÷ ÷èãë³³ëýëò çààãäààã³é áàéãàà ãýñýí ³ã þì. Õîëáîëòûí ³åýð add default HISADDR òîõèðóóëãà òîõèðóóëàãäñàí ýñýõèéã äàâõàð øàëãààðàé. Õýðýâ òà àëñûí IP õàÿã óðóó õîëáîãäîæ ÷àäàæ áàéâàë íýð òàíèã÷èéí õàÿã /etc/resolv.conf àéëä íýìýãäýýã³é áàéõ ìàãàäëàëòàé þì. Ýíý àéë íü èéìýðõ³³ õàðàãäàõ ¼ñòîé: domain example.com nameserver x.x.x.x nameserver y.y.y.y
Äýýð áàéãàà x.x.x.x áîëîí y.y.y.y íü òàíû ISP-èéí DNS ñåðâåð³³äèéí IP õàÿãààð ñîëèãäîõ ¼ñòîé. Òàíûã ³éë÷èëãýýíä ýõýëæ á³ðòã³³ëýõýä ýíý ìýäýýëýë °ã°ãäñ°í þì óó ýñâýë °ã°ãä°°ã³é áàéæ áîëîõ á°ã°°ä °°ðèéí ISP óðóóãàà õóðäõàí óòàñäàæ ýíý ìýäýýëëèéã ìýäýæ áîëîõ þì.
718
Chapter 27 PPP áîëîí SLIP
Òà °°ðèéí PPP õîëáîëòîíäîî çîðèóëæ syslog(3)-ã á³ðòãýë áè÷èõýýð áîëãîæ áîëíî. Äàðààõ: !ppp *.*
/var/log/ppp.log
ì°ðèéã /etc/syslog.conf àéëä íýìíý. Èõýíõ òîõèîëäîëä ýíý áîëîìæ àëü õýäèéí îðñîí áàéäàã.
27.5 Ethernet
äýýã³³ð PPP àøèãëàõ íü (PPPoE)
Õóâü íýìýð áîëãîí (http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html õàÿãààñ) îðóóëñàí Æèì Ìîê. Ýíý õýñýã íü Ethernet äýýã³³ð PPP (PPPoE) õýðõýí òîõèðóóëàõ òàëààð òàéëáàðëàõ áîëíî. 27.5.1
Ö°ìèéã òîõèðóóëàõ íü
Îäîî PPPoE-ä çîðèóëñàí ö°ìèéí òîõèðãîî øààðäëàãàòàé áàéõàà áîëüæýý. Õýðýâ øààðäëàãàòàé netgraph-èéí äýìæëýã ö°ìä á³òýýãäýýã³é áîë ýíý íü äèíàìèêààð ppp-ýýð äóóäàãäàõ áîëíî. 27.5.2 ppp.conf
àéëûã òîõèðóóëàõ
Ýíä àæèëëàäàã ppp.conf àéëûí æèøýý áàéíà: default: set log Phase tun command # you can add more detailed logging if you wish set ifaddr 10.0.0.1/0 10.0.0.2/0 name_of_service_provider: set device PPPoE:xl1 # replace xl1 with your Ethernet device set authname YOURLOGINNAME set authkey YOURPASSWORD set dial set login add default HISADDR
ã àæèëëóóëàõ
27.5.3 ppproot
õýðýãëýã÷ýýð òà äîîð äóðäñàíûã àæèëëóóëæ áîëíî:
# ppp -ddial name_of_service_provider
ã à÷ààëàõ ³åä ýõë³³ëýõ
27.5.4 ppp-
äîîð äóðäñàíûã °°ðèéí /etc/rc.conf àéëä íýìíý: ppp_enable="YES"
719
Chapter 27 PPP áîëîí SLIP ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO ppp_profile="name_of_service_provider"
27.5.5 PPPoE
³éë÷èëãýýíèé õàÿãèéã àøèãëàõ
Çàðèìäàà °°ðèéí õîëáîëòûã õèéõèéí òóëä ³éë÷èëãýýíèé õàÿãèéã àøèãëàõ øààðäëàãàòàé áîëæ áîëîõ þì. éë÷èëãýýíèé õàÿãóóä íü °ã°ãäñ°í ñ³ëæýýíä çàëãàãäñàí °°ð °°ð PPPoE ñåðâåð³³äèéã ÿëãàõûí òóëä õýðýãëýãääýã. Òàíû ISP-ýýñ °ãñ°í áàðèìòàä øààðäëàãàòàé ³éë÷èëãýýíèé õàÿãèéí ìýäýýëýë áàéõ ¼ñòîé. Õýðýâ òà èéì ìýäýýëýë îëîîã³é áîë °°ðèéí ISP-èéí òåõíèêèéí äýìæëý㠳糳ëýã÷ àæèëòíààñ àñóóãààðàé. Õàìãèéí ñ³³ëä òà Ïîðòûí öóãëóóëãàä áàéõ Àðõèðàõ Îöîí øóâóó PPPoE (http://www.roaringpenguin.com/pppoe/) õàÿãò ñàíàë áîëãîñîí àðãûã òóðøèæ áîëîõ þì. ýõäýý ýíý íü òàíû ìîäåìèéã áóöààí ïðîãðàì÷èëæ àæèëëàãààã³é áîëãîæ ìàãàäã³é áîëîõîîð ³³íèéã õèéõýýñýý °ìí° äàõèí áîäîîðîé. Òàíû ³éë÷èëãýý ³ç³³ëýã÷èéí ìîäåìòîé öóã èðñýí ïðîãðàìûã åðä°° ë ñóóëãààðàé. Äàðàà íü ïðîãðàìààñ System öýñä õàíäààðàé. Òàíû òîõèðãîîíû íýð òýíä æàãñààãäñàí áàéõ ¼ñòîé. Ýíý íü èõýâ÷ëýí ISP ãýæ áàéäàã. Òîõèðãîîíû íýð (³éë÷èëãýýíèé õàÿã) íü ppp.conf àéë äàõü PPPoE òîõèðãîîíû îðóóëãàä set device òóøààëûí ³éë÷èëãýý ³ç³³ëýã÷ õýñýã áîëîí àøèãëàãäàõ áîëíî (á³ðýí ìýäýýëëèéã ppp(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³). Ýíý íü èéìýðõ³³ õàðàãäàõ ¼ñòîé: set device PPPoE:xl1:ISP
ã °°ðèéí Ethernet êàðòíû ç°â ò°õ°°ð°ìæ°°ð ñîëèõîî ìàðòóóçàé. ISP ãýñíèéã äýýðõ ä°íã°æ îëñîí òîõèðãîîãîîð ñîëèõîî ìàðòóóçàé. Íýìýëò ìýäýýëëèéã äîîðõ õàÿãóóäààñ ³çíý ³³:
xl1-
•
åíî Âàëäóðàãèéí DSL äýýð FreeBSD-ýýð àðàé õÿìä °ðã°í çóðâàñ àøèãëàõ (Cheaper Broadband with FreeBSD on DSL) (http://renaud.waldura.com/doc/freebsd/pppoe/).
•
Óäî Ýðäåëõîèéí
Nutzung von T-DSL und T-Online mit FreeBSD (http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html) ( åðìàí õýë äýýð).
27.5.6 3Com® HomeConnect® ADSL
Õîñ Õîëáîîñ Ìîäåìòîé PPPoE
Ýíý ìîäåì íü RFC 2516 (http://www.faqs.org/rfcs/rfc2516.html) (Ë. Ìàìàêîñ, Ê. Ëèäë, Æ. Ýâàðòñ, Ä. Êàððåë, Ä. Ñèìîíå, áîëîí . Âèéëýð íàðûí áè÷ñýí PPP-ã Ethernet äýýã³³ð (PPPoE) äàìæóóëàõ àðãà ) ñòàíäàðòûã äàãàäàãã³é. Õàðèí Ethernet õ³ðýýí³³äèéí õóâüä ïàêåòèéí ò°ðëèéí °°ð êîäóóäûã àøèãëàäàã. Õýðýâ òà ³³íèéã PPPoE-èéí òîäîðõîéëîëòûã ì°ðä°õ ¼ñòîé ãýæ áîäîæ áàéãàà áîë 3Com (http://www.3com.com/) óðóó ãîìäîëëîíî óó. Ýíý ò°õ°°ð°ìæòýé FreeBSD-ã õîëáîãäîõ áîëîìæòîé áîëãîõûí òóëä sysctl òîõèðóóëàãäàõ ¼ñòîé. /etc/sysctl.conf àéëûã øèíý÷èëæ à÷ààëàëòûí ³åä ýíý íü àâòîìàòààð õèéãäýæ áîëíî: net.graph.nonstandard_pppoe=1
ýñâýë äàðààõ òóøààëààð íýí äàðóé õèéãäýæ áîëíî: 720
Chapter 27 PPP áîëîí SLIP # sysctl net.graph.nonstandard_pppoe=1
Õàðàìñàëòàé íü ýíý íü ñèñòåìèéí äàãóóõ òîõèðãîî áîëîõîîð õýâèéí PPPoE êëèåíò ýñâýë ñåðâåð áîëîí 3Com HomeConnect® ADSL ìîäåìòîé íýãýí çýðýã õîëáîãäîõ áîëîìæã³é áîëîõ þì. 27.6 ATM
äýýã³³ð PPP (PPPoA) àøèãëàõ
Äàðààõ íü ATM äýýã³³ð PPP-ã (PPPoA) õýðõýí òîõèðóóëàõ òàëààð òàéëáàðëàíà. PPPoA íü Åâðîïèéí DSL ³ç³³ëýã÷äèéí äóíä àëäàðòàé ñîíãîëò áîëäîã.
òýé PPPoA-ã àøèãëàõ íü
27.6.1 Alcatel SpeedTouch™ USB-
Ýíý ò°õ°°ð°ìæèéí PPPoA äýìæëýã íü FreeBSD-ä ïîðò õýëáýðýýð áàéäàã. Ó÷èð íü ³³íèé firmware Alcatel-èéí ëèöåíçèéí ãýðýý (http://www.speedtouchdsl.com/disclaimer_lx.htm)ãýýð ò³ãýýãääýã á°ã°°ä FreeBSD-èéí ³íäñýí ñèñòåìòýé öóã ÷°ë°°òýé ò³ãýýãäýæ áîëäîãã³é. Ïðîãðàì õàíãàìæèéã ñóóëãàõûí òóëä åðä°° ë Ïîðòóóäûí öóãëóóëãûã àøèãëàíà. net/pppoa ïîðòûã ñóóëãààä ò³³íòýé õàìò èðñýí çààâðóóäûã äàãààðàé. Îëîí USB ò°õ°°ð°ìæ³³äèéí àäèë Alcatel-èéí SpeedTouch™ USB íü ç°â àæèëëàõûí òóëä õîñò êîìïüþòåðààñ firmware òàòàõ õýðýãòýé áîëäîã. FreeBSD äýýð ýíý äàìæóóëàëò íü ò°õ°°ð°ìæ USB ïîðò óðóó õîëáîãäñîí ³åä õèéãäýõýýð áîëãîæ ýíý ïðîöåññèéã àâòîìàò÷èëàõ áîëîìæòîé. Ýíý àâòîìàò firmware äàìæóóëàëòûã èäýâõæ³³ëýõèéí òóëä äàðààõ ìýäýýëëèéã /etc/usbd.conf àéëä íýìæ áîëîõ þì. Ýíý àéëûã root õýðýãëýã÷ýýð çàñâàðëàõ øààðäëàãàòàé. device "Alcatel SpeedTouch USB" devname "ugen[0-9]+" vendor 0x06b9 product 0x4061 attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"
usbd USB äýìîíã èäýâõæ³³ëýõèéí òóëä äàðààõ ì°ðèéã /etc/rc.conf àéëä íýìíý: usbd_enable="YES"
Ýõë³³ëýõýä çàëãàäàã áàéõààð ppp-ã òîõèðóóëàõ áîëîìæòîé áàéäàã. ³íèéã õèéõèéí òóëä äàðààõ ì°ð³³äèéã /etc/rc.conf àéëä íýìíý. Àõèí õýëýõýä ýíý ïðîöåäóðûí õóâüä òà root õýðýãëýã÷ýýð íýâòðýí îðîõ õýðýãòýé áîëíî. ppp_enable="YES" ppp_mode="ddial" ppp_profile="adsl"
³íèéã ç°â àæèëëóóëàõûí òóëä òà net/pppoa ïîðòòîé öóã èðñýí ppp.conf àéëûã àøèãëàõ õýðýãòýé áîëíî.
721
Chapter 27 PPP áîëîí SLIP
27.6.2 mpd
àøèãëàõ íü
Òà ò°ð°ë á³ðèéí ³éë÷èëãýýí³³äýä ÿëàíãóÿà PPTP ³éë÷èëãýýí³³äýä õîëáîãäîõûí òóëä mpd-ã àøèãëàæ áîëíî. Òà mpd-ã Ïîðòóóäûí öóãëóóëãà net/mpd ñàíãààñ îëæ áîëíî. Îëîí ADSL ìîäåìóóä íü ìîäåì áîëîí êîìïüþòåðèéí õîîðîíä PPTP õîîëîé ³³ñãýãäñýí áàéõûã øààðääàã á°ã°°ä òèéì ìîäåìèéí íýã íü Alcatel SpeedTouch Home þì. Òà ýõëýýä ïîðòîî ñóóëãàõ ¼ñòîé á°ã°°ä äàðàà íü °°ðèéí øààðäëàãà áîëîí ³éë÷èëãýý ³ç³³ëýã÷èéí òîõèðãîîíóóäàä òààðóóëàí mpd-ã òîõèðóóëæ áîëíî. Ïîðò íü æèøýý òîõèðãîîíû àéëóóäûã áàéðëóóëäàã á°ã°°ä ýäãýýð íü PREFIX /etc/mpd/-ä ñàéí áàðèìòæóóëàãäñàí áàéäàã. Ýíä íýã þìûã òýìäýãëýõ õýðýãòýé. PREFIX ãýäýã íü òàíû ïîðòóóä ñóóëãàãäñàí ñàí á°ã°°ä àíõäàã÷ààð /usr/local/ áàéäàã. mpd-ã òîõèðóóëàõ á³ðýí çààâàð ïîðò ñóóëãàãäñàíû äàðàà HTML õýëáýðýýð îðñîí áàéäàã. Ýíý íü PREFIX /share/doc/mpd/ ñàíä áàéðëàäàã. Ýíä mpd-ýýð ADSL ³éë÷èëãýýíä õîëáîãäîõ æèøýý òîõèðãîî áàéíà. Òîõèðãîî íü õî¼ð àéëààñ òîãòîõ á°ã°°ä ýõíèé mpd.conf íü èéì áàéíà: default: load adsl adsl: new set set set set set set set
-i ng0 bundle bundle bundle link link link link
adsl adsl authname username ➊ password password ➋ disable multilink
no pap acfcomp protocomp disable chap accept chap keep-alive 30 10
set ipcp no vjcomp set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set set set set
iface iface iface iface
route default disable on-demand enable proxy-arp idle 0
open
Òàíû ISP-òàé õîëáîãäîí °°ðèéã°° òàíèóëàí íýâòðýõ õýðýãëýã÷èéí íýð. ➋ Òàíû ISP-òàé õîëáîãäîí °°ðèéã°° òàíèóëàí íýâòðýõ íóóö ³ã. mpd.links àéë íü òàíû õèéõèéã õ³ññýí õîëáîîñ ýñâýë õîëáîîñóóäûí òóõàé ìýäýýëëèéã àãóóëäàã. Äýýðõ æèøýýíä òîõèðîõ õàðãàëçàõ æèøýý mpd.links àéëûã äîîð ³ç³³ëýâ:
➊
adsl: set set set set set
link pptp pptp pptp pptp
type pptp mode active enable originate outcall self 10.0.0.1 ➊ peer 10.0.0.138 ➋
722
Chapter 27 PPP áîëîí SLIP
Òàíû mpd àøèãëàõ FreeBSD êîìïüþòåðèéí IP õàÿã. ➋ Òàíû ADSL ìîäåìèéí IP õàÿã. Alcatel SpeedTouch Home-èéí õóâüä ýíý õàÿã íü àíõäàã÷ààð 10.0.0.138 áàéíà. Äàðààõ òóøààëûã root-ýýð àæèëëóóëæ õîëáîëòûã õÿëáàðààð ýõë³³ëýõ áîëîìæòîé áàéäàã: ➊
# mpd -b adsl
Òà õîëáîëòûí ò°ë°âèéã äàðààõ òóøààëààð õàðæ áîëíî: % ifconfig ng0
ng0: flags=88d1 mtu 1500 inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff
FreeBSD äýýð ADSL ³éë÷èëãýýíä õîëáîãäîõûí òóëä mpd-ã àøèãëàõûã ç°âë°ä°ã þì.
27.6.3 pptpclient
àøèãëàõ íü
Ì°í áóñàä PPPoA ³éë÷èëãýýí³³äýä FreeBSD-ýýð õîëáîãäîõûí òóëä net/pptpclient àøèãëàõ áîëîìæòîé áàéäàã. net/pptpclient-ã àøèãëàí DSL ³éë÷èëãýýíä õîëáîãäîõûí òóëä ïîðò áîëîí áàãöûã ñóóëãààä °°ðèéí /etc/ppp/ppp.conf àéëûã çàñâàðëàíà. Ýäãýýð ³éëäë³³äèéã õèéæ ã³éöýòãýõèéí òóëä òà root áîëñîí áàéõ ¼ñòîé. ppp.conf àéëûí æèøýý õýñãèéã äîîð ³ç³³ëýâ. ppp.conf-èéí òîõèðóóëãóóäûí òóõàé èë³³ ìýäýýëëèéã ppp ãàðûí àâëàãûí õóóäàñ ppp(8)-ñ ëàâëàíà óó. adsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authname username ➊ set authkey password ➋ set ifaddr 0 0 add default HISADDR
➊ ➋
DSL ³éë÷èëãýý ³ç³³ëýã÷òýé õîëáîãäîõ òàíû á³ðòãýëèéí õýðýãëýã÷èéí íýð.
Òàíû á³ðòãýëèéí íóóö ³ã.
Warning: Òà °°ðèéí á³ðòãýëèéí íóóö ³ãèéã ppp.conf
àéëä öýâýð òåêñò õýëáýðýýð òàâèõ ¼ñòîé áîëîõîîð ýíý àéëûí àãóóëãûã õýí ÷ óíøèæ ÷àäàõã³é áîëãîñîí ýñýõýý øàëãàõ õýðýãòýé. Äàðààõ ñåðè òóøààëóóä íü ýíý àéëûã ç°âõ°í root á³ðòãýëýýð óíøèãäàõààð áîëãîõ þì. Äýëãýðýíã³é ìýäýýëëèéã chmod(1) áîëîí chown(8) ãàðûí àâëàãûí õóóäàñíóóäààñ ëàâëàíà óó.
# chown root:wheel /etc/ppp/ppp.conf # chmod 600 /etc/ppp/ppp.conf
Ýíý íü PPP ñåññýä çîðèóëàí òàíû DSL ÷èãë³³ëýã÷ óðóó õîîëîé íýýõ áîëíî. Ethernet DSL ìîäåìóóä íü LAN IP õàÿãààð óðüä÷èëàí òîõèðóóëàãäñàí áàéäàã á°ã°°ä òà ò³³í óðóó õîëáîãäîíî. Alcatel SpeedTouch Home-èéí õóâüä ýíý õàÿã íü 10.0.0.138 áàéíà. Òàíû ÷èãë³³ëýã÷èéí áàðèìòàä ò°õ°°ð°ìæ ÿìàð õàÿã 723
Chapter 27 PPP áîëîí SLIP
àøèãëàæ áàéãààã õýëñýí áàéõ ¼ñòîé. Õîîëîé íýýæ PPP ñåññ ýõë³³ëýõèéí òóëä äàðààõ òóøààëûã àæèëëóóëíà: # pptp address adsl
Tip: Òà °ìí°õ òóøààëûí ò°ãñã°ëä “&” òýìäãèéã íýìýõèéã õ³ñýæ áîëîõ þì. Èíãýõã³é áîë pptp íü òàíä òóøààë õ³ëýýõ ì°ðèéã áóöààäàãã³é.
âèðòóàë õîîëîé ò°õ°°ð°ìæ íü pptp áîëîí ppp ïðîöåññóóäûí õîîðîíäîõ õàðèëöààíä çîðèóëàí ³³ñãýãäýõ áîëíî. Òóøààë õ³ëýýõ ì°ð°íä áóöàæ èðñíèéõýý äàðàà þì óó ýñâýë pptp íü õîëáîëòûã áàòàëãààæóóëñíû äàðàà òà õîîëîéã èíãýæ øàëãàæ áîëíî: tun
% ifconfig tun0
tun0: flags=8051 mtu 1500 inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00 Opened by PID 918
Õýðýâ òà õîëáîãäîæ ÷àäàõã³é áàéãàà áîë °°ðèéí ÷èãë³³ëýã÷èéí òîõèðãîîã øàëãààðàé. Ýíý íü èõýâ÷ëýí telnet þì óó ýñâýë âýá õ°ò÷°°ð õàíäàõ áîëîìæòîé áàéäàã. Õýðýâ òà õîëáîãäîæ ÷àäàõã³é õýâýýð áàéâàë pptp òóøààëûí ãàðàëò áîëîí ppp á³ðòãýëèéí àéë /var/log/ppp.log-îîñ ÿìàð íýã ñýæ³³ð áàéãàà ýñýõèéã øàëãàõ õýðýãòýé. 27.7 SLIP
àøèãëàõ
Àíõëàí õóâü íýìýð áîëãîí îðóóëñàí Ñàòîøè Àñàìè. Çàðèì õýñãèéã îðóóëñàí àé Õýëìåð and Ïüåðî Ñåðèíè. 27.7.1 SLIP
êëèåíò òîõèðóóëàõ
Äàðààõ íü FreeBSD ìàøèíûã SLIP-ä çîðèóëàí ñòàòèê õîñò ñ³ëæýýí äýýð òîõèðóóëàõ íýã àðãà þì. Äèíàìèêààð õîñòûí íýðèéã °ã°õèéí òóëä (òàíûã çàëãàæ õîëáîãäîõ áîëãîíä òàíû õàÿã °°ð÷ë°ãää°ã) òàíä èë³³ ò°â°ãòýé òîõèðóóëãà õýðýãòýé áîëîõ áàéõ. Ýõëýýä òàíû ìîäåì àëü öóâàà ïîðòîä õîëáîãäñîíûã òîäîðõîéëíî. Îëîí õ³í /dev/modem ãýõ çýðãýýð æèíõýíý ò°õ°°ð°ìæèéí íýð /dev/cuadN óðóóãàà çààñàí ñèìáîëûí õîëáîîñûã òîõèðóóëäàã. Ýíý íü ìîäåìèéã °°ð ïîðò óðóó øèëæ³³ëýõ øààðäëàãàòàé áîëñîí òîõèîëäîëä æèíõýíý ò°õ°°ð°ìæèéí íýðèéã õèéñâýðëýõ áîëîìæèéã òàíä îëãîæ áàéãàà þì. Á³õ ñèñòåìèéí äàãóó /etc äýõ îëîí àéëóóä áîëîí .kermrc àéëóóäûã çàñâàðëàõ øààðäëàãàòàé áîëîõ ³åä ýíý íü íýëýýí ÿðâèãòàé áîëæ èðäýã! Note: /dev/cuad0
íü COM1, /dev/cuad1 íü COM2, ãýõ ìýò.
°ðèéí ö°ìèéí òîõèðãîîíû àéëä äàðààõ íü áàéãàà ýñýõèéã øàëãààðàé: device
sl
Ýíý íü GENERIC ö°ìä îðñîí áàéäàã á°ã°°ä òà ò³³íèéã óñòãààã³é ë áîë ýíý íü àñóóäàë áèø þì. 724
Chapter 27 PPP áîëîí SLIP 27.7.1.1 Ç°âõ°í íýã óäàà õèéõ ç³éëñ 1.
°ðèéí ãýð ìàøèí, ãàðö áîëîí íýðèéí ñåðâåð³³äèéã °°ðèéí /etc/hosts àéëä íýìíý. Áèäíèéõ èéìýðõ³³ õàðàãäàõ áîëíî: 127.0.0.1 136.152.64.181 136.152.64.1 128.32.136.9 128.32.136.12
2. 3.
localhost loghost water.CS.Example.EDU water.CS water inr-3.CS.Example.EDU inr-3 slip-gateway ns1.Example.EDU ns1 ns2.Example.EDU ns2
°ðèéí /etc/nsswitch.conf àéëûí hosts: õýñýãò files ì°ð íü dns ì°ð°°ñ °ìí° áàéãàà ýñýõèéã øàëãààðàé. Ýäãýýð ïàðàìåòð³³äã³é áîë ñîíèí ç³éëñ áîëæ ìàãàäã³é þì. /etc/rc.conf àéëûã çàñíà. 1. Äàðààõ ì°ðèéã çàñâàðëàæ °°ðèéí õîñòûí íýðèéã òîõèðóóëíà: hostname="myname.my.domain"
Òàíû ìàøèíû Èíòåðíýòèéí á³ðýí õîñòûí íýðèéã ýíä òàâèõ ¼ñòîé. 2. Äàðààõ ì°ðèéã °°ð÷èëæ àíõäàã÷ ÷èãë³³ëýëò: defaultrouter="NO"
ãýäãèéã: defaultrouter="slip-gateway"
4.
áîëãîíî. äîîð äóðäñàíûã àãóóëñàí /etc/resolv.conf àéë ³³ñãýíý: domain CS.Example.EDU nameserver 128.32.136.9 nameserver 128.32.136.12
5. 6.
Òàíû õàðæ áàéãààãààð ýäãýýð íü íýðèéí ñåðâåðèéí õîñòóóäûã òîõèðóóëæ áàéíà. Ìýäýýæ æèíõýíý äîìýéí íýðñ áîëîí õàÿãóóä íü òàíû îð÷íîîñ õàìààðíà. root áîëîí toor (íóóö ³ãã³é áóñàä á³ðòãýë³³äèéí) íóóö ³ãèéã òîõèðóóëíà. °ðèéí ìàøèíûã äàõèí à÷ààëæ ç°â õîñòûí íýðòýéãýýð à÷ààëñàí ýñýõèéã íü øàëãààðàé.
27.7.1.2 SLIP õîëáîëò õèéõ íü 1.
Çàëãààä õ³ëýýõ ì°ð°í äýýð slip ãýæ áè÷ýýä °°ðèéí ìàøèíû íýð áîëîí íóóö ³ãèéã îðóóëíà. Þó îðóóëàõ øààðäëàãàòàé íü òàíû îð÷íîîñ õàìààðíà. Õýðýâ òà Kermit àøèãëàæ áàéãàà áîë òà èéìýðõ³³ ñêðèïòèéã àæèëëóóëàõààð îðîëäîæ áîëíî: # kermit setup set modem hayes set line /dev/modem set speed 115200 set parity none set flow rts/cts set terminal bytesize 8
725
Chapter 27 PPP áîëîí SLIP set file type binary # The next macro will dial up and login define slip dial 643-9600, input 10 =>, if failure stop, output slip\x0d, input 10 Username:, if failure stop, output silvia\x0d, input 10 Password:, if failure stop, output ***\x0d, echo \x0aCONNECTED\x0a
Ìýäýýæ °°ðò°° òààðóóëààä °°ðèéí õýðýãëýã÷èéí íýð áîëîí íóóö ³ãèéã ñîëèõ õýðýãòýé. Èíãýñíèéõýý äàðàà òà Kermit-èéí õ³ëýýõ ì°ð°°ñ õîëáîãäîõûí òóëä slip ãýæ áè÷èõ õýðýãòýé. Note: Ôàéëûí ñèñòåìä õàà íýãòýý °°ðèéí íóóö ³ãèéã öýâýð òåêñòýýð ³ëäýýõ íü åð°íõèéä°° áóðóó ³íèéã õèéõ íü àç òóðøñàí ÿâäàë þì.
2.
þì.
Kermit-ã òýíä íü ³ëäýýæ (òà ³³íèéã Ctrl-z õîñëîëîîð çîãñîîæ áîëíî) root-ýýð äàðààõ òóøààëûã
áè÷íý:
# slattach -h -c -s 115200 /dev/modem
Õýðýâ òà ÷èãë³³ëýã÷èéí í°ã°° òàëä áàéãàà õîñòóóä óðóó ping õèéæ ÷àäàæ áàéâàë òà õîëáîãäñîí áàéíà! Õýðýâ ýíý íü àæèëëàõã³é áàéãàà áîë slattach òóøààëä -c íýìýëò °ã°ãäëèéí îðîíä -a-ã òàâüæ îðîëäîîä ³çýýðýé. 27.7.1.3 Õîëáîëòûã õýðõýí çîãñîîõ âý
äîîð äóðäñàíûã õèéæ:
# kill -INT ‘cat /var/run/slattach.modem.pid‘
ã çîãñîîíî. Äýýð äóðäñàíûã õèéõèéí òóëä root áàéõ øààðäëàãàòàéã ñàíààðàé. Äàðàà íü óðóóãàà (õýðýâ òà ò³ð çîãñîîñîí áîë fg òóøààëûã àæèëëóóëàí) áóöàæ ò³³íýýñ ãàðíà (q). slattach(8) ãàðûí àâëàãûí õóóäñàíä èíòåðýéñèéã çîãññîí ãýæ òýìäýãëýõèéí òóëä ifconfig sl0 down òóøààëûã àøèãëàõ ¼ñòîé ãýñýí áàéäàã áîëîâ÷ ýíý íü ÿìàð ÷ °°ð÷ë°ëò õèéäýãã³é þì øèã ñàíàãääàã. (ifconfig sl0 òóøààë íü áàñ ³³íòýé àäèëûã ãàðãàäàã.) Çàðèìäàà òàíû ìîäåì ç°°ã÷èéã óíàãàõààñàà òàòãàëçàæ áîëîõ þì. Òèéì òîõèîëäîëä åðä°° ë äàõèí kermit-ã àæèëëóóëààä òýãýýä ò³³íýýñ ãàðàõ õýðýãòýé. Ýíý íü èõýâ÷ëýí õî¼ð äàõü îðîëäëîãîä áîëäîã. slattachkermit
27.7.1.4 Àëäààã îëæ çàñâàðëàõ
Õýðýâ ýíý íü àæèëëàõã³é áàéãàà áîë freebsd-net (http://lists.FreeBSD.org/mailman/listinfo/freebsd-net) çàõèäëûí æàãñààëòààñ ÷°ë°°òýé àñóóãààðàé. Îäîîãîîð õ³ì³³ñèéí àÿëæ ìýäñýí ç³éëñ ãýõ þì áîë: òóøààëä -c ýñâýë -a òîõèðóóëãóóäûã àøèãëàõã³é áàéõ (ýíý íü ì°õëèéí áàéõ ¼ñã³é, ãýõäýý ýíý íü çàðèì õýðýãëýã÷äèéí àñóóäëóóäûã øèéääýã ãýæ áè÷ñýí áàéäàã.) sl0-èéí îðîíä s10 òîõèðóóëãûã àøèãëàõ (çàðèì îíòóóä äýýð ÿëãààã íü îëæ õàðàõ õýö³³ áàéæ áîëîõ þì). °ðèéí èíòåðýéñèéí ò°ë°âèéã õàðàõûí òóëä ifconfig sl0 òóøààëûã àæèëëóóëæ ³çýýðýé. Æèøýý íü òà èéìýðõ³³ ä³í õàðæ áîëîõ þì:
• slattach
•
•
726
Chapter 27 PPP áîëîí SLIP # ifconfig sl0
sl0: flags=10 inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00 •
Õýðýâ òà ping(8) òóøààëààñ “no route to host” ìýäýãäë³³äèéã àâàõ þì áîë òàíû ÷èãë³³ëýëòèéí õ³ñíýãòýä àñóóäàë áàéæ áîëçîøã³é þì. Òóõàéí ³åä áàéãàà ÷èãë³³ëýëò³³äèé㠳糳ëýõèéí òóëä netstat -r òóøààëûã àøèãëàæ áîëíî : # netstat -r
Routing tables Destination
Gateway
Flags
Refs
Use
IfaceMTU
Rtt
Netmasks:
(root node) (root node) Route Tree for Protocol Family inet: (root node) => default inr-3.Example.EDU UG localhost.Exampl localhost.Example. UH inr-3.Example.ED water.CS.Example.E UH water.CS.Example localhost.Example. UGH (root node)
8 224515 5 42127 1 0 34 47641234
sl0 lo0 sl0 lo0
-
0.438 0.438
ìí°õ æèøýýí³³ä íü õàðüöàíãóé çàâã³é áàéãàà ñèñòåì³³äèéíõ þì. Òàíû ñèñòåì äýýðõ òîîíóóä íü ñ³ëæýýíèé à÷ààëëààñ õàìààð÷ °°ð °°ð áàéõ áîëíî. 27.7.2 SLIP
ñåðâåð òîõèðóóëàõ íü
Ýíýõ³³ áàðèìò íü FreeBSD ñèñòåì äýýð SLIP ñåðâåðèéí ³éë÷èëãýýí³³äèéã òîõèðóóëàõàä çîðèóëñàí ç°âë°ã°°í³³äèéã ñàíàë áîëãîäîã. Ýíý íü þó ãýñýí ³ã âý ãýõýýð àëñûí SLIP êëèåíò³³äèéí íýâòðýëòèéí ³åä õîëáîëòóóäûã àâòîìàòààð ýõë³³ëýõýýð áîëãîæ òàíû ñèñòåìèéã òîõèðóóëíà ãýñýí ³ã þì. 27.7.2.1 Øààðäëàãàòàé ç³éëñ
Ýíý áàðèìò íü °°ðèéí ³íäñýí ÷àíàðûí õóâüä õýò òåõíèêèéí ó÷ðààñ òîäîðõîé ìýäëýã øààðäàõ áîëíî. Ýíý íü òàíûã TCP/IP ñ³ëæýýíèé ïðîòîêîëûã òîäîðõîé õýìæýýãýýð ìýääýã á°ã°°ä ÿëàíãóÿà ñ³ëæýý áîëîí öýãèéí õàÿãëàëò, ñ³ëæýýíèé õàÿãèéí áàãóóä, äýä ñ³ëæýý ³³ñãýõ, ÷èãë³³ëýëò áîëîí RIP çýðýã ÷èãë³³ëýëòèéí ïðîòîêîëóóäûã ìýääýã ãýæ òîîöäîã. SLIP ³éë÷èëãýýí³³äèéã dial-up ñåðâåð äýýð òîõèðóóëàõ íü ýäãýýð óõàãäàõóóíóóäûí òóõàé ìýäëýãèéã øààðääàã á°ã°°ä õýðýâ òà ýäãýýðèéã ìýäýõã³é áîë O’Reilly & Associates, Inc-èéí õýâëýñýí Êðýã Õàíòûí TCP/IP Network Administration áóþó TCP/IP ñ³ëæýýíèé óäèðäëàãà íîìûã þì óó ýñâýë TCP/IP ïðîòîêîëóóäûí òóõàé Äàãëàñ Êîìåðèéí íîìíóóäûã óíøèíà óó. Ì°í òàíûã ìîäåìîî ñóóëãàæ °°ðèéí ìîäåìîîð äàìæèí íýâòðýõ áîëîìæóóäûã ç°âø°°ð°õ°°ð òîõèðóóëñàí áàéãàà ãýæ ³çäýã. Õýðýâ òà ³³íä çîðèóëæ °°ðèéí ñèñòåìèéã áýëäýæ àìæààã³é áàéãàà áîë dialup ³éë÷èëãýýí³³äèéí òîõèðãîîíû òóõàé ìýäýýëëèéã Section 26.4 õýñãýýñ ³çíý ³³. Òà áàñ öóâàà ïîðòûí ò°õ°°ð°ìæèéí äðàéâåðèéí òóõàé ìýäýýëýë áîëîí ìîäåìóóä äýýð íýâòðýëò³³äèéã õ³ëýýí àâàõààð áîëãîæ ñèñòåìèéã òîõèðóóëàõ òóõàé ìýäýýëëèéã sio(4) áîëîí ttys(5), gettytab(5), getty(8), & init(8) ãàðûí àâëàãûí õóóäàñíóóäààñ øàëãàõûã õ³ñýæ áîëîõ þì. Öóâàà ïîðòûí ïàðàìåòð³³äèéã (øóóä õîëáîãäñîí öóâàà èíòåðýéñ³³äèéí õóâüä clocal çýðýã) òîõèðóóëàõ òóõàé ìýäýýëëèéã stty(1) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. 727
Chapter 27 PPP áîëîí SLIP 27.7.2.2 Ò³ðãýí ä³ãíýëò
FreeBSD-ã SLIP ñåðâåð áîëãîí àøèãëàõ åðäèéí òîõèðãîîíä äàðààõ ìàÿãààð àæèëëàäàã: SLIP ñåðâåð íü òàíû FreeBSD SLIP ñåðâåð ñèñòåìèéã ãàäàãø çàëãóóëäàã á°ã°°ä /usr/sbin/sliplogin-èéã òóñãàé õýðýãëýã÷èéí á³ðõ³³ë áîëãîí àøèãëàäàã òóñãàé SLIP íýâòðýõ ID-ààð íýâòýðäýã. sliplogin ïðîãðàì íü òóñãàé õýðýãëýã÷èéí õóâüä òààðàõ ì°ðèéã îëîõûí òóëä /etc/sliphome/slip.hosts àéëûã ã³éëãýí ³çäýã á°ã°°ä õýðýâ îëñîí áîë öóâàà øóãàìûã áàéãàà SLIP èíòåðýéñ óðóó õîëáîæ äàðàà íü SLIP èíòåðýéñèéã òîõèðóóëàõûí òóëä /etc/sliphome/slip.login á³ðõ³³ëèéí ñêðèïòèéã àæèëëóóëäàã. 27.7.2.2.1 SLIP ñåðâåðèéí íýâòðýëòèéí æèøýý
Æèøýý íü õýðýâ SLIP õýðýãëýã÷èéí ID íü Shelmerg áàéñàí áîë /etc/master.passwd àéë äàõü Shelmerg-èéí îðóóëãà èéìýðõ³³ áàéæ áîëîõ þì: Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
íýâòðýõ ³åä sliplogin íü òààðàõ õýðýãëýã÷èéí ID-òàé ì°ðèéã /etc/sliphome/slip.hosts àéëààñ õàéõ áîëíî, æèøýý íü /etc/sliphome/slip.hosts àéëä äàðààõ ì°ð áàéæ áîëîõ þì:
Shelmerg
Shelmerg
dc-slip sl-helmer
0xfffffc00
autocomp
òóøààë íü òýð òààðàõ ì°ðèéã îëîõ á°ã°°ä öóâàà øóãàìûã äàðàà÷èéí áàéãàà SLIP èíòåðýéñ óðóó çàëãàæ äàðàà íü /etc/sliphome/slip.login-èéã èéìýðõ³³ãýýð àæèëëóóëíà:
sliplogin
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
Õýðýâ á³ãä ç³ãýýð áîëæ °íã°ðâ°ë /etc/sliphome/slip.login íü °°ðèéã°° çàëãàñàí (äýýðõ æèøýýí äýýð slip.login óðóó °ã°ãäñ°í æàãñààëòàí äàõü ýõíèé ïàðàìåòð áîëîõ SLIP èíòåðýéñ 0) SLIP èíòåðýéñèéí õóâüä ifconfig òóøààëûã àæèëëóóëæ ëîêàë IP õàÿã (dc-slip), àëñûí IP õàÿã (sl-helmer), SLIP èíòåðýéñèéí ñ³ëæýýíèé áàã (0xfffffc00) áîëîí áóñàä íýìýëò òóãíóóäûã (autocomp) òîõèðóóëäàã. Õýðýâ ÿìàð íýã ç³éë áóðóó áîëâîë sliplogin íü èõýâ÷ëýí /var/log/messages óðóó á³ðòãýõ syslogd äýìîí áîëîìæîîð äàìæóóëàí áîëîìæèéí ìýäýýëëèéí ÷àíàðòàé ìýäýãäë³³äèéã èõýâ÷ëýí á³ðòãýäýã. (syslogd(8) áîëîí syslog.conf(5)-èéí ãàðûí àâëàãûí õóóäàñíóóäûã ³çíý ³³. /etc/syslog.conf-èéã øàëãàæ syslogd-èéí þó á³ðòãýäýã áîëîí õààíà á³ðòãýäãèéã õàðíà óó). 27.7.2.3 Ö°ìèéí òîõèðãîî
FreeBSD-èéí àíõäàã÷ ö°ì (GENERIC) íü SLIP (sl(4)) äýìæëýãòýé öóã èðäýã; òóõàéëàí °°ð÷èëñ°í ö°ìèéí õóâüä áîë òà °°ðèéí ö°ìèéí òîõèðãîîíû àéëäàà äàðààõ ì°ðèéã íýìýõ õýðýãòýé:
device
sl
Àíõäàã÷ààð òàíû FreeBSD ìàøèí ïàêåòóóäûã óðàãø äàìæóóëàõã³é áàéõ áîëíî. Õýðýâ òà °°ðèéí SLIP ñåðâåðèéã ÷èãë³³ëýã÷ ìàÿãààð àøèãëàõûã õ³ñâýë /etc/rc.conf àéëûã çàñâàðëàõ õýðýãòýé áîëîõ á°ã°°ä gateway_enable õóâüñàã÷èéí òîõèðãîîã YES áîëãîæ °°ð÷ë°õ õýðýãòýé. Èíãýæ çààæ °ãñí°°ð ÷èãë³³ëýëòèéí òîõèðãîîã äàõèí à÷ààëñíû äàðàà ÷ òîãòìîë áàéëãàäàã. Òîõèðãîîã äàðóé èäýâõòýé áîëãîõûí òóëä òà root õýðýãëýã÷ýýð äàðààõ òóøààëûã àæèëëóóëæ áîëíî: # /etc/rc.d/routing start
728
Chapter 27 PPP áîëîí SLIP FreeBSD-èéí ö°ìèéã òîõèðóóëàõ òàëààð áè÷ñýí Chapter 8-ñ °°ðèéí ö°ìèéã äàõèí òîõèðóóëàõ òàëààð ëàâëàíà óó. 27.7.2.4 Sliplogin òîõèðãîî
Óðüä íü äóðäàæ áàéñíû äàãóó /usr/sbin/sliplogin àéëûí òîõèðãîîíû õýñýã áîëîõ ãóðâàí àéë /etc/sliphome ñàíä áàéäàã (sliplogin-èé òàëààð ìýäýýëëèéã sliplogin(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³). Ýäãýýðò SLIP õýðýãëýã÷èä áîëîí òýäãýýðèéí õîëáîîòîé IP õàÿãóóäûã òîäîðõîéëäîã slip.hosts àéë, SLIP èíòåðýéñèéã èõýâ÷ëýí òîõèðóóëäàã slip.login àéë, áîëîí (íýìýëò) öóâàà õîëáîëò ò°ãññ°í ³åä slip.login-èé í°ë°°ëë³³äèéã áóöààäàã slip.logout àéë îðäîã. 27.7.2.4.1 slip.hosts òîõèðãîî
/etc/sliphome/slip.hosts íü °°ð õîîðîíäîî çàéãààð òóñãààðëàãäñàí õàìãèéí áàãààð áîäîõîä ä°ðâ°í õýñãýýñ òîãòîõ ì°ð³³äýýñ òîãääîã:
• • •
SLIP õýðýãëýã÷èéí íýâòðýõ ID
SLIP õîëáîîñûí ëîêàë õàÿã (SLIP ñåðâåðèéí õóâüä ëîêàë)
SLIP õîëáîîñûí àëñûí õàÿã
ѳëæýýíèé áàã Ëîêàë áîëîí àëñûí õàÿãóóä íü õîñòûí íýðñ ( /etc/nsswitch.conf àéëä çààñàí òàíû òîäîðõîéëîëòóóäààñ õàìààð÷ /etc/hosts àéëààð þì óó ýñâýë äîìýéí íýðíèé ³éë÷èëãýýãýýð IP áîëîí òàíèãääàã) áàéæ áîëîõ á°ã°°ä ñ³ëæýýíèé áàã íü /etc/networks-ààñ õèéãäýõ õàéëòààð òàíèãäàõ íýð áàéæ áîëíî. Æèøýý ñèñòåì äýýð /etc/sliphome/slip.hosts íü èéìýðõ³³ õàðàãäàíà: •
# # login local-addr # # Shelmerg dc-slip
remote-addr
mask
opt1 opt2 (normal,compress,noicmp)
sl-helmerg
0xfffffc00
autocomp
Ì°ðèéí ò°ãñã°ëä íýã áóþó õýä õýä òîõèðóóëãóóä áàéíà: • normal
— òîëãîéí øàõàëò áàéõã³é
òîëãîéíóóäûã øàõíà • autocomp — àëñûí òàë òîëãîéíóóäûã øàõàõûã ç°âø°°ð°õ áîë õèéíý • noicmp — ICMP ïàêåòóóäûã õààíà (òàíû óðñãàëûã ä³³ðãýõèéí îðîíä “ping” ïàêåòóóä õàÿãäàõ áîëíî) Òàíû SLIP õîëáîîñóóäûí ëîêàë áîëîí àëñûí õàÿãóóäûí ñîíãîëò òà TCP/IP äýä ñ³ëæýýã òóñãàéëàí çîðèóëàõ óó ýñâýë °°ðèéí SLIP ñåðâåð äýýðýý “proxy ARP”-ã (ýíý íü “æèíõýíý” proxy ARP áèø áîëîâ÷ ³³íèéã òàéëáàðëàõûí òóëä ýíý õýñýãò ýíý óõàãäàõóóí àøèãëàãäàõ áîëíî) àøèãëàõ óó ãýäãýýñ õàìààðíà. Õýðýâ òà àëü àðãûã ñîíãîõäîî ýñâýë IP õàÿãóóäûã õýðõýí çààæ °ã°õä°° ýðãýëçýæ áàéãàà áîë SLIP-èéí øààðäëàãàòàé ç³éëñ (Section 27.7.2.1) õýñýãò äóðäñàí TCP/IP-èéí íîìíóóä áà/ýñâýë °°ðèéí IP ñ³ëæýýíèé óäèðäàã÷ààñ ëàâëàíà óó. Òà °°ðèéí SLIP êëèåíò³³äèéí õóâüä òóñäàà äýä ñ³ëæýýã àøèãëàõ áîë òà °°ðèéí °ã°ãäñ°í IP ñ³ëæýýíèé äóãààðààñ äýä ñ³ëæýýíèé äóãààðûã õóâààðèëæ °°ðèéí SLIP êëèåíò á³ðèéí IP äóãààðóóäûã òýð äýä • compress —
729
Chapter 27 PPP áîëîí SLIP
ñ³ëæýýíýýñ çààæ °ã°õ õýðýãòýé áîëíî. Äàðàà íü °°ðèéí õàìãèéí îéðûí ÷èãë³³ëýã÷ äýýð SLIP ñåðâåðýýðýý äàìæóóëàí SLIP äýä ñ³ëæýý óðóó ñòàòèê ÷èãë³³ëýëò òîõèðóóëàõ õýðýãòýé áîëîõ áîëîâ óó. °ð°°ð, õýðýâ òà “proxy ARP” àðãûã àøèãëàõ áîë òà °°ðèéí SLIP êëèåíòèéí IP õàÿãóóäûã °°ðèéí SLIP ñåðâåðèéí Ethernet äýä ñ³ëæýýíýýñ îëãîõ õýðýãòýé áîëîõ á°ã°°ä òà áàñ SLIP ñåðâåðèéí ARP õ³ñíýãò äýõ “proxy ARP” îðóóëãóóäûã óäèðäàõûí òóëä arp(8)-ã àøèãëàõààð áîëãîæ °°ðèéí /etc/sliphome/slip.login áîëîí /etc/sliphome/slip.logout ñêðèïò³³äèéã òîõèðóóëàõ õýðýãòýé áîëíî. 27.7.2.4.2 slip.login òîõèðãîî
Åðäèéí /etc/sliphome/slip.login àéë èéìýðõ³³ õàðàãäàíà: #!/bin/sh # # @(#)slip.login
5.1 (Berkeley) 7/1/90
# # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6
Ýíý slip.login àéë íü åðä°° ë òîõèðîõ SLIP èíòåðýéñèéí õóâüä ifconfig-ã ëîêàë áà àëñûí õàÿãóóä áîëîí SLIP èíòåðýéñèéí ñ³ëæýýíèé áàãòàéãààð àæèëëóóëäàã. Õýðýâ òà “proxy ARP” àðãûã àøèãëàõààð øèéäñýí áîë (°°ðèéí SLIP êëèåíò³³äèéí õóâüä òóñäàà äýä ñ³ëæýýã àøèãëàõûí îðîíä) òàíû /etc/sliphome/slip.login àéë èéìýðõ³³ õàðàãäàõ ¼ñòîé: #!/bin/sh # # @(#)slip.login
5.1 (Berkeley) 7/1/90
# # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6 # Answer ARP requests for the SLIP client with our Ethernet addr /usr/sbin/arp -s $5 00:11:22:33:44:55 pub
Ýíý slip.login àéë äàõü arp -s $5 00:11:22:33:44:55 pub òóøààë íü SLIP ñåðâåðèéí ARP õ³ñíýãòýä ARP îðóóëãûã ³³ñãýäýã. Ethernet äýõ °°ð IP öýã SLIP êëèåíòèéí IP õàÿãòàé ÿðèëöàõûã õ³ñýõ ³åä ýíý ARP îðóóëãà íü SLIP ñåðâåðèéã SLIP ñåðâåðèéí Ethernet MAC õàÿãààð õàðèóëàõàä õ³ðãýäýã. Äýýðõ æèøýýã àøèãëàæ áàéõäàà Ethernet MAC õàÿãèéã (00:11:22:33:44:55) °°ðèéí ñèñòåìèéí Ethernet êàðòûí MAC õàÿãààð ñîëèñîí ýñýõýý øàëãààðàé. Òýãýõã³é áîë òàíû “proxy ARP” ÷èíü ìýäýýæ àæèëëàõã³é! Òà °°ðèéí SLIP ñåðâåðèéí Ethernet MAC õàÿãèéã netstat -i òóøààëûã àæèëëóóëàí ãàðñàí ³ð ä³íãýýñ íü õàðàí îëæ áîëîõ þì; ãàðñàí ³ð ä³íãèéí õî¼ð äàõü ì°ð èéìýðõ³³ õàðàãäàõ ¼ñòîé: 730
Chapter 27 PPP áîëîí SLIP ed0
1500
0.2.c1.28.5f.4a
191923 0
129457
0
116
Ýíý íü ñèñòåìèéí Ethernet MAC õàÿã íü 00:02:c1:28:5f:4a ãýäãèé㠳糳ëæ áàéãàà þì — netstat -i òóøààëààð °ã°ãäñ°í Ethernet MAC õàÿã äàõü öýã³³ä íü òîäîðõîéëîõ õî¼ð öýãýýð ñîëèãäîõ ¼ñòîé á°ã°°ä arp(8)-èéí õ³ñäýã õýëáýð óðóó õàÿãèéã õ°ðâ³³ëýõèéí òóëä ãàíö îðîíòîé 16-òûí òîî á³ðèéí °ìí° òýã íýìýõ ¼ñòîé. Àøèãëàëòûí òóõàé á³ðýí ìýäýýëëèéã arp(8) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Note: /etc/sliphome/slip.login áîëîí /etc/sliphome/slip.logout àéëûã ³³ñãýæ áàéõäàà “execute” áóþó àæèëëóóëàõ áèòèéã (°°ð°°ð õýëáýë chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout) òàâèõ ¼ñòîé, òýãýõã³é áîë sliplogin òóøààë ò³³íèéã àæèëëóóëæ ÷àäàõã³é áàéõ áîëíî.
27.7.2.4.3 slip.logout òîõèðãîî
íü çààâàë õàòóó ÷àíãààð õýðýãòýé áèø (òà “proxy ARP” õèéãýýã³é ë áîë) áîëîâ÷ òà ³³íèéã ³³ñãýõèéã õ³ñâýë ýíä ³íäñýí slip.logout ñêðèïòèéí æèøýý áàéíà: /etc/sliphome/slip.logout
#!/bin/sh # # slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down
Õýðýâ òà “proxy ARP” àøèãëàæ áàéãàà áîë SLIP êëèåíòèéí õóâüä ARP îðóóëãûã óñòãàõ /etc/sliphome/slip.logout àéëòàé áàéõûã õ³ñýæ áîëîõ þì: #!/bin/sh # # @(#)slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down # Quit answering ARP requests for the SLIP client /usr/sbin/arp -d $5 arp -d $5
íýìýãääýã.
òóøààë íü ARP îðóóëãûã óñòãàæ SLIP êëèåíò íýâòðýõ ³åä “proxy ARP” slip.login
731
Chapter 27 PPP áîëîí SLIP
àéëûã ³³ñãýñíèéõýý äàðàà àæèëëóóëàõ áèòèéã òàâüñàí ýñýõýý
/etc/sliphome/slip.logout ( chmod 755 /etc/sliphome/slip.logout).
øàëãààðàé °°ð°°ð õýëáýë
27.7.2.5 ×èãë³³ëýëòèéí ýðãýö³³ëë³³ä
Õýðýâ òà °°ðèéí SLIP êëèåíò³³ä áîëîí òàíû áóñàä ñ³ëæýýíèé õîîðîíäîõ (áîëîí ìàãàäã³é Èíòåðíýò õîîðîíäîõ) ÷èãë³³ëýëòèéí ïàêåòóóäûí õóâüä “proxy ARP” àðãûã àøèãëàõã³é áàéãàà áîë °°ðèéí SLIP êëèåíò³³äèéí äýä ñ³ëæýýã °°ðèéí SLIP ñåðâåðýýð äàìæóóëàí ÷èãë³³ëýõèéí òóëä °°ðèéí õàìãèéí îéðûí àíõäàã÷ ÷èãë³³ëýã÷èä(³³äýä) ñòàòèê ÷èãë³³ëýëò³³äèéã íýìýõ õýðýãòýé áîëæ áîëîõ þì. 27.7.2.5.1 Ñòàòèê ÷èãë³³ëýëò³³ä
°ðèéí õàìãèéí îéðûí ÷èãë³³ëýã÷³³äýä ñòàòèê ÷èãë³³ëýëò³³äèéã íýìýõ íü ÿðøèãòàé áàéæ áîëîõ þì (ýñâýë õýðýâ òà òýãæ õèéõ ç°âø°°ð°ëã³é áîë áîëîìæã³é áàéõ þì...). Òà °°ðèéí áàéãóóëëàãàäàà îëîí ÷èãë³³ëýã÷òýé áîë Cisco áîëîí Proteon-èé õèéñýí çàðèì ÷èãë³³ëýã÷³³ä íü ç°âõ°í SLIP äýä ñ³ëæýý óðóó ñòàòèê ÷èãë³³ëýëòòýé áàéõààð òîõèðóóëàãäñàí áàéõ øààðäëàãàã³é áàéæ áîëîõ á°ã°°ä áàñ àëü ñòàòèê ÷èãë³³ëýëò³³ä íü áóñàä ÷èãë³³ëýã÷³³äýä õýëæ áàéãààã õýëæ °ã°õ õýðýãòýé áîëîõ þì. Òèéì áîëîõîîð ñòàòèê ÷èãë³³ëýëò äýýð òóëãóóðëàñàí ÷èãë³³ëýëòèéã àæèëëóóëàõàä çàðèì íýã ÷àäàìæ áîëîí àëäàà îëæ çàñâàðëàõ/òààðóóëàõ ÷àäâàð õýðýãòýé áîëæ áîëîõ þì.
732
Chapter 28
Öàõèì Øóóäàí
Ýõèéã çîõèîñîí Áèëë Ëëîéä. Äàõèí ýìõýòãýñýí Æèì Ìîê. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 28.1
Åð°íõèé Àãóóëãà
“Öàõèì Çàõèäàë” áóþó èìýéë ãýæ íèéòýä èë³³òýé òàíèãäñàí ýíý ç³éë íü °í°° ³åä õàìãèéí °ðã°í õýðýãëýãäýõ áîëñîí õàðèëöààíû õýëáýð þì. Ýíý á³ëýãò FreeBSD äýýð çàõèäëûí ñåðâåðèéã çîõèîí áàéãóóëàõ àíõàí øàòíû òàíèëöóóëãà áîëîí FreeBSD àøèãëàí öàõèì çàõèäàë èëãýýõ áîëîí õ³ëýýí àâàõ òàëààð ³çýõ áîëíî; ãýâ÷, ýíý íü á³ðýí õýìæýýíèé òàíèëöóóëãà áîëæ ÷àäàõã³é á°ã°°ä îëîí ÷óõàë ç³éëñèéã îðóóëààã³é áîëíî. Ýíý ñýäâýýð á³ðýí ä³³ðýí ìýäýýëýë àâàõûã õ³ñâýë, Appendix B õýñýãò áàéãàà íîìíóóäûí æàãñààëòûã ³çíý ³³.
Ýíý á³ëãèéã óíøñàíû äàðàà òà äàðààõ ç³éëñèéã ìýäýæ àâàõ áîëíî:
Öàõèì çàõèäàë õ³ëýýí àâàõ áîëîí èëãýýõýä ÿìàð ïðîãðàìóóä îðîëöäîã òàëààð • sendmail-í ³íäñýí òîõèðãîîíû àéëóóä FreeBSD äýýð õààíà áàéðëàäàã òàëààð • Àëñûí áîëîí äîòîîäûí çàõèäëûí õàéðöãóóäûí ÿëãàà • Ñïàì òàðààã÷äûã °°ðèéí ñåðâåðèéã õóóëü áóñààð äàìæóóëàã÷ (relay) áîëãîí àøèãëàõààñ õýðõýí ñýðãèéëýõ òàëààð • sendmail-í îðîíä °°ð Çàõèäàë Äàìæóóëàõ Àãåíòèéã õýðõýí ñóóëãàæ òîõèðóóëàõ òàëààð • Çàõèäëûí ñåðâåðòýé õîëáîîòîé ò³ãýýìýë òîõèîëääîã àñóóäëóóäûã õýðõýí øèéäâýðëýõ òàëààð • SMTP-ã UUCP-òýé õýðõýí àøèãëàõ • Ñèñòåìèéã õýðõýí ç°âõ°í çàõèäàë èëãýýäýã áîëãîæ òîõèðóóëàõ òàëààð • Óòàñíû ³ç³³ð àøèãëàñàí õîëáîëòîîð çàõèäëûã õýðõýí õýðýãëýõ òàëààð • Àþóëã³é áàéäëûã íýìýãä³³ëýõèéí òóëä SMTP Ìàãàäëàëòûã õýðõýí íýìýõ òàëààð • mutt ãýõ ìýò Õýðýãëýã÷èéí Çàõèäëûí Àãåíòèéã õýðõýí ñóóëãàæ òîõèðóóëàõ òàëààð • °ðò èðñýí çàõèäëûã àëñûí POP ýñâýë IMAP ñåðâåðýýñ õýðõýí òàòàæ àâàõ òàëààð • àäíààñ èðýõ çàõèäëûã õýðõýí àâòîìàòààð ø³³ëò³³ð áîëîí ä³ðì³³äýýð øàëãàõ òàëààð Ýíý á³ëãèéã óíøèõûí °ìí° òà äàðààõ øààðäëàãûã õàíãàñàí áàéõ ¼ñòîé: •
• • •
ѳëæýýíèé õîëáîëòîî ç°â ã³éöýòãýñýí áàéõ (Chapter 31). Çàõèäëûí õîñò äýýðýý DNS ìýäýýëëèéã ç°â îðóóëæ °ãñ°í áàéõ (Chapter 29). óðàâäàã÷ ýòãýýäèéí ïðîãðàìûã õýðõýí ñóóëãàõ òàëààð ìýäëýãòýé áàéõ (Chapter 4).
28.2
Öàõèì Çàõèäëûã Õýðýãëýõ íü
Öàõèì çàõèäàë ñîëèëöîõîä äàðààõ ³íäñýí òàâàí á³ðýëäýõ³³í îðîëöîíî. ³íä: õýðýãëýã÷èéí ïðîãðàì, ñåðâåð äýìîí, DNS, àëñûí ýñâýë äîòîîä çàõèäëûí õàéðöàã áà ìýäýýæ çàõèäëûí õîñò °°ð°° þì.
733
Chapter 28 Öàõèì Øóóäàí
28.2.1
Õýðýãëýã÷èéí Ïðîãðàì
Çàõààñ íü ýõëýýä äóðäâàë ýäãýýðò mutt, pine, elm, mail çýðýã òóøààëûí ì°ðíèé ïðîãðàìóóä, ì°í balsa, xfmail çýðýã GUI ïðîãðàìóóä, äýýð íü WWW õ°ò°÷ çýðýã èë³³ “íàðèéí ò°â°ãòýé” ïðîãðàìóóä ÷ îðíî. Äýýðõ ïðîãðàìóóä íü öàõèì çàõèäëûí ã³éëãýýã äîòîîä “çàõèäëûí õîñò”-îä ñåðâåð äåìîíóóäûí àëü íýãèéã äóóäàí øèëæ³³ëýí °ã°õ, ýñâýë TCP-ð äàìæóóëàí î÷èõ ãàçàð íü õ³ðãýõ àæëûã ã³éöýòãýäýã. 28.2.2
Çàõèäëûí Õîñòûí Ñåðâåð Äåìîí
FreeBSD íü àíõäàã÷ áàéäëààð sendmail-ã àãóóëñàí áàéäàã, ãýõäýý áóñàä îëîí çàõèäëûí ñåðâåðèéí äýìîíã äýìæäýã. ³íýýñ çàðèìûã äóðäâàë: •
exim;
•
postfix;
•
qmail.
Ñåðâåð äýìîí èõýâ÷ëýí õî¼ð ³³ðýã ã³éöýòãýíý—ãàäíààñ èðæ áàéãàà çàõèäëûã õ³ëýýí àâàõ áîëîí ãàäàãøàà ÿâæ áàéãàà çàõèäëûã î÷èõ ãàçàð íü õ³ðãýõ ³³ðýãòýé. Ñåðâåð äýìîí íü çàõèäëàà óíøèõûí òóëä POP ýñâýë IMAP çýðýã ïðîòîêîëûã àøèãëàí çàõèäëûã öóãëóóëæ àâàõ, ýñâýë äîòîîä mbox ýñâýë Maildir çàõèäëûí õàéðöãóóä ðóó õîëáîãäîõ çýðãèéí àëü àëèíûõ íü ³³ðãèéã õ³ëýýäýãã³é . ³íèé òóëä íýìýëò äýìîí øààðäëàãàòàé. Warning: sendmail-í õóó÷èí õóâèëáàðóóäàä õàëäàã÷ òàíû ìàøèíû äîòîîä áîëîí àëñûí õàíäàëòûã ãàðòàà îðóóëæ áîëîõ àþóëã³é áàéäëûí õóâüä õ³íäõýí àñóóäëóóä ãàð÷ áàéñàí. Èéìýðõ³³ àñóóäàë ãàðàõààñ ñýðãèéëæ õàìãèéí ñ³³ëèéí õóâèëáàðûã àøèãëàæ áàéãàà ýñýõýý íÿãòëàõ øààðäëàãàòàé. Íýìýëò ñîíãîëò áàéäëààð, °°ð MTA-ã FreeBSD Ïîðòóóäûí Öóãëóóëãààñ ñóóëãààðàé.
28.2.3
Öàõèì Çàõèäàë áà DNS
Äîìýéí Íýðèéí Ñèñòåì (DNS) áà ò³³íèé äýìîí named íü öàõèì çàõèäëûã õ³ðãýõ àæèëä ÷óõàë ³³ðýã ã³éöýòãýäýã. Òàíàé áàéãàà ãàçðààñ °°ð òèéø çàõèäàë õ³ðãýõèéí òóëä, ñåðâåð äýìîí î÷èõ ãàçðûí õàÿãèéã °°ð°°ð õýëáýë çàõèäàë õ³ëýýæ àâàõ õîñòûã DNS-ñ àñóóíà. Ýíý ³éë ÿâö í°ã°° òàëààñ òàíä çàõèäàë ÿâóóëàõàä ì°í äàâòàãäàíà. DNS íü õîñò íýðèéã IP õàÿãò áóóëãàõ ³³ðýãòýéãýýñ ãàäíà, MX áè÷ëýã³³ä ãýãääýã çàõèäàë õ³ðãýõòýé õîëáîîòîé òóñãàé ìýäýýëëèéã àãóóëæ áàéäàã. MX (Mail eXchanger áóþó Çàõèäàë Ñîëèëöîã÷) áè÷ëýã íü ÿìàð õîñò, ýñâýë õîñòóóä, òóõàéí äîìýéíû õàÿãëàãäñàí çàõèäëûã õ³ëýýæ àâàõ ¼ñòîéã çààíà. Õýðýâ òóõàéí äîìýéíû õóâüä MX áè÷ëýã áàéõã³é áîë, çàõèäëóóäûã òóõàéí äîìýéíîîð íýðëýãäñýí õîñòûí A áè÷ëýãò õàðãàëçàõ õîñò ðóó øóóä äàìæóóëíà. ßìàð ÷ äîìýéíû õóâüä MX áè÷ëýã³³äèéã host(1) òóøààëûã àøèãëàí ³çýæ áîëíî. Æèøýýã äîð ³ç³³ëýâ: % host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
734
Chapter 28 Öàõèì Øóóäàí
28.2.4
Çàõèäàë õ³ëýýí àâàõ íü
Çàõèäàë õ³ëýýæ àâàõ àæëûã çàõèäëûí õîñò ã³éöýòãýíý. Ýíý õîñò òàíû äîìýéíä õàÿãëàãäñàí á³õ çàõèäëûã õ³ëýýæ àâàõ áà ò³³íèéã òàíû òîõèðãîîíîîñ õàìààð÷ ýñâýë mbox (çàõèäàë õàäãàëàõ àíõäàã÷ àðãà çàì) ýñâýë Maildir õýëáýðýýð õàäãàëíà. Çàõèäëûã õàäãàëñàí ë áîë, ò³³íèéã äîòîîäîîñ mail(1) ýñâýë mutt çýðýã ïðîãðàìûã àøèãëàí óíøèæ áîëíî. Ýñâýë àëñààñ õàíäàí, POP ýñâýë IMAP çýðýã ïðîòîêîëûã àøèãëàí öóãëóóëæ àâñíû äàðàà óíøèæ áîëíî. Ýíý íü õýðýâ òà çàõèäëàà ç°âõ°í äîòîîäîîñ øàëãàõ õ³ñýëòýé áàéãàà áîë, POP ýñâýë IMAP ñåðâåð ñóóëãàõ øààðäëàãàã³é ãýñýí ³ã þì. 28.2.4.1 POP áà IMAP àøèãëàí àëñûí çàõèäëûí õàéðöàãò õàíäàõ íü
Çàõèäëûí õàéðöàãò àëñààñ õàíäàõûí òóëä, òà POP ýñâýë IMAP ñåðâåð ðóó õàíäàõ õýðýãòýé áîëíî. Ýäãýýð ïðîòîêîëóóä íü õýðýãëýã÷äýä °°ðñäèéí çàõèäëûí õàéðöàãò àëñààñ ò°â°ãã³éãýýð õàíäàõ áîëîìæèéã îëãîäîã. Õýäèéãýýð POP áà IMAP õî¼óë õýðýãëýã÷äýä çàõèäëûí õàéðöàãòàà àëñààñ õàíäàõ áîëîìæèéã îëãîäîã áîëîâ÷, IMAP íü èë³³ äàâóó òàëòàé, äóðäâàë:
• • •
IMAP íü àëñûí ñåðâåðýýñ çàõèäëûã ç°°æ àâ÷ðàõààñ ãàäíà ì°í õàäãàëæ ÷àäíà. IMAP íü çýðýã õèéõ °°ð÷ë°ëòèéã äýìæäýã.
IMAP íü çàõèäëûã á³òíýýð íü áèø, ç°âõ°í ò³³íèé ò°ðõèéã íü òàòàæ àâàõ áîëîìæèéã õýðýãëýã÷äýä îëãîäîã òóë, õóðä óäààíòàé õîëáîëòòîé ³åä ³íýõýýð õýðýãòýé áàéæ ÷àääàã. Ì°í ñåðâåð áîëîí õàðèëöàã÷èéí õîîðîíä äàìæèõ °ã°ãäëèéã õàìãèéí áàãà áàéëãàõûí òóëä, ñåðâåð äýýð õàéëò ÿâóóëàõ çýðýã ³éëäëèéã õèéæ ÷àääàã.
POP ýñâýë IMAP ñåðâåð ñóóëãàõûí òóëä, äàðààõ àëõìóóäûã õèéõ õýðýãòýé: 1.
2. 3.
°ðèéíõ°° õýðýãöýý, øààðäëàãàä òîõèðñîí IMAP ýñâýë POP ñåðâåðèéã ñîíãîæ àâàõ. ðã°í õýðýãëýãääýã çàðèì POP áà IMAP ñåðâåð³³äèéã æèøýý áîëãîí äóðäâàë: •
qpopper;
•
teapop;
•
imap-uw;
•
courier-imap;
°ðèéí ñîíãîñîí POP ýñâýë IMAP äýìîíã ïîðòóóäûí öóãëóóëãààñ ñóóëãàõ. Øààðäëàãàòàé áîë, POP ýñâýë IMAP ñåðâåðèéã à÷ààëàõûí òóëä /etc/inetd.conf àéëûã çàñâàðëàõ. Warning: POP áà IMAP õî¼óë õýðýãëýã÷èéí íýð, íýâòðýõ ³ã çýðýã ÷óõàë ìýäýýëëèéã öýâýð òåêñò ÷èãýýð íü äàìæóóëäàã áîëîõûã ýíä òýìäýãëýõ õýðýãòýé áîëîâ óó. Ýíý íü ýäãýýð ïðîòîêîëîîð ìýäýýëýë äàìæóóëàëòûã àþóëã³é áîëãî¼ ãýâýë ñåññ³³äýý ssh(1) õîíãèëîîð äàìæóóëàõ õýðýãòýé ãýñýí ³ã þì. Ñåññ³³äèéã õîíãèëîîð äàìæóóëàõ òàëààð Section 14.11.8 õýñýãò òàéëáàðëàñàí áàéãàà.
28.2.4.2 Äîòîîä çàõèäëûí õàéðöãóóäàä õàíäàõ íü
Çàõèäëûí õàéðöàã áàéðëàæ áàéãàà ñåðâåð äýýðõ MUA-óóäûí òóñëàìæòàé çàõèäëûí õàéðöãóóäàä äîòîîäîîñ íü øóóä õàíäàæ áîëíî. ³íèé òóëä mutt ýñâýë mail(1) çýðýã ïðîãðàìóóäûã àøèãëàíà. 735
Chapter 28 Öàõèì Øóóäàí
28.2.5
Çàõèäëûí õîñò
Çàõèäëûí õîñò ãýæ òàíû õîñò, ìàãàäã³é òàíû ñ³ëæýýíä õàÿãëàãäñàí çàõèäëûã õ³ëýýí àâàõ, èëãýýõ ³³ðãèéã ã³éöýòãýæ áàéãàà ñåðâåðèéã íýðëýíý. 28.3 sendmail-
ã Òîõèðóóëàõ íü
Õóâü íýìðýý îðóóëñàí Êðèñòîåð Øàìâýé. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. FreeBSD-í õóâüä sendmail(8) áîë àíõäàã÷ Mail Transfer Agent áóþó Çàõèäàë Äàìæóóëàõ Àãåíò(MTA) þì. sendmail-í ³³ðýã áîë Mail User Agent áóþó Õýðýãëýã÷èéí Çàõèäëûí Àãåíò(MUA)-ñ çàõèäàë õ³ëýýí àâ÷, òîõèðãîîíû àéëä õýðõýí çààæ °ãñí°°ñ õàìààðàí çîõèõ çàõèäàë ò³ãýýã÷èä äàìæóóëíà. sendmail íü ì°í ñ³ëæýýíèé õîëáîëòóóäûã õ³ëýýí àâ÷, çàõèäëûã äîòîîä çàõèäëûí õàéðöàãò ýñâýë °°ð ïðîãðàìä äàìæóóëàõ ÷àäâàðòàé. sendmail äàðààõ òîõèðãîîíû àéëóóäûã àøèãëàäàã:
Ôàéëûí Íýð
³ðýã
sendmail-í õàíäàëòûí °ã°ãäëèéí ñàíãèéí àéë
/etc/mail/access /etc/mail/aliases /etc/mail/local-host-names /etc/mail/mailer.conf /etc/mail/mailertable /etc/mail/sendmail.cf /etc/mail/virtusertable
Çàõèäëûí õàéðöàãíû õóóðàì÷ ä³ð³³ä sendmail ýäãýýð õîñòóóäààñ çàõèäàë õ³ëýýæ àâíà. Çàõèäàë ò³ãýýã÷ ïðîãðàìûí òîõèðãîî Çàõèäàë ò³ãýýã÷èéí ò³ãýýëòèéí õ³ñíýãò sendmail-í ãîë òîõèðãîîíû àéë Õèéñâýð õýðýãëýã÷èä áîëîí äîìýéí õ³ñíýãò³³ä
28.3.1 /etc/mail/access
Õàíäàëòûí °ã°ãäëèéí ñàíä ÿìàð õîñòóóä áîëîí IP õàÿãóóäààñ äîòîîä çàõèäëûí ñåðâåðò õàíäàõ, ÿìàð ò°ðëèéí õàíäàëò õèéõèéã çààæ °ãñ°í áàéíà. Õîñòóóäûã OK, REJECT, RELAY ãýæ òýìäýãëýæ áîëíî ýñâýë sendmail-í àëäàà çîõèöóóëàõ äýãä òîäîðõîé àëäààã çààæ °ã°í äàìæóóëæ áîëíî. OK ãýñýí àíõäàã÷ óòãààð òýìäýãëýãäñýí õîñòóóä ýíý õîñòîä õàÿãëàãäñàí çàõèäëûã äàìæóóëàõ ýðõòýé. REJECT ãýæ òýìäýãëýãäñýí õîñòóóäààñ ³³ñýõ õîëáîëòûã õ³ëýýæ àâàõã³é. RELAY ãýæ òýìäýãëýãäñýí õîñòóóäûí õóâüä ýíý çàõèäëûí ñåðâåðýýð äàìæóóëàí õààø íü ÷ õàìààã³é çàõèäàë èëãýýæ áîëíî. Example 28-1. sendmail
Õàíäàëòûí ã°ãäëèéí ñàíã Òîõèðóóëàõ íü
cyberspammer.com FREE.STEALTH.MAILER@ another.source.of.spam okay.cyberspammer.com 128.32
550 We do not accept mail from spammers 550 We do not accept mail from spammers REJECT OK RELAY
Ýíý æèøýýí äýýð áèä òàâàí á³ðòãýë õàðæ áàéíà. Çàõèäàë èëãýýã÷èéí õóâüä õ³ñíýãòèéí ç³³í áàãàíàä áàéãàà óòãàòàé ä³éâýë áàðóóí áàãàíàä áàéãàà ³éëäëèéã ã³éöýòãýíý. Ýõíèé õî¼ð æèøýýíèé õóâüä sendmail-í àëäàà çîõèöóóëàõ äýãä àëäààíû ìýäýýëëèéã °ã°õ áîëíî. Õ³ñíýãòèéí ç³³í áàãàíàä áàéãàà óòãàòàé çàõèäàë ä³éñýí òîõèîëäîëä àëñûí õîñòîä ýíý ìýäýýëëèéã °ã°õ áîëíî. Äàðààãèéí æèøýýí äýýð,
736
Chapter 28 Öàõèì Øóóäàí another.source.of.spam ãýñýí òîäîðõîé õîñòîîñ èðýõ çàõèäëûã á³ãäèéã áóöààõ áîëíî. Ò³³íèé äàðààãèéí æèøýýí äýýð, okay.cyberspammer.com ãýñýí õîñòîîñ èðýõ õîëáîëòóóäûã õ³ëýýæ àâàõ áîëíî. Ýíä õîñòûí íýð °ìí°õ ì°ðíèé cyberspammer.com-ã áîäâîë èë³³ òîäîðõîé áàéíà. Èë³³ òîäîðõîé çààëò íü åð°íõèé çààëòûã äàðæ õ³÷èíã³é áîëãîíî. Õàìãèéí ñ³³ëèéí æèøýýí äýýð, 128.32-ð ýõýëñýí IP õàÿãòàé õîñòóóäààñ èðýõ çàõèäëûã °ðò°°ë°í äàìæóóëàõûã çààæ áàéíà. Ýäãýýð õîñòóóä áóñàä ñåðâåðò õàÿãëàñàí çàõèäëûã ýíý çàõèäëûí ñåðâåðýýð äàìæóóëàõ áîëîìæòîé ãýñýí ³ã þì. Ýíý àéëä °°ð÷ë°ëò îðóóëñíû äàðàà, /etc/mail/ äîòîð make òóøààëûã °ã°í °ã°ãäëèéí ñàíã øèíý÷ëýõ õýðýãòýé.
28.3.2 /etc/mail/aliases
Õóóðàì÷ ä³ð³³äèéí °ã°ãäëèéí ñàíä õýðýãëýã÷èä, àéëóóä, ïðîãðàìóóä ýñâýë áóñàä õóóðàì÷ ä³ð³³ä ð³³ çàäàðäàã õèéñâýð çàõèäëûí õàéðöãóóäûí æàãñààëòûã õàäãàëæ áàéäàã. /etc/mail/aliases äîòîð õýðýãëýæ áîëîõ õýäýí æèøýýã äîð ³ç³³ëýâ: Example 28-2.
Çàõèäëûí Õóóðàì÷ ä³ð³³ä
root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
Áè÷èõ õýëáýð íü àìàðõàí; òîäîðõîéëîõ õî¼ð öýãíèé ç³³í òàëä áàéãàà çàõèäëûí õàéðöàãíû íýð íü áàðóóí òàëä áàéãàà ç³éë áîëîí çàäàðíà. Ýõíèé æèøýýí äýýð root çàõèäëûí õàéðöãèéã localuser çàõèäëûí õàéðöàã áîëãîí çàäàëæ áàéíà. Ýíý íýðèéã öààø äàõèí õóóðàì÷ ä³ðèéí °ã°ãäëèéí ñàíãààñ õàéõ áîëíî. Õýðýâ ýíý íýð îëäîõã³é áîë, çàõèäëûã localuser íýðòýé äîòîîä õýðýãëýã÷èä õ³ðãýõ áîëíî. Äàðààãèéí æèøýýí äýýð çàõèäëûí æàãñààëòû㠳糳ëñýí áàéíà. ftp-bugs çàõèäëûí õàéðöàãò èðýõ çàõèäëûã joe, eric, áà paul ãýñýí ãóðâàí äîòîîä õýðýãëýã÷äýä çàäëàõ áîëíî. Àëñûí çàõèäëûí õàéðöãèéã <[email protected] > õýëáýðýýð îðóóëæ áîëîõûã ýíä òýìäýãëýõ õýðýãòýé. Äàðààãèéí æèøýýí äýýð çàõèäëûã àéëä, ýíý æèøýýí äýýð /dev/null-ä áè÷èõèéã çààæ áàéíà. Õàìãèéí ñ³³ëèéí æèøýýí äýýð, çàõèäëûí ïðîãðàìä èëãýýõèéã, ýíý òîõèîëäîëä çàõèäëûã UNIX õîîëîéãîîð äàìæóóëàí /usr/local/bin/procmail-í ñòàíäàðò îðîëòîä °ã÷ áàéíà. Ýíý àéëä °°ð÷ë°ëò îðóóëñíû äàðàà, /etc/mail/ äîòîð make òóøààëûã °ã°í °ã°ãäëèéí ñàíã øèíý÷ëýõ õýðýãòýé. 28.3.3 /etc/mail/local-host-names
Ýíý áîë sendmail(8) äîòîîä õîñòóóä áàéäëààð õ³ëýýí àâàõ õîñòóóäûí íýðèéí æàãñààëò þì. sendmail çàõèäëûã íü õ³ëýýæ àâàõ äîìýéí áîëîí õîñòûí íýðèéã ýíý àéëä áè÷èõ õýðýãòýé. Æèøýýëáýë, õýðýâ ýíý çàõèäëûí ñåðâåð example.com äîìýéí áîëîí mail.example.com õîñòûí çàõèäëûã õ³ëýýæ àâàõ ¼ñòîé áîë, local-host-names àéë äàðààõ áàéäàëòàé áàéíà: example.com mail.example.com
Ýíý àéëä °°ð÷ë°ëò îðîõîä, °°ð÷ë°ëò³³äèéã õ³÷èíòýé áîëãîõûí òóëä sendmail(8)-ã äàõèí ýõë³³ëýõ øààðäëàãàòàé.
737
Chapter 28 Öàõèì Øóóäàí
28.3.4 /etc/mail/sendmail.cf sendmail-í ãîë òîõèðãîîíû àéë áîëîõ sendmail.cf íü çàõèäëûí õàÿãèéã äàõèí áè÷èõýýñ ýõë³³ëýýä àëñûí çàõèäëûí ñåðâåðò òàòãàëçñàí çóðâàñ èëãýýõ õ³ðòýë á³õ ç³éëèéã îðóóëààä sendmail-í åð°íõèé ³éë àæèëëàãààã õÿíàíà. Ìýäýýæèéí õýðýã, èéì îëîí òàëûí ³³ðýãòýé ýíý òîõèðãîîíû àéë íèëýýä îéëãîìæã³é áàéõ áà íàðèéâ÷ëàí àâ÷ ³çýõ íü ýíý á³ëãèéí ìýäëýýñ õàëüñàí àñóóäàë áîëíî. Íýã áàÿðëóóøòàé íü, ñòàíäàðò çàõèäëûí ñåðâåð áàéäëààð àøèãëàõàä ýíý àéëä °°ð÷ë°ëò îðóóëàõ áàðàã øààðäëàãàã³é áàéäàã.
sendmail-í ãîë òîõèðãîîíû àéëûã sendmail-í øèíæ ÷àíàð, ò°ëâèéã èëýðõèéëñýí m4(1) ìàêðîíóóäààñ ³³ñãýæ áîëíî. Äýëãýðýíã³éã /usr/src/contrib/sendmail/cf/README àéëààñ ³çýæ áîëíî. Ýíý àéëä °°ð÷ë°ëò îðîõîä, °°ð÷ë°ëò³³äèéã õ³÷èíòýé áîëãîõûí òóëä sendmail-ã äàõèí ýõë³³ëýõ øààðäëàãàòàé.
28.3.5 /etc/mail/virtusertable virtusertable íü õèéñâýð äîìýéíóóä áà çàõèäëûí õàéðöãèéí õàÿãóóäûã æèíõýíý çàõèäëûí õàéðöãóóäàä áóóëãàíà. Ýäãýýð çàõèäëûí õàéðöãóóä íü äîòîîä, àëñûí, /etc/mail/aliases äîòîð òîäîðõîéëîãäñîí õóóðàì÷ ä³ð ýñâýë àéë áàéæ áîëíî.
Example 28-3.
Õèéñâýð Äîìýéíû Çàõèäëûí Áóóëãàëòûí Æèøýý
[email protected] [email protected] @example.com
root [email protected] joe
Äýýðõ æèøýýí äýýð, example.com äîìýéíû õóâü äàõü áóóëãàëòû㠳糳ëñýí áàéíà. Ýíý àéëûã äýýðýýñ íü äîîø íü, ýõíèé òààðñíûã àâàõ áàéäëààð áîëîâñðóóëíà. Ýõíèé ì°ð°íä -ã root ãýñýí äîòîîä çàõèäëûí õàéðöàãò áóóëãàæ áàéíà. Äàðààãèéí ì°ð°íä <[email protected] >-ã noc.example.net õîñò äýýð áàéãàà postmaster çàõèäëûí õàéðöàãò áóóëãàæ áàéíà. Ýöýñò íü, õýðýâ example.com-òîé õàÿã äýýð äóðäñàíû àëèíä ÷ òîõèðîîã³é áîë, õàìãèéí ñ³³ëèéí ì°ð°íä òîõèðîõ áîëíî. Ýíý ì°ð°íä example.com äîìýéíòîé á³õ çàõèäëûí õàÿã òîõèðîõ á°ã°°ä á³ãä joe ãýñýí äîòîîä çàõèäëûí õàéðöàãò áóóëãàãäàõ áîëíî. 28.4
°ðèéí Çàõèäàë Äàìæóóëàõ Àãåíòèéã Ñîëèõ íü
Áè÷ñýí Ýíäðþ Á³³òìýí. Öàõèì çàõèäëààð ìýäýýëýë èëãýýñýí ðåãîðè Íýéë Øàïèðî. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. Óðüä íü äóðäñàí øèã, FreeBSD äîòîð sendmail íü MTA (Mail Transfer Agent áóþó Çàõèäàë Äàìæóóëàõ Àãåíò) áàéäëààð àëü õýäèéí ñóó÷èõñàí èðäýã. Òèéìýýñ àíõäàã÷ áàéäëààð, òàíû ÿâóóëæ áàéãàà áîëîí èðæ áàéãàà çàõèäëûã õàðèóöàí àæèëëàæ áàéãàà. ýâ÷ ÿíç á³ðèéí øàëòãààíààð çàðèì ñèñòåìèéí àäìèíèñòðàòîðóóä ñèñòåìèéíõýý MTA-ã ñîëèõ õ³ñýëòýé áàéäàã. Øàëòãààí íü °°ð MTA-ã õýðýãëýæ ³çýõ õ³ñýëäýý õ°òë°ãäñ°í°°ñ, ýñâýë áóñàä çàõèäàë äàìæóóëàã÷äààñ óëáààëñàí òóñãàé ÷àäâàð ýñâýë áàãö øààðäëàãàòàé áîëîõ çýðýã ÿíç á³ð áàéäàã. Áàÿðëóóøòàé íü, ÿìàð ÷ øàëòãààíòàé áàéñàí ãýñýí FreeBSD íü °°ð÷ë°ëò õèéõýä àìàðõàí áàéõ áîëîìæèéã îëãîäîã.
738
Chapter 28 Öàõèì Øóóäàí
28.4.1
Øèíý MTA ñóóëãàõ íü
Òàíä îëîí ò°ðëèéí MTA-í ñîíãîëò áàéíà. ðã°í ñîíãîëòòîé FreeBSD Ïîðòóóäûí Öóãëóóëãààñ ýõëýõ íü õàìãèéí ç°â ýõëýë áîëíî. Ìýäýýæ FreeBSD äýýð àæèëëóóëæ ÷àäàæ ë áàéâàë, òà õ³ññýí ãàçðààñàà õ³ññýí MTA-àà ñóóëãàõ ýðõòýé. Ýõëýýä øèíý MTA-àà ñóóëãàæ ýõëýõ õýðýãòýé. Íýãýíò ñóóëãàñíû äàðàà, øèíý ïðîãðàì òàíû õýðýãöýýã ³íýõýýð õàíãàæ ÷àäàæ áàéíà óó ãýäãèéã øàëãàõ, sendmail-ã á³ðýí ñîëèõîîñ °ìí° øèíý ïðîãðàìûí òîõèðãîîã õèéõ áîëîìæòîé. Èíãýõ ÿâöàä òàíû ñóóëãàæ áàéãàà øèíý ïðîãðàì /usr/bin/sendmail çýðýã ñèñòåìèéí õî¼ðòûí àéëóóäûã äàðæ áè÷èõã³é áàéõûã àíõààð÷ áàéõ õýðýãòýé. ã³é áîë, òàíûã òîõèðãîî õèéõýýñ ÷èíü °ìí° çàõèäëûí øèíý ïðîãðàì ÷èíü àæèëëàæ ýõëýõ áîëíî. Ñîíãîæ àâñàí MTA ïðîãðàìûíõàà òîõèðãîîã õèéõäýý òóõàéí ïðîãðàìûí °°ðèéí õîëáîãäîõ áàðèìò áè÷ã³³äèéã ³çíý ³³.
ã èäýâõã³é áîëãîõ íü
28.4.2 sendmail-
Warning: Õýðýâ òà sendmail-í ãàäàãø çàõèäàë èëãýýõ ³éë÷èëãýýã èäýâõã³é áîëãîñîí áîë, °°ð çàõèäàë ò³ãýýõ ñèñòåìýýð ò³³íèéã îðëóóëàõ íü ÷óõàë þì. Õýðýâ òýãýõã³é áîë periodic(8) ãýõ ìýò ñèñòåìèéí óíêöóóä °°ðñäèéí ³ð ä³íãýý öàõèì çàõèäëààð èëãýýõ áîëîìæã³é áîëæ, õýâèéí ³éë àæèëëàãàà íü äîãîëäîõ áîëíî. Ñèñòåìèéí íèëýýä õýñýãò sendmail àøèãëàäàã áàéõààð áîäîëöñîí áàéãàà. Õýðýâ sendmail-ã èäýâõã³é áîëãîñíû äàðàà ïðîãðàìóóä sendmail-í õî¼ðòûí àéëûã àøèãëàí çàõèäëûã ³ðãýëæë³³ëýí èëãýýñýýð áàéâàë, òýäãýýð çàõèäëóóä sendmail-í èäýâõã³é äàðààëàëä îðæ, õýçýý ÷ õ³ðýõ ãàçðàà î÷èæ ÷àäàõã³é áîëíî.
sendmail-ã á³õýëä íü èäýâõã³é áîëãîõûí òóëä, ãàäàãø çàõèäàë èëãýýõ ³éë÷èëãýýã îðóóëààä, äàðààõ ì°ð³³äèéã: sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
àéëä îðóóëæ °ã°õ øààðäëàãàòàé. Õýðýâ òà sendmail-í ç°âõ°í çàõèäàë õ³ëýýí àâàõ ³éë÷èëãýýã èäýâõã³é áîëãîõ õ³ñýëòýé áîë, äàðààõ ì°ðèéã: /etc/rc.conf
sendmail_enable="NO" /etc/rc.conf àéëä îðóóëæ °ã°õ øààðäëàãàòàé. sendmail-í ýõëýë òîõèðóóëãóóäûí òàëààð äýëãýðýíã³é ìýäýýëëèéã rc.sendmail(8) çààâàð õóóäàñíààñ ³çíý ³³.
28.4.3
°ðèéí øèíý MTA-ã ñèñòåì à÷ààëàõ ³åä àæèëëóóëàõ íü
postfix-ä çîðèóëñàí äàðààõ æèøýýí äýýðõ øèã òîõèðãîîíû ì°ðèéã /etc/rc.conf àéëä íýìýí øèíý MTA-ã à÷ààëàõ ³åä ýõë³³ëæ áîëíî. # echo ’postfix _enable=“YES”’ >> /etc/rc.conf
MTA íü îäîî àâòîìàòààð à÷ààëàõ ³åä ýõëýõ áîëíî.
739
Chapter 28 Öàõèì Øóóäàí
ã Ñèñòåìèéí Àíõäàã÷ Çàõèäàë Ò³ãýýã÷ áîëãîõ íü
28.4.4 sendmail-
sendmail íü UNIX ñèñòåì³³äèéí ñòàíäàðò ïðîãðàì áàéõààð õàà ñàéã³é õýðýãëýãääýã áîëîõîîð, çàðèì ïðîãðàì ò³³íèéã ñèñòåìä àëü õýäèéí ñóó÷èõñàí, àæèëëàæ áàéãàà ãýæ òîîöñîí áàéäàã. Òèéìýýñ, áóñàä îëîí MTA-óóä sendmail-í òóøààëûí ì°ðíèé èíòåðýéñòýé íèéöòýé øèéäë³³äèéã ãàðãàäàã á°ã°°ä ýíý íü sendmail-í îðîíä òýäãýýð MTA-óóäûã àøèãëàõ áîëîìæòîé áîëãîäîã.
Òèéìýýñ, õýðýâ °°ð çàõèäàë ò³ãýýã÷ õýðýãëýæ áàéãàà áîë, ïðîãðàìóóä sendmail-í /usr/bin/sendmail ãýõ çýðýã õî¼ðòûí àéëûí îðîíä òàíû ñîíãîñîí çàõèäàë ò³ãýýã÷èéã õýðýãëýæ áàéãàà ýñýõèéã íÿãòëààðàé. Àç áîëîõîä, FreeBSD òàíä ýíý àæëûã õèéæ °ã°õ mailwrapper(8) ãýñýí ñèñòåìèéã àãóóëæ áàéäàã. sendmail íü àíõ ñóóñàí áàéäëààðàà àæèëëàæ áàéõ ³åä, /etc/mail/mailer.conf àéë äîòîð äàðààõ ì°ð³³äèéã õàðàõ áîëíî: sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail
Ýíý íü, ýäãýýð °ðã°í õýðýãëýãääýã òóøààëóóäûí àëü íýãèéã (sendmail °°ð°° ãýõ ìýò) àæèëëóóëàõàä, ñèñòåì ³íýí õýðýãòýý sendmail íýðòýé çàõèäëûí äóíäûí õÿíàã÷èéí õóóëáàðûã äóóäíà ãýñýí ³ã þì. Ýíý çàõèäëûí äóíäûí õÿíàã÷ mailer.conf àéëûã øàëãàæ, /usr/libexec/sendmail/sendmail-ã îðîíä íü àæèëëóóëíà. Ýíý ñèñòåìèéí òóñëàìæòàé äýýðõ àíõäàã÷ sendmail óíêö³³äèéã äóóäàõàä ³íýíäýý àæèëëàõ õî¼ðòûí àéëóóäûã ñîëèõîä àìàðõàí áîëãîäîã. Òèéìýýñ õýðýâ òà sendmail-í îðîíä /usr/local/supermailer/bin/sendmail-compat-ã àæèëëóóëàõ õ³ñýëòýé áîë, /etc/mail/mailer.conf àéëûã äàðààõ áàéäëààð çàñàæ áè÷èõ õýðýãòýé: sendmail /usr/local/supermailer/bin/sendmail-compat send-mail /usr/local/supermailer/bin/sendmail-compat mailq /usr/local/supermailer/bin/mailq-compat newaliases /usr/local/supermailer/bin/newaliases-compat hoststat /usr/local/supermailer/bin/hoststat-compat purgestat /usr/local/supermailer/bin/purgestat-compat
28.4.5
Ò°ãñã°ë
°ðèéí õ³ññýíýýð á³õ ç³éëñèéã òîõèðóóëñíû äàðàà, íýãýíò õýðýãã³é áîëñîí sendmail ïðîöåññóóäûã çîãñîîæ øèíý ïðîãðàìä õàìààðàõ ïðîöåññóóäûã ýõë³³ëýõ, ýñâýë ç³ãýýð ë ñèñòåìèéã äàõèí à÷ààëàõ õýðýãòýé. Ñèñòåìèéã äàõèí à÷ààëàõ íü ñèñòåì à÷ààëàõ ÿâöàä òàíû øèíý MTA-ã à÷ààëàõ òîõèðãîîã ç°â õèéñýí ýñýõýý øàëãàõàä òàíü òóñàëíà.
740
28.5
ýìòýë ñààòëûã àðèëãàõ íü
Chapter 28 Öàõèì Øóóäàí
1. ßàãààä áè °°ðèéí ñ³ëæýýíä áàéãàà õîñòóóäûí õóâüä FQDN-ã õýðýãëýõ ¼ñòîé âý?
íýíäýý òóõàéí õîñò °°ð äîìýéíä áàéãàà áîëîõûã òà àíçààðàõ áàéõ; æèøýý íü, õýðýâ òà °°ð°° foo.bar.edu äîìýéíä áàéãàà á°ã°°ä bar.edu äîìýéíä áàéãàà mumble õîñò ðóó õàíäàõ õ³ñýëòýé áîë ò³³íèéã ç³ãýýð mumble ãýõèéí îðîíä mumble.bar.edu ãýñýí fully-qualified domain name áóþó á³ðýí-áàòàëãààæñàí äîìýéí íýðýýð íü çààõ õýðýãòýé. Óðüä íü, BSD BIND òàéëàã÷èéí õóâüä äýýðõ øèã õýðýãëýæ áîëäîã áàéñàí. ýâ÷ FreeBSD-òýé õàìò èðäýã BIND-í îäîîãèéí õóâèëáàð äýýð °°ðèéí îðøèí áàéãàà äîìýéíîîñ áóñàä á³ðýí áàòàëãààæààã³é äîìýéí íýðèéí õóâüä àíõäàã÷ òîâ÷èëñîí íýð³³äèéã õýðýãëýæ áîëîõã³é áîëñîí. Òèéìýýñ áàòàëãààæààã³é mumble ãýñýí õîñòûã ýñâýë mumble.foo.bar.edu ãýæ îéëãîíî, ýñâýë ýõ äîìýéíä õàéõ áîëíî. Õàéëò öààø mumble.bar.edu, áà mumble.edu áîëæ ³ðãýëæëýõ á°ã°°ä ýíý íü ñàíàñíààñ øàë °°ð ç³éë áîëîí õóâèðíà. ³íèéã ÿàãààä áóðóó ³éëäýë, á³ð àþóëã³é áàéäëûí öîîðõîé ãýæ òîîöîõ áîëñíûã RFC 1535-ñ îëæ ³çýýðýé. Äýýðõ áàéäëààñ ãàðàõûí òóëä, °°ðèéí /etc/resolv.conf àéë äîòîð: search foo.bar.edu bar.edu
ãýñýí ì°ðèéã: domain foo.bar.edu
ì°ðèéí îðîíä áè÷èõ õýðýãòýé. ýõäýý, õàéëò õèéõ äýñ äàðààëàë íü RFC 1535-ä çààñíû äàãóó “äîòîîä áîëîí ãàäààä óäèðäëàãûí õÿçãààð”ûã äàâàõ ¼ñã³éã àíõààðààðàé. 2. sendmail “çàõèäàë °°ð äýýð ìèíü òîéðîîä èðæ áàéíà” ãýýä áàéíà
Ýíý àñóóëòàíä sendmail-í FAQ äàðààõ áàéäàëòàé õàðèóëñàí áàéãàà: I’m getting these error messages: 553 MX list for domain.net points back to relay.domain.net 554 <[email protected] >... Local configuration error How can I solve this problem? You have asked mail to the domain (e.g., domain.net) to be forwarded to a specific host (in this case, relay.domain.net) by using an MX record, but the relay machine does not recognize itself as domain.net. Add domain.net to /etc/mail/local-host-names [known as /etc/sendmail.cw prior to version 8.10] (if you are using FEATURE(use_cw_file)) or add “Cw domain.net” to /etc/mail/sendmail.cf.
sendmail-í FAQ-ã http://www.sendmail.org/faq/ õàÿãààð îðæ ³çýæ áîëîõ áà õýðýâ òà çàõèäëûí ñåðâåðèéíõýý òîõèðãîîãîîð íèëýýä “îðîëäîõ” áîë ýõëýýä ³³íèéã óíøèõûã ç°âë°æ áàéíà.
741
Chapter 28 Öàõèì Øóóäàí 3. Óòñààð çàëãàæ õîëáîãääîã PPP õîñò äýýð çàõèäëûí ñåðâåðèéã õýðõýí àæèëëóóëàõ âý?
Òà LAN-ä áàéãàà FreeBSD ìàøèíûã Èíòåðíýòýä õîëáîõ õ³ñýëòýé áàéíà. Ýíý FreeBSD ìàøèí òóõàéí LAN-èé õóâüä çàõèäëûí ãàðö áàéõ áîëíî. PPP õîëáîëò áîë òóñãàéëàí áèé áîëãîñîí çîðèóëàãäñàí õîëáîëò áèø þì. ³íèé òóëä õî¼ð àðãà áàéíà. Íýã àðãà íü UUCP àøèãëàõ þì. Í°ã°° àðãà íü òàíû äîìýéíû õóâüä õî¼ðäîã÷ MX ³éë÷èëãýý㠳糳ëýõ áàéíãûí õîëáîëòòîé Èíòåðíýò ñåðâåðòýé áîëîõ ÿâäàë þì. Æèøýýëáýë, õýðýâ òàíàé áàéãóóëëàãûí äîìýéí íýð example.com á°ã°°ä òàíàé Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷ òàíàé äîìýéíû õóâüä õî¼ðäîã÷ MX ³éë÷èëãýý㠳糳ëýõýýð example.net äîìýéíûã äàðààõ áàéäàëòàé òîõèðóóëæýý: example.com.
MX MX
10 20
example.com. example.net.
Ç°âõ°í ãàíö õîñò ýöñèéí çàõèäàë õ³ëýýí àâàã÷ áàéõ ¼ñòîé (example.com õîñòûí /etc/mail/sendmail.cf àéëä Cw example.com-ã íýìíý). Çàõèà ÿâóóëàõ ãýæ áàéãàà sendmail çàõèäëûã ÿâóóëàõààð îðîëäîõ ³åä ýõëýýä ìîäåì õîëáîîñîîð òàíòàé (example.com) õîëáîãäîõûã îðîëäîíî. Òà Èíòåðíýòýä õîëáîãäîîã³é áàéãàà ó÷ðààñ èõýíõ òîõèîëäîëä òàíòàé õîëáîãäîæ ÷àäàõã³é. Ýíý òîõèîëäîëä, sendmail àâòîìàòààð õî¼ðäîã÷ MX ñåðâåð ð³³, °°ð°°ð õýëáýë òàíàé Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷èä (example.net) èëãýýõ áîëíî. Õî¼ðäîã÷ MX ñåðâåð òàíàé ñåðâåðòýé õîëáîãäîõûã òîãòìîë îðîëäîõ áà èéì çàìààð àíõäàã÷ MX õîñò ðóó (example.com) çàõèäëûã õ³ðãýõ áîëíî. Òà äîð ³ç³³ëñýíòýé ò°ñòýé íýâòðýõ ñêðèïòèéã õýðýãëýõèéã õ³ñýæ áîëçîøã³é: #!/bin/sh # Put me in /usr/local/bin/pppmyisp ( sleep 60 ; /usr/sbin/sendmail -q ) & /usr/sbin/ppp -direct pppmyisp
Õýðýâ òà õýðýãëýã÷èéí õóâüä òóñäàà íýâòðýõ ñêðèïò ³³ñãýõ ãýæ áàéãàà áîë äýýðõ ñêðèïò äýýð áàéãààãèéí îðîíä sendmail -qRexample.com-ã õýðýãëýæ áîëîõ þì. Ýíý íü òàíû çàõèäëûí äàðààëàëä áàéãàà example.com-ä î÷èõ á³õ çàõèäëûã òýð äîð íü áîëîâñðóóëàõûã øààðäàíà. Áàéäëûã õýðõýí öààø ñàéæðóóëàõûã äîð ³çíý ³³: FreeBSD Èíòåðíåòèéí ³éë÷èëãýý ³ç³³ëýã÷èéí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-isp)-ñ õóëãàéëñàí çóðâàñ. > > > > > > > > >
we provide the secondary MX for a customer. The customer connects to our services several times a day automatically to get the mails to his primary MX (We do not call his site when a mail for his domains arrived). Our sendmail sends the mailqueue every 30 minutes. At the moment he has to stay 30 minutes online to be sure that all mail is gone to the primary MX. Is there a command that would initiate sendmail to send all the mails now? The user has not root-privileges on our machine of course.
In the “privacy flags” section of sendmail.cf, there is a definition Opgoaway,restrictqrun
742
Chapter 28 Öàõèì Øóóäàí Remove restrictqrun to allow non-root users to start the queue processing. You might also like to rearrange the MXs. We are the 1st MX for our customers like this, and we have defined: # If we are the best MX for a host, try directly instead of generating # local config error. OwTrue That way a remote site will deliver straight to you, without trying the customer connection. You then send to your customer. Only works for “hosts”, so you need to get your customer to name their mail machine “customer.com” as well as “hostname.customer.com” in the DNS. Just put an A record in the DNS for “customer.com”.
4. Áóñàä õîñòîîñ çàõèäàë ÿâóóëàõàä ÿàãààä “Relaying Denied” ãýñýí àëäàà áàéíãà ãàðààä áàéíà âý?
FreeBSD-í àíõäàã÷ ñóóëãàöàä sendmail-ã ç°âõ°í àæèëëàæ áàéãàà õîñòîîñîî çàõèäàë èëãýýäýã áàéõààð òîõèðóóëñàí áàéäàã. Æèøýý íü, õýðýâ íýã POP ñåðâåð áàéãàà áîë, õýðýãëýã÷èä ñóðãóóëü, àæèë, ýñâýë áóñàä àëñûí áàéðøëààñ çàõèäëàà øàëãàõ áîëîìæòîé áàéõ áîëíî. ýâ÷ ãàäíààñ çàõèäàë èëãýýæ ÷àäàõã³é õýâýýð áàéõ áîëíî. Èõýâ÷ëýí, îðîëäîãî õèéñíýýñ õýäýí õîðìûí äàðàà, MAILER-DAEMON “5.7 Relaying Denied” ãýñýí àëäààíû ìýäýýëýëòýé çàõèäëûã èëãýýõ áîëíî. Ýíý áàéäëààñ ãàðàõ õýä õýäýí çàì áàéíà. Õàìãèéí ýíãèéí àðãà áîë °°ðèéí ISP-í õàÿãèéã /etc/mail/relay-domains-ä áàéãàà °ðò°°ë°õ (äàìæóóëàõ) äîìýéíóóäûí àéëä áè÷èõ õýðýãòýé. ³íèéã õèéõ àìàðõàí àðãû㠳糳ëýâ: # echo "your.isp.example.com" > /etc/mail/relay-domains
Ýíý àéëûã ³³ñãýñýí ýñâýë çàññàíû äàðàà, sendmail-ã äàõèí ýõë³³ëýõ õýðýãòýé. Õýðýâ òà ñåðâåð õàðèóöàã÷ áàéãààä, çàõèäëûã äîòîîääîî ÿâóóëàõ õ³ñýëã³é, ýñâýë °°ð ìàøèí äýýðýýñ ýñâýë á³ð °°ð ISP-ñ õóëãàíû òîâ÷ äàðààä ë õèé÷èõ õÿëáàð ñèñòåì àøèãëàõ õ³ñýëòýé áàéãàà áîë ýíý àðãà ÿã òîõèðíî. Ýíý àðãà ãàíöõàí ýñâýë õî¼ðõîí çàõèäëûí á³ðòãýë ³³ñãýñýí òîõèîëäîëä ì°í òóñ áîëíî. Õýðýâ äýýðõ àéëä îëîí òîîíû õàÿã íýìýõ øààðäëàãàòàé áîë, ç³ãýýð °°ðèéí äóðòàé çàñâàðëàã÷ ïðîãðàìààð íýýãýýä äîìýéíóóäàà ì°ð áîëãîíä íýã áàéõààð íýìæ áè÷èõ õýðýãòýé: your.isp.example.com other.isp.example.net users-isp.example.org www.example.org
Îäîî, ýíý æàãñààëòàä (õýðýãëýã÷ òàíû ñèñòåì äýýð á³ðòãýëòýé ãýñýí í°õö°ëòýéã°°ð) áàéãàà ÿìàð ÷ õîñòîîñ, òàíû ñèñòåìýýð äàìæóóëàí ÿâóóëñàí çàõèäàë àìæèëòòàé ÿâàõ áîëíî. Ýíý áîë õýðýãëýã÷èääýý òàíû ñèñòåìýýð äàìæóóëàí SPAM ÿâóóëàõ áîëîìæèéã îëãîëã³éãýýð, òàíû ñèñòåìýýñ àëñààñ çàõèäàë èëãýýõ áîëîìæèéã îëãîõ ³íýõýýð ñàéí àðãà þì.
743
28.6
Äýýä ò³âøíèé ñýäâ³³ä
Chapter 28 Öàõèì Øóóäàí
Ýíý õýñýã çàõèäëûí ñåðâåðèéí òîõèðãîî, á³õýë äîìýéíä çîðèóëñàí çàõèäëûí ñåðâåðèéã çîõèîí áàéãóóëàõ çýðýã èë³³ ã³íçãèé ñýäâ³³äèéã õàìðàõ áîëíî. 28.6.1
íäñýí Òîõèðãîî
Õýðýâ òà °°ðèéí íýðèéí ñåðâåð àæèëëóóëæ áàéãàà ýñâýë /etc/resolv.conf-ã òîõèðóóëñàí ë áîë ãàäààä õîñòóóä ðóó çàõèäàë èëãýýæ ÷àäàõ ¼ñòîé. Õýðýâ òà °°ðèéí õîñòîä õàÿãëàñàí çàõèäëûã òàíû °°ðèéí FreeBSD ìàøèí äýýðõ MTA (æèøýý íü sendmail) õ³ëýýæ àâäàã áîëãîõûã õ³ñýæ áàéãàà áîë, äàðààõ õî¼ð àðãà çàì áàéíà: °ð°° íýðèéí ñåðâåð àæèëëóóëààä, °°ðèéí äîìýéí íýð àâàõ. Æèøýýëáýë, FreeBSD.org • Çàõèäëûã øóóä °°ðèéí õîñò äýýð õ³ëýýæ àâäàã áàéõ. ³íèé òóëä °°ðèéí ìàøèíû îäîîãèéí DNS íýðýýð çàõèäëûã õ³ëýýí àâàõ. Æèøýýëáýë, example.FreeBSD.org. Äýýðõýýñ àëèéã íü ÷ ñîíãîñîí áàé, °°ð äýýðýý çàõèäàë øóóä õ³ëýýí àâäàã áàéõûí òóëä áàéíãûí ñòàòèê IP õàÿãòàé áàéõ ¼ñòîé (èõýíõ PPP çàëãàäàã õîëáîëòûíõ øèã äèíàìèê õàÿã áèø). Õýðýâ ãàëò õàíûí öààíà áàéãàà áîë, ãàëò õàíà òàíü ðóó ÷èãëýñýí SMTP óðñãàëûã íýâòð³³ëýõ ¼ñòîé. Çàõèäëûã øóóä °°ðèéí õîñò äýýð õ³ëýýí àâàõûí òóëä, äàðààõ õî¼ð í°õö°ëèéí àëü íýãèéã õàíãàñàí áàéõ ¼ñòîé: •
Òàíû DNS äýýðõ (õàìãèéí áàãà äóãààðòàé) MX áè÷ëýã òàíû õîñòûí IP õàÿã ðóó çààñàí áàéõ ¼ñòîé. • Òàíû DNS äýýð òàíû õîñòûí IP õàÿã ðóó çààñàí MX áè÷ëýã áàéõ ¼ñã³é. Äýýð äóðäñàíû àëü íýãèéã õàíãàñàí áàéõàä, òà °°ðèéí õîñò äýýð çàõèäàë õ³ëýýí àâàõ áîëîìæòîé áîëíî. Òóðøààä ³çýýðýé:
•
# hostname
example.FreeBSD.org # host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
Õýðýâ äýýðõòýé àäèë õàðèó ãàð÷ áàéâàë, õàÿã ðóó èëãýýñýí çàõèäàë ÿìàð ÷ àñóóäàëã³é õ³ðýõ ãàçðàà î÷èõ ¼ñòîé (example.FreeBSD.org äýýð sendmail ç°â àæèëëàæ áàéãàà ãýæ ³çýâ). ³íèé îðîíä äîîð äóðäñàíòàé àäèë õàðèó àâáàë: # host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
òàíû õîñò ðóó èëãýýñýí á³õ çàõèäëóóä (example.FreeBSD.org) øóóä òàíû õîñò ðóó èëãýýãäýõèéí îðîíä hub äýýð àäèëõàí õýðýãëýã÷èéí íýð äýýð öóãëàðàõ áîëíî. Äýýðõ ìýäýýëëèéã DNS ñåðâåð çîõèöóóëàí àæèëëàíà. DNS-í Mail eXchange áóþó MX áè÷ëýãò çàõèäëûã õààø íü ÷èãë³³ëýõ òàëààð ìýäýýëýë àãóóëàãääàã. Õýðýâ ÿìàð ÷ MX áè÷ëýã áàéõã³é áîë, çàõèäëûã IP õàÿãààð íü õîñòîä äàìæóóëíà. freefall.FreeBSD.org-í MX áè÷ëýã äàðààõ áàéäàëòàé áàéíà: freefall MX 30 mail.crl.net
744
Chapter 28 Öàõèì Øóóäàí freefall MX 40 agora.rdrop.com freefall MX 10 freefall.FreeBSD.org freefall MX 20 who.cdrom.com
Òàíû õàðæ áàéãàà÷ëàí, freefall-í õóâüä îëîí MX áè÷ëýã áàéíà. Õàìãèéí áàãà MX äóãààðòàé õîñò àæèëëàæ áàéâàë çàõèäëûã øóóä õ³ëýýæ àâàõ áîëíî; õýðýâ ÿìàð íýã áàéäëààð ýíä õîñò ðóó õàíäàõ áîëîìæã³é áàéâàë áóñàä íü (çàðèìäàà “í°°ö MX-³³ä” ãýæ íýðëýõ íü áèé) ò³ð õóãàöààíä çàõèäëûã õ³ëýýæ àâààä, àðàé áàãà äóãààðòàé õîñòòîé õîëáîî òîãòîîõ áîëîìæòîé áîëìîãö ò³³í ð³³ äàìæóóëàõ ãýì ìýò÷èëýí ÿâñààð, ýöýñò íü õàìãèéí áàãà äóãààðòàé õîñò çàõèäëûã õ³ëýýí àâàõ áîëíî. Áóñàä MX-³³ä òàíûõààñ òóñäàà Èíòåðíýò õîëáîëòòîé áàéõ øààðäëàãàòàé. Òàíû ISP ýñâýë °°ð íàéðñàã ãàçðóóä òàíä ýíý ³éë÷èëãýý㠳糳ëýõýä àñóóäàë áàéõ ¼ñã³é. 28.6.2
Òàíû äîìýéíä õàÿãëàñàí Çàõèäàë
“Çàõèäëûí õîñò” (çàõèäëûí ñåðâåð ãýæ íýðëýõ íü áèé) çîõèîí áàéãóóëàõûí òóëä, ÿíç ÿíçûí àæëûí ìàøèí ðóó ÿâóóëñàí çàõèäëûã ýíý ñåðâåð ð³³ ÷èãë³³ëñýí áàéõ ¼ñòîé. íäñýíäýý, °°ðèéí äîìýéíä áàéãàà ÿìàð ÷ õîñòûí çàõèäëûã “íýõýìæèëæ àâààä”(ýíý òîõèîëäîëä *.FreeBSD.org) ò³³íèéã °°ðèéí çàõèäëûí ñåðâåð ð³³ äàõèí ÷èãë³³ëíý ãýñýí ³ã þì. Èíãýñíýýð òàíû õýðýãëýã÷äèéí çàõèäëóóä ýçýí çàõèäëûí ñåðâåð äýýð öóãëàõ áîëíî.
³íèéã õÿëáàð áîëãîõûí òóëä, íýã õýðýãëýã÷èéí íýð òýé õýðýãëýã÷èéí äàíñ õî¼ð ìàøèí äýýð õî¼óëàí äýýð íü áàéõ øààðäëàãàòàé. ³íèéã õèéõäýý adduser(8)-ã àøèãëààðàé. Òàíû õýðýãëýõ çàõèäëûí õîñò òàíû ñ³ëæýýíä áàéãàà á³õ àæëûí ìàøèíû õóâüä òîìèëæ ãàðãàñàí çàõèäàë ñîëèëöîã÷ áàéõ ¼ñòîé. Ýíý òîõèðãîîã DNS ñåðâåð äýýð äàðààõ áàéäàëòàé õèéíý:
example.FreeBSD.org A 204.216.27.XX ; Workstation MX 10 hub.FreeBSD.org ; Mailhost
Ýíý íü àæëûí ìàøèíä õàÿãëàñàí çàõèäëûã, A áè÷ëýã õààø íü çààõààñ ³ë õàìààðàí çàõèäëûí õîñò ðóó äàõèí ÷èãë³³ëýõ áîëíî. Èíãýñíýýð çàõèäàë MX õîñò ðóó èëãýýãäýõ áîëíî. Òà DNS ñåðâåð àæèëëóóëäàãã³é áîë äýýð äóðäñàíûã °°ð°° áèå äààí õèéõ áîëîìæã³é þì. Õýðýâ òà DNS ñåðâåð àæèëëóóëäàãã³é, ýñâýë DNS ñåðâåð àæèëëóóëàõ áîëîìæã³é áîë °°ðèéí ISP ýñâýë DNS ³éë÷èëãýý ³ç³³ëäýã ãàçàðòàà õàíäààðàé. Õýðýâ òà õèéñâýð çàõèäàë áàéðøóóëàõ ³éë÷èëãýý ³ç³³ëäýã áîë, äàðààõ ìýäýýëýë òóñ áîëíî. Òàíû ³éë÷ë³³ëýã÷ °°ðèéí äîìýéí íýðòýé, òóõàéëáàë customer1.org, áà òà customer1.org-ä õàÿãëàñàí á³õ çàõèäëûã °°ðèéí çàõèäëûí õîñò mail.myhost.com ðóó ÷èãë³³ëýõ õ³ñýëòýé áàéíà ãýæ áîäú¼. Òýãâýë òàíû DNS äýýðõ áè÷ëýã äàðààõ áàéäàëòàé áàéõ áîëíî: customer1.org MX 10 mail.myhost.com customer1.org
äîìýéíû ç°âõ°í çàõèäëûã õàðèóöàõûí òóëä A áè÷ëýã øààðäëàãàã³é .
Note: A áè÷ëýã áàéõã³é
áîë customer1.org ðóó ping õèéõ áîëîìæã³é áîëîõûã àíõààðíà óó.
Õàìãèéí ñ³³ëä õèéõ íýã ç³éë áîë °°ðèéí çàõèäëûí õîñò äýýðõ sendmail-ä ÿìàð ÿìàð äîìýéíóóä áà/ýñâýë õîñòóóäàä õàÿãëàñàí çàõèäëûã õ³ëýýí àâàõûã õýëæ °ã°õ ÿâäàë þì. ³íèéã õýä õýäýí °°ð àðãààð õèéæ áîëíî. Äàðààõ àðãóóäûí àëèéã ÷ õýðýãëýæ áîëíî: 745
Chapter 28 Öàõèì Øóóäàí •
•
Õýðýâ òà FEATURE(use_cw_file)-ã õýðýãëýæ áàéãàà áîë õîñòóóäûã /etc/mail/local-host-names àéë äîòîð íýìæ áè÷èõ. Õýðýâ òà sendmail 8.10 ýñâýë ò³³íýýñ õîéíî ãàðñàí õóâèëáàðûã õýðýãëýæ áàéãàà áîë Cwyour.host.com ãýñýí ì°ðèéã /etc/sendmail.cf ýñâýë /etc/mail/sendmail.cf àéë äîòîð áè÷èõ.
28.7 UUCP-
òýé SMTP
Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. FreeBSD-òýé öóã èðäýã sendmail-èéí òîõèðãîî íü Èíòåðíýò ð³³ øóóä õîëáîãääîã ñàéòóóäàä çîðèóëàãäñàí þì. °ðñäèéí çàõèäëûã UUCP-ýýð ñîëèëöîõûã õ³ññýí ñàéòóóä sendmail-èéí °°ð òîõèðãîîíû àéëûã ñóóëãàõ ¼ñòîé. /etc/mail/sendmail.cf-ã ãàðààð òîõèðóóëàõ íü èë³³ íàðèéí, íýìýëò ñýäýâ þì. sendmail õóâèëáàð 8 íü òîõèðãîîíû àéëóóäàà m4(1) óðüä÷èëàí ïðîöåññ õèéëòýýð ³³ñãýäýã. Æèíõýíý òîõèðãîî íü èë³³ äýýä õèéñâýðëýëòèéí ò³âøèíä áîëäîã. m4(1)-èéí òîõèðãîîíû àéëóóäûã /usr/share/sendmail/cf ñàíãààñ îëæ áîëíî. cf ñàí äàõü README àéë íü m4(1) òîõèðãîîíû ³íäñýí òàíèëöóóëãà áîëîí ³éë÷èëäýã. UUCP õ³ðãýëòèéã äýìæèõ õàìãèéí øèëäýã àðãà áîë mailertable áîëîìæèéã àøèãëàõ ÿâäàë þì. Ýíý íü ÷èãë³³ëýëòèéí øèéäâýð³³ä ãàðãàõäàà sendmail-èéí àøèãëàäàã ìýäýýëëèéí áààçûã ³³ñãýäýã. Ýõëýýä òà °°ðèéí .mc àéëûã ³³ñãýõ õýðýãòýé. /usr/share/sendmail/cf/cf ñàí ö°°í õýäýí æèøýýí³³äèéã àãóóëäàã. Òàíûã °°ðèéíõ°° àéëûã foo.mc ãýæ íýðëýñýí ãýæ ³çýõ þì áîë ò³³íèéã ç°â sendmail.cf áîëãîæ õ°ðâ³³ëýõèéí òóëä õèéõ ç³éë òàíü: # cd /etc/mail # make foo.cf # cp foo.cf /etc/mail/sendmail.cf
Åðäèéí .mc àéë èéìýðõ³³ õàðàãäàæ áîëíî: VERSIONID(‘Your version number’) OSTYPE(bsd4.4) FEATURE(accept_unresolvable_domains) FEATURE(nocanonify) FEATURE(mailertable, ‘hash -o /etc/mail/mailertable’) define(‘UUCP_RELAY’, your.uucp.relay ) define(‘UUCP_MAX_SIZE’, 200000) define(‘confDONT_PROBE_INTERFACES’) MAILER(local) MAILER(smtp) MAILER(uucp) Cw Cw
your.alias.host.name youruucpnodename.UUCP
áîëîí confDONT_PROBE_INTERFACES áîëîìæóóäûã àãóóëñàí ì°ð³³ä íü çàõèäàë õ³ðãýõ ÿâöûí ³åä DNS-èéã àøèãëóóëàõã³é áàéõ áîëíî. UUCP_RELAY ãýäýã íü UUCP õ³ðãýëòèéã äýìæèõýä øààðäëàãàòàé. .UUCP ïñåâäî äîìýéí õàÿãóóäòàé àæèëëàæ ÷àääàã
accept_unresolvable_domains, nocanonify,
746
Chapter 28 Öàõèì Øóóäàí
Èíòåðíýòèéí õîñòûí íýðèéã òàâèõ õýðýãòýé; òà °°ðèéí ISP-èéí çàõèäàë °ðò°°ë°ã÷èéã ýíä áàðàã îðóóëàõ áàéõ äàà. Èíãýñíèéõýý äàðàà òàíä /etc/mail/mailertable àéë õýðýãòýé áîëíî. Õýðýâ òàíä òàíû á³õ çàõèäëóóäàä àøèãëàãääàã, ãàäàãø õîëáîãäñîí ç°âõ°í ãàíö õîëáîëò áàéâàë äàðààõ àéë õàíãàëòòàé áàéõ áîëíî: # # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable . uucp-dom:your.uucp.relay
Àðàé èë³³ ò°â°ãòýé æèøýý èéìýðõ³³ õàðàãäàæ áîëíî: # # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable # horus.interface-business.de uucp-dom:horus .interface-business.de uucp-dom:if-bus interface-business.de uucp-dom:if-bus .heep.sax.de smtp8:%1 horus.UUCP uucp-dom:horus if-bus.UUCP uucp-dom:if-bus . uucp-dom:
Ýõíèé ãóðâàí ì°ð íü äîìýéí ðóó õàÿãëàãäñàí çàõèäàë àíõäàã÷ ÷èãë³³ëýëò ð³³ áèø, õàðèí õ³ðãýõ çàìûã “òîâ÷ëîõûí” òóëä UUCP õ°ðø ð³³ èëãýýãäýõèéã çîõèöóóëäàã. Äàðààãèéí ì°ð íü ëîêàë Ethernet äîìýéí ðóó õàÿãëàãäñàí, SMTP àøèãëàí õ³ðãýãäýæ áîëîõ çàõèäàëòàé àæèëëàäàã. Ýöýñò íü .UUCP ïñåâäî äîìýéí ìàÿãààð áè÷èãäñýí UUCP õ°ðø³³ä uucp-neighbor !recipient-ä àíõäàã÷ ä³ðì³³äèéã äàðæ áè÷èõ áîëîìæèéã îëãîõûí òóëä äóðäàãäñàí. ѳ³ëèéí ì°ð íü ³ðãýëæ íýã öýã áàéäàã. Ýíý íü UUCP õ³ðãýëòýýð äýëõèé ð³³ ãàðàõ òàíû óíèâåðñàë çàõèäëûí ãàðö áîëîí ³éë÷èëäýã UUCP õ°ðø ð³³ ãàðãàíà ãýæ áóñàä á³ãäèéí õóâüä çààæ °ã÷ áàéíà. uucp-dom: ò³ëõ³³ð ³ãèéí àðä áàéðëàõ á³õ öýãèéí íýðñ ç°â UUCP õ°ðø³³ä áàéõ ¼ñòîé á°ã°°ä òà òýäãýýðèéã uuname òóøààë àøèãëàí øàëãàæ áîëíî. Ñàíàæ ÿâàõ ç³éë áîë ýíý àéë íü àøèãëàãäàõààñàà °ìí° DBM ìýäýýëëèéí áààçûí àéë ðóó õ°ðâ³³ëýãäýõ øààðäëàãàòàé áàéäàã. ³íèéã õèéõ òóøààëûí ì°ðèéã mailertable àéëûí äýýð õýñýãò òàéëáàð ìàÿãààð õèéõ íü ç³éòýé. °ðèéí mailertable àéëûã °°ð÷ë°õ á³ðòýý òà ýíý òóøààëûã àæèëëóóëàõ ¼ñòîé þì. Ò°ãñã°ëèéí ç°âë°ã°°: õýðýâ òà òóõàéí íýã çàõèäëûí ÷èãë³³ëýëò àæèëëàæ áàéãàà ýñýõýä ýðãýëçýæ áàéãàà áîë sendmail-èéí -bt òîõèðóóëãûã òîãòîîõ õýðýãòýé. Ýíý íü sendmail-èéã õàÿãèéí òåñò ãîðèì ä ýõë³³ëäýã; 3,0 ãýæ îðóóëààä çàõèäàë ÷èãë³³ëýëòèéã òåñò õèéõèéã õ³ññýí õàÿãàà îðóóëàõ õýðýãòýé. ѳ³ëèéí ì°ð íü àøèãëàãäñàí äîòîîä çàõèäëûí àãåíò, ýíý àãåíòèéí äóóäàæ õîëáîãäîõ õ³ðýõ õîñò áîëîí (ìàãàäã³é õ°ðâ³³ëýãäñýí) õàÿãèéã õýëäýã. Ýíý ãîðèìîîñ Ctrl+D äàðàí ãàðíà. % sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter > 3,0 [email protected]
canonify ... parse
input: foo @ example . com returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
> ^D
747
28.8
Ç°âõ°í èëãýýõýýð òîõèðóóëàõ íü
Chapter 28 Öàõèì Øóóäàí
Õóâü íýìýð áîëãîí îðóóëñàí Áèëë Ìîðàí. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. ðò°°ë°õ ñåðâåðýýð äàìæóóëàí çàõèäëûã èëãýýõèéã ç°âõ°í õ³ñýõ îëîí òîõèîëäëóóä áàéäàã. Çàðèì æèøýýí³³äèéã äóðäâàë:
Òàíû êîìïüþòåð øèðýýíèé ìàøèí, ãýõäýý òà send-pr(1) çýðýã ïðîãðàìóóäûã àøèãëàõûã õ³ñýæ áàéíà ãýæ áîäú¼. Èíãýõèéí òóëä òà °°ðèéí ISP-èéí çàõèäàë °ðò°°ë°õ ñåðâåðèéã àøèãëàõ ¼ñòîé. • Êîìïüþòåð íü çàõèäëûã ëîêàëààð çîõèöóóëäàãã³é ñåðâåð áîëîâ÷ á³õ çàõèäëóóäûã áîëîâñðóóëàõûí òóëä °ðò°°ë°õ ñåðâåð ð³³ äàìæóóëàõ õýðýãòýé áàéãàà. Áàðàã MTA á³ð ³³íèéã õèéõ ÷àäâàðòàé áàéäàã. Õàðàìñàëòàé íü çàõèäëûã ç°âõ°í äàìæóóëàõûí òóëä °ðã°í áîëîìæòîé MTA-ã ç°â òîõèðóóëàõ íü ìàø ò°â°ãòýé áàéäàã. sendmail áîëîí postfix çýðýã ïðîãðàìóóäûã ýíý çîðèëãîîð àøèãëàõ íü õýòýðõèé þì. Ì°í õýðýâ òà ýíãèéí Èíòåðíýò õàíäàëòûí ³éë÷èëãýýã àøèãëàæ áàéãàà áîë òàíû ãýðýý òàíûã “çàõèäëûí ñåðâåð” àæèëëóóëàõûã õîðèãëîæ ìàãàäã³é þì. Òýäãýýð õýðýãöýýí³³äèéã õàíãàõ õÿëáàð àðãà áîë mail/ssmtp ïîðòûã ñóóëãàõ ÿâäàë þì. Äàðààõ òóøààëóóäûã root õýðýãëýã÷ýýð àæèëëóóëíà: •
# cd /usr/ports/mail/ssmtp # make install replace clean
Ñóóëãàñíû äàðàà mail/ssmtp-ã /usr/local/etc/ssmtp/ssmtp.conf-ä áàéðëàõ ä°ðâ°í ì°ð á³õèé àéëààð òîõèðóóëæ áîëíî: [email protected] mailhub=mail.example.com rewriteDomain=example.com hostname=_HOSTNAME_ root-ä çîðèóëæ °°ðèéí æèíõýíý çàõèäëûí õàÿãàà àøèãëàõàà ìàðòóóçàé. mail.example.com-èéí îðîíä °°ðèéí ISP-èéí ãàðàõ çàõèäëûí °ðò°°ë°õ ñåðâåðèéã îðóóëààðàé (çàðèì ISP-óóä íü ³³íèéã “ãàðàõ çàõèäëûí ñåðâåð” ýñâýë “SMTP ñåðâåð” ãýäýã). àðàõ çàõèäëûí ³éë÷èëãýýã íü îðîëöóóëààä sendmail-ã õîðèãëîõîî ìàðòóóçàé. Äýëãýðýíã³éã Section 28.4.2 õýñãýýñ ³çíý ³³. mail/ssmtp íü áàñ áóñàä òîõèðóóëãóóäòàé áàéäàã. Æèøýýí³³ä áîëîí äýëãýðýíã³é ìýäýýëëèéã /usr/local/etc/ssmtp äîòîðõ æèøýý òîõèðãîîíû àéë ýñâýë ssmtp-èéí ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Ýíý ìàÿãààð ssmtp-ã òîõèðóóëàõ íü ç°â àæèëëàõûí òóëä çàõèäàë èëãýýõèéã øààðääàã, òàíû êîìïüþòåð äýýðõ ÿìàð ÷ ïðîãðàìûã ç°âø°°ð°õ áîëíî. Èíãýõäýý òàíû ISP-èéí õýðýãëýýíèé áîäëîãûã ç°ð÷èëã³éãýýð ýñâýë òàíû êîìïüþòåðèéã ñïàì èëãýýõ çîðèëãîîð áóëààí ýçëýõèéã ç°âø°°ðä°ãã³é áàéíà.
748
Chapter 28 Öàõèì Øóóäàí
28.9
àäàãø çàëãàõ õîëáîëòîîð çàõèäëûã àøèãëàõ íü
Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. Õýðýâ òàíä ñòàòèê IP õàÿã áàéãàà áîë òà àíõäàã÷ óòãóóäûã °°ð÷èëæ òààðóóëàõ øààðäëàãàã³é þì. °ðèéí õîñòûí íýðèéã °°ðò çààãäñàí Èíòåðíýòèéí íýðýýð òîõèðóóëàõ õýðýãòýé á°ã°°ä sendmail ³ëäñýíèéã íü õèéõ áîëíî. Õýðýâ òà äèíàìèêààð çààãäñàí IP õàÿãòàé á°ã°°ä Èíòåðíýò ð³³ äèàë àï PPP õîëáîëòûã àøèãëàäàã áîë òà °°ðèéí ISP-èéí çàõèäëûí ñåðâåð äýýð ìàãàäã³é çàõèäëûí õàéðöàãòàé áàéíà áàéõ. Òàíû ISP-èéí äîìýéí example.net, òàíû õýðýãëýã÷èéí íýð user, òà °°ðèéí ìàøèíûã bsd.home ãýæ íýðëýñýí á°ã°°ä òàíû ISP òàíä relay.example.net-ã çàõèäàë °ðò°°ë°õ ñåðâåð áîëãîæ àøèãëàæ áîëíî ãýæ õýëñýí ãýæ ³çüå. °ðèéí çàõèäëûí õàéðöãààñ çàõèäàë àâàõûí òóëä òà òàòàæ àâàõ àãåíòèéã ñóóëãàõ ¼ñòîé. fetchmail õýðýãñýë íü îëîí ò°ðëèéí ïðîòîêîëóóäûã äýìæäýã áîëîõîîð ³³íä ñàéí ñîíãîëò áîëîõ þì. Ýíý ïðîãðàì íü áàãö õýëáýðýýð ýñâýë ïîðòûí öóãëóóëãàä áàéäàã (mail/fetchmail). Èõýâ÷ëýí òàíû ISP POP ³éë÷èëãýý ³ç³³ëäýã. Õýðýâ òà õýðýãëýã÷èéí PPP àøèãëàæ áàéãàà áîë /etc/ppp/ppp.linkup äàõü äàðààõ îðóóëãûã àøèãëàí Èíòåðíýòèéí õîëáîëò òîãòîõ ³åä °°ðèéí çàõèäëûã àâòîìàòààð àâ÷ áîëîõ þì: MYADDR: !bg su user -c fetchmail
Õýðýâ òà sendmail-ã ëîêàë áèø á³ðòãýë³³äýä çàõèäàë èëãýýõèéí òóëä àøèãëàæ áàéãàà áîë (äîîð ³ç³³ëñýí øèã) òà °°ðèéíõ°° Èíòåðíýòèéí õîëáîëòûã òîãòîîñíûõîî äàðàà °°ðèéí çàõèäëûí äàðààëëûã sendmail-ýýð ïðîöåññ õèéëãýõèéã õ³ñýõ áàéõ. ³íèéã õèéõèéí òóëä ýíý òóøààëûã /etc/ppp/ppp.linkup àéëä fetchmail òóøààëûí äàðàà áàéðëóóëàõ õýðýãòýé: !bg su user -c "sendmail -q"
Òà bsd.home äýýð user-ò çîðèóëñàí á³ðòãýëòýé ãýæ áîäú¼. bsd.home äýýðõ user-èéí ãýðèéí ñàíä .fetchmailrc àéëûã ³³ñãýõ õýðýãòýé: poll example.net protocol pop3 fetchall pass MySecret
Ýíý àéë íü MySecret ãýñýí íóóö ³ãèéã àãóóëäàã áîëîõîîð óã àéëûã user-ýýñ °°ð õýí ÷ óíøèõ ¼ñã³é þì. Ç°â from: òîëãîéòîéãîîð çàõèäàë èëãýýõèéí òóëä òà sendmail-ä <[email protected] >-èéí îðîíä <[email protected] >-ã àøèãëàõûã õýëæ °ã°õ ¼ñòîé. Òà áàñ sendmail-ä õóðäàí çàõèäàë äàìæóóëàõ áîëîìæèéã á³ðä³³ëýõèéí òóëä á³õ çàõèäëûã äàìæóóëàõäàà relay.example.net-èéã àøèãëàõûã áàñ õýëæ °ã°õèéã õ³ñýæ áîëîõ þì. Äàðààõ .mc àéë íü õàíãàëòòàé áàéõ áîëíî: VERSIONID(‘bsd.home.mc version 1.0’) OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(‘example.net’)dnl FEATURE(allmasquerade)dnl
749
Chapter 28 Öàõèì Øóóäàí FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(‘SMART_HOST’, ‘relay.example.net’) Dmbsd.home define(‘confDOMAIN_NAME’,‘bsd.home’)dnl define(‘confDELIVERY_MODE’,‘deferred’)dnl
Ýíý .mc àéëûã sendmail.cf àéë áîëãîæ õýðõýí õóâèðãàõ òóõàé äýëãýðýíã³éã °ìí°õ õýñãýýñ ëàâëàíà óó. Áàñ sendmail.cf-ã øèíý÷èëñíèéõýý äàðàà sendmail-ã äàõèí ýõë³³ëýõýý ìàðòóóçàé. 28.10 SMTP
íýâòðýëò òàíèëò
Áè÷ñýí Æýéìñ îðõàì. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. °ðèéí çàõèäëûí ñåðâåðòýý SMTP Authentication áóþó íýâòðýëò òàíèëòòàé áàéõ íü õýä õýäýí òàëààðàà àøèãòàé áàéäàã. SMTP íýâòðýëò òàíèëò íü sendmail-ä àþóëã³é áàéäëûí °°ð äàâõàðãà íýìæ ÷àäàõ á°ã°°ä õîñòîî ñîëüäîã õ°ä°ëã°°íò õýðýãëýã÷äèéí õóâüä °°ðèéí çàõèäëûí êëèåíòèéíõýý òîõèðãîîã äàõèí òîõèðóóëàëã³éãýýð çàõèäëûí ñåðâåðýý àøèãëàõ áîëîìæèéã îëãîäãîîðîî àøèãòàé áàéäàã. 1.
2.
ã ïîðòîîñ ñóóëãàíà. Òà ýíý ïîðòûã security/cyrus-sasl2 ñàíãààñ îëæ ïîðò íü õýä õýäýí ýìõýòãýõ ³åèéí òîõèðóóëãóóäûã äýìæäýã. Áèäíèé áîëíî àøèãëàõ SMTP íýâòðýëò òàíèëòûí àðãûí õóâüä LOGIN òîõèðóóëãà õààãäààã³é ýñýõèéã øàëãààðàé. security/cyrus-sasl2-ã ñóóëãàñíû äàðàà /usr/local/lib/sasl2/Sendmail.conf-ã (áàéõã³é áîë ³³ñãýýðýé) çàñâàðëàæ äàðààõ ì°ðèéã íýìýõ õýðýãòýé: security/cyrus-sasl2. security/cyrus-sasl2
pwcheck_method: saslauthd
3.
Äàðàà íü
security/cyrus-sasl2-saslauthd/etc/rc.conf:
ã çàñâàðëàíà
ã ñóóëãàæ äàðààõ ì°ðèéã íýìýõèéí òóëä
saslauthd_enable="YES"
òýãýýä ýöýñò íü saslauthd äýìîíã ýõë³³ëíý: # /usr/local/etc/rc.d/saslauthd start
4.
Ýíý äýìîí íü òàíû FreeBSD passwd ìýäýýëëèéí áààçààñ íýâòðýëò òàíèóëàõûí òóëä sendmail-èéí õóâüä çóó÷ëàã÷ áîëäîã. Ýíý íü SMTP íýâòðýëò òàíèëò àøèãëàõ õýðýãòýé õýðýãëýã÷ á³ðèéí õóâüä øèíý õýðýãëýã÷èéí íýðñ áîëîí íóóö ³ãñèéã ³³ñãýõ øààðäëàãàã³é áîëãîæ íýâòðýëò áîëîí çàõèäëûí íóóö ³ãèéã °°ð÷ë°ëã³éãýýð õýâýýð áàéëãàäàã þì. Îäîî /etc/make.conf-ã çàñâàðëààä äàðààõ ì°ð³³äèéã íýìýõ õýðýãòýé: SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2
5.
Ýäãýýð ì°ð³³ä íü sendmail-ä cyrus-sasl2 ðóó ýìõýòãýõ ³åä õîëáîîñ õèéõýä øààðäëàãàòàé ç°â òîõèðãîîíû ñîíãîëòóóäûã °ã°õ áîëíî. sendmail-èéã ñóóëãàõààñ °ìí° cyrus-sasl2 ñóóñàí áàéãàà ýñýõèéã áàòàëãààæóóëààðàé. Äàðààõ òóøààëóóäûã àæèëëóóëæ sendmail-ã äàõèí ýìõýòãýíý: # cd /usr/src/lib/libsmutil
750
Chapter 28 Öàõèì Øóóäàí # # # # #
make cleandir && make obj && make cd /usr/src/lib/libsm make cleandir && make obj && make cd /usr/src/usr.sbin/sendmail make cleandir && make obj && make && make install
/usr/src
òèéì ÷ èõýýð °°ð÷ë°ãä°°ã³é á°ã°°ä õýðýãöýýòýé õóâààëöäàã ñàíãóóä áàéãàà òîõèîëäîëä
sendmail-èéí ýìõýòãýëò ÿìàð íýãýí àñóóäàëã³é õèéãäýõ ¼ñòîé.
6.
sendmail ýìõýòãýãäýæ äàõèí ñóóëãàãäñàíû äàðàà °°ðèéí /etc/mail/freebsd.mc àéëûã (àëü ýñâýë °°ðèéí .mc àéë áîëãîæ àøèãëàäàã òýð àéëûã. Äàõèí äàâòàãäàõã³é áàéõûí òóëä îëîí àäìèíèñòðàòîðóóä hostname(1)-ýýñ ãàðàõ ãàðàëòûã àøèãëàí .mc àéëàà áîëãîí ñîíãîäîã) çàñâàðëàõ õýðýãòýé. Ýäãýýð ì°ð³³äèéã íýìýõ õýðýãòýé: dnl set SASL options TRUST_AUTH_MECH(‘GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN’)dnl define(‘confAUTH_MECHANISMS’, ‘GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN’)dnl
Õýðýãëýã÷äèéí íýâòðýëò òàíèëòûí õóâüä sendmail-ä áàéäàã °°ð àðãóóäûã ýäãýýð òîõèðóóëãóóä íü òîõèðóóëäàã. Õýðýâ òà pwcheck-ñ °°ð àðãûã àøèãëàõûã õ³ñýæ áàéãàà áîë õàìò èðñýí áàðèìòààñ ³çíý ³³. 7. Ýöýñò íü /etc/mail äîòîð áàéõäàà make(1)-ã àæèëëóóëíà. Ýíý íü òàíû øèíý .mc àéëûã àæèëëóóëæ freebsd.cf ãýãäýõ (°°ðèéí .mc àéëä çîðèóëæ àøèãëàñàí òýð) .cf àéëûã ³³ñãýõ áîëíî. Äàðàà íü make install restart òóøààëûã àøèãëàõ õýðýãòýé. Ýíý íü àéëûã sendmail.cf ðóó õóóëæ sendmail-ã ç°â àæèëëóóëàõ áîëíî. Ýíý ïðîöåññèéí òóõàé äýëãýðýíã³é ìýäýýëëèéã /etc/mail/Makefile àéëààñ ëàâëàíà óó. Õýðýâ á³ãä ç°â ÿâñàí áîë òà °°ðèéí íýâòðýõ ìýäýýëëèéã çàõèäëûí êëèåíò óðóóãàà îðóóëæ òåñò çàõèäàë èëãýýæ ÷àäàõ ¼ñòîé. Èë³³ ñóäëàõûí òóëä sendmail-èéí LogLevel-ã 13 áîëãîí òîõèðóóëæ /var/log/maillog àéëä àëäàà ãàðàõ ýñýõèéã õàðàõ õýðýãòýé. SMTP íýâòðýëò òàíèëò (http://www.sendmail.org/~ca/email/auth.html)òàé õîëáîîòîé äýëãýðýíã³é ìýäýýëëèéã sendmail õóóäàñíààñ ³çíý ³³. 28.11
Õýðýãëýã÷èéí çàõèäàë äàìæóóëàã÷èä
Õàìòðàí áè÷èëöñýí Ìàðê Ñèëâýð. Îð÷óóëñàí Øàãäàðûí Íàöàãäîðæ. Mail User Agent (MUA) áóþó õýðýãëýã÷èéí çàõèäàë äàìæóóëàã÷ ãýäýã íü çàõèàã èëãýýõ áîëîí õ³ëýýí àâàõ çîðèóëàëòòàé ïðîãðàìóóä áàéäàã. Ì°í öààøèëáàë õîîðîíäîî õîëáîãäîæ “çàõèäàë” ÷óëóóäàöãààñíààð õýðýãëýã÷äèéí àæëûã ò³ðãýòãýæ àìàð÷èëæ ÷àääàãààðàà MUA íàð íü èë³³ õ³÷èðõýã áîëæ áàéãàà áèëýý. FreeBSD íü °°ðò°° ìàø îëîí çàõèà äàìæóóëàã÷ ïðîãðàìóóäûã äýìæäýã á°ã°°ä FreeBSD ïîðòûí öóãëóóëãààñ òà ñóóëãàõ áîëîìæòîé. Õýðýãëýã÷èä ìàãàäã³é ãðàèê ä³ðñëýëòýé evolution ýñâýë balsa, ì°í êîíñîë äýýð òóëãóóðëàæ àæèëëàäàã ïðîãðàìóóä áîëîõ mutt, pine ýñâýë mail, ³ã³é áîë òîì áàéãóóëëàãóóäàä èõýíõäýý õýðýãëýãääýã âýá õàðóóëàëòòàé çàõèà ³çýã÷ çýðã³³äýýñ ñîíãîí õýðýãëýõ áîëîìæ áóé. 28.11.1 mail mail(1) áîë FreeBSD-í õýðýãëýã÷èéí õýðýãëýæ áîëîõ àíõäàã÷ çàõèà äàìæóóëàã÷ ïðîãðàì þì. Ýíý íü
êîíñîë äýýð àæèëëàäàã á°ã°°ä òåêñò õýëáýðèéí çàõèàíóóäûã äàìæóóëàõ áîëîí õ³ëýýæ àâàõ á³õ
751
Chapter 28 Öàõèì Øóóäàí
åð°íõèé ã³éöýòãýëèéã ñàíàë áîëãîäîã ÷ çàðèì õàâñàðãàñàí àéëóóäòàé àæèëëàõàä çàðèì õ³÷èí ÷àäàë íü äóòìàã á°ã°°ä ç°âõ°í äîòîîä çàõèàíû õàéðöãàí äýýð àæèëëàäàã. Õýäèéãýýð mail ãóàé àíõíààñàà POP ýñâýë IMAP ñåðâåð³³äèéã äýìæäýãã³é áîëîâ÷ ýäãýýð ñåðâåð äýýðõ çàõèàíû õàéðöãóóäûã °°ðèéíõ°° äîòîîä mbox àéë óðóó fetchmail ïðîãðàìûã àøèãëàí õóóëæ ÷àääàã. fetchmail-í òàëààð ýíý á³ëýãò ñ³³ëä òàíèëöóóëàõ áîëíî (Section 28.12). Çàõèà õ³ëýýæ àâàõ áîëîí èëãýýõèéí òóëä êîíñîë äýýð åðä°° äàðààõ æèøýýíèé äàãóó mail òóøààë °ã°õ°ä ë õàíãàëòòàé: % mail
Õýðýãëýã÷ á³ðä çîðèóëñàí /var/mail äîòîðõ çàõèàíû õàéðöàã íü mail õýðýãñëýýð óíøèãääàã. Õýðýâ çàõèàíû õàéðöàã õîîñîí áàéâàë ÿìàð ÷ çàõèà àëãà áàéíà ãýñýí ìýäýãäýë õàðóóëààä ýíý õýðýãñýë ãàðäàã. Çàõèàíû õàéðöàã äîòîðõ çàõèà óíøèãäàõ ³åä ýíý õýðýãñëèéí õàðóóëàõ í³³ð õýñýã àæèëëàæ ýõëýí çàõèàíóóäûã æàãñààëò áîëãîæ õàðóóëäàã. Äàðààõ ìàÿãààð çàõèàíóóä íü àâòîìàòààð äóãààðëàãäàæ õàðóóëàãääàã: Mail version 8.1 6/6/93. Type ? for "/var/mail/marcs": 3 messages 3 new >N 1 root@localhost Mon Mar N 2 root@localhost Mon Mar N 3 root@localhost Mon Mar
help. 8 14:05 8 14:05 8 14:05
14/510 14/509 14/509
"test" "user account" "sample"
Çàõèàíóóäûã îäîî t çàõèàíû-äóãààð ãýæ òóøààë °ãñí°°ð òóõàéí äóãààðòàé çàõèàã óíøèíà. Äîîðõ æèøýýíä ýõíèé çàõèàã óíøèæ õàðóóëàâ: & t 1 Message 1: From root@localhost Mon Mar 8 14:05:52 2004 X-Original-To: marcs@localhost Delivered-To: marcs@localhost To: marcs@localhost Subject: test Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST) From: root@localhost (Charlie Root) This is a test message, please reply if you receive it.
Äýýðõ æèøýýí äýýð õàðóóëñíààð t òîâ÷ äàðæ óíøññàí çàõèàíû òîëãîé õýñãèéã á³òíýýð íü õàðóóëæ áàéíà. Çàõèàíû ³íäñýí æàãñààëò óðóó áóöàæ î÷èõûí òóëä h òîâ÷ëóóð õýðýãëýãääýã. Õýðýâ çàõèàíä õàðèóëæ áè÷èõ òîõèîëäîë ãàðâàë mail-í R ýñâýë r òîâ÷íóóäûã àøèãëàäàã. R òîâ÷ íü mail-ä ç°âõ°í èëãýýñýí õ³íä íü õàðèóëæ áè÷èõèéã çààæ °ãä°ã áàéõàä r òîâ÷ íü èëãýýñýí õ³íýýñ ãàäíà ì°í °°ð áóñàä õ³ëýýí àâàã÷èä óðóó èëãýýõ áîëîìæ °ãä°ã. Òà ì°í ýíý òóøààëóóäûí àðä íü çàõèàíû äóãààð áè÷èæ °ã°í òóõàéí îíîîñîí çàõèàíä õàðèóëò áè÷èæ áîëíî. Èíãýæ õàðèóëæ áè÷èõ ³éëäýë õèéõ ³åä çàõèàíû õàìãèéí ñ³³ëä íýã . ãýñýí öýãòýé ì°ð íýìýãääýãèéã äîîðõ æèøýýíýýñ õàðíà óó: & R 1 To: root@localhost Subject: Re: test Thank you, I did get your email.
752
Chapter 28 Öàõèì Øóóäàí .
EOT
Øèíý çàõèà èëãýýõèéí òóëä m òîâ÷ õýðýãëýãääýã á°ã°°ä ýíý òîâ÷ëóóðûí àðààñ õ³ëýýí àâàõ õ³íèé çàõèàíû õàÿãèéã áè÷èæ °ãä°ã. Îëîí õàÿã áè÷èãäýõ òîõèîëäîëä çàõèàíû õàÿã á³ð , ãýñýí òàñëàë òýìäãýýð òóñãààðëàãääàã. Äàðàà íü çàõèàíû ãàð÷ãèéã áè÷èæ ñ³³ëä íü çàõèàãàà áè÷äýã. Çàõèàíû ò°ãñã°ë õýñãèéã òóñäàà íýã ì°ð°íä . ãýæ öýã îðóóëæ °ãñí°°ð çàõèàã äóóñãàäàã. & mail root@localhost Subject: I mastered mail Now I can send and receive email using mail ... :) .
EOT mail õýðýãñýë äîòîð ? òîâ÷ëóóð äàðñíààð ÿìàð ÷ ³åä òóñëàìæ ìýäýýëëèéã õàðóóëæ áîëäîã á°ã°°ä ì°í mail(1)-í ãàðûí àâëàãàíä èë³³ äýëãýðýíã³é ìýäýýëëèéã õàðàõ áîëîìæ áèé. Note: ìí° òàéëáàðëàæ áàéñíû äàãóó mail(1) õýðýãñýë íü àíõíààñàà õàâñðàëò àéëòàé àæèëëàõ çîðèóëàëòòàé õèéãäýýã³é áîëîõîîð æààõàí ÿäóóâòàð õýðýãëýãääýã. ѳ³ëèéí ³åèéí çàõèäàë äàìæóóëàã÷èä áîëîõ mutt íü õàâñðàëò àéëòàé àðàé óõààëàã àæèëëàäàã. ýõäýý òà çààâàë mail-ã õýðýãëýìýýð áàéãàà áîë converters/mpack ïîðò òàíä õýðýã áîëîõ áàéõ àà.
28.11.2 mutt mutt áîë æèæèãõýí áîëîâ÷ ìàø õ³÷òýé çàõèäàë äàìæóóëàã÷ á°ã°°ä äàðààõ àÿòàéõàí øèíæ ÷àíàðóóäûã °°ðò°° àãóóëñàí áàéäàã íü:
Çàõèàíóóäòàé äàâõàð çýðýã àæèëëàõ • Çàõèàíä íóóöëàëûí õóâèðãàëò õèéõ áîëîí öàõèì ãàðûí ³ñýã çóðàõàä çîðèóëàãäñàí PGP äýìæëýãòýé • MIME äýìæëýãòýé • Maildir äýìæëýãòýé • Äóðûí °°ð÷ë°ëò õèéõ áîëîìæòîé. Ýäãýýð øèíæ ÷àíàðóóäûí à÷ààð mutt íü õàìãèéí °ðã°í òàðõñàí õýðýãëýã÷èéí çàõèäàë äàìæóóëàã÷ áîëæ ÷àäñàí þì. http://www.mutt.org õàÿãíààñ mutt-í òóõàé äýëãýðýíã³é ìýäýýëëèéã õàðíà óó. mutt-í òîãòâîðòîé õóâèëáàðûã mail/mutt ïîðòîîñ ñóóëãàæ áîëîõ á°ã°°ä õýðýâ ÿã îäîî õ°ãæ³³ëæ áóé õóâèëáàðûã íü ñóóëãàõûã õ³ñâýë mail/mutt-devel ïîðòîîñ ñóóëãààðàé.Ïîðòîî ñóóëãàñíû äàðàà mutt-ã ýõë³³ëýõäýý äàðààõ òóøààëûã °ãä°ã: •
% mutt
mutt íü õýðýãëýã÷èéí çàõèàíû õàéðöãèéã àâòîìàòààð /var/mail ñàíãààñ óíøèæ õýðýâ äîòîð íü çàõèà áàéâàë õàðóóëäàã. Õýðýâ ÿìàð ÷ çàõèà áàéõã³é áàéâàë õýðýãëýã÷ýýñ òóøààë îðóóëàõûã mutt õ³ëýýõ áîëíî. Äîîðõ æèøýýíä mutt-í çàõèäàë õàðóóëàëòû㠳糳ëýâ:
753
Chapter 28 Öàõèì Øóóäàí
Çàõèàã óíøèõûí òóëä ñóìòàé òîâ÷îîð çàõèäëûã ñîíãîæ Enter òîâ÷ äàðíà. mutt-í çàõèäàë õýðõýí äýëãýæ õàðóóëñíûã äîîðõ çóðãàí äýýð õàðóóëàâ:
mail(1) õýðýãñýëòýé èæèëõýí mutt íü ì°í ç°âõ°í èëãýýñýí õ³íä íü þì óó ýñâýë îëîí õ³ëýýí àâàã÷ óðóó õàðèóëò áè÷èæ áîëäîã. Ç°âõ°í èëãýýñýí õ³íä íü õàðèó áè÷èõèéí òóëä r òîâ÷ äàðíà. Çàõèà èëãýýñýí õ³íèéã íü îðóóëààä á³ëýã õ³ì³³ñ ð³³ çàõèà õàðèóëæ áè÷èõèéí òóëä g òîâ÷ äàðäàã. Note: mutt íü çàõèà áè÷èõ áîëîí õàðèóëàõûí òóëä vi(1) ïðîãðàìûã àøèãëàí çàõèà çàñâàðëàëò õèéëãýäýã.
ýõäýý °°ðèéí ýõëýë ñàí äîòðîî .muttrc àéë ³³ñãýæ editor õóâüñàã÷ ³³ñãýõ ýñâýë EDITOR ãýñýí îð÷íû õóâüñàã÷ ³³ñãýæ °°ðèéí äóðòàé çàñâàðëàã÷àà çààæ °ã÷ áàñ áîëíî. http://www.mutt.org/ õàÿãíààñ òà mutt-í òàëààð õýðõýí òîõèðóóëæ áîëîõ äýëãýðýíã³é çààâðûã õàðíà óó.
Øèíý çàõèà áè÷èõèéí òóëä m òîâ÷ õýðýãëýíý. àð÷ãèéã îðóóëñíû äàðàà vi(1) ïðîãðàìûã mutt àæèëëóóëæ çàõèàãàà áè÷èõ áîëîìæ îëãîäîã. Çàõèàã áè÷èæ äóóññàíû äàðàà vi ïðîãðàìààñ õàäãàëààä ãàðñíû äàðàà èëãýýõ çàõèàã mutt ïðîãðàì íýãòãýæ õàðóóëäàã. Çàõèàãàà èëãýýõäýý y òîâ÷ äàðíà. Èëãýýõèéí °ìí°õ íýãòãýñýí õàðóóëàëòûã äîð çóðãàíä ³ç³³ëüå:
754
Chapter 28 Öàõèì Øóóäàí
mutt íü °°ðò°° ì°í òóñëàìæèéí ìýäýýëýëòýé °ã°°ä ? òîâ÷ äàðæ õàðóóëàãäàíà. Äýëãýöèéí äýýä õýñýãò ÿìàð òîâ÷ äàðæ áîëîõ òóõàé òàéëáàð ìýäýýëýë õàðóóëààñòàé áàéäàã.
28.11.3 pine pine ïðîãðàìûã ýõëýí õýðýãëýã÷äýä çîðèóëæ ³³ñãýñýí á°ã°°ä íýìýëò øèíæ ÷àíàðóóäûã àãóóëñàí áàéäàã. Warning: pine-í °ìí°õ õóâèëáàðóóäàä àëñààñ õîëáîãäñîí õàëäàã÷èä òóñãàé êîäûã õýðýãëýã÷ ìàÿãààð õîëáîãäîí çàõèà ìàÿãààð èëãýýæ óã àþóëòàé êîäûã ã³éöýòãýæ áîëäîã àþóëòàé í³õ áàéæýý. Ýäãýýð ìýäýãäñýí õ³íäðýë³³ä íü çàñàãäñàí áîëîâ÷ pine-û ïðîãðàìûí àþóëã³éí õàìãààëàëò çàãâàð íü òóí ñóë áîëîõîîð FreeBSD-í àþóëààñ õàìãààëàã÷ í°õä³³ä óã ïðîãðàìä °°ð îíãîðõîé í³õ áèé ãýæ èòãýäýã þì áàéíà. Òà °°ðò°° ãàðàõ ýðñäýëèéã òîîöîæ ìýäýæ áàéãàà áîë pine-ã ñóóëãààðàé.
pine-í îäîîãèéí õ°ãæ³³ëæ áàéãàà õóâèëáàðûã mail/pine4 ïîðòîîñ ñóóëãàíà. Ïîðò ñóóãäñàíû äàðàà pine-ã äàðààõ òóøààëààð ýõë³³ëäýã: % pine
Àíõ óäààãàà pine àæèëëàõ ³åäýý ìýíä÷èëãýý áîëîí òîâ÷ çààâàð õàðóóëààä pine çîõèîñîí õ³ì³³ñò ìýäýýëýõ æóðìûí íýðã³é çàõèà èëãýýõèéã õ³ñäýã. Òýð íýðã³é çàõèàã èëãýýõèéí òóëä Enter òîâ÷ äàðàõ ýñâýë ì°í E òîâ÷ äàðæ íýðã³é çàõèà èëãýýõ õýñãýýñ õàäãàëàõã³é ãàðäàã. Ìýíä÷èëãýýíèé õóóäàñ äàðààõ ìàÿãààð õàðàãääàã:
755
Chapter 28 Öàõèì Øóóäàí
Õýðýãëýã÷äýä äàðàà íü ñóìòàé òîâ÷îîð ñîíãîæ áîëäîã ³íäñýí öýñ õàðóóëàãääàã. íäñýí öýñ äîòîð øèíý çàõèà áè÷èõ, çàõèà àãóóëñàí ñàí äîòîðõîî õàðàõ, ì°í õàÿã õàäãàëàëòàà çîõèöóóëàõ çýðýã áîëîìæ áàéäàã. Äîîðõ çóðàãò ýäãýýð áîëîìæóóäûí öýñèéã õàðóóëñàí ³íäñýí öýñèé㠳糳ëýâ. pine-ð íýýãäñýí ³íäñýí ñàí áîë inbox ãýñýí íýðòýé ñàí áàéäàã. Çàõèàíû æàãñààëòûã õàðàõûí òóëä I òîâ÷ äàðàõ, ýñâýë MESSAGE INDEX öýñèéã ñîíãîíî:
Çàõèàíû ñàíä áóé çàõèàíóóäûã æàãñààæ õàðóóëñíû äàðàà ñóìòàé òîâ÷îîð ñîíãîæ Enter òîâ÷ äàðæ óíøèíà.
756
Chapter 28 Öàõèì Øóóäàí
Äîîðõ çóðãàí äýýð pine äýýð ýíãèéí çàõèàã õàðóóëàâ. Äýëãýöèéí äîîä õýñýãò ëàâëàõ áîëãîæ ãàðûí òîâ÷ëóóðóóäûã õàðóóëäàã. Æèøýý íü r òîâ÷ äàðñíààð îäîîãèéí õàðóóëæ áàéãàà çàõèàíä õàðèó áè÷íý.
pine äýýð çàõèàíä õàðèó áè÷èõ ³åä pico çàñâàðëàã÷ õýðýãëýãääýã á°ã°°ä ýíý çàñâàðëàã÷ íü pine-òàé õàìò ñóóãääàã. pico õýðýãñýë íü çàõèà áè÷èõýä ìàø ýíãèéí á°ã°°ä vi(1) ýñâýë mail(1) çýðãèéã àøèãëàã÷äûã áîäâîë øèíý õýðýãëýã÷èä ð³³ èë³³ ä°õ³³ëñýí áàéäàã. Õàðèóëò çàõèàãàà áè÷èæ äóóñààä Ctrl+X òîâ÷ äàðæ èëãýýäýã. Èëãýýõèéí °ìí° pine òàíààñ ëàâëàæ àñóóõ áîëíî.
757
Chapter 28 Öàõèì Øóóäàí
íäñýí öýñíýýñ SETUP ãýæ ñîíãîñíîîð pine ïðîãðàìûã òà õ³ññýíýýðýý °°ð÷ë°õ áîëîìæòîé. http://www.washington.edu/pine/ õàÿãààñ äýëãýðýíã³é ìýäýýëëèéã õàðíà óó. 28.12 fetchmail-
ã àøèãëàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ñèëâýð. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. fetchmail íü õýðýãëýã÷äýä àëñûí IMAP áîëîí POP ñåðâåð³³äýýñ çàõèäàë àâòîìàòààð òàòàí àâ÷ ëîêàë çàõèäëûí õàéðöãóóäàä õàäãàëàõ áîëîìæèéã îëãîäîã, °ðã°í áîëîìæòîé, IMAP áîëîí POP êëèåíò þì. Òýäãýýð çàõèäëûí õàéðöãóóäàä äàðàà íü õàíäàõàä èë³³ õÿëáàð áàéäàã. fetchmail-ã mail/fetchmail ïîðòûã àøèãëàí ñóóëãàæ áîëîõ á°ã°°ä ò°ð°ë á³ðèéí áîëîìæóóäûã ñàíàë áîëãîäãîîñ çàðèìûã äóðäâàë: • •
POP3, APOP, KPOP, IMAP, ETRN áîëîí ODMR ïðîòîêîëóóäûí äýìæëýã.
SMTP-ã àøèãëàí çàõèäàë äàìæóóëàõ ÷àäâàð. Ýíý íü ø³³ëò õèéõ, äàìæóóëàëò õèéõ áîëîí õýâèéí àæèëëàõûí òóëä õóóðàì÷ ä³ð ³ç³³ëýõ áîëîìæèéã îëãîäîã.
Øèíý çàõèäëóóäûã áàéíãà øàëãàõûí òóëä äýìîí ãîðèìîîð àæèëëóóëæ áîëíî. • Îëîí çàõèäëûí õàéðöãóóäûã õ³ëýýí àâ÷ òýäãýýðèéã òîõèðãîîíîîñ õàìààðàí °°ð ëîêàë õýðýãëýã÷³³ä ð³³ äàìæóóëæ ÷àääàã. fetchmail-èéí á³õ áîëîìæóóäûã òàéëáàðëàõ íü ýíý áàðèìòûí õ³ðýýíýýñ ãàäóóð áîëîâ÷ çàðèì íýã ³íäñýí áîëîìæóóäûã òàéëáàðëàõ áîëíî. fetchmail õýðýãñýë íü ç°â àæèëëàõûí òóëä .fetchmailrc ãýãääýã òîõèðãîîíû àéëûã øààðääàã. Ýíý àéë íü ñåðâåðèéí ìýäýýëýë áîëîí íýâòðýõ èòãýìæëýë³³äèéã àãóóëäàã. Ýíý àéëûí àãóóëãûí ìýäðýìòãèé ÷àíàðààñ áîëîîä ýíý àéëûã ç°âõ°í ýçýìøèã÷ íü óíøèæ ÷àääàã áàéõààð áîëãîí äàðààõ òóøààë àøèãëàæ õèéõèéã ç°âë°ä°ã: •
% chmod 600 .fetchmailrc
Äàðààõ .fetchmailrc àéë íü ãàíö õýðýãëýã÷èéí çàõèäëûí õàéðöãèéã POP àøèãëàí òàòàæ àâàõ æèøýý þì. Ýíý íü fetchmail-ã joesoap õýðýãëýã÷èéí íýð áîëîí XXX íóóö ³ãèéã àøèãëàí example.com ðóó õîëáîãäûã çààæ áàéíà. Ýíý æèøýý íü joesoap õýðýãëýã÷èéã ëîêàë ñèñòåì äýõ õýðýãëýã÷ ãýæ áàñ ³çäýã.
758
Chapter 28 Öàõèì Øóóäàí poll example.com protocol pop3 username "joesoap" password "XXX"
Äàðààõ æèøýý íü îëîí POP áîëîí IMAP ñåðâåð³³ä ð³³ õîëáîãäîæ øààðäëàãàòàé òîõèîëäîëä °°ð ëîêàë õýðýãëýã÷èä ð³³ äàõèí ÷èãë³³ëæ áàéíà: poll user user poll user
example.com proto pop3: "joesoap", with password "XXX", is "jsoap" here; "andrea", with password "XXXX"; example2.net proto imap: "john", with password "XXXXX", is "myth" here;
fetchmail õýðýãñëèéã -d òóã áîëîí ò³³íèé äàðàà .fetchmailrc àéëä æàãñààãäñàí ñåðâåð³³äèéã áàéíãà øàëãàõ òýð õóãàöààã (ñåêóíäýýð) çààæ °ã°í äýìîí ãîðèìä àæèëëóóëæ áîëäîã. Äàðààõ æèøýý íü fetchmail-ã 600 ñåêóíä á³ð øàëãàõààð òîõèðóóëæ áàéíà: % fetchmail -d 600
fetchmail-èéí òóõàé äýëãýðýíã³é ìýäýýëëèéã http://fetchmail.berlios.de/ õàÿãààñ îëæ áîëíî.
28.13 procmail-
ã àøèãëàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Ìàðê Ñèëâýð. Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. procmail õýðýãñýë íü èðæ áàéãàà çàõèäëûã ø³³õýä õýðýãëýãääýã ãàéõàìøèãòàé õ³÷òýé ïðîãðàì þì. Ýíý íü õýðýãëýã÷äýä èðæ áàéãàà çàõèäëóóäàä òààðóóëæ “ä³ðì³³äèéã” òîäîðõîéëîõ áîëîìæèéã îëãîäîã á°ã°°ä ýíý ä³ðì³³äèéã àøèãëàí òóñãàé ³éëäë³³ä õèéõ ýñâýë çàõèäëûã °°ð çàõèäëûí õàéðöàã áà/ýñâýë öàõèì çàõèäëûí õàÿãóóä ðóó äàõèí ÷èãë³³ëýõ çýðýã àæëóóäûã õèéæ áîëîõ þì. procmail-ã mail/procmail ïîðò àøèãëàí ñóóëãàæ áîëíî. Ñóóëãàñíû äàðàà ³³íèéã MTA-óóäòàé öóã àæèëëàõààð òîõèðóóëæ áîëíî; äýëãýðýíã³é ìýäýýëëèéã °°ðèéí MTA-èéí áàðèìòààñ ëàâëàíà óó. Ì°í procmail-í áîëîìæóóäûã àøèãëàæ áàéãàà õýðýãëýã÷èéí ãýðèéí ñàí äàõü .forward àéëä äàðààõ ì°ðèéã íýìæ °ã÷ áîëíî: "|exec /usr/local/bin/procmail || exit 75"
Äàðààõ õýñýã íü procmail-èéí çàðèì ³íäñýí ä³ðì³³äèé㠳糳ëýõ á°ã°°ä òýäãýýðèéí þó õèéäýã òàëààð òîâ÷ òàéëáàð °ã°õ áîëíî. Ýäãýýð ä³ðì³³ä áîëîí áóñäóóä íü .procmailrc àéëä õèéãäñýí áàéõ ¼ñòîé á°ã°°ä ýíý àéë íü õýðýãëýã÷èéí ãýðèéí ñàíä áàéðëàõ ¼ñòîé. Ýäãýýð ä³ðì³³äèéí èõýíõèéã procmailex(5)-èéí ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. <[email protected] >-ñ èðñýí á³õ çàõèäëûã ãàäààä õàÿã óðóó äàìæóóëíà: :0 * ^From.*[email protected] ! [email protected]
1000 áàéòààñ áàãà á³õ çàõèäëóóäûã ãàäààä õàÿã óðóó äàìæóóëíà: :0 * < 1000 ! [email protected]
759
Chapter 28 Öàõèì Øóóäàí ðóó èëãýýñýí á³õ çàõèäëûã alternate ãýãäñýí çàõèäëûí õàéðöàãò õèéíý: :0 * ^[email protected] alternate
“Spam” ñýäýâ á³õèé á³õ çàõèäëûã /dev/null óðóó èëãýýíý: :0 ^Subject:.*Spam /dev/null
Èðæ áàéãàà FreeBSD.org çàõèäëûí æàãñààëòóóäûã øàëãàæ æàãñààëò á³ðèéã °°ðèéíõ íü çàõèäëûí õàéðöàã óðóó õèéäýã, àøèãòàé çààâðûã äîîð ³ç³³ëýâ: :0 * ^Sender:.owner-freebsd-\/[^@][email protected] { LISTNAME=${MATCH} :0 * LISTNAME??^\/[^@]+ FreeBSD-${MATCH} }
760
Chapter 29
ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Äàõèí çîõèîí áàéãóóëñàí Ìþððåé Ñò°³êëè. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 29.1
Åð°íõèé àãóóëãà
Ýíý á³ëýãò UNIX ñèñòåì³³äýä °ðã°í õýðýãëýãääýã, ñ³ëæýýíèé îð÷èíä àæèëëàäàã çàðèì íýã ³éë÷èëãýýí³³äèéí òàëààð àâ÷ ³çíý. Áèä òýäãýýð ³éë÷èëãýýí³³äèéã õýðõýí ñóóëãàõ, òîõèðóóëàõ, òóðøèõ áîëîí ³éë÷èëãýýã õàðèóöàõ òàëààð ³çýõ áîëíî. Òàíä çîðèóëæ æèøýý òîõèðãîîíû àéëóóäûã ì°í îðóóëæ °ãñ°í áàéãàà. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: • • •
• • • • •
•
•
inetd äýìîíûã õýðõýí óäèðäàõ.
ѳëæýýíèé îð÷íû àéë ñèñòåìèéã õýðõýí çîõèîí áàéãóóëàõ. Õýðýãëýã÷èéí á³ðòãýëèéã õóâààëöàõ ñ³ëæýýíèé îð÷íû ìýäýýëëèéí ñåðâåðèéã õýðõýí çîõèîí áàéãóóëàõ. DHCP àøèãëàí àâòîìàòààð ñ³ëæýýíèé òîõèðãîîã õýðõýí õèéõ. Äîìýéí íýðèéí ñåðâåðèéã õýðõýí çîõèîí áàéãóóëàõ. Apache HTTP Ñåðâåðèéã õýðõýí çîõèîí áàéãóóëàõ. File Transfer Protocol áóþó Ôàéë Äàìæóóëàõ Ïðîòîêîë(FTP) Ñåðâåðèéã õýðõýí çîõèîí áàéãóóëàõ. Samba àøèãëàí Windows õýðýãëýã÷äýä çîðèóëñàí àéë áîëîí õýâëýã÷ ñåðâåðèéã õýðõýí çîõèîí áàéãóóëàõ. NTP ïðîòîêîë àøèãëàí öàã áîëîí °äðèéã òîõèðóóëàõ õèéãýýä öàãèéí ñåðâåðèéã õýðõýí çîõèîí áàéãóóëàõ. How to configure the standard logging daemon, syslogd, to accept logs from remote hosts.
Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ øààðäëàãûã õàíãàñàí áàéõ õýðýãòýé: ñêðèïò³³äèéí ³íäñèéã îéëãîñîí áàéõ. ѳëæýýíèé ³íäñýí íýð òîìú¼îëëûã ìýääýã áàéõ. óðàâäàã÷ ýòãýýäèéí ïðîãðàìûã(Chapter 4) õýðõýí íýìæ ñóóëãàõûã ìýääýã áàéõ.
• /etc/rc • •
29.2 inetd “
Ñóïåð-Ñåðâåð”
Õóâü íýìðýý îðóóëñàí Øåðí Ëèé. FreeBSD 6.1-RELEASE-ä çîðèóëæ øèíý÷èëñýí Áàðèìòæóóëàõ Ò°ñ°ë. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 29.2.1
FreeBSD
Åð°íõèé àãóóëãà
inetd(8) íü îëîí òîîíû ³éë÷èëãýýíèé ñ³ëæýýíèé õîëáîëòûã óäèðääàã òóë çàðèìäàà ò³³íèéã “Èíòåðíýò Ñóïåð-Ñåðâåð” ãýæ íýðëýõ íü áèé. àäíààñ ³³ñ÷ áóé õîëáîëòûã inetd õ³ëýýí àâ÷, àëü ïðîãðàìòàé
761
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
õîëáîãäîõûã òîäîðõîéëîí, òóõàéí ïðîöåññèéã ñàëààëóóëæ, ñîêåòèéã ò³³í ð³³ ÷èãë³³ëíý (ïðîãðàìûí ñòàíäàðò îðîëò, ãàðàëò áîëîí àëäààíû äåñêðèïòîðîîð ³éë÷èëãýýíèé ñîêåòèéã °ãí°). Áàéíãà àøèãëàãääàãã³é ³éë÷èëãýýíèé õóâüä inetd-ã àæèëëóóëàõ íü á³õ äýìîíã äàíãààð áèå-äààõ ãîðèìä àæèëëóóëñàíòàé õàðüöóóëàõàä ñèñòåìèéí íèéò à÷ààëëûã áóóðóóëæ °ãä°ã. îë÷ëîí, inetd íü áóñàä äýìîíóóäûã ñàëààëóóëàõàä õýðýãëýãääýã áîëîâ÷ chargen, auth, áà daytime ãýõ ìýò íèëýýä îëîí åðäèéí ïðîòîêîëóóäûã øóóä çîõèöóóëàí àæèëëóóëæ ÷àäíà. Ýíý õýñýãò inetd-í ³íäñýí òîõèðãîîã òóøààëûí ì°ðíèé òîõèðóóëãààð, ì°í /etc/inetd.conf òîõèðãîîíû àéëààð õýðõýí õèéõèéã ³çýõ áîëíî. 29.2.2
Òîõèðãîî
inetd íü rc(8) ñèñòåìýýð ýõë³³ëýãäýíý. inetd_enable òîõèðóóëãûí àíõäàã÷ óòãà íü NO á°ã°°ä, ñèñòåìèéã ñóóëãàõ ÿâöàä õýðýãëýã÷èéí çààæ °ãñíèé äàãóó sysinstall ïðîãðàìûí òóñëàìæòàé èäýâõæ³³ëæ áîëíî. inetd_enable="YES"
ýñâýë inetd_enable="NO"
ãýñýí ì°ðèéã /etc/rc.conf àéë äîòîð áàéðëóóëñíààð inetd-ã ñèñòåì à÷ààëàõàä ýõýëäýã áîëãîæ áîëíî. Äîîð äóðäñàí: /etc/rc.d/inetd rcvar
òóøààëûã °ã°í îäîî èäýâõòýé áàéãàà òîõèðãîîã õàðæ áîëíî. Äýýð íü, inetd_flags òîõèðóóëãààð äàìæóóëàí inetd ïðîãðàìä òóøààëûí ì°ðí°°ñ °°ð áóñàä òîõèðóóëãóóäûã çààæ °ã÷ áîëíî. 29.2.3
Òóøààëûí ì°ðíèé òîõèðóóëãóóä
Èõýíõ ñåðâåð äýìîíû íýãýí àäèë, inetd íü ò³³íèéã °°ð÷ë°í òîõèðóóëàõàä çîðèóëàãäñàí îëîí òîîíû òîõèðóóëãóóäûí õàìò èðäýã. Òîõèðóóëãóóäûã á³ðíýýð æàãñààí áè÷âýë: inetd [-d] [-l] [-w] [-W] [-c maximum] [-C rate] [-a address | hostname] [-p filename] [-R rate] [-s maximum] [configuration file]
àéë äîòîðõ inetd_flags òîõèðóóëãûã àøèãëàí ýäãýýð òîõèðóóëãóóäûã inetd-ä äàìæóóëíà. Àíõäàã÷ áàéäëààð, inetd_flags íü -wW -C 60 ãýñýí óòãûã àâñàí áàéõ áà ýíý íü inetd-íû ³éë÷èëãýýí³³äèéí õóâüä TCP wrapping áóþó TCP-èéí äóíäûí õÿíàëòûã èäýâõæ³³ëýõ áà íýã IP õàÿãíààñ àëü íýã ³éë÷èëãýýíä íýã ìèíóòàíä 60-ààñ äýýø óäàà õ³ñýëò òàâèõ áîëîìæã³é áîëãîíî. Õýäèéãýýð áèä ãàäíààñ õýòýðõèé îëîí òîîíû õàíäàëò õèéãäýæ áàéãàà ³åä òîõèðóóëãààð ò³³íèéã õýðõýí õÿçãààðëàõûã äîîð ³ç³³ëæ áàéãàà ÷, àíõëàí ñóðàëöàã÷äàä ç°âë°õ°ä ýäãýýð ïàðàìåòð³³äèéã èõýâ÷ëýí °°ð÷ë°õ øààðäëàãàã³é áàéäàã. Òîõèðóóëãóóäûí á³ðýí æàãñààëòûã inetd(8) çààâàð õóóäàñíààñ ³çíý ³³. /etc/rc.conf
762
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä -c maximum
éë÷èëãýýã íýãýí çýðýã õàìãèéí èõäýý õýäýí óäàà äóóäàæ áîëîõûã çààíà; Àíõäàã÷ óòãà íü õÿçãààðã³é. éë÷èëãýý òóñ á³ðýýð max-child ïàðàìåòðèéí òóñëàìæòàé óòãûã äàðæ °°ð÷èëæ áîëíî. -C rate
éë÷èëãýýã íýã IP õàÿãíààñ íýã ìèíóòûí äîòîð õàìãèéí èõäýý õýäýí óäàà äóóäàæ áîëîõûã çààíà; Àíõäàã÷ óòãà íü õÿçãààðã³é. éë÷èëãýý òóñ á³ðýýð max-connections-per-ip-per-minute ïàðàìåòðèéí òóñëàìæòàé óòãûã äàðæ °°ð÷èëæ áîëíî. -R rate
éë÷èëãýýã íýã ìèíóòûí äîòîð õàìãèéí èõäýý õýäýí óäàà äóóäàæ áîëîõûã çààíà; Àíõäàã÷ óòãà íü 256. 0-ã òàâüñíààð õÿçãààðã³é áîëãîíî. -s maximum
éë÷èëãýýã íýã IP õàÿãíààñ õàìãèéí èõäýý õýäýí óäàà äóóäàæ áîëîõûã çààíà; Àíõäàã÷ óòãà íü õÿçãààðã³é. éë÷èëãýý òóñ á³ðýýð max-child-per-ip ïàðàìåòðèéí òóñëàìæòàé óòãûã äàðæ °°ð÷èëæ áîëíî. 29.2.4 inetd.conf inetd-ã /etc/inetd.conf àéëûí òóñëàìæòàé òîõèðóóëíà.
/etc/inetd.conf àéëä °°ð÷ë°ëò õèéñíèé äàðàà, inetd-ð òîõèðãîîíû àéëûã äàõèí óíøóóëàõäàà äàðààõ òóøààëûã °ãí°:
Example 29-1. inetd-
í òîõèðãîîíû àéëûã äàõèí à÷ààëàõ íü
# /etc/rc.d/inetd reload
Òîõèðãîîíû àéëûí ì°ð á³ð òóñäàà äýìîíã çààíà. Ôàéë äîòîðõ òàéëáàðóóä íü ì°ðèéí ýõýíä “#” òýìäýãòýé áàéíà. /etc/inetd.conf àéë äîòîðõ áè÷ëýã³³äèéí îðìàò äàðààõ áàéäàëòàé áàéíà: service-name socket-type protocol {wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]] user[:group][/login-class] server-program server-program-arguments
IPv4 àøèãëàäàã ftpd(8) äýìîíû õóâüä æèøýý áè÷ëýã äàðààõ áàéäàëòàé áàéæ áîëíî: ftp
stream
tcp
nowait
root
/usr/libexec/ftpd
ftpd -l
763
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä service-name
Òóõàéí äýìîíû ³éë÷èëãýýíèé íýðèéã çààíà. Ýíý íü /etc/services àéë äîòîð áè÷èãäñýí ³éë÷èëãýýí³³äèéí íýã áàéõ ¼ñòîé á°ã°°ä àëü ïîðòîí äýýð ñîíñîõûã inetd-ä õýëæ °ãí°. Õýðýâ øèíý ³éë÷èëãýý ³³ñãýñýí áîë ò³³íèéã çààâàë /etc/services àéë äîòîð íýìñýí áàéõ ¼ñòîé. socket-type
ýñâýë seqpacket ýäãýýðèéí íýã áàéíà. stream-ã õîëáîëòîí äýýð ³íäýñëýñýí TCP äýìîíóóäûí õóâüä õýðýãëýäýã áîë, dgram-ã UDP ïðîòîêîëîîð àæèëëàäàã äýìîíóóäûí õóâüä õýðýãëýíý. stream, dgram, raw,
protocol
Äîîð äóðäñàíààñ íýã íü áàéíà:
Ïðîòîêîë
Òàéëáàð
tcp, tcp4
TCP IPv4
udp, udp4 tcp6
UDP IPv4 TCP IPv6
udp6 tcp46
UDP IPv6 TCP IPv4 áà v6 õî¼óë
udp46
UDP IPv4 áà v6 õî¼óë
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
íü inetd-ð äóóäàãäñàí äýìîí °°ðèéí ñîêåòèéã óäèðäàæ ÷àäàõ ýñýõèéã çààíà. dgram ò°ðëèéí ñîêåò äýìîíû õóâüä wait òîõèðóóëãûã õýðýãëýõ ¼ñòîé áàéäàã áîë, èõýâ÷ëýí îëîí óðñãàëòàé áàéäàã stream ñîêåò äýìîíû õóâüä nowait òîõèðóóëãûã õýðýãëýõ õýðýãòýé áàéäàã. wait íü èõýâ÷ëýí îëîí ñîêåòèéã íýã äýìîíä øèëæ³³ëýí °ãä°ã áîë, nowait íü øèíýýð ³³ññýí ñîêåò òóñ á³ðò õàðãàëçóóëàí õ³³õýä äýìîíã ñàëààëóóëàí ³³ñãýäýã. inetd-èéí ñàëààëóóëàí ³³ñãýæ áîëîõ õàìãèéí èõ õ³³õýä äýìîíû òîîã max-child òîõèðóóëãûí òóñëàìæòàé çààæ °ã÷ áîëíî. Õýðýâ òóõàéí äýìîíû àæèëëàæ áîëîõ òîõèîëäëûã 10-ð õÿçãààðëàõ áîë, nowait-í àðä /10 ãýæ áè÷íý. /0 íü õ³³õäèéí òîîã õÿçãààðëàõã³é ãýñýí óòãàòàé. max-child-ñ ãàäíà, íýã ãàçðààñ òóõàéí äýìîíòîé ³³ñãýæ áàéãàà õîëáîëòûí òîîã õÿçãààðëàäàã °°ð õî¼ð òîõèðóóëãûã õýðýãëýæ áîëíî. max-connections-per-ip-per-minute íü òóõàéí ÿìàð íýã IP õàÿãíààñ íýã ìèíóòàíä ³³ñãýæ áîëîõ õîëáîëòûí òîîã õÿçãààðëàíà, æèøýýëáýë: 10 ãýñýí óòãà íü òóõàéí ÿìàð íýã IP õàÿãíààñ íýã ìèíóòûí äîòîð òóõàéí ³éë÷èëãýýíä õîëáîãäîõîîð îðîëäîõ îðîëäëîãûí òîîã 10-ð õÿçãààðëàíà. max-child-per-ip íü Òóõàéí ÿìàð íýã IP õàÿã äýýð ³³ñãýãäñýí õ³³õäèéí òîîã õÿçãààðëàíà. Ýäãýýð òîõèðóóëãóóä íü ñàíààòàé áîëîí ñàíàìñàðã³éãýýð í°°öèéã õýòð³³ëýí õýðýãëýõ, ì°í éë÷èëãýýã Çîãñîîõ (DoS) õàëäëàãààñ õàìãààëàõàä õýðýãòýé áàéäàã. Õýðýãëýõäýý, wait áà nowait õî¼ðûí àëü íýãèéã çààâàë õýðýãëýõ ¼ñòîé. Õàðèí max-child, max-connections-per-ip-per-minute áà max-child-per-ip òîõèðóóëãóóäûã ñîíãîí õýðýãëýæ áîëíî. Stream ò°ðëèéí îëîí óðñãàëòàé äýìîíû õóâüä, max-child, max-connections-per-ip-per-minute ýñâýë max-child-per-ip õÿçãààðëàëòóóäûí àëèéã ÷ õýðýãëýõã³é òîõèîëäîëä åðä°°: nowait áàéíà.
wait|nowait
764
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Äýýðõòýé àäèë äýìîí, 10 õ³³õýä äýìîíû õÿçãààðëàëòòàé áîë: nowait/10 áàéíà. Ì°í àäèë äýìîí, 10 õ³³õýä äýìîíû õÿçãààðëàëòòàé, ìèíóòàíä íýã IP õàÿãíààñ ³³ñãýõ õîëáîëòûí òîîã 20-ð õÿçãààðëàõ áîë: nowait/10/20 áîëíî. Ýäãýýð òîõèðóóëãóóäûã fingerd(8) äýìîíû àíõäàã÷ òîõèðãîîí äýýð æèøýý áîëãîí õàðâàë: finger stream
tcp
nowait/3/10 nobody /usr/libexec/fingerd fingerd -s
Ýöýñò íü, 100 õ³³õäèéí õÿçãààðëàëòòàé, íýã IP õàÿãíààñ ³³ñýõ õîëáîëòûí òîîã 5-ð õÿçãààðëàñàí äýìîíû æèøýýã àâáàë: nowait/100/0/5 áàéõ þì. user
Ýíä òóõàéí äýìîí ÿìàð õýðýãëýã÷èéí íýðýýð àæèëëàõûã çààæ °ãí°. Èõýâ÷ëýí äýìîíóóä root õýðýãëýã÷èéí íýð äýýð àæèëëàäàã. Àþóëã³é áàéäëûí ³³äíýýñ, çàðèì ñåðâåð³³ä daemon, ýñâýë õàìãèéí áàãà ýðõòýé nobody õýðýãëýã÷èéí íýð äýýð àæèëëàõ íü ýëáýã áàéäàã. server-program
Ýíä ãàäíààñ õîëáîëò õ³ëýýí àâàõàä àæèëëóóëàõ äýìîíû á³ðýí çàìûã çààæ °ãí°. Õýðýâ ýíý äýìîí inetd-ð óäèðäàãäñàí äîòîîä ³éë÷èëãýý áîë internal òîõèðóóëãûã õýðýãëýõ õýðýãòýé. server-program-arguments
³íèéã server-program-òàé õàìò, argv[0]-ñ ýõëýí ïðîãðàìûí àðãóìåíòûã çààæ °ã°õ áàéäëààð õýðýãëýíý. Õýðýâ êîìàíäûí ì°ð°íä mydaemon -d ãýñýí áàéäëààð õýðýãëýäýã áîë, server-program-arguments-í óòãà mydaemon -d áàéíà. Äàõèí õýëýõýä, õýðýâ òóõàéí äýìîí äîòîîä ³éë÷èëãýýíèé íýã áîë internal-ã ýíä ì°í õýðýãëýíý ³³. 29.2.5
Àþóëã³é áàéäàë
éëäëèéí ñèñòåìèéã ñóóëãàõ ³åä õèéñýí ñîíãîëòóóäààñ õàìààðàí inetd-í ³éë÷èëãýýí³³äèéí èõýíõ íü èäýâõòýé áîëñîí áàéäàã. Õýðýâ õýðýãëýõ îíöûí øààðäëàãà áàéõã³é áîë òýäãýýðèéã èäýâõã³é áîëãîíî óó. /etc/inetd.conf àéë äîòîð, èäýâõã³é áîëãîõ ãýæ áàéãàà äåìîíûõîî õàðãàëçàõ ì°ðèéí óðä “#” òýìäãèéã òàâüæ °ãí°. Äàðàà íü inetd-í òîõèðãîîã äàõèí à÷ààëíà. fingerd çýðýã çàðèì äýìîíóóä ãàäíû õàëäàã÷èä õýðýãòýé ìýäýýëëèéã ò³ãýýæ áàéäàã òóë òýäãýýð ³éë÷èëãýýã á³ðì°ñ°í õààæ áîëîõ þì. Çàðèì äýìîíóóä àþóëã³é áàéäëûã áîäîëöîëã³éãýýð á³òýýãäñýí áàéäàã áà õîëáîëò òîãòîîõ õàðüöàíãóé óðò áîëçîîò õóãàöààòàé, ýñâýë áîëçîîò õóãàöààã îãò çààæ °ã°°ã³é áàéäàã. Ýíý íü õàëäàã÷èä òîäîðõîé äýìîí óðóó õîëáîëò òîãòîîõ õ³ñýëòèéã îëîí äàõèí èëãýýæ, í°°öèéã äóóñãàõ çàìààð ñèñòåìä õàëäàõ áîëîìæèéã îëãîäîã. Õýðýâ ÿìàð íýã äýìîíû õóâüä ³³ññýí õîëáîëòûí òîî õýòýðõèé îëîí áàéâàë max-connections-per-ip-per-minute, max-child ýñâýë max-child-per-ip òîõèðãîîíû òóñëàìæòàéãààð õÿçãààðëàëò õèéõ íü îíîâ÷òîé áàéäàã. Àíõäàã÷ áàéäëààð TCP-èéí äóíäûí õÿíàëò (ã³éöýòãýë õÿëáàðøóóëàëò) èäýâõòýé áàéäàã. inetd-ð äóóäàãäñàí äýìîíóóäûí õóâüä TCP õÿçãààðëàëòûã õýðõýí òàâèõ òàëààð äýëãýðýíã³é ìýäýýëëèéã hosts_access(5) çààâàð õóóäàñíààñ ³çíý ³³. 29.2.6
Ýëäýâ ç³éëñ
daytime, time, echo, discard, chargen, áà auth á³ãä inetd-í äîòîîä ³éë÷èëãýýí³³ä þì.
765
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä auth ³éë÷èëãýý íü ñ³ëæýýíèé îð÷èíä, òîäîðõîéëîëò °ã°õ ³éë÷èëãýý ³ç³³ëäýã á°ã°°ä òîäîðõîé ò³âøèíä òîõèðãîî õèéõ áîëîìæòîé áàéäàã áîë áóñàä ³éë÷èëãýýí³³äèéã ç°âõ°í èäýâõòýé ýñâýë èäýâõã³é áîëãîõ áîëîìæòîé. Äýýðõ ³éë÷èëãýýí³³äèéí òàëààð á³ðýí ä³³ðýí ìýäýýëëèéã inetd(8) çààâàð õóóäàñíààñ ³çíý ³³.
29.3
ѳëæýýíèé Ôàéëûí Ñèñòåì (NFS)
Äàõèí çîõèîí áàéãóóëæ, ñàéæðóóëñàí Òîì °³äñ. Áè÷ñýí Áèëë Ñâèíãë. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. FreeBSD äýýð äýìæèãääýã îëîí àéëûí ñèñòåì³³äèéí íýã áîë Network File System áóþó ѳëæýýíèé Ôàéëûí Ñèñòåì þì, ì°í NFS ãýæ íýðëýíý. NFS íü ñ³ëæýýíèé îð÷èíä àéë áîëîí ñàíã áóñàäòàé õóâààëöàõ áîëîìæèéã îëãîäîã. NFS-ã õýðýãëýí, õýðýãëýã÷èä áîëîí ïðîãðàìóóä àëñëàãäñàí ñèñòåì ð³³ äîòîîä àéë ðóó õàíäàæ áàéãààòàé àäèëààð õàíäàõ áîëîìæòîé. NFS-í òýìäýãë³³øòýé äàâóó òàëóóäààñ äóðäâàë: •
•
•
ðã°í õýðýãëýãääýã °ã°ãäëèéã íýãòãýí íýã ìàøèí äýýð áàéðëóóëæ, ò³³íä àëñààñ õàíäàõ áîëîìæòîé áîëñíîîð äîòîîä ìàøèíóóä èë³³ áàãà äèñê õýðýãëýõ áîëíî. Õýðýãëýã÷èéí õóâüä ñ³ëæýýíä áàéãàà ìàøèí á³ð äýýð òóñ òóñäàà ãýðèéí ñàíòàé áàéõ øààðäëàãàã³é áîëíî. ýðèéí ñàíã íýã óäàà NFS ñåðâåð äýýð ³³ñãýýä ò³³íèéãýý ñ³ëæýýãýýð äàìæèí õýðýãëýõ áîëîìæòîé. Óÿí äèñê, CDROM áîëîí Zip® ò°õ°°ð°ìæ³³äèéã ñ³ëæýýíèé áóñàä ìàøèíóóä õýðýãëýõ áîëîìæòîé áîëíî. Èíãýñíýýð ñ³ëæýýíä õýðýãëýãäýõ ç°°â°ðë°õ áîëîìæòîé õàäãàëàõ ò°õ°°ð°ìæ³³äèéí òîîã áàãàñãàíà.
29.3.1 NFS
õýðõýí àæèëëàäàã âý
NFS íü ³íäñýí õî¼ð õýñãýýñ á³ðäýíý: ñåðâåð áîëîí íýã áà ò³³íýýñ äýýø òîîíû õàðèëöàã÷. Ñåðâåð ìàøèí äýýð õàäãàëàãäàæ áàéãàà °ã°ãä°ë ð³³ õàðèëöàã÷ àëñààñ õàíäàíà. Äýýðõ ³éëäëèéã ç°â ã³éöýòãýõèéí òóëä íèëýýä õýäýí ïðîöåññèéí òîõèðãîîã õèéæ, àæèëëóóëñàí áàéõ ¼ñòîé. Ñåðâåð äýýð äàðààõ äýìîíóóä àæèëëàæ áàéõ ¼ñòîé:
Äýìîí
Òàéëáàð nfsd NFS õàðèëöàã÷äààñ èðýõ õ³ñýëòèéã õ³ëýýí àâàõ NFS äýìîí. mountd nfsd(8)-ñ äàìæèæ èðñýí õ³ñýëòèéã ã³éöýòãýã÷ NFS õîëáîõ äýìîí. Ýíý äýìîíû òóñëàìæòàé NFS õàðèëöàã÷èä NFS ñåðâåð àëü ïîðòîí äýýð rpcbind àæèëëàæ áàéãààã îëæ ìýäíý. Õàðèëöàã÷ nfsiod ãýñýí äýìîíã ì°í àæèëëóóëæ áîëíî. nfsiod äýìîí NFS ñåðâåðýýñ èðýõ õ³ñýëòèéã ã³éöýòãýíý. Èíãýõ íü ñèñòåìèéã õýâèéí, àëäààã³é àæèëëóóëàõàä çàéëøã³é øààðäëàãàã³é áîëîâ÷ çàðèì ³ç³³ëýëò³³äèéã ñàéæðóóëäàã òóë íýìýëò áàéäëààð õýðýãëýæ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã nfsiod(8) õóóäàñíààñ ³çíý ³³.
766
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
í òîõèðãîîã õèéõ
29.3.2 NFS-
NFS-í òîõèðãîîã õèéõ íü õàðüöàíãóé àìàðõàí. Àæèëëàõ ¼ñòîé ïðîöåññóóäûã ñèñòåìòýé õàìò àâòîìàòààð àñäàã áîëãîõûí òóëä /etc/rc.conf àéëûã áàãà çýðýã °°ð÷ë°õ°ä õàíãàëòòàé.
NFS ñåðâåð äýýðõ /etc/rc.conf àéë äîòîð äàðààõ òîõèðóóëãóóä èäýâõæñýí áàéãàà ýñýõèéã øàëãàíà
óó:
rpcbind_enable="YES" nfs_server_enable="YES" mountd_flags="-r"
mountd íü NFS ñåðâåðèéã èäýâõæ³³ëñýí òîõèîëäîëä °°ð°° àâòîìàòààð àæèëëàíà.
Õàðèëöàã÷ òàëä, /etc/rc.conf àéë äîòîð äàðààõ òîõèðóóëãà èäýâõòýé áàéãàà ýñýõèéã øàëãàíà óó:
nfs_client_enable="YES"
àéë äîòîð NFS ÿìàð àéë ñèñòåì³³äèéã ýêñïîðò õèéõèéã (çàðèìäàà “õóâààëöàõ” ãýæ ì°í íýðëýíý) çààæ °ãí°. /etc/exports àéëûí ì°ð á³ð íü íýã àéë ñèñòåìä õàðãàëçàíà. Ýíý àéë ñèñòåìä õàíäàõ ýðõòýé ìàøèíóóäûã çààõààñ ãàäíà, ÿìàð òîõèðóóëãààð õàíäàõûã ì°í çààæ °ã÷ áîëíî. Ýíý àéë äîòîð áè÷èãäýæ áîëîõ íèëýýä îëîí èéì òîõèðóóëãóóä áàéãàà õýäèé ÷, áèä òýäãýýðýýñ ç°âõ°í çàðèìûã íü ýíä àâ÷ ³çýõ áîëíî. Òà áóñàä òîõèðóóëãóóäûí òàëààð exports(5) çààâàð õóóäàñíààñ óíøèæ ìýäíý ³³. Äîîð /etc/exports àéëààñ õýäýí æèøýý ì°ðèé㠳糳ëýâ: Äàðààõ æèøýýí äýýðýýñ àéë ñèñòåìèéã õýðõýí ýêñïîðòëîõ ñàíààã îëæ àâàõ áîëíî. Òîõèðóóëãóóä íü òàíû ñ³ëæýýíèé òîõèðãîî, í°õö°ë áàéäëààñ øàëòãààëàí °°ð áàéõûã àíõààðíà óó. Æèøýý íü, /cdrom ãýñýí ñàíã 3 ìàøèí ðóó ýêñïîðòëîõûí òóëä äàðààõ áàéäàëòàé áè÷íý. Æèøýýí äýýðõ 3 ìàøèí ñåðâåðòýé àäèë äîìýéí íýðòýé, ýñâýë òàíû /etc/hosts àéë äîòîð òîäîðõîéëîãäñîí ãýæ ³çñýí áîëíî. -ro òóã íü ýêñïîðòëîãäîæ áóé àéë ñèñòåìèéã ç°âõ°í óíøèõ áîëîìæòîé áîëîõûã çààíà. Ýíý òóãèéã òàâüñíààð àëñààñ õàíäàæ áóé ìàøèí ýíý àéë ñèñòåì äýýð ÿìàð íýã °°ð÷ë°ëò õèéõ áîëîìæã³é áîëíî. /etc/exports
/cdrom -ro host1 host2 host3
Äàðààõ æèøýýí äýýð /home ñàíã IP õàÿãààð íü çààæ °ãñ°í 3 ìàøèí ðóó ýêñïîðòîëæ áàéíà. Èíãýæ IP õàÿãààð íü çààæ °ã°õ íü äîòîîä ñ³ëæýýíäýý DNS ñåðâåð àæèëëóóëààã³é ³åä èõ õýðýãòýé áàéäàã. Ýñâýë /etc/hosts àéë äîòîð äîòîîä õîñòóóäûí íýðèéã òîõèðóóëæ áîëíî; hosts(5) õýñãèéã äàõèí ³çíý ³³. -alldirs ãýñýí òóã íü äýä ñàíãóóäûã õîëáîëòûí öýã áàéõûã ç°âø°°ð÷ °ãä°ã. °ð°°ð õýëáýë, äýä ñàíãóóäûã õîëáîëã³é îðõèæ, õàðèëöàã÷ ç°âõ°í °°ðèéí õýðýãöýýòýé áàéãàà ñàíãàà õîëáîõûã ç°âø°°ðí° ãýñýí ³ã þì. /home
-alldirs
10.0.0.2 10.0.0.3 10.0.0.4
Äàðààõ æèøýýí äýýð /a ñàíã õî¼ð °°ð äîìýéíîîñ 2 õàðèëöàã÷ õàíäàæ áîëîõîîð ýêñïîðòîëæ áàéíà. ãýñýí òóã íü àëñëàãäñàí ñèñòåì äýýðõ root õýðýãëýã÷ ýêñïîðòëîãäñîí àéë ñèñòåì äýýð ýðõýýð áè÷èõèéã ç°âø°°ðí°. Õýðýâ -maproot=root òóãèéã òóñãàéëàí çààæ °ã°°ã³é áîë, õýäèé àëñëàãäñàí ñèñòåì äýýðõ õýðýãëýã÷ root ýðõòýé ÷ ýêñïîðòëîãäñîí àéë ñèñòåì äýýð áè÷èõ ýðõã³é áîëíî. -maproot=root root
/a
-maproot=root
host.example.com box.example.org
767
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Õàðèëöàã÷ ýêñïîðòëîãäñîí àéë ñèñòåì ð³³ õàíäàõûí òóëä ýðõ íü áàéõ ¼ñòîé. Òóõàéí õàðèëöàã÷ /etc/exports àéë äîòîð á³ðòãýëòýé ýñýõèéã øàëãààðàé. /etc/exports àéë äîòîð ì°ð áîëãîí íü íýã àéë ñèñòåìèéã íýã õîñò ðóó ýêñïîðòëîõ ìýäýýëëèéã ò°ë°°ëí°. Àëñëàãäñàí õîñò àëü íýã àéë ñèñòåìèéí õóâüä ç°âõ°í ãàíö óäàà ë òîäîðõîéëîãäñîí áàéõ ¼ñòîé áà ³³íä õàðãàëçàõ ãàíöõàí àíõäàã÷ áè÷ëýã áàéæ áîëíî. Æèøýý íü, /usr íü íýã àéë ñèñòåì ãýæ áîäú¼. /etc/exports àéë äîòîðõ äàðààõ áè÷ëýã³³ä íü áóðóó þì: # Invalid when /usr is one file system /usr/src client /usr/ports client
Ó÷èð íü /usr ãýñýí àéë ñèñòåìèéã client ãýñýí õîñò ðóó ýêñïîðòîëñîí õî¼ð áè÷ëýã áàéíà. Ýíý òîõèîëäîëä äàðààõ îðìàòààð áè÷âýë ç°â áîëíî: /usr/src /usr/ports
client
Íýã õîñò ðóó ýêñïîðòëîãäîæ áàéãàà àéë ñèñòåìèéí õóâüä øèíæ³³äèéã á³ãäèéã íýã ì°ð°íä æàãñààí áè÷èõ ¼ñòîé. Õàðèëöàã÷èéã çààæ °ã°°ã³é ì°ð³³äèéã ýíãèéí õîñò ãýæ ³çíý. Ýíý íü àéë ñèñòåìèéã ýêñïîðòëîõ áîëîìæèéã õÿçãààðëàíà, ãýâ÷ ýíý íü èõýíõ õ³ì³³ñò õ³íä àñóóäàë áèø áàéäàã. Äàðààãèéí æèøýýí äýýð /usr áà /exports ãýñýí äîòîîä àéë ñèñòåìèéã ýêñïîðòîëñîí áàéíà: # Export src and ports to client01 and client02, but only # client01 has root privileges on it /usr/src /usr/ports -maproot=root client01 /usr/src /usr/ports client02 # The client machines have root and can mount anywhere # on /exports. Anyone in the world can mount /exports/obj read-only /exports -alldirs -maproot=root client01 client02 /exports/obj -ro
àéë äîòîð ãàðñàí °°ð÷ë°ëò³³äèéã õ³÷èíòýé áîëãîõûí òóëä, °°ð÷ë°ëò îðñîí òóõàé á³ðä mountd äýìîíã àëáàäàí /etc/exports-ã äàõèí óíøóóëàõ õýðýãòýé áîëäîã. ³íèé òóëä ýñâýë HUP äîõèîã àæèëëàæ áàéãàà äýìîíä °ã°õ õýðýãòýé:
/etc/exports
# kill -HUP ‘cat /var/run/mountd.pid‘
ýñâýë mountd rc(8) ñêðèïòèéã çîõèõ ïàðàìåòðèéí õàìò àæèëëóóëàõ õýðýãòýé: # /etc/rc.d/mountd onereload
rc ñêðèïòèéã õýðýãëýõ çààâðûã Section 11.7 õýñãýýñ ³çíý ³³.
Áàñ íýã áîëîìæ íü, FreeBSD-ã ýõíýýñ íü à÷ààëæ, á³õ ïðîöåññèéã äàõèí ýõë³³ëýõ þì. ýâ÷ ³³íèé òóëä çààâàë ñèñòåìèéã äàõèí à÷ààëàõ øààðäëàãà áàéõã³é. root ýðõýýð äàðààõ òóøààëóóäûã °ãñí°°ð ç°âõ°í õýðýãòýé ïðîöåññóóäàà äàõèí ýõë³³ëýõ áîëîìæòîé. NFS ñåðâåð äýýð:
# rpcbind # nfsd -u -t -n 4 # mountd -r
NFS õàðèëöàã÷ äýýð:
768
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä # nfsiod -n 4
Îäîî àëñûí àéë ñèñòåìèéã õîëáîõîä áýëýí áîëëîî. Äîîðõ æèøýýí³³ä äýýð ñåðâåðèéí íýðèéã server, õàðèëöàã÷èéí íýðèéã client ãýæ àâñàí áîëíî. Õýðýâ òà àëñûí àéë ñèñòåìèéã ç°âõ°í ò³ð õóãàöààãààð õîëáîõ ãýæ áàéãàà ýñâýë òîõèðãîîãîî øàëãàõ ãýæ áàéãàà áîë, õàðèëöàã÷ òàëä root ýðõýýð äàðààõ òóøààëûã °ã°õ°ä õàíãàëòòàé: # mount server:/home /mnt
Ýíý òóøààëûã °ãñí°°ð òà ñåðâåð òàëä áàéãàà /home ãýñýí ñàíã õàðèëöàã÷ òàëä áàéãàà /mnt ñàíòàé õîëáîõ áîëíî. Õýðýâ á³õ ç³éë ç°â òîõèðóóëàãäñàí áîë, òà õàðèëöàã÷ òàëûí /mnt ñàí äîòîð îðæ ñåðâåð äýýð áàéãàà àéëóóäûã õàðæ ÷àäàõ ¼ñòîé. Õýðýâ ñèñòåì øèíýýð à÷ààëàõ á³ðä ÿìàð íýã àëñûí àéë ñèñòåìèéã õîëáîõ õ³ñýëòýé áàéãàà áîë, ò³³íèéãýý /etc/fstab àéë äîòîð íýìæ áè÷èõ õýðýãòýé. Æèøýý íü: server:/home /mnt nfs rw 0 0
Áîëîìæèò á³õ ñîíãîëòóóäûí òàëààð fstab(5) çààâàð õóóäàñíààñ ³çíý ³³. 29.3.3
Öîîæëîëò
Çàðèì ïðîãðàìóóä (æ.í. mutt) ç°â àæèëëàõûí òóëä àéë öîîæëîëòûã øààðääàã. NFS-í õóâüä, rpc.lockd-ã àéë öîîæëîëòîíä õýðýãëýæ áîëíî. Ò³³íèéã èäýâõæ³³ëýõèéí òóëä, ñåðâåð áîëîí õàðèëöàã÷ òàëä õî¼óëàíä íü /etc/rc.conf àéë äîòîð äàðààõ ì°ð³³äèéã íýìæ °ã°õ õýðýãòýé (NFS ñåðâåð áîëîí õàðèëöàã÷ òàëóóäûã àëü õýäèéí òîõèðóóë÷èõñàí ãýæ ³çýâ): rpc_lockd_enable="YES" rpc_statd_enable="YES"
Ïðîãðàìûã äàðààõ áàéäàëòàé ýõë³³ëíý: # /etc/rc.d/lockd start # /etc/rc.d/statd start
Õýðýâ NFS õàðèëöàã÷ áîëîí NFS ñåðâåð òàëóóäûí õîîðîíä æèíõýíý àéë öîîæëîëò õèéãäýõ øààðäëàãàã³é áîë, NFS õàðèëöàã÷ òàëä mount_nfs(8)-ä -L òîõèðóóëãûã °ã°í äîòîîä öîîæëîëò õèéëãýæ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã mount_nfs(8) çààâàð õóóäàñíààñ ³çíý ³³. 29.3.4
Ïðàêòèê õýðýãëýý
NFS íü îëîí ïðàêòèê õýðýãëýýòýé. Õàìãèéí ýëáýã òîõèîëääîã õýðýãëýýã äîîð æàãñààâ: •
•
Îëîí ìàøèíûã íýã CDROM ýñâýë ò°õ°°ð°ìæèéã äóíäàà õýðýãëýäýã áàéõààð çîõèîí áàéãóóëàõ. Ýíý íü íýã ïðîãðàìûã îëîí ìàøèí äýýð ñóóëãàõ õàìãèéí õÿìä, õÿëáàð àðãà þì. Òîì ñ³ëæýýíèé õóâüä, á³õ õýðýãëýã÷äèéí ãýðèéí ñàíã õàäãàëäàã ò°âë°ðñ°í NFS ñåðâåðèéã òîõèðóóëàõ. Ýäãýýð ãýðèéí ñàíãóóäûã äàðàà íü ñ³ëæýýíèé îð÷èíä ýêñïîðòîëñíîîð õýðýãëýã÷èä àëü ìàøèí äýýð àæèëëàæ áóéãààñ ³ë õàìààðàí °°ðèéí íýã ë ñàí äîòîð àæèëëàõ áîëîìæòîé áîëíî.
769
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä •
Îëîí ìàøèí äóíäàà íýã /usr/ports/distfiles ñàíòàé áàéõ. Èéì çàìààð, íýã ïîðòûã îëîí ìàøèí äýýð ñóóëãàõ õýðýãòýé ³åä ìàøèí á³ð äýýð ýõ àéëûã òàòàæ àâàëã³éãýýð õóðäàí ñóóëãàõ áîëîìæòîé áîëíî.
ð àâòîìàòààð õîëáîõ íü
29.3.5 amd-
Õóâü íýìðýý îðóóëñàí Âûëèé Ñòèëâýë. Äàõèí ýìõòãýñýí Øåðí Ëèé. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. amd(8) (àâòîìàòààð õîëáîã÷ äýìîí) íü àëñûí àéë ñèñòåìèéí àéë ýñâýë ñàíä õýðýãëýã÷ õàíäàõ òóõàé á³ðò óã àéë ñèñòåìèéã àâòîìàòààð õîëáîäîã. Õýñýã õóãàöààíû òóðøèä èäýâõã³é áàéãàà àéë ñèñòåìèéã amd ì°í àâòîìàòààð ñàëãàíà. amd-ã õýðýãëýñíýýð /etc/fstab äîòîð áè÷èãääýã áàéíãûí õîëáîëòîîñ ãàäíà, õîëáîëò õèéõ áîëîìæèéã îëãîäîã. amd íü °°ðèéã°°, /host áà /net ñàíãóóä äýýð NFS ñåðâåð áàéäëààð õîëáîæ àæèëëàõ á°ã°°ä ýäãýýð ñàíãóóä äîòîðõ àéëä õàíäàõ ³åä, amd õàðãàëçàõ àëñûí õîëáîëòûã õàéæ îëîîä àâòîìàòààð õîëáîõ áîëíî. /net íü ýêñïîðòëîãäñîí àéë ñèñòåìèéã IP õàÿãààð íü õîëáîõîä, õàðèí /host íü õîñò íýðýýð íü õîëáîõîä õýðýãëýãäýíý. /host/foobar/usr ñàí äîòîðõ àéëä õàíäàíà ãýäýã íü amd-ã foobar ãýñýí õîñò äýýð ýêñïîðòëîãäñîí /usr ñàíã õîëáîõûí çààæ °ãí°. Example 29-2.
Ýêñïîðòûã amd-ð õîëáîõ
Àëñûí õîñò äýýð áàéãàà áîëîìæèò õîëáîëòóóäûí æàãñààëòûã showmount òóøààëûí òóñëàìæòàé õàðæ áîëíî. Æèøýýëáýë, foobar íýðòýé õîñòûí ýêñïîðòûã õàðàõûí òóëä: % showmount -e foobar
Exports list on foobar: /usr /a
10.10.10.0 10.10.10.0
% cd /host/foobar/usr
Æèøýýí äýýð ³ç³³ëñíýýð showmount íü /usr-ã ýêñïîðòëîãäñîí áîëîõûã õàðóóëæ áàéíà. ñàí äîòîð îðîõîä, amd íü foobar ãýñýí õîñò íýðèéã òàéëàõûã îðîëäîõ áà çààñàí ñàíã õîëáîíî. amd-ã ýõëýë ñêðèïò³³äýýð ýõë³³ëæ áîëîõ áà ³³íèé òóëä /etc/rc.conf àéë äîòîð äàðààõ ì°ðèéã íýìýõ õýðýãòýé: /host/foobar/usr
amd_enable="YES"
Ì°í, amd ïðîãðàìä amd_flags òîõèðóóëãûí òóñëàìæòàé òóãóóäûã °ã÷ áîëíî. amd_flags-í àíõäàã÷ óòãà íü: amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"
àéë äîòîð ýêñïîðòóóäûã õîëáîõ àíõäàã÷ òîõèðóóëãóóäûã çààæ °ãñ°í áàéíà. àéë äîòîð amd-í èë³³ äýýä ò³âøíèé ÷àíàðóóäûã òîäîðõîéëæ °ãí°. Äýëãýðýíã³é ìýäýýëëèéã amd(8) áà amd.conf(5) çààâàð õóóäàñíààñ ³çíý ³³.
/etc/amd.map /etc/amd.conf
770
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
29.3.6
Áóñàä ñèñòåìòýé íýãòãýõýä òîõèîëäîõ àñóóäëóóä
Õóâü íýìðýý îðóóëñàí Æîí Ëèíä. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. ISA PC ñèñòåìä çîðèóëñàí çàðèì Ethernet àäàïòåðóóä ó÷èð äóòàãäàëòàé áàéäãààñ ñ³ëæýýíèé îð÷èíä àæèëëàõàä, òýð äóíäàà NFS-òýé àæèëëàõàä íèëýýä àñóóäàëòàé áàéäàã. Ýíý àñóóäàë ç°âõ°í FreeBSD-ä òîõèîëääîãã³é áîëîâ÷ FreeBSD ñèñòåì ³³íä íèëýýä °ðò°ìòãèé áàéäàã. Ýíý àñóóäàë íü (FreeBSD) PC ñèñòåìèéã °íä°ð ³ç³³ëýëòòýé ìàøèíóóäòàé (æèøýýëáýë, Silicon Graphics, Inc., áà Sun Microsystems, Inc êîìïàíèóäûí õèéñýí) ñ³ëæýýíä õîëáîõ ³åä áàðàã ³ðãýëæ òîõèîëääîã. NFS õîëáîëò õèéõýä àñóóäàëã³é, çàðèì ³éëäë³³äèéã õèéõýä àìæèëòòàé áàéõ áîëîâ÷, ãàäíààñ èðæ ÿâæ áàéãàà õ³ñýëò³³äèéã áîëîâñðóóëæ ÷àäàæ áàéãàà õýäèé ÷ ñåðâåð ãýíýò õàðèëöàã÷èä õàðèó °ã°õã³é áîëäîã. Ýíý àñóóäàë ì°í õàðèëöàã÷èéí õóâüä, õàðèëöàã÷ FreeBSD ñèñòåì ýñâýë àæëûí ìàøèí áàéõààñ ³ë øàëòãààëàí òîõèîëäîíî. Èõýíõ ñèñòåìèéí õóâüä, íýãýíò èéì àñóóäàëä îðñîí áîë õàðèëöàã÷ òàëûã íîì ¼ñíûõ íü äàãóó óíòðààõ áîëîìæã³é áîëäîã. àíö àâäàã àðãà õýìæýý áîë ñèñòåìèéã õ³÷ýýð óíòðààæ àñààõ þì. Ó÷èð íü, NFS-í ýíý àñóóäàë îäîî õèð íü øèéäýãäýýã³é áàéíà. Õýäèéãýýð “ç°â” øèéäýë áîë FreeBSD ñèñòåìä òîõèðîõ èë³³ °íä°ð ³ç³³ëýëòòýé, èë³³ áàãòààìæòàé Ethernet àäàïòåðèéã îëæ àâàõ áîëîâ÷, áîëîìæèò àæèëëàãààã õàíãàõûí òóëä íýã àðãà áàéíà. Õýðýâ FreeBSD ñèñòåì íü ñåðâåð áîë, õàðèëöàã÷ òàëààñ õîëáîëò õèéõäýý -w=1024 òîõèðóóëãûã îðóóëæ °ã°õ ÿâäàë þì. Õýðýâ FreeBSD ñèñòåì íü õàðèëöàã÷ áîë, NFS àéë ñèñòåìòýé õîëáîãäîõäîî -r=1024 òîõèðóóëãûã õýðýãëýõ þì. Ýäãýýð òîõèðóóëãóóäûã àâòîìàò õîëáîëòûí õóâüä fstab áè÷ëýãèéí ä°ð°â äýõ òàëáàðûã àøèãëàí, ãàð àðãààð õîëáîëò õèéõ áîë mount(8) òóøààëûí -o ïàðàìåòðûã àøèãëàí çààæ °ã÷ áîëíî. NFS ñåðâåð áîëîí õàðèëöàã÷èä °°ð °°ð ñ³ëæýýíä áàéõàä ãàðäàã °°ð íýã àñóóäëûã ýíý àñóóäàëòàé õîëüæ õóòãàõ òîõèîëäîë áàéäãèéã ýíä äóðäàõ íü ç³éòýé áîëîâ óó. Õýðýâ òèéì áîë, ÷èãë³³ëýã÷èä øààðäëàãàòàé UDP ìýäýýëëèéã äàìæóóëæ ÷àäàæ áàéãàà ýñýõèéã íÿãòàëæ ³çýýðýé. ã³é áîë, °°ð þó ÷ õèéëýý ãýýä òà ³ð ä³íä õ³ð÷ ÷àäàõã³é. Äàðààõ æèøýýí äýýð, fastws íü °íä°ð ³ç³³ëýëòòýé àæëûí ìàøèíû õîñò (èíòåðýéñ) íýð, freebox íü áàãà ³ç³³ëýëòòýé Ethernet àäàïòåðòàé FreeBSD ñèñòåìèéí íýð þì. Ì°í, /sharedfs íü ýêñïîðòëîãäîõ ãýæ áàéãàà NFS àéë ñèñòåì (exports(5)-ã ³ç), áà /project íü õàðèëöàã÷ òàëûí ýêñïîðòëîãäñîí àéë ñèñòåìèéã õîëáîõ öýã áàéõ áîëíî. Àëü ÷ òîõèîëäîëä, hard ýñâýë soft áà bg çýðýã íýìýëò òîõèðóóëãóóä òàíû õóâüä õýðýãòýé áàéæ áîëîõ þì. FreeBSD ñèñòåìèéã (freebox) freebox äýýð /etc/fstab äîòîð õàðèëöàã÷ áàéäëààð çààæ °ã°õ æèøýý: fastws:/sharedfs /project nfs rw,-r=1024 0 0 freebox
äýýð ãàðààð õîëáîõäîî:
# mount -t nfs -o -r=1024 fastws:/sharedfs /project
FreeBSD ñèñòåìèéã (freebox) fastws äýýð /etc/fstab äîòîð ñåðâåð áàéäëààð çààæ °ã°õ æèøýý: freebox:/sharedfs /project nfs rw,-w=1024 0 0 fastws
äýýð ãàðààð õîëáîõäîî:
# mount -t nfs -o -w=1024 freebox:/sharedfs /project
Áàðàã á³õ 16-áèòèéí Ethernet àäàïòåðèéí õóâüä óíøèõ áà áè÷èõ õýìæýýí äýýð äýýðõ áàéäëààð õÿçãààðëàëò õèéëã³éãýýð àæèëëàõ áîëîìæòîé áàéäàã.
771
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Ñîíèðõñîí óëñóóäàä òîëèëóóëàõàä, äýýðõ àëäàà ãàðàõàä ÷óõàì þó òîõèîëääîã, ÿàãààä çàñàãäàõ áîëîìæã³é áîëîõ òàëààð äîð òàéëáàðëàâ. NFS íü ãîë÷ëîí 8 K (õýäèéãýýð èë³³ áàãà õýìæýýòýé õýñýã äýýð àæèëëàæ ÷àäàõ áîëîâ÷) õýìæýýòýé “áëîê”óóä äýýð àæèëëàäàã. Õàìãèéí óðò Ethernet ïàêåò 1500 áàéò îð÷èì áàéõ áà, NFS “áëîê” íü õýä õýäýí Ethernet ïàêåòóóäàä õóâààãäàõ õýðýãòýé áîëäîã. Äýýä ò³âøíèé ïðîãðàìûí õóâüä ýíý íü íýã íýãæ õýâýýð áàéõ áà õ³ëýýæ àâààä, íèéë³³ëýýä, áàòàòãàë õèéõýä ÷ ì°í íýã íýãæ õýâýýð áàéäàã. íä°ð ³ç³³ëýëòòýé àæëûí ìàøèíóóä NFS íýãæèéã á³ðä³³ëæ áàéãàà òýäãýýð ïàêåòóóäûã ñòàíäàðòàä çààñíû äàãóó àëü áîëîõ îéðõîí îéðõîí, íýã íýãýýð íü öóâóóëæ ãàðãàíà. Æèæèã, áàãà áàãòààìæòàé êàðòóóä äýýð, äýýä ò³âøíèé ïðîãðàìä äàìæóóëàõààñ °ìí° ñ³³ëèéí ïàêåò íü °ìí°õ ïàêåòàà äàðñíààð òóõàéí íýãæèéã áóöààæ íèéë³³ëæ, áàòàòãàõ áîëîìæã³é áîëíî. ³íýýñ áîëæ, àæëûí ìàøèíû áîëçîîò õóãàöàà äóóñàæ á³õýë á³òýí 8 K íýãæèéã äàõèí äàìæóóëàõ áîëíî. Ýíý ³éë àæèëëàãàà äàõèí äàõèí õÿçãààðã³é äàâòàãäàõ áîëíî. Íýãæèéí õýìæýýã Ethernet ïàêåòèéí õýìæýýíýýñ áàãà áàéëãàñíààð, áèä Ethernet ïàêåò òóñ á³ðèéã áàòàòãàæ ìóõàðäàëä îðîõîîñ ñýðãèéëæ ÷àäíà. íä°ð ³ç³³ëýëòòýé àæëûí ìàøèíóóä PC ñèñòåì ð³³ °ã°ãäëèéã öàöñààð áàéõ ³åä äàâõöàë ³³ññýýð áàéõ áîëîâ÷, èë³³ ñàéí êàðò àøèãëàñíààð NFS “íýãæ”èéí õóâüä çààâàë òèéì äàâõöàë ³³ñýõ àëáàã³é áîëíî. Äàâõöàë ³³ññýí òîõèîëäîëä, ò³³íä °ðòñ°í íýãæèéã äàõèí äàìæóóëàõ áà ò³³íèéã õ³ëýýí àâ÷, íèéë³³ëæ, áàòàòãàõ áîëîìæ °íä°ðòýé. 29.4
ѳëæýýíèé Ìýäýýëëèéí Ñèñòåì (NIS/YP)
Áè÷ñýí Áèëë Ñâèíãë. Ñàéæðóóëñàí Ýðèê Îãðåí Áàÿíçóë. 29.4.1
and
Óäî Ýðäåëõî. Îð÷óóëñàí Ëîäîéñàìáûí
Ýíý þó âý?
NIS, íü Network Information Services áóþó ѳëæýýíèé Ìýäýýëëèéí éë÷èëãýýí³³ä ãýñýí ³ãèéí òîâ÷ëîë á°ã°°ä UNIX (àíõàíäàà SunOS) ñèñòåì³³äèéí óäèðäëàãûã ò°âë°ð³³ëýõ çîðèëãîîð Sun Microsystems àíõ õ°ãæ³³ëñýí. Îäîî ýíý ñàëáàðûí ³íäñýí ñòàíäàðò áîëæýý; á³õ ãîë UNIX ò°ðëèéí ñèñòåì³³ä (Solaris, HP-UX, AIX®, Ëèíóêñ, NetBSD, OpenBSD, FreeBSD, ãýõ ìýò) NIS-ã äýìæäýã. NIS àíõ Yellow Pages áóþó Øàð Õóóäàñ ãýñýí íýðòýé áàéñàí áîëîâ÷ õóäàëäààíû òýìäãèéí àñóóäëààñ áîëæ Sun íýðèéã íü ñîëüñîí. Õóó÷èí íýð (áà yp) íü îäîî õèð íü õýðýãëýãäñýýð áàéäàã. Ýíý íü RPC äýýð ³íäýñëýñýí, íýã NIS äîìýéíä áàéãàà á³ëýã ìàøèíóóä äóíäàà àäèëõàí òîõèðãîîíû àéëòàé áîëîìæèéã îëãîäîã õàðèëöàã÷/ñåðâåð ñèñòåì þì. ³íèé òóñëàìæòàé ñèñòåìèéí àäìèíèñòðàòîð NIS õàðèëöàã÷ ñèñòåìèéã çàéëøã³é áàéõ ³íäñýí òîõèðãîîòîéãîîð ³³ñãýõ, òîõèðãîîíû °ã°ãäëèéã íýã äîð íýìýõ, õàñàõ, °°ð÷ë°õ çýðýã ³éëäë³³äèéã õèéõ áîëîìæòîé áîëäîã. Ýíý íü Windows NT®-í äîìýéí ñèñòåìòýé ò°ñòýé. Õýäèéãýýð òýäãýýðèéí äîòîîä àæèëëàãàà íü åðä°° ÷ àäèëõàí áèø áîëîâ÷ ³íäñýí ³³ðãèéã íü àäèëòãàæ áîëîõ þì.
29.4.2
Òàíû ìýäýæ áàéõ ¼ñòîé Íýð òîìú¼î/Ïðîöåññóóä
NIS ñåðâåð ýñâýë NIS õàðèëöàã÷ áàéäëààð àæèëëàäàã NIS-ã FreeBSD äýýð çîõèîí áàéãóóëàõûí òóëä íèëýýä õýäýí íýð òîìú¼î, ÷óõàë õýðýãëýã÷èéí ïðîöåññóóäòàé òà òààðàëäàõ áîëíî:
772
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Íýð òîìú¼î NIS äîìýéí íýð rpcbind
ypbind
ypserv
rpc.yppasswdd
29.4.3
Òàéëáàð NIS ìàñòåð ñåðâåð áîëîí ò³³íèé á³õ õàðèëöàã÷èä (ò³³íèé çàðö ñåðâåðèéã îðóóëààä) á³ãä NIS äîìýéí íýðòýé áàéíà. Windows NT-í äîìýéí íýðòýé àäèëààð, NIS äîìýéí íýð DNS-òýé ÿìàð ÷ õàìààã³é. RPC-ã (Remote Procedure Call áóþó Àëñûí Ïðîöåäóð Äóóäàõ, NIS-í àøèãëàäàã ñ³ëæýýíèé ïðîòîêîë) èäýâõòýé áàéëãàõûí òóëä çààâàë àæèëëàæ áàéõ ¼ñòîé. Õýðýâ rpcbind àæèëëàõã³é áîë, NIS ñåðâåð àæèëëóóëàõ, NIS õàðèëöàã÷ áîëîõ áîëîìæã³é. NIS õàðèëöàã÷èéã NIS ñåðâåðòýé “õîëáîíî”. NIS äîìýéí íýðèéã ñèñòåìýýñ àâ÷, RPC àøèãëàí ñåðâåðòýé õîëáîíî. ypbind íü NIS îð÷íû õàðèëöàã÷-ñåðâåðèéí õàðèëöààíû ö°ì íü áîëæ °ãä°ã; Õýðýâ õàðèëöàã÷èéí ìàøèí äýýð ypbind ³õâýë, NIS ñåðâåð ð³³ õàíäàõ áîëîìæã³é áîëíî. Ç°âõ°í NIS ñåðâåð äýýð àæèëëàæ áàéõ ¼ñòîé; ýíý áîë NIS ñåðâåð ïðîöåññ °°ð°° þì. Õýðýâ ypserv(8) ³õâýë, ñåðâåð NIS õ³ñýëòýä õàðèó °ã°õ áîëîìæã³é áîëíî (ìàãàäã³é, ò³³íèé ³³ðãèéã ³ðãýëæë³³ëýõ çàðö ñåðâåð áàéãàà áàéõ). Çàðèì NIS-í õóâüä (FreeBSD-ãèéõ áèø), àíõ õîëáîãäîæ áàéñàí ñåðâåð áàéõã³é áîëáîë °°ð ñåðâåðòýé õîëáîî òîãòîîõûã îðîëääîãã³é õóâèëáàðóóä áàéäàã. Èõýíõäýý, èéì ³åä ãàíö òóñ áîëîõ ç³éë áîë ñåðâåð ïðîöåññèéã äàõèí ýõë³³ëýõ (ýñâýë ñåðâåðèéã á³õëýýð íü), ýñâýë õàðèëöàã÷ òàëûí ypbind ïðîöåññèéã äàõèí ýõë³³ëýõ þì. Ç°âõ°í NIS ýçýí ñåðâåð äýýð àæèëëàæ áàéõ ¼ñòîé °°ð íýã ïðîöåññ; Ýíý äýìîí NIS õàðèëöàã÷ íàðûã °°ðñäèéí íýâòðýõ ³ãèéã ñîëèõ áîëîìæèéã îëãîíî. Õýðýâ ýíý äýìîí àæèëëàõã³é áîë, õýðýãëýã÷èä NIS ýçýí ñåðâåð ð³³ íýâòýð÷ îðîí òýíä íýâòðýõ ³ãýý ñîëèõ õýðýãòýé áîëíî.
Õýðõýí àæèëëàäàã âý?
NIS îð÷èíä ãóðâàí ò°ðëèéí õîñò áàéíà: ýçýí ñåðâåð, çàðö ñåðâåð, áà õàðèëöàã÷. Ñåðâåð³³ä íü õîñòóóäûí òîõèðãîîíû ìýäýýëëèéã õàäãàëñàí àãóóëàõûí ³³ðãèéã ã³éöýòãýíý. Ýçýí ñåðâåð ýíý ìýäýýëëèéí á³ðýí ýðõòýé õóóëáàðûã õàäãàëæ áàéäàã áîë, çàðö ñåðâåð íü ýíý ìýäýýëëèéí õóóëáàðûã í°°ö°íä õàäãàëæ áàéäàã. Ñåðâåð³³ä õàðèëöàã÷äûã ýäãýýð ìýäýýëëýýð õàíãàíà.
Îëîí àéëä áàéãàà ìýäýýëëèéã ýíý ìàÿãààð õóâààëöàæ õýðýãëýíý. master.passwd, group, áà hosts ãýñýí àéëóóäûã èõýâ÷ëýí NIS òóñëàìæòàé õóâààëöàíà. Ýäãýýð àéëä áàéäàã ìýäýýëýë õàðèëöàã÷ òàëûí íýã ïðîöåññîä õýðýãòýé áîëëîî ãýõýä ò³³íèéã °°ðèéí äîòîîäîîñ õàéõûí îðîíä ò³³íä îíîîãäñîí NIS ñåðâåðýýñ àñóóëãà õèéíý. 29.4.3.1 Ìàøèíû ò°ð°ë •
NIS ýçýí ñåðâåð . Ýíý ñåðâåð, Windows NT-í àíõäàã÷ äîìýéí ñåðâåð õÿíàã÷èéí íýã àäèë, NIS õàðèëöàã÷äûí õýðýãöýýíèé á³õ àéëóóäûã àãóóëñàí áàéíà. passwd, group áà NIS õàðèëöàã÷èéí õýðýãëýõ áóñàä îëîí àéëóóä ýçýí ñåðâåð äýýð áàéíà. Note: Íýã ìàøèí íýãýýñ îëîí NIS äîìýéíû õóâüä NIS ýçýí ñåðâåð áàéæ áîëíî. ýõäýý, ýíä áèä áàãà õýìæýýíèé NIS îð÷íû òàëààð ÿðèëöàõ òóë ýíý òàëààð ýíä ³çýõã³é.
773
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
•
•
NIS çàðö ñåðâåð . Windows NT-í í°°ö äîìýéí õÿíàã÷òàé àäèëààð, NIS çàðö ñåðâåð íü NIS ýçýí ñåðâåðèéí °ã°ãäëèéí àéëûí õóóëáàðûã õàäãàëíà. NIS çàðö ñåðâåð³³ä íü í°°ö°íä áàéäàã. Òýäãýýð íü ì°í ýçýí ñåðâåðèéí à÷ààëëûã õóâààëöàæ áàéäàã: NIS Õàðèëöàã÷èä íü õàìãèéí ò³ð³³íä õàðèó °ãñ°í ñåðâåðò õîëáîãäîõ áà ³³íèé òîîíä çàðö ñåðâåð³³ä ÷ áàñ îðíî.
NIS õàðèëöàã÷ . NIS õàðèëöàã÷ íü èõýíõ Windows NT àæëûí ìàøèíû àäèëààð, NIS ñåðâåðò øàëãóóëæ (ýñâýë Windows NT àæëûí ìàøèíû õóâüä Windows NT äîìýéí õÿíàã÷èä) íýâòýðíý.
ã õýðýãëýõ íü
29.4.4 NIS/YP-
Ýíý õýñýãò æèøýý NIS îð÷íûã ³³ñãýõ áîëíî. 29.4.4.1 Ò°ë°âë°õ
Òà °°ðèéã°° íýãýí èõ ñóðãóóëèéí æèæèãõýí ëàáîðàòîðûí àäìèíèñòðàòîð ãýæ áîä. Ýíý ëàá 15 FreeBSD ìàøèíààñ á³ðäýõ áà îäîîãîîð ò°âë°ðñ°í óäèðäëàãà áàéõã³é; ìàøèí á³ð °°ðèéí /etc/passwd áà /etc/master.passwd àéëóóäòàé. Ýäãýýð àéëóóäûã àäèëõàí áàéëãàõûí òóëä ãàðààðàà ç°°æ òàâüäàã; îäîîãèéí áàéäëààð ëàáîðàòîðèä øèíý õýðýãëýã÷ íýìýõèéí òóëä, á³õ 15 ìàøèí äýýð íýã á³ð÷ëýí adduser òóøààëûã îðóóëàõ õýðýãòýé áàéãàà. Ìýäýýæ ³³íèéã °°ð÷ë°õ õýðýãòýé, èéìýýñ òà ëàáîðàòîðèäîî NIS õýðýãëýõýýð áîëëîî. Ìàøèíóóäààñàà õî¼ðûã íü ñåðâåð áîëãîõîîð ñîíãîæ àâëàà. Òèéìýýñ, ëàáîðàòîðûí òîõèðãîî äàðààõ áàéäàëòàé áàéíà:
Ìàøèíû íýð
IP õàÿã
Ìàøèíû ³³ðýã ellington 10.0.0.2 NIS ýçýí coltrane 10.0.0.3 NIS çàðö basie 10.0.0.4 Ôàêóëüòåòèéí àæëûí ìàøèí bird 10.0.0.5 Õàðèëöàã÷ ìàøèí cli[1-11] 10.0.0.[6-17] Áóñàä õàðèëöàã÷ ìàøèíóóä Õýðýâ òà NIS çóðàãëàëûã àíõ óäàà õèéæ áàéãàà áîë, õààíààñ ýõëýõýý ýõëýýä ñàéí áîäîõ õýðýãòýé. ѳëæýý ÷èíü ÿìàð ÷ õýìæýýòýé áàéæ áîëíî, ãîë íü õýä õýäýí ñîíãîëò õèéõ õýðýãòýé. 29.4.4.1.1 NIS Äîìýéí Íýðèéã ñîíãîõ íü
°ðèéí òàíü áàéíãà õýðýãëýäýã “äîìýéí íýð” áàéæ áîëîõã³é. Çàëðóóëæ õýëáýë “NIS äîìýéí íýð” áàéõ ¼ñòîé. Õàðèëöàã÷ ìýäýýëýë îëæ àâàõûí òóëä õ³ñýëòýý öàöàõ ³åä NIS äîìýéí íýðèéã õýðýãëýíý. ³ãýýð íýã ñ³ëæýýíä áàéãàà îëîí ñåðâåð³³ä õýí íü õýíèé àñóóëòàíä õàðèóëàõ ¼ñòîéãîî ìýäýæ àâíà. NIS äîìýéí íýðèéã õîîðîíäîî ÿìàð íýã áàéäëààð õàìààòàé á³ëýã õîñòûí íýð ãýæ îéëãîæ áîëíî. Çàðèì áàéãóóëëàãóóä °°ðèéí Èíòåðíýòèéí äîìýéí íýðèéã NIS äîìýéí íýðýýð õýðýãëýõ íü áàéäàã. Ýíý íü ñ³ëæýýíèé ÿìàð íýã àñóóäëûã çàäëàí øèíæëýõ ÿâöàä ò³âýã óäàõ òóë ýíý àðãûã ç°âë°ä°ãã³é. NIS äîìýéí íýð íü ñ³ëæýýíèé îð÷èíä öîð ãàíö áàéõ ¼ñòîé á°ã°°ä ò°ë°°ëæ áàéãàà á³ëýã ìàøèíàà îíöîëñîí íýð áàéâàë ä°õ°ì áàéäàã. Æèøýýëáýë, Acme Inc. êîìïàíèé Óðëàãèéí õýëòýñ “acme-art” ãýñýí NIS äîìýéíòîé áàéæ áîëîõ þì. Áèä °°ðñäèéí æèøýýíäýý test-domain ãýñýí äîìýéí íýðèéã àâëàà. ýâ÷, çàðèì ³éëäëèéí ñèñòåì³³ä (öîõîí äóðäâàë SunOS) °°ðèéí NIS äîìýéí íýðèéã Èíòåðíýò äîìýéí
774
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
íýðýýð õýðýãëýäýã. Õýðýâ òàíû ñ³ëæýýíèé íýã áîëîí ò³³íýýñ äýýø òîîíû ìàøèí èéì àñóóäàëòàé áîë, òà Èíòåðíýò äîìýéí íýðýý NIS äîìýéíäîî õýðýãëýõ ¼ñòîé . 29.4.4.1.2 Ñåðâåðò òàâèãäàõ øààðäëàãóóä
NIS ñåðâåðò çîðèóëñàí ìàøèí ñîíãîí àâàõäàà àíõààðàõ õýä õýäýí ç³éëñ áèé. NIS-òýé õîëáîîòîé íýã ó÷èð äóòàãäàëòàé ç³éë áîë õàðèëöàã÷äûí ñåðâåðýýñ õàìààðàõ õàìààðàë þì. Õýðýâ õàðèëöàã÷ °°ðèéí NIS äîìýéíûã àñóóõààð ñåðâåðòýé õîëáîãäîæ ÷àäàõã³é áîë, òýð ìàøèí àøèãëàãäàõ áîëîìæã³é áîëäîã. Õýðýãëýã÷ áîëîí á³ëãèéí ìýäýýëýë äóòóóãààñ èõýíõ ñèñòåì³³ä ò³ð õóãàöààíä çîãñäîã. Òèéìýýñ, äàõèí äàõèí àñààæ óíòðààëãààä áàéõààðã³é, ýñâýë òóðøèëòàä õýðýãëýãäýõýýð ìàøèíûã ñîíãîõ õýðýãòýé. NIS ñåðâåð íü òóñäàà, ç°âõ°í NIS ñåðâåðò çîðèóëàãäñàí ìàøèí áàéõ ¼ñòîé. Õýðýâ à÷ààëàë áàãàòàé ñ³ëæýýíä àæèëëàæ áàéãàà áîë, NIS ñåðâåðèéã °°ð ³éë÷èëãýý àæèëëàæ áàéãàà ìàøèí äýýð òàâüæ áîëîõ òàëòàé. Õàìãèéí ãîë íü NIS ñåðâåð ÷èíü àæèëëàõã³é áîëáîë, á³õ NIS õàðèëöàã÷èä ÷èíü ì°í àæèëëàõã³é áîëîõûã ñàíààðàé.
29.4.4.2 NIS Ñåðâåð³³ä
Á³õ NIS ìýäýýëýë îí öàãèéí äàðààëëààðàà NIS ýçýí ñåðâåð äýýð õàäãàëàãäàæ áàéäàã. Ýíý ìýäýýëëèéã õàäãàëæ áàéãàà °ã°ãäëèéí ñàíã NIS áóóëãàëò ãýæ íýðëýíý. FreeBSD-ä, ýäãýýð áóóëãàëòóóä /var/yp/[domainname] àéë äîòîð áàéðëàíà. [domainname] íü NIS äîìýéí íýð áîëíî. Íýã NIS ñåðâåð õýä õýäýí äîìýéíûã çýðýã àãóóëæ ÷àäàõ òóë äîìýéí òóñ á³ðò çîðèóëñàí õýä õýäýí èéì ñàí áàéæ áîëíî. Äîìýéí á³ð °°ðèéí ãýñýí áóóëãàëòóóäòàé áàéíà. NIS ýçýí áîëîí çàðö ñåðâåð³³ä á³õ NIS õ³ñýëòèéã ypserv äýìîíû òóñëàìæòàé óäèðäàæ ÿâóóëíà. ypserv íü NIS õàðèëöàã÷ íàðààñ èðæ áóé õ³ñýëòèéã õ³ëýýí àâ÷, äîìýéíûã õ°ðâ³³ëýí, óã äîìýéí íýðä õàðãàëçàõ °ã°ãäëèéí àéëûí çàìûã õàéæ îëîîä, °ã°ãäëèéã áóöààí õàðèëöàã÷èä äàìæóóëàõ ³³ðýãòýé. 29.4.4.2.1 NIS Ýçýí Ñåðâåðèéã çîõèîí áàéãóóëàõ íü
Ýçýí NIS ñåðâåðèéã çîõèîí áàéãóóëàõ íü õàðüöàíãóé îéëãîìæòîé. FreeBSD íü áýëýí NIS ñóó÷èõñàí èðäýã. Ç°âõ°í /etc/rc.conf àéë äîòîð äàðààõ ì°ð³³äèéã íýìýõýä ë õàíãàëòòàé, ³ëäñýíèéã íü FreeBSD òàíû °ìí°°ñ õèéãýýä °ã°õ áîëíî. 1. nisdomainname="test-domain"
Ýíý ì°ð ñ³ëæýý àñàõàä (æèøýý íü, ñèñòåì äàõèí à÷ààëñíû äàðàà) NIS äîìýéí íýðèéã test-domain áîëãîíî. 2. nis_server_enable="YES"
Ýíý ì°ð íü ñ³ëæýý àñàõàä NIS ñåðâåð ïðîöåññóóäûã àñààõûã õýëæ °ãí°. 3. nis_yppasswdd_enable="YES" rpc.yppasswdd
Ýíý ì°ð íü äýìîíã èäýâõæ³³ëíý. Äýýð õýëñýí÷ëýí, ýíý äýìîí íü õàðèëöàã÷ ìàøèí äýýðýýñ õýðýãëýã÷ °°ðèéí NIS íýâòðýõ ³ãèéã ñîëèõ áîëîìæòîé áîëãîäîã.
775
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä Note: Òàíû NIS òîõèðãîîíîîñ õàìààðàí, íýìýëò ì°ð³³äèéã îðóóëàõ õýðýãòýé áîëæ ìàãàäã³é. NIS ñåðâåð ì°ðòë°° äàâõàð NIS õàðèëöàã÷ ñåðâåðèéí òóõàé õýñãýýñ, äîîð, äýëãýðýíã³é ìýäýýëëèéã àâíà óó.
Îäîî, ñóïåð õýðýãëýã÷èéí ýðõýýð /etc/netstart òóøààëûã °ã°õ ë ³ëäëýý. Ýíý íü òàíû /etc/rc.conf àéë äîòîð òîäîðõîéëæ °ãñ°í óòãóóäûã àøèãëàí á³õ ç³éëñèéã òàíû °ìí°°ñ õèéõ áîëíî. 29.4.4.2.2 NIS Áóóëãàëòóóäûã ýõë³³ëýõ íü
NIS áóóëãàëòóóä íü °ã°ãäëèéí ñàíãèéí àéëóóä á°ã°°ä /var/yp ñàí äîòîð õàäãàëàãäàíà. Òýäãýýðèéã NIS ýçýí ñåðâåðèéí /etc ñàí äîòîð áàéãàà /etc/master.passwd àéëààñ áóñàä òîõèðãîîíû àéëóóäààñ ³³ñãýäýã. Ýíý íü èõ ó÷èðòàé. Ìýäýýæ òà °°ðèéí root áîëîí óäèðäàõ ýðõòýé äàíñóóäûíõàà íýâòðýõ ³ãèéã NIS äîìýéí äàõü á³õ ñåðâåð äýýð òàðààæ òàâèõ õ³ñýëã³é áàéãàà áèç äýý. Òèéìýýñ, NIS áóóëãàëòóóäûã ýõë³³ëýõèéí °ìí°, äàðààõ ç³éëñèéã õèéõ õýðýãòýé: # cp /etc/master.passwd /var/yp/master.passwd # cd /var/yp # vi master.passwd
Ñèñòåìèéí äàíñóóäàä õàìààðàõ ì°ð³³äèéã (bin, tty, kmem, games, ãýõ ìýò), ì°í NIS õàðèëöàã÷ äýýð òàðààæ òàâèõ õ³ñýëã³é áàéãàà äàíñóóäàä õàìààðàõ ì°ð³³äèéã (æèøýýëáýë root áà áóñàä UID 0 (ñóïåð õýðýãëýã÷èéí) äàíñóóä) á³ãäèéã óñòãàõ õýðýãòýé. Note: /var/yp/master.passwd àéë á³ëãèéí áîëîí íèéòèéí õóâüä óíøèõ ýðõã³é (600 ò°ë°â) áàéãààã íÿãòàëíà óó! Øààðäëàãàòàé áîë chmod òóøààëûã õýðýãëýýðýé.
Äýýð äóðäñàíûã ã³éöýòãýæ äóóññàíû äàðàà, ñàÿ NIS áóóëãàëòóóäûã ýõë³³ëíý! FreeBSD íü òàíä ³³íèéã õèéæ °ã°õ ypinit íýðòýé ñêðèïòèéã (õîëáîãäîõ çààâàð õóóäàñíààñ äýëãýðýíã³é ìýäýýëëèéã àâíà óó) àãóóëæ áàéäàã. Ýíý ñêðèïò èõýíõ UNIX ³éëäëèéí ñèñòåìä áàéäàã áîëîâ÷, çàðèìä íü áàéõã³é áàéõ òîõèîëäîë áèé. Digital UNIX/Compaq Tru64 UNIX äýýð ýíý ñêðèïò ypsetup ãýñýí íýðòýé áàéäàã. Áèä NIS ýçýí ñåðâåðèéí õóâüä áóóëãàëòóóäûã ³³ñãýæ áàéãàà òóë ypinit òóøààëûã -m òîõèðóóëãûí õàìò °ãí°. Äýýðõ àëõìóóäûã á³ãäèéã õèéñíèé äàðàà, NIS áóóëãàëòóóäûã ³³ñãýõäýý äàðààõ òóøààëûã °ãí°: ellington# ypinit -m test-domain Server Type: MASTER Domain: test-domain Creating an YP server will require that you answer a few questions. Questions will all be asked at the beginning of the procedure. Do you want this procedure to quit on non-fatal errors? [y/n: n] n Ok, please remember to go back and redo manually whatever fails. If you don’t, something might not work. At this point, we have to construct a list of this domains YP servers. rod.darktech.org is already known as master server. Please continue to add any slave servers, one per line. When you are done with the list, type a . master server : ellington next host to add: coltrane next host to add: ^D The current list of NIS servers looks like this: ellington
776
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä coltrane Is this correct?
[y/n: y] y
[..output from map generation..] NIS Map update completed. ellington has been setup as an YP master server without any errors.
íü /var/yp/Makefile.dist-ñ /var/yp/Makefile-ã ³³ñãýñýí áàéõ ¼ñòîé. ³ñýõäýý, ýíý àéë òàíûã ãàíö NIS ñåðâåðòýé îð÷èíä ç°âõ°í FreeBSD ìàøèíóóäòàé àæèëëàæ áàéíà ãýæ ³çíý. test-domain íü çàðö ñåðâåðòýé òóë, òà /var/yp/Makefile àéëûã çàñàõ õýðýãòýé: ypinit
ellington# vi /var/yp/Makefile
Äîîðõ ì°ðèéã äàëäëàõ õýðýãòýé NOPUSH = "True"
(õýðýâ äàëäëàãäààã³é áîë). 29.4.4.2.3 NIS Çàðö Ñåðâåðèéã çîõèîí áàéãóóëàõ íü
NIS çàðö ñåðâåðèéã çîõèîí áàéãóóëàõ íü ýçýí ñåðâåðèéã çîõèîí áàéãóóëàõààñ ÷ õÿëáàð áàéäàã. Çàðö ñåðâåð ð³³ íýâòýð÷ îðîîä ò³ð³³í õèéñýí øèãýý /etc/rc.conf àéëûã çàñàõ õýðýãòýé. àíö ÿëãàà íü ypinit òóøààëûã °ã°õä°° -s òîõèðóóëãûã °ãí°. -s òîõèðóóëãà íü NIS ýçýí ñåðâåðèéí íýðèéã õàìò îðóóëàõûã øààðäàõ òóë áèäíèé òóøààëûí ì°ð äàðààõ áàéäàëòàé áàéíà:
coltrane# ypinit -s ellington test-domain Server Type: SLAVE Domain: test-domain Master: ellington Creating an YP server will require that you answer a few questions. Questions will all be asked at the beginning of the procedure. Do you want this procedure to quit on non-fatal errors? [y/n: n]
n
Ok, please remember to go back and redo manually whatever fails. If you don’t, something might not work. There will be no further questions. The remainder of the procedure should take a few minutes, to copy the databases from ellington. Transferring netgroup... ypxfr: Exiting: Map successfully transferred Transferring netgroup.byuser... ypxfr: Exiting: Map successfully transferred Transferring netgroup.byhost... ypxfr: Exiting: Map successfully transferred Transferring master.passwd.byuid... ypxfr: Exiting: Map successfully transferred Transferring passwd.byuid... ypxfr: Exiting: Map successfully transferred Transferring passwd.byname... ypxfr: Exiting: Map successfully transferred
777
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä Transferring group.bygid... ypxfr: Exiting: Map successfully transferred Transferring group.byname... ypxfr: Exiting: Map successfully transferred Transferring services.byname... ypxfr: Exiting: Map successfully transferred Transferring rpc.bynumber... ypxfr: Exiting: Map successfully transferred Transferring rpc.byname... ypxfr: Exiting: Map successfully transferred Transferring protocols.byname... ypxfr: Exiting: Map successfully transferred Transferring master.passwd.byname... ypxfr: Exiting: Map successfully transferred Transferring networks.byname... ypxfr: Exiting: Map successfully transferred Transferring networks.byaddr... ypxfr: Exiting: Map successfully transferred Transferring netid.byname... ypxfr: Exiting: Map successfully transferred Transferring hosts.byaddr... ypxfr: Exiting: Map successfully transferred Transferring protocols.bynumber... ypxfr: Exiting: Map successfully transferred Transferring ypservers... ypxfr: Exiting: Map successfully transferred Transferring hosts.byname... ypxfr: Exiting: Map successfully transferred coltrane has been setup as an YP slave server without any errors. Don’t forget to update map ypservers on ellington.
Îäîî /var/yp/test-domain íýðòýé ñàí ³³ññýí áàéõ ¼ñòîé. NIS ýçýí ñåðâåðèéí áóóëãàëòóóäûí õóóëáàðóóä ýíý ñàí äîòîð áàéõ ¼ñòîé. Ýäãýýð àéëóóä øèíý÷ëýãäýæ áàéãàà ýñýõèéã íÿãòëàæ áàéõ õýðýãòýé. Òàíû çàðö ñåðâåðèéí /etc/crontab äîòîðõ äàðààõ ì°ð³³ä ³³íèéã õèéõ áîëíî: 20 21
* *
* *
* *
* *
root root
/usr/libexec/ypxfr passwd.byname /usr/libexec/ypxfr passwd.byuid
Ýíý õî¼ð ì°ð íü çàðö ñåðâåð °°ðèéí áóóëãàëòóóäûã ýçýí ñåðâåðòýé èæèëõýí áàéëãàõûã õ³÷èëíý. Õýäèéãýýð ýäãýýð ì°ð³³äèéã çààâàë õýðýãëýõ øààðäëàãàã³é áîëîâ÷, ýçýí ñåðâåð °°ðèéõ íü NIS áóóëãàëòàä ãàðñàí °°ð÷ë°ëò³³ä çàðö ñåðâåð³³äèéí õóâüä äàìæèãäñàí ýñýõèéã øàëãàäàã, íýâòðýõ ³ãèéí òóõàé ìýäýýëýë íü ñèñòåìèéí õóâüä àìèí ÷óõàë çýðãýýñ äýýðõ øèíý÷ëýëòèéã õ³÷ëýõ íü ç³ãýýð. Îäîî, çàðö ñåðâåð òàëä ì°í /etc/netstart òóøààëûã °ã÷ NIS ñåðâåðèéã àæèëëóóëíà. 29.4.4.3 NIS Õàðèëöàã÷èä
NIS õàðèëöàã÷ íü ypbind äýìîíû òóñëàìæòàé òîäîðõîé íýã NIS ñåðâåðòýé õîëáîî òîãòîîíî. ypbind ñèñòåìèéí àíõäàã÷ äîìýéíûã øàëãàõ áà (domainname òóøààëààð °ã°ãäñ°í), äîòîîä ñ³ëæýýíä RPC õ³ñýëòèéã öàöàæ ýõëýíý. Ýäãýýð õ³ñýëò³³ä íü ypbind-í õîëáîî òîãòîîõ ãýæ áàéãàà äîìýéí íýðèéã çààæ
778
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
°ãí°. Õýðýâ òóõàéí äîìýéíä ³éë÷ëýõýýð òîõèðóóëàãäñàí ñåðâåð äýýðõ õ³ñýëòèéã õ³ëýýí àâáàë, ä õàðèó °ã°õ áà õàðèóã õ³ëýýæ àâñàí òàë ñåðâåðèéí õàÿãèéã òýìäýãëýæ àâíà. Õýðýâ õýä õýäýí ñåðâåð õàðèó °ãñ°í áîë (íýã ýçýí áà õýä õýäýí çàðö), ypbind õàìãèéí ò³ð³³íä õàðèó °ãñ°í ñåðâåðèéã ñîíãîí àâíà. Ò³³íýýñ õîéø, õàðèëöàã÷ °°ðèéí á³õ NIS õ³ñýëò³³äýý òýð ñåðâåð ð³³ ÿâóóëíà. ypbind íü õààÿà ñåðâåð àìüä áàéãàà ýñýõèéã íÿãòëàõûí òóëä “ping” õèéæ ³çíý. Õýðýâ õàíãàëòòàé õóãàöààíû äîòîð õàðèó õ³ëýýæ àâààã³é áîë, ypbind ýíý äîìýéíòîé õîëáîî òàñàðëàà ãýæ ³çýýä °°ð ñåðâåð îëîõûí òóëä õ³ñýëòýý öàöàæ ýõýëíý. ypbind-
29.4.4.3.1 NIS Õàðèëöàã÷èéã çîõèîí áàéãóóëàõ
FreeBSD ìàøèí äýýð NIS õàðèëöàã÷èéã çîõèîí áàéãóóëàõ íü íèëýýä õÿëáàð áàéäàã.
1.
àéëûã íýýãýýä, NIS äîìýéí íýðèéã çààæ °ã°õ áà ñ³ëæýý àñàõ ³åä ypbind-ã àæèëëóóëäàã áîëãîõûí òóëä äàðààõ ì°ð³³äèéã íýìæ áè÷íý:
/etc/rc.conf
nisdomainname="test-domain" nis_client_enable="YES"
2.
NIS ñåðâåðýýñ õýðýãòýé íýâòðýõ ³ã³³äèéã èìïîðòîëæ àâàõûí òóëä /etc/master.passwd àéë äîòîð áàéãàà á³õ õýðýãëýã÷èéí äàíñûã óñòãààä, àéëûí ò°ãñã°ëä äàðààõ ì°ðèéã íýìýõèéí òóëä vipw òóøààëûã àøèãëàíà: +::::::::: Note: Ýíý ì°ð íü NIS ñåðâåðèéí íýâòðýõ ³ãèéí áóóëãàëòàä áàéãàà õ³÷èíòýé õýðýãëýã÷èä äàíñ îëãîíî. Ýíý ì°ðèéã °°ð÷ë°õ çàìààð NIS õàðèëöàã÷èéã õýä õýäýí ÿíçààð òîõèðóóëæ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã äîîðõ netgroups section õýñãýýñ ³çíý ³³. Öààø ã³íçãèéð³³ëýí ñóäëàõ õ³ñýëòýé áîë NFS áà NIS-ã óäèðäàõ íü òóõàé O’Reilly-í íîìûã ³çíý ³³.
Note: Äîð õàÿæ íýã äîòîîä ýðõèéã (°°ð°°ð õýëáýë NIS-ñ èìïîðòîëæ àâààã³é) /etc/master.passwd àéë äîòîð àâ÷ ³ëäýõ õýðýãòýé. Ýíý äàíñ wheel á³ëãèéí ãèø³³í áàéõ ¼ñòîé. Õýðýâ NIS äýýð ÿìàð íýã àñóóäàë ãàðëàà ãýõýä ýíý ýðõýýð àëñààñ íýâòðýí îðæ, root áîëîîä àñóóäëûã øèéäâýðëýõ áîëíî.
3.
NIS ñåðâåðýýñ á³õ á³ëã³³äèéã èìïîðòîëæ àâàõûí òóëä äàðààõ ì°ðèéã /etc/group àéëä íýìíý: +:*::
³íèé äàðàà, ypcat
passwd
òóøààëûã °ã÷ NIS ñåðâåðèéí passwd áóóëãàëòûã õàðæ ÷àäàæ áàéõ ¼ñòîé.
í Àþóëã³é áàéäàë
29.4.5 NIS-
Åð íü ÿìàð ÷ àëñûí õýðýãëýã÷èéí õóâüä °°ðèéí ÷èíü äîìýéí íýðèéã ìýäýæ áàéâàë RPC õ³ñýëòèéã ypserv(8)-ä ÿâóóëæ NIS áóóëãàëòûã õàðàõ áîëîìæòîé. Èéì ò°ðëèéí ç°âø°°ð°ãä°°ã³é ³éëäëýýñ ñýðãèéëýõèéí òóëä ypserv(8) íü ç°âõ°í çààæ °ãñ°í õîñòóóäààñ èðñýí õàíäàëòûã ç°âø°°ðä°ã “securenets” ãýñýí óíêöûã àãóóëæ áàéäàã. Ñèñòåì àíõ à÷ààëàõàä, ypserv(8) íü securenets-í ìýäýýëëèéã /var/yp/securenets ãýñýí àéëààñ à÷ààëíà.
779
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä Note: Ýíý çàìûã -p òîõèðóóëãààð çààæ °ã°õ áà ÿíç á³ð áàéæ áîëíî. Ýíý àéëä ñ³ëæýýã ñ³ëæýýíèé áàãèéí õàìò çàéãààð òóñãààðëàí îðóóëæ °ãñ°í áàéíà. “#” òýìäãýýð ýõýëñýí ì°ð³³ä íü òàéëáàð áîëíî. Æèøýý securenets àéë äàðààõ áàéäàëòàé áàéíà:
# allow connections from local host -- mandatory 127.0.0.1 255.255.255.255 # allow connections from any host # on the 192.168.128.0 network 192.168.128.0 255.255.255.0 # allow connections from any host # between 10.0.0.0 to 10.0.15.255 # this includes the machines in the testlab 10.0.0.0 255.255.240.0
Õýðýâ ypserv(8)-í õ³ñýëò õ³ëýýæ àâñàí õàÿã ýäãýýð ä³ðì³³äèéí àëü íýãýíä òîõèð÷ áàéâàë õ³ñýëòèéã åðäèéí áàéäëààð áîëîâñðóóëíà. Õýðýâ ýíý õàÿã ÿìàð ÷ ä³ðìýíä òîõèðîõã³é áàéâàë, õ³ñýëòèéã ³ë àíõààðàõ á°ã°°ä àíõààðóóëàõ áè÷ëýãèéã á³ðòãýëä íýìíý. Õýðýâ /var/yp/securenets ãýñýí àéë áàéõã³é áîë, ypserv íü ãàäíààñ èðñýí á³õ õ³ñýëòèéã õ³ëýýí àâíà. ypserv ïðîãðàì íü Wietse Venema-í TCP Wrapper áàãöûã äýìæäýã. Ýíý íü àäìèíèñòðàòîðóóäûí õóâüä /var/yp/securenets-íû îðîíä TCP Wrapper-í òîõèðãîîíû àéëûã õàíäàëòûã õÿíàõàä õýðýãëýõ áîëîìæòîé áîëãîäîã. Note: Õýäèéãýýð ýäãýýð õàíäàëòûã õÿíàõ ìåõàíèçìóóä íü àþóëã³é áàéäëûã àäèë ò³âøèíä õàíãàõ áîëîâ÷, õî¼óë “IP çàëèëàõ” õàëäëàãàä °ðò°ìòãèé áàéäàã. NIS-òýé õîëáîîòîé á³õ óðñãàëûã ãàëò õàíà äýýðýý õààæ °ã°õ õýðýãòýé.
õýðýãëýæ áàéãàà ñåðâåð³³ä õóó÷èí TCP/IP äýýð àæèëëàæ áàéãàà ç³é ¼ñíû NIS õàðèëöàã÷èä ³éë÷èëæ ÷àäàõã³é áàéæ ìàãàäã³é. Ó÷èð íü, òýäãýýð íü °ðã°í öàöàëò õèéõäýý õîñò áèò³³äèéã á³ãäèéã òýãëýäýã áà °ðã°í öàöàëòûí õàÿãèéã òîîöîîëîõäîî äýä ñ³ëæýýíèé áàãèéã òàíüæ ÷àääàãã³é áîëíî. Õýäèéãýýð ýäãýýð àñóóäëóóäûã õàðèëöàã÷èéí òîõèðãîîã °°ð÷èëñí°°ð øèéäýæ áîëîõ áîëîâ÷, áóñàä àñóóäëóóä íü õàðèëöàã÷èéí ñèñòåìèéã öààø àøèãëàõ áîëîìæã³é ýñâýë /var/yp/securenets-ã áîëèóëàõ øààðäëàãàòàé áîëäîã. Èéì õóó÷èí TCP/IP äýýð àæèëëàäàã ñåðâåð äýýð /var/yp/securenets-ã õýðýãëýõ íü ³íýõýýð õýðýãã³é á°ã°°ä ñ³ëæýýíèé èõýíõ õýñýãò NIS-ã àøèãëàõ áîëîìæã³é áàéäàã. TCP Wrapper áàãöûã àøèãëàõ íü NIS ñåðâåðèéí õîöðîëòûã èõýñãýäýã. Ýíý íýìýëò ñààòàë íü õàðèëöàã÷èéí ïðîãðàì äýýð ÿëàíãóÿà à÷ààëàë èõòýé ñ³ëæýýíä, ýñâýë óäààí NIS ñåðâåðòýé áîë õ³ëýýõ õóãàöàà äóóñàõàä õ³ðãýõ òàëòàé. Õýðýâ òàíû õàðèëöàã÷ ñèñòåì ÷èíü äýýðõ øèíæ òýìäã³³äèéí àëü íýãèéã àãóóëæ áàéãàà áîë òà ýíý õàðèëöàã÷ ñèñòåìýý NIS çàðö ñåðâåð áîëãîæ °°ð÷ë°í õ³÷ýýð °°ð°°ñ°° °°ðò°° õîëáîãäîõîîð òîõèðóóëàõ õýðýãòýé. /var/yp/securenets
29.4.6
Çàðèì õýðýãëýã÷äèéí íýâòðýõèéã õààõ
Ìàíàé ëàáîðàòîðûí æèøýýí äýýð, basie íýðòýé íýã ìàøèí áàéãàà. Ýíý ìàøèíûã ç°âõ°í áàãø íàð õýðýãëýõ ¼ñòîé. Áèä ýíý ìàøèíûã NIS äîìýéí äîòðîîñ ãàðãàõûã õ³ñýõã³é áàéãàà, äýýð íü ýçýí NIS ñåðâåð äýýð áàéãàà passwd àéë íü áàãø íàð áîëîí îþóòíóóäûí äàíñûã õî¼óëàíã àãóóëæ áàéãàà. Áèä îäîî ÿàõ ¼ñòîé âý?
780
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä NIS °ã°ãäëèéí ñàí äîòîð á³ðòãýë íü áàéãàà ÷, çàðèì õýðýãëýã÷äèéã òóõàéí ìàøèí ðóó íýâòðýõèéã õààõ íýã àðãà áàéíà. ³íèé òóëä -username ãýñýí ì°ðèéã õàðèëöàã÷ ìàøèí äýýð /etc/master.passwd àéëûí ò°ãñã°ëä íýìýõ õýðýãòýé. Ýíä username ãýäýã íü íýâòðýõèéã íü õààõ ãýæ áàéãàà õýðýãëýã÷èéí íýð þì. Äýýðõ ³éëäëèéã õèéõäýý vipw-ã àøèãëàõûã ç°âë°æ áàéíà. vipw íü /etc/master.passwd àéë
äîòîð õèéãäñýí °°ð÷ë°ëòèéã õÿíàõ á°ã°°ä °°ð÷ë°ëò õèéæ äóóññàíû äàðàà íýâòðýõ ³ãèéí ñàíã àâòîìàòààð äàõèí ³³ñãýæ °ãä°ã. Æèøýý íü, õýðýâ áèä bill ãýñýí õýðýãëýã÷èéã basie õîñò äýýð íýâòðýõèéã õààõûã õ³ñýæ áàéãàà áîë: basie# vipw [add -bill to the end, exit]
vipw: rebuilding the database... vipw: done basie# cat /etc/master.passwd root:[password]:0:0::0:0:The super-user:/root:/bin/csh toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin operator:*:2:5::0:0:System &:/:/sbin/nologin bin:*:3:7::0:0:Binaries Commands and Source„,:/:/sbin/nologin tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin news:*:8:8::0:0:News Subsystem:/:/sbin/nologin man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin +::::::::: -bill basie#
ã Õýðýãëýõ íü
29.4.7 Netgroups-
Õóâü íýìðýý îðóóëñàí Óäî Ýðäåëõî. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. Ö°°õ°í òîîíû ìàøèí ýñâýë õýðýãëýã÷èéí õóâüä òóñãàé ä³ðýì õýðýãòýé ³åä °ìí°õ õýñýãò äóðäñàí àðãûã õýðýãëýõ íü èë³³ òîõèðîìæòîé. Õàðèí òîì ñ³ëæýýíèé õóâüä çàðèì õýðýãëýã÷èéí ÷óõàë ìàøèí ðóó íýâòðýõ ýðõèéã õààõàà ìàðòàõ, ýñâýë á³õ ìàøèíûã íýã á³ð÷ëýí ãàðààðàà òîõèðóóëæ °ã°õ, °°ð°°ð õýëáýë NIS-í ò°âë°ðñ°í óäèðäëàãà ãýñýí ãîë ñàíààã àøèãëàæ ÷àäàõã³é áàéõ òîõèîëäëóóä ãàðàõ áîëíî . NIS-ã õ°ãæ³³ëýã÷èä ýíý àñóóäëûã øèéäýõèéí òóëä netgroups áóþó ñ³ëæýýíèé á³ëã³³ä ãýñýí øèíý ç³éëèéã áèé áîëãîæýý. Ò³³íèé çîðèëãî áîëîí ñåìàíòèêèéã UNIX àéë ñèñòåìèéí æèðèéí á³ëýãòýé ä³éö³³ëæ áîëîõ þì. îë ÿëãààíóóä íü ãýâýë òîîí äóãààð áàéõã³é, ì°í ñ³ëæýýíèé á³ëãèéã òîäîðõîéëæ °ã°õä°° õýðýãëýã÷ áîëîí °°ð ñ³ëæýýíèé á³ëãèéã îðóóëæ áîëäîã. ѳëæýýíèé á³ëýã íü õýäýí çóóí õýðýãëýã÷ áîëîí ìàøèíòàé òîì, ò°â°ãòýé ñ³ëæýýòýé àæèëëàõàä çîðèóëæ á³òýýãäñýí þì. Íýã òàëààð, õýðýâ òà ³íýõýýð òèéì òîì ñ³ëæýýíä àæèëëàæ áàéãàà áîë ýíý íü
781
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Ñàéí dzéë þì. Õàðèí í°ã°° òàëààñ, ýíý áàéäàë íü æèæèãõýí ñ³ëæýýíä õÿëáàð æèøýýí äýýð ñ³ëæýýíèé á³ëãèéã òàéëáàðëàõ áàðàã áîëîìæã³é áîëãîæ áàéíà. Ýíý õýñãèéí ³ëäñýí õýñýãò õýðýãëýæ áàéãàà æèøýýí äýýð ýíý àñóóäëûã õàðóóëàõûã îðîëäëîî. NIS-ã ëàáîðàòîðèäîî íýâòð³³ëñýí òàíü òàíàé óäèðäëàãóóäûí àíõààðëûã òàòñàí ãýæ áîäü¼. Îäîî îþóòíû õîòõîí äîòîð áàéãàà áóñàä ìàøèíûã NIS äîìýéíä îðóóëæ °ðã°òã°õ àæëûã õèéõèéã òàíä äààëãàæýý. Äàðààõ õî¼ð õ³ñíýãòýíä øèíýýð íýìýõ õýðýãëýã÷ áîëîí ìàøèíû íýðèéã òîâ÷ òàéëáàðûí õàìò ³ç³³ëëýý.
Õýðýãëýã÷èéí íýð alpha, beta charlie, delta echo, foxtrott, golf, ... able, baker, ...
Òàéëáàð
IT õýëòñèéí åðäèéí àæèë÷èä IT õýëòñèéí øèíý äàãàëäàí
áóñàä åðäèéí àæèë÷èä äàäëàãàæèã÷èä
Ìàøèíû íýð
Òàéëáàð war, death, famine, pollution Òàíû õàìãèéí ÷óõàë ñåðâåð³³ä. Ç°âõ°í IT õýëòñèéí àæèë÷èä ë íýâòðýõ ýðõòýé. Õàðüöàíãóé ÷óõàë áèø ñåðâåð³³ä. IT õýëòýñò pride, greed, envy, wrath, lust, sloth õàðúÿàëàãääàã á³õ õ³ì³³ñ íýâòðýõ ýðõòýé. one, two, three, four, ... Åðäèéí àæëûí ìàøèíóóä. Ç°âõ°í ³íäñýí àæèë÷èä íýâòðýõ ýðõòýé. ×óõàë ç³éë áàéõã³é ìàø õóó÷èí ìàøèí. trashcan Äàäëàãàæèã÷èä õ³ðòýë íýâòðýõ ýðõòýé. Õýðýâ òà äýýðõ õÿçãààðëàëòóóäûã òóñ á³ðä íü õýðýãëýã÷èéã õààõ çàìààð õèéõ ãýæ îðîëäâîë á³õ ìàøèí äýýð õààõ õýðýãëýã÷ òóñ á³ðèéí õóâüä -user ì°ðèéã passwd àéë äîòîð íýìæ °ã°õ ¼ñòîé áîëíî. Õýðýâ íýã ë ì°ðèéã íýìýõýý ìàðòâàë àñóóäàëä îðíî ãýñýí ³ã. Ýíý áàéäàëä ñ³ëæýýíèé á³ëãèéã àøèãëàõ íü íèëýýä îëîí äàâóó òàëòàé. Õýðýãëýã÷ á³ðèéã òóñ òóñàä íü àâ÷ ³çíý; íýã õýðýãëýã÷èéã íýã áîëîí ò³³íýýñ äýýø òîîíû ñ³ëæýýíèé á³ëýãò îíîîæ, òóõàéí ñ³ëæýýíèé á³ëãèéí á³õ ãèø³³äèéí õóâüä íýâòðýõèéã ýñâýë ç°âø°°ð÷ ýñâýë õààíà. Õýðýâ òà øèíý ìàøèí íýìáýë, ç°âõ°í ñ³ëæýýíèé á³ëã³³äèéí õóâüä ë íýâòðýõ ýðõèéã çààæ °ãí°. Õýðýâ øèíý õýðýãëýã÷ íýìáýë, òóõàéí õýðýãëýã÷èéã íýã áîëîí ò³³íýýñ äýýø òîîíû ñ³ëæýýíèé á³ëýãò íýìýõýä ë õàíãàëòòàé. Ýäãýýð °°ð÷ë°ëò³³ä íü íýã íýãíýýñýý õàìààðàëã³é: “õýðýãëýã÷ áà ìàøèíû á³õ õóâèëáàðò íýìýõ...” øààðäëàãàã³é áîëíî. Õýðýâ òà NIS-ã àíõíààñ íü áîäëîãîòîé õèéõ þì áîë, ìàøèíóóä ðóó íýâòðýõ ýðõèéã õÿíàõäàà ç°âõ°í ãàíöõàí òîõèðãîîíû àéëûã °°ð÷ë°õ°ä õàíãàëòòàé. Õàìãèéí ýõíèé àëõàì áîë NIS ñ³ëæýýíèé á³ëãèéí áóóëãàëòûã ýõë³³ëýõ þì. FreeBSD-í ypinit(8) íü ýíý áóóëãàëòûã àíõäàã÷ áàéäëààð ³³ñãýäýãã³é, ãýâ÷ õýðýâ íýãýíò ³³ñãý÷èõâýë ò³³íèé NIS-òýé àæèëëàõ õýñýã íü ýíý áóóëãàëò äýýð àæèëëàõ ÷àäâàðòàé. Õîîñîí áóóëãàëò ³³ñãýõèéí òóëä: ellington# vi /var/yp/netgroup
ãýæ áè÷ýýä äàðààõ ç³éëñèéã íýìæ áè÷íý. Ìàíàé æèøýýíèé õóâüä, áèäýíä äîð õàÿæ ä°ðâ°í ñ³ëæýýíèé á³ëýã õýðýãòýé: IT àæèë÷èä, IT äàãàëäàíãóóä, åðäèéí àæèë÷èä áîëîí äàäëàãàæèã÷èä. IT_EMP IT_APP
(,alpha,test-domain) (,charlie,test-domain)
(,beta,test-domain) (,delta,test-domain)
782
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä USERS
(,echo,test-domain) (,golf,test-domain) INTERNS (,able,test-domain)
(,foxtrott,test-domain) \ (,baker,test-domain)
IT_EMP, IT_APP ãýõ ìýò íü ñ³ëæýýíèé á³ëãèéí íýð. Õààëòàí äîòîð áàéãàà á³ëýã íü õýðýãëýã÷ íýìæ áàéãàà íü. Á³ëýã äîòîðõ ãóðâàí òàëáàð íü:
1. Äàðààõ ç³éë³³ä õ³÷èíòýé áàéõ õîñòûí íýð. Õýðýâ õîñòûí íýð çààæ °ã°õã³é áîë, á³õ õîñòûí õóâüä õ³÷èíòýé ãýñýí ³ã. Õýðýâ õîñòûí íýð çààæ °ãâ°ë, òà ³ë îéëãîãäîõ, òîëãîé ýðã³³ëñýí õà÷èí ç³éëñòýé òóëãàðàõ áîëíî. 2. Ýíý ñ³ëæýýíèé á³ëýãò õàìààðàõ äàíñíû íýð.
3. Òóõàéí äàíñíû NIS äîìýéí. Õýðýâ òà íýãýýñ îëîí NIS äîìýéíä õàðúÿàëàãääàã àçã³é çàëóóñûí íýã áîë, °°ðèéí ñ³ëæýýíèé á³ëýãò °°ð NIS äîìýéíîîñ äàíñ èìïîðòîëæ áîëíî.
Ýäãýýð òàëáàðóóäûí àëèíä ÷ îðëóóëàãääàã òýìäýãò àøèãëàæ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã netgroup(5) çààâàð õóóäàñíààñ ³çíý ³³.
Note: ѳëæýýíèé á³ëã³³äèéí íýð 8-ñ äýýø òýìäýãò áàéæ áîëîõã³é, ÿëàíãóÿà òóõàéí NIS äîìýéíä °°ð ³éëäëèéí ñèñòåìòýé ìàøèíóóä àæèëëàæ áàéãàà áîë. Íýð³³ä íü òîì æèæèã ³ñãèéí ÿëãààòàé; ñ³ëæýýíèé á³ëãèéí íýðèéã òîì ³ñãýýð áè÷èõ íü õýðýãëýã÷èéí íýð, ìàøèíû íýð áîëîí ñ³ëæýýíèé á³ëãèéí íýðèéã õîîðîíä íü ÿëãàõàä õÿëáàð áîëãîäîã.
Çàðèì NIS õàðèëöàã÷èä (FreeBSD-ñ áóñàä) îëîí òîîíû ãèø³³äòýé ñ³ëæýýíèé á³ëýãòýé àæèëëàæ ÷àääàãã³é. Æèøýýëáýë, SunOS-í çàðèì õóó÷èí õóâèëáàðóóä ñ³ëæýýíèé á³ëýã 15-ñ äýýø òîîíû ãèø³³í-òýé áîë àñóóäàëòàé áàéäàã. Ýíý õÿçãààðûã äàâàõûí òóëä 15 áà ò³³íýýñ äîîø òîîíû õýðýãëýã÷òýé äýä ñ³ëæýýíèé á³ëã³³ä ³³ñãýýä, äàðàà íü ýäãýýð äýä ñ³ëæýýíèé á³ëã³³äýýñ òîãòñîí æèíõýíý ñ³ëæýýíèé á³ëýã ³³ñãýõ çàìààð ³³ñãýæ áîëíî: BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...] BIGGRP2 (,joe16,domain) (,joe17,domain) [...] BIGGRP3 (,joe31,domain) (,joe32,domain) BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3
Õýðýâ òàíä íýã ñ³ëæýýíèé á³ëýãò 225-ñ äýýø õýðýãëýã÷ õýðýãòýé áîë, äýýðõ ³éëäëèéã äàâòàõ ìàÿãààð öààø ³ðãýëæë³³ëæ áîëíî.
Øèíýýð ³³ñãýñýí NIS áóóëãàëòàà èäýâõæ³³ëýõ áîëîí òàðààõ íü àìàðõàí: ellington# cd /var/yp ellington# make
Èíãýñíýýð netgroup, netgroup.byhost áà netgroup.byuser ãýñýí ãóðâàí NIS áóóëãàëò ³³ñýõ áîëíî. Äýýðõ øèíý áóóëãàëòóóä èäýâõòýé áîëñîí ýñýõèéã ypcat(1) àøèãëàí øàëãààðàé: ellington% ypcat -k netgroup ellington% ypcat -k netgroup.byhost ellington% ypcat -k netgroup.byuser
Ýõíèé òóøààëûí ³ð ä³í /var/yp/netgroup àéë äîòîðõòîé ò°ñòýé áàéõ ¼ñòîé. Õýðýâ òà õîñòîîð òóñãàéëàí ñ³ëæýýíèé á³ëýã ³³ñãýýã³é áîë õî¼ð äàõü òóøààëûí ³ð ä³íä þó ÷ ãàðàõ ¼ñã³é. óðàâ äàõü òóøààëûí òóñëàìæòàé òóõàéí õýðýãëýã÷èéí ñ³ëæýýíèé á³ëã³³äèéí æàãñààëòûã õàðàõàä õýðýãëýãäýíý.
783
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Õàðèëöàã÷èéã òîõèðóóëàõàä íèëýýä õÿëáàð. war íýðòýé ñåðâåðèéã òîõèðóóëàõûí òóëä, vipw(8)-ã àæèëëóóëààä +:::::::::
ãýñýí ì°ðèéã +@IT_EMP:::::::::
ãýñýí ì°ð°°ð ñîëüæ áè÷èõ õýðýãòýé. Èíãýñíýýð, ç°âõ°í IT_EMP ñ³ëæýýíèé á³ëýãò çààãäñàí õýðýãëýã÷äèéí ìýäýýëýë war-í íýâòðýõ ³ãèéí ñàíä èìïîðòëîãäîæ, ç°âõ°í ýäãýýð õýðýãëýã÷èä ë ýíý ìàøèí ðóó íýâòðýõ ýðõòýé áîëëîî. Õàðàìñàëòàé íü, ýíý õÿçãààðëàëò íü á³ðõ³³ëèéí ~ óíêöàä, ì°í õýðýãëýã÷èéí íýð áà òîîí äóãààðûã õîîðîíä íü õ°ðâ³³ëäýã á³õ äýä ïðîãðàìóóäàä õàìààòàé. °ð°°ð õýëáýë, cd ~user òóøààë àæèëëàõã³é, ls -l òóøààë õýðýãëýã÷èéí íýðèéí îðîíä ò³³íèé òîîí äóãààðûã õàðóóëàõ áà find . -user joe -print òóøààë “Òèéì õýðýãëýã÷ áàéõã³é” ãýñýí àëäààíû ìýäýýëýë °ã÷ àìæèëòã³é áîëîõ áîëíî. ³íèéã çàñàõûí òóëä, á³õ õýðýãëýã÷äèéí á³ðòãýëèéã ñåðâåð ð³³ íýâòðýõ ýðõã³éãýýð èìïîðòëîõ õýðýãòýé áîëíî. ³íèé òóëä °°ð íýã ì°ðèéã /etc/master.passwd àéëä íýìæ °ã°õ õýðýãòýé. Ýíý ì°ð íü: +:::::::::/sbin/nologin ãýñýí áè÷ëýãèéã àãóóëæ áàéõ ¼ñòîé á°ã°°ä, ýíý íü “á³õ á³ðòãýëèéã èìïîðòîë, ãýõäýý èìïîðòëîãäîæ áàéãàà á³ðòãýë³³äèéí á³ðõ³³ëèéã /sbin/nologin-ð ñîëü” ãýñýí óòãàòàé. ³íòýé àäèëààð passwd àéëûí ÿìàð ÷ òàëáàðûã /etc/master.passwd àéë äàõü àíõäàã÷ óòãûã ñîëüæ áè÷ñýíýýð °°ð÷èëæ áîëíî. Warning: +:::::::::/sbin/nologin ãýñýí ì°ð +@IT_EMP::::::::: ãýñýí ì°ðèéí äàðàà áè÷èãäñýí ýñýõèéã ñàéòàð íÿãòëààðàé. ã³é áîë, NIS-ñ èìïîðòëîãäñîí á³õ õýðýãëýã÷äèéí á³ðõ³³ë /sbin/nologin áîë÷èõíî ø³³.
Äýýðõ °°ð÷ë°ëòèéã õèéñíèé äàðàà, õýðýâ IT õýëòýñò øèíý àæèë÷èí îðâîë, ç°âõ°í ãàíöõàí NIS áóóëãàëòûã °°ð÷ë°õ áîëëîî. ×óõàë áóñ áóñàä ñåðâåðèéí õóâüä èæèëõýí àðãà õýðýãëýæ, òýäãýýðèéí °°ðèéí /etc/master.passwd àéë äîòîð áàéãàà õóó÷èí +::::::::: ì°ðèéã: +@IT_EMP::::::::: +@IT_APP::::::::: +:::::::::/sbin/nologin
ãýñýí ì°ð°°ð ñîëüæ áè÷èõ õýðýãòýé. Åðäèéí àæëûí ìàøèíû õóâüä: +@IT_EMP::::::::: +@USERS::::::::: +:::::::::/sbin/nologin
áàéõ ¼ñòîé. Èíãýýä á³õ ç³éë àñóóäàëã³é àæèëëàõ áîëíî. ýòýë õýäýí äîëîî õîíîãèéí äàðàà ä³ðýì, æóðìàíä °°ð÷ë°ëò îðëîî: IT õýëòýñ äàäëàãàæèã÷ àâ÷ ýõýëëýý. IT õýëòñèéí äàäëàãàæèã÷èä åðäèéí àæëûí ìàøèí áîëîí ÷óõàë áóñ ñåðâåð³³äýä íýâòðýõ ýðõòýé; IT äàãàëäàíãóóä ãîë ñåðâåð ð³³ íýâòðýõ ýðõòýé áîëæýý. Îäîî IT_INTERN ãýñýí øèíý ñ³ëæýýíèé á³ëýã íýìæ, ýíý á³ëýãò øèíý IT äàäëàãàæèã÷äèéã íýìýýä, ýíý °°ð÷ë°ëòèéã á³õ ìàøèíû òîõèðãîîíä îðóóëæ ýõëýõ õýðýãòýé... Áèäíèé õýëæ çàíøñàíààð: “Ò°âë°ðñ°í ò°ë°âë°ã°°í äýýðõ àëäàà, á³õ þìûã îðâîíãîîð íü ýðã³³ëíý”.
784
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Ýíý ìýò òîõèîëäîëóóäàä NIS-í °°ð ñ³ëæýýíèé á³ëãýýñ øèíý ñ³ëæýýíèé á³ëýã ³³ñãýõ áîëîìæ íü òóñ áîëíî. Íýã áîëîìæ íü ³³ðýã äýýð ³íäýñëýñýí ñ³ëæýýíèé á³ëýã þì. Æèøýý íü, ÷óõàë ñåðâåð³³ä ð³³ íýâòðýõ ýðõèéã õÿíàõûí òóëä BIGSRV ãýñýí íýðòýé ñ³ëæýýíèé á³ëýã ³³ñãýæ áîëîõ áà, ÷óõàë áóñ ñåðâåð³³äèéí õóâüä °°ð SMALLSRV ãýñýí á³ðýã ³³ñãýæ, USERBOX ãýñýí ãóðàâ äàõü á³ëãèéã åðäèéí àæëûí ìàøèíóóäàä çîðèóëæ ³³ñãýæ áîëîõ þì. Ýäãýýð ñ³ëæýýíèé á³ëýã òóñ á³ð äýýðõ ãóðâàí ò°ðëèéí ìàøèíä íýâòðýõ ýðõòýé ñ³ëæýýíèé á³ëã³³äèéã àãóóëíà. NIS ñ³ëæýýíèé á³ëãèéí áóóëãàëò äàðààõ áàéäàëòàé áàéíà: BIGSRV SMALLSRV USERBOX
IT_EMP IT_EMP IT_EMP
IT_APP IT_APP ITINTERN ITINTERN USERS
Íýâòðýõ ýðõèéã õÿçãààðëàõ ýíý àðãà íü èæèë ò°ðëèéí õÿçãààðëàëòòàé ìàøèíóóäûã íýã á³ëýã áîëãîâîë èë³³ ³ð ä³íòýé àæèëëàíà. Õàðàìñàëòàé íü, çààâàë òèéì áàéõ àëáàã³é. Èõýíõ òîõèîëäîëä, ìàøèí òóñ á³ðýýð íýâòðýõ ýðõèéã õÿçãààðëàõ áîëîìæòîé áàéõ øààðäëàãà çàéëøã³é òóëãàðäàã. Ìàøèí äýýð ³íäýñëýñýí ñ³ëæýýíèé á³ëýã òîäîðõîéëîõ íü äýýðõ ìýòèéí ä³ðýì æóðàìä °°ð÷ë°ëò îðîõîä õýðýãëýæ áîëîõ õî¼ð äàõü áîëîìæ þì. Ýíý òîõèîëäîëä, ìàøèí á³ðèéí /etc/master.passwd àéë äîòîð “+”-ð ýõýëñýí õî¼ð ì°ð áè÷ëýã áàéíà. Ýõíèéõ íü ýíý ìàøèí ðóó íýâòðýõ ýðõòýé äàíñóóäààñ á³ðäñýí ñ³ëæýýíèé á³ëãèéã íýìæ °ãí°, õî¼ð äàõü íü áóñàä äàíñóóäûã /sbin/nologin á³ðõ³³ëòýéãýýð íýìíý. ѳëæýýíèé á³ëãèéí íýðèéã ìàøèíû íýðèéã “ÁÕ Ñ ÈÉ ÒÎÌÎΔ áàéõààð ñîíãîæ àâàõ íü òîõèðîìæòîé. °ð°°ð õýëáýë, ì°ð³³ä äàðààõ áàéäàëòàé õàðàãäàõ ¼ñòîé: +@BOXNAME ::::::::: +:::::::::/sbin/nologin
Á³õ ìàøèíû õóâüä äýýðõ ³éëäëèéã õèéæ äóóññàíû äàðàà, °°ðèéí /etc/master.passwd àéëûã äàõèí °°ð÷ë°õ øààðäëàãàã³é áîëíî. Áóñàä á³õ °°ð÷ë°ëò³³äèéã NIS áóóëãàëòûã °°ð÷èëñí°°ð øèéäýõ áîëíî. Äýýðõ àñóóäàëä òîõèðîõ ñ³ëæýýíèé á³ëãèéí áóóëãàëòûã çàðèì íýìýëò °°ð÷ë°ëò³³äèéí õàìò äîð æèøýý áîëãîæ ³ç³³ëýâ: # Define groups of users first IT_EMP (,alpha,test-domain) (,beta,test-domain) IT_APP (,charlie,test-domain) (,delta,test-domain) DEPT1 (,echo,test-domain) (,foxtrott,test-domain) DEPT2 (,golf,test-domain) (,hotel,test-domain) DEPT3 (,india,test-domain) (,juliet,test-domain) ITINTERN (,kilo,test-domain) (,lima,test-domain) D_INTERNS (,able,test-domain) (,baker,test-domain) # # Now, define some groups based on roles USERS DEPT1 DEPT2 DEPT3 BIGSRV IT_EMP IT_APP SMALLSRV IT_EMP IT_APP ITINTERN USERBOX IT_EMP ITINTERN USERS # # And a groups for a special tasks # Allow echo and golf to access our anti-virus-machine SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain) # # machine-based netgroups # Our main servers
785
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä WAR BIGSRV FAMINE BIGSRV # User india needs access to this server POLLUTION BIGSRV (,india,test-domain) # # This one is really important and needs more access restrictions DEATH IT_EMP # # The anti-virus-machine mentioned above ONE SECURITY # # Restrict a machine to a single user TWO (,hotel,test-domain) # [...more groups to follow]
Õýðýâ òà õýðýãëýã÷äèéíõýý äàíñûã óäèðäàõûí òóëä ÿìàð íýã °ã°ãäëèéí ñàíã àøèãëàäàã áîë, äýýðõ áóóëãàëòûí ýõíèé õýñãèéã °ã°ãäëèéí ñàíãèéíõàà òàéëàí áýëòãýõ áàãàæóóäûã àøèãëàõ ³³ñãýõ áîëîìæòîé. Ýíý çàìààð, øèíý õýðýãëýã÷èä ìàøèíóóäàä õàíäàõ ýðõèéã àâòîìàòààð îëæ àâàõ áîëíî. Ýöýñò íü àíõààðóóëæ õýëýõ íýã ç³éë áàéíà: Ìàøèí äýýð ³íäýñëýñýí ñ³ëæýýíèé á³ëãèéã õýðýãëýõèéã áàéíãà ç°âë°õã³é. Õýðýâ îþóòíû ëàáîðàòîðèä çîðèóëñàí, õýäýí àðâàí ýñâýë õýäýí çóóí íýã èæèë ìàøèíòàé àæèëëàæ áàéãàà áîë, NIS áóóëãàëòûã òîäîðõîé õýìæýýíä áàðüæ áàéõûí òóëä ìàøèí äýýð ³íäýñëýñýí ñ³ëæýýíèé á³ëãèéí îðîíä ³³ðýã äýýð ³íäýñëýñýí ñ³ëæýýíèé á³ëãèéã õýðýãëýõ õýðýãòýé. 29.4.8
Ñàíàæ ÿâàõ ÷óõàë ç³éëñ
NIS îð÷èíä îðîîä, °°ð°°ð õèéõ ¼ñòîé õýä õýäýí ç³éëñ áàéíà. •
Ëàáîðàòîðèä øèíý õýðýãëýã÷ íýìýõ á³ðäýý ç°âõ°í ýçýí NIS ñåðâåðò íýìýõ ¼ñòîé, áà NIS áóóëãàëòûã çààâàë äàõèí ³³ñãýõ ¼ñòîé . Õýðýâ èíãýõýý ìàðòâàë, øèíý õýðýãëýã÷ ýçýí NIS ñåðâåðýýñ °°ð õààøàà ÷ íýâòýð÷ ÷àäàõã³é áîëíî. Æèøýý íü, áèä jsmith ãýñýí øèíý õýðýãëýã÷èéã ëàáîðàòîðèä íýìýõ áîëëîî: # pw useradd jsmith # cd /var/yp # make test-domain
í îðîíä adduser jsmith-ã ì°í õýðýãëýæ áîëíî. Àäìèíèñòðàòîð ýðõòýé äàíñóóäûã NIS áóóëãàëòàä îðóóëàõ ¼ñã³é . Àäìèíèñòðàòîð ýðõýýð îðîõ ¼ñã³é õýðýãëýã÷äèéí ìàøèí äýýð àäìèíèñòðàòîð ýðõòýé äàíñóóä áîëîí íýâòðýõ ³ã³³äèéã òàðààõ õ³ñýëã³é áàéãàà áèç äýý. NIS ýçýí áîëîí çàðö ñåðâåðèéí àþóëã³é áàéäëûã õàíãàæ, àæèëëàõã³é áàéõ õóãàöààã áàãàñãàõ õýðýãòýé . Õýðýâ õýí íýã íü ñåðâåðò íóóöààð íýâòýð÷, ýñâýë óíòðààæ îðõèâîë õ³ì³³ñèéã ëàáîðàòîðûí ìàøèíóóä ðóó íýâòðýõ áîëîìæã³é áîëãîæ, ñààä áîëîõ áîëíî. Ýíý íü ÿìàð ÷ ò°âë°ðñ°í óäèðäàõ ñèñòåìèéí ãîë ñóë òàë þì. Õýðýâ òà °°ðèéí NIS ñåðâåðèéã õàìãààëàõã³é áîë, òà ìàø îëîí óóðòàé õýðýãëýã÷èäòýé òààðàõ áîëíî ø³³! pw useradd jsmith-
•
•
786
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
29.4.9 NIS v1
íèéöòýé áàéäàë
FreeBSD-í ypserv íü NIS v1 õàðèëöàã÷äàä ³éë÷ëýõ çàðèì äýìæèã÷òýé èðäýã. FreeBSD-í NIS íü ç°âõ°í NIS v2 ïðîòîêîëûã õýðýãëýäýã, ãýõäýý áóñàä íü õóó÷èí ñèñòåì³³äòýé íèéöòýé àæèëëàõûí òóëä v1 ïðîòîêîëûã äýìæäýã áàéõààð á³òýýãäñýí áàéäàã. Ýäãýýð ñèñòåìòýé õàìò èðñýí ypbind äýìîíóóä õýäèéãýýð ³íýí õýðýã äýýðýý õýçýý ÷ õýðýãëýõã³é áîëîâ÷ NIS v1 ñåðâåðòýé õîëáîëò ³³ñãýõèéã îðîëääîã (áà v2 ñåðâåðýýñ õàðèó õ³ëýýæ àâñàí ÷ °ðã°í öàöàëò õèéæ õàéëòàà ³ðãýëæë³³ëäýã òàëòàé). Õýäèéãýýð åðäèéí õàðèëöàã÷èéí õ³ñýëòèéã äýìæäýã áîëîâ÷, ypserv-í ýíý õóâèëáàð v1 áóóëãàëòûã ç°°õ õ³ñýëòòýé àæèëëàæ ÷àäàõã³é; èéìýýñ, ç°âõ°í v1 ïðîòîêîëûã äýìæäýã õóó÷èí NIS ñåðâåð³³äòýé õîëáîîòîéãîîð ýçýí ýñâýë çàðö áàéäëààð àæèëëàæ ÷àäàõã³é. Àç áîëîõîä, èéì ñåðâåðèéã îäîî õýðýãëýæ áàéãàà ãàçàð áàéõã³é.
29.4.10 NIS
Ñåðâåð ì°ðòë°° NIS Õàðèëöàã÷
Ñåðâåð ìàøèí íü ì°í NIS õàðèëöàã÷ áàéäëààð àæèëëàäàã îëîí ñåðâåðòýé äîìýéíä ypserv-ã àæèëëóóëàõäàà àíõààðàëòàé áàéõ õýðýãòýé. Èéì ñåðâåðèéã °ðã°í öàöàëò õèéëãýæ, °°ð íýã ñåðâåðòýé õîëáîî òîãòîîõûã ç°âø°°ð°õèéí îðîíä °°ð°° °°ðòýé íü õ³÷ýýð õîëáîõ íü èõýâ÷ëýí äýýð áàéäàã. Õýðýâ íýã ñåðâåð óíòàð÷, áóñàä ñåðâåð³³ä ò³³íýýñ õàìààðàëòàé áàéõ þì áîë õà÷èí àëäààíóóä ãàð÷ áîëçîøã³é. Ýöýñò íü á³õ õàðèëöàã÷äûí õ³ëýýõ õóãàöàà äóóñàæ, á³ãä °°ð ñåðâåðòýé õîëáîãäîõûã îðîëäîõ áîëíî. Õýäèéãýýð á³õ ñåðâåð³³ä õîëáîëòóóäàà ñýðãýýæ áóöààä õýâèéí áàéäàëäàà îðñîí ÷, ñààòëààñ áîëæ õàðèëöàã÷èä õîëáîãäîæ ÷àäàõã³é õýâýýð áàéõ áîëíî. Õîñòûã ÿìàð íýã ñåðâåðòýé õîëáîãäîõûã ypbind òóøààëûã -S òóãèéí õàìò àæèëëóóëæ, óðäààñ çààæ °ã÷ áîëíî. Õýðýâ NIS ñåðâåðèéã äàõèí à÷ààëàõ òîîëîíä ýíý òóøààëûã ãàðààð îðóóëàõ õ³ñýëã³é áàéãàà áîë, äàðààõ ì°ð³³äèéã °°ðèéí /etc/rc.conf àéë äîòîð íýìýýðýé: nis_client_enable="YES" # run client stuff as well nis_client_flags="-S NIS domain,server"
Äýëãýðýíã³é ìýäýýëëèéã ypbind(8) çààâàð õóóäàñíààñ ³çíý ³³. 29.4.11
Íýâòðýõ ³ãèéí õýëáýð
NIS-ã çîõèîí áàéãóóëàõ ÿâöàä èõýâ÷ëýí òîõèîëääîã àñóóäëóóäûí íýã áîë íýâòðýõ ³ãèéí õýëáýðèéí íèéöã³é áàéäàë þì. Õýðýâ òàíû NIS ñåðâåð DES õóâèðãàëòòàé íýâòðýõ ³ãèéã õýðýãëýäýã áîë, ç°âõ°í DES õýðýãëýäýã õàðèëöàã÷èä ³éë÷ëýõ ÷àäâàðòàé. Æèøýýëáýë, õýðýâ ñ³ëæýýíä ÷èíü Solaris NIS õàðèëöàã÷èä áàéãàà áîë, òà áàðàã ë DES õóâèðãàëòòàé íýâòðýõ ³ã õýðýãëýõ øààðäëàãàòàé ãýñýí ³ã.
Òàíû ñåðâåð áîëîí õàðèëöàã÷èä ÿìàð õýëáýðèéí íýâòðýõ ³ã õýðýãëýäãèéã øàëãàõäàà /etc/login.conf àéëûã ³çýýðýé. Õýðýâ òóõàéí õîñò DES õóâèðãàëòòàé íýâòðýõ ³ã õýðýãëýäýã áîë, default áóþó àíõäàã÷ àíãèëàë íü äàðààõ ì°ð³³äèéã àãóóëñàí áàéõ áîëíî: default:\ :passwd_format=des:\ :copyright=/etc/COPYRIGHT:\ [Further entries elided] passwd_format
³ãèéí õóâüä).
íü °°ð blf áà md5 ãýñýí óòãóóäûã àâ÷ áîëíî (Blowfish áîëîí MD5 õóâèðãàëòòàé íýâòðýõ
787
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Õýðýâ òà /etc/login.conf àéëä °°ð÷ë°ëò õèéñýí áîë, íýâòðýõ ÷àäâàðûí ñàíã äàõèí ³³ñãýõ øààðäëàãàòàé. ³íèé òóëä äàðààõ òóøààëûã root ýðõýýð °ã°õ õýðýãòýé: # cap_mkdb /etc/login.conf
Note: /etc/master.passwd àéë äîòîð àëü õýäèéí ³³ññýí íýâòðýõ ³ãèéí õýëáýð íü õýðýãëýã÷ íýâòðýõ ÷àäâàðûí ñàí äàõèí ³³ññýíýýñ õîéø àíõ óäàà íýâòðýõ ³ãýý ñîëèõ õ³ðòýë °°ð÷ë°ãä°õã³é.
Ì°í, òàíû ñîíãîñîí õýëáýðýýð íýâòðýõ ³ã³³äýä õóâèðãàëò õèéãääýã áîëãîõûí òóëä, /etc/auth.conf àéë äîòîðõ crypt_default óòãà òàíû ñîíãîñîí õýëáýðèéã õàìãèéí ò³ð³³íä îðóóëñàí áàéãàà ýñýõèéã øàëãàõ õýðýãòýé. Æèøýý íü, DES õóâèðãàëòòàé íýâòðýõ ³ãèéã õýðýãëýõ ³åä: crypt_default = des blf md5
FreeBSD äýýð òóëãóóðëàñàí NIS ñåðâåð áîëîí õàðèëöàã÷ á³ð äýýð äýýðõ ³éëäë³³äèéã õèéñíýýð, íýâòðýõ ³ãèéí õýëáýð á³ãä òààð÷ áàéãàà ãýäýãò ñàíàà àìàð áàéæ áîëíî. Õýðýâ NIS õàðèëöàã÷ äýýð íýâòýð÷ îðîõîä àñóóäàë ãàðâàë, àñóóäëûã òîäðóóëàõ íýã ãàçàð áàéíà. Õýðýâ òà õîëèìîã ñ³ëæýýíèé õóâüä NIS ñåðâåð áîñãîõ ãýæ áàéãàà áîë, èõýíõ ñèñòåì äýýð çàéëøã³é áàéõ õàìãèéí áàãà ñòàíäàðò òóë, á³õ ñèñòåì³³ä äýýðýý DES àøèãëàõ õýðýãòýéã ñàíààðàé.
29.5
Àâòîìàò ѳëæýýíèé Òîõèðãîî (DHCP)
Áè÷ñýí ðåã Ñàòòåð. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 29.5.1 DHCP
ãýæ þó âý?
DHCP, Dynamic Host Configuration Protocol áóþó Äèíàìèê Õîñòûí Òîõèðãîîíû Ïðîòîêîë íü ñèñòåì ÿìàð áàéäëààð ñ³ëæýýíä õîëáîãäîõ, òóõàéí ñ³ëæýýíä õàðèëöààíä îðîõûí òóëä øààðäàãäàõ ìýäýýëëèéã õýðõýí îëæ àâàõûã çààæ °ãä°ã. FreeBSD-í 6.0-ñ °ìí°õ õóâèëáàðóóä ISC (Internet Software Consortium) DHCP õàðèëöàã÷èéã (dhclient(8)) õýðýãëýäýã. Õàìãèéí ñ³³ëèéí õóâèëáàð äýýð OpenBSD 3.7-ñ àâñàí OpenBSD-í dhclient-ã õýðýãëýäýã. Ýíý á³ëýãò ãàðàõ dhclient-ð ISC áà OpenBSD DHCP õàðèëöàã÷èéã õî¼óëàíã íü ò°ë°°ë³³ëñýí áîëíî. DHCP ñåðâåðèéí õóâüä ISC òàðõàöûí ñåðâåðèéã àâ÷ ³çýõ áîëíî.
29.5.2
Ýíý õýñýãò àâ÷ ³çýõ ç³éëñ
Ýíý õýñýãò ISC áà OpenBSD DHCP õàðèëöàã÷èéí õàðèëöàã÷ òàëûã á³òýýæ áàéãàà ýëåìåíò³³ä, áîëîí ISC DHCP ñèñòåìèéí ñåðâåð òàëûã á³òýýæ áàéãàà ýëåìåíò³³äèéã õî¼óëàíã íü àâ÷ ³çýõ áîëíî. Õàðèëöàã÷ òàëûí ïðîãðàì, dhclient, íü FreeBSD-òýé íýãäìýë áàéäëààð èðäýã áîë, ñåðâåð òàëûí õýñýã íü net/isc-dhcp3-server ïîðòîîñ ñóóëãàõ áîëîìæòîé áàéäëààð èðäýã. dhclient(8), dhcp-options(5), áà dhclient.conf(5) çààâàð õóóäñóóä áîëîí äîîð °ã°ãäñ°í ç°âë°ìæ³³ä íü õýðýã áîëíî.
788
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
29.5.3
Õýðõýí àæèëëàäàã âý?
Õàðèëöàã÷ ìàøèí äýýð dhclient DHCP õàðèëöàã÷èéã àæèëëóóëàõàä, òîõèðãîîíû ìýäýýëëèéã õ³ññýí õ³ñýëòèéã öàöàæ ýõýëíý. Àíõäàã÷ áàéäëààð, ýäãýýð õ³ñýëò³³ä íü UDP 68-ð ïîðòîîñ ãàð÷, ñåðâåðèéí UDP 67 ïîðò ðóó èëãýýãäýíý. Ñåðâåð õàðèëöàã÷èä IP õàÿã áîëîí ñ³ëæýýíèé áàã, ÷èãë³³ëýã÷, DNS ñåðâåðèéí õàÿã çýðýã õýðýãòýé ìýäýýëëèéã õàðèó èëãýýíý. Ýíý á³õ ìýäýýëëèéã DHCP “ò³ðýýñëýõ” õýëáýðýýð °ã°õ áà ç°âõ°í òîäîðõîé õóãàöààíû òóðøèä õ³÷èíòýé áàéíà (DHCP ñåðâåðèéã õàðèóöàã÷ òîõèðóóëæ °ãñ°í áàéíà). Èéì áàéäëààð, ñ³ëæýýíä õîëáîãäîõîî áîëüñîí õàðèëöàã÷èéí àøèãëàãäààã³é IP õàÿãóóäûã àâòîìàòààð áóöààæ àâàõ áîëîìæòîé áîëíî. DHCP õàðèëöàã÷ ñåðâåðýýñ °ðã°í ìýäýýëëèéã àâ÷ ÷àäíà. Á³ðýí æàãñààëòûã dhcp-options(5)-ñ îëæ ³çýæ áîëíî.
òýé íýãäìýë áàéäàë
29.5.4 FreeBSD-
FreeBSD íü ISC ýñâýë OpenBSD DHCP õàðèëöàã÷, dhclient-ã °°ðòýéã°° á³ðýí íýãòãýñýí áàéäàã (FreeBSD õóâèëáàðààñ õàìààðàí). DHCP ñåðâåð àæèëëàæ áàéãàà ñ³ëæýýíä ñ³ëæýýíèé òîõèðãîîã õèéõ íàðèéí ÷èìõë³³ð àæëààñ õ°íã°â÷ë°õ ³³äíýýñ, DHCP õàðèëöàã÷èéã ñèñòåì ñóóëãàã÷ áîëîí ³íäñýí ñèñòåìèéí àëü àëèíä õàìò îðóóëæ °ãñ°í áàéäàã. dhclient íü FreeBSD-í 3.2-ñ õîéøèõ á³õ òàðõàöóóäàä íýãòãýãäñýí áàéãàà.
sysinstall íü DHCP-ã äýìæäýã. sysinstall-ð ñ³ëæýýíèé èíòåðýéñèéã òîõèðóóëàõàä àñóóäàã õî¼ð äàõü àñóóëò áîë: “Òà ýíý èíòåðýéñèéã DHCP-ð òîõèðóóëàõûã õ³ñýæ áàéíà óó?”. Ç°âø°°ðñ°í õàðèóëò °ãñ°í òîõèîëäîëä dhclient-ã àæèëëóóëàõ á°ã°°ä, õýðýâ àìæèëòòàé áîë ñ³ëæýýíèé òîõèðãîî àâòîìàòààð õèéãäýíý. Ñèñòåì à÷ààëàõ ³åä DHCP àøèãëàäàã áîëãîõûí òóëä, õî¼ð ç³éëèéã õèéõ õýðýãòýé:
ò°õ°°ð°ìæ ö°ìòýé õàìò ýìõýòãýãäñýí áàéõ ¼ñòîé. ³íèé òóëä, device bpf ì°ðèéã ö°ìèéí òîõèðãîîíû àéëä íýìæ áè÷ýýä ö°ìèéã äàõèí á³òýýõ õýðýãòýé. Ö°ìèéã á³òýýõ òàëààð äýëãýðýíã³é ìýäýýëëèéã Chapter 8 õýñãýýñ àâíà óó. bpf ò°õ°°ð°ìæ íü FreeBSD-í GENERAL ö°ìèéí íýã õýñýã á°ã°°ä, DHCP-ã àæèëëóóëàõûí òóëä òóñãàéëàí øèíýýð ö°ì á³òýýõ øààðäëàãàã³é.
• bpf
Note: Àþóëã³é áàéäëûí òàëààð ñýòãýë çîâíèäîã õ³ì³³ñò ç°âë°õ°ä, bpf íü ïàêåò øèíøëýã÷äèéã ç°â àæèëëàõ áîëîìæèéã îëãîäîã ò°õ°°ð°ìæ áîëîõûã àíõààðàëäàà àâíà óó (õýäèéãýýð òýäãýýð ïðîãðàì àæèëëàõûí òóëä root ýðõ õýðýãòýé áîëîâ÷). DHCP-ã àøèãëàõûí òóëä bpf çààâàë õýðýãòýé, ãýâ÷ õýðýâ òà àþóëã³é áàéäëûã ìàø èõýýð àíõààðàëäàà àâäàã áîë, ç°âõ°í õýçýý íýãýí öàãò DHCP-ã àøèãëàõûí òóëä bpf-ã ö°ìä íýìýõ õýðýãã³é.
• /etc/rc.conf
àéëûã íýýãýýä äàðààõ ì°ðèéã íýìæ áè÷íý:
ifconfig_fxp0="DHCP" Note: Section 11.8-ä òàéëáàðëàñàí ¼ñîîð, fxp0-ã ñîëüæ áè÷íý.
äèíàìèêààð òîõèðóóëàõ ãýæ áàéãàà èíòåðýéñèéí íýðýýð
789
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Õýðýâ òàíû dhclient °°ð ãàçàð áàéãàà áîë, ýñâýë õýðýâ òà dhclient-ã íýìýëò òóãóóäûí õàìò àæèëëóóëàõ õ³ñýëòýé áîë, äàðààõ ì°ð³³äèéã íýìæ áè÷íý ³³ (ýñâýë øààðäëàãàòàé õýñãèéã çàñàæ áè÷íý ³³): dhclient_program="/sbin/dhclient" dhclient_flags=""
DHCP ñåðâåð dhcpd íü ïîðòóóäûí öóãëóóëãàä áàéãàà net/isc-dhcp3-server ïîðòûí íýã õýñýã áàéäëààð èðäýã. Ýíý ïîðò íü ISC DHCP ñåðâåð áîëîí ò³³íèé áàðèìòóóäûã àãóóëñàí áàéäàã.
29.5.5
Ôàéëóóä
• /etc/dhclient.conf
íü /etc/dhclient.conf ãýñýí òîõèðãîîíû àéëûã øààðääàã. Èõýâ÷ëýí ýíý àéë ç°âõ°í òàéëáàðóóäààñ á³ðäýõ áà àíõäàã÷ óòãóóä íü õàðüöàíãóé °°ð÷ë°õ øààðäëàãàã³éãýýð °ã°ãäñ°í áàéäàã. Ýíý òîõèðãîîíû àéëûã dhclient.conf(5) çààâàð õóóäñàíä òàéëáàðëàñàí áàéãàà. dhclient
• /sbin/dhclient
íü ñòàòèêààð õîëáîãäñîí áàéõ áà /sbin äîòîð áàéðëàíà. dhclient(8) õóóäàñíààñ dhclient-í òàëààð äýëãýðýíã³é ìýäýýëëèéã àâíà óó.
dhclient
• /sbin/dhclient-script
íü ç°âõ°í FreeBSD-ä áàéäàã, DHCP õàðèëöàã÷èéã òîõèðóóëàõ çîðèóëàëòòàé òóñãàé ñêðèïò þì. Ýíý ñêðèïòèéã dhclient-script(8) çààâàð õóóäñàíä òàéëáàðëàñàí áàéõ áà, àæèëëóóëàõûí òóëä õýðýãëýã÷ ÿìàð íýã çàñâàð õèéõ øààðäëàãàã³é.
dhclient-script
• /var/db/dhclient.leases
DHCP õàðèëöàã÷ íü ò³ðýýñýëæ àâñàí õàÿãóóäàà àãóóëñàí °ã°ãäëèéí ñàíã ýíý àéëä õàäãàëàõ á°ã°°ä á³ðòãýë ìàÿãààð áè÷äýã. dhclient.leases(5) õýñýãò èë³³ äýëãýðýíã³é òàéëáàð áèé.
29.5.6
³íçãèéð³³ëýí óíøèõ
DHCP ïðîòîêîë íü á³ðýí õýìæýýãýýð RFC 2131 (http://www.freesoft.org/CIE/RFC/2131/)-ä òîäîðõîéëîãäñîí áàéäàã. Íýìýëò ýõ ³³ñâýð³³ä http://www.dhcp.org/-ä ì°í áèé.
29.5.7 DHCP
Ñåðâåðèéã Ñóóëãàõ áîëîí Òîõèðóóëàõ
29.5.7.1 Ýíý õýñýãò àâ÷ ³çýõ ç³éëñ
Ýíý õýñýãò ISC (Internet Software Consortium) DHCP ñåðâåðèéã àøèãëàí FreeBSD ñèñòåìèéã õýðõýí DHCP ñåðâåð áàéäëààð àæèëëóóëàõ òàëààð àâ÷ ³çýõ áîëíî. Ñåðâåð íü FreeBSD-í íýã õýñýã áàéäëààð èðäýãã³é á°ã°°ä èéì ³éë÷èëãýý ³ç³³ëýõèéí òóëä net/isc-dhcp3-server ïîðòûã ñóóëãàõ õýðýãòýé áîëäîã. Ïîðòóóäûí öóãëóóëãûí õýðõýí àøèãëàõ òàëààð Chapter 4 õýñãýýñ äýëãýðýíã³é ìýäýýëëèéã àâíà óó.
790
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä 29.5.7.2 DHCP Ñåðâåðèéã ñóóëãàõ íü
FreeBSD ñèñòåìèéã DHCP ñåðâåð áàéäëààð òîõèðóóëàõûí òóëä, bpf(4) ò°õ°°ð°ìæ ö°ìä ýìõýòãýãäñýí áàéõ ¼ñòîé. ³íèé òóëä, ö°ìèéí òîõèðãîîíû àéë äîòîð bpf ò°õ°°ð°ìæèéã íýìýýä ö°ìèéã äàõèí á³òýýõ õýðýãòýé. Ö°ìèéã á³òýýõ òàëààð äýëãýðýíã³é ìýäýýëëèéã Chapter 8 õýñãýýñ ³çíý ³³. bpf ò°õ°°ð°ìæ íü FreeBSD-í GENERAL ö°ìèéí íýã õýñýã á°ã°°ä, DHCP-ã àæèëëóóëàõûí òóëä òóñãàéëàí øèíýýð ö°ì á³òýýõ øààðäëàãàã³é. Note: Àþóëã³é áàéäëûí òàëààð ñýòãýë çîâíèäîã õ³ì³³ñò
ç°âë°õ°ä, bpf íü ïàêåò øèíøëýã÷äèéã ç°â àæèëëàõ áîëîìæèéã îëãîäîã ò°õ°°ð°ìæ áîëîõûã àíõààðàëäàà àâíà óó (õýäèéãýýð òýäãýýð ïðîãðàì àæèëëàõûí òóëä root ýðõ õýðýãòýé áîëîâ÷). DHCP-ã àøèãëàõûí òóëä bpf çààâàë õýðýãòýé, ãýâ÷ õýðýâ òà àþóëã³é áàéäëûã ìàø èõýýð àíõààðàëäàà àâäàã áîë, ç°âõ°í õýçýý íýãýí öàãò DHCP-ã àøèãëàõûí òóëä bpf-ã ö°ìä íýìýõ õýðýãã³é.
³íèé äàðàà net/isc-dhcp3-server ïîðòòîé õàìò èðñýí æèøýý dhcpd.conf àéëûã çàñàõ õýðýãòýé. Àíõäàã÷ áàéäëààð, /usr/local/etc/dhcpd.conf.sample ãýñýí àéë áàéõ áà °°ð÷ë°ëò õèéõèéíõýý °ìí° ýíý àéëûã /usr/local/etc/dhcpd.conf íýðòýéãýýð õóóëæ òàâèõ õýðýãòýé. 29.5.7.3 DHCP Ñåðâåðèéã òîõèðóóëàõ
íü äýä ñ³ëæýý áîëîí õîñòóóäòàé õîëáîîòîé °ã°ãä°ë çàðëàëòààñ á³ðäýõ áà æèøýýí äýýð òàéëáàðëàâàë èë³³ àìàðõàí áàéõ áîëîâ óó: dhcpd.conf
option domain-name "example.com";➊ option domain-name-servers 192.168.4.100;➋ option subnet-mask 255.255.255.0;➌ default-lease-time 3600;➍ max-lease-time 86400;➎ ddns-update-style none;➏ subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.129 192.168.4.254;➐ option routers 192.168.4.1;➑ } host mailhost { hardware ethernet 02:03:04:05:06:07;➒ fixed-address mailhost.example.com;(10) }
➊ ➋ ➌ ➍
Ýíý òîõèðóóëãà íü àíõäàã÷ õàéëòûí äîìýéí áàéäëààð õàðèëöàã÷èä °ã°õ äîìýéíûã çààíà. Ýíý òàëààð äýëãýðýíã³é ìýäýýëëèéã resolv.conf(5) õýñãýýñ ³çíý ³³. Ýíý òîõèðóóëãà íü õàðèëöàã÷èéí õýðýãëýõ ¼ñòîé DNS ñåðâåð³³äèéã òàñëàëààð õîëáîñîí æàãñààëò áàéíà. Õýðýãëýã÷èä °ã°õ ñ³ëæýýíèé áàãèéã çààíà. Ò³ðýýñëýëò (lease) õ³÷èíòýé áàéõ òèéì òóñãàé õóãàöààã õàðèëöàã÷ õ³ñýæ áîëîõ þì. Õýðýâ õàðèëöàã÷ õ³ñýýã³é áîë ñåðâåð ýíä çààñàí äóóñàõ õóãàöààãààð (ñåêóíäýýð) ò³ðýýñ õèéõ áîëíî.
791
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Ñåðâåðèéí ò³ðýýñë³³ëýõ õàìãèéí äýýä õóãàöààã çààíà. Õàðèëöàã÷ ³³íýýñ óðò õóãàöààãààð ò³ðýýñëýõ õ³ñýëò òàâèáàë õ³ñýëòèéã õ³ëýýæ àâàõ áîëîâ÷ ç°âõ°í max-lease-time ñåêóíäûí òóðøèä õ³÷èíòýé áàéíà. ➏ Ò³ðýýñëýõ áîëîí ýðã³³ëæ àâàõàä DHCP ñåðâåð DNS-ã øèíý÷ëýõèéã îðîëäîõ øààðäëàãàòàé ýñýõèéã çààæ °ãí°. ISC øèéäëèéí õóâüä, ýíý òîõèðóóëãà çààâàë áàéõ ¼ñòîé. ➐ Õàðèëöàã÷èä îíîîõ IP õàÿãóóäûí õ³ðýýã çààíà. Ýíý õ³ðýýíä áàãòàõ IP õàÿãóóäûã õàðèëöàã÷èä °ã°õ áîëíî. ➑ Õàðèëöàã÷èä °ã°õ àíõäàã÷ ãàðöûã çààíà. ➒ Õîñòûí MAC õàÿãèéã çààíà (èíãýñíýýð DHCP ñåðâåð òóõàéí õîñòûã õ³ñýëò òàâèõàä òàíüæ ÷àäíà). (10) Õîñòîä òîãòìîë IP õàÿã îíîîõûã çààíà. Ýíä õîñòûí íýðèéã õýðýãëýæ áîëîõûã òýìäýãëýõ õýðýãòýé. DHCP ñåðâåð IP õàÿã ò³ðýýñë³³ëýõ õàðèóã °ã°õ°°ñ °ìí° õîñò íýðèéã òàéëàõ áîëíî. dhcpd.conf àéëûã áè÷èæ äóóññàíû äàðàà, /etc/rc.conf àéë äîòîð DHCP ñåðâåðèéã èäýâõæ³³ëýõ õýðýãòýé, °°ð°°ð õýëáýë äîîðõ ì°ð³³äèéã íýìæ áè÷èõ õýðýãòýé: ➎
dhcpd_enable="YES" dhcpd_ifaces="dc0" dc0-ã °°ðèéí òàíü DHCP ñåðâåð DHCP õàðèëöàã÷äûí õ³ñýëòèéã õ³ëýýæ àâàõ ¼ñòîé èíòåðýéñèéí íýðýýð (ýñâýë èíòåðýéñ³³äèéã çàéãààð òóñãààðëàí) ñîëüæ áè÷èõ õýðýãòýé. Äàðàà íü, äîîðõ òóøààëûã °ã°í ñåðâåðèéã àæèëëóóëàõ õýðýãòýé: # /usr/local/etc/rc.d/isc-dhcpd.sh start
Ñåðâåðèéíõýý òîõèðãîîíû àéëä °°ð÷ë°ëò îðóóëàõ á³ðäýý, SIGHUP äîõèîã dhcpd-ä °ã°õ íü áóñàä äýìîíóóäûí õóâüä òîõèðãîîã äàõèí äóóääàã øèã áèø õàðèí òîõèðãîîã äàõèí à÷ààëàõã³é áîëîõûã àíõààðàõ õýðýãòýé. Ïðîöåññèéã çîãñîîõûí òóëä SIGTERM äîõèîã °ã°õ õýðýãòýé áà äýýðõ òóøààëûã °ã°í äàõèí ýõë³³ëýõ õýðýãòýé. 29.5.7.4 Ôàéëóóä • /usr/local/sbin/dhcpd
dhcpd íü ñòàòèêààð õîëáîãäñîí áàéõ áà /usr/local/sbin äîòîð áàéðëàíà. Ïîðòòîé õàìò ñóóñàí dhcpd(8) çààâàð õóóäàñíààñ dhcpd-í òàëààð äýëãýðýíã³é ìýäýýëëèéã àâíà óó. • /usr/local/etc/dhcpd.conf
dhcpd íü /usr/local/etc/dhcpd.conf ãýñýí òîõèðãîîíû àéëûã øààðääàã. Ýíý àéë äîòîð
õàðèëöàã÷èä °ã°õ á³õ ìýäýýëëýýñ ãàäíà ñåðâåðèéí °°ðèéí ³éë àæèëëàãààòàé õîëáîîòîé ìýäýýëýë áàéõ ¼ñòîé. Ýíý òîõèðãîîíû àéëûã ïîðòîîñ ñóóñàí dhcpd.conf(5) çààâàð õóóäñàíä òàéëáàðëàñàí áàéãàà.
• /var/db/dhcpd.leases
DHCP ñåðâåð íü ò³ðýýñë³³ëñýí õàÿãóóäàà àãóóëñàí °ã°ãäëèéí ñàíã ýíý àéëä õàäãàëàõ á°ã°°ä á³ðòãýë ìàÿãààð áè÷äýã. Ïîðòîîñ ñóóñàí dhcpd.leases(5) çààâàð õóóäñàíä èë³³ äýëãýðýíã³é òàéëáàð áèé. • /usr/local/sbin/dhcrelay
792
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä dhcrelay-ã íýã DHCP ñåðâåð õàðèëöàã÷ààñ õ³ëýýí àâñàí õ³ñýëòèéã °°ð ñ³ëæýýíä áàéãàà í°ã°° DHCP ñåðâåð ð³³ äàìæóóëäàã, íàðèéí á³òýöòýé îð÷èíä õýðýãëýíý. Õýðýâ ýíý óíêöûã àøèãëàõ øààðäëàãàòàé áîë, net/isc-dhcp3-relay ïîðòûã ñóóëãààðàé. Ïîðòòîé õàìò èðýõ dhcrelay(8) çààâàð õóóäàñíààñ äýëãýðýíã³é ìýäýýëëèéã àâíà óó.
29.6
Äîìýéí Íýðèéí Ñèñòåì (DNS)
Õóâü íýìðýý îðóóëñàí Øåðí Ëèé, Òîì îäåñ, and Äàíèýë ýðçî. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 29.6.1
Óäèðòãàë
FreeBSD àíõäàã÷ áàéäëààð DNS ïðîòîêîëûí õàìãèéí °ðã°í õýðýãëýãääýã õýðýãæ³³ëýëò áîëîõ BIND (Berkeley Internet Name Domain)-í àëü íýã õóâèëáàðûã àãóóëñàí áàéäàã. DNS íü íýð³³äèéã IP õàÿãóóä ðóó, ì°í ýñðýãýýð íü áóóëãàõàä õýðýãëýãääýã ïðîòîêîë þì. Æèøýý íü, www.FreeBSD.org-ã àñóóñàí DNS àñóóëãà ÿâóóëàõàä, õàðèóä íü FreeBSD Ò°ñ°ëèéí âýá ñåðâåðèéí IP õàÿã èðýõ áîë, ftp.FreeBSD.org-í õóâüä àñóóëãà ÿâóóëàõàä, õàðèóä íü õàðãàëçàõ FTP ìàøèíû IP õàÿã èðýõ áîëíî. ßã ³³íòýé àäèëààð ýñðýãýýð íü õèéæ áîëíî. ßìàð íýã IP-ð àñóóëãà ÿâóóëàõàä ò³³íèé õîñò íýðèéã îëæ áîëíî. DNS õàéëò õèéõèéí òóëä òóõàéí ñèñòåìä äîìýéí íýðèéí ñåðâåð àæèëëàæ áàéõ ¼ñòîé.
FreeBSD íü îäîî BIND9 DNS ñåðâåð ïðîãðàìûí õàìò èðäýã áîëñîí. Áèäíèé ñóóëãàö íü àéë ñèñòåìèéí øèíý÷èëñýí çîõèîí áàéãóóëàëò, àâòîìàò chroot(8) òîõèðãîî çýðýã àþóëã³é áàéäëûã äýýä çýðãýýð õàíãàõ óíêö³³äòýé èðäýã. DNS áîë Èíòåðíýò äýýð òóëãóóðëàñàí, á³ðýí ýðõò root áóþó ýõ ñåðâåð, Top Level Domain áóþó Äýýä Ò³âøíèé Äîìýéí (TLD) ñåðâåð, áîëîí äîìýéí òóñ á³ðèéí ìýäýýëëèéã àãóóëæ áàéäàã áóñàä æèæèã íýðèéí ñåðâåð³³äýýñ á³òñýí íàðèéí ò°â°ãòýé ñèñòåì þì. BIND îäîî Internet Software Consortium http://www.isc.org/-í ìýäýëä áàéäàã.
29.6.2
Íýð Òîìú¼î
Ýíý áàðèìòûã îéëãîõûí òóëä, DNS-òýé õîëáîîòîé çàðèì íýð òîìú¼îã îéëãîñîí áàéõ øààðäëàãàòàé.
Íýð
Òàéëáàð Õîñò íýðèéã IP õàÿã ðóó áóóëãàíà.
Origin áóþó ³ñýë named, BIND, íýðèéí
Òóõàéí á³ñèéí àéëä õàìðàãäàæ áàéãàà äîìýéíûã çààíà. FreeBSD-í BIND íýðèéí ñåðâåðèéã íýðëýõ ò³ãýýìýë íýðøèë.
Resolver áóþó Òàéëàã÷
Ìàøèí, á³ñèéí ìýäýýëëèéí òàëààð íýðèéí ñåðâåðýýñ àñóóëãà ÿâóóëàõûí òóëä àøèãëàäàã ñèñòåìèéí ïðîöåññ. Åðäèéí DNS-í óðâóó íü; IP õàÿãèéã õîñò íýð ð³³ áóóëãàíà. Èíòåðíýò á³ñèéí øàòëàëûí ýõëýë. Ôàéë ñèñòåìèéí á³õ àéëóóä ýõ ñàíä õàðúÿàëàãääàã øèã, á³õ á³ñ³³ä ýõ á³ñýä õàðúÿàëàãäàíà.
Forward áóþó Åðäèéí DNS
ñåðâåð
Reverse áóþó Óðâóó DNS Root zone áóþó Ýõ á³ñ
793
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Íýð
Zone áóþó Á³ñ
Òàéëáàð Íýã á³ðýí ýðõò ãàçðààð óäèðäóóëæ áàéãàà äîìýéí, äýä äîìýéí, ýñâýë DNS-í íýã õýñýã.
Á³ñ³³äèéí æèøýý: áîë ýõ á³ñ. • org. áîë ýõ á³ñèéí äîîðõ Top Level Domain áóþó Äýýä Ò³âøíèé Äîìýéí (TLD). • example.org. áîë org. TLD-í äîîðõ á³ñ. • 1.168.192.in-addr.arpa áîë 192.168.1.* IP õ³ðýýíä áàãòàæ áàéãàà á³õ IP õàÿãóóäûã àãóóëñàí á³ñ. Õîñò íýð ç³³í òàë ðóóãàà ÿâàõ òóñàì èë³³ òîäîðõîé áîëæ áàéãààã òà á³õýí àíçààðñàí áàéõ. Æèøýýëáýë, example.org. íü org.-ñ èë³³ òîäîðõîé, õàðèí org. íü ýõ á³ñýýñ èë³³ òîäîðõîé áàéíà. Õîñò íýðèéí çîõèîí áàéãóóëàëò íü àéë ñèñòåìèéíõòýé ò°ñòýé: /dev äèðåêòîð íü ýõ äèðåêòîðò õàðúÿàëàãäàíà, ãýõ ìýò. • .
29.6.3
Íýðèéí Ñåðâåð àæèëëóóëàõ Øàëòãààíóóä
Íýðèéí Ñåðâåð³³ä èõýâ÷ëýí õî¼ð ÿíç áàéíà: authoritative áóþó á³ðýí ýðõò íýðèéí ñåðâåð, áà caching áóþó ò³ð òîãòîîã÷ íýðèéí ñåðâåð. Á³ðýí ýðõò íýðèéí ñåðâåð íü äàðààõ òîõèîëäëóóäàä õýðýãòýé: •
DNS ìýäýýëëèéã °°ðò°° àãóóëæ, ýíý ìýäýýëëèéã íèéòýä çàðëàí, èðñýí àñóóëãóóäàä á³ðýí ýðõòýéãýýð õàðèóëàõ õ³ñýëòýé ³åä.
Á³ðòãýëòýé äîìýéíû õóâüä, æèøýýëáýë example.org, ò³³íèé äîð îðøèõ õîñò íýð³³äýä IP õàÿã îíîîæ °ã°õ õýðýãòýé ³åä. • Á³ëýã IP õàÿãóóäàä óðâóó DNS ìýäýýëýë õýðýãòýé ³åä (IP-ñ õîñò íýð ð³³). • Í°°ö ýñâýë õî¼ðäîã÷ íýðèéí ñåðâåð, çàðö ãýæ íýðëýíý, àñóóëãóóäàä õàðèóëóóëàõ øààðäëàãàòàé ³åä. Ò³ð òîãòîîã÷ íýðèéí ñåðâåð äàðààõ òîõèîëäëóóäàä õýðýãòýé: •
Äîòîîä DNS ñåðâåð íü àñóóëãûí õàðèóã ò³ð òîãòîîñíîîð ãàäààä íýðèéí ñåðâåðýýñ èë³³ õóðäàí õàðèó °ã÷ áàéãàà ³åä. www.FreeBSD.org-ð àñóóëãà ÿâóóëñàí ³åä, òàéëàã÷ èõýâ÷ëýí ³éë÷èëãýý àâäàã ISP-íõàà íýðèéí ñåðâåðýýñ àñóóãààä õàðèóã îëæ àâíà. Äîòîîä, ò³ð òîãòîîã÷ DNS ñåðâåð àæèëëóóëñíààð, àñóóëãûã ãàäààä èíòåðíýòýýñ ç°âõ°í ãàíö óäàà ÿâóóëàõ á°ã°°ä, õàðèóã òîãòîîæ àâíà. Ò³³íýýñ õîéøèõ àñóóëãóóäàä ò³ð òîãòîîã÷ íýðèéí ñåðâåð õàðèóëàõ áà ãàäàãøàà äàõèí àñóóëãà ÿâóóëàõ øààðäëàãà áàéõã³é. •
29.6.4
Õýðõýí àæèëëàäàã âý?
FreeBSD-ä BIND äýìîíã îéëãîìæòîéãîîð named ãýæ íýðëýíý.
Ôàéë
Òàéëáàð
794
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Ôàéë
Òàéëáàð named(8) BIND äýìîí. Íýðèéí ñåðâåðèéã õÿíàõ õýðýãñýë. rndc(8) /etc/namedb BIND-í á³ñèéí ìýäýýëýë õàäãàëàãäàæ áàéãàà ñàí. /etc/namedb/named.conf äýìîíû òîõèðãîîíû àéë. Òóõàéí á³ñ ñåðâåð äýýð õýðõýí òîõèðóóëàãäñàíààñ õàìààð÷ ýíý á³ñòýé õàìààðàëòàé àéëóóä /etc/namedb äèðåêòîðûí master, slave, ýñâýë dynamic ãýñýí äýä ñàíãóóäàä áàéðëàíà. Ýäãýýð àéëóóäàä ãàäíû àñóóëãàä õàðèó áîëãîí °ã°õ DNS ìýäýýëë³³ä áàéðëàíà.
ã àæèëëóóëàõ íü
29.6.5 BIND-
BIND íü àíõäàã÷ áàéäëààð ñóó÷èõñàí èðäýã òóë òîõèðóóëàõàä õÿëáàð áàéäàã.
named-í àíõäàã÷ òîõèðãîî íü chroot(8) îð÷èíä àæèëëàõ, òàéëàã÷ íýðèéí ñåðâåð áàéäëààð õèéãäñýí áàéäàã. Ýíý òîõèðãîîãîîð ñåðâåðèéã àæèëëóóëàõûí òóëä äàðààõ òóøààëûã °ã°õ õýðýãòýé: # /etc/rc.d/named forcestart
named äýìîíã ñèñòåì à÷ààëàõ ³åä àæèëëóóëäàã áîëãîõûí òóëä /etc/rc.conf äîòîð äàðààõ ì°ð³³äèéã íýìýõ õýðýãòýé: named_enable="YES"
Ìýäýýæ /etc/namedb/named.conf àéë äîòîð °°ð îëîí òîõèðóóëãóóä áàéãàà áîëîâ÷ ýíý áàðèìòûí ìýäëýýñ õàëèõ òóë ýíä äóðäñàíã³é. Õýðýâ FreeBSD äýýðõ named-í ýõëýë òîõèðóóëãóóäûí òàëààð ñîíèðõîæ áàéãàà áîë /etc/defaults/rc.conf äîòîð áàéãàà named_* òóãóóäûã íýã îðîîä ³çýýðýé. Ì°í rc.conf(5) çààâàð õóóäàñíààñ òóñëàìæ àâ÷ áîëíî. Section 11.7 õýñãèéã óíøèõàä èë³³äýõã³é. 29.6.6
Òîõèðãîîíû àéëóóä
named-í òîõèðãîîíû àéëóóä íü /etc/namedb äèðåêòîð äîòîð áàéðëàõ áà õýðýâ õÿëáàð òàéëàã÷ààñ °°ð ò³âøèíä àæèëëàõ õýðýãòýé áîë àæèëëóóëàõààñàà °ìí° òîõèðãîîíû àéëä çàñâàð õèéõ õýðýãòýé. Èõýíõ òîõèðãîîã ýíý ñàí äîòîð ã³éöýòãýíý. 29.6.6.1 make-localhost-ã õýðýãëýõ íü
localhost-í õóâüä ýçýí á³ñèéã òîõèðóóëàõûí òóëä /etc/namedb äèðåêòîððóó øèëæýýä äàðààõ òóøààëûã °ãí°: # sh make-localhost
Õýðýâ á³õ ç³éë ç³é ¼ñîîð ÿâàãäâàë, master äýä äèðåêòîð äîòîð øèíý àéë ³³ññýí áàéõ ¼ñòîé. Ôàéëóóä íü äîòîîä äîìýéíû õóâüä localhost.rev, IPv6 òîõèðãîîíû õóâüä localhost-v6.rev ãýñýí íýðòýé áàéíà. Àíõäàã÷ òîõèðãîîíû àéëûí õóâüä named.conf àéë äîòîð øààðäëàãàòàé ìýäýýëë³³ä áàéðëàíà.
795
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä 29.6.6.2 /etc/namedb/named.conf // // // // // // // // //
$FreeBSD$ Refer to the named.conf(5) and named(8) man pages, and the documentation in /usr/share/doc/bind9 for more details. If you are going to set up an authoritative server, make sure you understand the hairy details of how DNS works. Even with simple mistakes, you can break connectivity for affected parties, or cause huge amounts of useless Internet traffic.
options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; // If named is being used only as a local resolver, this is a safe default. // For named to be accessible to the network, comment this option, specify // the proper IP address, or delete this option. listen-on { 127.0.0.1; }; // // // //
If you have IPv6 enabled on this system, uncomment this option for use as a local resolver. To give access to the network, specify an IPv6 address, or the keyword "any". listen-on-v6 { ::1; };
// // // // //
In addition to the "forwarders" clause, you can force your name server to never initiate queries of its own, but always ask its forwarders only, by enabling the following line: forward only;
// If you’ve got a DNS server around at your upstream provider, enter // its IP address here, and enable the line below. This will make you // benefit from its cache, thus reduce overall DNS traffic in the Internet. /* forwarders { 127.0.0.1; }; */
Òàéëáàð äýýð õýëñýí÷ëýí äýýä ãàðöûí ò³ð òîãòîîã÷îîñ õ³ðòýõèéí òóëä forwarders-ã èäýâõæ³³ëæ áîëîõ þì. Ýíãèéí ³åä, íýðèéí ñåðâåð íü õàðèóëòûã îëòëîî äàâòàëòòàé áàéäëààð õýä õýäýí íýðèéí ñåðâåð³³äýýð äàìæèí àñóóíà. Ýíý òîõèðóóëãûã èäýâõæ³³ëñíýýð, äýýä ãàðöûíõàà íýðèéí ñåðâåðýýñ (ýñâýë çààæ °ãñ°í íýðèéí ñåðâåð) õàìãèéí ò³ð³³íä àñóóæ, ýíý ñåðâåðèéí ò³ð ñàíàõ îéä áàéãàà ìýäýýëëýýñ õ³ðòýõèéã ýðìýëçýíý. Õýðýâ äýýä ãàðöûí íýðèéí ñåðâåð íü îëîí àñóóëãàä õàðèóëäàã, õóðäàí ³éë÷èëäýã ñåðâåð áàéâàë äýýðõ òîõèðóóëãûã èäýâõæ³³ëñíèé ³ð àøèã ãàðíà. Warning: 127.0.0.1
ýíä àæèëëàõã³é. Ýíý IP õàÿãèéã °°ðèéí äýýä ãàðöûí íýðèéí ñåðâåðýýð ñîëüæ áè÷íý ³³.
796
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND versions 8 and later * use a pseudo-random unprivileged UDP port by default. */ // query-source address * port 53; }; // If you enable a local name server, don’t forget to enter 127.0.0.1 // first in your /etc/resolv.conf so this server will be queried. // Also, make sure to enable it in /etc/rc.conf. zone "." { type hint; file "named.root"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "master/localhost.rev"; }; // RFC 3152 zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" { type master; file "master/localhost-v6.rev"; }; // // // // // // // // // // // // // // // // // //
NB: Do not use the IP addresses below, they are faked, and only serve demonstration/documentation purposes! Example slave zone config entries. It can be convenient to become a slave at least for the zone your own domain is in. Ask your network administrator for the IP address of the responsible primary. Never forget to include the reverse lookup (IN-ADDR.ARPA) zone! (This is named after the first bytes of the IP address, in reverse order, with ".IN-ADDR.ARPA" appended.) Before starting to set up a primary zone, make sure you fully understand how DNS and BIND works. There are sometimes non-obvious pitfalls. Setting up a slave zone is simpler. NB: Don’t blindly enable the examples below. :-) and addresses instead.
Use actual names
/* An example master zone zone "example.net" { type master; file "master/example.net";
797
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä }; */ /* An example dynamic zone key "exampleorgkey" { algorithm hmac-md5; secret "sf87HJqjkqh8ac87a02lla=="; }; zone "example.org" { type master; allow-update { key "exampleorgkey"; }; file "dynamic/example.org"; }; */ /* Examples of forward and reverse slave zones zone "example.com" { type slave; file "slave/example.com"; masters { 192.168.1.1; }; }; zone "1.168.192.in-addr.arpa" { type slave; file "slave/1.168.192.in-addr.arpa"; masters { 192.168.1.1; }; }; */
äîòîðõ ýäãýýð æèøýýí³³ä íü åðäèéí áîëîí óðâóó á³ñèéí çàðö á³ðòãýë³³ä áîëíî. Øèíý á³ñ íýìýõäýý, named.conf àéë äîòîð øèíý á³ðòãýë îðóóëàõ õýðýãòýé. Æèøýý íü, example.org äîìýéíû õóâüä õàìãèéí õÿëáàð á³ðòãýë äàðààõ áàéäàëòàé áàéíà: named.conf
zone "example.org" { type master; file "master/example.org"; };
Ýíý á³ñ íü ýçýí á³ñ áîëîõûã type èëýðõèéëëýýñ õàðæ áîëíî. Ì°í á³ñèéí ìýäýýëëèéã /etc/namedb/master/example.org àéë äîòîð àãóóëæ áàéãààã file èëýðõèéëëýýñ õàðæ áîëíî. zone "example.org" { type slave; file "slave/example.org"; };
798
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Çàðö á³ñèéí õóâüä, òóõàéí á³ñèéí õóâüä á³ñèéí ìýäýýëýë ýçýí íýðèéí ñåðâåðýýñ ç°°ãä°æ èðýõ áà çààæ °ãñ°í àéëä õàäãàëàãäàíà. Ýçýí ñåðâåð óíòàðñàí ýñâýë õîëáîî òîãòîîõ áîëîìæã³é áîëáîë, çàðö íýðèéí ñåðâåðò á³ñèéí ìýäýýëýë áàéãàà òóë àñóóëãóóäàä õàðèóëàõ ÷àäâàðòàé áàéíà. 29.6.6.3 Á³ñèéí Ôàéëóóä
äîìýéíû õóâüä æèøýý ýçýí á³ñèéí àéëûã äîð ³ç³³ëýâ àéë):
example.org (/etc/namedb/master/example.org $TTL 3600 example.org.
; 1 hour IN SOA
ns1.example.org. 2006051501 ; 10800 ; 3600 ; 604800 ; 86400 ;
admin.example.org. ( Serial Refresh Retry Expire Minimum TTL
) ; DNS Servers IN IN
NS NS
ns1.example.org. ns2.example.org.
IN IN
MX 10 MX 20
mx.example.org. mail.example.org.
IN
A
192.168.1.1
; Machine Names localhost IN ns1 IN ns2 IN mx IN mail IN
A A A A A
127.0.0.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5
; Aliases www
CNAME
@
; MX Records
IN
“.” òýìäýãòýýð ò°ãññ°í õîñò íýð³³ä íü æèíõýíý õîñò íýð³³ä á°ã°°ä “.” òýìäýãòýýð ò°ãñ°°ã³é íýð³³äýä ³³ñýë çàëãàãäàõûã àíõààðíà óó. Æèøýýëáýë, www íü www.³³ñýë -ðóó õ°ðâ³³ëýãäýõ áîëíî. Ìàíàé æèøýýí äýýð áîë, áèäíèé ³³ñýë example.org. òóë www íü www.example.org. áîëæ õ°ðâ³³ëýãäýíý. Á³ñèéí àéë äàðààõ õýëáýðòýé áàéíà: recordname
IN recordtype
value
Õàìãèéí °ðã°í õýðýãëýãääýã DNS áè÷ëýã³³ä: SOA start of zone authority áóþó á³ñèéí á³ðýí ýðõò ìýäýýëëèéí ýõëýë
799
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä NS
á³ðýí ýðõò íýðèéí ñåðâåð A
õîñòûí õàÿã CNAME
õóóðàì÷ ä³ðä °ã°õ õ³ëýýí ç°âø°°ð°ãäñ°í íýð MX
çàõèäàë ñîëèëöîã÷ PTR
äîìýéí íýðèéã çààã÷ (óðâóó DNS-ä õýðýãëýíý) example.org. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hour 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 day
example.org.
äîìýéí íýð, ì°í ýíý á³ñèéí àéëûí õóâüä ³³ñýë áîëíî. ns1.example.org.
ýíý á³ñèéí ãîë/á³ðýí ýðõò íýðèéí ñåðâåð. admin.example.org.
ýíý á³ñèéã õàðèóöàã÷ õ³í, “@” òýìäýãòèéã íü îðëóóëñàí öàõèì çàõèäëûí õàÿã. ( íü admin.example.org áîëíî) 2006051501
Ôàéëûí ñåðèàë äóãààð. Á³ñèéí àéëä °°ð÷ë°ëò îðóóëàõ áîëãîíä ýíý äóãààðûã íýìýãä³³ëýõ øààðäëàãàòàé. Îäîî öàãò èõýíõ àäìèíóóä ýíý ñåðèàë äóãààðûã yyyymmddrr õýëáýðýýð õýðýãëýõ áîëñîí. 2006051501 ãýäýã íü õàìãèéí ñ³³ëä 05/15/2006-íä çàñâàð õèéñýí, õàìãèéí ñ³³ëèéí 01 ãýäýã íü ýíý °ä°ð õèéãäñýí õàìãèéí àíõíû çàñâàð ãýäãèéã èëòãýíý. Ýíý ñåðèàë äóãààð íü çàðö ñåðâåð³³äýä á³ñèéí ìýäýýëýë °°ð÷ë°ãäñ°í òàëààð ìýäýýëýë °ãä°ã òóë èõ ÷óõàë ç³éë áàéãàà þì. IN NS
ns1.example.org.
Ýíý áîë NS áè÷ëýã. Òóõàéí á³ñèéí õóâüä á³ðýí ýðõò õàðèóëòûã °ã÷ ÷àäàõ ñåðâåð á³ðèéí õóâüä ýíý áè÷ëýã áàéõ ¼ñòîé. localhost ns1 ns2
IN IN IN
A A A
127.0.0.1 192.168.1.2 192.168.1.3
800
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä mx mail
IN IN
A A
192.168.1.4 192.168.1.5
A áè÷ëýã íü ìàøèíû íýðèéã çààíà. Äýýð ³ç³³ëñýí÷ëýí, ns1.example.org íü 192.168.1.2-ðóó áóóëãàãäàíà. IN
A
192.168.1.1
Ýíý ì°ð íü 192.168.1.1 ãýñýí IP õàÿãèéã ³³ñýëä îíîîæ áàéíà, áèäíèé æèøýýí äýýð example.org. www
IN CNAME
@
Õ³ëýýí ç°âø°°ð°ãäñ°í íýðèéí áè÷ëýã íü ìàøèíä õóóðàì÷ ä³ð °ã°õ°ä õýðýãëýãäýíý. Ýíý æèøýýí äýýð, íü example.org (192.168.1.1) ãýñýí äîìýéí íýðòýé “ýçýí” ìàøèíû õóóðàì÷ ä³ðèéí íýð þì. CNAME-ã õóóðàì÷ õîñò íýð °ã°õ°ä, ýñâýë îëîí ìàøèíû äóíä òîéð÷ õýðýãëýãäýõ íýã õîñò íýð °ã°õ°ä õýðýãëýíý. www
IN MX
10
mail.example.org.
MX áè÷ëýã íü àëü çàõèäëûí ñåðâåð³³ä òóõàéí á³ñèéí çàõèäëûã õ³ëýýæ àâàõ ³³ðýãòýé áîëîõûã çààæ °ãí°. mail.example.org íü çàõèäëûí ñåðâåðèéí õîñò íýð á°ã°°ä 10 íü ýíý çàõèäëûí ñåðâåðèéí çýðýãëýëèéã çààæ áàéíà.
Íýã á³ñýä 10, 20 ãýõ ìýò ÿëãààòàé çýðýãëýëòýé õýä õýäýí çàõèäëûí ñåðâåð áàéæ áîëíî. example.org äîìýéí ðóó çàõèäàë ÿâóóëàõ ãýæ áàéãàà ñåðâåð ýõëýýä õàìãèéí °íä°ð çýðýãëýëòýé MX ñåðâåðòýé (õàìãèéí áàãà çýðýãëýëèéí äóãààðòàé), äàðàà íü äàðààãèéí õàìãèéí °íä°ð çýðýãëýëòýé ñåðâåðòýé ãýõ ìýò÷èëýí çàõèäëûã ÿâóóëæ ÷àäòàë äàðààëëààð íü õîëáîî òîãòîîíî. in-addr.arpa á³ñèéí àéë (óðâóó DNS) íü èæèë õýëáýðòýé áàéíà. àíöõàí ÿëãàà íü A áîëîí CNAME áè÷ëýãèéí îðîíä PTR áè÷ëýãèéã õýðýãëýíý. $TTL 3600 1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 3600 ) ; Minimum
1 2 3 4 5
IN IN
NS NS
ns1.example.org. ns2.example.org.
IN IN IN IN IN
PTR PTR PTR PTR PTR
example.org. ns1.example.org. ns2.example.org. mx.example.org. mail.example.org.
Ýíý àéëä, æèøýý äîìýéíû IP-ñ õîñò íýð ð³³ áóóëãàñàí çîõèõ øààðäëàãàòàé áóóëãàëòóóäû㠳糳ëñýí áàéíà.
801
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
29.6.7
Ò³ð òîãòîîã÷ Íýðèéí Ñåðâåð (Caching Name Server)
Ò³ð òîãòîîã÷ íýðèéí ñåðâåð ãýäýã íü ÿìàð ÷ á³ñèéí õóâüä á³ðýí ýðõò áèø íýðèéí ñåðâåðèéã õýëíý. Èéì ò°ðëèéí ñåðâåð íü ç°âõ°í àñóóëãà ÿâóóëàõ á°ã°°ä õàðèóëòûã äàðàà õýðýãëýõýýð òîãòîîæ àâäàã. Èéì íýðèéí ñåðâåðèéã çîõèîí áàéãóóëàõûí òóëä, òîõèðãîîã åðäèéí íýðèéí ñåðâåðòýé àäèëààð õèéõ áîëîâ÷, ÿìàð ÷ á³ñèéí ìýäýýëëèéã îðóóëàõã³é áàéõààð õèéíý. 29.6.8
Àþóëã³é áàéäàë
Õýäèéãýýð BIND íü õàìãèéí °ðã°í õýðýãëýãääýã DNS ñåðâåð áîëîâ÷, àþóëã³é áàéäàëòàé õîëáîîòîé àñóóäëóóä áàéíãà òóëãàðäàã. àäíû õàëäëàãàä °ðò°æ áîëçîøã³é àþóëã³é áàéäëûí öîîðõîé çàðèìäàà îëääîã. Õýäèéãýýð FreeBSD named-ã àâòîìàòààð chroot(8) îð÷èíä îðóóëäàã áîëîâ÷; DNS õàëäëàãàä àøèãëàæ áîëîõóéö õýä õýäýí ìåõàíèçìóóä áàéñààð áàéíà. CERT (http://www.cert.org/)-ñ ãàðãàäàã àþóëã³é áàéäëûí ñàíàìæóóäûã óíøèõûã ç°âë°æ áàéíà. Ì°í FreeBSD àþóëã³é áàéäëûí ìýäýãäë³³ä çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-security-notifications)-ä á³ðòã³³ëæ, øèíýýð ãàð÷ áàéãàà Èíòåðíýò áîëîí FreeBSD-í àþóëã³é áàéäëûí àñóóäëóóäûí òàëààð ìýäýýëýëòýé áàéõûã ç°âë°å. Tip: Õýðýâ ÿìàð íýãýí àñóóäàë òóëãàðâàë, ýõèéã áàéíãà øèíý÷èëæ, named-ã øèíýýð á³òýýõ
29.6.9
íü àëäàà áîëîõã³é.
³íçãèéð³³ëýí óíøèõ
BIND/named çààâàð õóóäñóóä: rndc(8) named(8) named.conf(5) • • • • • •
ISC BIND-í Àëáàí ¼ñíû Õóóäàñ (http://www.isc.org/products/BIND/)
ISC BIND-í Àëáàí ¼ñíû Õýëýëö³³ëýã (http://www.isc.org/sw/guild/bf/) BIND FAQ (http://www.isc.org/index.pl?/sw/bind/FAQ.php) O’Reilly "DNS áà BIND" 5 äàõü Õýâëýëò (http://www.oreilly.com/catalog/dns5/)
RFC1034 - Äîìýéí Íýð³³ä - Çàð÷ìóóä áîëîí Áîëîìæóóä (ftp://ftp.isi.edu/in-notes/rfc1034.txt)
RFC1035 - Äîìýéí Íýð³³ä - Õýðýãæ³³ëýëò áîëîí ç³³ëýëò³³ä (ftp://ftp.isi.edu/in-notes/rfc1035.txt)
29.7 Apache HTTP
Ñåðâåð
Õóâü íýìðýý îðóóëñàí Ìþððåé Ñò°³êëè. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 29.7.1
Óäèðòãàë
Äýëõèéí õàìãèéí èõ à÷ààëàëòàé àæèëëàäàã çàðèì âýá ñàéòóóä FreeBSD äýýð àæèëëàäàã. Èíòåðíýòýä àæèëëàæ áàéãàà âýá ñåðâåð³³äèéí îëîíõè íü Apache HTTP Ñåðâåðèéã àøèãëàæ áàéíà. Apache
802
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
ïðîãðàì õàíãàìæèéí áàãö òàíû FreeBSD ñóóëãàõ äèñêýíä îðñîí áàéãàà. Õýðýâ òà FreeBSD-ã àíõ ñóóëãàõäàà Apache-ã õàìò ñóóëãààã³é áîë www/apache13 ýñâýë www/apache20 ïîðòîîñ ñóóëãàæ áîëíî. Apache íýãýíò àìæèëòòàé ñóóñàí áîë ò³³íèéã òîõèðóóëàõ øààðäëàãàòàé. Note: Apache HTTP Server-í 1.3.X õóâèëáàð íü FreeBSD-ä õàìãèéí °ðã°í õýðýãëýãääýã òóë áèä ýíý õýñýãò ýíý õóâèëáàðûã ³çýõ áîëíî. Apache 2.X-ä îëîí øèíý òåõíîëîãè íýâòýðñýí áîëîâ÷ áèä ýíý òàëààð ýíä ³çýõã³é. Apache 2.X-í òàëààð äýëãýðýíã³é ìýäýýëëèéã http://httpd.apache.org/ õàÿãààð îðæ ³çíý ³³.
29.7.2
Òîõèðãîî
FreeBSD äýýðõ Apache HTTP
Ñåðâåðèéí ãîë òîõèðãîîíû àéë áîë
/usr/local/etc/apache/httpd.conf þì. Ýíý àéëä, UNIX-í òåêñò òîõèðãîîíû àéëûí íýãýí àäèë òàéëáàð ì°ð³³äèéí °ìí° # òýìäýãòèéã õýðýãëýäýã. Á³õ áîëîìæèò òîõèðóóëãóóäûí òàëààð äýëãýð³³ëæ òàéëáàðëàõ íü ýíý íîìûí õ³ðýýíýýñ õàëèõ òóë, õàìãèéí èõ °°ð÷ë°ëò õèéãääýã äèðåêòèâ³³äèéã ýíä àâ÷ ³çüå. ServerRoot "/usr/local"
Ýíý äèðåêòèâ Apache ñóóëãàöûí àíõäàã÷ äèðåêòîð øàòëàëûí ýõèéã çààæ °ãí°. Õî¼ðòûí àéëóóä ñåðâåðèéí ýõ äèðåêòîðûí bin áà sbin äýä äèðåêòîðóóäàä, òîõèðãîîíû àéëóóä etc/apache äýä äèðåêòîðò áàéðëàíà. ServerAdmin [email protected]
Ñåðâåðòýé õîëáîîòîé àñóóäëóóäûí òàëààð èëãýýõ öàõèì çàõèäëûí õàÿãèéã çààíà. Ýíý õàÿã àëäààíû õóóäñóóä ãýõ çýðýã ñåðâåð òàëààñ àâòîìàòààð ³³ñãýãääýã çàðèì õóóäñóóä äýýð áè÷èãäýõ áîëíî. ServerName www.example.com
íü õîñò äýýð òîõèðóóëàãäñàí õîñò íýðýýñ °°ð íýðèéã ñåðâåðòýý °ã°õ áîëîìæèéã òàíä îëãîíî (°°ð°°ð õýëáýë, õîñòûí æèíõýíý õîñò íýðèéí îðîíä www-ã õýðýãëýõ). Ýíý íýðýýð òàíû ñåðâåð õàðèëöàã÷ íàðòàé õàðèëöàõ áîëíî.
ServerName
DocumentRoot "/usr/local/www/data"
Ýíý äèðåêòîðò áàéãàà âýá áàðèìòóóäûã õàðèëöàã÷ íàðò ³ç³³ëýõ áîëíî. Àíõäàã÷ áàéäëààð, á³õ õ³ñýëò³³ä ýíý äèðåêòîðò °ã°ãä°í°. ýâ÷ ñèìáîë õîëáîîñóóä áîëîí õóóðàì÷ ä³ð³³äèéã àøèãëàí °°ð ãàçàð ðóó çààæ °ã÷ áîëíî. Apache-í òîõèðãîîíû àéëä ÿìàð íýã °°ð÷ë°ëò õèéõýýñýý °ìí° í°°ö õóóëáàðûã àâ÷ ³ëäýõýý ìàðòóóçàé. Òîõèðãîî õèéæ äóóññàí áîë îäîî Apache-ã àæèëëóóëàõ õýðýãòýé. DocumentRoot:
ã àæèëëóóëàõ íü
29.7.3 Apache-
Áóñàä îëîí ñ³ëæýýíèé îð÷íû ñåðâåð³³ä inetd ñóïåð ñåðâåðýýñ àæèëëàäàã áîë, Apache òýãäýãã³é. Õàðèëöàã÷ âýá õ°ò÷³³äýýñ èðýõ HTTP õ³ñýëò³³äýä õàðèóëàõäàà èë³³ °íä°ð ³ç³³ëýëòòýé àæèëëóóëàõûí òóëä ò³³íèéã áèå äààí àæèëëàäàã áàéõààð òîõèðóóëñàí áàéäàã. Ýõë³³ëýõ, çîãñîîõ
803
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
áîëîí äàõèí ýõë³³ëýõ çýðýã ³éëäëèéã àëü áîëîõ õÿëáàð áîëãîõûí òóëä á³ðõ³³ëèéí ñêðèïò õÿëáàðøóóëàã÷ õàìò èðäýã. Apache-ã àíõ óäàà ýõë³³ëýõèéí òóëä, äàðààõ òóøààëûã °ãí°: # /usr/local/sbin/apachectl start
Õ³ññýí ³åäýý ñåðâåðèéã äàðààõ òóøààëààð çîãñîîíî: # /usr/local/sbin/apachectl stop
Òîõèðãîîíû àéëä °°ð÷ë°ëò îðóóëñíû äàðàà, ñåðâåðèéã äàõèí ýõë³³ëýõ øààðäëàãàòàé: # /usr/local/sbin/apachectl restart
Òîãòñîí õîëáîëòóóäûã òàñëàëã³éãýýð Apache-ã äàõèí ýõë³³ëýõèéí òóëä äàðààõ òóøààëûã °ãí°: # /usr/local/sbin/apachectl graceful
Íýìýëò ìýäýýëëèéã apachectl(8) çààâàð õóóäàñíààñ àâíà óó. Ñèñòåì à÷ààëàõ ³åä Apache-ã ýõë³³ëýõèéí òóëä äàðààõ ì°ð³³äèéã /etc/rc.conf àéëä íýìæ áè÷íý: apache_enable="YES"
áóþó ýñâýë Apache 2.2-èéí õóâüä: apache22_enable="YES"
Õýðýâ ñèñòåì à÷ààëàõ ³åä ýõýëäýã Apache httpd ïðîãðàìä íýìýëò òóøààëûí ì°ðíèé òîõèðóóëãóóäûã îðóóëàõ õ³ñýëòýé áîë, äàðààõ ì°ðèéã ì°í rc.conf àéëä íýìýõ õýðýãòýé: apache_flags=""
Îäîî òàíû âýá ñåðâåð àæèëëàæ áàéíà. Òà °°ðèéí âýá ñàéòûã âýá õ°ò°÷ äýýðýý http://localhost/ õàÿãèéã îðóóëàí õàðæ áîëíî. Ýíä ãàðàõ àíõäàã÷ âýá õóóäàñ áîë /usr/local/www/data/index.html þì. 29.7.4
Äàâõàð áàéðøóóëàëò
Apache íü õî¼ð ò°ðëèéí äàâõàð áàéðøóóëàõ ³éë÷èëãýýã äýìæäýã. Ýõíèéõ íü íýð äýýð ³íäýñëýñýí äàâõàð áàéðøóóëàëò þì. Íýð äýýð ³íäýñëýñýí äàâõàð áàéðøóóëàëò äýýð õîñò íýðèéã ÿëãàæ ìýäýõäýý õàðèëöàã÷èéí HTTP/1.1 òîëãîéí õýñãèéã àøèãëàäàã. Èèì áàéäëààð îëîí °°ð äîìýéíóóä íýã IP õàÿãèéã õóâààí õýðýãëýõ áîëîìæòîé áîëäîã. Apache äýýð, íýð äýýð ³íäýñëýñýí äàâõàð áàéðøóóëàëòûã õýðýãëýõèéí òóëä äîîð äóðäñàíòàé ò°ñòýé á³ðòãýëèéã httpd.conf àéë äîòîð íýìæ áè÷èõ õýðýãòýé: NameVirtualHost *
Òàíû âýá ñåðâåðèéí íýð www.domain.tld á°ã°°ä www.someotherdomain.tld íýðòýé äîìýéíûã äàâõàð áàéðøóóëàõ õ³ñýëòýé áîë, òà äàðààõ á³ðòãýëèéã httpd.conf àéëä íýìýõ õýðýãòýé áîëíî: ServerName www.domain.tld
804
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä DocumentRoot /www/domain.tld ServerName www.someotherdomain.tld DocumentRoot /www/someotherdomain.tld
Äýýðõ õàÿãóóäûí îðîíä õýðýãòýé õàÿãóóäûã, çàìóóäûí îðîíä áàðèìòóóä áàéãàà çîõèõ çàìóóäûã ñîëüæ áè÷íý ³³. Äàâõàð õîñòóóäûã çîõèîí áàéãóóëàõ òàëààð äýëãýðýíã³é ìýäýýëëèéã Apache-í àëáàí ¼ñíû áàðèìòæóóëàëò: http://httpd.apache.org/docs/vhosts/-ñ îëæ ³çíý ³³. 29.7.5 Apache
Ìîäóëèóä
íäñýí ñåðâåðèéí ³³ðýã óíêöûã ñàéæðóóëàõûí òóëä á³òýýãäñýí Apache-í îëîí ìîäóëèóä áàéäàã. FreeBSD Ïîðòóóäûí Öóãëóóëãà íü Apache-ã ò³³íèé °ðã°í õýðýãëýãääýã çàðèì ìîäóëèóäûí õàìò õÿëáàð ñóóëãàõ áîëîìæèéã îëãîäîã. 29.7.5.1 mod_ssl mod_ssl ìîäóëü íü Secure Sockets Layer (SSL v2/v3) áà Transport Layer Security (TLS v1) ïðîòîêîëîîð äàìæóóëàí °íä°ð íóóöëàëûã õàíãàõûí òóëä OpenSSL ñàíã àøèãëàäàã. Ýíý ìîäóëü íü áàòëàìæ îëãîäîã
èòãýìæëýãäñýí áàéãóóëëàãààñ áàòëàìæ àâàõûí òóëä øààðäëàãàòàé á³õ ç³éëñýýð õàíãàäàã òóë òà ³³íèéã àøèãëàí FreeBSD äýýð àþóëã³é âýá ñåðâåð àæèëëóóëæ ÷àäíà. Õýðýâ òà Apache-ã ñóóëãàæ àìæààã³é áîë, mod_ssl ìîäóëèéã àãóóëäàã Apache-í 1.3.X õóâèëáàðûã www/apache13-modssl ïîðòîîñ ñóóëãàæ áîëîõ þì. Apache 2.X-í õóâüä SSL äýìæëýãèéã www/apache22 ïîðòîîñ àâ÷ áîëíî. SSL äýìæëýã àâòîìàòààð èäýâõæñýí áàéäàã. 29.7.5.2 Õýëíèé õîëáîëòóóä
Èõýíõ ãîë ñêðèïò õýëí³³äýä çîðèóëñàí Apache-èéí ìîäóëèóä áàéäàã. Ýäãýýð ìîäóëèóä íü Apache-èéí ìîäóëèóäûã á³õýëä íü ñêðèïò õýë äýýð áè÷èõ áîëîìæèéã èõýâ÷ëýí á³ðä³³ëäýã. Ýäãýýð íü áàñ ãàäààä òàéëáàðëàã÷èéã ýõë³³ëýõ íýìýëò çàðäàë áîëîí äèìàìèê âýá ñàéòóóäûí õóâüä áàéäàã ýõë³³ëýõ õóãàöààíû àëäàãäëûã òîéðîí ãàðàõ, ñåðâåðò áàãòààæ õèéãäñýí áàéíãûí òàéëáàðëàã÷ áîëîí äàðààãèéí õýñýãò òàéëáàðëàãäñàí øèãýýð èõýâ÷ëýí àøèãëàãääàã. 29.7.6
Äèíàìèê âýá ñàéòóóä
ѳ³ëèéí 10 æèëä, °°ðèéí àøèã îðëîãûã íýìýãä³³ëýõ, õ³ì³³ñò õ³ðýõ çîðèëãîîð èë³³ îëîí êîìïàíèóä áèçíåñýý Èíòåðíýòýýð ÿâóóëàõ áîëæýý. Ýíý íü äèíàìèê àãóóëãàòàé âýá õóóäñóóä ò°ð°í ãàðàõ õýðýãöýý øààðäëàãûã óëàì íýìýãä³³ëñýí. Microsoft ãýõ ìýò çàðèì êîìïàíèóä ÷ °°ðèéí á³òýýãäýõ³³í³³äýä òýäãýýðýýñ îðóóëàõ áîëñîí õýäèé ÷, íýýëòòýé ýõèéí íýãäýë ýíý àñóóäàëä õàðèó °ãñ°í þì. Äèíàìèê âýá àãóóëãûã áèé áîëãîõ îð÷èí ³åèéí áîëîìæóóä áîë Django, Ruby on Rails, mod_perl áîëîí mod_php þì.
805
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä 29.7.6.1 Django Django íü °íä°ð àæèëëàãààòàé, ãî¼ìñîã âýá ïðîãðàìûã õóðäàí áè÷èõ áîëîìæèéã õ°ãæ³³ëýã÷äýä îëãîõîîð õèéãäñýí, BSD ëèöåíçòýé òîãòîëöîî þì. Ýíý íü °ã°ãäëèéí ò°ðë³³ä Python îáüåêò õýëáýðýýð õ°ãæ³³ëýãääýã áàéõààð áîëãîñîí îáüåêòèéí õàðèëöààã îíîîã÷òîé á°ã°°ä òýäãýýð îáüåêòóóäàä çîðèóëñàí õ°ãæ³³ëýã÷äýä SQL áè÷èõ øààðäëàãàã³é áîëãîæ °ãä°ã, áàÿëàã äèíàìèê °ã°ãäëèéí ñàíãèéí õàíäàëòûí API-òàé þì. Ýíý íü áàñ ïðîãðàìûí ëîãèêèéã HTML ³ç³³ëáýðýýñ òóñãààðëàõ áîëîìæèéã á³ðä³³ëýõ íýìýëò çàãâàðûí ñèñòåìòýé áàéäàã. Django íü mod_python, Apache, áîëîí òàíû ñîíãîñîí SQL °ã°ãäëèéí ñàíãèéí õ°ä°ëã³³ðýýñ õàìààðäàã. FreeBSD ïîðò íü ýäãýýð á³õ õàìààðëóóäûã òîõèðñîí ñîíãîëòóóäòàé íü òàíä ñóóëãàæ °ã°õ áîëíî.
ã
Example 29-3. Django- Apache2, mod_python3,
áîëîí PostgreSQL-òýé ñóóëãàõ íü
# cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL
Django áîëîí áóñàä õàìààðëóóä ñóóëãàãäñàíû äàðàà òà Django ò°ñëèéí ñàíã ³³ñãýõ õýðýãòýé á°ã°°ä °°ðèéí ñàéò äýýðõ òóõàéí URL äýýð °°ðèéí ïðîãðàìûã äóóäàõûí òóëä ñóóëãàãäñàí Python òàéëáàðëàã÷èéã àøèãëàõààð áîëãîæ Apache-ã òîõèðóóëàõ õýðýãòýé. Example 29-4. Django/mod_python-
ä çîðèóëñàí Apache-èéí òîõèðãîî
Òà °°ðèéí âýá ïðîãðàì ðóó òîäîðõîé URL-óóäàä çîðèóëñàí õ³ñýëò³³äèéã äàìæóóëàõààð Apache-ã òîõèðóóëàõûí òóëä apache-èéí httpd.conf àéëä ì°ð íýìýõ øààðäëàãàòàé: SetHandler python-program PythonPath "[’/dir/to/your/django/packages/’] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonAutoReload On PythonDebug On
29.7.6.2 Ruby on Rails Ruby on Rails íü á³ðýí ã³éöýä õ°ãæ³³ëýëòèéí ñòåêèéí áîëîìæèéã îëãîäîã á°ã°°ä âýá õ°ãæ³³ëýã÷äèéã õ³÷èðõýã ïðîãðàìûã õóðäàí øóóðõàé, èë³³ ³ð á³òýýëòýé áè÷äýã áàéõààð îíîâ÷ëîãäñîí, íýýëòòýé ýõèéí âýá òîãòîëöîî þì. ³íèéã ïîðòûí ñèñòåìýýñ õÿëáàðààð ñóóëãàæ áîëíî. # cd /usr/ports/www/rubygem-rails; make all install clean
29.7.6.3 mod_perl
Ñåðâåð
Apache/Perl íýãòãýõ ò°ñ°ë Perl ïðîãðàì÷ëàëûí õýë áà Apache HTTP èéí á³õ õ³÷ ÷àäëûã íýãòãýñýí þì. mod_perl ìîäóëèéí òóñëàìæòàé Apache ìîäóëèóäûã òýð ÷èãýýð íü Perl äýýð áè÷èõ áîëîìæòîé. Äýýð íü, ñåðâåðò ñóóëãàñàí øóðãóó õ°ðâ³³ëýã÷, ãàäíû õ°ðâ³³ëýã÷ àøèãëàõ èë³³ àæèë áîëîí Perl ýõë³³ëýõ õóãàöààíû àëäàãäëààñ çàéëñõèéæ ÷àäñàí þì.
806
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä mod_perl-ã õýä õýäýí ÿíçààð õýðýãëýæ áîëíî. mod_perl-ã õýðýãëýæ ýõëýõýýñ °ìí° mod_perl 1.0 ç°âõ°í Apache 1.3-òàé àæèëëàäàã, mod_perl 2.0 ç°âõ°í Apache 2.X-òýé àæèëëàäàã ãýäãèéã ñàíààðàé. mod_perl 1.0-ã www/mod_perl ïîðòîîñ, ò³³íèé ñòàòèêààð ýìõýòãýñýí õóâèëáàðûã www/apache13-modperl ïîðòîîñ ñóóëãàæ áîëíî. mod_perl 2.0-ã www/mod_perl2 ïîðòîîñ ñóóëãàæ áîëíî.
29.7.6.4 mod_php
Áè÷ñýí Òîì °³äñ. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. PHP áóþó “PHP:Hypertext Preprocessor” áîë âýá õ°ãæ³³ëýëòýä òóñãàéëàí òîõèðóóëñàí, ýíãèéí õýðýãëýýíèé ñêðèïò õýë þì. HTML äîòîð ñóóëãàõ áîëîìæòîé ò³³íèé ñèíòàêñ C, Java, áà Perl-ñ ãàðàëòàé. Ýíý íü âýá õ°ãæ³³ëýã÷äýä äèíàìèêààð ³³ñãýãäýõ âýá õóóäñûã õóðäàí áè÷èõ áîëîìæòîé áîëãîõ ³³äíýýñ òýãñýí õýðýã. Apache âýá ñåðâåðèéã PHP5-ã äýìæäýã áîëãîõûí òóëä, lang/php5 ïîðòûã ñóóëãàæ ýõëýõ õýðýãòýé. Õýðýâ lang/php5 ïîðòûã àíõ óäàà ñóóëãàæ áàéãàà áîë, áîëîìæèò ÒÎÕÈÓÓË ÓÓÄ àâòîìàòààð äýëãýöýí äýýð ãàð÷ èðíý. Õýðýâ öýñ ãàð÷ èðýõã³é áîë, °°ð°°ð õýëáýë lang/php5 ïîðòûã °ìí° íü õýçýý íýãýí öàãò ñóóëãàæ áàéñàí áîë, òîõèðóóëãóóäûí õàðèëöàõ öîíõûã ãàðãàæ èðýõèéí òóëä äàðààõ òóøààëûã: # make config
ïîðò äèðåêòîð äîòîð °ã°õ õýðýãòýé. Òîõèðóóëãóóäûí õàðèëöàõ öîíõîíä, mod_php5-ã Apache-í à÷ààëàõ áîëîìæòîé ìîäóëü áàéäëààð á³òýýõèéí òóëä APACHE òîõèðóóëãûã èäýâõæ³³ëíý. Note: Îëîí ñàéòóóä PHP4-ã ÿíç á³ðèéí øàëòãààíû óëìààñ (°°ð°°ð õýëáýë, íèéöòýé áàéäàë ýñâýë àëü õýäèéí ³éë÷èëãýýíä ãàðãà÷èõñàí âýá ïðîãðàìóóä) àøèãëàñààð áàéíà. Õýðýâ mod_php4-ã mod_php5-í îðîíä àøèãëàõ øààðäëàãàòàé áîë, lang/php4 ïîðòûã àøèãëààðàé. lang/php4 ïîðò íü lang/php5 ïîðòîä áàéäàã òîõèðãîîíû áîëîí á³òýýõ ³åèéí îëîí òîõèðóóëãóóäûã äýìæäýã.
Ýíý õýñýã êîä äèíàìèê PHP ïðîãðàìûã äýìæäýã áîëãîõîä øààðäëàãàòàé ìîäóëèóäûã ñóóëãàæ òîõèðóóëàõ áîëíî. Äîîðõ ì°ð³³ä /usr/local/etc/apache/httpd.conf àéë äîòîð íýìýãäñýí ýñýõèéã øàëãààðàé: LoadModule php5_module
libexec/apache/libphp5.so
AddModule mod_php5.c DirectoryIndex index.php index.html AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
³íèé äàðàà, PHP ìîäóëèéã à÷ààëàõûí òóëä, äàðààõ òóøààëûã °ã÷ ñåðâåðèéã äàõèí à÷ààëàõ õýðýãòýé: # apachectl graceful
807
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Äàðàà, PHP-í õóâèëáàðûã äýýøë³³ëýõ ³åäýý, make config òóøààëûã °ã°õ øààðäëàãàã³é; èäýâõæ³³ëñýí ÒÎÕÈÓÓË ÓÓÄ FreeBSD Ïîðòóóäûí òîãòîëöîîíä àâòîìàòààð õàäãàëàãäñàí áàéãàà. FreeBSD-í PHP äýìæëýã íü äýýä çýðãýýð ìîäóëü÷ëàãäñàí òóë ³íäñýí ñóóëãàö íü ìàø õÿçãààðëàãäìàë áàéäàã. lang/php5-extensions ïîðòûã àøèãëàí äýìæëýã íýìýõ íü ³íýõýýð àìàðõàí àñóóäàë. PHP °ðã°òã°ëèéã ñóóëãàõ ÿâöàä, ýíý ïîðò òàíä öýñýýñ òîãòñîí èíòåðýéñèéã ñàíàë áîëãîíî. °ð°°ð, °ðã°òã°ë³³äèéã íýã íýãýýð íü õàðãàëçàõ ïîðòóóäààñ ñóóëãàæ áîëíî. Æèøýýëáýë, PHP5-ä MySQL °ã°ãäëèéí ñàíãèéí ñåðâåðèéí äýìæëýãèéã íýìýõèéí òóëä, databases/php5-mysql ïîðòûã ñóóëãàõàä õàíãàëòòàé. ßìàð íýã °ðã°òã°ë ñóóëãàñíû äàðàà, òîõèðãîîíû °°ð÷ë°ëòèéã õ³÷èí ò°ã°ëä°ð áîëãîõûí òóëä Apache ñåðâåðèéã äàõèí à÷ààëàõ øààðäëàãàòàéã àíõààðíà óó: # apachectl graceful
29.8
Ôàéë Äàìæóóëàõ Ïðîòîêîë (FTP)
Õóâü íýìðýý îðóóëñàí Ìþððåé Ñò°³êëè. 29.8.1
Óäèðòãàë
File Transfer Protocol áóþó Ôàéë Äàìæóóëàõ Ïðîòîêîë (FTP) íü õýðýãëýã÷äýä FTP ñåðâåðýýñ àéëûã àâàõ áîëîí òàâèõ õÿëáàð çàìûã áèé áîëãîäîã. FreeBSD ³íäñýí ñèñòåì äîòðîî FTP ñåðâåð ïðîãðàì ftpd-ã àãóóëæ áàéäàã. Ýíý íü FreeBSD äýýð FTP ñåðâåðèéã áîñãîõ, óäèðäàõ àæëûã ò°â°ãã³é áîëãîäîã.
29.8.2
Òîõèðãîî
Òîõèðãîî õèéõèéí °ìí°õ õàìãèéí ÷óõàë àëõàì áîë ÿìàð äàíñóóä FTP ñåðâåðò õàíäàõ ýðõòýé áàéõ âý ãýäãèéã øèéäýõ áàéäàã. Åðäèéí FreeBSD ñèñòåì íü ÿíç á³ðèéí äýìîíóóäàä õýðýãëýãääýã îëîí òîîíû ñèñòåìèéí äàíñóóäòàé áàéäàã áà ãàäíû õýðýãëýã÷èä ýäãýýð äàíñûã àøèãëàí íýâòðýõ ¼ñã³é. /etc/ftpusers àéë äîòîð FTP õàíäàëò ç°âø°°ð°ãä°°ã³é õýðýãëýã÷äèéí æàãñààëòûã õàäãàëíà. Àíõäàã÷ áàéäëààð, äýýð äóðäñàí ñèñòåìèéí äàíñóóä ýíý àéëä áàéíà. FTP õàíäàëòûã ç°âø°°ð°õ ¼ñã³é °°ð õýðýãëýã÷äèéã ÷ ì°í ýíý àéëä íýìæ áîëíî. Çàðèì õýðýãëýã÷äèéí FTP õýðýãëýõèéã íü á³ð áîëèóë÷èõàëã³éãýýð, ç°âõ°í çàðèì íýã ýðõèéã íü õÿçãààðëàæ áàñ áîëíî. ³íèéã /etc/ftpchroot àéëûí òóñëàìæòàé ã³éöýòãýæ áîëíî. Ýíý àéë äîòîð FTP õàíäàëòûã íü õÿçãààðëàõ õýðýãëýã÷èä áîëîí á³ëã³³äèéí æàãñààëò áàéíà. ftpchroot(5) çààâàð õóóäñàíä á³õ ìýäýýëýë áàéãàà òóë ýíä äóðäñàíã³é. Õýðýâ ñåðâåðòýý íèéòèéí FTP õàíäàëòûã ç°âø°°ð°õ õ³ñýëòýé áàéãàà áîë, FreeBSD ñèñòåì äýýðýý ftp íýðòýé õýðýãëýã÷ íýìýõ õýðýãòýé. Èíãýñíýýð õýðýãëýã÷èä òàíû FTP ñåðâåð ð³³ ftp ýñâýë anonymous ãýñýí íýðýýð ÿìàð ÷ íýâòðýõ ³ã øààðäàãäàõã³éãýýð (òîãòñîí çàíøèë ¼ñîîð õýðýãëýã÷ öàõèì øóóäàíãèéí õàÿãàà íýâòðýõ ³ãèéí îðîíä õýðýãëýõ øààðäëàãàòàé) íýâòðýí îðîõ áîëíî. Íèéòèéí õýðýãëýã÷ ñèñòåìä îðæ èðýõýä FTP ñåðâåð ò³³íèé ýðõèéã ç°âõ°í ftp õýðýãëýã÷èéí ãýðèéí ñàí äîòîð õÿçãààðëàõûí òóëä chroot(2)-ã äóóäíà.
808
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä FTP õàðèëöàã÷äàä çîðèóëñàí ìýíä÷èëãýýíèé ³ãí³³äèéã àãóóëñàí õî¼ð òåêñò àéë áàéäàã.
/etc/ftpwelcome àéë äîòîð áàéãààã íýâòðýëò õ³ëýýõ ì°ð ãàðàõààñ °ìí° õýðýãëýã÷äýä äýëãýöýí äýýð õýâëýíý. Àìæèëòòàé íýâòýð÷ îðñíû äàðàà /etc/ftpmotd àéë äîòîð áàéãààã äýëãýöýí äýýð õýâëýíý. Ýíý àéëûí çàì íü íýâòýð÷ îðñîí îð÷èíòîé õàðüöàíãóéãààð àâñàí çàì ãýäãèéã àíõààðíà óó, òèéìýýñ íèéòèéí õýðýãëýã÷äèéí õóâüä ~ftp/etc/ftpmotd àéëûã õýâëýõ áîëíî. FTP ñåðâåðèéí òîõèðãîîã çîõèõ ¼ñîîð õèéñíèé äàðàà, /etc/inetd.conf àéë äîòîð èäýâõæ³³ëýõ õýðýãòýé. ³íèé òóëä, ftpd ãýñýí ì°ðíèé °ìí°õ “#” òýìäýãòèéã àðèëãàõàä õàíãàëòòàé: ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Example 29-1 õýñýãò òàéëáàðëàñàí ¼ñîîð ýíý òîõèðãîîíû àéëä °°ð÷ë°ëò îðóóëñíû äàðàà inetd-ã äàõèí à÷ààëàõ øààðäëàãàòàé. °ðèéí ñèñòåì äýýð inetd-ã èäýâõæ³³ëýõ òàëààð äýëãýðýíã³éã Section 29.2.2-ñ ³çíý ³³.
Ì°í ftpd-èéã äàíãààð íü àæèëëóóëàõààð òîõèðóóëæ áîëíî. Ýíý òîõèîëäîëä /etc/rc.conf àéëä òîõèðîõ õóâüñàã÷èéã òîõèðóóëàõàä õàíãàëòòàé áàéäàã: ftpd_enable="YES"
Äýýðõ õóâüñàã÷èéã òîõèðóóëñíû äàðàà ñåðâåð äàðàà÷èéí à÷ààëàëò õèéõýä àæèëëàõ áîëîìæòîé áîëîõ á°ã°°ä ýñâýë äàðààõ òóøààëûã root ýðõýýð àæèëëóóëàí ýõë³³ëæ áîëíî: # /etc/rc.d/ftpd start
Îäîî òà äàðààõ òóøààëûã °ã°í FTP ñåðâåð ð³³ íýâòðýí îðæ áîëíî: % ftp localhost
29.8.3
Àð÷èëãàà
ftpd äýìîí á³ðòãýë õ°òë°õä°° syslog(3)-ã àøèãëàäàã. Àíõäàã÷ áàéäëààð, ñèñòåìèéí á³ðòãýëèéí äýìîí FTP-òýé õîëáîîòîé çóðâàñóóäûã /var/log/xferlog àéëä áè÷íý. FTP á³ðòãýëèéí àéëûí áàéðøëûã °°ð÷ë°õèéí òóëä /etc/syslog.conf àéë äîòîð, äàðààõ ì°ðèéã çàñàõ õýðýãòýé: ftp.info
/var/log/xferlog
Íèéòèéí FTP ñåðâåð àæèëëóóëàõàä òîõèîëäîõ áîëçîøã³é àñóóäëóóäûí òàëààð ìýäëýãòýé áàéãààðàé. ßëàíãóÿà, íèéòèéí õýðýãëýã÷äýä àéë áàéðøóóëàõûã ç°âø°°ð°õ òóõàéä ñàéí áîäîõ õýðýãòýé. Òàíû FTP ñàéò ëèöåíçã³é ïðîãðàì õàíãàìæóóäûã íàéìààëöäàã òàëáàð áîëîõ, ýñâýë ò³³íýýñ ÷ ìóó ç³éë òîõèîëäîõûã ³ã³éñãýõã³é. Õýðýâ íèéòèéí FTP áàéðøóóëàëòûã ç°âø°°ð°õ øààðäëàãàòàé áîë, àéëóóäûã íÿãòàëæ ³çýõýýñ íààø áóñàä íèéòèéí õýðýãëýã÷èä òýäãýýð àéëûã óíøèõ ýðõã³é áàéõààð òîõèðóóëæ °ã°õ õýðýãòýé. 29.9 Microsoft Windows
õàðèëöàã÷äàä çîðèóëñàí Ôàéë áîëîí
809
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Õýâëýõ éë÷èëãýý (Samba)
Õóâü íýìðýý îðóóëñàí Ìþððåé Ñò°³êëè. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë.
29.9.1
Åð°íõèé Àãóóëãà
Samba áîë Microsoft Windows õàðèëöàã÷äàä àéë áîëîí õýâëýõ ³éë÷èëãýý㠳糳ëäýã, °ðã°í õýðýãëýãääýã íýýëòòýé ýõèéí ïðîãðàì õàíãàìæèéí áàãö þì. Èéì ò°ðëèéí õàðèëöàã÷èä FreeBSD àéëûí îð÷èíä õîëáîãäîæ, àéëóóäûã °°ðèéí äèñêýí äýýð áàéãàà þì øèã, ýñâýë FreeBSD õýâëýã÷èéã °°ðèéí äîòîîä õýâëýã÷ øèã õýðýãëýõ áîëîìæòîé áîëäîã. Samba ïðîãðàì õàíãàìæèéí áàãöóóä òàíû FreeBSD ñóóëãàõ äèñêýíä îðñîí áàéãàà. Õýðýâ òà àíõ FreeBSD ñóóëãàõäàà Samba-ã õàìò ñóóëãààã³é áîë, net/samba3 ïîðò ýñâýë áàãöààñ ñóóëãàæ áîëíî.
29.9.2
Òîõèðãîî
Samba-í àíõäàã÷ òîõèðãîîíû àéë /usr/local/share/examples/samba/smb.conf.default ãýæ ñóóãäñàí áàéäàã. Ýíý àéëûã /usr/local/etc/smb.conf íýðòýé õóóëààä, Samba-ã àøèãëàæ ýõëýõýýñýý °ìí° °°ðò°° òààðóóëàí çàñâàðëàõ ¼ñòîé.
àéë íü Windows õàðèëöàã÷òàé õóâààëöàõ õ³ñýëòýé “àéë ñèñòåìèéí õýñýã” áà õýâëýã÷èéí òîäîðõîéëîëò ãýõ çýðýã Samba-í àæèëëàõ ³åèéí òîõèðãîîíû ìýäýýëëèéã àãóóëæ áàéäàã. Samba áàãö äîòîð smb.conf àéë äýýð àæèëëàõ õÿëáàð àðãà çàìûã õàíãàñàí swat íýðòýé âýá äýýð ñóóðèëñàí õýðýãñýë õàìò èðäýã. smb.conf
29.9.2.1 Samba-ã Âýáýýð Óäèðäàõ Õýðýãñýë (SWAT)
Samba Web Administration Tool áóþó Samba-ã Âýáýýð Óäèðäàõ Õýðýãñýë (SWAT) íü inetd-í äýìîí õýëáýðýýð àæèëëàíà. Òèéìýýñ, Samba-ã swat àøèãëàí òîõèðóóëàõûí °ìí° /etc/inetd.conf äîòîðõ äàðààõ ì°ðèéã èë ãàðãàõ øààðäëàãàòàé: swat
stream
tcp
nowait/400
root
/usr/local/sbin/swat
swat
Example 29-1 õýñýãò òàéëáàðëàñàí ¼ñîîð, ýíý òîõèðãîîíû àéëä °°ð÷ë°ëò îðóóëñíû äàðàà inetd-èéí òîõèðãîîã äàõèí à÷ààëàõ øààðäëàãàòàé. swat-ã inetd.conf äîòîð èäýâõæ³³ëñíèé äàðàà, âýá õ°ò°÷ àøèãëàí http://localhost:901 õàÿãàíä õîëáîãäîíî. Òà ýõëýýä ñèñòåìèéí root äàíñààð íýâòýð÷ îðîõ ¼ñòîé. Samba-í òîõèðãîîíû ³íäñýí õóóäñàíä àìæèëòòàé íýâòýð÷ îðñîí áîë, ñèñòåìèéí áàðèìòóóäààð àÿëàõ, ýñâýë Globals öýñýí äýýð äàðæ òîõèðãîîã õèéõ áîëîìæòîé áîëíî. Globals õýñýã /usr/local/etc/smb.conf àéëûí [global] õýñýãò áàéãàà õóâüñàã÷äàä õàðãàëçàíà. 29.9.2.2 ëîáàë òîõèðãîî
swat-ã õýðýãëýæ áàéãàà ýñâýë /usr/local/etc/smb.conf-ã ãàðààðàà çàñàæ áàéãàà àëü íü ÷ áàé, Samba-ã òîõèðóóëàõ ÿâöàä òààðàëäàõ õàìãèéí ýõíèé äèðåêòèâóóä áîë:
workgroup
Ýíý íü ñåðâåð ð³³ õàíäàõ êîìïüþòåðóóäûí NT Äîìýéí-Íýð ýñâýë Àæëûí á³ëãèéí-Íýð.
810
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä netbios name
Ýíý äèðåêòèâ Samba ñåðâåðèéí NetBIOS íýðèéã çààíà. Àíõäàã÷ áàéäëààð, õîñòûí DNS íýðèéí ýõíèé õýñýãòýé àäèë áàéíà. ñåðâåðèéí ì°ð
Ýíý äèðåêòèâ net view òóøààëûí õàðèóä ãàð÷ èðýõ ýñâýë çàðèì ñ³ëæýýíèé õýðýãñë³³ä äýýð ýíý ñåðâåðèéã ò°ë°°ëæ ãàðàõ ì°ðèéã çààíà.
29.9.2.3 Àþóëã³é áàéäëûí Òîõèðãîî
/usr/local/etc/smb.conf äîòîðõ õàìãèéí ÷óõàë õî¼ð òîõèðãîî áîë àþóëã³é áàéäëûí çàãâàð, áîëîí õàðèëöàã÷äûí íýâòðýõ ³ãèéí àðûí øóãàìíû õýëáýð þì. Äàðààõ äèðåêòèâ³³ä ýäãýýð òîõèðóóëãóóäûã õÿíàíà: security
Ýíä õàìãèéí ýëáýã õýðýãëýãääýã õî¼ð ñîíãîëò áîë security = share áà security = user þì. Õýðýâ òàíàé õàðèëöàã÷ íàð FreeBSD ìàøèí äýýð õýðýãëýäýã õýðýãëýã÷èéí íýðòýé èæèë íýðèéã àøèãëàäàã áîë, user ò³âøíèé àþóëã³é áàéäëûã ñîíãîõûã õ³ñýæ áàéæ ìàãàäã³é. Ýíý áîë àþóëã³é áàéäëûí àíõäàã÷ áîäëîãî á°ã°°ä ýõ ³³ñâýðò õàíäàõààñ °ìí° õàðèëöàã÷èéã ñèñòåìä íýâòýð÷ îðîõûã øààðäàíà. share ò³âøíèé àþóëã³é áàéäàëä, õàðèëöàã÷èä ýõ ³³ñâýðò õàíäàõààñ °ìí° õ³÷èí ò°ã°ëä°ð õýðýãëýã÷èéí íýð áîëîí íýâòðýõ ³ãýýð ñåðâåð ð³³ íýâòðýí îðîõ øààðäëàãàã³é áàéäàã. Ýíý áîë Samba-í õóó÷èí õóâèëáàðóóäûí õóâüä àþóëã³é áàéäëûí àíõäàã÷ çàãâàð áàéñàí. passdb backend
Samba-ä õýä õýäýí ò°ðëèéí àðûí øóãàìíû ìàãàäëàõ çàãâàðóóä áàéäàã. Õàðèëöàã÷äûã LDAP, NIS+, SQL °ã°ãäëèéí ñàí, ýñâýë õóâèðãàñàí íýâòðýõ ³ãèéí àéëààð ìàãàäëàæ áîëíî. Àíõäàã÷ ìàãàäëàõ àðãà áîë smbpasswd á°ã°°ä áèä ç°âõ°í ýíý òàëààð àâ÷ ³çýõ áîëíî.
Àíõäàã÷ smbpasswd àðûí øóãàìûã õýðýãëýæ áàéãàà ãýæ ³çâýë, Samba õàðèëöàã÷äûã ìàãàäëàõûí òóëä /usr/local/private/smbpasswd àéëûã ýõëýýä ³³ñãýõ ¼ñòîé. Õýðýâ UNIX õýðýãëýã÷èéí ýðõýýð Windows õàðèëöàã÷ààñ õàíääàã áàéõ øààðäëàãàòàé áîë, äàðààõ òóøààëûã õýðýãëýíý: # smbpasswd -a username
Note: Samba 3.0.23c-ààñ ýõëýýä íýâòðýëòèéí àéëóóäàä çîðèóëñàí ñàí íü /usr/local/etc/samba
ñàí þì. Ýíý ³åä ñàíàë áîëãîäîã àðûí ìýäýýëëèéí ñàí íü tdbsam á°ã°°ä õýðýãëýã÷èéí á³ðòãýëèéã íýìýõèéí òóëä äàðààõ òóøààëûã àøèãëàõ ¼ñòîé: # pdbedit -a -u username
Òîõèðóóëãóóäûí òàëààð íýìýëò ìýäýýëëèéã Àëáàí ¼ñíû Samba HOWTO (http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/)-ñ îëæ àâíà óó. Ýíä öóõàñ äóðäñàí ³íäñýí ìýäëýãòýéãýýð Samba-ã àæèëëóóëæ ýõëýõ ÷àäâàðòàé áàéõ ¼ñòîé.
811
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
ã Ýõë³³ëýõ íü
29.9.3 Samba-
ïîðòîä Samba-ã óäèðäàõàä çîðèóëñàí øèíý ýõëýë ñêðèïò îðñîí áàéãàà. Ýíý ñêðèïòèéã èäýâõæ³³ëýõèéí òóëä, °°ð°°ð õýëáýë ýíý ñêðèïòèéã àøèãëàí Samba-ã ýõë³³ëýõ, çîãñîîõ áîëîí äàõèí ýõë³³ëäýã áîëîõûí òóëä, /etc/rc.conf àéë äîòîð äàðààõ ì°ðèéã íýìæ áè÷èõ õýðýãòýé: net/samba3
samba_enable="YES"
Ýñâýë èë³³ íàðèéíààð äîîð äóðäñàí øèã òîõèðóóëæ áîëíî: nmbd_enable="YES" smbd_enable="YES" Note: Èíãýñíýýð ì°í Samba-ã ñèñòåì à÷ààëàõ ³åä àâòîìàòààð ýõë³³ëäýã áîëãîíî.
³íèé äàðàà õ³ññýí ³åäýý Samba-ã ýõë³³ëýõèéí òóëä äàðààõ òóøààëûã °ã°õ°ä õàíãàëòòàé: # /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs : Starting nmbd. Starting smbd.
rc ñêðèïòèéã àøèãëàõ òàëààð äýëãýðýíã³é ìýäýýëëèéã Section 11.7 õýñãýýñ àâíà óó.
Samba íü ³íýí õýðýãòýý ãóðâàí òóñäàà äýìîíîîñ òîãòîíî. nmbd áà smbd äýìîíóóä samba ñêðèïòýýð ýõë³³ëäýã áîëîõûã òà àíçààðàõ áîëíî. Õýðýâ smb.conf äîòîð winbind íýð òàéëàõ ³éë÷èëãýýã èäýâõæ³³ëñýí áîë winbindd äýìîí áàñ àæèëëàæ ýõýëñýí áîëîõûã õàðæ áîëíî. Samba-ã õ³ññýí ³åäýý çîãñîîõûí òóëä äàðààõ òóøààëûã °ã°õ°ä õàíãàëòòàé: # /usr/local/etc/rc.d/samba stop
Samba áîë Microsoft Windows ñ³ëæýýòýé °ðã°í õ³ðýýíä íýãäìýë àæèëëàõ áîëîìæèéã îëãîäîã íàðèéí ò°â°ãòýé ïðîãðàìûí öîãö þì. Ýíä òàéëáàðëàñàí ³íäñýí ñóóëãàöààñ õàëüñàí óíêöóóäûí òàëààð äýëãýðýíã³é ìýäýýëëèéã http://www.samba.org õàÿãààð îðæ àâíà óó.
29.10 NTP-
ð Öàã Òààðóóëàõ íü
Õóâü íýìðýý îðóóëñàí Òîì Õ°³êèíñ. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 29.10.1
Åð°íõèé Àãóóëãà
Öàã õóãàöàà °íã°ð°õ°ä êîìïüþòåðèéí öàã ç°ð°õ õàíäëàãàòàé áàéäàã. Network Time Protocol áóþó ѳëæýýíèé Öàãèéí Ïðîòîêîëûã(NTP) öàãèéã ç°â áàéëãàõ, ç°â àæèëëóóëàõàä õýðýãëýäýã. Îëîí òîîíû Èíòåðíýò ³éë÷èëãýýí³³ä êîìïüþòåðèéí öàãààñ õàìààð÷, ýñâýë õ³ðòýæ àæèëëàäàã. Æèøýýëáýë, âýá ñåðâåð òîäîðõîé öàãààñ õîéø °°ð÷ë°ëò îðñîí àéëóóäûã èëãýýõ õ³ñýëò õ³ëýýí àâñàí áàéæ áîëîõ þì. Äîòîîä ñ³ëæýýíèé îð÷èíä, íýã àéë ñåðâåðýýð ³éë÷ë³³ëæ áàéãàà êîìïüþòåðóóäûí
812
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
õóâüä àéëûí öàãèéí òàìãà ä³éæ áàéõûí òóëä òýäãýýðèéí öàãóóä õîîðîíäîî òîõèð÷ áàéõ ¼ñòîé. cron(8) çýðýã ³éë÷èëãýýí³³ä òîäîðõîé öàãò òóøààëûã ã³éöýòãýõèéí òóëä ñèñòåìèéí öàãò á³ðýí íàéäàæ àæèëëàäàã.
FreeBSD ntpd(8) NTP ñåðâåðèéí õàìò èðäýã. ntpd(8) NTP íü òàíû ìàøèíû öàãèéã òààðóóëàõûí òóëä áóñàä NTP ñåðâåð³³äýýñ àñóóõ ýñâýë áóñäàä öàãèéí ìýäýýëëèéã ò³ãýýõ ³éë÷èëãýý㠳糳ëäýã.
29.10.2
Çîõèìæòîé NTP Ñåðâåðèéã Ñîíãîõ íü
Öàãàà òààðóóëàõûí òóëä, òà íýã áîëîí ò³³íýýñ äýýø òîîíû NTP ñåðâåðèéã õýðýãëýõ õýðýãòýé áîëíî. Òàíàé ñ³ëæýýíèé àäìèíèñòðàòîð ýñâýë ISP ³³íä çîðèóëñàí NTP ñåðâåðòýé áàéæ áîëîõ þì—òèéì ýñýõèéã òýäíèé çààâðààñ øàëãàíà óó. íèéòýä çîðèóëñàí NTP ñåðâåð³³äèéí îíëàéí æàãñààëò (http://ntp.isc.org/bin/view/Servers/WebHome)ûã àøèãëàí °°ðò°° îéðõîí áàéãàà NTP ñåðâåðèéã îëíî óó. Ñîíãîæ àâñàí ñåðâåðèéíõýý àøèãëàõ æóðìûã ñóäëààðàé. Ì°í õýðýâ øààðäëàãàòàé áîë ç°âø°°ð°ë àâààðàé. Òàíû ñîíãîñîí ñåðâåð õîëáîãäîõ áîëîìæã³é, ýñâýë öàã íü á³ðýí èòãýæ áîëîõîîðã³é ³å ãàðàõ òóë, õîîðîíäîî õàìààðàëã³é õýä õýäýí NTP ñåðâåð³³äèéã ñîíãîõ íü õàìãèéí ç°â ñîíãîëò áîëäîã. ntpd(8) áóñàä ñåðâåðýýñ õ³ëýýí àâñàí õàðèóëòóóäûã ìàø óõààëãààð õýðýãëýäýã—èòãýæ áîëîõ ñåðâåð³³äèéã èë³³ àâ÷ ³çäýã. 29.10.3
°ðèéí Ìàøèíûã Òîõèðóóëàõ íü
29.10.3.1 íäñýí Òîõèðãîî
Õýðýâ òà ìàøèí àñàõàä öàãàà òààðóóëàõ õ³ñýëòýé áàéãàà áîë, ntpdate(8)-ã àøèãëàæ áîëíî. Ýíý íü îëîí äàõèí òààðóóëàõ øààðäëàãàã³é, îéð îéðõîí àñààæ óíòðààäàã øèðýýíèé êîìïüþòåðèéí õóâüä çîõèìæòîé áàéæ áîëîõ þì. ýõäýý èõýíõ ìàøèíû õóâüä ntpd(8)-ã àæèëëóóëàõ íü ç³éòýé. Ñèñòåì à÷ààëàõ ³åä ntpdate(8)-ã àøèãëàõ íü ntpd(8) àæèëëàæ áàéãàà ìàøèíóóäûí õóâüä ç°â ñàíàà þì. Ó÷èð íü ntpd(8) ïðîãðàì íü öàãèéã àëãóóð °°ð÷èëä°ã áàéõàä, ntpdate(8) ìàøèíû îäîîãèéí öàã áîëîí ç°â öàãûí õîîðîíä õèð èõ ÿëãàà áàéãààã ³ë õàéõðàí öàãèéã òààðóóëäàã. ntpdate(8)-ã ñèñòåì à÷ààëàõ ³åä èäýâõæ³³ëýõèéí òóëä, ntpdate_enable="YES" ãýñýí ì°ðèéã /etc/rc.conf àéëä íýìýõ õýðýãòýé. Ì°í öàã àâàõ ãýæ áàéãàà á³õ ñåðâåð³³ä áîëîí ntpdate(8)-ä °ã°õ òóãóóäûã ntpdate_flags-ä çààæ °ã°õ õýðýãòýé. 29.10.3.2 Åð°íõèé Òîõèðãîî
NTP-ã /etc/ntp.conf àéëûí òóñëàìæòàé, ntp.conf(5)-ä çààñàí õýëáýðýýð òîõèðóóëíà. Äîîð õÿëáàð æèøýý㠳糳ëýâ:
server ntplocal.example.com prefer server timeserver.example.org server ntp2a.example.net driftfile /var/db/ntp.drift
813
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
òîõèðóóëãààð ÿìàð ñåðâåð³³äèéã àøèãëàõûã çààíà. Íýã ì°ð°íä íýã ñåðâåðèéã áè÷íý. Õýðýâ àëü íýã ñåðâåðèéã prefer ãýñýí àðãóìåíòààð îíöîëñîí áîë, ntplocal.example.com øèã, òýð ñåðâåðèéã áóñäààñ èë³³ä ³çíý. Èë³³ä ³çñýí ñåðâåðýýñ èðñýí õàðèó áóñàä ñåðâåð³³äèéí õàðèóíààñ ìýäýãäýõ³éöýýð ç°ðæ áàéãàà ³åä õàðèóã òîîõã³é °íã°ð°°í°. Ò³³íýýñ áóñàä òîõèîëäîëä áóñàä ñåðâåðèéí õàðèóã ³ë õàðãàëçàí òýð ñåðâåðèéí õàðèóã õýðýãëýõ áîëíî. prefer àðãóìåíòèéã åð íü °íä°ð íàðèéâ÷ëàëòàé, òóñãàé öàã õÿíàäàã òîíîã ò°õ°°ð°ìæ äýýð òóëãóóðëàñàí NTP ñåðâåðèéí õóâüä õýðýãëýíý. driftfile òîõèðóóëãààð ÿìàð àéëä ñèñòåìèéí öàãèéí àëäàõ ç°ð³³ óòãûã õàäãàëæ áàéãààã çààíà. ntpd(8) ïðîãðàì ýíý óòãûã àøèãëàí öàãèéí àëäñàí ç°ð³³ã àâòîìàòààð í°õí°. Èíãýñíýýð öàãèéí á³õ ãàäààä ýõ ³³ñâýð³³äòýé õîëáîî òîãòîîõ áîëîìæã³é áîëñîí ³åä, õýñýã õóãàöààíû òóðøèä ÷ ãýñýí öàãèéã õàðüöàíãóé ç°â àæèëëóóëàõ áîëîìæèéã îëãîíî. driftfile òîõèðóóëãààð ÿìàð àéëä òàíû çààæ °ãñ°í NTP ñåðâåð³³äèéí °ìí°õ õàðèóíóóäûí òóõàé ìýäýýëëèéã õàäãàëæ áàéãààã çààíà. Ýíý àéëä NTP-í äîòîîä ³éë àæèëëàãààíû ìýäýýëëèéã õàäãàëäàã. Ýíý ìýäýýëëèéã °°ð ÿìàð ÷ ïðîöåññ °°ð÷ë°õ ¼ñã³é. server
29.10.3.3 °ðèéí Ñåðâåð ð³³ Õàíäàõ Õàíäàëòûã Õÿíàõ íü
Àíõäàã÷ áàéäëààð, òàíû NTP ñåðâåð ð³³ Èíòåðíýòýä áàéãàà á³õ õîñò õàíäàõ áîëîìæòîé. àéë äîòîð restrict òîõèðóóëãààð ÿìàð ìàøèíóóä òàíû ñåðâåð ð³³ õàíäàæ áîëîõûã õÿíàæ áîëíî. Õýðýâ òà °°ðèéí NTP ñåðâåð ð³³ õýíèéã ÷ õàíäóóëàõûã õ³ñýõã³é áàéãàà áîë /etc/ntp.conf àéë äîòîð äàðààõ ì°ðèéã íýìýõ õýðýãòýé:
/etc/ntp.conf
restrict default ignore Note: Ýíý íü òàíû ñåðâåðýýñ °°ðèéí ÷èíü ëîêàë òîõèðãîîíä æàãñààãäñàí àëü ÷ ñåðâåð ³ð³³ õàíäàõ áîëîìæèéã áàñ õààíà. Õýðýâ òà °°ðèéí NTP ñåðâåðèéã ãàäààä NTP ñåðâåðòýé ñèíõðîí÷ëîõ õýðýãòýé áîë ÿìàð íýã ñåðâåðèéã ç°âø°°ð°õ ¼ñòîé. Äýëãýðýíã³é ìýäýýëëèéã ntp.conf(5) ãàðûí àâëàãààñ ³çíý ³³.
Õýðýâ òà ç°âõ°í °°ðèéí ñ³ëæýýíä áàéãàà ìàøèíóóäûã òàíû ñåðâåðòýé öàãàà òààðóóëàõûã ç°âø°°ð°°ä, ãýõäýý òàíû ñåðâåðèéí òîõèðãîîã °°ð÷ë°õ áîëîí òýãø ýðõòýé ñåðâåð³³ä øèã öàãèéí ìýäýýëëèéã õóâààõûã ç°âø°°ð°õã³é áîë äýýð äóðäñàíû îðîíä: restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
ãýñýí ì°ðèéã áè÷íý ³³. Ýíä 192.168.1.0 íü òàíû ñ³ëæýýíèé IP õàÿã, 255.255.255.0 íü òàíû ñ³ëæýýíèé áàã áîëíî. /etc/ntp.conf äîòîð îëîí òîîíû restrict òîõèðóóëãóóä áàéæ áîëíî. Èë³³ äýëãýðýíã³é ìýäýýëëèéã ntp.conf(5)-í Õàíäàëòûã Óäèðäàõ Äýìæëýã äýä õýñãýýñ ³çíý ³³. 29.10.4 NTP
Ñåðâåðèéã Àæèëëóóëàõ íü
NTP ñåðâåðèéã ñèñòåì à÷ààëàõ ³åä ýõë³³ëýõèéí òóëä, ntpd_enable="YES" ãýñýí ì°ðèéã /etc/rc.conf àéëä íýìæ áè÷èõ õýðýãòýé. Õýðýâ ntpd(8)-ä íýìýëò òóãóóäûã °ã°õ õ³ñýëòýé áîë, /etc/rc.conf àéëä áàéãàà ntpd_flags ïàðàìåòðèéã çàñàõ õýðýãòýé.
814
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Ìàøèíûã äàõèí à÷ààëàëã³éãýýð ñåðâåðèéã ýõë³³ëýõèéí òóëä, ntpd òóøààëûã /etc/rc.conf-ä çààñàí ntpd_flags íýìýëò ïàðàìåòð³³äèéí õàìòààð °ã°õ õýðýãòýé. Æèøýýëáýë: # ntpd -p /var/run/ntpd.pid
ã Ò³ð çóóðûí Èíòåðíýò Õîëáîëòòîé ³åä Õýðýãëýõ íü
29.10.5 ntpd-
ntpd(8) ïðîãðàì ç°â àæèëëàõûí òóëä áàéíãûí Èíòåðíýò õîëáîëò øààðäëàãàã³é. ýõäýý, õýðýãöýýòýé ³åäýý ãàäàãøàà çàëãàäàã òèéì ò°ðëèéí ò³ð çóóðûí õîëáîëòòîé áîë, NTP òðàèêèéã ãàäàãøàà çàëãàõ áîëîí õîëáîëòûã áàðèàä áàéõààñ ñýðãèéëýõ íü ÷óõàë. Õýðýâ òà PPP õýðýãëýäýã áîë, /etc/ppp/ppp.conf àéë äîòîð áàéãàà filter äèðåêòèâèéã àøèãëàæ áîëíî. Æèøýý íü: set filter dial 0 deny udp src eq 123 # Prevent NTP traffic from initiating dial out set filter dial 1 permit 0 0 set filter alive 0 deny udp src eq 123 # Prevent incoming NTP traffic from keeping the connection open set filter alive 1 deny udp dst eq 123 # Prevent outgoing NTP traffic from keeping the connection open set filter alive 2 permit 0/0 0/0
Äýëãýðýíã³é ìýäýýëëèéã ppp(8)-í PACKET áàéãàà æèøýýí³³äýýñ àâ÷ áîëíî.
FILTERING
õýñãýýñ áîëîí /usr/share/examples/ppp/-ä
Note: Çàðèì Èíòåðíýò ³éë÷èëãýý ³ç³³ëýã÷èä áàãà äóãààðòàé ïîðòóóäûã õààñàí áàéäàã á°ã°°ä èíãýñíýýð õàðèó íü òàíû ìàøèíä õýçýý ÷ õ³ðýõã³é áîëæ NTP àæèëëàõã³é áîëäîã.
29.10.6
Öààøèõ Ìýäýýëýë
NTP ñåðâåðèéí áàðèìòæóóëàëòûã HTML õýëáýðýýð /usr/share/doc/ntp/-ñ îëæ ³çýæ áîëíî.
29.11 syslogd
àøèãëàí àëñûí õîñò ðóó á³ðòãýõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Ñèñòåìèéí á³ðòãýëòýé àæèëëàõ íü àþóëã³é áàéäëûí áîëîîä ñèñòåìèéã óäèðäàõ àæèëëàãààíû ÷óõàë àñóóäàë þì. Õîñòóóä äóíä çýðãèéí ýñâýë òîì ñ³ëæýýíä òàðõñàí ýñâýë òýäãýýð íü ò°ð°ë á³ðèéí îëîí ÿíçûí ñ³ëæýýíèé õýñýã áîëñîí áàéõ òîõèîëäîëä ýäãýýð îëîí õîñòûí á³ðòãýëèéí àéëóóäûã ìîíèòîð õèéõ íü èõýýõýí ò°â°ãòýé áîëäîã. Ýíý òîõèîëäîëä àëñààñ á³ðòãýõèéã òîõèðóóëàõ íü á³õ ë ïðîöåññèéã èë³³ òóõòàé áîëãîäîã. Òóñãàéëàí çààñàí á³ðòãýõ õîñò ðóó ò°âë°ð³³ëýí á³ðòãýõ íü á³ðòãýëèéí àéëûí óäèðäëàãàòàé õîëáîîòîé çàðèì õ³íäðýë³³äèéã áàãàñãàæ ÷àääàã. syslogd(8) áîëîí newsyslog(8) çýðýã FreeBSD-èéí ýõ õýðýãñë³³äèéã àøèãëàí á³ðòãýëèéí àéëûí öóãëóóëãà, íèéë³³ëýëò áîëîí áàãàñãàëòûã íýã ãàçàð òîõèðóóëæ áîëäîã. Äàðààõ æèøýý òîõèðãîîíä logserv.example.com ãýæ íýðëýãäñýí õîñò A ëîêàë
815
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
ñ³ëæýýíýýñ á³ðòãýëèéí ìýäýýëëèéã öóãëóóëàõ áîëíî. logclient.example.com ãýæ íýðëýãäñýí õîñò B á³ðòãýëèéí ìýäýýëëèéã ñåðâåð ñèñòåì ð³³ äàìæóóëàõ áîëíî. Æèíõýíý òîõèðãîîíä ýäãýýð õîñòóóä çîõèõ äàìæóóëàõ áîëîí áóöàõ DNS ýñâýë /etc/hosts àéëä îðóóëãóóä øààðäàíà. Òýãýõã³é áîë °ã°ãäëèéã ñåðâåð õ³ëýýí àâàõã³é òàòãàëçàõ áîëíî. 29.11.1
Á³ðòãýëèéí ñåðâåðèéí òîõèðãîî
Á³ðòãýëèéí ñåðâåð³³ä íü àëñûí õîñòóóäààñ á³ðòãýëèéí ìýäýýëëèéã õ³ëýýí àâàõààð òîõèðóóëàãäñàí ìàøèíóóä þì. Èõýíõ òîõèîëäîëä ýíý íü òîõèðãîîã õÿëáàð áîëãîõ çîðèëãîòîé á°ã°°ä çàðèì òîõèîëäîëä ýíý íü óäèðäëàãûã àðàé ñàéæðóóëæ áàéãàà õýëáýð áàéæ áîëîõ þì. Àëü ÷ øàëòãààí áàéñàí ãýñýí ³ðãýëæë³³ëýõýýñýý °ìí° ö°°í õýäýí øààðäëàãûã äóðäúÿ. Ç°â òîõèðóóëñàí á³ðòãýëèéí ñåðâåð äàðààõ õàìãèéí áàãà øààðäëàãûã õàíãàñàí áàéõ øààðäëàãàòàé: Êëèåíò áîëîí ñåðâåð äýýð 514-ð ïîðò ðóó UDP-ã äàìæóóëàõ áîëîìæèéã á³ðä³³ëýõ ãàëò õàíàíû ä³ðýì; • Êëèåíò ìàøèíààñ àëñûí ìýäýãäë³³äèéã õ³ëýýí àâàõààð syslogd òîõèðóóëàãäñàí áàéõ; • syslogd ñåðâåð áîëîí á³õ êëèåíò ìàøèíóóä íü äàìæóóëàõ áîëîí áóöàõ DNS-èéí õóâüä ç°â îðóóëãóóäòàé ýñâýë /etc/hosts àéëä ç°â òîõèðóóëñàí áàéõ øààðäëàãàòàé. Á³ðòãýëèéí ñåðâåðèéã òîõèðóóëàõûí òóëä êëèåíò íü /etc/syslog.conf-ä íýìýãäñýí áàéõ ¼ñòîé á°ã°°ä á³ðòãýõ áîëîìæèéã çààæ °ãñ°í áàéõ øààðäëàãàòàé: •
+logclient.example.com /var/log/logclient.log *.* Note: Ò°ð°ë á³ðèéí äýìæèãäñýí, áàéãàà facility áóþó áîëîìæóóäûí syslog.conf(5) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî.
òàëààðõ äýëãýðýíã³é ìýäýýëëèéã
Íýìñýíèé äàðàà á³õ facility ìýäýãäë³³ä °ìí° çààñàí /var/log/logclient.log àéë ðóó á³ðòãýãäýõ áîëíî. Ñåðâåð ìàøèí äàðààõ òîõèðãîîã áàñ /etc/rc.conf àéëäàà õèéñýí áàéõ øààðäëàãàòàé: syslogd_enable="YES" syslogd_flags="-a logclient.example.com -vv"
Ýõíèé òîõèðãîî íü syslogd äåìîíûã ýõë³³ëýõèéã çààõ á°ã°°ä õî¼ð äàõü íü êëèåòèéí °ã°ãäëèéã ýíý ñåðâåð äýýð õ³ëýýí àâàõûã ç°âø°°ðí°. ѳ³ëèéí -vv õýñýã íü á³ðòãýæ áàéãàà ìýäýãäë³³äèéí ãàðàëòûã èë³³ äýëãýðýíã³é áîëãîíî. Ýíý íü facility-ã òîõèðóóëàõàä èõýýõýí àøèãòàé áàéäàã. Àäìèíèñòðàòîðóóä ÿìàð ò°ðëèéí ìýäýãäë³³ä ÿìàð facility-ð á³ðòãýãäýæ áàéãààã õÿíàõ áîëîìæèéã ýíý íü á³ðä³³ëäýã. Îëîí êëèåíòýýñ á³ðòãýëèéã õ³ëýýí àâàõûí òóëä îëîí -a ñîíãîëòûã çààæ °ã÷ áîëíî. IP õàÿãóóä áîëîí á³õýë ñ³ëæýýíèé áëîêèéã áàñ çààæ °ã÷ áîëîõ á°ã°°ä áîëîìæèò ñîíãîëòóóäûí á³õ æàãñààëòûã syslog(3) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Ò°ãñã°ëä íü á³ðòãýëèéí àéëûã ³³ñãýõ õýðýãòýé. Õýðýãëýãñýí àðãà íü õàìààã³é áîëîâ÷ touch(1) ³³íòýé àäèë òîõèîëäëóóäàä ñàéí àæèëëàäàã: # touch /var/log/logclient.log
816
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä
Ýíý ³åä syslogd äåìîíûã äàõèí àæèëëóóëæ øàëãàõ ¼ñòîé: # /etc/rc.d/syslogd restart # pgrep syslog
Õýðýâ PID áóöààãäâàë ñåðâåð íü àìæèëòòàé äàõèí ýõýëñýí ãýñýí ³ã á°ã°°ä êëèåíòèéí òîõèðãîî àæèëëàæ ýõýëíý. Õýðýâ ñåðâåð äàõèí ýõëýýã³é áîë ÿìàð íýã ç³éë áîëñîí ýñýõèéã /var/log/messages àéë äàõü ìýäýãäë³³äýýñ øàëãààðàé. 29.11.2
Êëèåíòèéí á³ðòãýëèéí òîõèðãîî
Á³ðòãýë èëãýýã÷ êëèåíò íü °°ð äýýðýý õóóëáàðàà ³ëäýýõýýñ ãàäíà áàñ á³ðòãýëèéí ñåðâåð ð³³ á³ðòãýëèéí ìýäýýëëèéã ÿâóóëäàã ìàøèí þì. Á³ðòãýëèéí ñåðâåð³³äèéí íýãýí àäèë êëèåíò³³ä íü áàñ õàìãèéí áàãà øààðäëàãûã õàíãàñàí áàéõ ¼ñòîé: •
syslogd(8) íü á³ðòãýëèéí ñåðâåð õ³ëýýí àâàõ ¼ñòîé çààñàí ò°ðëèéí ìýäýãäë³³äèéã á³ðòãýëèéí ñåðâåð ð³³ èëãýýõýýð òîõèðóóëàãäñàí áàéõ ¼ñòîé;
àëò õàíà UDP ïàêåòóóäûã 514-ð ïîðò ðóó ç°âø°°ð°õ ¼ñòîé; • Äàìæóóëàõ áîëîí áóöàõ DNS òîõèðóóëàãäñàí ýñâýë /etc/hosts àéë çîõèõ îðóóëãóóäòàé áàéõ øààðäëàãàòàé. Êëèåíòèéí òîõèðãîî íü ñåðâåðèéíõòýé õàðüöóóëàõ þì áîë àðàé ç°°ë°í áàéäàã. Êëèåíò ìàøèí íü /etc/rc.conf àéëäàà äàðààõèéã íýìæ °ãñ°í áàéõ øààðäëàãàòàé áàéäàã: •
syslogd_enable="YES" syslogd_flags="-s -vv"
ìí° äóðäñàíû àäèë ýäãýýð òîõèðãîîíóóä íü syslogd äåìîíûã à÷ààëæ ýõëýõýä ýõë³³ëýõèéã çààõ á°ã°°ä á³ðòãýõ ìýäýãäë³³äèéã äýëãýðýíã³éãýýð õàðóóëàõ áîëíî. -s ñîíãîëò íü áóñàä õîñòóóäààñ á³ðòãýëèéã ýíý êëèåíò õ³ëýýí àâàõààñ ñýðãèéëäýã. Facility íü ìýäýãäýë ³³ñãýãäýæ áàéãàà òýð ñèñòåìèéí õýñãèéã òàéëáàðëàäàã. Æèøýý íü ftp áîëîí ipfw íü õî¼óëàà facility þì. Ýäãýýð õî¼ð ³éë÷èëãýýíèé õóâüä á³ðòãýëèéí ìýäýãäë³³ä ³³ñýõýä èõýâ÷ëýí äýýðõ õî¼ð õýðýãñëèéã á³ðòãýëèéí ìýäýãäýë á³ðòýý àãóóëñàí áàéäàã. Facility íü á³ðòãýëèéí ìýäýãäýë ÿìàð ÷óõëûã òýìäýãëýõýä õýðýãëýãäýõ äàðààëàë ýñâýë ò³âøèíòýé áàéäàã. Õàìãèéí ò³ãýýìýë íü warning áà info þì. Áîëîìæèò á³õ facilty áîëîí äàðààëëóóäûí æàãñààëòûã syslog(3) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Á³ðòãýëèéí ñåðâåðèéã êëèåíòèéí /etc/syslog.conf àéëä çààñàí áàéõ øààðäëàãàòàé. Ýíý æèøýýí äýýð àëñûí ñåðâåð ð³³ á³ðòãýëèéí °ã°ãäëèéã èëãýýõèéí òóëä @ òýìäãèéã àøèãëàñàí á°ã°°ä äîîð äóðäñàí ì°ðòýé ò°ñòýé õàðàãäàíà: *.* @logserv.example.com
Íýìñýíèé äàðàà °°ð÷ë°ëòèéã õ³÷èíòýé áîëãîõûí òóëä syslogd-ã äàõèí ýõë³³ëýõ øààðäëàãàòàé: # /etc/rc.d/syslogd restart
ѳëæýýãýýð á³ðòãýëèéí ìýäýãäë³³äèéã èëãýýæ áàéãàà ýñýõèéã òåñò õèéõèéí òóëä êëèåíò äýýð logger(1)-ã àøèãëàæ ìýäýãäëèéã syslogd ðóó èëãýýíý:
817
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä # logger "Test message from logclient"
Ýíý ìýäýãäýë êëèåíò äýýðõ /var/log/messages áîëîí ñåðâåð äýýðõ /var/log/logclient.log àéëä îäîî îðñîí áàéõ ¼ñòîé. 29.11.3
Á³ðòãýëèéí ñåðâåð³³äèéã äèáàã õèéõ
Çàðèì òîõèîëäîëä õýðýâ á³ðòãýëèéí ñåðâåð äýýð ìýäýãäë³³ä íü õ³ëýýí àâàãäààã³é áîë äèáàã õèéõ øààðäëàãàòàé áàéæ áîëîõ þì. Õýä õýäýí øàëòãààíààñ áîëæ èéì áàéäàëä õ³ð÷ áîëîõ þì. Õàìãèéí ò³ãýýìýë õî¼ð íü ñ³ëæýýíèé õîëáîëòûí áîëîí DNS-òýé õîëáîîòîé àñóóäëóóä þì. Ýäãýýð òîõèîëäëóóäûã òåñò õèéõèéí òóëä õî¼ð õîñò õî¼óëàà /etc/rc.conf àéëä çààãäñàí õîñòûí íýðýýðýý íýã íýãýí ð³³ãýý õ³ð÷ ÷àäàæ áàéãààã øàëãàõ õýðýãòýé. Õýðýâ ýíý ç°â àæèëëàæ áàéãàà áîë /etc/rc.conf àéëä syslogd_flags òîõèðãîîã °°ð÷ë°õ øààðäëàãàòàé áîëíî. Äàðààõ æèøýýí äýýð /var/log/logclient.log íü õîîñîí á°ã°°ä /var/log/messages àéë íü àìæèëòã³é áîëñîí øàëòãààíûã õàðóóëíà. Äèáàã õèéæ áàéãàà ãàðàëòûã èë³³ äýëãýðýíã³é õàðóóëàõûí òóëä äàðààõ æèøýýòýé ò°ñòýéã°°ð syslogd_flags òîõèðóóëãûã °°ð÷èëæ äàõèí à÷ààëàõ õýðýãòýé: syslogd_flags="-d -a logclien.example.com -vv" # /etc/rc.d/syslogd restart
Äîîð äóðäñàíòàé ò°ñòýé äèáàã °ã°ãä°ë äàõèí à÷ààëñíû äàðàà äýëãýö äýýð õóðäàí ãàð÷ °íã°ðí°:
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart syslogd: restarted logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/ke Logging to FILE /var/log/messages syslogd: kernel boot file is /boot/kernel/kernel cvthname(192.168.1.10) validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com; rejected in rule 0 due to name mismatch.
Ìýäýãäë³³ä íýð ç°ðñí°°ñ áîëîîä äàìæèõã³é áàéãààã ýíäýýñ õàðæ áîëíî. Òîõèðãîîã àëõàì àëõìààð äàõèí øàëãàñíû äàðàà /etc/rc.conf äàõü äàðààõ ì°ð áóðóó áè÷èãäñýí á°ã°°ä àñóóäàëòàé áàéãààã îëæ õàðíà: syslogd_flags="-d -a logclien.example.com -vv"
Ýíý ì°ð logclien áèø logclient ãýäãèéã àãóóëñàí áàéõ ¼ñòîé. Ç°â áîëãîæ çàñàí äàõèí à÷ààëñíû äàðàà õ³ëýýæ áàéñàí ³ð ä³íãýý õàðàõ áîëíî: # /etc/rc.d/syslogd restart
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart syslogd: restarted logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/ke syslogd: kernel boot file is /boot/kernel/kernel logmsg: pri 166, flags 17, from logserv.example.com, msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2 cvthname(192.168.1.10) validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com; accepted in rule 0.
818
Chapter 29 ѳëæýýíèé îð÷íû Ñåðâåð³³ä logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2 Logging to FILE /var/log/logclient.log Logging to FILE /var/log/messages
Ýíý ³åä ìýäýãäë³³äèéã ç°â õ³ëýýí àâàí ç°â àéëä áè÷èõ áîëíî. 29.11.4
Àþóëã³é áàéäëûí õóâüä áîäîëöîõ ç³éëñ
ѳëæýýíèé àëü ÷ ³éë÷èëãýýíèé íýãýí àäèë ýíý òîõèðãîîã õèéõýýñýý °ìí° àþóëã³é áàéäëûí øààðäëàãóóäûã áîäîëöîõ ¼ñòîé. Çàðèìäàà á³ðòãýëèéí àéëóóä íü ëîêàë õîñò äýýð èäýâõæ³³ëñýí ³éë÷èëãýýí³³ä, õýðýãëýã÷äèéí á³ðòãýë áîëîí òîõèðãîîíû °ã°ãäëèéí òàëààðõ ýìçýã °ã°ãäë³³äèéã àãóóëñàí áàéæ áîëîõ þì. Êëèåíòýýñ ñåðâåð ð³³ èëãýýñýí ñ³ëæýýíèé °ã°ãä°ë íü øèðëýãäýýã³é ýñâýë íóóö ³ãýýð õàìãààëàãäààã³é áàéäàã. Õýðýâ øèðëýõ øààðäëàãàòàé áîë °ã°ãäëèéã øèðëýñýí õîîëîéãîîð äàìæóóëàõ security/stunnel õýðýãñëèéã àøèãëàæ áîëîõ þì. Ëîêàë àþóëã³é áàéäàë íü áàñ ë àñóóäàë þì. Á³ðòãýëèéí àéëóóä íü õýðýãëýæ áàéõàä þì óó ýñâýë á³ðòãýëèéí áàãàñãàõ ³åä øèðëýãääýãã³é. Ëîêàë õýðýãëýã÷èä ýäãýýð àéëóóäàä õàíäàæ ñèñòåìèéí òîõèðãîîíû òàëààð íýìýëò ìýäýýëýë îëæ àâ÷ áîëîõ þì. Èéì òîõèîëäîëä ýäãýýð àéëóóä äýýð ç°â ç°âø°°ðë³³äèéã òàâèõ íü ÷óõàë þì. newsyslog(8) õýðýãñýë íü øèíýýð ³³ñãýãäñýí áîëîí áàãàñãàãäñàí á³ðòãýëèéí àéëóóä äýýð ç°âø°°ð°ë òàâèõûã äýìæäýã. Á³ðòãýëèéí àéëóóä äýýð 600 ãîðèìûã òàâüñíààð õ³ñýýã³é ëîêàë õýðýãëýã÷èä òýäãýýðèéã øèíøëýõ áîëîìæèéã õààõ þì.
819
Chapter 30
àëò õàíà
Õóâü íýìýð áîëãîí îðóóëñàí Æîçå Æ. Áààðáèø. SGML óðóó õ°ðâ³³ëæ øèíý÷èëñýí Áðýä Äýéâèñ. Îð÷óóëñàí Ëîäîéñàìáûí Áàÿíçóë. 30.1
Òàíèëöóóëãà
àëò õàíûí òóñëàìæòàéãààð ñèñòåì óðóó îðæ áàéãàà áîëîí ò³³íýýñ ãàð÷ áàéãàà °ã°ãäëèéí óðñãàëûã ø³³í íýâòð³³ëýõ áîëîìæòîé áîëäîã. àëò õàíà íü ñ³ëæýýãýýð äàìæèí °íã°ð÷ áàéãàà ïàêåòóóäûã, “ä³ðì³³äýä” çààñíû äàãóó ýñâýë íýâòð³³ëýõ, ýñâýë õààõ ³³ðãèéã ã³éöýòãýäýã. àëò õàíûí ä³ðì³³ä íü ïàêåòèéã ïðîòîêîëûí ò°ð°ë, ýõëýë õîñò õàÿã, î÷èõ õîñò õàÿã, ýõëýë ïîðò õàÿã, î÷èõ ïîðò õàÿã çýðýã õýä õýäýí øèíæýýð íü øèíæëýõ áîëîìæèéã îëãîäîã. àëò õàíûã àøèãëàñíààð òóõàéí õîñòûí áîëîí ñ³ëæýýíèé àþóëã³é áàéäëûã íèëýýä íýìýãä³³ëæ ÷àäíà. àëò õàíûí òóñëàìæòàéãààð äàðààõ ç³éëñèéã õèéõ áîëîìæòîé : Äîòîîä ñ³ëæýýíä áàéðëàæ áàéãàà ñåðâåð ìàøèí, ò³³í äýýð àæèëëàæ áàéãàà ïðîãðàì ³éë÷èëãýýã Èíòåðíýòýýð äàìæèí îðæ èðæ áóé ãàäíû óðñãàëààñ õàìãààëàõ, òóñãààðëàõ. • Äîòîîä ñ³ëæýýíä áàéðëàæ áàéãàà õîñòîîñ Èíòåðíýò óðóó õàíäàõ õàíäàëòûã õààõ, õÿçãààðëàõ. • Network address translation áóþó ѳëæýýíèé Õàÿãèéí Õ°ðâ³³ëýëòèéã (NAT) äýìæèõ. °ð°°ð õýëáýë äîòîîä ñ³ëæýýíäýý õóâèéí IP õàÿã õýðýãëýæ, Èíòåðíýòýä ãàðàõäàà äóíäàà íýã õîëáîëòûã (íýã IP õàÿã ýñâýë àâòîìàòààð îíîîñîí á³ëýã õàÿãààð) õóâààí õýðýãëýõ. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: •
ïàêåòèéã ø³³í íýâòð³³ëýõ ä³ðì³³äèéã õýðõýí îíîâ÷òîéãîîð òîäîðõîéëîõ. • FreeBSD-òýé õàìò ñóóñàí ãàëò õàíàíóóäûí ÿëãàà. • OpenBSD-í PF ãàëò õàíûã õýðõýí òîõèðóóëàõ áîëîí õýðýãëýõ. • IPFILTER-ã õýðõýí òîõèðóóëàõ áîëîí õýðýãëýõ. • IPFW-ã õýðõýí òîõèðóóëàõ áîëîí õýðýãëýõ. Ýíý á³ëãèéã óíøèõààñàà °ìí°, òà äàðààõ ç³éëñèéã ìýäñýí áàéõ øààðäëàãàòàé: •
•
FreeBSD áîëîí Èíòåðíýòèéí òóõàé ³íäñýí îéëãîëò.
30.2
àëò õàíûí òóõàé îéëãîëòóóä
àëò õàíûí ä³ðì³³äèéã äàðààõ ³íäñýí õî¼ð ÿíçààð ³³ñãýæ áîëíî: “inclusive áóþó õàìààðóóëñàí” ýñâýë “exclusive áóþó õàìààðóóëààã³é”. Õàìààðóóëààã³é ãàëò õàíà íü ä³ðìýíä òîõèðñîí óðñãàëààñ áóñäûã íýâòð³³ëíý. Õàðèí õàìààðóóëñàí ãàëò õàíà áîë ýñðýãýýð íü, ä³ðìýíä òîõèðñîí óðñãàëûã íýâòð³³ëæ áóñäûã õààíà. Áîëîõã³é óðñãàëûã ãàëò õàíààð íýâòð³³ëýõ ýðñäýëèéã áàãàñãàäàã ó÷ðààñ õàìààðóóëñàí ãàëò õàíà íü õàìààðóóëààã³é ãàëò õàíûã áîäâîë èë³³òýéãýýð àþóëã³é áàéäëûã õàíãàæ ÷àääàã.
820
Chapter 30 àëò õàíà “Ò°ë°âò ãàëò õàíûã” àøèãëàí àþóëã³é áàéäëûã öààø èë³³ ñàéæðóóëàõ áîëîìæòîé. Ò°ë°âò ãàëò õàíà íü ãàëò õàíààð äàìæèí òîãòñîí õîëáîëòóóäûã á³ðòãýæ, ç°âõ°í òààð÷ áàéãàà òîãòñîí õîëáîëòîîð ýñâýë øèíý õîëáîëò ³³ñãýí óðñãàëûã íýâòð³³ëäýã. Ò°ë°âò ãàëò õàíûí íýã äóòàãäàëòàé òàë ãýâýë îëîí øèíý õîëáîëòóóä íýã äîð òîãòîõ ³åä Denial of Service áóþó éë÷èëãýýã Çîãñîîõ(DoS) õàëäëàãàä °ðò°ìòãèé áîëäîã. Èéìýýñ ãàëò õàíûã çîõèîí áàéãóóëàõäàà ò°ë°âò áà ò°ë°âò-áóñ áàéäëûã õîñëóóëàí õýðýãëýõ íü õàìãèéí îíîâ÷òîé áàéäàã.
30.3
àëò õàíûí áàãöóóä
FreeBSD äýýð ãóðâàí ÿíçûí ãàëò õàíûí áàãöóóä õàìðàãäñàí áàéäàã. Íýðëýâýë: IPFILTER (IPF ãýæ íýðëýõ íü ýëáýã), IPFIREWALL (IPFW ãýæ íýðëýõ íü ýëáýã), áà OpenBSD-í PacketFilter (PF ãýæ íýðëýõ íü ýëáýã). FreeBSD íü ì°í óðñãàëûã õÿçãààðëàõ(³íäñýíäýý çóðâàñûí °ðã°íèéã õÿçãààðëàõ) õî¼ð áàãöûí õàìò èðäýã: altq(4) áîëîí dummynet(4). Dummynet íü àíõíààñàà IPFW-òàé, õàðèí ALTQ íü PF-òýé íÿãò õîëáîîòîé àæèëëàäàã. IPFILTER-èéí õóâüä óðñãàë õÿçãààðëàëòûã õèéõäýý NAT áîëîí ø³³ëòýä IPFILTER-èéã áà IPFW-èéã dummynet(4)-òýé öóã þì óó ýñâýë PF-èéã ALTQ-òàé öóã àøèãëàí õèéæ áîëíî. IPFW, áà PF íü á³ãä ñèñòåì óðóó îðæ áàéãàà áîëîí ãàð÷ áàéãàà óðñãàëûã ä³ðì³³äèéí òóñëàìæòàé óäèðäàõ áîëîâ÷ ñèíòàêñûí õóâüä ÷, àðãà çàìûí õóâüä ÷ °°ð °°ð áàéäàã. FreeBSD äýýð îëîí ãàëò õàíûí áàãöóóä õàìò èðäýã íü °°ð °°ð õýðýãöýý øààðäëàãàòàé õ³ì³³ñò õ³ðòýýìæòýé áàéõûã ãîë çîðèëãîî áîëãîñîíä îðøèíî. Ò³³íýýñ àëü ÷ ãàëò õàíà íü í°ã°°ã°°ñ°° èë³³, ýñâýë äóòóó ãýñýí ³ã áèø þì. Çîõèîã÷ IPFILTER-ã ñîíãîí àâñàí íü ò³³íèé ò°ë°âò ä³ðì³³ä íü NAT îð÷èíä õýðýãëýõýä ò°â°ã áàãàòàé, ì°í äîòðîî ftp proxy àãóóëñàí áàéäãààñ áîëñîí õýðýã. Ýíýõ³³ ftp proxy-ã àøèãëàí ãàäàãøàà ãàðàõ FTP óðñãàëûã ç°âø°°ðñ°í ä³ðì³³äèéã áè÷èõýä õÿëáàð áàéäàã. Á³õ ãàëò õàíóóä ïàêåò óäèðäàõ òàëáàðûí óòãûã øèíæëýõ çàð÷ìààð àæèëëàõ òóë ãàëò õàíûí ä³ðì³³äèéã áè÷èõèéí °ìí° TCP/IP ïðîòîêîë õýðõýí àæèëëàäàã òàëààð áîëîí ïàêåò óäèðäàõ òàëáàðûí óòãóóä, ýíý óòãóóä session áóþó ñåññ ³³ñýõýä õýðõýí õýðýãëýãääýã òàëààð ³íäñýí îéëãîëòòîé áàéõ øààðäëàãàòàé áîëäîã. Äýýðõ îéëãîëòóóäûí òàëààð äàðààõ õàÿãààð îðæ óíøèíà óó: http://www.ipprimer.com/overview.cfm.
30.4 OpenBSD
Ïàêåò ø³³ã÷ (PF) áà ALTQ
Õÿíàí çàëðóóëæ øèíý÷èëñýí Æîí Ôåððåë. 2003 îíû 7 ñàðä OpenBSD-í ãàëò õàíûí ïðîãðàì áîëîõ PF FreeBSD óðóó øèëæèæ, FreeBSD Ïîðòûí Öóãëóóëãàä îðñîí. 2004 îíä ãàðñàí FreeBSD 5.3 íü PF-ã ³íäñýí ñèñòåìèéí áàãöûí íýã õýñýã áîëãîí îðóóëñàí àíõíû õóâèëáàð þì. PF íü á³ðýí õýìæýýíä àæèëëàõ ÷àäâàðòàé ãàëò õàíà á°ã°°ä ALTQ-òàé (Alternate Queuing áóþó Ýýëæëýí ñîëèãäîõ äàðààëàë) õàìòðàí àæèëëàõ áîëîìæòîé. ALTQ íü Quality of Service áóþó éë÷èëãýýíèé ×àíàðûí (QoS) áîëîìæîîð õàíãàäàã. OpenBSD Ò°ñ°ë íü PF FAQ (http://www.openbsd.org/faq/pf/)-ã õ°òë°í ÿâóóëäàã. Òèéìýýñ ãàðûí àâëàãûí ýíý õýñýã íü FreeBSD-ä õàìààòàé PF äýýð èë³³ àíõààðëàà õàíäóóëàõàõààñ ãàäíà õýðýãëýýíèé òàëààð çàðèì íýã åð°íõèé ìýäýýëëèéã °ãí°. Õýðýãëýýíèé ìýäýýëëèéí òàëààð èë³³ äýëãýðýíã³éã PF FAQ (http://www.openbsd.org/faq/pf/)-ñ ³çíý ³³. FreeBSD-ä çîðèóëñàí PF-èéí òàëààð èë³³ äýëãýðýíã³é ìýäýýëëèéã http://pf4freebsd.love2party.net/ õàÿãààñ ³çýæ áîëíî.
821
Chapter 30 àëò õàíà
30.4.1
Ö°ìèéí äóóäàãäàõ PF ìîäóëèéã àøèãëàõ íü
FreeBSD 5.3 õóâèëáàðààñ ýõëýí PF íü òóñäàà àæèëëóóëæ áîëîõ äóóäàãäàõ áîëîìæòîé ìîäóë õýëáýðýýð ³íäñýí ñóóëãàöàä îðñîí áàéäàã. rc.conf(5)-èéí pf_enable="YES" èëýðõèéëýë áàéõàä ñèñòåì íü ö°ìèéí PF ìîäóëèéã äèíàìèêààð äóóäàõ áîëíî. ýõäýý ñèñòåì PF-èéí ä³ðìèéí îëîíëîãèéí òîõèðãîîíû àéëûã îëîõã³é áîë PF ìîäóë íü äóóäàãäàõã³é. Àíõäàã÷ áàéðëàë íü /etc/pf.conf. Õýðýâ òàíû PF
ä³ðìèéí îëîíëîã °°ð õàà íýãòýý áàéãàà áîë áàéðëàëûã çààæ °ã°õèéí òóëä pf_rules="/path/pf.rules" ãýæ °°ðèéí /etc/rc.conf òîõèðãîîíû àéëäàà îðóóëæ °ã°õ õýðýãòýé. Note: FreeBSD 7.0-ñ ýõëýí /etc/ ñàíä áàéñàí æèøýý pf.conf àéë /usr/share/examples/pf/ ðóó îðñîí áîëíî. 7.0-ñ °ìí°õ FreeBSD-èéí õóâèëáàðóóäàä àíõäàã÷ààð /etc/pf.conf áàéäàã.
PF ìîäóëèéã òóøààëûí ì°ð°°ñ áàñ äóóäàí àæèëëóóëæ áîëíî: # kldload pf.ko
Äóóäàãäàõ ìîäóë íü á³ðòãýë õèéõ äýìæëýãèéã õàíãàäàã pflog(4) áîëîìæòîéãîîð õèéãäñýí áàéäàã. Õýðýâ òàíä PF-èéí °°ð áîëîìæóóä õýðýãòýé áîë PF-èéí äýìæëýãèéã ö°ìä îðóóëàí ýìõýòãýõ õýðýãòýé. 30.4.2 PF
ö°ìèéí òîõèðãîîíóóä
PF äýìæëýãèéã FreeBSD ö°ìä îðóóëæ ýìõýòãýõ íü øààðäëàãàã³é áîëîâ÷ äóóäàãäàõ ìîäóëüä îðîîã³é áàéäàã PF-èéí íýìýëò áîëîìæóóäûí íýã á°ã°°ä PF-èéí àøèãëàäàã ò°ëâèéí õ³ñíýãòýä çàðèì °°ð÷ë°ëò³³äèéã èë ãàðãàäàã ïñåâäî ò°õ°°ð°ìæ áîëîõ pfsync(4) ãýãääýã áîëîìæèéã àøèãëàõûí òóëä òà òýãæ õèéæ °ã÷ áîëîõ þì. ³íèéã carp(4)-òýé õîñëóóëàí àæèëëàãàà äîãîëäîõîä òîéðîí ãàðàõ ãàëò õàíàûã PF àøèãëàí á³òýýæ áîëíî. CARP-èéí òàëààð äýëãýðýíã³éã ãàðûí àâëàãûí á³ëýã 29-ñ ³çýæ áîëíî. Ö°ìèéí PF òîõèðãîîíóóäûã /usr/src/sys/conf/NOTES-ñ îëæ áîëîõ á°ã°°ä äîîð ³ç³³ëýâ: device pf device pflog device pfsync
òîõèðãîî “Packet Filter” ãàëò õàíûã (pf(4)) äýìæäýã áîëãîíî. device pflog òîõèðãîî ïñåâäî áóþó õóóðàì÷ pflog(4) ñ³ëæýýíèé ò°õ°°ð°ìæèéã èäýâõæ³³ëíý. Ýíý õóóðàì÷ ò°õ°°ð°ìæèéí òóñëàìæòàéãààð bpf(4) äåñêðèïòîð óðóó óðñãàëûã á³ðòãýõ áîëîìæòîé. pflogd(8) äýìîíã á³ðòãýëèéã äèñêýí äýýð õàäãàëàõàä õýðýãëýíý. device pfsync òîõèðãîî ïñåâäî áóþó õóóðàì÷ pfsync(4) ñ³ëæýýíèé ò°õ°°ð°ìæèéã èäýâõæ³³ëíý. Ýíý õóóðàì÷ ò°õ°°ð°ìæèéí òóñëàìæòàéãààð “ò°ëâèéí °°ð÷ë°ëò³³äèéã” õÿíàõ áîëîìæòîé. device pf
30.4.3 rc.conf
áîëîìæóóä
Äàðààõ rc.conf(5) èëýðõèéëë³³ä PF áîëîí pflog(4)-èéã à÷ààëàõ ³åä òîõèðóóëíà: pf_enable="YES" pf_rules="/etc/pf.conf" pf_flags=""
# Enable PF (load module if required) # rules definition file for pf # additional flags for pfctl startup
822
Chapter 30 àëò õàíà pflog_enable="YES" pflog_logfile="/var/log/pflog" pflog_flags=""
# start pflogd(8) # where pflogd should store the logfile # additional flags for pflogd startup
Õýðâýý ýíý ãàëò õàíûí öààíà LAN áàéãàà á°ã°°ä LAN-ä áàéãàà êîìïüþòåðóóä óðóó ïàêåò äàìæóóëàõ øààðäëàãàòàé áîë ýñâýë NAT àøèãëàõ áîäîëòîé áàéãàà áîë äàðààõ èëýðõèéëýë òàíä áàñ õýðýãòýé: gateway_enable="YES"
30.4.4
# Enable as LAN gateway
س³ã÷ ä³ðì³³äèéã ³³ñãýõ íü
PF íü pf.conf(5)-ñ (àíõäàã÷ààð /etc/pf.conf) °°ðèéí òîõèðãîîíû ä³ðì³³äèéã óíøèõ á°ã°°ä òýíä çààãäñàí ä³ðì³³ä áóþó òîäîðõîéëîëòóóäûí äàãóó ïàêåòóóäûã °°ð÷ë°õ, îðõèõ áóþó ýñâýë äàìæóóëäàã. FreeBSD ñóóëãàöàä /usr/share/examples/pf/-ä áàéðëàõ õýä õýäýí æèøýý àéëóóä áàéäàã. PF-èéí ä³ðìèéí îëîíëîãóóäûí òàëààð á³ðýí ìýäýýëëèéã PF FAQ (http://www.openbsd.org/faq/pf/)-ñ ëàâëàíà óó. Warning: PF FAQ (http://www.openbsd.org/faq/pf/)-ã ³çýæ áàéõäàà FreeBSD-èéí õóâèëáàð á³ð °°ð °°ð PF õóâèëáàðòàé áîëîõûã àíõààðíà óó:
íü OpenBSD 3.5-ûíõ FreeBSD 6.X — PF íü OpenBSD 3.7-ûíõ FreeBSD 7.X — PF íü OpenBSD 4.1-ûíõ
• FreeBSD 5.X — PF • •
FreeBSD ïàêåò ø³³ã÷èéí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-pf) íü PF ãàëò õàíûã òîõèðóóëæ àæèëëóóëàõ òàëààð àñóóõàä òîõèðîìæòîé ãàçàð þì. Àñóóëò àñóóõààñàà °ìí° çàõèäëûí æàãñààëòûí àðõèâààñ øàëãàõàà ìàðòóóçàé!
òýé àæèëëàõ íü
30.4.5 PF-
PF-èéã õÿíàõäàà pfctl(8)-ã àøèãëàíà. Çàðèì íýã õýðýãòýé òóøààëóóäûã äîîð æàãñààâ (Á³õ áîëîìæèò òîõèðãîîíóóäûí òàëààð pfctl(8) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàõàà ìàðòóóçàé):
Òóøààë pfctl -e pfctl -d pfctl -F all -f /etc/pf.conf
pfctl -s [ rules | nat | state ] pfctl -vnf /etc/pf.conf
Çîðèëãî PF-ã èäýâõæ³³ëýõ PF-ã áîëèóëàõ Á³õ ä³ðì³³äèéã àðèëãàæ (nat, ø³³õ, ò°ë°â, õ³ñíýãò, ãýõ ìýò.) /etc/pf.conf àéëààñ äàõèí à÷ààëàõ س³õ ä³ðì³³ä, nat ä³ðì³³ä, ýñâýë ò°ëâèéí õ³ñíýãòèéí òàëààð òàéëàí ãàðãàõ ijðìèéí îëîíëîãèéã à÷ààëàëã³éãýýð /etc/pf.conf-ä àëäàà áàéãàà ýñýõèéã øàëãàõ
823
Chapter 30 àëò õàíà
ã èäýâõæ³³ëýõ
30.4.6 ALTQ-
ALTQ-ã èäýâõæ³³ëýõ ãàíö àðãà çàì áîë ò³³íèé áîëîìæóóäûã FreeBSD ö°ìòýé õàìò õ°ðâ³³ëýí ýìõýòãýõ þì. Ì°í ñ³ëæýýíèé êàðòûí äðàéâåð áîëãîí ALTQ-ã äýìæäýãã³é òóë °°ðèéí òàíü õýðýãëýæ áóé FreeBSD õóâèëáàðûí õóâüä äýìæèãääýã äðàéâåðóóäûí æàãñààëòûã altq(4) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
Äàðààõ òîõèðóóëãóóä ALTQ-ã èäýâõæ³³ëæ íýìýëò ³³ðã³³äèéã îðóóëäàã.
options options options options options options options
ALTQ ALTQ_CBQ ALTQ_RED ALTQ_RIO ALTQ_HFSC ALTQ_PRIQ ALTQ_NOPCC
# # # # # #
Class Bases Queuing (CBQ) Random Early Detection (RED) RED In/Out Hierarchical Packet Scheduler (HFSC) Priority Queuing (PRIQ) Required for SMP build
ì°ð ALTQ -ã á³õýëä íü èäýâõæ³³ëíý. options ALTQ_CBQ ì°ð Class Based Queuing áóþó Àíãèëëààñ Õàìààðñàí Äàðààëàë ³ñãýõ(CBQ) áîëîìæèéã èäýâõæ³³ëíý. CBQ íü ø³³ã÷ ä³ðì³³ä äýýð ³íäýñëýí óðñãàëóóäàä ýðýìáý òîãòîîõ çîðèëãîîð çóðâàñûí °ðã°íèéã °°ð °°ð àíãèëëóóäàä áîëîí äàðààëëóóäàä õóâààõ áîëîìæèéã îëãîíî. options ALTQ_RED ì°ð Random Early Detection áóþó Ñàíàìñàðã³é Ýðò Èëð³³ëýëò(RED)-ã èäýâõæ³³ëíý. RED-ã ñ³ëæýýíèé äààö õýòðýõýýñ ñýðãèéëýõýä õýðýãëýäýã. RED äàðààëëûí óðòûã õýìæèæ, ò³³íèéã áàéõ ¼ñòîé äýýä áà äîîä õýìæýýòýé æèøèõ áàéäëààð àæèëëàäàã. Õýðýâ äàðààëàë äýýä õýìæýýíýýñ óðò áîëáîë øèíý ïàêåòóóä îðõèãäîõ áîëíî. Íýðòýéãýý àäèëààð, RED íü õîëáîëòóóäààñ ïàêåòèéã ñàíàìñàðã³éãýýð îðõèãäóóëäàã. options ALTQ_RIO ì°ð íü Random Early Detection In and Out áóþó Îðîõ áà àðàõ Ñàíàìñàðã³é Ýðò Èëð³³ëýëòèéã èäýâõæ³³ëíý. options ALTQ_HFSC ì°ð íü Hierarchical Fair Service Curve Packet Scheduler áóþó å äàâõàðãàò Çîõèìæèò éë÷èëãýýíèé Ìóðóéí Ïàêåò Õóâààðèëàã÷èéã èäýâõæ³³ëíý. HFSC òàëààð èë³³ äýëãýðýíã³é ìýäýýëëèéã äàðààõ õàÿãààñ ³çíý ³³: http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html. options ALTQ_PRIQ ì°ð íü Priority Queuing áóþó Ýðýìáýò Äàðààëàë ³ñãýõ (PRIQ)-ã èäýâõæ³³ëíý. PRIQ íü ýðýìáý °íä°ðòýé äàðààëàëä áàéãàà óðñãàëûã ýõýíä íýâòð³³ëýõ çàð÷ìààð àæèëëàäàã. options ALTQ_NOPCC ì°ð íü ALTQ-ã SMP-òàé õàìò àæèëëàõ áîëîìæòîé áîëãîíî. SMP ñèñòåìèéí õóâüä ýíý áîëîìæèéã çààâàë èäýâõæ³³ëýõ õýðýãòýé. options ALTQ
30.5 IPFILTER (IPF)
àëò õàíà
Note: Ýíý õýñýã äýýð ³ðãýëæë³³ëýí àæèëëàæ áàéíà. Àãóóëãà çàðèì õýñýãò áóðóó áàéõûã ³ã³écãýõã³é.
IPFILTER-ã çîõèîñîí õ³í áîë Äàððèí èä áèëýý. IPFILTER íü ³éëäëèéí ñèñòåìýýñ õàìààðàëã³é: íýýëòòýé ýõèéí ïðîãðàì á°ã°°ä FreeBSD, NetBSD, OpenBSD, SunOS, HP/UX, áà Solaris çýðýã îëîí ³éëäëèéí ñèñòåì óðóó øèëæ³³ëýãäñýí þì. IPFILTER ýð÷èìòýé äýìæèãäýæ, ñàéæðóóëñàí õóâèëáàðóóä íü òîãòìîë ãàðñààð áàéãàà.
824
Chapter 30 àëò õàíà IPFILTER íü ö°ìèéí òàëä àæèëëàõ ãàëò õàíà áîëîí NAT ìåõàíèçì äýýð ñóóðèëñàí á°ã°°ä ò³³íèéã óäèðäàõ, õÿíàõûí òóëä õýðýãëýã÷èéí èíòåðýéñ ïðîãðàìûã àøèãëàíà. àëò õàíûí ä³ðì³³äèéã íýìýõ áîëîí õàñàõäàà ipf(8) õýðýãñëèéã õýðýãëýíý. NAT ä³ðì³³äèéã íýìýõ áîëîí õàñàõäàà ipnat(1) õýðýãñëèéã õýðýãëýíý. ipfstat(8) õýðýãñýë íü IPFILTER-í ö°ìèéí òàëä àæèëëàæ áàéãàà õýñãèéí ñòàòèñòèêèéã õýâëýõýä çîðèóëàãäñàí. ipmon(8) ïðîãðàì õàðèí IPFILTER-í ³éëäë³³äèéã ñèñòåìèéí á³ðòãýëèéí àéëä á³ðòãýíý.
IPF-ã àíõ çîõèîõäîî “ñ³³ëä òîõèðñîí ä³ðýì äèéëíý” ãýñýí ëîãèêèéí äàãóó á³òýýñýí áà ç°âõ°í ò°ë°âò-áóñ ä³ðì³³äèéã àøèãëàäàã áàéëàà. Öàã õóãàöàà °íã°ð°õ°ä IPF èë³³ õ°ãæèæ, “quick” òîõèðóóëãà áîëîí ò°ë°âò “keep state” òîõèðóóëãóóäûã àãóóëàõ áîëñîí íü îð÷èí ³åèéí õýðýãöýý øààðäëàãàä èë³³ íèéöýõ áîëæýý. IPF-í àëáàí ¼ñíû áàðèìòæóóëàëòàíä õóó÷èí óëàìæëàëò ä³ðì³³äèéã áè÷èõ ïàðàìåòð³³ä áîëîí àéëòàé àæèëëàõ ëîãèêóóä áàãòñàí áàéäàã. Õàðèí øèíý óíêöóóäûã íü
ç°âõ°í íýìýëò áîëîìæ áàéäëààð îðóóëñàí íü àþóëã³é áàéäëûã õàâüã³é èë³³ õàíãàñàí ãàëò õàíà áèé áîëãîæ áàéãàà òýäíèéã õýò äîîãóóð òàâüñàí ñàíàãääàã. Ýíý á³ëýãò áàéãàà çààâðóóä íü “quick” áîëîí ò°ë°âò “keep state” òîõèðóóëãóóäûã àãóóëñàí ä³ðì³³äýýñ ³íäñýíäýý á³ðäñýí áàéãàà. Ýíý áîë õàìààðóóëñàí ãàëò õàíûí ä³ðì³³äèéã áè÷èõ ³íäñýí àðãà áàðèë þì. Õàìààðóóëñàí ãàëò õàíà íü ç°âõ°í ä³ðìýíä òîõèðñîí ïàêåòóóäûã íýâòð³³ëíý. Èéì ìàÿãààð ãàëò õàíûí öààíààñ Èíòåðíýò óðóó ÿìàð ÿìàð ³éë÷èëãýýí³³ä ãàð÷ áîëîõ áîëîí ýñðýãýýð Èíòåðíýòýýñ äîòîîä ñ³ëæýý óðóó ÿìàð ÿìàð ³éë÷èëãýýí³³ä íýâòýð÷ áîëîõûã óäèðäàõ áîëîìæòîé. Ýäãýýðýýñ áóñàä á³õ óðñãàëûã õààæ, á³ðòãýäýã áàéõààð çîõèîãäñîí áàéäàã. Õàìààðóóëñàí ãàëò õàíà íü õàìààðóóëààã³é ãàëò õàíààñ àþóëã³é áàéäëûí õóâüä õýä äàõèí èë³³, òèéìýýñ ýíä áèä ç°âõ°í õàìààðóóëñàí ãàëò õàíûí ä³ðì³³äèéí òàëààð ÿðèëöàõ áîëíî. Õóó÷èí óëàìæëàëò ä³ðì³³äòýé àæèëëàõ àðãóóäûí òàëààð äýëãýðýíã³é òàéëáàðûã: http://www.obfuscation.org/ipf/ipf-howto.html#TOC_1 áà http://coombs.anu.edu.au/~avalon/ip-filter.html õàÿãààð îðæ ³çíý ³³. IPF FAQ-ã http://www.phildev.net/ipf/index.html õàÿãààð îðæ ³çíý ³³. Íýýëòòýé ýõèéí IPFilter ïðîãðàìûí çàõèäëûí æàãñààëòûí àðõèâûã http://marc.theaimsgroup.com/?l=ipfilter õàÿãààð îðæ ³çíý ³³.
ã èäýâõæ³³ëýõ
30.5.1 IPF-
IPF íü FreeBSD ³íäñýí ñóóëãàöòàé õàìò, àæèëëàõ ³åèéí à÷ààëàõ áîëîìæòîé ìîäóëü áàéäëààð èðäýã. rc.conf òîõèðãîîíû àéë äîòîð ipfilter_enable="YES" èëýðõèéëýë áàéãàà ³åä ñèñòåì IPF ö°ìèéí ìîäóëèéã äèíàìèêààð à÷ààëíà. Ýíý à÷ààëàõ áîëîìæòîé ìîäóëü íü á³ðòãýõ áîëîìæòîéãîîð, àíõäàã÷ default pass all òîõèðóóëãûí õàìò á³òýýãäñýí áàéäàã. Àíõäàã÷ ä³ðìèéã block all áîëãîõûí òóëä IPF-ã ö°ìä ýìõýòãýõ øààðäëàãà áàéõã³é. Ç°âõ°í ä³ðì³³äèéíõýý ò°ãñã°ëä á³ãäèéã õààõ ä³ðìèéã áè÷èæ °ã°õ°ä õàíãàëòòàé.
30.5.2
Ö°ìèéí òîõèðóóëãóóä
FreeBSD ö°ì óðóó äàðààõ áîëîìæóóäûã ýìõýòãýí IPF-ã èäýâõæ³³ëýõ àëáàã³é áîëîâ÷, ñóóðü ìýäëýã áîëãîí ýíä ³ç³³ëëýý. IPF-ã ö°ì óðóó õ°ðâ³³ëýí ýìõýòãýñíýýð à÷ààëàõ áîëîìæòîé ìîäóëèéã õýðýãëýõ áîëîìæã³é áîëäîã. Ö°ìèéí òîõèðãîîí äàõü æèøýý IPF èëýðõèéëë³³ä /usr/src/sys/conf/NOTES ãýñýí ö°ìèéí ýõ àéëä áàéõ áà äîîð ñèéð³³ëáýë:
825
Chapter 30 àëò õàíà options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK
ì°ð íü “IPFILTER” ãàëò õàíûã èäýâõæ³³ëíý. options IPFILTER_LOG ì°ð íü log ãýñýí ò³ëõ³³ð ³ã îðñîí ä³ðì³³äèéí õóâüä óðñãàëûã ipl ïàêåò á³ðòãýõ õóóðàì÷—ò°õ°°ð°ìæ óðóó á³ðòãýõ áîëîìæòîé áîëãîíî. options IPFILTER_DEFAULT_BLOCK ì°ð íü ãàëò õàíûí pass ä³ðìýíä òîõèðîîã³é ïàêåòèéã õààõ àíõäàã÷ ÷àíàðûã çààæ °ãí°. Ýäãýýð òîõèðóóëãóóä íü ç°âõ°í òýäãýýðèéã òîõèðóóëàí, òóñãàéëàí ö°ì á³òýýæ ñóóëãàñíû äàðàà èäýâõæäýã. options IPFILTER
30.5.3 rc.conf
òîõèðóóëãóóä
IPF-ã ñèñòåì à÷ààëàõ ³åä èäýâõòýé áîëãîõûí òóëä /etc/rc.conf äîòîð äàðààõ èëýðõèéëë³³ä áàéõ ¼ñòîé: ipfilter_enable="YES" ipfilter_rules="/etc/ipf.rules" ipmon_enable="YES" ipmon_flags="-Ds"
# # # # # # #
Start ipf firewall loads rules definition text file Start IP monitor log D = start as daemon s = log to syslog v = log tcp window, ack, seq n = map IP & port to names
Õýðýâ ýíý ãàëò õàíûí öààíà õóâèéí IP õàÿã õýðýãëýäýã LAN áàéãàà áîë NAT óíêöûã èäýâõæ³³ëýõèéí òóëä äàðààõ ì°ð³³äèéã íýìýõ õýðýãòýé: gateway_enable="YES" ipnat_enable="YES" ipnat_rules="/etc/ipnat.rules"
# Enable as LAN gateway # Start ipnat function # rules definition file for ipnat
30.5.4 IPF
Òàíû áè÷ñýí ä³ðì³³äèéã à÷ààëàõàä ipf òóøààëûã õýðýãëýíý. Åð íü áîë òà °°ðèéí ä³ðì³³äýýñ á³òñýí àéëûã ³³ñãýýä, ò³³íèéãýý äýýðõ òóøààëûí àøèãëàí ãàëò õàíûí îäîî àæèëëàæ áàéãàà äîòîîä ä³ðì³³äòýé ñîëüæ òàâüíà ãýñýí ³ã þì: # ipf -Fa -f /etc/ipf.rules
íü á³õ äîòîîä ä³ðì³³äèéí õ³ñíýãòèéã öýâýðëý ãýñýí ³ã. -f íü à÷ààëàõ ä³ðì³³äýý ýíý àéëààñ óíø ãýñýí ³ã. Èéì áàéäëààð òà °°ðèéí õ³ññýí ä³ðì³³äèéí àéëûã ³³ñãýýä, äýýðõ IPF òóøààëûã àæèëëóóëàí ñèñòåìèéã øèíýýð à÷ààëàõã³éãýýð àæèëëàæ áàéãàà ãàëò õàíûí ä³ðì³³äèéã øèíýýð °°ð÷ë°õ áîëîìæòîé áîëæ áàéíà. Äýýðõ àðãààð ãàëò õàíûí ä³ðì³³äèéã õýäýí ÷ óäàà ñîëüæ áîëîõ òóë ýíý àðãà íü øèíý ä³ðì³³äèéã òóðøèõàä òîõèðîìæòîé àðãà þì. Ýíý òóøààëòàé àæèëëàõ áîëîìæòîé áóñàä òóãóóäûí òàëààð äýëãýðýíã³éã ipf(8) çààâàð õóóäàñíààñ ³çíý ³³. -Fa
826
Chapter 30 àëò õàíà ipf(8) òóøààë ä³ðì³³äèéí àéëûã ñòàíäàðò òåêñò àéë ãýæ òîîöäîã. Ñèìáîë îðëóóëàëòòàé ñêðèïò áàéäëààð áè÷èãäñýí àéëûã îéëãîõã³é. ýâ÷ ñêðèïò ñèìáîë îðëóóëàëòûí õ³÷èéã àøèãëàí IPF ä³ðì³³äèéã á³òýýõ àðãà çàì áàéãàà. Èë³³ äýëãýðýíã³é ìýäýýëëèéã Section 30.5.9 õýñãýýñ ³çíý ³³.
30.5.5 IPFSTAT ipfstat(8)-í àíõäàã÷ ÷àíàð áîë ãàëò õàíûã õàìãèéí ñ³³ëä àñààñíààñ õîéøèõ, ýñâýë ipf -Z òóøààëûã
°ã°í õóðèìòëóóëàã÷èéã õàìãèéí ñ³³ëä òýãëýñíýýñ õîéøèõ ãàëò õàíààð îðæ áàéãàà áîëîí ãàð÷ áàéãàà ïàêåòóóäûã õýðýãëýã÷èéí òîäîðõîéëæ °ãñ°í ä³ðì³³äýýð ø³³ñýí ³ð ä³íä áèé áîëñîí ñòàòèñòèê òîîã ãàðãàæ èðýí, äýëãýöýíä õàðóóëàõ þì. Äýëãýðýíã³éã ipfstat(8) çààâàð õóóäàñíààñ ³çíý ³³. ipfstat(8) òóøààëûí àíõäàã÷ ³ð ä³í äàðààõ áàéäàëòàé áàéíà: input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0 output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0 input packets logged: blocked 99286 passed 0 output packets logged: blocked 0 passed 0 packets logged: input 0 output 0 log failures: input 3898 output 0 fragment state(in): kept 0 lost 0 fragment state(out): kept 0 lost 0 packet state(in): kept 169364 lost 0 packet state(out): kept 431395 lost 0 ICMP replies: 0 TCP RSTs sent: 0 Result cache hits(in): 1215208 (out): 1098963 IN Pullups succeeded: 2 failed: 0 OUT Pullups succeeded: 0 failed: 0 Fastroute successes: 0 failures: 0 TCP cksum fails(in): 0 (out): 0 Packet log flags set: (0)
Äîòîãøîî óðñãàëûí õóâüä -i, ãàäàãøàà óðñãàëûí õóâüä -o òîõèðóóëãûã °ã°õ°ä êåðíåëèéí àøèãëàæ áóé ä³ðì³³äèéí æàãñààëòûã ãàðãàæ õàðóóëíà. ipfstat -in íü äîòîãøîî óðñãàëûí äîòîîä ä³ðì³³äèéí õ³ñíýãòèéã ä³ðì³³äèéí äóãààðûí õàìò õàðóóëíà. ipfstat -on íü ãàäàãøàà óðñãàëûí äîòîîä ä³ðì³³äèéí õ³ñíýãòèéã ä³ðì³³äèéí äóãààðûí õàìò õàðóóëíà. ð ä³í íü äàðààõ áàéäàëòàé áàéíà: @1 pass out on xl0 from any to any @2 block out on dc0 from any to any @3 pass out quick on dc0 proto tcp/udp from any to any keep state ipfstat -ih íü äîòîãøîî óðñãàëûí äîòîîä ä³ðì³³äèéí õ³ñíýãòèéã ä³ðì³³äèéí õýäýí óäàà òîõèðñîí òîîíû õàìò õàðóóëíà.
827
Chapter 30 àëò õàíà ipfstat -oh íü ãàäàãøàà óðñãàëûí äîòîîä ä³ðì³³äèéí õ³ñíýãòèéã ä³ðì³³äèéí õýäýí óäàà òîõèðñîí òîîíû õàìò õàðóóëíà. ð ä³í íü äàðààõ áàéäàëòàé áàéíà: 2451423 pass out on xl0 from any to any 354727 block out on dc0 from any to any 430918 pass out quick on dc0 proto tcp/udp from any to any keep state
òóøààëûí õàìãèéí ÷óõàë óíêöóóäûí íýã áîë, FreeBSD-í àæèëëàæ áàéãàà ïðîöåññèéí õ³ñíýãòèéã top(1) õàðóóëäàã øèã ò°ëâèéí õ³ñíýãòèéã -t òóã õàðóóëäàã ÿâäàë þì. Òàíû ãàëò õàíà ãàäíû õàëäëàãàä °ðò°õ ³åä ýíý óíêö ò³³íèéã èëð³³ëýõ, øèíæëýõ, õàëäëàãàä îðîëöîæ áóé ïàêåòóóäûã õàðàõ áîëîìæèéã îëãîíî. Íýìýëò äýä òóãóóä íü õÿíàëò õèéõ ýõëýë áîëîí î÷èõ IP õàÿã, ïîðò, ýñâýë ïðîòîêîëûã ñîíãîõ áîëîìæèéã îëãîäîã. Äýëãýðýíã³éã ipfstat(8) çààâàð õóóäàñíààñ ³çíý ³³. ipfstat
30.5.6 IPMON
òóøààë çîõèñòîé àæèëëàõûí òóëä ö°ìèéí IPFILTER_LOG òîõèðóóëãà èäýâõæñýí áàéõ ¼ñòîé. Ýíý òóøààë õî¼ð °°ð ãîðèìä àæèëëàõ ÷àäâàðòàé. Ò°ð°ëõ ãîðèì íü ýíý òóøààëûã òóøààë ì°ð°í äýýð -D òóãã³éãýýð îðóóëàõàä àæèëëàõ àíõäàã÷ ãîðèì þì. Äåìîí ãîðèì íü áîëæ °íã°ðñ°í ³éë ÿâöûí á³ðòãýëèéã ýðãýæ õàðàõûí òóëä ñèñòåìèéí á³ðòãýëèéã òàñðàëòã³é õ°òë°í ÿâóóëàõàä òîõèðîìæòîé ãîðèì þì. FreeBSD áîëîí IPFILTER ýíý ãîðèìä àæèëëàõààð òîõèðóóëàãäñàí áàéäàã. FreeBSD íü ñèñòåìèéí á³ðòãýëèéã àâòîìàòààð òîéðóóëàõ ÷àäâàðòàé. Òèéìýýñ á³ðòãýëèéí ìýäýýëëèéã syslogd ïðîöåññ óðóó ãàðãàõ íü ýíãèéí àéë óðóó ãàðãàõ àíõäàã÷ àðãààñ äýýð áàéäàã. Àíõäàã÷ rc.conf àéë äîòîð ipmon_flags èëýðõèéëýë -Ds òóãóóäûã õýðýãëýñýí áàéõûã îëæ õàðæ áîëíî: ipmon
ipmon_flags="-Ds" # # # #
D s v n
= = = =
start as daemon log to syslog log tcp window, ack, seq map IP & port to names
Á³ðòãýë õ°òë°í ÿâóóëàõûí äàâóó òàëûã äóðäàõàä èë³³ö áèç. Á³ðòãýëèéí òóñëàìæòàé ÿìàð ïàêåòóóä îðõèãäñîí, òýäãýýð ïàêåòóóä õààíààñ èðñýí, õààøàà ÿâæ áàéñàí çýðýã ìýäýýëëèéã ýðãýí õàðàõ áîëîìæòîé áîëäîã. Ýíý á³õ ìýäýýëýë ãàäíû õàëäëàãûã ì°ðä°õ°ä ÷óõàë ò³ëõýö áîëíî. Õýäèéãýýð á³ðòãýõ áîëîìæîîð õàíãàãäñàí áîëîâ÷, IPF äàíãààðàà á³ðòãýëèéã ³³ñãýæ ÷àäàõã³é. àëò õàíûí àäìèíèñòðàòîð àëü ä³ðìèéí á³ðòãýëèéã áè÷èõèéã øèéäýí, òýäãýýð ä³ðì³³äýä log ò³ëõ³³ð ³ãèéã íýìæ °ãí°. Åð íü, ç°âõ°í deny ä³ðì³³äèéí á³ðòãýë áè÷èãääýã. Á³ãäèéã õîðèãëîñîí àíõäàã÷ ä³ðìèéã log ò³ëõ³³ð ³ãèéí õàìò ä³ðì³³äèéíõýý õàìãèéí ò°ãñã°ëä áè÷èæ °ã°õ íü íèëýýä °ðã°í õýðýãëýãääýã àðãà þì. Èéì áàéäëààð òàíû ä³ðì³³äèéí àëèíòàé ÷ òîõèðîîã³é ïàêåòóóäûã ìýäýõ áîëîìæòîé áîëíî. 30.5.7 IPMON
á³ðòãýë õ°òë°ëò
Syslogd íü á³ðòãýëèéí ìýäýýëëèéã äîòîð íü àíãèëàõ °°ðèéí òóñãàé àðãàòàé. “facility” áà “ò³âøèí” ãýñýí òóñãàé àíãèëàëààð ÿëãàäàã. -Ds ãîðèìîí äàõü IPMON íü “facility”-ààð security-ã õýðýãëýäýã. IPMON-û á³õ á³ðòãýëèéí ìýäýýëýë security íýðèéí äîð áè÷èãääýã. Õýðýâ õ³ñâýë äîîðõ ò³âøí³³äèéã àøèãëàí á³ðòãýãäñýí ìýäýýëëèéã èë³³ àíãèëæ áîëíî:
828
Chapter 30 àëò õàíà LOG_INFO - íýâòð³³ëýõ, õààõààñ ³ë õàìààðàí "log" ò³ëõ³³ðèéã ³éëäýë àøèãëàí ïàêåòóóäûã á³ðòãýõ. LOG_NOTICE - íýâòýðñýí ïàêåòóóäûã á³ðòãýõ. LOG_WARNING - õààãäñàí ïàêåòóóäûã á³ðòãýõ. LOG_ERR - á³ðòãýñýí ïàêåòóóä áîëîí áîãèíî ãýãäñýí ïàêåòóóä
IPFILTER-í á³õ á³ðòãýëèéí ìýäýýëëèéã /var/log/ipfilter.log àéë äîòîð áè÷èõèéí òóëä, òà ýíý àéëûã ýõëýýä ³³ñãýõ õýðýãòýé. ³íèé òóëä äàðààõ òóøààëûã °ã°õ õýðýãòýé: # touch /var/log/ipfilter.log
syslog-í óíêöóóäûã /etc/syslog.conf àéë äîòîðõ òîäîðõîéëîõ èëýðõèéëë³³äýýð óäèðäàæ áîëíî. àéë íü IPF ìýò ïðîãðàìóóäûí ³³ñãýñýí ñèñòåìèéí ìýäýãäë³³äòýé àæèëëàõàä óÿí õàòàí áîëãîäîã. syslog.conf
Äàðààõ èëýðõèéëë³³äèéã /etc/syslog.conf àéë äîòîð íýìæ áè÷íý ³³: security.* /var/log/ipfilter.log
íü á³õ á³ðòãýãäñýí ìýäýãäë³³äèéã äóðäñàí àéëä áè÷èõèéã õýëæ °ã÷ áàéíà. /etc/syslog.conf àéëä õèéñýí °°ð÷ë°ëò³³äèéã èäýâõæ³³ëýõèéí òóëä òà ñèñòåìýý äàõèí à÷ààëàõ ýñâýë /etc/rc.d/syslogd reload òóøààëûã àøèãëàí syslog ïðîöåññîä /etc/syslog.conf àéëûã äàõèí óíøóóëàõ õýðýãòýé. Äýýð øèíýýð ³³ñãýñýí á³ðòãýëèéã òîéðóóëàõûí òóëä /etc/newsyslog.conf àéë äîòîð °°ð÷ë°ëò îðóóëàõàà ìàðòóóçàé. security.*
30.5.8
Á³ðòãýãäñýí ìýäýãäëèéí îðìàò
ipmon-û ³³ñãýñýí ìýäýãäýë çàéãààð òóñãààðëàãäñàí °ã°ãäëèéí òàëáàðóóäààñ á³ðäýíý. Á³õ ìýäýãäýëä áàéäàã ãîë òàëáàðóóä ãýâýë:
1. Ïàêåòèéã õ³ëýýæ àâñàí îãíîî.
2. Ïàêåòèéã õ³ëýýæ àâñàí öàã. Öàã, ìèíóò, ñåêóíä, áóòàðõàé ñåêóíäýä (îëîí îðíû íàðèéâ÷ëàëòàé) õàðãàëçàí HH:MM:SS.F îðìàòòàé áàéíà.
3. Ïàêåòòàé àæèëëàñàí èíòåðýéñèéí íýð, æèøýýëáýë dc0.
4. ijðìèéí á³ëýã áîëîí ä³ðìèéí äóãààð, æèøýýëáýë @0:17.
Ýäãýýðèéã ipfstat-in òóøààëûí òóñëàìæòàé ³çýæ áîëíî.
1. éëäýë: íýâòð³³ëñýí áîë ð, õààñàí áîë b, áîãèíî ïàêåò áîë S, àëü ÷ ä³ðìýíä òîõèðîîã³é áîë n, á³ðòãýõ ä³ðýì áîë L. Ýäãýýð òóãóóäûã äàðààõ ýðýìáýýð õàðóóëíà: S, p, b, n, L. Òîì P ýñâýë B ³ñýã íü òóõàéí ïàêåò ÿìàð íýã ä³ðìýýñ áèø, ãëîáàë òîõèðãîîíîîñ õàìààðàí á³ðòãýãäñýí áîëîõûã çààíà.
2. Õàÿãóóä. íäñýíäýý ãóðâàí òàëáàð áàéíà: ýõëýë õàÿã áîëîí ïîðò (òàñëàëààð òóñãààðëàãäñàí), -> òýìäýã, áà î÷èõ õàÿã áîëîí ïîðò. 209.53.17.22,80 -> 198.73.220.17,1722. 3. PR-í äàðàà ïðîòîêîëûí íýð áîëîí äóãààð, æèøýýëáýë PR tcp.
4. len-û äàðàà òîëãîéí óðò áîëîí ïàêåòèéí íèéò óðò, æèøýýëáýë len 20 40.
829
Chapter 30 àëò õàíà
Õýðýâ TCP ïàêåò áîë çóðààñààð ýõýëæ òóãóóäààð óäààëñàí íýìýëò òàëáàð áàéíà. ñã³³ä áîëîí ò³³íä õàðãàëçàõ òóãóóäûí òàëààð ipmon(8) çààâàð õóóäàñíààñ ³çíý ³³. Õýðýâ ICMP ïàêåò áîë, ò°ãñã°ëä íü õî¼ð òàëáàð áàéíà. Ýõíèéõ íü ³ðãýëæ “ICMP” óòãàòàé áàéíà, äàðààãèéíõ íü íàëóó çóðààñààð òóñãààðëàãäñàí ICMP ìýäýãäýë áîëîí äýä ìýäýãäëèéí ò°ð°ë, æèøýýëáýë ïîðòîä õàíäàæ ÷àäñàíã³é ãýñýí ìýäýãäëèéí õóâüä ICMP 3/3 áàéíà. 30.5.9
Ñèìáîë îðëóóëàëòòàé ñêðèïòèéã ³³ñãýõ íü
Çàðèì òóðøëàãàòàé IPF õýðýãëýã÷èä ä³ðì³³äèéã àãóóëñàí àéë ³³ñãýýä ò³³íèéãýý ñèìáîë îðëóóëàëòòàé ñêðèïò áàéäëààð àæèëëóóëàõ áîëîìæòîé áîëãîí áè÷äýã. ³íèé ãîë äàâóó òàë íü òà ç°âõ°í ñèìáîë íýðä õàðãàëçàõ óòãûã °°ð÷èëá°ë, ñêðèïòèéã àæèëëóóëàõàä óã ñèìáîë îðëóóëàëò îðñîí ä³ðýì á³ð øèíý óòãûã àâàõ áîëíî. Ñêðèïòèéí õóâüä, îëîí äàõèí õýðýãëýãääýã óòãóóäûã áè÷èõýä ñèìáîë îðëóóëàëòûã àøèãëàæ, òýäãýýðèéã îëîí ä³ðìýíä îðëóóëæ °ãí° ãýñýí ³ã þì. Äàðààõ æèøýýí äýýðýýñ õàðíà óó. Ýíä õýðýãëýãäñýí ñêðèïòèéí ñèíòàêñ íü sh, csh, áà tcsh á³ðõ³³ë äýýð àæèëëàõ áîëîìæòîé. Ñèìáîë îðëóóëàëòûí òàëáàðóóä íü óðäàà äîëëàðûí òýìäýãòýé áàéíà: $. Ñèìáîë òàëáàðóóä íü $ òýìäýã óðäàà áàéõã³é. Ñèìáîë òàëáàðûã îðëîõ óòãà íü äàâõàð õàøèëòàí(") äîòîð áàéðëàíà. ijðìèéí àéëàà äàðààõ áàéäàëòàé ³³ñãýæ ýõëýõ õýðýãòýé: ############# Start of IPF rules script ######################## oif="dc0" # name of the outbound interface odns="192.0.2.11" # ISP’s DNS server IP address myip="192.0.2.7" # my static IP address from ISP ks="keep state" fks="flags S keep state" # You can choose between building /etc/ipf.rules file # from this script or running this script "as is". # # Uncomment only one line and comment out another. # # 1) This can be used for building /etc/ipf.rules: #cat > /etc/ipf.rules << EOF # # 2) This can be used to run script "as is": /sbin/ipf -Fa -f - << EOF # Allow out access to my ISP’s Domain name server. pass out quick on $oif proto tcp from any to $odns port = 53 $fks pass out quick on $oif proto udp from any to $odns port = 53 $ks # Allow out non-secure standard www function pass out quick on $oif proto tcp from $myip to any port = 80 $fks # Allow out secure www function https over TLS SSL pass out quick on $oif proto tcp from $myip to any port = 443 $fks
830
Chapter 30 àëò õàíà EOF ################## End of IPF rules script ########################
Áàéõ ¼ñòîé á³õ ç³éëñ á³ãä áàéíà. Ýíý æèøýýí äýýð ä³ðì³³ä ÷óõàë áèø, õàðèí ñèìáîë îðëóóëàëò õýðõýí àæèëëàäãûã õàðóóëñàí áàéíà. Õýðýâ äýýðõ æèøýý /etc/ipf.rules.script íýðòýé àéë äîòîð áàéñàí áîë, ýäãýýð ä³ðì³³äèéã äàðààõ òóøààëûã °ã÷ äàõèí à÷ààëàõ áîëîìæòîé: # sh /etc/ipf.rules.script
Ñóóëãàãäñàí ñèìáîëòîé ä³ðìèéí àéëûã õýðýãëýõýä íýã àñóóäàë òóëãàðäàã: IPF ñèìáîë îðëóóëàëòûã îéëãîõã³é, èéì ñêðèïòèéã øóóä óíøèæ ÷àääàãã³é. Äàðààõ ñêðèïòèéã õî¼ð àðãûí íýãýýð õýðýãëýæ áîëíî: ð ýõýëñýí ì°ðèéã èë ãàðãà õàðèí ð ýõýëñýí ì°ð³³äèéã äàëäàë. ã àéë äîòîð áàéðëóóë, äàðàà íü °°ð÷ë°ëò á³ðèéí äàðàà àéëûã ³³ñãý ýñâýë °°ð÷ë°ëò îðóóë. ñêðèïòèéã àæèëëóóëàí /etc/rc.conf àéë äîòîð ipfilter_enable="NO" (ýíý àíõäàã÷ óòãà) ì°ðèéã íýìýí ñèñòåìèéí ýõëýë ñêðèïòýä IPFILTER-ã èäýâõã³é áîëãî. Äýýðõòýé àäèë ñêðèïòèéã °°ðèéí /usr/local/etc/rc.d/ ýõëýë õàâòàñò áàéðëóóë. Ýíý ñêðèïò ipf.loadrules.sh ÷ þì óó îéëãîìæòîé íýðòýé áàéõ ¼ñòîé. .sh ãýñýí °ðã°òã°ëòýé áàéõ ¼ñòîé.
• cat-
, /sbin/ipfipfilter_enable="YES"- /etc/rc.conf /etc/ipf.rules
•
#!/bin/sh sh /etc/ipf.rules.script
Ýíý ñêðèïòèéí ýðõ³³ä ýçýìøèã÷ root-í õóâüä óíøèõ, áè÷èõ, àæèëëàõ ýðõòýé áàéõ ¼ñòîé. # chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh
Îäîî ñèñòåì à÷ààëñíû äàðàà òàíû IPF ä³ðì³³ä à÷ààëàãäñàí áàéõ áîëíî. 30.5.10 IPF
ijðì³³äèéí îëîíëîã
Ïàêåò äîòîð àãóóëàãäàæ áàéãàà óòãóóäûã ³íäýñëýí òóõàéí ïàêåòèéã íýâòð³³ëýõ áîëîí õààõûã õýëæ áàéãàà ä³ðì³³äèéã ä³ðìèéí îëîíëîã ãýíý. Õîñòóóäûí õîîðîíäîõ õî¼ð ÷èãëýëòýé ïàêåò ñîëèëöîî íü ñåññ õàðèëöààã á³ðä³³ëíý. ãàëò õàíûí ä³ðìèéí îëîíëîãîîð ïàêåò õî¼ð äàõèí ø³³ãäýíý, ýõíèé óäàà Èíòåðíýòýýñ ïàêåòèéã õ³ëýýí àâàõàä, äàðààãèéí óäàà áóöàæ Èíòåðíýò ð³³ ãàð÷ ÿâàõàä. Á³õ TCP/IP ³éë÷èëãýýí³³äèéí õóâüä (æèøýý íü: telnet, www, mail, ã.ì.) ÿìàð ïðîòîêîëîîð àæèëëàõ áîëîí ýõëýë áà î÷èõ IP õàÿã, ýõëýë áà î÷èõ ïîðò õàÿã çýðãèéã óðüäààñ òîäîðõîéëæ °ãñ°í áàéäàã. Ýäãýýð ³ç³³ëýëò³³ä äýýð ³íäýñëýí íýâòð³³ëýõ áîëîõ õààõ ä³ðì³³äèéã çîõèîäîã. IPF-ã àíõ çîõèîõäîî “ñ³³ëä òîõèðñîí ä³ðýì äèéëíý” ëîãèêèéí äàãóó á³òýýñýí áà ç°âõ°í ò°ë°âò-áóñ ä³ðì³³äèéã àøèãëàäàã áàéëàà. Öàã õóãàöàà °íã°ð°õ°ä IPF èë³³ õ°ãæèæ, “quick” òîõèðóóëãà áîëîí ò°ë°âò “keep state” òîõèðóóëãóóäûã àãóóëàõ áîëñîí íü îð÷èí ³åèéí õýðýãöýý øààðäëàãàä èë³³ íèéöýõ áîëæýý. Ýíý á³ëýãò áàéãàà çààâðóóä íü “quick” áîëîí ò°ë°âò “keep state” òîõèðóóëãóóäûã àãóóëñàí ä³ðì³³äýýñ ³íäñýíäýý á³ðäñýí áàéãàà. Ýíý áîë õàìààðóóëñàí ãàëò õàíûí ä³ðì³³äèéã áè÷èõ ³íäñýí àðãà áàðèë þì. Õàìààðóóëñàí ãàëò õàíà íü ç°âõ°í ä³ðìýíä òîõèðñîí ïàêåòóóäûã íýâòð³³ëíý. Èéì ìàÿãààð ãàëò õàíûí öààíààñ Èíòåðíýò óðóó ÿìàð ÿìàð ³éë÷èëãýýí³³ä ãàð÷ áîëîõ áîëîí ýñðýãýýð Èíòåðíýòýýñ äîòîîä ñ³ëæýý óðóó ÿìàð ÿìàð ³éë÷èëãýýí³³ä õàíäàæ áîëîõûã óäèðäàõ áîëîìæòîé. Ýäãýýðýýñ áóñàä
831
Chapter 30 àëò õàíà
á³õ óðñãàëûã õààæ, á³ðòãýäýã áàéõààð çîõèîãäñîí áàéäàã. Õàìààðóóëñàí ãàëò õàíà íü õàìààðóóëààã³é ãàëò õàíààñ àþóëã³é áàéäëûí õóâüä õýä äàõèí èë³³, òèéìýýñ ýíä áèä ç°âõ°í õàìààðóóëñàí ãàëò õàíûí ä³ðì³³äèéí òàëààð ÿðèëöàõ áîëíî. Warning: àëò õàíûí ä³ðì³³äòýé àæèëëàõäàà ìàø àíõààðàëòàé áàéõ õýðýãòýé. Çàðèì òîõèðãîî ñåðâåðýýñ á³õ õîëáîîã òàíü òàñàëæ ìýäíý. Èéì àþóëààñ õîë áàéõûí òóëä, ãàëò õàíûí òîõèðãîîã àíõëàí õèéõäýý ssh çýðýã
àëñûí õàíäàëòààñ èë³³òýéãýýð îéðûí óäèðäëàãûã ñîíãîîðîé.
30.5.11
ijðìèéí ñèíòàêñ
Ýíä äóðäàõ ä³ðìèéí ñèíòàêñ íü îð÷èí ³åèéí ò°ë°âò ä³ðì³³äèéí õ³ðýýíä, “ñ³³ëä òîõèðñîí ä³ðýì äèéëíý” ëîãèêîîð àæèëëàõààð õÿëáàðøóóëàí áè÷èãäñýí áàéãàà. Õóó÷èí óëàìæëàëò ä³ðì³³äèéí ñèíòàêñûí á³ðýí òàéëáàðûã ipf(8) çààâàð õóóäàñíààñ ³çíý ³³. # ãýñýí òýìäýãò òàéëáàðûí ýõëýëèéã çààõ áà ä³ðýì áè÷ñýí ì°ðèéí ò°ãñã°ëä ýñâýë °°ð°° á³òýí ì°ð áàéäëààð áàéðëàíà. Õîîñîí ì°ðèéã òîîöîõã³é. ijðì³³ä íü ò³ëõ³³ð ³ã³³äèéã àãóóëíà. Ýäãýýð ò³ëõ³³ð ³ã³³ä íü òóõàéí ì°ð°íä ç³³íýýñ áàðóóí òèéø òîäîðõîé äýñ äàðààãààð áè÷èãäýíý. Ò³ëõ³³ð ³ã³³ä òîäîîð áè÷èãäýõ òóë ò³³ãýýð íü ÿëãàæ òàíèíà. Çàðèì ò³ëõ³³ð ³ã³³ä äýä-òîõèðóóëãàòàé áàéíà. Òýð íü °°ð°° ò³ëõ³³ð ³ã áàéæ áîëîõîîñ ãàäíà öààø äýä-òîõèðóóëãóóäûã àãóóëñàí áàéæ áîëíî. Äîîðõ ñèíòàêñûí ³ã á³ð íü äîð áàéðëàõ ì°ð³³äýä çàäàðãààíû õàìò áàéãàà. ACTION IN-OUT OPTIONS SELECTION STATEFUL PROTO SRC_ADDR,DST_ADDR OBJECT PORT_NUM TCP_FLAG STATEFUL ACTION = block | pass IN-OUT = in | out OPTIONS = log | quick | on interface-name SELECTION = proto value | source/destination IP | port = number | flags flag-value PROTO = tcp/udp | udp | tcp | icmp SRC_ADD,DST_ADDR = all | from object to object OBJECT = IP address | any PORT_NUM = port number TCP_FLAG = S STATEFUL = keep state
30.5.11.1 ACTION
Òóõàéí ä³ðìýíä òîõèð÷ áàéãàà ïàêåòèéã õýðõýõèéã action áóþó ³éëäýë çààæ °ãí°. Á³õ ä³ðýì ³éëäýëòýé áàéõ ¼ñòîé . Äàðààõ ³éëäë³³äèéã õýðýãëýæ áîëíî: block ãýäýã íü ïàêåòòàé selection áóþó ñîíãîëòûí ïàðàìåòð³³ä òîõèð÷ áàéâàë òóõàéí ïàêåòèéã îðõèãäóóëàõûã çààæ °ãí°.
832
Chapter 30 àëò õàíà pass ãýäýã íü ïàêåòòàé selection áóþó ñîíãîëòûí ïàðàìåòð³³ä òîõèð÷ áàéâàë òóõàéí ïàêåòèéã íýâòð³³ëýõèéã çààæ °ãí°.
30.5.11.2 IN-OUT
ijðýì íü îðîõ áîëîí ãàðàõ óðñãàëûí àëèíä ³éë÷ëýõèéã çààâàë çààæ °ã°õ ¼ñòîé. Ýíý íü in ýñâýë out ò³ëõ³³ð ³ãèéí àëü íýã íü çààâàë áè÷èãäñýí áàéõ ¼ñòîé ãýñýí ³ã þì. ã³é áîë ñèíòàêñûí àëäàà °ã÷, òàíèãäàõã³é. in ãýäýã íü Èíòåðíýò óðóó õàðæ áàéãàà èíòåðýéñ äýýð õ³ëýýæ àâñàí äîòîãøîî èðæ áàéãàà ïàêåòèéí õóâüä ýíý ä³ðýì ³éë÷ëýõèéã çààæ °ãí°. out ãýäýã íü Èíòåðíýò óðóó õàðæ áàéãàà èíòåðýéñ óðóó ÷èãëýñýí ãàäàãøàà ÿâæ áàéãàà ïàêåòèéí õóâüä ýíý ä³ðýì ³éë÷ëýõèéã çààæ °ãí°. 30.5.11.3 OPTIONS Note: Ýäãýýð options áóþó òîõèðóóëãóóäûã
ýíä ³ç³³ëñýí äýñ äàðààëëûí äàãóó õýðýãëýõ ¼ñòîé.
ãýäýã íü ïàêåòòàé selection áóþó ñîíãîëòûí ïàðàìåòð³³ä òîõèð÷ áàéâàë ïàêåòèéí òîëãîé ipl á³ðòãýë óðóó (äîð Á³ðòãýë Õ°òë°õ õýñýãò çààñíû äàãóó) áè÷èãäýõèéã çààæ °ãí°. quick ãýäýã íü ïàêåòòàé selection áóþó ñîíãîëòûí ïàðàìåòð³³ä òîõèð÷ áàéâàë ýíý ä³ðýì íü õàìãèéí ñ³³ëèéí ä³ðýì áîëîõûã çààæ °ãí°. Èíãýñíýýð “short-circuit” çàìûã òóõàéí ïàêåòèéí õóâüä äàðààãèéí ä³ðì³³äèéã øàëãàõûã áîëèóëíà. Îð÷èí ³åèéí ä³ðýìòýé àæèëëàõ ëîãèêèéí õóâüä ýíý òîõèðóóëãûã çààâàë õýðýãëýíý. on ãýäýã íü selection áóþó ñîíãîëòûí ïàðàìåòð³³äèéí àæèëëàõ èíòåðýéñèéã çààæ °ãí°. Èíòåðýéñ³³äèéí íýðèéã ifconfig(8)-í òóñëàìæòàé õàðæ áîëíî. Ýíý òîõèðóóëãûã õýðýãëýñíýýð, òóõàéí ä³ðýì ç°âõ°í ýíý èíòåðýéñýýð çîõèõ ÷èãëýëä(in/out) ÿâæ áàéãàà ïàêåòèéí õóâüä ³éë÷èëíý. Îð÷èí ³åèéí ä³ðýìòýé àæèëëàõ ëîãèêèéí õóâüä ýíý òîõèðóóëãûã çààâàë õýðýãëýíý. ïàêåòèéã á³ðòãýõýä, ò³³íèé òîëãîéã IPL ïàêåò á³ðòãýõ õóóðàì÷-ò°õ°°ð°ìæ óðóó áè÷íý. log ò³ëõ³³ð ³ãèéí äàðàà øóóä çàëãààä, äàðààõ òîäîòãîã÷äûã(äàðààõ äýñ äàðààëëààð) õýðýãëýæ áîëíî: body ãýäýã íü ïàêåòèéí òîëãîéí äàðàà ïàêåòèéí àãóóëãûí ýõíèé 128 áàéòûã á³ðòãýõèéã çààæ °ãí°. first Õýðýâ log ò³ëõ³³ð ³ã “keep state” òîõèðóóëãûí õàìò õýðýãëýãäñýí áîë, ò³³íèé àðààñ èðýõ “keep state”-ä òîõèð÷ áàéãàà á³õ ïàêåòèéã áèø ç°âõ°í ýíý òîõèðóóëãûã èäýâõæ³³ëñýí ýõíèé ïàêåòèéã á³ðòãýõèéí òóëä ýíý òîõèðóóëãûã õýðýãëýíý. log
30.5.11.4 SELECTION
Ýíý á³ëýãò òàíèëöóóëæ áàéãàà ò³ëõ³³ð ³ã³³ä òóõàéí ïàêåòèéã ä³ðìýíä òîõèðñîí ýñýõèéã òîãòîîõûí òóëä øàëãàäàã ïàêåòèéí îíöëîãèéã òîäîðõîéëîõîä õýðýãëýãääýã. Ì°í subject ò³ëõ³³ð ³ã áàéõ áà äýä-òîõèðóóëãà ò³ëõ³³ð ³ãèéí àëü íýãèéã ñîíãîí õýðýãëýíý. Äàðààõ åð°íõèé îíöëîãóóäûã õýðýãëýõ áîëîìæòîé, ãýõäýý äîîðõ äýñ äàðààëëààð õýðýãëýõ õýðýãòýé:
833
Chapter 30 àëò õàíà 30.5.11.5 PROTO
ãýäýã íü subject ò³ëõ³³ð ³ã á°ã°°ä °°ðèéí õàðãàëçàõ äýä-òîõèðóóëãûí õàìò õýðýãëýãäýõ ¼ñòîé. Óòãà íü ÿìàð ïðîòîêîë äýýð àæèëëàõûã õýëæ °ãí°. Îð÷èí ³åèéí ä³ðýìòýé àæèëëàõ ëîãèêèéí õóâüä ýíý òîõèðóóëãûã çààâàë õýðýãëýíý. tcp/udp | udp | tcp | icmp ýñâýë /etc/protocols àéë äîòîð áàéãàà ïðîòîêîëóóäûã õýðýãëýæ áîëíî. Òóñãàé tcp/udp ãýñýí ò³ëõ³³ð ³ã TCP ýñâýë UDP ïàêåòèéã ñîíãîõîä õýðýãëýãääýã áà, äàâõàð ýñâýë ò°ñòýé ä³ðì³³äèéã àðèëãàõ ³³äíýýñ íýìýãäñýí áàéãàà. proto
30.5.11.6 SRC_ADDR/DST_ADDR
ãýñýí ò³ëõ³³ð ³ã íü °°ð ÿìàð ÷ ïàðàìåòðã³é “from any to any” ãýäýãòýé àäèë þì. from src to dst: from áà to ãýñýí ò³ëõ³³ð ³ã³³ä IP õàÿãèéã ø³³õýä õýðýãëýãäýíý. ijðýìä õýðýãëýõäýý ýõëýë áà î÷èõ ïàðàìåòðèéã ÕÎÓËÀÍ çààæ °ã°õ ¼ñòîé. any ãýñýí òóñãàé ò³ëõ³³ð ³ãèéí òóñëàìæòàé á³õ IP õàÿãèéã ç°âø°°ð÷ °ã÷ áîëíî. Õýðýãëýõ æèøýý: “from any to any” ýñâýë “from 0.0.0.0/0 to any” ýñâýë “from any to 0.0.0.0/0” ýñâýë “from 0.0.0.0 to any” ýñâýë “from any to 0.0.0.0”. IP õàÿãèéã öýãòýé òîîí õýëáýð áîëîí áàãèéí õàìò ýñâýë ç³ãýýð öýãòýé òîîí õýëáýðýýð áè÷èæ áîëíî. Áàãààð õÿëáàðõàí èëýðõèéëýõ áîëîìæã³é IP õàÿãóóäûã õýðýãëýõ áîëîìæã³é. Áàã áè÷èõ òàëààð òóñëàìæèéã äàðààõ âýá õóóäñààð îðæ ³çíý ³³: http://jodies.de/ipcalc.
all
30.5.11.7 PORT
Õýðýâ ýõëýë ýñâýë î÷èõ ïîðò, ýñâýë õî¼óëàíãààð íü òîõèðóóëàõ áîë ýíý íü ç°âõ°í TCP áà UDP ïàêåòóóäàä õàìààðíà. Ïîðò æèøñýí ä³ðýì áè÷èõäýý /etc/services àéë äîòîðõ ³éë÷èëãýýíèé íýð ýñâýë á³õýë òîîí ïîðòûí äóãààðûã õýðýãëýíý. Ïîðòûã from îáüåêòòîé õàìò õýðýãëýõ ³åä ýíý íü ýõëýë ïîðòûí äóãààðûã, to îáüåêòòîé õàìò õýðýãëýõ ³åä ýíý íü î÷èõ ïîðòûí äóãààðûã çààíà. Îð÷èí ³åèéí ä³ðýìòýé àæèëëàõ ëîãèêèéí õóâüä port òîõèðãîîã to îáüåêòòîé çààâàë õàìò õýðýãëýíý. Õýðýãëýõ æèøýý: “from any to any port = 80” Ïîðòûã æèøèõ îïåðàòîðîîð ýñâýë ïîðò çóðâàñûã çààæ °ã°õ çýðãýýð õýä õýäýí ÿíçààð æèøèæ áîëíî. port "=" | "!=" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | "gt" | "le" | "ge".
Ïîðò çóðâàñûã çààæ °ã°õä°°, port "<>" | "><" ãýæ õýðýãëýíý. Warning: Îð÷èí ³åèéí ä³ðýìòýé àæèëëàõ ëîãèêèéí õóâüä ýõëýë áîëîí î÷èõ ïîðò òîõèðóóëàõ ïàðàìåòð³³äèéí äàðàà, äàðààõ õî¼ð ïàðàìåòðèéã çààâàë õýðýãëýíý.
30.5.11.8 TCP_FLAG
Òóãóóäûã ç°âõ°í TCP ø³³ëòèéí ³åä õýðýãëýíý. ñã³³äýýð íü TCP ïàêåòèéí òîëãîéòîéã øàëãàõ áîëîìæèò òóãóóäû㠳糳ëñýí áàéíà. Îð÷èí ³åèéí ä³ðýìòýé àæèëëàõ ëîãèê íü flags S ïàðàìåòðèéã tcp ñåññ ýõë³³ëýõ õ³ñýëòèéã òýìäýãëýõäýý õýðýãëýäýã.
834
Chapter 30 àëò õàíà 30.5.11.9 STATEFUL
ãýäýã íü íýâòð³³ëýõ ò°ðëèéí ä³ðìèéí õóâüä ñîíãîõ ïàðàìåòð³³äòýé òîõèðñàí ÿìàð ÷ ïàêåò ò°ë°âò ø³³õ íýìýëò áîëîìæèéã èäýâõæ³³ëýõ ¼ñòîéã çààæ °ãí°.
keep state
Note: Îð÷èí ³åèéí ä³ðýìòýé àæèëëàõ ëîãèêèéí õóâüä ýíý òîõèðóóëãûã çààâàë õýðýãëýíý.
30.5.12
Ò°ë°âò ø³³ëò
Õîñòóóäûí õîîðîíäîõ õî¼ð ÷èãëýëòýé ïàêåò ñîëèëöîî ñåññ õàðèëöààíààñ á³ðääýã. Ò°ë°âò ø³³ëò íü óðñãàëûã ñåññ õàðèëöààíààñ á³ðäýæ áóé õî¼ð ÷èãëýëòýé ïàêåò ñîëèëöîî ãýæ ³çäýã. keep-state-ã èäýâõæ³³ëñýí ³åä, keep-state íü õî¼ð ÷èãëýëòýé ñåññ õàðèëöààíû ³åä ñîëèëöñîí á³õ ïàêåòóóäûí õóâüä äîòîîä ä³ðì³³äèéã äèíàìèê áàéäëààð ³³ñãýäýã. Ì°í ýíý íü ñåññ ýõë³³ëñýí áîëîí õ³ëýýí àâñàí õîñòóóäûí õîîðîíäîõ ñåññ õàðèëöàà íü õî¼ð ÷èãëýëòýé ïàêåò ñîëèëöîõ ïðîöåäóðòàé çîõèöîæ áàéãàà ýñýõèéã ìàãàäëàõ ÷àäâàðòàé áàéäàã. Ñåññ õàðèëöààíû çàãâàðò çîõèöîîã³é ïàêåòèéã õóóðàì÷ ãýæ ³çýí õ³ëýýæ àâàõã³é. TCP ýñâýë UDP ñåññòýé õîëáîîòîé ICMP ïàêåòóóäûã keep state íýâòð³³ëíý. Òýãýõýýð, keep state ä³ðìýýð ç°âø°°ð°ãäñ°í âýáýýð õèéõ àÿëàëûí õàðèóä ICMP type 3 code 4 õàðèóã õ³ëýýí àâáàë ãàëò õàíà ³³íèéã àâòîìàòààð íýâòð³³ëíý ãýñýí ³ã þì. Õýðýâ IPF õ³ëýýí àâñàí ïàêåòèéã èäýâõòýé áàéãàà ñåññèéí íýã õýñýã ãýæ áàòòàé èòãýæ áàéâàë, °°ð ïðîòîêîë äýýð áàéñàí ÷ ïàêåòèéã íýâòð³³ëíý. ³íèé öààíà þó áîëîõ âý ãýâýë: Èíòåðíýò óðóó õîëáîãäñîí èíòåðýéñýýð ãàð÷ áàéãàà ïàêåòóóäûã õàìãèéí ò³ð³³íä äèíàìèê ò°ëâèéí õ³ñíýãòýíä øàëãàíà. Õýðýâ òóõàéí ïàêåò ÿìàð íýã èäýâõòýé áàéãàà ñåññ õàðèëöààíä îðîëöîæ áàéãàà ç°âø°°ð°ãäñ°í äàðààãèéí ïàêåò áàéõ þì áîë, ãàëò õàíààð íýâòð³³ëýõ áà äèíàìèê ò°ëâèéí õ³ñíýãòýí äýõ ñåññ õàðèëöààíû ò°ë°â øèíý÷ëýãäýíý. ëäñýí ïàêåòóóäûã ãàäàãøàà óðñãàëûí ä³ðìýýð øàëãàõ áîëíî. Èíòåðíýò óðóó õîëáîãäñîí èíòåðýéñ äýýð èðæ áàéãàà ïàêåòóóäûã õàìãèéí ò³ð³³íä äèíàìèê ò°ëâèéí õ³ñíýãòýíä øàëãàíà. Õýðýâ òóõàéí ïàêåò ÿìàð íýã èäýâõòýé áàéãàà ñåññ õàðèëöààíä îðîëöîæ áàéãàà ç°âø°°ð°ãäñ°í äàðààãèéí ïàêåò áàéõ þì áîë, ãàëò õàíààð íýâòð³³ëýõ áà äèíàìèê ò°ëâèéí õ³ñíýãòýí äýõ ñåññ õàðèëöààíû ò°ë°â øèíý÷ëýãäýíý. ëäñýí ïàêåòóóäûã äîòîãøîî óðñãàëûí ä³ðìýýð øàëãàõ áîëíî. Õàðèëöàà äóóñàõàä äèíàìèê ò°ëâèéí õ³ñíýãòýýñ çîõèõ áè÷ëýã óñòãàãäàíà. Ò°ë°âò ø³³ëòèéí òóñëàìæòàéãààð òà øèíý ñåññ ç°âø°°ð°õ/õààõ ³éë àæèëëàãààí äýýð ò°âë°ð÷ àæèëëàæ ÷àäíà. Õýðýâ øèíý ñåññ ç°âø°°ð°ãäñ°í áîë ò³³íèé äàðààãèéí á³õ ïàêåòóóäûã àâòîìàòààð íýâòð³³ëýõ áà õóóðàì÷ ïàêåòóóä àâòîìàòààð áóöààãäàíà. Õýðýâ øèíý ñåññ õààãäñàí áîë ò³³íèé äàðààãèéí ÿìàð ÷ ïàêåò íýâòýð÷ ÷àäàõã³é. Ò°ë°âò ø³³ëò íü ñ³³ëèéí ³åèéí õàëäëàãóóäàä àøèãëàãäàæ áàéãàà àðãóóäûí ýñðýã õàìãààëàõ ÷àäâàðòàé òåõíèêèéí õóâüä °íä°ð ò³âøíèé àñóóëãà ÿâóóëàõ ÷àäâàðòàé þì.
835
Chapter 30 àëò õàíà
30.5.13
Õàìààðóóëñàí ä³ðìèéí îëîíëîãèéí æèøýý
Äàðààõ ä³ðìèéí îëîíëîã íü àþóëã³é áàéäëûã ìàø ñàéí õàíãàñàí, õàìààðóóëñàí ãàëò õàíûí ä³ðì³³äèéã õýðõýí áè÷èõ æèøýý þì. Õàìààðóóëñàí ãàëò õàíà íü ç°âõ°í pass ä³ðì³³äýä òîõèðñîí ³éë÷èëãýýã ç°âø°°ð÷, áóñäûã á³ãäèéã õààíà. Á³õ ãàëò õàíàíóóä õàìãèéí áàãàäàà õî¼ð èíòåðýéñòýé áàéõ áà ãàëò õàíà ìàÿãààð àæèëëàõûí òóëä ä³ðì³³äèéã òóñãàéëàí çààæ °ãñ°í áàéíà. FreeBSD-ã îðîëöóóëààä á³õ UNIX ò°ðëèéí ñèñòåì íü ³éëäëèéí ñèñòåì äýõ äîòîîä õàðèëöààíäàà lo0 èíòåðýéñ áîëîí 127.0.0.1 ãýñýí IP õàÿãèéã õýðýãëýõýýð á³òýýãäñýí áàéäàã. àëò õàíûí ä³ðì³³ä íü äîòîîääîî õýðýãëýæ áàéãàà ýäãýýð ïàêåòóóäûã ÷°ë°°òýé íýâòð³³ëýõ ä³ðì³³äèéã àãóóëñàí áàéõ ¼ñòîé. Èíòåðíýòòýé õîëáîãäîæ áàéãàà èíòåðýéñ äýýð òà °°ðèéí Èíòåðíýò óðóó ãàð÷ áàéãàà áîëîí Èíòåðíýòýýñ èðæ áàéãàà õàíäàëòûã óäèðäàõ áîëîí õÿíàõ ä³ðì³³äèéã áàéðëóóëíà. Ýíý íü òàíû PPP tun0 èíòåðýéñ ýñâýë òàíû DSL ýñâýë êàáåëü ìîäåìä õîëáîãäñîí NIC áàéæ áîëíî. àëò õàíûí öààíà áàéãàà õóâèéí LAN-óóäàä íýã áîëîí ò³³íýýñ äýýø òîîíû NIC-óóä õîëáîãäñîí òîõèîëäîëä, òýäãýýð èíòåðýéñ³³äèéí õóâüä òýäãýýð LAN èíòåðýéñ³³äýýñ èðñýí ïàêåòóóäûã ÷°ë°°òýé íýâòð³³ëýõ ä³ðìèéã àãóóëñàí áàéõ ¼ñòîé. ijðì³³ä ýõëýýä ãóðâàí ³íäñýí õýñýãò õóâààãäàí çîõèîí áàéãóóëàãäñàí áàéõ ¼ñòîé: á³õ ÷°ë°°ò õàëäàøã³é èíòåðýéñ³³ä, íèéòèéí ãàäàãøàà èíòåðýéñ, áà íèéòèéí äîòîãøîî èíòåðýéñ. Íèéòèéí èíòåðýéñ õýñýãò áàéãàà ä³ðì³³ä òóõàéí èíòåðýéñ áîëîí ÷èãëýëèéí õóâüä õàìãèéí îëîí òîõèîëääîã ä³ðì³³ä íü õàìãèéí ò³ð³³íä, ö°°í òîõèîëääîã ä³ðì³³äýýñ °ìí° áàéõààð, õààõ áîëîõ á³ðòãýõ ä³ðì³³ä íü õàìãèéí ñ³³ëä áàéõààð áè÷èãäñýí áàéíà. Äàðààõ æèøýýí äýýðõ àäàãøàà õýñýã íü Èíòåðíýò õàíäàëòûã ç°âø°°ð÷ °ã°õ ³éë÷èëãýýã òîäîðõîéëîõ ñîíãîëòûí óòãóóäûã àãóóëñàí ç°âõ°í ’pass’ ä³ðì³³äýýñ á³ðäýæ áàéíà. Á³õ ä³ðì³³ä ’quick’, ’on’, ’proto’, ’port’, áà ’keep state’ òîõèðóóëãóóäûã àãóóëñàí áàéãàà. ’proto tcp’ ä³ðì³³ä íü ò°ë°âò áàéäëûã èäýâõæ³³ëæ áàéãàà ïàêåòèéã òîäîðõîéëîõ áàéäëààð, ñåññ ýõë³³ëýõ õ³ñýëòèéã òîäîðõîéëîõ çîðèëãîîð ’flag’ òîõèðóóëãûã àãóóëñàí áàéíà. Äîòîãøîî õýñýãò ýõëýýä õ³ñýýã³é ïàêåòóóäûã õààõ ä³ðì³³äèéã áè÷ñýí áàéíà. Ýíý íü õî¼ð °°ð øàëòãààíòàé. Ýõíèéõ íü, ýíý ä³ðì³³äýýð õààãäñàí ç³éëñ íü äîîð áàéãàà °°ð íýã ä³ðìýýð ç°âø°°ð°ãäñ°í ïàêåòèéí íýã õýñýã áàéæ áîëîõ òàëòàé. Õî¼ð äàõü øàëòãààí íü, ö°°õ°í òîîòîé õ³ëýýæ àâäàã áà á³ðòãýõ õ³ñýëã³é áàéãàà ïàêåòóóäûã ñîíãîí, òýäãýýðèéã á³ðíýýð õààõ ä³ðìèéã ýõëýýä áè÷èæ °ãñí°°ð ýäãýýð ïàêåòóóä õàìãèéí ñ³³ëä áàéãàà ÿìàð ÷ ä³ðì³³äýä òîõèðîîã³é ïàêåòóóäûã á³ðòãýýä õààíà ãýñýí ä³ðìýýð äàéðàõã³é áîëãîæ áàéãàà þì. Ó÷èð íü ýíý õýñãèéí õàìãèéí ñ³³ëä áàéãàà á³ãäèéã á³ðòãýýä õààíà ãýñýí ä³ðýì áîë °°ðèéí ñèñòåì óðóó õàëäàæ áàéãàà õàëäëàãûí íîòîëãîîã öóãëóóëàõ òàíû íýã àðãà áèëýý. °ð íýã òýìäýãëýí õýëýõ ç³éë áîë, õ³ñýýã³é ïàêåòóóäûí õàðèóä ÿìàð ÷ õàðèó ÿâóóëàõã³é, òýä ç³ãýýð ë îðõèãäîæ àëãà áîëíî. Èíãýñíýýð õàëäëàãà ÿâóóëàã÷ ò³³íèé ÿâóóëñàí ïàêåòóóä òàíû ñèñòåìä õ³ðñýí ýñýõ òàëààð þó ÷ ìýäýõã³é ³ëäýõ áîëíî. Òàíû ñèñòåìèéí òàëààð õýäèé õýð áàãà ìýäíý, òýä ÿìàð íýã ìóó ç³éë õèéæ ÷àäàõ õ³ðòýë ò°äèé ÷èíýý óðò õóãàöàà çàðöóóëíà ãýñýí ³ã þì. Äîòîãøîî ’nmap OS fingerprint’ îðîëäëîãûí ýõíèé òîõèîëäëûã áè á³ðòãýæ áàéãàà, ÿàãààä ãýâýë ýíý áîë ãàäíû õàëäëàãûí íýã õýëáýð þì. ’log first’ îðñîí ä³ðìèéí õóâüä òà àíõíû á³ðòãýëèéã õàðàõ þì áîë ipfstat -hio òóøààëààð ýíý ä³ðýì õýäýí óäàà òîõèðñîí áàéãààã øàëãààðàé. Ìàãàäã³é òà õàëäëàãàä °ðò°æ áàéæ áîëîõ þì. Õýðâýý ìýäýõã³é äóãààðòàé ïîðòûí õóâüä ïàêåòóóä á³ðòãýãäñýí áàéâàë /etc/services àéëààñ ýñâýë http://www.securitystats.com/tools/portsearch.php õàÿãààð òóõàéí ïîðò ÿìàð çîðèóëàëòààð àøèãëàãääàãèéã îðæ øàëãààðàé.
836
Chapter 30 àëò õàíà
Òðîÿíóóäûí õýðýãëýäýã ïîðòûí äóãààðóóäûã http://www.simovits.com/trojans/trojans.html õàÿãààð îðæ øàëãààðàé. Äàðààõ ä³ðìèéí îëîíëîã íü ìèíèé °°ðèéí ñèñòåì äýýðýý õýðýãëýäýã àþóëã³é áàéäëûã á³ðýí õàíãàñàí õàìààðóóëñàí ãàëò õàíûí ä³ðìèéí îëîíëîã áàéãàà þì. Òà ýíý ä³ðì³³äèéã °°ðèéí ñèñòåìäýý àøèãëàõàä áóðóóäàõ þìã³é. Ç°âø°°ð°õèéã õ³ñýõã³é áàéãàà ³éë÷èëãýýí³³äèéí õóâüä õàðãàëçàõ íýâòð³³ëýõ ä³ðìèéã äàëäëààðàé. Õýðýâ á³ðòãýëä áàéãàà çàðèì ìýäýãäëèéã äàõèí õàðàõûã õ³ñýõã³é, á³ðòãýõèéã õ³ñýõã³é áàéãàà áîë äîòîãøîî õýñýãò õààõ ä³ðýì íýìæ áè÷ýýðýé. ijðýì á³ðò áàéãàà dc0 ãýñýí èíòåðýéñèéí íýðèéí îðîíä òàíû ñèñòåìèéã Èíòåðíýò óðóó õîëáîæ áàéãàà NIC êàðòíû èíòåðýéñèéí íýðèéã ñîëüæ òàâèàðàé. Õýðýãëýã÷èéí PPP-í õóâüä, ýíý íü tun0 áàéíà. Äàðààõ èëýðõèéëë³³äèéã /etc/ipf.rules äîòîð áè÷èõ õýðýãòýé: ################################################################# # No restrictions on Inside LAN Interface for private network # Not needed unless you have LAN ################################################################# #pass out quick on xl0 all #pass in quick on xl0 all ################################################################# # No restrictions on Loopback Interface ################################################################# pass in quick on lo0 all pass out quick on lo0 all ################################################################# # Interface facing Public Internet (Outbound Section) # Interrogate session start requests originating from behind the # firewall on the private network # or from this gateway server destine for the public Internet. ################################################################# # Allow out access to my ISP’s Domain name server. # xxx must be the IP address of your ISP’s DNS. # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file pass out quick on dc0 proto tcp from any to xxx port = 53 flags S keep state pass out quick on dc0 proto udp from any to xxx port = 53 keep state # Allow out access to my ISP’s DHCP server for cable or DSL networks. # This rule is not needed for ’user ppp’ type connection to the # public Internet, so you can delete this whole group. # Use the following rule and check log for IP address. # Then put IP address in commented out rule & delete first rule pass out log quick on dc0 proto udp from any to any port = 67 keep state #pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state
837
Chapter 30 àëò õàíà # Allow out non-secure standard www function pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state # Allow out secure www function https over TLS SSL pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state # Allow out send & get email function pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state # Allow out Time pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state # Allow out nntp news pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state # Allow out gateway & LAN users non-secure FTP ( both passive & active modes) # This function uses the IPNAT built in FTP proxy function coded in # the nat rules file to make this single rule function correctly. # If you want to use the pkg_add command to install application packages # on your gateway system you need this rule. pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state # Allow out non-secure Telnet pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state # Allow out FBSD CVSUP function pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state # Allow out ping to public Internet pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state # Allow out whois for LAN PC to public Internet pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state # Block and log only the first occurrence of everything # else that’s trying to get out. # This rule enforces the block all by default logic. block out log first quick on dc0 all ################################################################# # Interface facing Public Internet (Inbound Section) # Interrogate packets originating from the public Internet # destine for this gateway server or the private network. ################################################################# # Block all inbound traffic from non-routable or reserved address spaces block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918 private IP block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918 private IP
838
Chapter 30 àëò õàíà block block block block block block block
in in in in in in in
quick quick quick quick quick quick quick
on on on on on on on
dc0 dc0 dc0 dc0 dc0 dc0 dc0
from from from from from from from
10.0.0.0/8 to any 127.0.0.0/8 to any 0.0.0.0/8 to any 169.254.0.0/16 to any 192.0.2.0/24 to any 204.152.64.0/23 to any 224.0.0.0/3 to any
#RFC 1918 private IP #loopback #loopback #DHCP auto-config #reserved for docs #Sun cluster interconnect #Class D & E multicast
##### Block a bunch of different nasty things. ############ # That I do not want to see in the log # Block frags block in quick on dc0 all with frags # Block short tcp packets block in quick on dc0 proto tcp all with short # block source routed packets block in quick on dc0 all with opt lsrr block in quick on dc0 all with opt ssrr # Block nmap OS fingerprint attempts # Log first occurrence of these so I can get their IP address block in log first quick on dc0 proto tcp from any to any flags FUP # Block anything with special options block in quick on dc0 all with ipopts # Block public pings block in quick on dc0 proto icmp all icmp-type 8 # Block ident block in quick on dc0 proto tcp from any to any port = 113 # Block all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 block in log first quick on dc0 proto tcp/udp from any to any port block in log first quick on dc0 proto tcp/udp from any to any port block in log first quick on dc0 proto tcp/udp from any to any port block in log first quick on dc0 proto tcp/udp from any to any port
= = = =
137 138 139 81
# Allow traffic in from ISP’s DHCP server. This rule must contain # the IP address of your ISP’s DHCP server as it’s the only # authorized source to send this packet type. Only necessary for # cable or DSL configurations. This rule is not needed for # ’user ppp’ type connection to the public Internet. # This is the same IP address you captured and # used in the outbound section. pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state # Allow in standard www function because I have apache server pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state
839
Chapter 30 àëò õàíà
# Allow in non-secure Telnet session from public Internet # labeled non-secure because ID/PW passed over public Internet as clear text. # Delete this sample group if you do not have telnet server enabled. #pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state # Allow in secure FTP, Telnet, and SCP from public Internet # This function is using SSH (secure shell) pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state # Block and log only first occurrence of all remaining traffic # coming into the firewall. The logging of only the first # occurrence stops a .denial of service. attack targeted # at filling up your log file space. # This rule enforces the block all by default logic. block in log first quick on dc0 all ################### End of rules file #####################################
30.5.14 NAT NAT íü Network Address Translation áóþó ѳëæýýíèé õàÿãèéí Õ°ðâ³³ëýëòèéí òîâ÷ëîë þì. Linux-í òàëààð îéëãîëòòîé õ³ì³³ñèéí õóâüä, ýíý îéëãîëòûã IP ìàñêàðàä ãýæ íýðëýäýã; NAT áà IP ìàñêàðàä íü íýã ç³éë þì. IPF NAT-í áèäýíä îëãîæ áàéãàà îëîí ç³éë³³äèéí íýã áîë ãàëò õàíûí öààíà áàéãàà Local Area Network áóþó Îéðûí Çàéí ѳëæýý(LAN)-í õóâüä ISP-ñ îíîîæ °ãñ°í ãàíö IP õàÿãèéã Èíòåðíýòýä õóâààí õýðýãëýõ þì.
Èíãýõ ÿìàð øààðäëàãà áàéíàà ãýæ òà ãàéõàí àñóóõ áàéõ. ISP-óóä °°ðèéí àøãèéí-áóñ õýðýãëýã÷èääýý èõýâ÷ëýí äèíàìèê IP õàÿã îíîîäîã. Äèíàìèê ãýäýã íü òàíûã ISP ðóó çàëãàí íýâòðýí îðîõ áîëãîíä, êàáåëü ýñâýë DSL ìîäåìòîé õýðýãëýã÷äèéí õóâüä ìîäåìîî àñààæ óíòðààõ áîëãîíä òàíä °°ð °°ð IP õàÿã îíîîíî ãýñýí ³ã þì. Ýíý IP õàÿãààð òà Èíòåðíýòýä ãàðàõ áîëíî. Òà ãýðòýý òàâàí PC-òýé á°ã°°ä á³ãä Èíòåðíýò óðóó ãàðäàã áàéõ õýðýãòýé ãýæ áîäú¼. Òýãâýë òà PC òóñ á³ðò òóñàä íü ýðõ õóäàëäàí àâ÷, òàâàí óòàñíû ³ç³³ðòýé áàéõ õýðýãòýé áîëíî. Òýãâýë NAT-í òóñëàìæòàé òà ISP-ãààñàà ç°âõ°í ãàíöõàí ýðõ õóäàëäàí àâààä, áóñàä ä°ðâ°í PC-ãýý switch áóþó øèëæ³³ëýã÷ óðóó õîëáîæ, õàðèí switch-ýý òàíû LAN-íä ãàðö áàéäëààð àæèëëàõ FreeBSD ñèñòåìèéí NIC ðóó çàëãàíà. NAT íü LAN-ä áàéãàà á³õ PC-íû õóâüä õóâèéí IP õàÿãèéã ãàíöõàí ãàäààä IP õàÿã óðóó àâòîìàòààð õ°ðâ³³ëýõ áîëíî. NAT íü ýðãýæ èðæ áàéãàà ïàêåòóóäûí õóâüä ýñðýã õ°ðâ³³ëýëòèéã ì°í õèéíý. Èõýíõ òîõèîëäîëä NAT-ã ISP-í ç°âø°°ð°ëã³éãýýð, ìýäýãäýëã³éãýýð õèéäýã á°ã°°ä õýðýâ ISP ýíý òóõàéí ìýäâýë òàíû ýðõèéã õààõ õ³ðòýë àðãà õýìæýý àâäàã. dzé íü áîë õýðýãëýã÷èä Èíòåðíýò õîëáîëòîíäîî èë³³ ì°íã° ò°ëæ, õýçýý ÷ °°ð÷ë°ãä°õã³é á³ëýã ñòàòèê IP õàÿãèéã àâàõ ÿâäàë þì. ISP õàðèí õýðýãëýã÷èääýý èòãýë õ³ëýýëãýí õýðýãëýã÷èä íü NAT-ã äîòîîä õóâèéí LAN-äàà õýðýãëýíý ãýæ áîääîã. NAT õèéãäñýí õóâèéí LAN IP õàÿãò çîðèóëæ á³ëýã IP õàÿãèéã òóñãàéëàí ãàðãàñàí áàéäàã. RFC 1918 ñòàíäàðòàä çààñíààð áîë, äàðààõ á³ëýã IP-ã õóâèéí ñ³ëæýýíäýý àøèãëàõ áîëîìæòîé, ýäãýýð IP õýçýý ÷ ãàäààä Èíòåðíýò óðóó ãàðàõã³é áîëíî: Ýõëýõ IP 10.0.0.0 Ýõëýõ IP 172.16.0.0
-
Ò°ãñ°õ IP 10. Ò°ãñ°õ IP 172
840
Chapter 30 àëò õàíà
Ýõëýõ IP 192.168.0.0
Ò°ãñ°õ IP 192
-
30.5.15 IPNAT NAT ä³ðì³³äèéã ipnat òóøààëûí òóñëàìæòàé à÷ààëíà. Èõýâ÷ëýí NAT ä³ðì³³ä /etc/ipnat.rules àéë äîòîð áàéðëàíà. Äýëãýðýíã³éã ipnat(1) õýñãýýñ ³çíý ³³.
NAT àæèëëàæ ýõýëñíèé äàðàà NAT ä³ðì³³äýä °°ð÷ë°ëò îðóóëàõ øààðäëàãàòàé áîë NAT ä³ðì³³ä áàéãàà àéë äîòîð °°ð÷ë°ëòèéã õèéñíèé äàðàà, îäîî õýðýãëýãäýæ áàéãàà NAT ä³ðì³³äèéã óñòãàæ, õ°ðâ³³ëýã÷ õ³ñíýãòèéã öýâýðëýõèéí òóëä ipnat òóøààëûã -CF òóãèéí õàìò àæèëëóóëàõ õýðýãòýé.
Õàðèí NAT ä³ðì³³äèéã äàõèí à÷ààëàõäàà òóøààëûã äàðààõ áàéäàëòàé °ã°õ õýðýãòýé:
# ipnat -CF -f /etc/ipnat.rules
NAT-í òàëààð çàðèì ñòàòèñòèêèéã õàðúÿ ãýâýë äàðààõ òóøààëûã àøèãëàíà: # ipnat -s
NAT õ³ñíýãòèéí îäîî àøèãëàæ áàéãàà îíîîëòûí æàãñààëòûã õàðàõûí òóëä äàðààõ òóøààëûã àøèãëàíà: # ipnat -l
Âåðáîñ áóþó õýð çýðýã õàðóóëàõ ãîðèìûã íýýõèéí òóëä, ä³ðýìòýé àæèëëàõ áîëîí èäýâõòýé áàéãàà ä³ðì³³äèéí õ³ñíýãòèéã õàðàõûí òóëä: # ipnat -v
30.5.16 IPNAT
ijðì³³ä
NAT ä³ðì³³ä íü ìàø óÿí õàòàí á°ã°°ä õýðýãëýã÷äèéí õýðýãöýýã õàíãàõ îëîí ç³éë³³äèéã õèéæ ÷àäíà.
Ýíä ³ç³³ëñýí ä³ðìèéí ñèíòàêñûã àøãèéí-áóñ îð÷èíä èõýâ÷ëýí õýðýãëýãääýã ä³ðì³³äýä çîðèóëàí õÿëáàðøóóëñàí áàéãàà. ijðìèéí ñèíòàêñûí á³ðýí òàéëáàðûã ipnat(5) çààâàð õóóäàñíààñ ³çíý ³³. NAT ä³ðìèéí ñèíòàêñ äàðààõ áàéäàëòàé áàéíà: map IF LAN_IP_RANGE -> PUBLIC_ADDRESS
ijðýì íü map ãýñýí ò³ëõ³³ð ³ãýýð ýõýëíý. IF -ã ãàäààä èíòåðýéñýýð ñîëüæ òàâüíà. LAN_IP_RANGE íü òàíàé äîòîîä õýðýãëýã÷èéí õýðýãëýæ áóé IP õàÿãëàëòûã çààíà, èõýâ÷ëýí 192.168.1.0/24 ãýñýí ìàÿãòàé áàéíà. PUBLIC_ADDRESS íü ãàäààä IP áàéæ áîëíî ýñâýë IF -ä îíîîñîí IP õàÿãèéã õýðýãëýõèéã çààñàí 0/32 ãýñýí òóñãàé ò³ëõ³³ð ³ã áàéæ áîëíî.
841
Chapter 30 àëò õàíà
30.5.17 NAT
õýðõýí àæèëëàäàã âý
àäààä î÷èõ õàÿãòàé ïàêåò ãàëò õàíà äýýð LAN-ñ õ³ðýëöýí èðíý. Ýõëýýä ãàäàãøàà ø³³ëòèéí ä³ðì³³äýýð ãàðíà, äàðàà íü NAT-í ýýëæ èðýõ áà °°ðèéí ä³ðì³³äèéã äýýðýýñ äîîø øàëãàæ ýõýëíý. Õàìãèéí ýõýíä òîõèðñîí íü äèéëíý. NAT °°ðèéí ä³ðýì á³ðèéã ïàêåòèéí èíòåðýéñèéí íýð áîëîí ýõëýë õàÿãààð òóëãàæ øàëãàíà. Ïàêåòèéí èíòåðýéñèéí íýð NAT ä³ðýìòýé òîõèðâîë ïàêåòèéí [ýõëýë IP õàÿã, °°ð°°ð õýëáýë õóâèéí LAN IP õàÿã] NAT ä³ðìèéí ñóìíû ç³³í òàëä çààæ °ãñ°í IP õàÿãèéí çóðâàñ äîòîð áàéãàà ýñýõèéã øàëãàíà. Õýðýâ ýíý òîõèðâîë ïàêåòèéí ýõëýë õàÿãèéã 0/32 ò³ëõ³³ð ³ãèéí òóñëàìæòàé îëæ àâñàí ãàäààä IP õàÿãààð ñîëüæ áè÷íý. NAT °°ðèéí äîòîîä NAT õ³ñíýãòýíä áè÷ëýã íýìýõ áà ýíý íü ïàêåò Èíòåðíýòýýñ áóöàæ èðýõýä ò³³íèéã áóöààí õóâèéí IP õàÿã óðóó íü õ°ðâ³³ëýí, öààø ø³³ëòèéí ä³ðì³³äýýð îðóóëàõ áîëîìæèéã îëãîíî.
ã èäýâõæ³³ëýõ
30.5.18 IPNAT-
IPNAT-ã èäýâõæ³³ëýõèéí òóëä ýäãýýð èëýðõèéëë³³äèéã /etc/rc.conf äîòîð íýìæ áè÷íý.
°ðèéí ìàøèíûã èíòåðýéñ³³äèéí õîîðîíä ïàêåòóóäûã ÷èãë³³ëäýã áîëãîõûí òóëä: gateway_enable="YES"
Ñèñòåì à÷ààëàõàä IPNAT-ã àâòîìàòààð à÷ààëäàã áîëãîõûí òóëä: ipnat_enable="YES"
IPNAT-í ä³ðì³³äèéã õààíààñ à÷ààëàõûã çààæ °ã°õä°°: ipnat_rules="/etc/ipnat.rules"
30.5.19
Ìàø òîì LAN-ä çîðèóëñàí NAT
LAN-äàà îëîí òîîíû PC-òýé ñ³ëæýýíèé õóâüä ýñâýë íýãýýñ îëîí LAN-òàé ñ³ëæýýíèé õóâüä, ýíý îëîí õóâèéí IP õàÿãóóäûã íýã ãàäààä IP õàÿã óðóó íèéë³³ëýõ ³éë ÿâöàä NAT õèéãäñýí îëîí LAN PC äýýð
èæèë ïîðòûí äóãààð îëîí äàõèí õýðýãëýãäñýíýýñ ì°ðã°ëä°°í ³³ñýõ ãýõ ìýò í°°öòýé õîëáîîòîé àñóóäàë ãàðäàã. Í°°öòýé õîëáîîòîé ýíý àñóóäëààñ ãàðàõûí òóëä äàðààõ õî¼ð àðãà çàì áàéäàã.
30.5.19.1 Õýðýãëýõ ïîðòóóäûã îíîîõ
Ýíãèéí NAT ä³ðýì äàðààõ áàéäàëòàé áàéíà: map dc0 192.168.1.0/24 -> 0/32
Äýýðõ ä³ðìýíä ïàêåò IPNAT-ð äàéð÷ °íã°ð°õ°ä ïàêåòèéí ýõëýë ïîðò °°ð÷ë°ãä°õã³é. portmap ãýñýí ò³ëõ³³ð ³ãèéí òóñëàìæòàé IPNAT ýõëýë ïîðò çóðâàñûã àøèãëàõ áîëîìæòîé áîëíî. Æèøýý íü, äàðààõ ä³ðýì IPNAT-ã ýõëýë ïîðò õàÿãèéã òóõàéí çóðâàñ äîòîð áàéõààð °°ð÷ë°õèéã çààæ °ã÷ áàéíà. map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000
Äýýð íü áèä auto ò³ëõ³³ð ³ãèéí òóñëàìæòàé àëü ïîðòóóäûã àøèãëàõ áîëîìæòîé áàéãààã °°ð°° òîäîðõîéëîõûã çààæ °ã÷ áîëíî: map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto
842
Chapter 30 àëò õàíà 30.5.19.2 àäààä õàÿãèéí ö°°ðìèéã õýðýãëýõ
Ìàø òîì LAN-óóäûí õóâüä äýíä³³ îëîí LAN õàÿãóóäûã íýã ãàäààä õàÿãò îíîîõ íü áîëîìæã³é áîëîõ ³å èðäýã. Õýðýâ á³ëýã ãàäààä IP ñóë áàéãàà áîë, òà ýäãýýð IP õàÿãóóäûã “ö°°ð°ì” áàéäëààð àøèãëàæ áîëîõ áà, IPNAT ýäãýýðýýñ íýãèéã ñîíãîí àâ÷ ãàäàãøàà ÿâæ áàéãàà ïàêåòèéí õàÿãò îíîîõ áàéäëààð õýðýãëýõ áîëíî. Æèøýý íü, äîîð ³ç³³ëñýí øèã á³õ ïàêåòóóäûã ãàíö ãàäààä IP-ä îíîîõûí îðîíä: map dc0 192.168.1.0/24 -> 204.134.75.1
ãàäààä IP õàÿãèéí çóðâàñûã ñ³ëæýýíèé õóâààëòûí õàìò çààæ °ã÷ áîëíî: map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0
ýñâýë CIDR òýìäýãëýãýýã õýðýãëýæ áîëíî: map dc0 192.168.1.0/24 -> 204.134.75.0/24
30.5.20
Ïîðòûí äàõèí ÷èãë³³ëýëò
LAN äîòîð âýá ñåðâåð, öàõèì øóóäàíãèéí ñåðâåð, °ã°ãäëèéí ñàíãèéí ñåðâåð áîëîí DNS ñåðâåðèéã °°ð °°ð PC äýýð òàðààí àæèëëóóëàõ íü ò³ãýýìýë áàéäàã. Ýíý òîõèîëäîëä ýäãýýð ñåðâåðýýñ ãàð÷ áàéãàà óðñãàë ì°í NAT õèéãäñýí áàéõ ¼ñòîé. ýõäýý ãàäíààñ èðæ áóé óðñãàëûã ç°â LAN PC óðóó äàõèí ÷èãë³³ëýõ àðãà çàì áàéõ õýðýãòýé áîëíî. Ýíý àñóóäëûã øèéäýõèéí òóëä IPNAT íü äàõèí ÷èãë³³ëýëò õèéõ NAT íýìýëò áîëîìæèéã îëãîäîã. Òàíû âýá ñåðâåð 10.0.10.25 ãýñýí LAN õàÿãòàé áàéíà, ì°í òà 20.20.20.5 ãýñýí ãàíö ãàäààä IP-òàé áàéëàà ãýæ áîäú¼. Òýãâýë òà ä³ðìýý äàðààõ áàéäàëòàé: rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80
ýñâýë: rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80
ýñâýë ãàäíààñ DNS õ³ñýëò³³ä õ³ëýýí àâäàã 10.0.10.33 ãýñýí õàÿãòàé LAN DNS Ñåðâåðèéí õóâüä: rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp
ãýæ áè÷èõ áàéñàí. 30.5.21 FTP
áà NAT
FTP-ã Èíòåðíýò îäîîãèéíõ øèã áàéõààñ °ìí°õ ³å, èõ ñóðãóóëèóä ò³ðýýñèéí øóãàìààð õîîðîíäîî õîëáîãäîæ, ñóäëàà÷ ýðäýìòýä õîîðîíäîî àéë ñîëèëöîõûí òóëä FTP-ã àøèãëàäàã áàéõ ³åñ ³ëäñýí ³ëýã ã³ðâýë ãýæ õýëæ áîëîõ þì. Òýð ³åä °ã°ãäëèéí àþóëã³é áàéäëûí òàëààð îãò àíõààðäàãã³é áàéëàà. Öàã õóãàöàà °íã°ð°õ°ä FTP ïðîòîêîëûã øèíýýð ãàð÷ èðæ áàéãàà Èíòåðíýòèéí ãîë íóðóó ñ³ëæýýíä õýðýãëýõ áîëñîí áà ò³³íèé õýðýãëýã÷èéí íýð, íóóö ³ãèéã öýâýð òåêñò õýëáýðýýð äàìæóóëäàã áàéäàë íü õýçýý ÷ °°ð÷ë°ãä°°ã³é á°ã°°ä îð÷èí ³åèéí àþóëã³é áàéäëûí øààðäëàãàä íèéöýõã³é áîëñîí áèëýý. FTP íü active áóþó èäýâõòýé, passive áóþó èäýâõã³é ãýñýí õî¼ð ãîðèìä àæèëëàäàã. ã°ãäëèéí ñóâãèéã õýðõýí àøèãëàæ áàéãàà äýýð ãîë ÿëãàà íü ãàðäàã. ã°ãäëèéí ñóâãèéã ftp ñåññ õ³ñýã÷ áàéäëààð àæèëëóóëäàã
843
Chapter 30 àëò õàíà
òóë èäýâõã³é ãîðèìä àæèëëàõ íü àþóëã³é áàéäëûã èë³³òýéãýýð õàíãàíà. FTP-í òàëààð èë³³ ñàéí òàéëáàðûã áîëîí ò³³íèé ãîðèìóóäûí òàëààð http://www.slacksite.com/other/ftp.html õàÿãààð ³çíý ³³. 30.5.21.1 IPNAT ijðì³³ä
IPNAT íü äîòðîî NAT îíîîëò ä³ðýìä òîäîðõîéëæ °ã°õ áîëîìæòîé òóñãàé FTP ïðîêñè òîõèðóóëãûã àãóóëñàí áàéäàã. Ýíý íü èäýâõòýé áîëîí èäýâõã³é FTP ñåññ ýõë³³ëýõ õ³ñýëòýä îðîëöîæ áàéãàà á³õ ãàäàãøàà ÷èãëýëòýé FTP ïàêåòèéã õÿíàæ ÷àäíà. Ì°í °ã°ãäëèéí ñóâàãò ³íýõýýð õýðýãëýãäýæ áàéãàà ïîðò äóãààðûã àãóóëñàí ò³ð çóóðûí ø³³ëòèéí ä³ðì³³äèéã äèíàìèêààð ³³ñãýæ ÷àäíà. Èéì áàéäëààð FTP-ñ áîëæ ³³ñäýã äýýä õýñãèéí ïîðòóóäûã °ðã°í çóðâàñààð íýýõ ýðñäýëýýñ ãàëò õàíûã õàìãààëæ áàéãàà þì. Äîîðõ ä³ðýì íü äîòîîä LAN-í á³õ óðñãàëûã çîõèöóóëíà: map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp
Äîîðõ ä³ðýì ãàðöààñ èðæ áóé FTP óðñãàëûã çîõèöóóëíà: map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp
Äîîðõ ä³ðýì äîòîîä LAN-ñ èðæ áóé á³õ FTP-í áèø óðñãàëûã çîõèöóóëíà: map dc0 10.0.10.0/29 -> 0/32
FTP îíîîëòûí ä³ðýì íü áèäíèé åðäèéí îíîîëòûí ä³ðì³³äèéí °ìí° áè÷èãäýíý. Á³õ ïàêåòèéã õàìãèéí äýýð áè÷èãäñýí ä³ðìýýñ ýõëýí øàëãàíà. Èíòåðýéñèéí íýð òîõèðâîë äîòîîä LAN ýõëýë IP õàÿã, äàðàà íü FTP ïàêåò ýñýõèéã øàëãàíà. Õýðýâ á³ãä òîõèðâîë, òóñãàé FTP ïðîêñè ýäãýýð FTP ñåññ ïàêåòóóäûã NAT õèéõýýñ ãàäíà ãàäàãø íü áîëîí äîòîãø íü íýâòð³³ëýõ ò³ð çóóðûí ø³³ëòèéí ä³ðìèéã ³³ñãýíý. FTP-í áèø áóñàä á³õ LAN ïàêåòóóä ýõíèé ä³ðìýíä òîõèðîõã³é òóë ãóðàâäóãààð ä³ðýì óðóó øèëæèí äàõèí øàëãàãäàíà. Èíòåðýéñ áîëîí ýõëýë IP òîõèðîõ òóë NAT õèéãäýíý. 30.5.21.2 IPNAT FTP س³ëòèéí ijðì³³ä
NAT FTP ïðîêñè àøèãëàæ áàéãàà òîõèîëäîëä FTP-í õóâüä ãàíöõàí ø³³ëòèéí ä³ðýì õýðýãòýé.
FTP Ïðîêñè áàéõã³é áîë òà äàðààõ ãóðâàí ä³ðìèéã õýðýãëýíý:
# Allow out LAN PC client FTP to public Internet # Active and passive modes pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state # Allow out passive mode data channel high order port numbers pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state # Active mode let data channel in from FTP server pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state
844
Chapter 30 àëò õàíà
30.6 IPFW IPFIREWALL (IPFW) íü FreeBSD-èéí õàíäèâààð FreeBSD-èéí ñàéí äóðûí ãèø³³äèéí á³òýýñýí, òýäíèé ýðõ ìýäýëä áàéäàã ãàëò õàíûí ïðîãðàì þì. Ýíý íü õóó÷èí óëàìæëàëò ò°ë°âò ä³ðì³³äèéã õýðýãëýäýã á°ã°°ä Simple Stateful logiñ áóþó Õÿëáàð Ò°ë°âò ëîãèêèéã áèé áîëãîõûí òóëä óëàìæëàëò ä³ðýì áè÷èõ òåõíèêèéã õýðýãëýäýã.
Ñòàíäàðò FreeBSD ñóóëãàö äàõü IPFW-í õÿëáàð ä³ðìèéí îëîíëîã (/etc/rc.firewall áîëîí /etc/rc.firewall6 àéë äîòîð áàéðëàíà) íü íèëýýä õÿëáàð á°ã°°ä °°ðò òîõèðóóëàí çàñâàðëàñíû äàðàà õýðýãëýõýýð áîäîëöîí áè÷èãäñýí áàéäàã. Æèøýýí äýýð èõýíõ ñóóëãàöàä òîõèðîìæòîé ò°ë°âò ø³³ëòèéã õýðýãëýýã³é áàéãàà. Òèéìýýñ ýíý õýñýãò ýíý æèøýýã õýðýãëýõã³é áîëíî. IPFW-í ò°ë°âò ä³ðìèéí ñèíòàêñ íü ãàëò õàíà ñóóëãàõ àíõàí øàòíû ìýäëýãýýñ õîë äàâñàí òåõíèêèéí õóâüä ÿðâèãòàé ñîíãîëòûí áîëîìæóóäààð õ³÷ íýìñýí áàéäàã. IPFW íü ìýðãýæëèéí ò³âøíèé õýðýãëýã÷èä ýñâýë °íä°ð ò³âøíèé ïàêåò ñîíãîëò øààðäëàãàòàé áàéãàà òåõíèêèéí °íä°ð ò³âøíèé êîìïüþòåð ñîíèðõîã÷èä çîðèóëàãäñàí þì. IPFW-í ä³ðì³³äèéí õ³÷èéã ìýäðýõèéí °ìí° ïðîòîêîëóóä °°ðèéí òóñãàé ïàêåòèéí òîëãîéí ìýäýýëëèéã õýðõýí ³³ñãýäýã áîëîí õýðýãëýäýã òàëààð íèëýýä äýëãýðýíã³é ìýäëýãèéã îëæ àâñàí áàéõ õýðýãòýé. Òèéì ò³âøíèé òàéëáàðûã ýíä °ã°õ íü íîìûí ýíý á³ëãèéí ìýäëýýñ õàëèõ òóë ýíä îðóóëàõ áîëîìæã³é þì. IPFW íü äîëîîí õýñãýýñ á³ðäýíý, ãîë õýñýã áîëîõ ö°ìèéí ãàëò õàíûí ø³³ëòèéí ä³ðìèéã áîëîâñðóóëàã÷ áîëîí ò³³íèé áóñàä õýñýã áîëîõ ïàêåò äàíñëàõ áîëîìæ, á³ðòãýõ áîëîìæ, NAT áîëîìæèéã èäýâõæ³³ëýõ ’divert áóþó ýðã³³ëýõ’ ä³ðýì, áîëîí °íä°ð ò³âøíèé òóñãàé çîðèóëàëòòàé áîëîìæóóä, dummynet òðàèê õÿçãààðëàã÷ áîëîìæóóä, ’fwd ä³ðýì’ äàìæóóëàõ áîëîìæ, ã³³ð áîëîìæóóä, áîëîí ipstealth áîëîìæóóäààñ á³ðäýíý. IPFW íü IPv4 áîëîí IPv6-ã äýìæäýã.
ã èäýâõæ³³ëýõ
30.6.1 IPFW-
IPFW íü FreeBSD ³íäñýí ñóóëãàöòàé õàìò, àæèëëàõ ³åèéí à÷ààëàõ áîëîìæòîé ìîäóëü áàéäëààð èðäýã. rc.conf òîõèðãîîíû àéë äîòîð firewall_enable="YES" èëýðõèéëýë áàéãàà ³åä ñèñòåì IPFW ö°ìèéí ìîäóëèéã äèíàìèêààð à÷ààëíà. NAT óíêöûã àøèãëàõã³é áîë IPFW-ã ö°ìä ýìõýòãýõ øààðäëàãà áàéõã³é.
àéë äîòîð firewall_enable="YES" èëýðõèéëëèéã íýìýýä ñèñòåìèéã äàõèí àñààñíû äàðàà à÷ààëàõ ³éë ÿâöûí íýã õýñýã áîëæ äàðààõ ìåññåæ äýëãýöýí äýýð ãàðàõ áîëíî:
rc.conf
ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disab
À÷ààëàõ áîëîìæòîé ìîäóëüä á³ðòãýõ áîëîìæèéã ýìõýòãýýã³é áàéãàà. Á³ðòãýëèéã èäýâõæ³³ëýõèéí òóëä, ì°í âåðáîñ á³ðòãýëèéí õÿçãààðûã òîãòîîõûí òóëä /etc/sysctl.conf àéë äîòîð äàðààõ èëýðõèéëë³³äèéã íýìæ °ã°õ õýðýãòýé, á³ðòãýëèéí ñèñòåì äàðààãèéí óäàà à÷ààëàõàä èäýâõæèíý: net.inet.ip.fw.verbose=1 net.inet.ip.fw.verbose_limit=5
30.6.2
Ö°ìèéí òîõèðóóëãóóä
NAT óíêöûã õýðýãëýõã³é áîë FreeBSD ö°ì óðóó äàðààõ áîëîìæóóäûã ýìõýòãýí IPFW-ã èäýâõæ³³ëýõ àëáàã³é áîëíî. Ñóóðü ìýäëýã áîëãîí ýíä ³ç³³ëëýý. options
IPFIREWALL
845
Chapter 30 àëò õàíà
Ýíý òîõèðóóëãà IPFW-ã ö°ìèéí íýã õýñýã áîëãîí èäýâõæ³³ëíý options
IPFIREWALL_VERBOSE
Ýíý òîõèðóóëãà ’log’ ãýñýí ò³ëõ³³ð ³ã îðñîí ä³ðìèéí õóâüä IPFW-ð äàéðàí °íã°ð°õ ïàêåòóóäûã á³ðòãýõ áîëîìæòîé áîëãîíî. options
IPFIREWALL_VERBOSE_LIMIT=5
Ýíý òîõèðóóëãà syslogd(8)-ð íýãýí çýðýã á³ðòãýãäýæ áóé ïàêåòèéí òîîã õÿçãààðëàíà. ãàëò õàíûí ³éëäë³³äèéã á³ðòãýõèéã õ³ñýæ áàéãàà íàéðñàã îð÷íóóäàä òà ýíý òîõèðóóëãûã õýðýãëýýðýé. Ýíý òîõèðóóëãà íü syslog-ã æèâ³³ëýõ çàìààð ÿâàãäàõ ³éë÷èëãýýã çîãñîîõ õàëäëàãûã õààæ °ã°õ áîëíî. options
IPFIREWALL_DEFAULT_TO_ACCEPT
Ýíý òîõèðóóëãà íü ãàëò õàíûã äàìæèí °íã°ð÷ áàéãàà á³õ ç³éëèéã íýâòð³³ëýõ àíõäàã÷ ò°ë°âò îðóóëíà. ãàëò õàíûã àíõ óäàà òîõèðóóëæ áàéãàà ³åä ýíý íü èë³³ òîõèðîìæòîé. options
IPDIVERT
Ýíý òîõèðóóëãà NAT óíêöûã èäýâõæ³³ëíý. Note: Õýðýâ òà IPFIREWALL_DEFAULT_TO_ACCEPT-ã îðóóëààã³é ýñâýë èðæ áàéãàà ïàêåòóóäûã íýâòð³³ëýõ ä³ðì³³ä áè÷ýýã³é áîë òà ýíý ìàøèíààñ èðæ áàéãàà áîëîí ÿâæ áàéãàà á³õ ïàêåòóóäûã õàà÷èõëàà ãýñýí ³ã þì.
30.6.3 /etc/rc.conf
Òîõèðóóëãóóä
ãàëò õàíûã èäýâõæ³³ëýõèéí òóëä: firewall_enable="YES"
FreeBSD-òýé õàìò èðäýã àíõäàã÷ ãàëò õàíûí ò°ðë³³äýýñ íýãèéã ñîíãîõûí òóëä, /etc/rc.firewall àéëûã óíøñàíû äàðàà íýãèéã ñîíãîîä, ò³³íèéãýý äàðààõ èëýðõèéëýëä áè÷èæ °ãí°: firewall_type="open"
Áîëîìæèò óòãóóä íü: • open
— á³õ óðñãàëûã íýâòð³³ëíý.
• client • simple • closed
— ç°âõ°í ýíý ìàøèíûã õàìãààëíà.
— á³õýë á³òýí ñ³ëæýýã õàìãààëíà.
— loopback èíòåðýéñýýñ áóñàä IP óðñãàëûã áîëîìæã³é áîëãîíî.
ãàëò õàíûí ä³ðì³³äèéã à÷ààëàõ áîëîìæã³é áîëãîíî. • filename — ãàëò õàíûí ä³ðì³³äèéã àãóóëñàí àéëûí á³ðýí çàì. ipfw ãàëò õàíà óðóó òóñãàéëàí áýëäñýí ä³ðì³³äèéã õî¼ð àðãààð à÷ààëæ áîëíî. Íýã íü, firewall_type õóâüñàã÷èéí óòãàíä ipfw(8)-ä çîðèóëñàí ÿìàð ÷ òóøààë ì°ðèéí òîõèðóóëãàã³éãýýð áè÷èãäñýí ãàëò
• UNKNOWN —
846
Chapter 30 àëò õàíà
õàíûí ä³ðì³³ä -ã àãóóëñàí àéëûí á³ðýí çàìûã °ã°õ. ijðì³³äèéã àãóóëñàí õÿëáàð æèøýý àéë äàðààõ áàéäàëòàé áàéæ áîëíî: add block in all add block out all
Í°ã°° íü, ñèñòåì à÷ààëàõ ³åä àæèëëàõ ipfw òóøààëóóäûã àãóóëñàí àæèëëàõ áîëîìæòîé ñêðèïòèéí á³ðýí çàìûã firewall_script õóâüñàã÷èä îíîîõ þì. Äýýð ³ç³³ëñýí ä³ðì³³äèéí àéëòàé ä³éõ ä³ðì³³äèéí ñêðèïò äàðààõ áàéäàëòàé áàéíà: #!/bin/sh ipfw -q flush ipfw add block in all ipfw add block out all Note: Õýðýâ firewall_type íü client ýñâýë simple óòãûã àâñàí áîë, /etc/rc.firewall àéë äîòîðõ àíõäàã÷ ä³ðì³³äèéã òóõàéí ìàøèíä òîõèðóóëàí °°ð÷ë°õ õýðýãòýé. Ì°í ýíý á³ëýãò õýðýãëýæ áàéãàà æèøýýí³³äèéí õóâüä firewall_script-í óòãà /etc/ipfw.rules ãýæ ³çýæ áàéãàà áîëíî.
Á³ðòãýëèéã èäýâõæ³³ëýõèéí òóëä: firewall_logging="YES" Warning: firewall_logging õóâüñàã÷èéí õèéõ ãàíö ç³éë ãýâýë net.inet.ip.fw.verbose sysctl õóâüñàã÷èéí óòãûã 1 áîëãîõ þì (Section 30.6.1 õýñãèéã ³çíý ³³). rc.conf äîòîð á³ðòãýëèéã õÿçãààðëàõ õóâüñàã÷ áàéõã³é, õàðèí ³³íèé òóëä sysctl õóâüñàã÷ààð äàìæóóëàí õèéæ áîëíî. /etc/sysctl.conf àéë äîòîð ýñâýë ãàðààðàà óòãûã îíîîæ °ã÷ áîëíî: net.inet.ip.fw.verbose_limit=5
Õýðýâ òàíû ìàøèí ãàðö áàéäëààð àæèëëàæ áàéãàà áîë, æèøýý íü natd(8)-í òóñëàìæòàé ѳëæýýíèé õàÿãèéí Õ°ðâ³³ëýëò (NAT) õèéæ áàéãàà áîë, /etc/rc.conf àéë äîòîðõ øààðäëàãàòàé òîõèðóóëãóóäûí ìýäýýëëèéã Section 31.9 õýñýã óðóó õàíäàíà óó. 30.6.4 IPFW
Òóøààë
ãàëò õàíûã àæèëëàæ áàéõ ÿâöàä ò³³íèé èäýâõòýé áàéãàà äîòîîä ä³ðì³³äýä øèíý ä³ðýì íýìýõ, ä³ðýì õàñàõ çýðýã °°ð÷ë°ëò³³äèéã ãàðààð õèéõ ãîë ìåõàíèçì áîë ipfw òóøààë þì. Ýíý àðãûã õýðýãëýõýä òóëãàðäàã íýã àñóóäàë áîë íýãýíò ñèñòåìèéã óíòðààñàí ýñâýë çîãñîîñîí áîë òàíû íýìñýí ýñâýë õàññàí ýñâýë °°ð÷èëñ°í á³õ ä³ðì³³ä àëãà áîëíî. Á³õ ä³ðì³³äýý íýã àéëä áè÷ýýä ñèñòåì à÷ààëàõ ³åä ýíý àéëûã àøèãëàí ä³ðì³³äèéã à÷ààëàõ, ýñâýë îäîî àæèëëàæ áàéãàà ãàëò õàíûí ä³ðì³³äèéã àéë äîòîð õèéñýí °°ð÷ë°ëò³³äýýð á³õëýýð íü ñîëüæ òàâèõ íü ýíä õýðýãëýæ áàéãàà, òà á³õýíä ç°âë°õ àðãà áàðèë þì.
847
Chapter 30 àëò õàíà
Óäèðäëàãûí äýëãýöýí äýýð àæèëëàæ áàéãàà ãàëò õàíûí ä³ðì³³äèéã õàðóóëàõàä ipfw òóøààëûã îäîî õýð íü õýðýãëýñýýð áàéíà. IPFW-í äàíñ õ°òë°õ áîëîìæ íü ä³ðýì á³ðèéí õóâüä òóõàéí ä³ðýìä òîõèðñîí ïàêåòèéã òîîëîõ òîîëóóðûã ³³ñãýäýã. ßìàð íýã ä³ðìèéã øàëãàõ ³éë ÿâöàä òóõàéí ä³ðýì àæèëëàæ áàéãàà ýñýõèéã òîãòîîõ àðãóóäûí íýã áîë ä³ðìèéã òîîëóóðûí õàìò æàãñààí õàðàõ áàéäàã. Á³õ ä³ðì³³äèéã äàðààãààð íü æàãñààí õàðàõûí òóëä: # ipfw list
Á³õ ä³ðì³³äèéã òóõàéí ä³ðýì õàìãèéí ñ³³ëä òîõèðñîí öàãíû õàìò æàãñààí õàðàõûí òóëä: # ipfw -t list
Äàíñëàëòûí ìýäýýëýë áîëîí ä³ðì³³äèéã òîõèðñîí ïàêåòèéí òîîíû õàìò õàðàõûí òóëä. Ýõíèé áàãàíà íü ä³ðìèéí äóãààð, äàðàà íü ýíý ä³ðýìä òîõèðñîí ãàð÷ áàéãàà ïàêåòèéí òîî, äàðàà íü ýíý ä³ðýìä òîõèðñîí îðæ áàéãàà ïàêåòèéí òîî, òýãýýä ä³ðýì °°ð°° áàéíà. # ipfw -a list
Ñòàòèê ä³ðì³³äýýñ ãàäíà äèíàìèê ä³ðì³³äèéã æàãñààí õàðàõûí òóëä: # ipfw -d list
Ì°í õóãàöàà íü äóóññàí äèíàìèê ä³ðì³³äèéã õàðàõûí òóëä: # ipfw -d -e list
Òîîëóóðóóäûã òýãëýõèéí òóëä: # ipfw zero
Ç°âõ°í NUM äóãààðòàé òîîëóóðûã òýãëýõèéí òóëä: # ipfw zero NUM
30.6.5 IPFW
ijðìèéí Îëîíëîã
Ïàêåò äîòîð àãóóëàãäàæ áàéãàà óòãóóäûã ³íäýñëýí òóõàéí ïàêåòèéã íýâòð³³ëýõ áîëîí õààõûã õýëæ áàéãàà ä³ðì³³äèéã ä³ðìèéí îëîíëîã ãýíý. Õîñòóóäûí õîîðîíäîõ õî¼ð ÷èãëýëòýé ïàêåò ñîëèëöîî íü ñåññ õàðèëöààã á³ðä³³ëíý. ãàëò õàíûí ä³ðìèéí îëîíëîãîîð ïàêåò õî¼ð äàõèí ø³³ãäýíý, ýõíèé óäàà Èíòåðíýòýýñ ïàêåòèéã õ³ëýýí àâàõàä, äàðààãèéí óäàà áóöàæ Èíòåðíýò óðóó ãàð÷ ÿâàõàä. Á³õ TCP/IP ³éë÷èëãýýí³³äèéí õóâüä (æèøýý íü: telnet, www, mail, ã.ì.) ÿìàð ïðîòîêîëîîð àæèëëàõ áîëîí ýõëýë áà î÷èõ IP õàÿã, ýõëýë áà î÷èõ ïîðò õàÿã çýðãèéã óðüäààñ òîäîðõîéëæ °ãñ°í áàéäàã. Ýäãýýð ³ç³³ëýëò³³ä äýýð ³íäýñëýí íýâòð³³ëýõ áîëîõ õààõ ä³ðì³³äèéã çîõèîäîã. ïàêåòèéã ãàëò õàíà õ³ëýýí àâààä ä³ðìèéí îëîíëîãò áàéãàà õàìãèéí ýõíèé ä³ðýìòýé òóëãàõ áà öààø ä³ðì³³äèéí äóãààðûí °ñ°õ äàðààëëûí äàãóó äýýðýýñ äîîø íýã íýãýýð øàëãàæ ýõýëíý. Ïàêåò àëü íýã ä³ðìèéí ñîíãîëòûí ïàðàìåòðòàé òîõèðâîë, ò³³íä õàðãàëçàõ ³éëäëèéã õèéæ, òóõàéí ïàêåòèéí õóâüä öààø õàéëòûã äóóñãàíà. Ýíý àðãûã “ýõýíä òîõèðñîí íü äèéëíý” õàéëòûí àðãà ãýíý. Õýðýâ òóõàéí ïàêåò ÿìàð ÷ ä³ðýìä òîõèðîõã³é áîë, ýíý ïàêåòèéã 65535 äóãààðòàé á³õ ïàêåòèéã õààæ, ÿâóóëñàí õ³íä íü ÿìàð ÷ õàðèó °ã°ëã³é îðõèãäóóëíà ãýñýí ipfw-í àíõäàã÷ ä³ðýìä àëáààð òîõèðóóëíà.
848
Chapter 30 àëò õàíà Note: count, skipto
áà tee ä³ðì³³äèéí äàðàà õàéëò ³ðãýëæèëíý.
Ýíä áàéãàà çààâàð÷èëãààíóóä íü ò°ë°âò ’keep state’, ’limit’, ’in’/’out’, áà via çýðýã òîõèðóóëãóóäûã àãóóëñàí ä³ðì³³ä äýýð ³íäýñëýãäñýí áàéãàà. Ýíý áîë õàìààðóóëñàí ãàëò õàíûí ä³ðìèéí îëîíëîãèéã áè÷èõ ³íäñýí àðãà áàðèë þì. Õàìààðóóëñàí ãàëò õàíà íü ç°âõ°í ä³ðì³³äýä òîõèðñîí ïàêåòóóäûã íýâòð³³ëíý. Èéì ìàÿãààð ãàëò õàíûí öààíààñ Èíòåðíýò óðóó ÿìàð ÿìàð ³éë÷èëãýýí³³ä ãàð÷ áîëîõ áîëîí ýñðýãýýð Èíòåðíýòýýñ äîòîîä ñ³ëæýý óðóó ÿìàð ÿìàð ³éë÷èëãýýí³³ä íýâòýð÷ áîëîõûã óäèðäàõ áîëîìæòîé. Ýäãýýðýýñ áóñàä á³õ óðñãàëûã õààæ, á³ðòãýäýã áàéõààð çîõèîãäñîí áàéäàã. Õàìààðóóëñàí ãàëò õàíà íü õàìààðóóëààã³é ãàëò õàíààñ àþóëã³é áàéäëûí õóâüä õýä äàõèí èë³³, òèéìýýñ ýíä áèä ç°âõ°í õàìààðóóëñàí ãàëò õàíûí ä³ðì³³äèéí òàëààð ÿðèëöàõ áîëíî. Warning: ãàëò õàíûí ä³ðì³³äòýé àæèëëàõäàà ìàø àíõààðàëòàé áàéõ õýðýãòýé. Çàðèì òîõèðãîî ñåðâåðýýñ á³õ
õîëáîîã òàíü òàñàëæ ìýäíý.
30.6.5.1 ijðìèéí Ñèíòàêñ
Ýíä ³ç³³ëñýí ä³ðìèéí ñèíòàêñ íü ñòàíäàðò õàìààðóóëñàí ãàëò õàíà ³³ñãýõýä øààðäëàãàòàé ä³ðìèéí îëîíëîãèéã áè÷èõ õýìæýýíä òîõèðóóëàí õÿëáàðøóóëñàí áàéãàà. ijðìèéí ñèíòàêñûí á³ðýí òàéëáàðûã ipfw(8) çààâàð õóóäàñíààñ ³çíý ³³. ijðì³³ä íü ò³ëõ³³ð ³ã³³äèéã àãóóëíà. Ýäãýýð ò³ëõ³³ð ³ã³³ä íü òóõàéí ì°ð°íä ç³³íýýñ áàðóóí òèéø òîäîðõîé äýñ äàðààãààð áè÷èãäýíý. Ò³ëõ³³ð ³ã³³ä òîäîîð áè÷èãäýõ òóë ò³³ãýýð íü ÿëãàæ òàíèíà. Çàðèì ò³ëõ³³ð ³ã³³ä äýä-òîõèðóóëãàòàé áàéíà. Òýð íü °°ð°° ò³ëõ³³ð ³ã áàéæ áîëîõîîñ ãàäíà öààø äýä-òîõèðóóëãóóäûã àãóóëñàí áàéæ áîëíî. # ãýñýí òýìäýãò òàéëáàðûí ýõëýëèéã çààõ áà ä³ðýì áè÷ñýí ì°ðèéí ò°ãñã°ëä ýñâýë °°ð°° á³òýí ì°ð áàéäëààð áàéðëàíà. Õîîñîí ì°ðèéã òîîöîõã³é. CMD RULE_NUMBER ACTION LOGGING SELECTION STATEFUL
30.6.5.1.1 CMD
Øèíý ä³ðýì á³ð äîòîîä õ³ñíýãòýíä áè÷èãäýõèéí òóëä add ãýñýí ò³ëõ³³ð ³ãèéã °ìí°° àãóóëæ áàéõ ¼ñòîé. 30.6.5.1.2 RULE_NUMBER
ijðýì á³ð °°ðèéí ä³ðìèéí äóãààðòàé áàéõ ¼ñòîé. 30.6.5.1.3 ACTION
Òóõàéí ä³ðìèéí ñîíãîëòûí ³ç³³ëýëòýä ïàêåò òîõèðîõîä çààñàí action áóþó ³éëäëèéã ã³éöýòãýõ áà ä³ðýì íü äàðààõ ³éëäë³³äèéí àëü íýãòýé õîëáîãäñîí áàéíà. allow | accept | pass | permit
849
Chapter 30 àëò õàíà
Ýäãýýð íü á³ãä íýã ç³éëèéã, òóõàéëáàë: ä³ðýìä òîõèðñîí ïàêåòóóäûã íýâòð³³ëæ, ãàëò õàíûí ä³ðýìòýé àæèëëàõ ÿâöààñ ãàðàõûã õýëæ °ã÷ áàéíà. Ýäãýýð ä³ðì³³äèéí äàðàà õàéëò äóóñíà. check-state
íü äèíàìèê ä³ðìèéí õ³ñíýãòòýé ïàêåòóóäûã òóëãàíà. Õýðýâ òîõèðâîë, ýíý äèíàìèê ä³ðìèéã ³³ñãýñýí ä³ðýìä õàðãàëçàõ ³éëäëèéã ã³éöýòãýíý, ³ã³é áîë äàðààãèéí ä³ðýìä øèëæèíý. check-state ä³ðýìä ñîíãîëòûí øàëãóóð áàéõã³é. Õýðýâ ä³ðìèéí îëîíëîãò check-state ä³ðýì áàéõã³é áîë ýõíèé keep-state ýñâýë limit ä³ðìèéã äèíàìèê ä³ðìèéí õ³ñíýãòòýé òóëãàíà. deny | drop
Ýíý õî¼ð ³ã õî¼óë ä³ðýìä òîõèðñîí ïàêåòóóäûã õàÿõûã çààíà. Õàéëò ýíä äóóñíà. 30.6.5.1.4 Á³ðòãýë õ°òë°ëò
ýñâýë logamount Ïàêåò log ãýñýí ò³ëõ³³ð ³ã îðñîí ä³ðýìä òîõèðîõîä, ýíý òóõàé ìåññåæ syslogd óðóó SECURITY ãýñýí facility íýðòýéãýýð á³ðòãýãäýíý. Ç°âõ°í òóõàéí ä³ðìèéí õóâüä á³ðòãýãäñýí ïàêåòèéí òîî logamount ïàðàìåòðèéí óòãûã äàâààã³é òîõèîëäîëä á³ðòãýë ÿâàãäàíà. Õýðýâ logamount-í óòãûã çààæ °ã°°ã³é áîë, sysctl-í net.inet.ip.fw.verbose_limit õóâüñàã÷èéí óòãûã õÿçãààðûí óòãà áîëãîí àâíà. Àëü ÷ òîõèîëäîëä òýã ãýñýí óòãà á³ðòãýëèéí õÿçãààðûã ³ã³é áîëãîíî. Õÿçãààðò òóëñàí òîõèîëäîëä, á³ðòãýëèéã äàõèí èäýâõæ³³ëýõèéí òóëä á³ðòãýëèéí òîîëóóðûã ýñâýë òóõàéí ä³ðìèéí ïàêåò òîîëóóðûã äàõèí ýõë³³ëíý. ipfw reset log òóøààëûã ³çíý ³³. log
Note: Á³ðòãýë íü áóñàä á³õ ïàêåò òîõèðîõ í°õöë³³ä àìæèëòòàé íîòëîãäñîíû äàðàà, ì°í òóõàéí ïàêåò äýýð ýöñèéí ³éëäëèéã(ç°âø°°ð°õ, òàòãàëçàõ) õèéõèéí °ìí° ÿâàãäàíà. ßìàð ä³ðì³³äèéí õóâüä á³ðòãýë ÿâóóëàõûã òà øèéäýõ áîëíî.
30.6.5.1.5 Ñîíãîëò
Ýíä òàíèëöóóëàõ ò³ëõ³³ð ³ãí³³ä íü òóõàéí ïàêåò ä³ðýìä òîõèð÷ áàéãàà ³ã³é ýñýõèéã òîäîðõîéëîõ ³åä, øàëãàãäàæ áàéãàà ïàêåòèéí øèíæ³³äèéã òîäîðõîéëíî. Äàðààõ áàéíãûí õýðýãëýýíèé øèíæ³³ä °ã°ãäñ°í áàéäàã áà äîîðõ äýñ äàðààëëààð õýðýãëýíý:
udp | tcp | icmp
ýñâýë /etc/protocols àéëä áàéãàà ÿìàð ÷ ïðîòîêîëûí íýðèéã õýðýãëýæ áîëíî. Õàðèí óòãà íü øàëãàãäàõ ïðîòîêîëûí íýðèéã çààíà. Ýíý áîë çààâàë òàâèãäàõ øààðäëàãà þì. from src to dst from src to dst: from áà to ãýñýí ò³ëõ³³ð ³ã³³ä IP õàÿãèéã ø³³õýä õýðýãëýãäýíý. Õýðýãëýõ áîë ýõëýë áà î÷èõ ïàðàìåòðèéã ÕÎÓËÀÍ çààæ °ã°õ õýðýãòýé. any ãýñýí òóñãàé ò³ëõ³³ð ³ãèéí òóñëàìæòàé ÿìàð ÷ IP õàÿãèéã ç°âø°°ð÷ °ã÷ áîëíî. Õýðýãëýõ æèøýý: “from any to any” ýñâýë “from 0.0.0.0/0 to any” ýñâýë “from any to 0.0.0.0/0” ýñâýë “from 0.0.0.0 to any” ýñâýë “from any to 0.0.0.0”. from áà to ãýñýí ò³ëõ³³ð ³ã³³ä IP õàÿãèéã ø³³õýä õýðýãëýãäýíý. ijðìýíä õýðýãëýõäýý ýõëýë áà î÷èõ ïàðàìåòð³³äèéã ÕÎÓËÀÍ çààæ °ã°õ ¼ñòîé. any ãýñýí òóñãàé ò³ëõ³³ð ³ãèéí òóñëàìæòàé á³õ IP õàÿãèéã ç°âø°°ð÷ °ã÷ áîëíî. me ãýñýí òóñãàé ò³ëõ³³ð ³ã íü òàíû FreeBSD ñèñòåìèéí àëü íýã èíòåðýéñ äýýð òîõèðóóëñàí IP õàÿãèéã çààõ áà ãàëò õàíà àæèëëàæ áàéãàà PC-ã (°°ð°°ð õýëáýë ýíý ìàøèí) ’from
850
Chapter 30 àëò õàíà me to any’ ýñâýë ’from any to me’ ýñâýë ’from 0.0.0.0/0 to any’ ýñâýë ’from any to 0.0.0.0/0’ ýñâýë ’from 0.0.0.0 to any’ ýñâýë ’from any to 0.0.0.0’ ýñâýë ’from me to 0.0.0.0’ ãýñýí áàéäëààð ò°ë°°ëí°. IP õàÿãóóäûã öýãòýé òîîí õýëáýð/áàãèéí-óðò áàéäëààð ýñâýë ç³ãýýð öýãòýé òîîí õýëáýðýýð áè÷èæ áîëíî. Ýíý áîë çààâàë òàâèãäàõ øààðäëàãà þì. Áàãèéí óðòûã áè÷èõòýé õîëáîîòîé òóñëàìæèéã äàðààõ õàÿãààð îðæ ³çíý ³³. http://jodies.de/ipcalc port number
Ïîðòûí äóãààðûã äýìæäýã ïðîòîêîëóóäûí õóâüä (TCP áà UDP ãýõ ìýò), òààðóóëàõûã õ³ñýæ áàéãàà ïîðòûí äóãààðûã çààâàë áè÷èæ °ã°õ ¼ñòîé áàéäàã. Ïîðòûí òîîí óòãûí îðîíä ³éë÷èëãýýíèé íýðèéã(/etc/services àéëààñ) õýðýãëýæ áîëíî. in | out
Îðæ áàéãàà áîëîí ãàð÷ áàéãàà ïàêåòóóäûã õàðãàëçàí òààðóóëíà. in áà out íü ò³ëõ³³ð ³ã³³ä á°ã°°ä ä³ðýìä òààðóóëàõ øàëãóóð áîëãîæ ýíý õî¼ð ³ãèéí àëü íýãèéã çààâàë áè÷ñýí áàéõ ¼ñòîé. via IF
Íýðýýð íü çààæ °ãñ°í èíòåðýéñýýð äàéðàí °íã°ð÷ áóé ïàêåòóóäûã òààðóóëíà. via ãýñýí ò³ëõ³³ð ³ã íü òóõàéí èíòåðýéñèéã òààðóóëàõ ³éë ÿâöûí íýã õýñýã áàéäëààð áàéíãà øàëãàæ áàéõûã çààæ °ãí°. setup
Ýíý ò³ëõ³³ð ³ã íü TCP ïàêåòóóäûí õóâüä ñåññ ýõë³³ëýõ õ³ñýëòèéã çààæ °ã÷ áàéãàà çààâàë õýðýãëýõ ò³ëõ³³ð ³ã þì. keep-state
Ýíý áîë çààâàë õýðýãëýõ ò³ëõ³³ð ³ã þì. ijðýì òààðàõàä, ãàëò õàíà ÿã òýð ïðîòîêîëûã àøèãëàí ýõëýë áîëîí î÷èõ IP/ïîðòûí õîîðîíä ³³ñýõ õî¼ð ÷èãëýëòýé óðñãàëûã òààðóóëàõ àíõäàã÷ ÷àíàðòàé äèíàìèê ä³ðýì ³³ñãýíý. limit {src-addr | src-port | dst-addr | dst-port}
ijðýìä çààñàíòàé àäèë ïàðàìåòð³³äòýé õîëáîëòûí òîîã N -ð õÿçãààðëàíà. Íýã áà ò³³íýýñ äýýø òîîíû ýõëýë áîëîí î÷èõ õàÿãóóä, ïîðòóóäûã çààæ °ã÷ áîëíî. ’limit’ áà ’keep-state’-ã íýã ä³ðýìä õàìòàä íü õýðýãëýæ áîëîõã³é. Limit íü ’keep-state’-òýé àäèë ò°ë°âò óíêöóóäûã ã³éöýòãýõýýñ ãàäíà °°ðèéí íýìýëò óíêö³³ëòýé. 30.6.5.2 Ò°ë°âò ijðìèéí Òîõèðóóëãóóä
Ò°ë°âò ø³³ëò íü óðñãàëûã ñåññ õàðèëöààíààñ á³ðäýæ áóé õî¼ð ÷èãëýëòýé ïàêåò ñîëèëöîî ãýæ ³çäýã. Ì°í ýíý íü ñåññ ýõë³³ëñýí áîëîí õ³ëýýí àâñàí õîñòóóäûí õîîðîíäîõ ñåññ õàðèëöàà íü õî¼ð ÷èãëýëòýé ïàêåò ñîëèëöîõ ïðîöåäóðòàé çîõèöîæ áàéãàà ýñýõèéã ìàãàäëàõ ÷àäâàðòàé áàéäàã. Ñåññ õàðèëöààíû çàãâàðò çîõèöîîã³é ïàêåòèéã õóóðàì÷ ãýæ ³çýí õ³ëýýæ àâàõã³é. ’check-state’ íü IPFW ä³ðìèéí îëîíëîãèéí õààíà íü ïàêåòèéã äèíàìèê ä³ðì³³äèéí áîëîìæîîð øàëãàõûã òîãòîîíî. Òààðñàí òîõèîëäîëä, ïàêåò ãàëò õàíûã íýâòýð÷ öààø ÿâàõ áà ýíý õî¼ð ÷èãëýëò ñåññ õàðèëöààíû òóðøèä ñîëèëöîõ ïàêåòóóäûí õóâüä øèíý äèíàìèê ä³ðýì ³³ñíý. Òààðààã³é òîõèîëäîëä, ïàêåò ä³ðìèéí îëîíëîãèéí äàðààãèéí ä³ðýìä øàëãàãäàõààð øèëæèíý. Äèíàìèê ä³ðì³³äèéí áîëîìæ íü ìàø îëîí òîîíû äèíàìèê ä³ðì³³äèéã íýýäýã SYN-æèâ³³ëýõ õàëäëàãààñ ³³ñýõ í°°öèéí õîìñäîëä ýìçýã áàéäàã. Ýíý õàëäëàãààñ çàéëñõèéõèéí òóëä FreeBSD limit ãýñýí øèíý òîõèðóóëãûã íýìæ °ãñ°í áàéäàã. Ýíý òîõèðóóëãûí òóñëàìæòàé íýãýí çýðýã ÿâàãäàõ ñåññ
851
Chapter 30 àëò õàíà
õàðèëöààíû òîîã õÿçãààðëàíà. Limit òîõèðóóëãàä çààæ °ãñ°í ýõëýë áîëîí î÷èõ òàëáàðóóäààð ïàêåòèéí IP õàÿãèéã àñóóëãà ÿâóóëàõ çàìààð øàëãàñíû äàðàà, ýíý ä³ðýìä ýíý IP õàÿãèéí õîñëîë õýäýí óäàà òààðñàí òîîã õàðãàëçàí õýðýâ ýíý òîî õÿçãààðààñ äàâñàí áîë òóõàéí ïàêåòèéã ãýýíý. 30.6.5.3 ãàëò õàíûí ìåññåæèéã á³ðòãýõ
Á³ðòãýë õ°òë°ëòèéí àøèã òóñ òîäîðõîé þì: Òàíû á³ðòãýõýýð èäýâõæ³³ëñýí ä³ðì³³äèéí õóâüä, ÿìàð ïàêåòóóä ãýýãäñýí, òýäãýýð íü ÿìàð õàÿãààñ èðñýí, õààøàà ÿâæ áàéñàí çýðýã ìýäýýëëèéã ýðãýí õàðàõ áîëîìæèéã îëãîõ áà ãàäíû õàëäëàãûã ì°ðä°õ°ä òàíä ÷óõàë õóâü íýìýð áîëíî. Á³ðòãýë õ°òë°õ áîëîìæèéã èäýâõæ³³ëñýí õýäèé ÷, IPFW íü °°ð°° ÿìàð ÷ ä³ðìèéã ³³ñãýõã³é. Àäìèíèñòðàòîð àëü ä³ðì³³äèéí õóâüä á³ðòãýë ÿâóóëàõûã øèéäýí, òýäãýýð ä³ðì³³ääýý log ãýñýí ò³ëõ³³ð ³ãèéã íýìæ áè÷íý. Èõýâ÷ëýí ç°âõ°í òàòãàëçàõ ä³ðì³³äèéã á³ðòãýäýã, æèøýýëáýë èðæ áóé ICMP ping-ã òàòãàëçàõ ãýõ ìýò. Õàìãèéí ñ³³ëä áàéãàà ipfw-í àíõäàã÷ òàòãàëçàõ ä³ðìèéã õóâèëàí log ò³ëõ³³ð ³ãòýéãýýð ³³ñãýõ íü ýëáýã áàéäàã. Èéì áàéäëààð ä³ðìèéí îëîíëîãèéí àëü ÷ ä³ðìýíä òààðààã³é ïàêåòóóäûã õàðàõ áîëîìæòîé áîëíî. Á³ðòãýë õ°òë°ëò íü õî¼ð òàëäàà èðòýé ñýëýìòýé àäèë þì, õýðýâ òà õàéõðàìæã³é õàíäâàë, äèñê ä³³ðýí á³ðòãýëèéí ìýäýýëýë äîòðîî ó÷ðàà îëîõã³é ñóóõ áîëíî. Äèñêèéã ä³³ðãýõ DoS õàëäëàãà íü õàìãèéí ýðòíèé õàëäëàãóóäûí íýã þì. Ýäãýýð á³ðòãýëèéí ìåññåæ íü syslogd-ä áè÷èãäýõýýñ ãàäíà, root êîíñîë äýëãýöýí äýýð ãàðàõ ó÷èð óäàõã³é ÿäàðãààòàé ñàíàãäàæ ýõýëäýã. IPFIREWALL_VERBOSE_LIMIT=5 ãýñýí ö°ìèéí òîõèðóóëãà íü ñèñòåìèéí á³ðòãýë õ°òë°ã÷ áîëîõ syslogd óðóó øèäýãäýæ áàéãàà òóõàéí ä³ðýìä òîõèðñîí ïàêåòàä õàðãàëçàõ äàðààëñàí ìåññåæèéí òîîã õÿçãààðëàíà. Ýíý òîõèðóóëãûã èäýâõæ³³ëñýí ³åä, òîäîðõîé ä³ðìèéí õóâüä äàðààëñàí ìåññåæèéí òîîã çààæ °ãñ°í òîîãîîð õÿçãààðëàíà. Íýã èæèë ç³éëèéã õýëñýí 200 á³ðòãýëèéí áè÷ëýãýýñ ìýäýæ àâàõ ç³éë õîìñ þì. Æèøýý íü, òîäîðõîé ä³ðìèéí õóâüä äàðààëñàí òàâàí áè÷ëýã syslogd-ä áè÷èãäýíý, ³ëäñýí äàðààëñàí èæèë áè÷ëýã³³ä òîîëîãäîîä syslogd-ä äàðààõ áàéäàëòàé áè÷èãäýíý: last message repeated 45 times
Á³ðòãýë õ°òë°ãä°æ áàéãàà á³õ ïàêåòóóäûí ìåññåæ³³ä /etc/syslog.conf àéëä àíõäàã÷ áàéäëààð çààæ °ãñ°í /var/log/security àéëä áè÷èãäýíý. 30.6.5.4 ijðìèéí ñêðèïòèéã á³òýýõ
Òóðøëàãàòàé IPFW õýðýãëýã÷èä ä³ðì³³äèéã àãóóëñàí àéë ³³ñãýýä ò³³íèéãýý ñêðèïò áàéäëààð àæèëëóóëàõ áîëîìæòîé áàéõààð áè÷äýã. ³íèé ãîë äàâóó òàë íü øèíý ä³ðì³³äèéã èäýâõæ³³ëýõèéí òóëä ñèñòåìèéã äàõèí à÷ààëàõ øààðäëàãàã³é áîëíî. Ýíý àðãûã àøèãëàí õýäýí ÷ óäàà äàðààëàí ãàëò õàíûí ä³ðì³³äèéã à÷ààëæ áîëîõ òóë øèíý ä³ðì³³äèéã øàëãàõ ³åä õýðýãëýõýä òîõèðîìæòîé áàéäàã. Ñêðèïò ó÷ðààñ îëîí äàõèí áè÷èãäýæ áàéãàà óòãûí îðîíä ñèìáîë îðëóóëàëòûã àøèãëàõ áîëîìæòîé. Ýíý òàëààð äàðààõ æèøýýí äýýðýýñ õàðíà óó. Ýíä õýðýãëýãäñýí ñêðèïòèéí ñèíòàêñ íü sh, csh, áà tcsh á³ðõ³³ë äýýð àæèëëàõ áîëîìæòîé. Ñèìáîë îðëóóëàëòòàé òàëáàðóóä íü óðäàà $ áóþó äîëëàðûí òýìäýãòýé áàéíà. Ñèìáîë òàëáàðóóä íü $ òýìäýã óðäàà áàéõã³é. Ñèìáîë òàëáàðûã îðëîõ óòãà íü äàâõàð õàøèëòàí (") äîòîð áàéðëàíà. ijðìèéí àéëàà äàðààõ áàéäàëòàé ³³ñãýæ ýõëýõ õýðýãòýé: ############### start of example ipfw rules script ############# #
852
Chapter 30 àëò õàíà ipfw -q -f flush # Delete all rules # Set defaults oif="tun0" # out interface odns="192.0.2.11" # ISP’s DNS server IP address cmd="ipfw -q add " # build rule prefix ks="keep-state" # just too lazy to key this each time $cmd 00500 check-state $cmd 00502 deny all from any to any frag $cmd 00501 deny tcp from any to any established $cmd 00600 allow tcp from any to any 80 out via $oif setup $ks $cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks $cmd 00611 allow udp from any to $odns 53 out via $oif $ks ################### End of example ipfw rules script ############
Áàéõ ¼ñòîé á³õ ç³éëñ á³ãä áàéíà. Ýíý æèøýýí äýýð ä³ðì³³ä ÷óõàë áèø, õàðèí ñèìáîë îðëóóëàëò õýðõýí àæèëëàäàãûã õàðóóëñàí áàéíà. Õýðýâ äýýðõ æèøýý /etc/ipfw.rules íýðòýé àéë äîòîð áàéñàí áîë, ýäãýýð ä³ðì³³äèéã äàðààõ òóøààëûã °ã÷ äàõèí à÷ààëàõ áîëîìæòîé: # sh /etc/ipfw.rules
ãýñýí àéë ÿìàð ÷ íýðòýé áàéæ áîëîõ áà òàíû õ³ññýí ÿìàð ÷ ãàçàð áàéæ áîëíî. Äàðààõ ñêðèïòèéã õî¼ð àðãûí íýãýýð õýðýãëýæ áîëíî: Äýýðõòýé àäèë ç³éëñèéã äàðààõ òóøààëûã ãàðààð îðóóëàí ã³éöýòãýæ áîëíî:
/etc/ipfw.rules
# # # # # # #
ipfw ipfw ipfw ipfw ipfw ipfw ipfw
-q -q -q -q -q -q -q
-f flush add check-state add deny all from any to any frag add deny tcp from any to any established add allow tcp from any to any 80 out via tun0 setup keep-state add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state
30.6.5.5 Ò°ë°âò ä³ðìèéí îëîíëîã
Äàðààõ NAT õèéãäýýã³é ä³ðìèéí îëîíëîã íü àþóëã³é áàéäëûã ìàø ñàéí õàíãàñàí, õàìààðóóëñàí ãàëò õàíûí ä³ðì³³äèéã õýðõýí áè÷èõ æèøýý þì. Õàìààðóóëñàí ãàëò õàíà íü ç°âõ°í pass ä³ðì³³äýä òîõèðñîí ³éë÷èëãýýã ç°âø°°ð÷, áóñäûã á³ãäèéã õààíà. Á³õ ãàëò õàíàíóóä õàìãèéí áàãàäàà õî¼ð èíòåðýéñòýé áàéõ áà ãàëò õàíà ìàÿãààð àæèëëàõûí òóëä ä³ðì³³äèéã òóñãàéëàí çààæ °ãñ°í áàéíà. FreeBSD-ã îðîëöóóëààä á³õ UNIX ò°ðëèéí ñèñòåì íü ³éëäëèéí ñèñòåì äýõ äîòîîä õàðèëöààíäàà lo0 èíòåðýéñ áîëîí 127.0.0.1 ãýñýí IP õàÿãèéã õýðýãëýõýýð á³òýýãäñýí áàéäàã. àëò õàíûí ä³ðì³³ä íü äîòîîääîî õýðýãëýæ áàéãàà ýäãýýð ïàêåòóóäûã ÷°ë°°òýé íýâòð³³ëýõ ä³ðì³³äèéã àãóóëñàí áàéõ ¼ñòîé. Èíòåðíýòòýé õîëáîãäîæ áàéãàà èíòåðýéñ äýýð òà °°ðèéí Èíòåðíýò óðóó ãàð÷ áàéãàà áîëîí Èíòåðíýòýýñ èðæ áàéãàà õàíäàëòûã óäèðäàõ áîëîí õÿíàõ ä³ðì³³äèéã áàéðëóóëíà. Ýíý íü òàíû PPP tun0 èíòåðýéñ ýñâýë òàíû DSL ýñâýë êàáåëü ìîäåìä õîëáîãäñîí NIC áàéæ áîëíî. àëò õàíûí öààíà áàéãàà õóâèéí LAN-óóäàä íýã áîëîí ò³³íýýñ äýýø òîîíû NIC-óóä õîëáîãäñîí òîõèîëäîëä, òýäãýýð èíòåðýéñ³³äèéí õóâüä òýäãýýð LAN èíòåðýéñ³³äýýñ èðñýí ïàêåòóóäûã ÷°ë°°òýé íýâòð³³ëýõ ä³ðìèéã àãóóëñàí áàéõ ¼ñòîé. 853
Chapter 30 àëò õàíà
ijðì³³ä ýõëýýä ãóðâàí ³íäñýí õýñýãò õóâààãäàí çîõèîí áàéãóóëàãäñàí áàéõ ¼ñòîé: á³õ ÷°ë°°ò õàëäàøã³é èíòåðýéñ³³ä, íèéòèéí ãàäàãøàà èíòåðýéñ áîëîí íèéòèéí äîòîãøîî èíòåðýéñ. Íèéòèéí èíòåðýéñ á³ð äýýð áàéãàà ä³ðì³³äèéí äàðààëàë íü õàìãèéí îëîí òîõèîëääîã ä³ðì³³ä íü õàìãèéí ò³ð³³íä ö°°í òîõèîëääîã ä³ðì³³äýýñ °ìí° áàéõààð, òóõàéí èíòåðýéñ áîëîí ÷èãëýëèéí õóâüä õààõ áîëîí á³ðòãýõ ä³ðì³³ä íü õàìãèéí ñ³³ëä áàéõààð áè÷èãäñýí áàéíà. Äàðààõ æèøýýí äýýðõ ãàäàãøàà õýñýã íü Èíòåðíýò õàíäàëòûã ç°âø°°ð÷ °ã°õ ³éë÷èëãýýã òîäîðõîéëîõ ñîíãîëòûí óòãóóäûã àãóóëñàí ç°âõ°í ’allow’ ä³ðì³³äýýñ á³ðäýæ áàéíà. Á³õ ä³ðì³³ä ’proto’, ’port’, ’in/out’, ’via’ áà ’keep state’ òîõèðóóëãóóäûã àãóóëñàí áàéãàà. ’proto tcp’ ä³ðì³³ä íü ò°ë°âò áàéäëûã èäýâõæ³³ëæ áàéãàà ïàêåòèéã keep state ò°ë°âò õ³ñíýãòýä íýìýõ áàéäëààð, ñåññ ýõë³³ëýõ õ³ñýëòèéã òîäîðõîéëîõ çîðèëãîîð ’setup’ òîõèðóóëãûã àãóóëñàí áàéíà. Äîòîãøîî õýñýãò ýõëýýä õ³ñýýã³é ïàêåòóóäûã õààõ ä³ðì³³äèéã áè÷ñýí áàéíà. Ýíý íü õî¼ð °°ð øàëòãààíòàé. Ýõíèéõ íü, ýíý ä³ðì³³äýýð õààãäñàí ç³éëñ íü äîîð áàéãàà °°ð íýã ä³ðìýýð ç°âø°°ð°ãäñ°í ïàêåòèéí íýã õýñýã áàéæ áîëîõ òàëòàé. Õî¼ð äàõü øàëòãààí íü, ö°°õ°í òîîòîé õ³ëýýæ àâäàã áà á³ðòãýõ õ³ñýëã³é áàéãàà ïàêåòóóäûã ñîíãîí, òýäãýýðèéã á³ðíýýð õààõ ä³ðìèéã ýõëýýä áè÷èæ °ãñí°°ð ýäãýýð ïàêåòóóä õàìãèéí ñ³³ëä áàéãàà ÿìàð ÷ ä³ðì³³äýä òîõèðîîã³é ïàêåòóóäûã á³ðòãýýä õààíà ãýñýí ä³ðìýýð äàéðàõã³é áîëãîæ áàéãàà þì. Ó÷èð íü ýíý õýñãèéí õàìãèéí ñ³³ëä áàéãàà á³ãäèéã á³ðòãýýä õààíà ãýñýí ä³ðýì áîë °°ðèéí ñèñòåì óðóó õàëäàæ áàéãàà õàëäëàãûí íîòîëãîîã öóãëóóëàõ òàíû íýã àðãà áèëýý. °ð íýã òýìäýãëýí õýëýõ ç³éë áîë, õ³ñýýã³é ïàêåòóóäûí õàðèóä ÿìàð ÷ õàðèó ÿâóóëàõã³é, òýä ç³ãýýð ë îðõèãäîæ àëãà áîëíî. Èíãýñíýýð õàëäëàãà ÿâóóëàã÷ ò³³íèé ÿâóóëñàí ïàêåòóóä òàíû ñèñòåìä õ³ðñýí ýñýõ òàëààð þó ÷ ìýäýõã³é ³ëäýõ áîëíî. Òàíû ñèñòåìèéí òàëààð õýäèé õýð áàãà ìýäíý, ò°äèé ÷èíýý àþóëã³é áàéíà ãýñýí ³ã þì. Õýðâýý ìýäýõã³é äóãààðòàé ïîðòûí õóâüä ïàêåòóóä á³ðòãýãäñýí áàéâàë /etc/services/ àéëààñ ýñâýë http://www.securitystats.com/tools/portsearch.php õàÿãààð òóõàéí ïîðò ÿìàð çîðèóëàëòààð àøèãëàãääàãèéã îðæ øàëãààðàé. Òðîÿíóóäûí õýðýãëýäýã ïîðòûí äóãààðóóäûã http://www.simovits.com/trojans/trojans.html õàÿãààð îðæ øàëãààðàé. 30.6.5.6 Õàìààðóóëñàí ä³ðìèéí îëîíëîãèéí æèøýý
Äàðààõ NAT õèéãäýýã³é ä³ðìèéí îëîíëîã íü á³ðýí õýìæýýíèé õàìààðóóëñàí ä³ðìèéí îëîíëîã áàéãàà þì. Òà ýíý ä³ðì³³äèéã °°ðèéí ñèñòåìäýý àøèãëàõàä áóðóóäàõ þìã³é. Ç°âø°°ð°õèéã õ³ñýõã³é áàéãàà ³éë÷èëãýýí³³äèéí õóâüä õàðãàëçàõ íýâòð³³ëýõ ä³ðìèéã äàëäëààðàé. Õýðýâ á³ðòãýëä áàéãàà çàðèì ìýäýãäëèéã äàõèí õàðàõûã õ³ñýõã³é, á³ðòãýõèéã õ³ñýõã³é áàéãàà áîë äîòîãøîî õýñýãò õààõ ä³ðýì íýìæ áè÷ýýðýé. ijðýì á³ðò áàéãàà ’dc0’ ãýñýí èíòåðýéñèéí íýðèéí îðîíä òàíû ñèñòåìèéã Èíòåðíýò óðóó õîëáîæ áàéãàà NIC êàðòíû èíòåðýéñèéí íýðýýð ñîëüæ òàâèàðàé. Õýðýãëýã÷èéí PPP-í õóâüä, ýíý íü ’tun0’ áàéíà. Ýäãýýð ä³ðì³³äèéã õýðýãëýõ ÿâöàä òà õýâ ìàÿã îëæ õàðàõ áîëíî. Èíòåðíýò óðóó ÷èãëýñýí ñåññ ýõë³³ëýõ õ³ñýëòèéã ò°ë°°ëæ áàéãàà èëýðõèéëë³³ä á³ãä keep-state õýðýãëýæ áàéãàà. • Èíòåðíýòýýñ èðæ áóé á³õ ç°âø°°ð°ãäñ°í ³éë÷èëãýýí³³ä æèâ³³ëýõ õàëäëàãûã çîãñîîõ ³³äíýýñ limit ãýñýí òîõèðóóëãûí õàìò áè÷èãäñýí áàéãàà. • Á³õ ä³ðì³³ä ÷èãëýëèéã òîäîòãîõûí òóëä in ýñâýë out-ã õýðýãëýñýí áàéãàà. • Á³õ ä³ðì³³ä ïàêåòèéí äàéðàí °íã°ð°õ èíòåðýéñèéã òîäîðõîéëæ °ã°õä°° via-ã õýðýãëýñýí áàéãàà. Äàðààõ ä³ðì³³ä /etc/ipfw.rules äîòîð áàéðëàíà. •
854
Chapter 30 àëò õàíà ################ Start of IPFW rules file ############################### # Flush out the list before we begin. ipfw -q -f flush # Set rules command prefix cmd="ipfw -q add" pif="dc0" # public interface name of NIC # facing the public Internet ################################################################# # No restrictions on Inside LAN Interface for private network # Not needed unless you have LAN. # Change xl0 to your LAN NIC interface name ################################################################# #$cmd 00005 allow all from any to any via xl0 ################################################################# # No restrictions on Loopback Interface ################################################################# $cmd 00010 allow all from any to any via lo0 ################################################################# # Allow the packet through if it has previous been added to the # the "dynamic" rules table by a allow keep-state statement. ################################################################# $cmd 00015 check-state ################################################################# # Interface facing Public Internet (Outbound Section) # Interrogate session start requests originating from behind the # firewall on the private network or from this gateway server # destine for the public Internet. ################################################################# # Allow out access to my ISP’s Domain name server. # x.x.x.x must be the IP address of your ISP.s DNS # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file $cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state $cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state # Allow out access to my ISP’s DHCP server for cable/DSL configurations. # This rule is not needed for .user ppp. connection to the public Internet. # so you can delete this whole group. # Use the following rule and check log for IP address. # Then put IP address in commented out rule & delete first rule $cmd 00120 allow log udp from any to any 67 out via $pif keep-state #$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state # Allow out non-secure standard www function $cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state # Allow out secure www function https over TLS SSL
855
Chapter 30 àëò õàíà $cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state # Allow out send & get email function $cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state $cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state # Allow out FBSD (make install & CVSUP) functions # Basically give user root "GOD" privileges. $cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root # Allow out ping $cmd 00250 allow icmp from any to any out via $pif keep-state # Allow out Time $cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state # Allow out nntp news (i.e. news groups) $cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) $cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state # Allow out whois $cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state # deny and log everything else that.s trying to get out. # This rule enforces the block all by default logic. $cmd 00299 deny log all from any to any out via $pif ################################################################# # Interface facing Public Internet (Inbound Section) # Interrogate packets originating from the public Internet # destine for this gateway server or the private network. ################################################################# # Deny all $cmd 00300 $cmd 00301 $cmd 00302 $cmd 00303 $cmd 00304 $cmd 00305 $cmd 00306 $cmd 00307 $cmd 00308
inbound traffic from non-routable reserved address spaces deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP deny all from 127.0.0.0/8 to any in via $pif #loopback deny all from 0.0.0.0/8 to any in via $pif #loopback deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config deny all from 192.0.2.0/24 to any in via $pif #reserved for docs deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast
# Deny public pings $cmd 00310 deny icmp from any to any in via $pif # Deny ident $cmd 00315 deny tcp from any to any 113 in via $pif
856
Chapter 30 àëò õàíà # Deny all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 $cmd 00320 deny tcp from any to any 137 in via $pif $cmd 00321 deny tcp from any to any 138 in via $pif $cmd 00322 deny tcp from any to any 139 in via $pif $cmd 00323 deny tcp from any to any 81 in via $pif # Deny any late arriving packets $cmd 00330 deny all from any to any frag in via $pif # Deny ACK packets that did not match the dynamic rule table $cmd 00332 deny tcp from any to any established in via $pif # Allow traffic in from ISP’s DHCP server. This rule must contain # the IP address of your ISP.s DHCP server as it.s the only # authorized source to send this packet type. # Only necessary for cable or DSL configurations. # This rule is not needed for .user ppp. type connection to # the public Internet. This is the same IP address you captured # and used in the outbound section. #$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state # Allow in standard www function because I have apache server $cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Allow in secure FTP, Telnet, and SCP from public Internet $cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Allow in non-secure Telnet session from public Internet # labeled non-secure because ID & PW are passed over public # Internet as clear text. # Delete this sample group if you do not have telnet server enabled. $cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Reject & Log all incoming connections from the outside $cmd 00499 deny log all from any to any in via $pif # Everything else is denied by default # deny and log all packets that fell through to see what they are $cmd 00999 deny log all from any to any ################ End of IPFW rules file ###############################
30.6.5.7 NAT áîëîí Ò°ë°âò ä³ðìèéí îëîíëîãèéí æèøýý
IPFW-í NAT óíêöûã èäýâõæ³³ëýõèéí òóëä çàðèì íýìýëò òîõèðãîîíû èëýðõèéëë³³äèéã èäýâõæ³³ëýõ õýðýãòýé áîëäîã. Ö°ìèéí ýõ êîäûí áóñàä IPFIREWALL èëýðõèéëë³³ä äýýð ’option IPDIVERT’ èëýðõèéëëèéã íýìæ ýìõýòãýí òóñãàéëàí áýëäñýí ö°ìèéã ãàðãàæ àâàõ õýðýãòýé. /etc/rc.conf
äîòîðõ ýíãèéí IPFW òîõèðóóëãóóä äýýð íýìæ äàðààõ òîõèðóóëãóóä õýðýãòýé áîëíî.
natd_enable="YES"
# Enable NATD function
857
Chapter 30 àëò õàíà natd_interface="rl0" natd_flags="-dynamic -m"
# interface name of public Internet NIC # -m = preserve port numbers if possible
Ò°ë°âò ä³ðì³³äèéã divert natd (ѳëæýýíèé õàÿãèéí Õ°ðâ³³ëýëò) ä³ðìèéí õàìò õýðýãëýõ íü ä³ðìèéí îëîíëîã áè÷èõ ëîãèêèéã ò°â°ãòýé áîëãîäîã. ’check-state’ áà ’divert natd’ ä³ðì³³äèéí ä³ðìèéí îëîíëîã äàõü áàéðëàë íü ìàø èõ í°ë°°òýé. Ýíý íü õÿëáàð äàéðààä-°íã°ð°õ ëîãèê óðñãàë áèø áîëíî. ’skipto’ ãýñýí øèíý ³éëäëèéí ò°ðëèéã õýðýãëýõ áîëíî. skipto òóøààëûã õýðýãëýõèéí òóëä õààøàà ³ñðýõýý òîäîðõîéëîõûí òóëä á³õ ä³ðì³³äèéã äóãààðëàõ õýðýãòýé áîëíî. Äàðààõ òàéëáàðã³é æèøýýí äýýð ïàêåò ä³ðìèéí îëîíëîãîîð äàéð÷ °íã°ð°õ äàðààëëûã òàéëáàðëàõààð ñîíãîí àâñàí ä³ðýì áè÷èõ àðãà áàéãàà þì. ijðýìòýé àæèëëàõ ïðîöåññ ä³ðìèéí àéëä áàéãàà õàìãèéí ýõíèé ä³ðìýýð ýõëýí öààø ä³ðì³³äèéã íýã íýãýýð óíøèí, àéëûí ò°ãñã°ë õ³ðòýë ýñâýë ïàêåò àëü íýã ä³ðìèéí ñîíãîëòûí øàëãóóðò òîõèð÷ ãàëò õàíûã îðõèõ õ³ðòýë ³ðãýëæèëíý. 100, 101, 450, 500, áà 510 äóãààðòàé ä³ðì³³äèéí áàéðëàëûã ñàéí àíçààðàõ õýðýãòýé. Ýäãýýð ä³ðì³³ä íü ãàäàãøàà áîëîí äîòîãøîî ÷èãëýëòýé ïàêåòóóäûí õ°ðâ³³ëýëòèéã óäèðäàõ á°ã°°ä èíãýñíýýð keep-state äèíàìèê õ³ñíýãòýí äýõ òýäãýýðò õàðãàëçàõ ì°ð°íä õóâèéí LAN IP õàÿã á³ðòãýãäñýí áàéõ í°õö°ëèéã õàíãàíà. Äàðàà íü, á³õ ç°âø°°ð°õ áîëîí òàòãàëçàõ ä³ðì³³äýä ïàêåòèéí ÿâæ áóé ÷èãëýë (°°ð°°ð õýëáýë ãàäàãøàà ýñâýë äîòîãøîî) áà èíòåðýéñèéã çààæ °ãñ°í áàéãààã àíçààðààðàé. Ì°í ãàäàãøàà ñåññ ýõë³³ëýõ õ³ñýëò³³ä, ñ³ëæýýíèé õàÿãèéí õ°ðâ³³ëýëòèéí á³õ skipto ä³ðì³³ä 500-ñ ýõýëæ áàéãààã àíçààðíà óó. Íýãýí LAN õýðýãëýã÷ âýá õóóäàñ ³çýõèéí òóëä âýá õ°ò÷èéã õýðýãëýæ áàéíà ãýæ áîäú¼. Âåá õóóäñóóä 80-ð ïîðòûã àøèãëàí õîëáîãäîíî. Ïàêåò ãàëò õàíàíä èðíý, ãàäàãøàà ÷èãëýæ áàéãàà òóë 100-ð ä³ðìýíä òîõèðîõã³é. 101-ð ä³ðìèéã ì°í °íã°ðí°, ÿàãààä ãýâýë ýíý íü õàìãèéí àíõíû ïàêåò òóë keep-state äèíàìèê õ³ñíýãòýíä õàðààõàí áè÷èãäýæ àìæààã³é áàéãàà. Ïàêåò ýöýñò íü 125-ð ä³ðýì äýýð èðæ, ä³ðýìä òààðíà. Ýíý ïàêåò Èíòåðíýò óðóó õàðñàí NIC-ð ãàäàãøàà ãàð÷ áàéãàà. ïàêåòèéí ýõëýë IP õàÿã íü õóâèéí LAN IP õàÿã õýâýýð áàéãàà. Ýíý ä³ðìýíä òààðàõ ³åä õî¼ð ³éëäýë õèéãäýíý. keep-state òîõèðóóëãà ýíý ä³ðìèéã keep-state äèíàìèê ä³ðìèéí õ³ñíýãòýíä íýìíý, ì°í çààæ °ãñ°í ³éëäëèéã ã³éöýòãýíý. éëäýë íü äèíàìèê õ³ñíýãòýä íýìýãäñýí ìýäýýëëèéí íýã õýñýã áàéíà. Ýíý òîõèîëäîëä "skipto rule 500" áàéíà. 500-ð ä³ðýì íü ïàêåòèéí IP õàÿãèéã NAT õèéæ, ïàêåòèéã ãàäàãø ÿâóóëíà. ³íèéã á³³ ìàðòààðàé, ýíý áîë ìàø ÷óõàë ø³³. Ýíý ïàêåò °°ðèéí çàìààð õ³ðýõ ãàçðàà õ³ðýýä áóöàæ èðýõäýý ì°í ë ýíý ä³ðìèéí îëîíëîãèéã äàéðíà. Ýíý ³åä õàðèí 100-ð ä³ðýìä òîõèð÷, î÷èõ IP õàÿã íü áóöàæ õàðãàëçàõ LAN IP õàÿã óðóó õ°ðâ³³ëýãäýíý. Äàðàà íü check-state ä³ðìýýð ãàðàõ áà õ³ñíýãòýíä ÿâàãäàæ áàéãàà ñåññ õàðèëöààíä îðîëöîæ áàéãàà ãýæ òýìäýãëýãäñýí òóë öààø LAN óðóó íýâòðýí îðíî. Òýãýýä °°ðèéã íü àíõ ÿâóóëñàí LAN PC óðóó î÷èõ áà àëñûí ñåðâåðýýñ °°ð õýñýã °ã°ãäëèéã àâàõûã õ³ññýí øèíý ïàêåòèéã ÿâóóëíà. Ýíý óäàà ýíý ïàêåò check-state ä³ðìýýð øàëãàãäàõ áà ò³³íèé ãàäàãøàà óðñãàëä õàðãàëçàõ ì°ð îëäîõ òóë õàðãàëçàõ ³éëäýë ’skipto 500’-ã ã³éöýòãýíý. Ïàêåò 500-ð ì°ð óðóó ³ñýð÷ NAT õèéãäýí öààø °°ðèéí çàìààð ÿâàõ áîëíî. Äîòîãøîî óðñãàë äýýð, èäýâõòýé ñåññ õàðèëöààíä îðîëöîæ áàéãàà ãàäíààñ èðæ áàéãàà á³õ ç³éëñ àâòîìàòààð check-state ä³ðìýýð áîëîí çîõèõ divert natd ä³ðì³³äýýð øèéäýãäýíý. Ýíä áèäíèé õèéõ ¼ñòîé ç³éë áîë õýðýãã³é ïàêåòóóäûã òàòãàëçàæ, ç°âø°°ð°ãäñ°í ³éë÷èëãýýã íýâòð³³ëýõ þì. àëò õàíûí áàéãàà ìàøèí äýýð àïà÷è ñåðâåð àæèëëàæ áàéíà, òýãýýä Èíòåðíýòýýñ õ³ì³³ñ ýíý äîòîîä âýá ñàéò óðóó õàíäàæ áàéíà ãýæ áîäú¼. Øèíý äîòîãøîî ñåññ ýõë³³ëýõ õ³ñýëòèéí ïàêåò 100-ð ä³ðýìä òîõèðîõ á°ã°°ä ò³³íèé IP õàÿã ãàëò õàíûí LAN IP õàÿã óðóó îíîîëò õèéãäýíý. Äàðàà íü ýíý ïàêåò öààø á³õ ä³ðì³³äýýð øàëãàãäàí ýöýñò íü 425-ð ä³ðýìä òîõèðíî. Ýíý ä³ðýìä òààðàõ ³åä õî¼ð ³éëäýë õèéãäýíý. Ýíý ä³ðýì keep-state äèíàìèê ä³ðìèéí õ³ñíýãòýíä íýìýãäýíý, ì°í çààæ °ãñ°í ³éëäëèéã ã³éöýòãýíý. ýâ÷ ýíý òîõèîëäîëä ýíý ýõëýë IP õàÿãíààñ ýõýëñýí øèíý ñåññ ýõë³³ëýõ õ³ñýëòèéí òîî 2-îîð õÿçãààðëàãäàíà. Ýíý íü òîäîðõîé ïîðò äýýð àæèëëàæ áàéãàà ³éë÷èëãýýíèé õóâüä DoS õàëäëàãààñ õàìãààëíà. Õàðãàëçàõ ³éëäýë íü ç°âø°°ð°ãäñ°í òóë ïàêåò LAN óðóó íýâòýðíý. Áóöàõ çàìä check-state ä³ðýì ýíý ïàêåòèéã 858
Chapter 30 àëò õàíà
èäýâõòýé ñåññ õàðèëöààíä õàìààð÷ áàéãààã òàíèõ òóë 500-ð ä³ðýì óðóó øèëæ³³ëýí, ïàêåò òýíä NAT õèéãäýýä öààø ãàäàãøàà èíòåðýéñýýð ãàðíà. Æèøýý ä³ðìèéí îëîíëîã #1: #!/bin/sh cmd="ipfw -q add" skip="skipto 500" pif=rl0 ks="keep-state" good_tcpo="22,25,37,43,53,80,443,110,119" ipfw -q -f flush $cmd 002 allow all from any to any via xl0 $cmd 003 allow all from any to any via lo0
# exclude LAN traffic # exclude loopback traffic
$cmd 100 divert natd ip from any to any in via $pif $cmd 101 check-state # Authorized outbound packets $cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks $cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks $cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks $cmd 130 $skip icmp from any to any out via $pif $ks $cmd 135 $skip udp from any to any 123 out via $pif $ks
# Deny all inbound traffic from non-routable reserved address spaces $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Authorized inbound packets $cmd 400 allow udp from xx.70.207.54 to any 68 in $ks $cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1
$cmd 450 deny log ip from any to any # This is skipto location for outbound stateful rules $cmd 500 divert natd ip from any to any out via $pif $cmd 510 allow ip from any to any ######################## end of rules
##################
859
Chapter 30 àëò õàíà
Äàðààõ æèøýý äýýðõòýé íèëýýä ò°ñòýé áîëîâ÷ òóðøëàãàã³é IPFW ä³ðýì áè÷èã÷èä çîðèóëàí ä³ðì³³ä þóíä çîðèóëàãäñàíûã òàéëáàðëàñàí òàéëáàðòàé áàéãààãààðàà îíöëîã þì. Æèøýý ä³ðìèéí îëîíëîã #2: #!/bin/sh ################ Start of IPFW rules file ############################### # Flush out the list before we begin. ipfw -q -f flush # Set rules command prefix cmd="ipfw -q add" skip="skipto 800" pif="rl0" # public interface name of NIC # facing the public Internet ################################################################# # No restrictions on Inside LAN Interface for private network # Change xl0 to your LAN NIC interface name ################################################################# $cmd 005 allow all from any to any via xl0 ################################################################# # No restrictions on Loopback Interface ################################################################# $cmd 010 allow all from any to any via lo0 ################################################################# # check if packet is inbound and nat address if it is ################################################################# $cmd 014 divert natd ip from any to any in via $pif ################################################################# # Allow the packet through if it has previous been added to the # the "dynamic" rules table by a allow keep-state statement. ################################################################# $cmd 015 check-state ################################################################# # Interface facing Public Internet (Outbound Section) # Interrogate session start requests originating from behind the # firewall on the private network or from this gateway server # destine for the public Internet. ################################################################# # Allow out access to my ISP’s Domain name server. # x.x.x.x must be the IP address of your ISP’s DNS # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file $cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state
# Allow out access to my ISP’s DHCP server for cable/DSL configurations.
860
Chapter 30 àëò õàíà $cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state # Allow out non-secure standard www function $cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state # Allow out secure www function https over TLS SSL $cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state # Allow out send & get email function $cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state $cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state # Allow out FreeBSD (make install & CVSUP) functions # Basically give user root "GOD" privileges. $cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root # Allow out ping $cmd 080 $skip icmp from any to any out via $pif keep-state # Allow out Time $cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state # Allow out nntp news (i.e. news groups) $cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) $cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state # Allow out whois $cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state # Allow ntp time server $cmd 130 $skip udp from any to any 123 out via $pif keep-state ################################################################# # Interface facing Public Internet (Inbound Section) # Interrogate packets originating from the public Internet # destine for this gateway server or the private network. ################################################################# # Deny all inbound traffic from non-routable reserved address spaces $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Deny ident
861
Chapter 30 àëò õàíà $cmd 315 deny tcp from any to any 113 in via $pif # Deny all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 $cmd 320 deny tcp from any to any 137 in via $pif $cmd 321 deny tcp from any to any 138 in via $pif $cmd 322 deny tcp from any to any 139 in via $pif $cmd 323 deny tcp from any to any 81 in via $pif # Deny any late arriving packets $cmd 330 deny all from any to any frag in via $pif # Deny ACK packets that did not match the dynamic rule table $cmd 332 deny tcp from any to any established in via $pif # Allow traffic in from ISP’s DHCP server. This rule must contain # the IP address of your ISP’s DHCP server as it’s the only # authorized source to send this packet type. # Only necessary for cable or DSL configurations. # This rule is not needed for ’user ppp’ type connection to # the public Internet. This is the same IP address you captured # and used in the outbound section. $cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state # Allow in standard www function because I have Apache server $cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Allow in secure FTP, Telnet, and SCP from public Internet $cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Allow in non-secure Telnet session # labeled non-secure because ID & PW # Internet as clear text. # Delete this sample group if you do $cmd 390 allow tcp from any to me 23
from public Internet are passed over public not have telnet server enabled. in via $pif setup limit src-addr 2
# Reject & Log all unauthorized incoming connections from the public Internet $cmd 400 deny log all from any to any in via $pif # Reject & Log all unauthorized out going connections to the public Internet $cmd 450 deny log all from any to any out via $pif # This is skipto location for outbound stateful rules $cmd 800 divert natd ip from any to any out via $pif $cmd 801 allow ip from any to any # Everything else is denied by default # deny and log all packets that fell through to see what they are $cmd 999 deny log all from any to any ################ End of IPFW rules file ###############################
862
Chapter 31
ѳëæýýíèé íýìýëò îéëãîëòóóä
Îð÷óóëñàí Öàãààíõ³³ãèéí àíáîëä. 31.1
Åð°íõèé àãóóëãà
Ýíý á³ëýã íü õýä õýäýí ñ³ëæýýíèé äýâøèëòýò íýìýëò ñýäâ³³äèéã õàìðàõ áîëíî. Ýíý á³ëãèéã óíøñàíû äàðàà, òà äàðààõ ç³éëñèéã ìýäýõ áîëíî: àðöóóä áîëîí ÷èãë³³ëýëò³³äèéí ³íäñ³³ä. • IEEE® 802.11 áîëîí Bluetooth ò°õ°°ð°ìæ³³äèéã õýðõýí ñóóëãàõ òàëààð. • FreeBSD-ã ã³³ð áîëãîæ õýðõýí òîõèðóóëàõ òàëààð. • Äèñêã³é ìàøèí äýýð ñ³ëæýýãýýð à÷ààëàõûã õýðõýí òîõèðóóëàõ òàëààð. • ѳëæýýíèé õàÿãèéí õ°ðâ³³ëýëòèéã õýðõýí òîõèðóóëàõ òàëààð. • PLIP-ýýð õî¼ð êîìïüþòåðèéã õýðõýí õîëáîõ òàëààð. • FreeBSD ìàøèí äýýð IPv6-ã õýðõýí òîõèðóóëàõ òàëààð. • ATM-èéã õýðõýí òîõèðóóëàõ òàëààð. • FreeBSD äýýð Common Access Redundancy Protocol áóþó CARP-èéí áîëîìæóóäûã õýðõýí èäýâõæ³³ëæ àøèãëàõ òàëààð. Ýíý á³ëãèéã óíøèõààñàà °ìí° òà äàðààõ ç³éëñèéã ã³éöýòãýõ õýðýãòýé: •
ñêðèïò³³äèéí ³íäñ³³äèéã îéëãîñîí áàéõ. ѳëæýýíèé ³íäñýí óõàãäàõóóäûí òàëààð ìýäëýãòýé áàéõ. Øèíý FreeBSD ö°ì õýðõýí òîõèðóóëæ ñóóëãàõ òàëààð ìýäýõ (Chapter 8). Íýìýëò ãóðàâäàã÷ òàëóóäûí õèéñýí ïðîãðàì õàíãàìæèéã õýðõýí ñóóëãàõ òàëààð ìýäýõ (Chapter 4).
• /etc/rc • • •
31.2
àðöóóä áîëîí ×èãë³³ëýëò³³ä
Õóâü íýìýð áîëãîí îðóóëñàí Êîðàí ðàéîí. ѳëæýýãýýð íýã ìàøèí í°ã°° ìàøèíûã îëæ ÷àääàã áàéõûí òóëä íýãýýñ í°ã°° óðóó õýðõýí õ³ðýõèéã òàéëáàðëàñàí àðãà çàìóóä áàéõ ¼ñòîé. ³íèéã routing áóþó ÷èãë³³ëýëò õèéõ ãýäýã. “×èãë³³ëýëò” íü “destination áóþó çîðüñîí ãàçàð” áîëîí “ãàðö” õàÿãèéí õîñëîëîîð òîäîðõîéëîãääîã. Õýðýâ òà ýíý “çîðüñîí ãàçàð” óðóó î÷èõîîð îðîëäîæ áàéãàà áîë ýíý “ãàðö”ààð õîëáîãäîíî ãýæ ýíý õîñëîë íü çààæ áàéãàà þì. óðâàí ò°ðëèéí çîðüñîí ãàçàð áàéäàã: ýäãýýð íü õîñòóóä, äýä ñ³ëæýýí³³ä áîëîí “àíõäàã÷” þì. “Àíõäàã÷ ÷èãë³³ëýëò” íü àëü ÷ ÷èãë³³ëýëòýä õàìààðàõã³é áîë àøèãëàãääàã. Áèä àíõäàã÷ ÷èãë³³ëýëòèéí òàëààð äàðàà íü àðàé äýëãýðýíã³é ÿðèëöàõ áîëíî. Áàñ ãóðâàí ò°ðëèéí ãàðö áàéäàã: ýäãýýð íü õîñòóóä, èíòåðýéñ³³ä (áàñ “links” áóþó õîëáîîñóóä ãýãääýã) áîëîí Ethernet òîíîã ò°õ°°ð°ìæèéí õàÿãóóä (MAC õàÿãóóä) þì.
863
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
31.2.1
Æèøýý
×èãë³³ëýëòèéí °°ð îéëãîëòóóäû㠳糳ëýõèéí òóëä áèä netstat-èéí äàðààõ æèøýýã àøèãëàõ áîëíî: % netstat -r
Routing tables Destination
Gateway
default outside-gw localhost localhost test0 0:e0:b5:36:cf:4f 10.20.30.255 link#1 example.com link#1 host1 0:e0:a8:37:8:1e host2 0:e0:a8:37:8:1e host2.example.com link#1 224 link#1
Flags UGSc UH UHLW UHLW UC UHLW UHLW UC UC
Refs 37 0 5 1 0 3 0 0 0
Use 418 181 63288 2421 0 4601 5 0 0
Netif Expire ppp0 lo0 ed0
77
lo0 lo0 =>
Ýõíèé õî¼ð ì°ð íü àíõäàã÷ ÷èãë³³ëýëò (áèä ³³íèéã äàðààãèéí õýñýãò àâ÷ ³çýõ áîëíî) áîëîí localhost ÷èãë³³ëýëòèéã çààíà. Ýíý ÷èãë³³ëýëòèéí õ³ñíýãòèéí çààñàí localhost-ä çîðèóëæ àøèãëàõ èíòåðýéñ (Netif áàãàíà) íü lo0 á°ã°°ä ýíý íü áàñ loopback áóþó áóöàõ èíòåðýéñ ãýãääýã. Ýíý íü óã î÷èõ ãàçðûí õóâüä á³õ óðñãàëûã LAN óðóó èëãýýõèéí îðîíä äîòîîääîî ³ëäýýíý ãýæ õýëæ áàéãàà á°ã°°ä ýíý íü õààíààñ ýõýëñýí òýíäýý áóöàæ î÷èõ ó÷ðààñ òýð þì. Äàðààãèéí áàéãàà ç³éë áîë 0:e0:-ñ ýõýëñýí õàÿãóóä þì. Ýäãýýð íü Ethernet òîíîã ò°õ°°ð°ìæèéí õàÿãóóä á°ã°°ä áàñ MAC õàÿãóóä ãýãääýã. FreeBSD íü ëîêàë Ethernet äýýð áàéãàà ÿìàð ÷ õîñòóóäûã (æèøýýí äýýðõ test0) àâòîìàòààð òàíüæ òýð õîñòîä çîðèóëæ øóóä ò³³í óðóó ed0 Ethernet èíòåðýéñýýð ãàðàõààð ÷èãë³³ëýëò íýìäýã. Ýíý ò°ðëèéí ÷èãë³³ëýëòòýé õîëáîîòîé õóãàöàà (Expire áàãàíà) áàéäàã á°ã°°ä ýíý íü çààñàí õóãàöààíä òýð õîñòîîñ áèä íàð þó ÷ ñîíñîõã³é ³åä àøèãëàãääàã. Èéì ÿâäàë áîëîõîä ýíý õîñò óðóó çààãäñàí ÷èãë³³ëýëò àâòîìàòààð óñòãàãäàõ áîëíî. Ýäãýýð õîñòóóä íü RIP (Routing Information Protocol áóþó ÷èãë³³ëýëòèéí ìýäýýëëèéí ïðîòîêîë) ãýãääýã àðãà çàìààð òàíèãääàã á°ã°°ä ýíý íü õàìãèéí áîãèíî çàìûã òîäîðõîéëñíû ³íäñýí äýýð ëîêàë õîñòóóä óðóó î÷èõ ÷èãë³³ëýëòèéã îëäîã. FreeBSD íü áàñ ëîêàë äýä ñ³ëæýýíä çîðèóëæ äýä ñ³ëæýýíèé ÷èãë³³ëýëò³³äèéã íýìäýã (10.20.30.255 íü 10.20.30 äýä ñ³ëæýýíèé öàöàõ õàÿã á°ã°°ä example.com íü òýð äýä ñ³ëæýýòýé õîëáîîòîé äîìýéíèé íýð þì). link#1 òýìäýãëýãýý íü ìàøèí äàõü ýõíèé Ethernet êàðòûã çààíà. Òà òýäãýýðò çîðèóëæ ÿìàð ÷ íýìýëò èíòåðýéñ çààãäààã³éã õàðàõ áîëíî. Ýäãýýð á³ëã³³ä (ëîêàë ñ³ëæýýíèé õîñòóóä áîëîí ëîêàë äýä ñ³ëæýýí³³ä) íü àâòîìàòààð routed ãýãääýã äýìîíîîð òîõèðóóëàãäñàí ÷èãë³³ëýëò³³äòýé áàéíà. Õýðýâ ýíý íü àæèëëàõã³é áàéãàà áîë ç°âõ°í ñòàòèêààð òîäîðõîéëîãäñîí (°°ð°° õýëáýë èëýðõèé îðóóëæ °ãñ°í) ÷èãë³³ëýëò³³ä áàéõ áîëíî. host1 ì°ð íü áèäíèé õîñòûã çààæ áàéãàà á°ã°°ä ò³³íèéã Ethernet õàÿãààð íü ìýääýã. Áèä èëãýýæ áàéãàà õîñò áîëîõîîð FreeBSD íü Ethernet èíòåðýéñýýð èëãýýõèéí îðîíä loopback áóþó áóöàõ èíòåðýéñèéã (lo0) àøèãëàõàà ìýääýã. Õî¼ð host2 ì°ð³³ä íü áèäíèéã ifconfig(8) alias áóþó °°ð íýð àøèãëàõ ³åä (Ethernet-èéí òàëààð äóðäñàí õýñãýýñ áèä ³³íèéã ÿàãààä õèéäãèéã ³çýýðýé) ó÷èð÷ áîëçîøã³é ç³éëèéí æèøýý þì. lo0 èíòåðýéñèéí äàðàà áàéãàà => òýìäýã íü áèä ç°âõ°í loopback áóþó áóöàõ èíòåðýéñèéã àøèãëààä çîãñîõã³é (ýíý õàÿã íü áàñ ëîêàë õîñòûã õýëæ áàéãàà áîëîõîîð) ýíý íü ÿëàíãóÿà alias áóþó °°ð íýð ãýäãèéã õýëæ áàéãàà þì.
864
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Èéì ÷èãë³³ëýëò³³ä íü alias-èéã äýìæäýã õîñò äýýð ç°âõ°í õàðàãäàíà; ëîêàë ñ³ëæýýí äýõ áóñàä á³õ õîñòóóä èéì ÷èãë³³ëýëò³³äèéíõýý õóâüä åðä°° ë link#1 ì°ðòýé áàéíà. Ò°ãñã°ëèéí ì°ð (î÷èõ äýä ñ³ëæýý 224) íü multicast-òàé àæèëëàæ áàéãàà á°ã°°ä ³³íèéã °°ð õýñýãò àâ÷ ³çýõ áîëíî. Ò°ãñã°ëä íü ÷èãë³³ëýëò á³ðèéí ò°ð°ë á³ðèéí øèíæ ÷àíàðóóäûã Flags áàãàíààñ õàðæ áîëíî. Ýäãýýð òóãóóäûí çàðèì áîëîí òýäãýýðèéí õàðãàëçàõ óòãà ñàíààíóóäûã äîîðõ áîãèíî õ³ñíýãòýýð õàðóóëàâ: Up: ×èãë³³ëýëò èäýâõòýé áàéíà.
U
Host: ×èãë³³ëýëòèéí î÷èõ ãàçàð íü ãàíö õîñò áàéíà.
H
Gateway: Ýíý î÷èõ ãàçàðò çîðèóëæ á³ãäèéã ýíý àëñûí ñèñòåì óðóó èëãýýõ á°ã°°ä àëñûí ñèñòåì íü òýíäýýñýý õààøàà èëãýýõýý îëîõ áîëíî.
G
Static: Ýíý ÷èãë³³ëýëò íü ñèñòåìýýð àâòîìàòààð ³³ñãýãäñýí áèø ãàðààð òîõèðóóëàãäñàí. Clone: Áèäíèé õîëáîãäîæ áàéãàà ìàøèíû õóâüä ýíý ÷èãë³³ëýëò äýýð ³íäýñëýí øèíý ÷èãë³³ëýëò ³³ñãýäýã. Ýíý ò°ðëèéí ÷èãë³³ëýëò íü èõýâ÷ëýí ëîêàë ñ³ëæýýí³³äýä àøèãëàãääàã.
S C
WasCloned: Ëîêàë ñ³ëæýýíèé (Clone) ÷èãë³³ëýëò äýýð ³íäýñëýí àâòîìàòààð òîõèðóóëàãäñàí ÷èãë³³ëýëòèéã çààíà. Link: ×èãë³³ëýëò íü Ethernet òîíîã ò°õ°°ð°ìæòýé õîëáîîòîé ç³éëèéã õàìàðíà.
W L
31.2.2
Àíõäàã÷ ÷èãë³³ëýëò³³ä
Ëîêàë ñèñòåì íü àëñûí õîñò óðóó õîëáîëò õèéõ õýðýãòýé ³åä ìýäýãäýæ áàéãàà çàì áàéãàà ýñýõèéã òîäîðõîéëîõûí òóëä ýíý íü ÷èãë³³ëýëòèéí õ³ñíýãòýýñ øàëãàäàã. Õýðýâ àëñûí õîñò íü áèäíèé õýðõýí õ³ðýõèéã íü ìýäýõ (êëîí õèéãäñýí ÷èãë³³ëýëò³³ä) äýä ñ³ëæýýíä áàéãàà áîë ñèñòåì òýð èíòåðýéñýýð õîëáîãäîæ áîëîõ ýñýõèéã øàëãàäàã. Õýðýâ á³õ ìýäýãäýæ áàéãàà çàì àìæèëòã³é áîëâîë ñèñòåìä ñ³³ë÷èéí ãàíö ñîíãîëò “àíõäàã÷” ÷èãë³³ëýëò ³ëäýíý. Ýíý ÷èãë³³ëýëò íü ãàðö ÷èãë³³ëýëòèéí òóñãàé ò°ð°ë (ñèñòåìä èõýâ÷ëýí ãàíö áàéäàã) á°ã°°ä òóãíóóäûí òàëáàðòàà ³ðãýëæ c ãýæ òýìäýãëýãäñýí áàéäàã. Ëîêàë ñ³ëæýýí äýõ õîñòûí õóâüä ýíý ãàðö íü ìàøèíû ãàäààä åðò°íö óðóó øóóä õîëáîãäîõ ç³éëýýð (PPP õîëáîëò, DSL, êàáåëü ìîäåì, T1, ýñâýë °°ð ñ³ëæýýíèé èíòåðýéñýýð) òîõèðóóëàãääàã. Õýðýâ òà °°ð°° ãàäíàõ åðò°íö óðóó ãàðö ìàÿãààð àæèëëàæ áàéãàà ìàøèíû õóâüä àíõäàã÷ ÷èãë³³ëýëòèéã òîõèðóóëæ áàéãàà áîë àíõäàã÷ ÷èãë³³ëýëò íü òàíû Èíòåðíýòèéí éë÷èëãýý ç³³ëýã÷èéí (ISP) ñàéò äàõü ãàðö ìàøèí áîëîõ þì. Àíõäàã÷ ÷èãë³³ëýëò³³äèéí æèøýýã õàðöãààÿ. Ýíý íü íèéòëýã òîõèðãîî þì: Local2
Ethernet
Local1
PPP
ISP-Serv
Ethernet
T1-GW
Local1 áîëîí Local2 õîñòóóä íü òàíû ñàéòàä áàéíà. Local1 íü ISP óðóó dial-up PPP õîëáîëòîîð õîëáîãäñîí. Ýíý PPP ñåðâåð êîìïüþòåð íü äîòîîä ñ³ëæýýãýýð °°ð íýã ãàðö êîìïüþòåð óðóó ãàäààä èíòåðýéñýýð ISP-èéí Èíòåðíýò °ã÷ áàéãàà óðóó õîëáîãäñîí áàéíà. Òàíû ìàøèí á³ðèéí õóâüä àíõäàã÷ ÷èãë³³ëýëò³³ä íü èéì áîëíî:
865
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Õîñò
Àíõäàã÷ àðö
Èíòåðýéñ
Local2 Local1
Local1 T1-GW
Ethernet PPP
Ò³ãýýìýë àñóóëò íü “Áèä ÿàãààä Local1-èéí õóâüä ò³³íèé õîëáîãäñîí ISP-èéí ñåðâåðèéí îðîíä T1-GW-ã àíõäàã÷ ãàðö ãýæ òîõèðóóëñàí áý?” ãýñýí àñóóëò þì. PPP èíòåðýéñ íü °°ðèéí òàëûí õîëáîëòîíäîî ISP-èéí ëîêàë ñ³ëæýýí äýõ õàÿãèéã àøèãëàæ áàéãàà áîëîõîîð ISP-èéí ëîêàë ñ³ëæýýí äýõ áóñàä äóðûí ìàøèíóóäàä çîðèóëñàí ÷èãë³³ëýëò àâòîìàòààð ³³ñãýãäýõ áîëíî ãýäãèéã ñàíààðàé. Èéì ó÷ðààñ òà T1-GW ìàøèí óðóó õýðõýí õ³ðýõýý àëü õýäèéí ìýäýæ áàéãàà áîëîõîîð ISP-èéí ñåðâåð óðóó óðñãàë èëãýýõ äóíäûí àëõàì øààðäëàãàã³é þì. °ðèéí ëîêàë ñ³ëæýýíèé õóâüä X.X.X.1 õàÿãèéã ãàðö õàÿã áîëãîæ àøèãëàõ íü ò³ãýýìýë áàéäàã. Òýãýõýýð (àäèë æèøýýã àøèãëààä) õýðýâ òàíû ëîêàë C àíãèëëûí õàÿãèéí òàëáàð 10.20.30 áàéñàí á°ã°°ä òàíû ISP 10.9.9-ã àøèãëàæ áàéãàà áîë àíõäàã÷ ÷èãë³³ëýëò³³ä íü èéì áàéíà:
Õîñò
Àíõäàã÷ ×èãë³³ëýëò
Local2 (10.20.30.2)
Local1 (10.20.30.1)
Local1 (10.20.30.1, 10.9.9.30)
T1-GW (10.9.9.1)
Òà /etc/rc.conf àéëûí òóñëàìæòàé àíõäàã÷ ÷èãë³³ëýëòèéã õÿëáàðààð òîäîðõîéëæ áîëíî. Áèäíèé æèøýýí äýýð Local2 ìàøèí äýýð áèä äàðààõ ì°ðèéã /etc/rc.conf àéëä íýìñýí: defaultrouter="10.20.30.1"
³íèéã øóóä òóøààëûí ì°ð°°ñ route(8) òóøààëààð õèéæ áàñ áîëíî: # route add default 10.20.30.1
ѳëæýýíèé ÷èãë³³ëýëòèéí õ³ñíýãò³³äèéã ãàðààð óäèðäàõ òàëààð äýëãýðýíã³é ìýäýýëëèéã route(8) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. 31.2.3
Õîñ ãýðòýé õîñòóóä
°ð áàñ íýã òîõèðãîîíû ò°ðëèéã áèä õýëýëöýõ ¼ñòîé á°ã°°ä ýíý íü õî¼ð °°ð ñ³ëæýýí äýýð áàéãàà õîñòûí òóõàé þì. Òåõíèêèéí õóâüä ãàðö áîëæ áàéãàà äóðûí ìàøèí (äýýðõ æèøýýí äýýð PPP õîëáîëòûã àøèãëàõ íü) õîñ ãýðòýé õîñò ãýæ òîîöîãääîã. ýõäýý ³íýíäýý ýíý óõàãäàõóóí íü õî¼ð äîòîîä ñ³ëæýýíä áàéãàà ìàøèíûã õýëýõýä ç°âõ°í àøèãëàãääàã. Íýã òîõèîëäîëä ìàøèí íü õî¼ð Ethernet êàðòòàé á°ã°°ä êàðò á³ð òóñäàà äýä ñ³ëæýýíèé õàÿãòàé áàéíà. °ð°°ð, ìàøèí íü ç°âõ°í íýã Ethernet êàðòòàé á°ã°°ä ifconfig(8) alias õèéëò áóþó °°ð íýðèéã àøèãëàäàã áàéæ áîëíî. Ýõíèéõ íü èçèêèéí õóâüä òóñäàà õî¼ð Ethernet ñ³ëæýý àøèãëàãäàæ áàéãàà ³åä õýðýãëýãäýõ á°ã°°ä ñ³³ëèéíõ íü ãàíö èçèê ñ³ëæýýíèé ñåãìåíò áàéãàà áîëîâ÷ ëîãèêèéí õóâüä õî¼ð òóñäàà äýä ñ³ëæýýí³³ä áàéãàà ³åä õýðýãëýãääýã. Àëü ÷ òîõèîëäîëä ýíý ìàøèí íü í°ã°° äýä ñ³ëæýý óðóó õ³ðýõ òîäîðõîéëîãäñîí ãàðö (ãàäíààñ èðýõ ÷èãë³³ëýëò) ãýäãèéã äýä ñ³ëæýý á³ð ìýääýã áàéõààð ÷èãë³³ëýëòèéí õ³ñíýãò³³ä òîõèðóóëàãääàã. Õî¼ð äýä ñ³ëæýýíèé õîîðîíä ÷èãë³³ëýã÷ ìàÿãààð àæèëëàõ ìàøèíòàé ýíý òîõèðãîî íü áèä àëü íýã òàë óðóó ýñâýë õî¼ð òàëûí õî¼óëàíãèéí õóâüä ïàêåò ø³³ã÷ áóþó ãàëò õàíà äýýð òóëãóóðëàñàí àþóëã³é áàéäëûí øèéäëèéã õèéõ øààðäëàãàòàé ³åä èõýâ÷ëýí õýðýãëýãääýã.
866
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Õî¼ð èíòåðýéñèéí õîîðîíä ïàêåòóóäûã äàìæóóëäàã áàéõààð ýíý ìàøèíûã áàéëãàõûã õýðýâ òà õ³ñâýë ýíý áîëîìæèéã èäýâõæ³³ëýõèéã FreeBSD-ä õýëýõ õýðýãòýé. ³íèéã õýðõýí õèéõ òàëààð äýëãýðýíã³éã äàðààãèéí õýñãýýñ ³çíý ³³. 31.2.4
×èãë³³ëýã÷ á³òýýõ íü
ѳëæýýíèé ÷èãë³³ëýã÷ íü åðä°° ë íýã èíòåðýéñýýñ í°ã°° èíòåðýéñ óðóó ïàêåòóóäûã äàìæóóëäàã ñèñòåì þì. Èíòåðíýòèéí ñòàíäàðòóóä áîëîí ñàéí èíæåíåð÷ëýëèéí òóðøëàãà íü ³³íèéã FreeBSD äýýð àíõäàã÷ààð èäýâõæ³³ëñýí áàéõààñ FreeBSD ò°ñëèéã ñýðãèéëäýã. rc.conf(5) äàõü äàðààõ õóâüñàã÷èéã YES áîëãîí °°ð÷èëñí°°ð òà ýíý áîëîìæèéã èäýâõæ³³ëæ áîëíî: gateway_enable=YES
# Set to YES if this host will be a gateway
Ýíý òîõèðóóëãà íü sysctl(8)-èéí õóâüñàã÷ net.inet.ip.forwarding-ã 1 áîëãîíî. Õýðýâ òà ÷èãë³³ëýëòèéã ò³ð çóóð çîãñîîõ õýðýãòýé áîë ³³íèéã ò³ð çóóð 0 áîëãîæ òîõèðóóëæ áîëíî. Óðñãàëûã õààø íü èëãýýõýý ìýäýõèéí òóëä òàíû øèíý ÷èãë³³ëýã÷èä ÷èãë³³ëýëò³³ä õýðýãòýé áîëíî. Õýðýâ òàíû ñ³ëæýý õàíãàëòòàé õÿëáàð áàéõ þì áîë ñòàòèê ÷èãë³³ëýëò³³ä àøèãëàæ áîëíî. FreeBSD íü ñòàíäàðò BSD ÷èãë³³ëýëòèéí äýìîí routed(8) ïðîãðàìòàé áàñ èðäýã. Ýíý íü RIP (1 áà 2-ð õóâèëáàð) áîëîí IRDP ïðîòîêîëóóäûã äýìæäýã. BGP v4, OSPF v2 áîëîí áóñàä ò°â°ãòýé ÷èãë³³ëýëòèéí ïðîòîêîëóóäûí äýìæëýãèéã net/zebra áàãö õàíãàäàã. GateD® çýðýã àðèëæààíû á³òýýãäýõ³³í³³ä áàñ èë³³ ò°â°ãòýé ñ³ëæýýíèé ÷èãë³³ëýëòèéí øèéäë³³äýä çîðèóëàãäñàí áàéäàã. 31.2.5
Ñòàòèê ÷èãë³³ëýëò³³äèéã òîõèðóóëàõ íü
Õóâü íýìýð áîëãîí îðóóëñàí Àëü Õîàíã. 31.2.5.1 àð òîõèðãîî
Áèä äàðààõ ñ³ëæýýòýé áàéíà ãýæ ò°ñ°°ëüå:
867
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Internet (10.0.0.1/24) Default Router to Internet Interface xl0, 10.0.0.10/24 RouterA
FreeBSD gateway
Interface xl1, 192.168.1.1/24
Internal Net 1 192.168.1.2/24 RouterB 192.168.2.1/24
Internal Net 2
Ýíý òîõèîëäîëä RouterA íü Èíòåðíýò óðóó ãàðàõ ÷èãë³³ëýã÷ ìàÿãààð àæèëëàæ áàéãàà áèäíèé FreeBSD ìàøèí áàéíà. Ýíý íü àíõäàã÷ ÷èãë³³ëýëòýý 10.0.0.1 ãýæ òîõèðóóëñàí á°ã°°ä èíãýñíýýð ãàäíàõ åðò°íö óðóó õîëáîãäîõ áîëîìæèéã îëãîíî. Áèä RouterB íü ç°â òîõèðóóëàãäñàí á°ã°°ä õàà ÿâàõ õýðýãöýýòýé ãàçðàà õýðõýí õ³ðýõýý ìýääýã ãýæ ³çýõ áîëíî. (Ýíý íü çóðàã äýýð õÿëáàð þì. Åðä°° ë RouterB äýýð 192.168.1.1-ã ãàðö áîëãîí àíõäàã÷ ÷èãë³³ëýëò íýìíý.) Õýðýâ áèä RouterA-èéí ÷èãë³³ëýëòèéí õ³ñíýãòèéã õàðâàë äîîð äóðäñàíòàé ò°ñòýéã õàðàõ áîëíî: % netstat -nr
Routing tables Internet: Destination default 127.0.0.1 10.0.0/24 192.168.1/24
Gateway 10.0.0.1 127.0.0.1 link#1 link#2
Flags UGS UH UC UC
Refs 0 0 0 0
Use 49378 6 0 0
Netif xl0 lo0 xl0 xl1
Expire
Ýíý ³åèéí ÷èãë³³ëýëòèéí õ³ñíýãòòýé áàéõàä RouterA íü áèäíèé Internal Net 2 áóþó äîòîîä ñ³ëæýý 2 óðóó õ³ð÷ ÷àäàõã³é áàéõ áîëíî. Ýíý íü 192.168.2.0/24-èéí õóâüä ÷èãë³³ëýëòã³é áàéíà. ³íèéã àðèëãàõ íýã àðãà íü ãàðààð ÷èãë³³ëýëò íýìýõ ÿâäàë þì. Äàðààõ òóøààë íü RouterA-èéí ÷èãë³³ëýëòèéí õ³ñíýãòýä 192.168.1.2-ã äàðààãèéí ç°ðë°ã (hop) áîëãîí àøèãëàí Internal Net 2 ñ³ëæýýã íýìýõ áîëíî: # route add -net 192.168.2.0/24 192.168.1.2
Îäîî RouterA íü 192.168.2.0/24 ñ³ëæýýí äýõ äóðûí õîñò óðóó õ³ð÷ ÷àäíà.
868
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.2.5.2 Áàéíãûí òîõèðãîî
Äýýðõ æèøýý íü àæèëëàæ áàéãàà ñèñòåì äýýð ñòàòèê ÷èãë³³ëýëòèéã òîõèðóóëàõàä ò°ãñ ò°ã°ëä°ð þì. ýõäýý íýã àñóóäàë íü òàíû FreeBSD ìàøèí äàõèí à÷ààëàõàä ÷èãë³³ëýëòèéí ìýäýýëýë ³ëäýõã³é áàéõ ÿâäàë þì. Ñòàòèê ÷èãë³³ëýëòèéã áàéíãà áàéëãàõûí òóëä ò³³íèéã /etc/rc.conf àéëä íýìíý: # Add Internal Net 2 as a static route static_routes="internalnet2" route_internalnet2="-net 192.168.2.0/24 192.168.1.2"
òîõèðãîîíû õóâüñàã÷ íü çàéãààð òóñãààðëàãäñàí ³ãí³³äèéí æàãñààëò þì. ã á³ð ÷èãë³³ëýëòèéí íýðèéã çààíà. Áèäíèé æèøýýí äýýð static_routes ì°ð°íä áèä ç°âõ°í íýã ³ãòýé áàéíà. Ýíý íü internalnet2 þì. Áèä äàðàà íü route(8) òóøààëä °ã°õ á³õ òîõèðãîîíû íýìýëò °ã°ãäë³³äèéã route_internalnet2 ãýãäñýí òîõèðãîîíû õóâüñàã÷èéí õàìòààð íýìíý. Áèäíèé æèøýýíèé õóâüä áèä èéì òóøààë àøèãëàæ áîëíî: static_routes
# route add -net 192.168.2.0/24 192.168.1.2
òýãýõýýð áèäýíä "-net 192.168.2.0/24 192.168.1.2" õýðýãòýé. Äýýð äóðäñàíààð áèä static_routes ì°ð°íä íýãýýñ èë³³ ³ãñ îðóóëæ áîëíî. Ýíý íü áèäýíä îëîí ñòàòèê ÷èãë³³ëýëò³³ä ³³ñãýõ áîëîìæèéã îëãîíî. Äàðààõ ì°ð³³ä íü 192.168.0.0/24 áîëîí 192.168.1.0/24 ñ³ëæýýíèé õóâüä ñòàòèê ÷èãë³³ëýëò³³äèéã ñàíààíäàà ò°ñ°°ëñ°í ÷èãë³³ëýã÷ äýýðýý íýìæ áàéãàà æèøýý㠳糳ëæ áàéíà: static_routes="net1 net2" route_net1="-net 192.168.0.0/24 192.168.0.1" route_net2="-net 192.168.1.0/24 192.168.1.1"
31.2.6
×èãë³³ëýëòèéí òàðõàëò
Áèä ãàäíàõ åðò°íö óðóó ÷èãëýñýí °°ðñäèéí ÷èãë³³ëýëò³³äèéã õýðõýí òîäîðõîéëîõ òàëààð ÿðèëöñàí áîëîâ÷ ãàäíàõ åðò°íö õýðõýí áèäíèéã îëîõ òàëààð õýëýëöýýã³é áèëýý. ×èãë³³ëýëòèéí õ³ñíýãò³³äèéã òóõàéí íýã õàÿãèéí òàëáàðûí (áèäíèé æèøýýí äýýð C àíãèëëûí äýä ñ³ëæýý) á³õ óðñãàë òýð ñ³ëæýýíèé òóõàéí íýã õîñò óðóó èëãýýãäýæ òýð íü ïàêåòóóäûã äîòîãøîî äàìæóóëäãààð òîõèðóóëæ áîëíî ãýäãèéã áèä ìýäýæ áàéãàà áèëýý. Òà °°ðèéí ñàéòäàà çààãäñàí õàÿãèéí òàëáàðûã àâàõ ³åä òàíû ³éë÷èëãýý ³ç³³ëýã÷ °°ðñäèéí ÷èãë³³ëýëòèéí õ³ñíýãò³³äèéã òàíû äýä ñ³ëæýýíä çîðèóëàãäñàí á³õ óðñãàë òàíû PPP õîëáîîñîîð òàíû ñàéò óðóó èëãýýãääýãýýð òîõèðóóëàõ áîëíî. ýõäýý óëñ äàÿàð áàéõ áóñàä ñàéòóóä òàíû ISP óðóó èëãýýõýý ÿàæ ìýäýõ âý? Á³õ çààãäñàí õàÿãèéí òàëáàðóóäûã õÿíàæ Èíòåðíýòèéí ³íäñýí ñ³ëæýý óðóó õîëáîãäîõ õîëáîëòûí öýãèéã òîäîðõîéëäîã ñèñòåì (òàðààãäñàí DNS-èéí ìýäýýëýëòýé áàðàã àäèë) áàéäàã. “Backbone” áóþó “ãîë íóðóó (³íäñýí ñ³ëæýý)” íü óëñ äàÿàð áîëîí äýëõèé äàÿàð Èíòåðíýòèéí óðñãàëûã ç°°â°ðë°æ áàéäàã ãîë øóãàìíóóä þì. îë íóðóó ìàøèí á³ð ìàñòåð õ³ñíýãò³³äèéí õóóëáàðòàé áàéäàã á°ã°°ä ýäãýýð õ³ñíýãò³³ä íü òóõàéí íýã ñ³ëæýýíä çîðèóëñàí óðñãàëûã îíöãîé ãîë íóðóó ç°°â°ðë°ã÷ óðóó ÷èãë³³ëæ òýíäýýñýý äîîø áóñàä ³éë÷èëãýý ³ç³³ëýã÷äýýð äàìæèí òàíû ñ³ëæýýíä õ³ðäýã.
869
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
íäñýí (ãîë íóðóó) ñàéòóóä óðóó çàðëàæ òýäãýýð íü òàíû ñàéòûí õóâüä õîëáîëòûí öýã (áóþó îðîõ çàì) ãýæ òîäîðõîéëîõ íü òàíû ³éë÷èëãýý ³ç³³ëýã÷èéí ³³ðýã þì. ³íèéã ÷èãë³³ëýëòèéí òàðõàëò ãýæ íýðëýäýã. 31.2.7
Àëäààã îëæ çàñâàðëàõ
Çàðèìäàà ÷èãë³³ëýëòèéí òàðõàëò àñóóäàëòàé á°ã°°ä çàðèì íýãýí ñàéòóóä °°ð óðóó ÷èíü õîëáîãäîæ ÷àäàõã³é áàéæ áîëíî. ×èãë³³ëýëò õààíà àæèëëàõã³é áîëæ áàéãààã îëîõîä òóñ áîëîõ ìàãàäã³é õàìãèéí àøèãòàé òóøààë íü traceroute(8) òóøààë þì. Õýðýâ òà àëñûí ìàøèí óðóó õîëáîãäîæ ÷àäàõã³é þì øèã áàéâàë (°°ð°°ð õýëáýë ping(8) àìæèëòã³é áîëâîë) ýíý íü áàñ àäèë àøèãòàé áàéäàã. traceroute(8) òóøààëûã òàíû õîëáîãäîõûã îðîëäîæ áàéãàà àëñûí õîñòûí íýðòýé àæèëëóóëäàã. Ýíý íü ãàðö õîñòóóäûã îðîëäëîãî õèéæ áàéãàà çàìûí õàìòààð õàðóóëäàã á°ã°°ä ýöñèéí õîñò óðóó õ³ðýõ þì óó ýñâýë õîëáîëòûí àñóóäëààñ áîëîîä ýöñèéí õîñò óðóóãàà õ³ðýëã³éãýýð àæèëëàæ äóóñäàã. Äýëãýðýíã³é ìýäýýëëèéã traceroute(8)-èéí ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. 31.2.8 Multicast
÷èãë³³ëýëò õèéõ
FreeBSD íü multicast ïðîãðàìóóä áîëîí multicast ÷èãë³³ëýëòèéã óãààñàà äýìæäýã. Multicast ïðîãðàìóóä íü FreeBSD-èéí ÿìàð íýã òóñãàé òîõèðãîî øààðääàãã³é; ïðîãðàìóóä íü øóóä ë àæèëëàäàã. Multicast ÷èãë³³ëýëò íü äýìæëýãèéã ö°ìä ýìõýòãýõèéã øààðääàã: options MROUTING
Ì°í multicast ÷èãë³³ëýëòèéí äýìîí mrouted(8) íü òóííåëèóä áîëîí DVMRP-ã ³³ñãýõýýð /etc/mrouted.conf àéëûí òóñëàìæòàé òîõèðóóëàãäñàí áàéõ ¼ñòîé. Multicast òîõèðãîîíû òàëààð äýëãýðýíã³é ìýäýýëëèéã mrouted(8)-èéí ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. Note: FreeBSD 7.0-ñ ýõëýí mrouted(8) multicast ÷èãë³³ëýëòèéí äåìîí ³íäñýí ñèñòåìýýñ õàñàãäñàí. Ýíý íü DVMRP multicast ÷èãë³³ëýëòèéí ïðîòîêîëûã õýðýãæ³³ëäýã á°ã°°ä ³³íèéã èõýíõ multicast ñóóëãàöóóäàä pim(4)-ð èõýâ÷ëýí ñîëüñîí áàéäàã. Õîëáîãäîõ map-mbone(8) áîëîí mrinfo(8) õýðýãñë³³ä áàñ õàñàãäñàí. Îäîî ýäãýýð ïðîãðàìóóä íü FreeBSD-èéí ïîðòûí öóãëóóëãàä net/mrouted ïîðòîä áàéãàà áîëíî.
31.3
Óòàñã³é ñ³ëæýý
Loader, Ìàðê Ôîíâèë, and Ìþððåé Ñò°³êëè.
31.3.1
Óòàñã³é ñ³ëæýýíèé ³íäñ³³ä
Èõýíõ óòàñã³é ñ³ëæýýí³³ä íü IEEE 802.11-èéí ñòàíäàðòóóä äýýð ³íäýñëýñýí áàéäàã. íäñýí óòàñã³é ñ³ëæýý íü 2.4GHz þì óó ýñâýë 5GHz-èéí çóðâàñò öàöäàã ðàäèî äîëãèîíîîð õîëáîãääîã îëîí ñòàíöóóäààñ òîãòäîã (ýíý íü îðîí íóòãààñ õàìààð÷ °°ð °°ð áàéäàã á°ã°°ä 2.3GHz-ñ 4.9GHz-èéí õ³ðýýíä õîëáîîã èäýâõæ³³ëýõýýð °°ð÷ë°ãä°æ áàéãàà).
870
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 802.11 ñ³ëæýý íü õî¼ð àðãààð çîõèîí áàéãóóëàãääàã: äýä á³òöèéí ãîðèì ä íýã ñòàíö ìàñòåð ìàÿãààð àæèëëàæ áóñàä ñòàíöóóä íü ò³³íòýé õîëáîãääîã; ýíý ñ³ëæýýã BSS ãýäýã á°ã°°ä ìàñòåð ñòàíö íü õàíäàëòûí öýã (access point)(AP) ãýãääýã. BSS-ò á³õ õîëáîî AP-ð äàìæäàã; íýã ñòàíö °°ð íýã óòàñã³é ñòàíöòàé õîëáîî òîãòîîõûã õ³ññýí áàéñàí ÷ ãýñýí ìýäýãäë³³ä íü AP-ð äàìæèõ ¼ñòîé áàéäàã. Õî¼ð äàõü õýëáýðèéí ñ³ëæýýíä ìàñòåð áàéäàãã³é á°ã°°ä ñòàíöóóä íü øóóä õîëáîãääîã. Ýíý ñ³ëæýýíèé õýëáýðèéã IBSS ãýäýã á°ã°°ä áàñ ad-hoc ñ³ëæýý ãýãääýã. 802.11 ñ³ëæýýí³³ä íü 2.4GHz-èéí çóðâàñò IEEE 802.11 áîëîí 802.11b ñòàíäàðòóóäààð òîäîðõîéëîãäñîí ïðîòîêîëóóäûã àøèãëàí ýõëýí õèéãäýæ áàéñàí. Ýäãýýð òîäîðõîéëîëòóóä íü àæèëëàõ äàâòàìæóóä, õ³ðýý õèéõ áîëîí äàìæóóëàõ õóðä (õîëáîëò ò°ð°ë á³ðèéí õóðäààð õèéãäýæ áîëíî) çýðýã MAC äàâõàðãûí ³ç³³ëýëò³³äèéã àãóóëäàã. ѳ³ëä 802.11a ñòàíäàðò íü °°ð äîõèîíû àðãà çàìóóä áîëîí èë³³ °íä°ð äàìæóóëàõ õóðäóóä çýðýã 5GHz-èéí çóðâàñûí àæèëëàãààã òîäîðõîéëñîí áèëýý. Ì°í äàðàà íü 802.11b ñ³ëæýýí³³äòýé áóöàæ íèéöòýé áàéõààð 802.11a äîõèîíû õýðýãëýý áîëîí 2.4GHz-èéí çóðâàñò äàìæóóëàõ àðãà çàìóóäûã èäýâõæ³³ëæ 802.11g ñòàíäàðò òîäîðõîéëîãäñîí áàéíà. Ñóóðü áîëñîí äàìæóóëàõ òåõíèê³³äýýñ ãàäíà 802.11 ñ³ëæýýí³³ä íü ò°ð°ë á³ðèéí àþóëã³é áàéäëûí àðãà çàìóóäòàé áàéäàã. Àíõäàã÷ 802.11 òîäîðõîéëîëòóóä íü WEP ãýãääýã àþóëã³é áàéäëûí ýíãèéí ïðîòîêîëûã òîäîðõîéëñîí áèëýý. Ýíý ïðîòîêîë íü òîãòìîë, óðüä÷èëàí õóâààëöñàí ò³ëõ³³ð áîëîí RC4 êðèïòîãðà øèð àøèãëàí ñ³ëæýýíä äàìæóóëàãäàõ °ã°ãäëèéã êîä÷èëäîã. Ñòàíöóóä íü °°ð õîîðîíäîî õîëáîãäîõûí òóëä á³ãä íýã òîãòìîë ò³ëõ³³ð äýýð ç°âøèëö°õ ¼ñòîé. Ýíý ñõåìèéã àìàðõàí ýâäýõ áîëîìæòîéã õàðóóëñàí á°ã°°ä äàìæèí °íã°ð°õ õýðýãëýã÷äèéã ñ³ëæýýíä íýãäýõèéã ç°âë°ä°ãã³éãýýñ áóñàä òîõèîëäîëä îäîî õîâîð àøèãëàãäàõ áîëñîí áàéíà. Êðèïòîãðàèéí øèíý øèð³³ä áîëîí ñòàíöóóäûã õàíäàëòûí öýãò òàíèí íýâòð³³ëæ °ã°ãäëèéí õîëáîëòûã õèéõèéí òóëä ò³ëõ³³ð³³äèéã ñîëèëöîõ íýìýëò ïðîòîêîëûã òîäîðõîéëäîã IEEE 802.11i òîäîðõîéëîëòîîð îäîîãèéí àþóëã³é áàéäëûí ïðàêòèêèéã òîäîðõîéëäîã. Ì°í êðèïòîãðà ò³ëõ³³ð³³ä íü ³å ³å øèíý÷ëýãääýã á°ã°°ä õàëäëàãûí îðîëäëîãóóäûã èëð³³ëýõ (áà õàëäëàãûí îðîëäëîãóóäûã ñ°ð°õ) àðãà çàìóóä áàñ áàéäàã. Óòàñã³é ñ³ëæýýí³³äýä ò³ãýýìýë àøèãëàãääàã °°ð íýã àþóëã³é áàéäëûí ïðîòîêîëûí òîäîðõîéëîëò íü WPA þì. Ýíý íü ³éëäâýðëýëèéí á³ëãèéí òîäîðõîéëñîí 802.11i-èéí °ìí°õ ïðîòîêîë á°ã°°ä 802.11i-ã áàòëàõûã õ³ëýýæ áàéõ õóãàöààíä ò³ð çóóðûí àðãà õýìæýý áîëîõ þì. WPA íü 802.11i-ä áàéãàà øààðäëàãóóäûí äýä îëîíëîãèéã òîäîðõîéëæ õóó÷èí òîíîã ò°õ°°ð°ìæ³³ä äýýðõ øèéäýëä çîðèóëàãäàí õèéãäæýý. ßëàíãóÿà WPA íü àíõäàã÷ WEP øèðýýñ ãàðñàí TKIP øèðèéã ç°âõ°í øààðääàã. 802.11i íü TKIP-èéí õýðýãëýýã ç°âø°°ðä°ã áîëîâ÷ °ã°ãäëèéã øèðëýõýä çîðèóëæ èë³³ õ³÷èðõýã øèð áîëîõ AES-CCM-èéí äýìæëýãèéã áàñ øààðääàã. (AES øèð íü WPA-ä øààðäàãääàãã³é, ó÷èð íü ³³íèéã õóó÷èí òîíîã ò°õ°°ð°ìæ äýýð õèéõýä òîîöîîëëûí õóâüä °ðò°ãòýé ãýæ ³çäýã.) Äýýðõ ïðîòîêîëûí ñòàíäàðòóóäààñ ãàäíà ìýäýæ áàéõ °°ð íýã ÷óõàë ñòàíäàðò áîë 802.11e þì. Ýíý íü 802.11 ñ³ëæýýíä âèäåî äàìæóóëàõ, IP äýýã³³ðõ äóó (VoIP) çýðýã ìóëüòèìåäèà õýðýãëýýí³³äýä øààðäëàãàòàé ïðîòîêîëóóäûã òîäîðõîéëäîã. 802.11i-òàé àäèë 802.11e íü ³éëäâýðëýëèéí á³ëãýýñ 802.11e-èéí äýä îëîíëîã ãýæ òîäîðõîéëñîí, 802.11e-ã áàòëàõûã õ³ëýýæ áàéõ õóãàöààíä ìóëüòèìåäèà õýðýãëýýí³³äèéã èäýâõæ³³ëýõýä àøèãëàæ áîëîõ WME (ñ³³ëä WMM) ãýãäñýí óðüä÷èëñàí òîäîðõîéëîëò áàéäàã. 802.11e áîëîí WME/WMM-èéí òàëààð ìýäýõ ¼ñòîé õàìãèéí ÷óõàë ç³éë íü óòàñã³é ñ³ëæýýíèé çýðýãëýë òîãòîîãäñîí óðñãàëûí õýðýãëýýã Quality of Service (QoS) áóþó ³éë÷èëãýýíèé ÷àíàðûí ïðîòîêîëóóä áîëîí °ðã°òã°ñ°í ç°°â°ðë°ã÷èéí õàíäàëòûí ïðîòîêîëóóäûí òóñëàìæòàéãààð èäýâõæ³³ëäýã ÿâäàë þì. Ýäãýýð ïðîòîêîëóóäûí ç°â øèéäýë íü °ã°ãäëèéí °íä°ð õóðäòàé òýñðýëò áîëîí çýðýãëýë òîãòîîãäñîí óðñãàëûã èäýâõæ³³ëäýã. 6.0 õóâèëáàðààñ ýõëýýä FreeBSD íü 802.11a, 802.11b, áîëîí 802.11g-ã àøèãëàí àæèëëàäàã ñ³ëæýýí³³äèéã äýìæäýã. WPA áîëîí 802.11i àþóëã³é áàéäëûí ïðîòîêîëóóä íü àäèëõàí (11a, 11b, áîëîí 11g-òýé öóã) äýìæèãäñýí áàéäàã á°ã°°ä WME/WMM ïðîòîêîëóóäûí øààðääàã QoS áîëîí óðñãàëûí çýðýãëýëò íü õÿçãààðã³é òîîíû óòàñã³é ò°õ°°ð°ìæ³³äýä äýìæèãäñýí áàéäàã.
871
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
31.3.2
íäñýí òîõèðóóëãà
31.3.2.1 Ö°ìèéí òîõèðãîî
Óòàñã³é ñ³ëæýýã àøèãëàõûí òóëä òàíä óòàñã³é ñ³ëæýýíèé êàðò áîëîí ö°ìèéã òîõèðîõ óòàñã³é ñ³ëæýýíèé äýìæëýãòýéãýýð òîõèðóóëàõ õýðýãòýé áîëíî. ѳ³ëèéíõ íü îëîí ìîäóëèóäàä õóâààãääàã. Òýãýõýýð òàíä ç°âõ°í °°ðèéíõ°° àøèãëàõ ïðîãðàì õàíãàìæèéã òîõèðóóëàõ õýðýãòýé áîëîõ þì. Òàíä ýõëýýä õýðýã áîëîõ ç³éë íü óòàñã³é ñ³ëæýýíèé ò°õ°°ð°ìæ þì. Õàìãèéí ò³ãýýìýë õýðýãëýãääýã ò°õ°°ð°ìæ³³ä íü Atheros-èéí õèéäýã õýñã³³äèéã àøèãëàäàã ò°õ°°ð°ìæ³³ä áàéäàã. Ýäãýýð ò°õ°°ð°ìæ³³ä íü ath(4) äðàéâåðààð äýìæèãääýã á°ã°°ä /boot/loader.conf àéëä äàðààõ ì°ðèéã íýìýõèéã øààðääàã: if_ath_load="YES"
Atheros äðàéâåð íü ãóðâàí òóñäàà õýñýãò õóâààãääàã: ýäãýýð íü ç°â äðàéâåð (ath(4)), áè÷èë ñõåìèéí óíêöóóäûã çîõèöóóëäàã, òîíîã ò°õ°°ð°ìæèéí äýìæëýãèéí äàâõàðãà (ath_hal(4)), áîëîí õ³ðýýí³³äèéã äàìæóóëàõûí òóëä õýä õýäýí áîëîìæèò õóðäóóäààñ (ýíä ath_rate_sample) ñîíãîõ àëãîðèòì þì. Òà ýíý
äýìæëýãèéã ìîäóëü õýëáýðýýð äóóäàõ ³åä ò³³íòýé õàìààðàëòàé ç³éëñ àâòîìàòààð çîõèöóóëàãäàõ áîëíî. Õýðýâ òàíä Atheros ò°õ°°ð°ìæèéí îðîíä °°ð ò°õ°°ð°ìæ áàéãàà áîë òà òýð ò°õ°°ð°ìæèä çîðèóëñàí ìîäóëèéã ñîíãîõ þì, °°ð°°ð õýëáýë:
if_wi_load="YES"
ãýæ Intersil Prism õýñã³³ä äýýð ñóóðèëñàí ò°õ°°ð°ìæ³³äèéí õóâüä õèéæ °ãí° (wi(4) driver). Note: Ýíý áàðèìòûí ³ëäñýí õýñýãò áèä ath(4) ò°õ°°ð°ìæèéã àøèãëàõ á°ã°°ä æèøýýí³³ä äýýðõ ò°õ°°ð°ìæèéí íýð òàíû òîõèðãîîíû äàãóó °°ð÷ë°ãä°õ ¼ñòîé. Áàéãàà óòàñã³é äðàéâåðóóäûí æàãñààëòûã wlan(4) ãàðûí àâëàãûí õóóäàñíû ýõíýýñ îëæ áîëíî. Òàíû óòàñã³é ò°õ°°ð°ìæèä çîðèóëàãäñàí FreeBSD-èéí äðàéâåð áàéõã³é áîë ìàãàäã³é Windows äðàéâåðèéã NDIS äðàéâåðèéí ã³éöýòãýë õÿëáàðøóóëàã÷èéí òóñëàìæòàé øóóä àøèãëàæ áîëîõ þì.
Ò°õ°°ð°ìæèéí äðàéâåðèéã òîõèðóóëñíûõàà äàðàà òà äðàéâåðèéí øààðääàã 802.11 ñ³ëæýýíèé äýìæëýãèéã áàñ îðóóëàõ õýðýãòýé áîëíî. ath(4) äðàéâåðèéí õóâüä ýíý íü ÿäàõäàà wlan(4), wlan_scan_ap áîëîí wlan_scan_sta ìîäóëèóä áàéõ á°ã°°ä wlan(4) ìîäóëü íü óòàñã³é ò°õ°°ð°ìæèéí äðàéâåðòàé öóã àâòîìàòààð äóóäàãääàã áà ³ëäñýí ìîäóëèóä íü /boot/loader.conf àéëûí òóñëàìæòàéãààð à÷ààëàõ ³åä äóóäàãäàõ ¼ñòîé: wlan_scan_ap_load="YES" wlan_scan_sta_load="YES" Note: wlan_scan_ap áîëîí wlan_scan_sta ìîäóëèóäûã FreeBSD 7.X øààðääàã á°ã°°ä, FreeBSD-èéí áóñàä õóâèëáàðóóä òýäãýýðèéã øààðääàãã³é.
³íòýé öóã òàíû àøèãëàõ àþóëã³é áàéäëûí ïðîòîêîëóóäàä çîðèóëàãäñàí êðèïòîãðàûí äýìæëýãèéã õèéäýã ìîäóëèóä õýðýãòýé áîëíî. Ýäãýýð íü wlan(4) ìîäóëèàð àâòîìàòààð øààðäëàãûí äàãóó äóóäàãääàã áàéõààð çîðèóëàãäñàí áîëîâ÷ îäîîõîíäîî ýäãýýðèéã ãàðààð òîõèðóóëàõ øààðäëàãàòàé. Äàðààõ ìîäóëèóä áàéäàã: wlan_wep(4), wlan_ccmp(4) áîëîí wlan_tkip(4). wlan_ccmp(4) áîëîí wlan_tkip(4)
872
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
äðàéâåðóóä íü WPA áà/ýñâýë 802.11i àþóëã³é áàéäëûí ïðîòîêîëóóäûã àøèãëàõààð áîëñîí òîõèîëäîëä òàíä ç°âõ°í õýðýãòýé áàéäàã. Õýðýâ òàíû ñ³ëæýý íýýëòòýé (°°ð°°ð õýëáýë øèðëýëòã³é) àæèëëàõ áîë òàíä wlan_wep(4) äýìæëýã åð°°ñ°° õýðýãã³é. Ýäãýýð ìîäóëèóäûã à÷ààëàõ ³åä äóóäàõûí òóëä äàðààõ ì°ð³³äèéã /boot/loader.conf àéëä íýìíý: wlan_wep_load="YES" wlan_ccmp_load="YES" wlan_tkip_load="YES"
Ñèñòåìèéí ýõë³³ëýõ òîõèðãîîíû àéëä (°°ð°°ð õýëáýë /boot/loader.conf) èéì ìýäýýëýëòýéãýýð òà °°ðèéí FreeBSD õàéðöãèéã äàõèí à÷ààëàõ õýðýãòýé. Õýðýâ òà °°ðèéí ìàøèíûã äàõèí à÷ààëàõûã õ³ñýõã³é áàéãàà áîë òà ìîäóëèóäûã kldload(8)-èéí òóñëàìæòàéãààð ãàðààð äóóäàæ áîëíî. Note: Õýðýâ òà ìîäóëèóäûã àøèãëàõûã õ³ñýõã³é
áàéãàà áîë äàðààõ ì°ð³³äèéã °°ðèéí ö°ìèéí òîõèðãîîíû àéëä íýìæ ýäãýýð äðàéâåðóóäûã ö°ìä ýìõýòãýæ áîëíî:
device device device device device device device device device
ath ath_hal ath_rate_sample wlan wlan_scan_ap wlan_scan_sta wlan_wep wlan_ccmp wlan_tkip
# # # # # # # # #
Atheros IEEE 802.11 wireless network driver Atheros Hardware Access Layer John Bicket’s SampleRate control algorithm. 802.11 support (Required) 802.11 AP mode scanning 802.11 STA mode scanning WEP crypto support for 802.11 devices AES-CCMP crypto support for 802.11 devices TKIP and Michael crypto support for 802.11 devices
áîëîí wlan_scan_sta ì°ð³³äèéã FreeBSD 7.X øààðääàã á°ã°°ä, FreeBSD-èéí áóñàä õóâèëáàðóóä òýäãýýðèéã øààðääàãã³é. Ö°ìèéí òîõèðãîîíû àéëäàà èéì ìýäýýëýëòýéãýýð ö°ì°° äàõèí ýìõýòãýýä °°ðèéí FreeBSD ìàøèíûã äàõèí à÷ààëàõ õýðýãòýé. wlan_scan_ap
Ñèñòåì àññàíû äàðàà à÷ààëàõ ³åèéí ìýäýãäë³³äýä ³³íòýé àäèë óòàñã³é ò°õ°°ð°ìæèéí òàëààð çàðèì ìýäýýëëèéã îëæ áîëíî: ath0: mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2 ath0: Ethernet address: 00:11:95:d5:43:62 ath0: mac 7.9 phy 4.5 radio 5.6
31.3.3
Äýä á³òöèéí ãîðèì
Äýä á³òöèéí ãîðèì áóþó BSS ãîðèì íü èõýâ÷ëýí àøèãëàãääàã ãîðèì þì. Ýíý ãîðèìä óòàñã³é õàíäàëòûí öýã³³ä íü óòàñòàé ñ³ëæýýíä õîëáîãäñîí áàéäàã. Óòàñã³é ñ³ëæýý á³ð °°ðèéí íýðòýé áàéäàã á°ã°°ä ýíý íýð íü ñ³ëæýýíèé SSID ãýãääýã. Óòàñã³é êëèåíò³³ä íü óòàñã³é õàíäàëòûí öýã³³äýä õîëáîãääîã.
873
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.3.3.1 FreeBSD êëèåíò³³ä 31.3.3.1.1 Õàíäàëòûí öýã³³äèéã õýðõýí îëîõ âý
ѳëæýýí³³äèéã õàéõûí òóëä ifconfig òóøààëûã àøèãëàíà. Ýíý õ³ñýëò íü õýñýã õîðîì áîëæ áîëîõ á°ã°°ä áîëîìæòîé óòàñã³é äàâòàìæ á³ð óðóó øèëæèæ, áàéãàà õàíäàëòûí öýã³³äèéã øàëãàõûã ñèñòåìýýñ øààðääàã. Ç°âõ°í ñóïåð õýðýãëýã÷ èéì õàéëò ýõë³³ëæ ÷àäíà: # ifconfig ath0 up scan
SSID dlinkap freebsdap
BSSID 00:13:46:49:41:76 00:11:95:c3:0d:ac
CHAN RATE S:N 6 54M 29:3 1 54M 22:1
INT CAPS 100 EPS WPA WME 100 EPS WPA
Note: Òà õàéëò õèéõýýñýý °ìí° èíòåðýéñýý up áîëãîæ òýìäýãëýõ ¼ñòîé. Äàðàà äàðààãèéí õàéëòûí õ³ñýëò³³ä èíòåðýéñèéã up áîëãîæ òýìäýãëýõèéã øààðääàãã³é.
Õàéëòûí õ³ñýëòèéí ãàðàëò îëñîí BSS/IBSS ñ³ëæýý á³ðèéã õàðóóëäàã. ѳëæýýíèé íýð SSID-ñ ãàäíà õàíäàëòûí öýãèéí MAC õàÿã áîëîõ BSSID-ã áèä õàðàõ áîëíî. CAPS òàëáàð íü ñ³ëæýý á³ðèéí ò°ð°ë áîëîí òýíä àæèëëàæ áàéãàà ñòàíöóóäûí áîëîìæóóäûã çààíà: E
Extended Service Set (ESS) áóþó °ðã°òã°ñ°í ³éë÷èëãýýíèé îëîíëîã. Ñòàíö íü äýä á³òöèéí ñ³ëæýýíèé õýñýã ãýäãèéã õàðóóëíà (IBSS/ad-hoc ñ³ëæýýòýé õàðüöóóëàõ þì áîë ). I
IBSS/ad-hoc ñ³ëæýý. Ñòàíö íü ad-hoc ñ³ëæýýíèé õýñýã ãýäãèéã õàðóóëíà (ESS ñ³ëæýýòýé õàðüöóóëàõ þì áîë). P
Õóâèéí íóóö. BSS-èéí äîòîð ñîëèëöîæ áàéãàà °ã°ãäëèéí á³õ õ³ðýýí³³äýä °ã°ãäëèéí íóóö áàéäàë øààðäëàãàòàé áàéäàã. Ýíý BSS íü áóñàäòàé ñîëèëöîõ °ã°ãäëèéí õ³ðýýí³³äèéã øèðëýõ/áóöààõ WEP, TKIP ýñâýë AES-CCMP çýðýã êðèïòîãðà àøèãëàõûã ñòàíöààñ øààðääàã ãýñýí ³ã þì. S
Áîãèíî îðøèë (preamble). ѳëæýý áîãèíî îðøëóóäûã (802.11b °íä°ð õóðä/DSSS PHY-ä òîäîðõîéëîãäñîíîîð áîãèíî îðøèë íü óðò îðøèëä àøèãëàãääàã 128 áèò òàëáàðòàé õàðüöóóëàõ þì áîë 56 áèò sync òàëáàðûã õýðýãëýäýã) àøèãëàæ áàéãààã õàðóóëäàã. s
Áîãèíî ñëîò (àíãàðõàé) õóãàöàà. 802.11g ñ³ëæýý õóó÷èí (802.11b) ñòàíöóóä áàéõã³é áàéãàà ó÷ðààñ áîãèíî ñëîò õóãàöààã õýðýãëýæ áàéãààã õàðóóëíà. Ìýäýãäýæ áàéãàà ñ³ëæýýí³³äèéí îäîîãèéí æàãñààëòûã áàñ äîîðõ òóøààëààð õàðóóëæ áîëíî: # ifconfig ath0 list scan
874
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Ýíý ìýäýýëëèéã àâòîìàòààð õóâèðãàã÷ààð (adapter) ýñâýë ãàðààð scan õ³ñýëòèéí òóñëàìæòàé øèíý÷èëæ áîëíî. Õóó÷èí °ã°ãä°ë êýøýýñ àâòîìàòààð àðèëãàãäàõ áîëîõîîð õýñýã õóãàöàà °íã°ðñíèé äàðàà íýìýëò õàéëòóóä õèéõã³é ë áîë ýíý æàãñààëò áàãàñàæ áîëîõ þì. 31.3.3.1.2 íäñýí òîõèðãîîíóóä
Ýíý õýñýãò FreeBSD äýýð óòàñã³é ñ³ëæýýíèé õóâèðãàã÷èéã øèðëýëòã³éãýýð õýðõýí àæèëëóóëàõûã õàðóóëñàí ýíãèéí æèøýý㠳糳ëíý. Ýäãýýð îéëãîëòóóäûã ìýääýã áîëñíûõîî äàðàà °°ðèéíõ°° óòàñã³é ñ³ëæýýã òîõèðóóëàõäàà WPA-ã àøèãëàõûã áèä òóóøòàé ç°âë°æ áàéíà. Óòàñã³é ñ³ëæýýã òîõèðóóëàõ ãóðâàí ³íäñýí àëõàì áàéäàã: ýäãýýðò õàíäàëòûã öýãèéã ñîíãîõ, °°ðèéí ñòàíöûã òàíèóëæ íýâòð³³ëýõ, áîëîí IP õàÿãèéã òîõèðóóëàõ áàãòàíà. Äàðààõ õýñýã àëõàì á³ðèéã õýëýëöýíý. 31.3.3.1.2.1 Õàíäàëòûí öýãèéã ñîíãîõ íü
Èõýíõ òîõèîëäîëä ñèñòåì °°ðò°° á³òýýãäñýí ã³íçãèéð³³ëýí øàëãàõ àðãàà (heuristic) àøèãëàí õàíäàëòûí öýãèéã ñîíãîõûã íü ç°âø°°ð°õ õàíãàëòòàé áàéäàã. Òàíûã èíòåðýéñèéã up ãýæ òýìäýãëýõ ³åä ýíý íü àíõäàã÷ áàéõ á°ã°°ä õýðýâ ³ã³é áîë èíòåðýéñèéã /etc/rc.conf àéëä æàãñààí òîõèðóóëíà, °°ð°°ð õýëáýë: ifconfig_ath0="DHCP"
Õýðýâ îëîí õàíäàëòûí öýã³³ä áàéãàà á°ã°°ä òà òóõàéí íýãèéã ñîíãîõûã õ³ñâýë ò³³íèéã SSID-ààð íü ñîíãîæ áîëíî: ifconfig_ath0="ssid your_ssid_here DHCP"
Àäèë SSID-òàé îëîí õàíäàëòûí öýã³³ä áàéãàà îð÷èíä (ðîóìèíã-èéã (òýí³³÷ëýõ) õÿëáàð áîëãîõûí òóëä èõýâ÷ëýí õèéäýã) àëü íýã òóõàéí ò°õ°°ð°ìæ óðóó õîëáîãäîõ øààðäëàãàòàé áîëæ áîëîõ þì. Ýíý òîõèîëäîëä òà õàíäàëòûí öýãèéí BSSID-èéã çààæ °ã÷ áàñ áîëîõ þì (òà áàñ SSID-èéã ³ëäýýæ áîëíî): ifconfig_ath0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP"
Ñèñòåìèéí õàéëò õèéõ äàâòàìæóóäûí îëîíëîãèéã õÿçãààðëàõ çýðýã õàíäàëòûí öýãèéí ñîíãîëòûã øààðäàõ °°ð àðãóóä áàéäàã.Òà îëîí çóðâàñûí óòàñã³é ñ³ëæýýíèé êàðòòàé áàéõ òîõèîëäîëä ýíý íü àøèãòàé áàéäàã. Èéì òîõèîëäîëä á³õ áîëîìæèò ñóâãóóäûã õàéõ íü öàã õóãàöàà øààðäñàí àæèë áàéäàã. Àæèëëàãààã òóõàéí íýã çóðâàñ äýýð õÿçãààðëàõûí òóëä mode ïàðàìåòðèéã òà àøèãëàæ áîëíî, °°ð°°ð õýëáýë: ifconfig_ath0="mode 11g ssid your_ssid_here DHCP"
íü êàðòûã 2.4GHz äàâòàìæóóäûí õóâüä òîäîðõîéëîãäñîí 802.11g ãîðèìä êàðòûã àæèëëóóëàõ á°ã°°ä áóñàä 5GHz-èéí ñóâãóóäûã àâ÷ ³çýõã³é áàéõ áîëíî. ³íèéã õèéõ °°ð íýã àðãà íü àæèëëàãààã òóõàéí íýã äàâòàìæèä ò³ãæèõ channel ïàðàìåòð áîëîí õàéëò õèéõäýý ñóâãóóäûí æàãñààëòûã çààõ chanlist ïàðàìåòðèéã àøèãëàõ ÿâäàë þì. Ýäãýýð ïàðàìåòð³³äèéí òàëààð äýëãýðýíã³é ìýäýýëëèéã ifconfig(8) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó.
875
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.3.3.1.2.2 Íýâòðýëò òàíèëò
Õàíäàëòûí öýãèéã ñîíãîñíû äàðàà òàíû ñòàíö °ã°ãä°ë äàìæóóëàõàà °ìí° °°ðèéã°° òàíèóëàí íýâòðýõ õýðýãòýé. Íýâòðýëò òàíèëò õýä õýäýí àðãààð õèéãäýæ áîëíî. Àøèãëàãääàã õàìãèéí ò³ãýýìýë ñõåì áîë íýýëòòýé íýâòðýëò òàíèëò ãýãääýã á°ã°°ä ýíý íü äóðûí ñòàíö ñ³ëæýýíä íýãäýæ õîëáîãäîõûã ç°âø°°ðä°ã. Ýíý íü ýõíèé óäàà óòàñã³é ñ³ëæýýã òîõèðóóëæ áàéõäàà òåñòèéí çîðèëãîîð òàíû àøèãëàõ ¼ñòîé íýâòðýëò òàíèëò þì. Áóñàä ñõåì³³ä íü °ã°ãäëèéí óðñãàë ýõëýõýýñ °ìí° êðèïòîãðà ìýäýýëýë ñîëèëöîî õèéãäýõèéã øààðääàã; óðüä÷èëñàí õóâààëöñàí ò³ëõ³³ð³³ä ýñâýë íóóö ³ãñ àøèãëàõ ýñâýë RADIUS çýðýã àðûí ³éë÷èëãýýí³³äèéã àøèãëàäàã èë³³ ò°â°ãòýé ñõåì³³ä çýðãèéã äóðäàæ áîëíî. Èõýíõ õýðýãëýã÷èä íýýëòòýé íýâòðýëò òàíèëò àøèãëàõ á°ã°°ä ýíý íü àíõäàã÷ òîõèðãîî áàéäàã. Äàðààãèéí õàìãèéí ò³ãýýìýë òîõèðóóëãà áîë WPA-PSK á°ã°°ä ýíý íü áàñ WPA Personal ãýãääýã. Ýíý òîõèðóóëãà äîîð òàéëáàðëàãäñàí áàéãàà. Note: Õýðýâ òàíä õàíäàëòûí öýãò çîðèóëñàí Apple AirPort® Extreme äýýð ñóóðèëñàí ³íäñýí ñòàíö áàéãàà áîë WEP ò³ëõ³³ðòýé õàìò õóâààëöñàí ò³ëõ³³ðèéã òîõèðóóëàõ õýðýãòýé áîëæ áîëîõ þì. ³íèéã /etc/rc.conf àéë ýñâýë wpa_supplicant(8) ïðîãðàìûã àøèãëàí õèéæ áîëíî. Õýðýâ òà ãàíö AirPort ³íäñýí ñòàíöòàé áîë õàíäàëòûã èéìýðõ³³ãýýð õèéæ °ã÷ áîëíî: ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"
Åð°íõèéäýý õóâààëöñàí ò³ëõ³³ð á³õèé íýâòðýëò òàíèëòûã àøèãëàõààñ çàéëñõèéõ õýðýãòýé, ÿàãààä ãýâýë WEP ò³ëõ³³ðèéí ìàòåðèàëûã èõ õ³÷èëñýí õýëáýðýýð àøèãëàäàã íü ò³ëõ³³ðèéã ýâäýõ áîëîìæèéã èë³³ àìàðõàí áîëãîäîã. Õýðýâ WEP àøèãëàãäàõ ¼ñòîé áîë (°°ð°°ð õýëáýë õóó÷èí ò°õ°°ð°ìæòýé íèéöòýé áàéõ ³³äíýýñ) WEP-èéã open áóþó íýýëòòýé íýâòðýëò òàíèëòòàé öóã àøèãëàõ íü ç³éòýé þì. WEP-èéí òàëààð äýëãýðýíã³é ìýäýýëëèéã Section 31.3.3.1.4-ñ îëæ áîëíî.
31.3.3.1.2.3 DHCP-ýýð IP õàÿã àâàõ
Õàíäàëòûí öýãèéã ñîíãîæ íýâòðýëò òàíèëòûí ïàðàìåòð³³äèéã òîõèðóóëñíû äàðàà õîëáîãäîõûí òóëä òà IP õàÿã àâàõ õýðýãòýé áîëíî. Òà °°ðèéí óòàñã³é IP õàÿãèéã èõýâ÷ëýí DHCP-ýýð àâàõ áîëíî. Èíãýõèéí òóëä åðä°° ë /etc/rc.conf àéëûã çàñâàðëàæ äýýðõ æèøýýí äýýð ³ç³³ëñýí øèã °°ðèéí ò°õ°°ð°ìæèéí òîõèðãîîíä çîðèóëæ DHCP ãýæ íýìæ °ãí°: ifconfig_ath0="DHCP"
Ýíý õ³ðýõýä òà óòàñã³é èíòåðýéñýý àæèëëóóëàõàä áýëýí áàéõ áîëíî: # /etc/rc.d/netif start
Èíòåðýéñ àæèëëàæ ýõýëñíèé äàðàà ath0 èíòåðýéñèéí ò°ë°âèéã ³çýõèéí òóëä ifconfig òóøààëûã àøèãëàíà: # ifconfig ath0
ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) status: associated ssid dlinkap channel 6 bssid 00:13:46:49:41:76
876
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
ì°ð íü òàíûã óòàñã³é ñ³ëæýýíä (áèäíèé òîõèîëäîëä dlinkap ñ³ëæýý óðóó) õîëáîãäñîí ãýäãèéã õàðóóëæ áàéíà. bssid 00:13:46:49:41:76 õýñýã íü òàíû õàíäàëòûí öýãèéí MAC õàÿã þì; authmode ì°ð íü õîëáîëò øèðëýãäýýã³é ãýäãèéã òàíä õàðóóëæ áàéíà (OPEN).
status: associated
31.3.3.1.2.4 Ñòàòèê IP õàÿã
DHCP ñåðâåðýýñ IP õàÿã àâ÷ ÷àäàõã³é òîõèîëäîëä òîãòìîë IP õàÿã òà òàâüæ áîëíî. Äýýð ³ç³³ëñýí DHCP ãýñýí ò³ëõ³³ð ³ãèéã õàÿãèéí ìýäýýëëýýð ñîëèõ õýðýãòýé. Õàíäàëòûí öýãèéã ñîíãîõäîî õýðýãëýñýí áóñàä ïàðàìåòð³³äèéã ³ëäýýõýý ìàðòóóçàé: ifconfig_ath0="ssid your_ssid_here inet 192.168.1.100 netmask 255.255.255.0"
31.3.3.1.3 WPA WPA (Wi-Fi Protected Access áóþó Wi-Fi Õàìãààëàãäñàí Õàíäàëò) íü WEP-èéí ñóë òàë áîëîí ç°â íýâòðýëò òàíèëòûí äóòìàã áàéäëûã àðèëãàõ çîðèëãîîð 802.11 ñ³ëæýýí³³äýä öóã àøèãëàãääàã àþóëã³é áàéäëûí ïðîòîêîë þì. WPA íü 802.1X íýâòðýëò òàíèëòûí ïðîòîêîëûã õ°ø³³ðýãääýã á°ã°°ä °ã°ãäëèéí á³ðýí á³òýí áàéäàëä çîðèóëæ WEP-èéí îðîíä õýä õýäýí øèð³³äèéí íýãèéã àøèãëàäàã. WPA-èéí øààðääàã öîðûí ãàíö øèð áîë TKIP (Temporary Key Integrity Protocol) á°ã°°ä ýíý íü á³ðýí á³òýí áàéäàë øàëãàëò, õóóðàì÷ ³éëäëèéã èëð³³ëýëò áîëîí èëð³³ëñýí õàëäëàãóóäàä õàðèóëàõàä çîðèóëñàí àðãà õýìæýýí³³äèéã WEP-èéí àøèãëàäàã ³íäñýí RC4 øèðò íýìýí °ðã°òã°ñ°í øèð þì. TKIP íü õóó÷èí òîíîã ò°õ°°ð°ìæ äýýð ç°âõ°í ïðîãðàì õàíãàìæèéí °°ð÷ë°ëòòýéã°°ð àæèëëàõààð õèéãäñýí; ýíý íü àþóëã³é áàéäëûã ñàéæðóóëäàã áîëîâ÷ õàëäëàãààñ á³ðýí ã³éöýä õàìãààëæ ÷àääàãã³é. WPA íü TKIP-ã îðëóóëæ AES-CCMP øèðèéã áàñ çààäàã á°ã°°ä áîëîìæòîé òîõèîëäîëä ³³íèéã õýðýãëýõèéã óðüòàë áîëãîäîã; ýíý òîäîðõîéëîëòîä WPA2 (ýñâýë RSN) ãýñýí óõàãäàõóóí íèéòëýã àøèãëàãääàã. WPA íü íýâòðýëò òàíèëò áîëîí øèðëýëòèéí ïðîòîêîëóóäûã òîäîðõîéëäîã. Íýâòðýëò òàíèëò íü õî¼ð òåõíèêèéí àëü íýãýýð èõýâ÷ëýí õèéãääýã: 802.1X áîëîí RADIUS çýðýã àðûí íýâòðýëò òàíèëòûí
³éë÷èëãýýãýýð ýñâýë óðüä÷èëàí õóâààëöñàí íóóö ³ã àøèãëàí ñòàíö áîëîí õàíäàëòûí õîîðîíä õàìãèéí áàãààð ìýäýýëýë ñîëèëöîõ (handshake) çàìààð õèéãääýã. Ýõíèéõ íü èõýâ÷ëýí WPA Enterprise, ñ³³ëèéíõ íü WPA Personal ãýãääýã. Èõýíõ õ³ì³³ñ óòàñã³é ñ³ëæýýíä çîðèóëæ àðûí RADIUS ñåðâåð òîõèðóóëäàãã³é ó÷èð WPA-PSK íü WPA-ä çîðèóëñàí õàìãèéí ò³ãýýìýë òîõèîëääîã òîõèðãîî þì. Óòàñã³é õîëáîëòûí õÿíàëò áîëîí íýâòðýëò òàíèëò (ò³ëõ³³ðèéí òîõèðîëöîî ýñâýë ñåðâåðòýé õèéõ íýâòðýëò òàíèëò) íü wpa_supplicant(8) õýðýãñëýýð õèéãääýã. Ýíý ïðîãðàì íü àæèëëàõûí òóëä /etc/wpa_supplicant.conf òîõèðãîîíû àéë øààðääàã. Ýíý àéëûí òàëààð äýëãýðýíã³é ìýäýýëëèéã wpa_supplicant.conf(5) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. 31.3.3.1.3.1 WPA-PSK WPA-PSK íü áàñ WPA Personal ãýãääýã á°ã°°ä °ã°ãäñ°í íóóö ³ãýýñ ³³ñãýãäñýí pre-shared key áóþó (PSK)
óðüä÷èëàí õóâààëöñàí ò³ëõ³³ð äýýð ñóóðèëäàã á°ã°°ä óòàñã³é ñ³ëæýýíä ìàñòåð ò³ëõ³³ð áîëîí àøèãëàãääàã. Ýíý íü óòàñã³é õýðýãëýã÷ á³ð àäèë ò³ëõ³³ðèéã õóâààëöàíà ãýñýí ³ã þì. WPA-PSK íü íýâòðýëò òàíèëòûí ñåðâåð õýðýãëýõ áîëîìæã³é ýñâýë øààðäëàãàã³é æèæèã ñ³ëæýýí³³äýä çîðèóëàãäñàí þì.
877
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä Warning: Õàíãàëòòàé óðò, ò°ð°ë á³ðèéí òýìäýãò³³äýýñ á³òñýí, òààõ áóþó/ýñâýë õàëäàõ áîëîìæã³é õýö³³ íóóö ³ãñèéã ³ðãýëæ àøèãëàõ õýðýãòýé.
Ýõíèé àëõàì íü /etc/wpa_supplicant.conf àéëûã °°ðèéí ñ³ëæýýíèé SSID áîëîí óðüä÷èëàí õóâààëöñàí ò³ëõ³³ðýýð òîõèðóóëàõ ÿâäàë þì: network={ ssid="freebsdap" psk="freebsdmall" }
Äàðàà íü áèä /etc/rc.conf àéëä óòàñã³é ò°õ°°ð°ìæèéí òîõèðãîî WPA-ààð õèéãäýæ IP õàÿã DHCP-ýýñ àâàãäàíà ãýäãèéã çààæ °ãí°: ifconfig_ath0="WPA DHCP"
Äàðàà íü áèä èíòåðýéñèéã áîñãîæ àæèëëóóëíà: # /etc/rc.d/netif start
Starting wpa_supplicant. DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6 DHCPOFFER from 192.168.0.1 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100
Ýñâýë òà ³³íèéã ãàðààð äýýðõ /etc/wpa_supplicant.conf àøèãëàí õèéæ äîîð äóðäñàí òóøààëûã àæèëëóóëæ áîëíî: # wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:11:95:c3:0d:ac (SSID=’freebsdap’ freq=2412 MHz) Associated with 00:11:95:c3:0d:ac WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]
Äàðààãèéí ³éëäýë íü DHCP ñåðâåðýýñ IP õàÿã àâàõûí òóëä dhclient òóøààëûã àæèëëóóëàõ ÿâäàë þì: # dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. # ifconfig ath0
ath0: flags=8843 mtu 1500
878
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 Note: Õýðýâ /etc/rc.conf àéë íü ifconfig_ath0="DHCP" ì°ðòýé òîõèðóóëàãäñàí áîë dhclient òóøààëûã ãàðààð àæèëëóóëàõ øààðäëàãàã³é, dhclient òóøààë íü ò³ëõ³³ð³³äèéã wpa_supplicant ãàðãàæ àâñíû äàðàà àæèëëàõ áîëíî.
DHCP-èéí õýðýãëýý áîëîìæã³é òîõèîëäîëä wpa_supplicant ñòàíöûã òàíèóëæ íýâòð³³ëñíèé äàðàà òà ñòàòèê IP õàÿã òîõèðóóëæ áîëíî: # ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0 # ifconfig ath0
ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100
DHCP ñåðâåð àøèãëàãäààã³é ³åä òà àíõäàã÷ ãàðö áîëîí íýðèéí ñåðâåðèéã ãàðààð áàñ òîõèðóóëàõ õýðýãòýé áîëíî: # route add default your_default_router # echo "nameserver your_DNS_server " >> /etc/resolv.conf
31.3.3.1.3.2 EAP-TLS-òýé WPA
WPA-ã àøèãëàõ õî¼ð äàõü àðãà íü 802.1X àðûí íýâòðýëò òàíèëòûí ñåðâåðòýé öóã àøèãëàõ ÿâäàë á°ã°°ä ýíý òîõèîëäîëä WPA-ã óðüä÷èëàí õóâààëöñàí ò³ëõ³³ð á³õèé àþóëã³é áàéäëûí õóâüä àðàé äóòóó WPA-Personal-ñ ÿëãàõûí òóëä WPA-Enterprise ãýäýã. WPA-Enterprise äàõü íýâòðýëò òàíèëò íü EAP (Extensible Authentication Protocol áóþó °ðã°òã°ñ°í íýâòðýëò òàíèëòûí ïðîòîêîë) äýýð ñóóðèëäàã. EAP íü øèðëýëòèéí àðãàã³é èðäýã á°ã°°ä õàðèí øèðëýãäñýí òóííåëèéí äîòîð EAP-èéã ñóóëãàõààð øèéäñýí áàéäàã. EAP íýâòðýëò òàíèëòûí àðãóóäûí îëîí ò°ðë³³ä á³òýýãäñýí á°ã°°ä õàìãèéí ò³ãýýìýë àðãóóä íü EAP-TLS, EAP-TTLS áîëîí EAP-PEAP þì.
EAP-TLS (EAP with Transport Layer Security) íü Wi-Fi alliance (http://www.wi-fi.org/)-ààñ õàìãèéí ò³ð³³íä áàòëàìæëàãäñàí EAP àðãà á°ã°°ä óòàñã³é åðò°íö äýõ ìàø ñàéí äýìæèãäñýí íýâòðýëò òàíèëòûí ïðîòîêîë þì. EAP-TLS íü àæèëëàõûí òóëä ãóðâàí ñåðòèèêàò øààðääàã: ýäãýýð íü CA ñåðòèèêàò (á³õ ìàøèí äýýð ñóóëãàãäñàí), òàíû íýâòðýëò òàíèëòûí ñåðâåðò çîðèóëñàí ñåðòèèêàò, óòàñã³é êëèåíò á³ðä çîðèóëñàí êëèåíòèéí ñåðòèèêàò þì. Ýíý EAP àðãà äýýð íýâòðýëò òàíèëòûí ñåðâåð áîëîí
879
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
óòàñã³é êëèåíò íü °°ð °°ðñäèéí ñåðòèèêàòûã áèå áèåíäýý ³ç³³ëæ íýã íýãíèéãýý òàíèí íýâòð³³ëäýã á°ã°°ä òýä ýäãýýð ñåðòèèêàòûã òàíàé áàéãóóëëàãûí ñåðòèèêàòûí óäèðäëàãà (CA) îëãîæ áàòàëãààæóóëñàí áîëîõûã øàëãàäàã. Óðüäûí àäèë òîõèðãîîã /etc/wpa_supplicant.conf àéëààð õèéíý: network={ ssid="freebsdap" ➊ proto=RSN ➋ key_mgmt=WPA-EAP ➌ eap=TLS ➍ identity="loader" ➎ ca_cert="/etc/certs/cacert.pem" ➏ client_cert="/etc/certs/clientcert.pem" ➐ private_key="/etc/certs/clientkey.pem" ➑ private_key_passwd="freebsdmallclient" ➒ }
Ýíý òàëáàð íü ñ³ëæýýíèé íýðèéã çààíà (SSID). ➋ Ýíä áèä RSN (IEEE 802.11i) ïðîòîêîëûã àøèãëàíà, °°ð°°ð õýëáýë, WPA2. ➌ key_mgmt ì°ð íü áèäíèé àøèãëàõ ò³ëõ³³ð óäèðäàõ ïðîòîêîëûã çààíà. Áèäíèé òîõèîëäîëä ýíý íü EAP íýâòðýëò òàíèëòûã àøèãëàæ áàéãàà WPA þì: WPA-EAP. ➍ Ýíý òàëáàðò áèä °°ðñäèéí õîëáîëòäîî çîðèóëæ EAP àðãûã çààíà. ➎ identity òàëáàð íü EAP-èéã òàíèóëàõ ì°ðèéã àãóóëíà. ➏ ca_cert òàëáàð íü CA ñåðòèèêàò àéëûí çàìûã çààíà. Ýíý àéë íü ñåðâåðèéí ñåðòèèêàòûã øàëãàõàä õýðýãòýé. ➐ client_cert øóãàì êëèåíòèéí ñåðòèèêàòûí àéëûí çàìûã °ãí°. Ýíý ñåðòèèêàò íü ñ³ëæýýíèé óòàñã³é êëèåíò á³ðèéí õóâüä äàâòàãäàøã³é áàéíà. ➑ private_key òàëáàð íü êëèåíòèéí ñåðòèèêàòûí õóâèéí ò³ëõ³³ðèéí àéëûí çàìûí íýð þì. ➒ private_key_passwd òàëáàð íü õóâèéí ò³ëõ³³ðèéí íýâòðýõ ³ãèéã àãóóëäàã. Òýãýýä äàðààõ ì°ðèéã /etc/rc.conf àéëä íýìíý:
➊
ifconfig_ath0="WPA DHCP"
Äàðààãèéí àëõàì íü rc.d áîëîìæèéí òóñëàìæòàé èíòåðýéñèéã áîñãîæ àæèëëóóëàõ ÿâäàë þì: # /etc/rc.d/netif start
Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated
880
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100
Óðüä íü ³ç³³ëñíèé àäèë èíòåðýéñèéã ãàðààð wpa_supplicant áîëîí ifconfig òóøààëóóäààð áîñãîõ áîëîìæòîé áàéäàã. 31.3.3.1.3.3 EAP-TTLS-òýé WPA
EAP-TLS-òýé áàéõàä íýâòðýëò òàíèëòûí ñåðâåð áîëîí êëèåíòýä ñåðòèèêàò õýðýãòýé áîë EAP-TTLS-òýé (EAP-Tunneled Transport Layer Security) áàéõàä êëèåíòèéí ñåðòèèêàò íýìýëò ñîíãîëò áàéäàã. Ýíý àðãà íü çîð÷èã÷èä êëèåíò òàëäàà ñåðòèèêàòã³é áàéñàí ÷ ãýñýí íóóöëàã SSL òóííåëü ³³ñãýæ ÷àääàã çàðèì íýã àþóëã³é âýá ñàéòóóäûí õèéäýãòýé îéðîëöîî áàéäàã. EAP-TTLS íü íýâòðýëò òàíèëòûí °ã°ãäëèéã àþóëã³é òýýâýðëýõýä çîðèóëæ øèðëýãäñýí TLS òóííåëèéã àøèãëàõ áîëíî.
Òîõèðãîîã /etc/wpa_supplicant.conf àéëààð õèéíý:
network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TTLS ➊ identity="test" ➋ password="test" ➌ ca_cert="/etc/certs/cacert.pem" ➍ phase2="auth=MD5" ➎ }
Ýíý òàëáàðò áèä °°ðèéí õîëáîëòîíäîî çîðèóëæ EAP àðãûã äóðäàíà. ➋ identity òàëáàð íü øèðëýãäñýí TLS òóííåëü äîòîðõ EAP íýâòðýëò òàíèëòàä çîðèóëñàí òàíèóëàõ ì°ðèéã àãóóëíà. ➌ password òàëáàð íü EAP íýâòðýëò òàíèëòàä çîðèóëñàí íýâòðýõ ³ãèéã àãóóëíà. ➍ ca_cert òàëáàð íü CA ñåðòèèêàòûí àéëûí çàìûí íýðèéã çààíà. Ýíý àéë íü ñåðâåðèéí ñåðòèèêàòûã øàëãàõàä õýðýãòýé áàéäàã. ➎ Ýíý òàëáàðò áèä øèðëýãäñýí TLS òóííåëüä àøèãëàãäñàí íýâòðýëò òàíèëòûí àðãûã çààíà. Áèäíèé òîõèîëäîëä MD5-Challenge-òàé öóã EAP àøèãëàãäàæ áàéíà. “inner authentication” äîòîîä íýâòðýëò òàíèëò ³å íü èõýâ÷ëýí “phase2” áóþó õî¼ðäóãààð ³å ãýãääýã. Äàðààõ ì°ðèéã òà /etc/rc.conf àéëä áàñ íýìýõ õýðýãòýé:
➊
ifconfig_ath0="WPA DHCP"
Äàðààãèéí àëõàì áîë èíòåðýéñèéã áîñãîæ àæèëëóóëàõ ÿâäàë þì: # /etc/rc.d/netif start
Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20
881
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100
31.3.3.1.3.4 EAP-PEAP-òýé WPA
PEAP (Protected EAP) íü EAP-TTLS-èéí °°ð íýã õóâèëáàð õýëáýðýýð áàéõààð õèéãäñýí þì. Õî¼ð ò°ðëèéí PEAP àðãà áàéäàã á°ã°°ä õàìãèéí ò³ãýýìýë íü PEAPv0/EAP-MSCHAPv2 þì. Ýíý áàðèìòûí ³ëäñýí õýñýãò PEAP óõàãäàõóóíûã òýð EAP àðãûã õýëýõäýý õýðýãëýõ áîëíî. PEAP íü EAP-TLS-èéí äàðàà îðäîã õàìãèéí èõ àøèãëàãääàã EAP ñòàíäàðò þì, °°ð°°ð õýëáýë õýðýâ òà ò°ð°ë á³ðèéí OS-³³ä õîëèëäñîí ñ³ëæýýòýé áîë PEAP íü EAP-TLS-èéí äàðàà îðîõ õàìãèéí èõýýð äýìæèãäñýí ñòàíäàðò áàéõ þì.
PEAP íü EAP-TLS-òýé ò°ñòýé áàéäàã: ýíý íü êëèåíò áîëîí íýâòðýëò òàíèëòûí ñåðâåðèéí õîîðîíä
íýâòðýëò òàíèëòûí ìýäýýëëèéí ñîëèëöîîã õàìãààëàõ øèðëýãäñýí òóííåëü ³³ñãýí êëèåíò³³äèéã òàíèí íýâòð³³ëýõèéí òóëä ñåðâåð òàëûí ñåðòèèêàòûã àøèãëàäàã. Àþóëã³é áàéäëûí óõàãäàõóóí äàõü EAP-TTLS áîëîí PEAP-èéí õîîðîíäîõ ÿëãàà íü PEAP íýâòðýëò òàíèëò õýðýãëýã÷èéí íýðèéã öýâýð òåêñò õýëáýðýýð, ç°âõ°í íóóö ³ãèéã øèðëýãäñýí TLS òóííåëýýð öàöäàã ÿâäàë þì. EAP-TTLS íü õýðýãëýã÷èéí íýð áîëîí íóóö ³ãò çîðèóëæ TLS òóííåëèéã àøèãëàõ áîëíî. Áèä /etc/wpa_supplicant.conf àéëûã çàñâàðëàæ EAP-PEAP-òýé õîëáîîòîé òîõèðóóëãóóäûã íýìýõ õýðýãòýé áîëíî: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=PEAP ➊ identity="test" ➋ password="test" ➌ ca_cert="/etc/certs/cacert.pem" ➍ phase1="peaplabel=0" ➎ phase2="auth=MSCHAPV2" ➏ }
➊ ➋ ➌ ➍
Ýíý òàëáàðò áèä °°ðèéí õîëáîëòîíäîî çîðèóëæ EAP àðãûã àøèãëàõàà äóðäàíà. identity òàëáàð íü øèðëýãäñýí TLS òóííåëü äîòîðõ EAP íýâòðýëò òàíèëòàä çîðèóëñàí òàíèóëàõ ì°ðèéã àãóóëíà. password òàëáàð íü EAP íýâòðýëò òàíèëòàä çîðèóëñàí íýâòðýõ ³ãèéã àãóóëíà. ca_cert òàëáàð íü CA ñåðòèèêàòûí àéëûí çàìûí íýðèéã çààíà. Ýíý àéë íü ñåðâåðèéí ñåðòèèêàòûã øàëãàõàä õýðýãòýé áàéäàã.
882
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Ýíý òàëáàð íü íýâòðýëò òàíèëòûí (TLS òóííåëü) ýõíèé ³åä çîðèóëñàí ïàðàìåòð³³äèéã àãóóëíà. Àøèãëàñàí íýâòðýëò òàíèëòûí ñåðâåðýýñ õàìààðààä íýâòðýëò òàíèëòàä çîðèóëæ òóñãàé õàÿã/øîøãûã çààæ °ã°õ õýðýãòýé áîëíî. Èõýíõ òîõèîëäîëä õàÿã/øîøãî íü “êëèåíòèéí EAP øèðëýëò” áàéõ á°ã°°ä ³³íèéã peaplabel=0 ãýæ òîõèðóóëíà. Èë³³ ìýäýýëëèéã wpa_supplicant.conf(5) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî. ➏ Ýíý òàëáàðò áèä øèðëýãäñýí TLS òóííåëüä àøèãëàãäñàí íýâòðýëò òàíèëòûí àðãûã çààíà. PEAP-èéí õóâüä ýíý íü auth=MSCHAPV2 áàéíà. Äîîð äóðäñàíûã /etc/rc.conf àéëä íýìýõ ¼ñòîé: ➎
ifconfig_ath0="WPA DHCP"
Äàðàà íü áèä èíòåðýéñèéã áîñãîæ àæèëëóóëæ áîëíî: # /etc/rc.d/netif start
Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100
31.3.3.1.4 WEP WEP (Wired Equivalent Privacy) íü àíõäàã÷ 802.11 ñòàíäàðòûí õýñýã þì. ³íä ÿìàð ÷ íýâòðýëò òàíèëòûí àðãà áàéõã³é, ýíý íü õàíäàëò õÿíàëòûí ç°âõ°í ñóë õýëáýð á°ã°°ä õÿëáàð ýâäýõ áîëîìæòîé áàéäàã. WEP-èéã ifconfig òóøààëààð òîõèðóóëæ áîëíî:
# ifconfig ath0 ssid my_net wepmode on weptxkey 3 wepkey 3:0x3456789012 \ inet 192.168.1.100 netmask 255.255.255.0
íü äàìæóóëàëòàä ÿìàð WEP ò³ëõ³³ð àøèãëàõûã õýëæ áàéíà. Ýíä áèä ãóðàâ äàõü ò³ëõ³³ðèéã àøèãëàæ áàéíà. Ýíý íü õàíäàëòûí öýã äýõ òîõèðãîîòîé òààðàõ ¼ñòîé. Õýðýâ òà õàíäàëòûí öýã äýýð ÿìàð ò³ëõ³³ð àøèãëàãäàæ áàéãààã ìýäýõã³é áàéãàà áîë ýíý óòãàä 1-èéã (°°ð°°ð õýëáýë ýõíèé ò³ëõ³³ð) àøèãëàõ õýðýãòýé. wepkey íü ñîíãîãäñîí WEP ò³ëõ³³ðèéã òîõèðóóëàõûã õýëíý. Ýíý íü index:key õýëáýðèéí áàéõ ¼ñòîé á°ã°°ä èíäåêñ °ã°ãä°°ã³é áîë ò³ëõ³³ð 1 òîõèðóóëàãäàíà. Ýíý íü õýðýâ áèä ýõíèé ò³ëõ³³ðýýñ °°ð ò³ëõ³³ð³³äèéã àøèãëàõ áîë èíäåêñèéã òîõèðóóëàõ õýðýãòýé ãýñýí ³ã þì.
• weptxkey
•
883
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä Note: Òà 0x3456789012-ã
õàíäàëòûí öýã äýýð àøèãëàõààð òîõèðóóëñàí ò³ëõ³³ðýýð ñîëèõ ¼ñòîé.
Öààøõè ìýäýýëëèéã ifconfig(8) ãàðûí àâëàãûí õóóäàñíààñ óíøèõ íü ç³éòýé þì. wpa_supplicant õýðýãñëèéã °°ðèéí óòàñã³é èíòåðýéñèéã WEP-òýé òîõèðóóëàõûí òóëä áàñ àøèãëàæ áîëíî. Äàðààõ ì°ðèéã /etc/wpa_supplicant.conf àéëä íýìæ äýýðõ æèøýýã òîõèðóóëæ áîëíî: network={ ssid="my_net" key_mgmt=NONE wep_key3=3456789012 wep_tx_keyidx=3 }
Äàðàà íü: # wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:46:49:41:76 (SSID=’dlinkap’ freq=2437 MHz) Associated with 00:13:46:49:41:76
31.3.4 Ad-hoc
ãîðèì
IBSS ãîðèì áóþó áàñ ad-hoc ãýãääýã ãîðèì íü öýãýýñ öýãò õîëáîãäîõ õîëáîëòóóäàä çîðèóëàãäàí õèéãäñýí. Æèøýý íü A ìàøèí áîëîí B ìàøèíû õîîðîíä ad-hoc ñ³ëæýý ³³ñãýõèéí òóëä áèä åðä°° ë õî¼ð IP õàÿã áîëîí SSID ñîíãîõ õýðýãòýé áîëíî. A
ìàøèí äýýð:
# ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.1 netmask 255.255.255.0 # ifconfig ath0
ath0: flags=8843 mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 ether 00:11:95:c3:0d:ac media: IEEE 802.11 Wireless Ethernet autoselect (autoselect ) status: associated ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
ïàðàìåòð íü èíòåðýéñ IBSS ãîðèìä àæèëëàæ áàéãààã õàðóóëæ áàéíà. B ìàøèí äýýð áèä A ìàøèíûã èëð³³ëæ ÷àäàõ ¼ñòîé: adhoc
# ifconfig ath0 up scan
SSID freebsdap
BSSID 02:11:95:c3:0d:ac
CHAN RATE S:N 2 54M 19:3
INT CAPS 100 IS
884
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
àðàëò äýýðõ I íü A ìàøèí ad-hoc ãîðèìä áàéãààã áàòàëíà. Áèä îäîî B-ã °°ð IP õàÿãòàéãààð òîõèðóóëàõ õýðýãòýé: # ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 netmask 255.255.255.0 # ifconfig ath0
ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (autoselect ) status: associated ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 A
áîëîí B íü îäîî ìýäýýëýë ñîëèëöîõîä áýëýí áîëëîî.
31.3.5 FreeBSD
õàíäàõ öýã áîëæ àæèëëàõ
FreeBSD íü Access Point (AP) áóþó õàíäàõ öýã áîëæ àæèëëàñíààð íýìýëò õàíäàõ öýã áîëñîí ò°õ°°ð°ìæ
õóäàëäàæ àâàõ ýñâýë öýãýýñ öýãèéí õîîðîíä õîëáîãäîæ àæèëëàäàã ñ³ëæýý áàéãóóëàõ çýðýã íýìýëò ³éëäë³³äèéã õýìíýæ áîëäîã. Õýðýâ òàíû FreeBSD ìàøèí ñ³ëæýýíýýñ ñ³ëæýýíèé õîîðîíä äàìæóóëäàã ã³³ð áîëæ (æèøýý íü èíòåðíýòýä õîëáîæ) àæèëëàõ øààðäëàãàòàé ³åä èë³³ òîõèðäîã.
31.3.5.1 íäñýí òîõèðãîî
FreeBSD ìàøèíàà õàíäàõ öýã áîëæ àæèëëàäãààð òîõèðóóëàõààñàà °ìí° ö°ì°° ñ³ëæýýíèéõýý êàðòàíä òîõèðóóëæ òîõèðóóëñàí áàéõ ¼ñòîé. Òà ì°í õýðýãëýõ íóóöëàëûí äàìæóóëàõ ïðîòîêîë áóþó á³ðòãýëýý íýìýõ õýðýãòýé. Íýìýëò ìýäýýëëèéã Section 31.3.2 õýñãýýñ õàðíà óó. Note: NDIS õýìýýã÷ äðàéâåð îðëóóëàã÷ áîëîí Âèíäîóñûí äðàéâåðóóäûã àøèãëàñàí òîõèîëäîëä õàíäàõ öýã áîëãîæ àøèãëàõ áîëîìæ îäîîãîîð áàéõã³é. Ç°âõ°í FreeBSD-í ³íäñýí óòàñã³é õîëáîëòûí äðàéâåð ë õàíäàõ öýã áîëîõ ãîðèìûã äýìæèæ áàéãàà.
Óòàñã³é õîëáîëòûí ñ³ëæýý äýìæèãäýõ àæèëëàäàã áîëæ èðýíã³³ò íü óòàñã³é ñ³ëæýýíèé ò°õ°°ð°ìæ òàíü òóõàéí ìàøèí äýýðýý õàíäàõ öýã áîëæ àæèëëàõ ÷àäâàðòàéã øàëãàæ áîëäîã (çàðèìäàà hostap ãîðèì ãýæ íýðëýäýã): # ifconfig ath0 list caps
ath0=783ed0f<WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,TKIPMIC,WPA
Äýýðõ òóøààëûí ãàðàëòààñ HOSTAP ãýäýã ³ã íü òóõàé óòàñã³é ñ³ëæýýíèé êàðò íü õàíäàõ öýã áîëæ àæèëëàõ ÷àäâàðòàé ãýäãèéã áàòàëæ °ã÷ áàéíà. Ì°í ò°ð°ë á³ðèéí íóóöëàëûí áîëîìæóóä íü WEP, TKIP, WPA2, ãýõ ìýòýýð äóðäàãääàã á°ã°°ä ýäãýýð íü õàíäàõ öýãèéí äàìæóóëàëòàà íóóöëàõàä íü õýðýãëýãäýõ ÷óõàë õýðýãòýé ìýäýýëýë áîëæ °ãä°ã. Îäîî óòàñã³é ñ³ëæýýíèé ò°õ°°ð°ìæ íü hostap ãîðèìä øèëæèæ °°ðèéí ãýñýí SSID äóãààð áîëîí IP õàÿãàà àâààä àæèëëàõ áîëîìæòîé áîëíî: # ifconfig ath0 ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0
885
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Äàõèí ifconfig òóøààëààð ath0 ò°õ°°ð°ìæèéí ò°ë°â áàéäëûã øàëãàÿ: # ifconfig ath0
ath0: flags=8843 mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 ether 00:11:95:c3:0d:ac media: IEEE 802.11 Wireless Ethernet autoselect mode 11g status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 38 bmiss 7 protmode CTS burst dtimperiod 1 bintval 100 hostap ³ã íü óã ò°õ°°ð°ìæèéã òóõàéí ìàøèí äýýð õàíäàõ öýã áîëæ àæèëëàæ áàéãààã íü èëýðõèéëæ áàéíà. Òóõàéí ò°õ°°ð°ìæèéí èéì òîõèðóóëãûã ìàøèí àñàõ ³åä íü õèéãäýõýýð òîõèðóóëúÿ ãýæ áîäñîí òîõèîëäîëä /etc/rc.conf àéëä äàðààõ ì°ðèéã îðóóëæ °ã°õ õýðýãòýé: ifconfig_ath0="ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0"
31.3.5.2 Òóõàéí ìàøèí äýýð õàíäàõ öýã íü íýâòðýõ ³éëäýë áîëîí íóóöëàõ ³éë÷èëãýý àøèãëàõã³é àæèëëàõ Õýäèéãýýð õàíäàõ öýãèéã íýâòðýõ ³éëäýë áîëîí õîëáîëòûí íóóöëàë àøèãëàõã³éãýýð àæèëëóóëàõ íü òèéì ñàéøààëòàé áèø áîëîâ÷ õàíäàõ öýãèéí àæèëëàãààã øàëãàõûí òóëä èíãýæ òîõèðóóëæ àæèëëóóëàõ øààðäëàãà ãàðäàã. Ýíý òîõèðóóëãà íü ì°í õýðýãëýã÷òýé õîëáîãäîëòîé õ³íäðýë³³äèéã øèéäýõýä áàñ õýðýãëýãäýæ áîëíî. ìí° õàðóóëñíààð òîõèðóóëàãäñàí õàíäàõ öýãèéã °°ð óòàñã³é ñ³ëæýýòýé àæèëëàæ áóé ìàøèíààñ õàéëò õèéæ îëæ áîëäîã: # ifconfig ath0 up scan
SSID freebsdap
BSSID 00:11:95:c3:0d:ac
CHAN RATE S:N 1 54M 22:1
INT CAPS 100 ES
Õýðýãëýã÷ ìàøèíààñ õàíäàõ öýãèéã èíãýæ îëîîä ò³³íòýé äàðààõ ìàÿãààð õîëáîãäîæ áîëíî: # ifconfig ath0 ssid freebsdap inet 192.168.0.2 netmask 255.255.255.0 # ifconfig ath0
ath0: flags=8843 mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
886
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.3.5.3 WPA íóóöëàëòàé õàíäàõ öýã áîëñîí ìàøèí
Ýíý õýñýãò õàíäàõ öýã áîëæ àæèëëàæ áóé FreeBSD ìàøèíûã WPA íóóöëàëûí á³ðòãýë õýðýãëýõ òóõàé °ã³³ëýõ áîëíî. WPA íóóöëàëòàé õîëáîãäîëòîé áîëîí WPA äýýð ñóóðèëñàí õýðýãëýã÷èéí òîõèðãîîíû òàëààð äýëãýðýíã³é ìýäýýëëèéã Section 31.3.3.1.3 õýñãýýñ õàðààðàé. hostapd íýðòýé äàëä ÷°òã°ð íü WPA-ã àøèãëàæ áóé õàíäàõ öýã äýýð õýðýãëýã÷èéã íýâòð³³ëýõ áîëîí ò³ëõ³³ð ³ã ñîëèëöîõ ³éëäë³³äýä çîðèóëàãäñàí áàéäàã. Äàðààõ æèøýýí äýýð á³õ òîõèðãîîíû ³éëäë³³ä íü õàíäàõ öýã áîëæ àæèëëàæ áóé FreeBSD ìàøèí äýýð ã³éöýòãýãäýõ áîëíî. Õàíäàõ öýã ç°â àæèëëàæ ýõýëñýí ³åä hostapd äàëä ÷°òã°ðèéã àâòîìàòààð ìàøèíûã à÷ààëàãäàõ ³åä ç°âø°°ð°õèéí òóëä /etc/rc.conf àéëä äàðààõ ì°ðèéã íýìæ °ã°õ õýðýãòýé: hostapd_enable="YES"
hostapd äàëä ÷°òã°ðèéã òîõèðóóëàõààñàà °ìí° Section 31.3.5.1 õýñýãò çààñàí åð°íõèé òîõèðãîîã õèéñýí ýñýõýý ìàãàäëààðàé. 31.3.5.3.1 WPA-PSK WPA-PSK íü õýðýãëýã÷èä íýâòðýõ ³éëäýë õèéäýã ñåðâåð øààðäëàãàã³é þì óó ýñâýë áîëîìæã³é áîëñîí áàãà çýðãèéã ñ³ëæýýíä çîðèóëàãäñàí áèëýý.
Òîõèðãîî íü /etc/hostapd.conf àéëä õèéãääýã:
interface=ath0 ➊ debug=1 ➋ ctrl_interface=/var/run/hostapd ➌ ctrl_interface_group=wheel ➍ ssid=freebsdap ➎ wpa=1 ➏ wpa_passphrase=freebsdmall ➐ wpa_key_mgmt=WPA-PSK ➑ wpa_pairwise=CCMP TKIP ➒
➊ ➋ ➌
➍ ➎ ➏ ➐
Ýíý òàëáàð íü õàíäàõ öýã áîëæ àæèëëàæ áóé óòàñã³é ñ³ëæýýíèé ò°õ°°ð°ìæèéã çààäàã. hostapd-í ã³éöýòãýæ áàéãàà ÿâöûã õàðóóëàëòûí ò³âøèíã çààäàã òàëáàð. 1 ãýñýí óòãà íü õàìãèéí áàãà ò³âøèíã çààæ áàéãàà áèëýý. ctrl_interface ãýñýí òàëáàð íü hostapd-ä õýðýãëýãääýã hostapd_cli(8) ò°ðëèéí ãàäíû ïðîãðàìóóäòàé õîëáîãäîõîä õýðýãëýãääýã äîìýéí ñîêåò àéëóóäûã õàäãàëàõ ñàíãèéí áàéðëàëûã çààæ °ãä°ã. Ýíä àíõäàã÷ óòãà íü õýðýãëýãäñýí áàéíà. ctrl_interface_group ãýñýí ì°ð°íä õÿíàëò õèéäýã ò°õ°°ð°ìæ ð³³ õàíäàæ áîëîõ á³ëãèéí íýð (ýíä wheel á³ëãèéã îðóóëñàí) áàéíà. Ýíý òàëáàðò ñ³ëæýýíèé íýðèéã îðóóëäàã. wpa òàëáàð íü WPA íóóöëàëûã ç°âø°°ðä°ã á°ã°°ä ÿìàð á³ðòãýë øààðäëàãàòàéã íü òîäîðõîéëæ °ãí°. 1 ãýñýí óòãà íü õàíäàõ öýãèéã WPA-PSK íóóöëàëààð òîõèðóóëäàã. wpa_passphrase òàëáàðò ASCII òýìäýãòýýð áè÷èãäñýí WPA íýâòðýõ ³éëäëèéí íóóö ³ã àãóóëàãääàã. Warning: Áîëæ °ãâ°ë óðò îëîí ³ñýãíýýñ á³òñýí òààõàä õÿëáàð áèø ÷àíãàâòàð íóóö ³ã ñîíãîõ õýðýãòýé.
887
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
ì°ð íü õýðýãëýæ áóé ò³ëõ³³ð ³ãíèé çîðèóëàëòàíä õàìààòàé. Ìàíàé òîõèîëäîëä ýíý íü WPA-PSK áàéíà. ➒ wpa_pairwise òàëáàð íü õàíäàõ öýãò òîõèðîìæòîé íóóö õóâèðãàëòóóäûã õàðóóëäàã. Ýíä TKIP (WPA) áà CCMP (WPA2) õóâèðãàã÷èä õî¼óëàà õ³ëýýí ç°âø°°ð°ãä°í°. CCMP õóâèðãàã÷ íü TKIP-í áàñ íýã õóâèëáàð á°ã°°ä áîëîìæòîé áîë ³³íèéã èë³³ä ³çýõ õýðýãòýé. TKIP õóâèðãàã÷èéã CCMP õóâèðãàã÷ õýðýãëýõ áîëîìæã³é ³åä ë ñîíãîõ íü ç³éòýé. Äàðààãèéí àëõàì íü hostapd-ã ýõë³³ëýõ: ➑
wpa_key_mgmt
# /etc/rc.d/hostapd forcestart # ifconfig ath0
ath0: flags=8843 mtu 2290 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 ether 00:11:95:c3:0d:ac media: IEEE 802.11 Wireless Ethernet autoselect mode 11g status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperio
Õàíäàõ öýã îäîî àæèëëàãààíä îðñîí á°ã°°ä õýðýãëýã÷èéí ç³ãýýñ õîëáîãäîõ òóõàé äýëãýðýíã³é ìýäýýëëèéã Section 31.3.3.1.3 õýñãýýñ õàðíà óó. Õàíäàõ öýãò õîëáîãäñîí ò°õ°°ð°ìæ³³äèéã ifconfig ath0 list sta ãýñýí òóøààëààð õàðæ áîëíî. 31.3.5.4 WEP íóóöëàë õýðýãëýæ õàíäàõ öýã áîëñîí ìàøèí
ßìàð ÷ íýâòðýõ ³éëäýë õýðýãëýäýãã³é ó÷ðààñ àìàðõàí äàéðàëòàä °ðòä°ãèéí óëìààñ WEP íóóöëàëûí õóâèðãóóðûã õýðýãëýõ íü òèéì ñàéøààëòàé áèø. Çàðèì õóäàëäààíä õýðýãëýãäýæ áóé óòàñã³é ñ³ëæýýíèé êàðòóóä íü ç°âõ°í WEP íóóöëàëûí á³ðòãýë õýðýãëýäýã áà èéì êàðòóóäûã õàíäàõ öýã áîëãîæ õýðýãëýõýýð áîë õýðýãëýã÷èéí òàíèõ ³éëäýë õèéõýýð òîõèðóóëàõ áîëîìæ áàéõã³é áàéõ áîëíî. Óòàñã³é ñ³ëæýýíèé ò°õ°°ð°ìæ òýãýõýýð îäîî hostap ãîðèìä àæèëëàæ áîëîõ á°ã°°ä øààðäëàãàòàé ç°â SSID äóãààð áîëîí IP õàÿãàà àâàõ øààðäëàãàòàé: # ifconfig ath0 ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g mediaopt hostap \ inet 192.168.0.1 netmask 255.255.255.0
ãýäýã íü äàìæóóëàëòàä WEP íóóöëàë õýðýãëýõèéã çààæ °ã÷ áàéíà. Ýíä áèä ãóðàâäóãààð ò³ëõ³³ðèéã (ò³ëõ³³ðèéí äóãààð íü 1 ãýñýí òîîãîîð ýõýëäýã) õýðýãëýñýí áàéíà. Ýíý ñîíãîëò íü äàìæóóëàãäàõ °ã°ãäëèéã õóâèðãàõàä õýðýãëýãääýã. • wepkey ãýäýã íü WEP ò³ëõ³³ðèéã ñîíãîñíûã çààæ áàéíà. Ýíý íü index:key ãýñýí õýëáýðòýé áàéäàã áà õýðýâ ýõíèé äóãààðëàëò íü çààãäààã³é áîë ò³ëõ³³ð íü 1 ãýæ ñóóãääàã. Òýãýõýýð õýðýâ ýõíèé ò³ëõ³³ðýýñ °°ð ò³ëõ³³ð õýðýãëýõ øààðäëàãàòàé áîë ýõíèé äóãààðëàëòûã íü çààæ °ã°õ øààðäëàãàòàé ãýñýí ³ã. Èíãýýä äàõèí ifconfig òóøààëûã àøèãëàæ ath0 ò°õ°°ð°ìæèéí ò°ë°â áàéäëûã øàëãàæ áîëíî:
• weptxkey
888
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä # ifconfig ath0
ath0: flags=8843 mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 ether 00:11:95:c3:0d:ac media: IEEE 802.11 Wireless Ethernet autoselect mode 11g status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpowmax 36 protmode CTS dtimperiod 1 bintva
°ð óòàñã³é õîëáîãääîã ìàøèíààñ õàíäàõ öýãèéã õàéæ øàëãàæ áîëäîã: # ifconfig ath0 up scan
SSID freebsdap
BSSID 00:11:95:c3:0d:ac
CHAN RATE S:N 1 54M 22:1
INT CAPS 100 EPS
Õýðýãëýã÷èéí ìàøèíààñ õàíäàõ öýãèéã îëîîä ç°â òîõèðãîîã íü çààæ °ã°í (äóãààð ò³ëõ³³ð ãýõ ìýò) õîëáîãäîõ òóõàé äýëãýðýíã³é çààâðûã Section 31.3.3.1.4 õýñãýýñ õàðíà óó. 31.3.6
Àëäààã îëæ çàñâàðëàõ
Õýðýâ òà óòàñã³é ñ³ëæýýíäýý àñóóäàëòàé áàéãàà áîë àñóóäëûã îëæ çàñâàðëàõàä òóñëàõ õýä õýäýí àëõìóóä áàéäàã. •
•
•
•
Õàéëò õèéæ áàéõäàà òà õàíäàëòûí öýãèéã îëæ õàðàõã³é áàéãàà áîë òà °°ðèéí óòàñã³é ò°õ°°ð°ìæ°° òîäîðõîé õýäýí ñóâãóóä äýýð õÿçãààðëàæ òîõèðóóëààã³é ýñýõýý øàëãààðàé. Õýðýâ òà õàíäàëòûí öýãò õîëáîãäîæ ÷àäàõã³é áàéãàà áîë òàíû ñòàíöûí òîõèðãîî õàíäàëòûí öýãèéí àëü íýãòýé òîõèð÷ áàéãàà ýñýõèéã øàëãààðàé. ³íä íýâòðýëò òàíèëòûí ñõåì áîëîí àþóëã³é áàéäëûí ïðîòîêîëóóä õàìààðíà. °ðèéí òîõèðãîîãîî àëü áîëîõ õÿëáàðøóóëàõ õýðýãòýé. Õýðýâ òà WPA ýñâýë WEP çýðýã àþóëã³é áàéäëûí ïðîòîêîëûã àøèãëàæ áàéãàà áîë õàíäàëòûí öýãèéã íýýëòòýé íýâòðýëò òàíèëòàä çîðèóëæ ÿìàð íýãýí àþóëã³é áàéäëûí õàìãààëàëòã³é òîõèðóóëæ óðñãàë äàìæèæ áàéãàà ýñýõèéã ³çýõ õýðýãòýé. Õàíäàëòûí öýãò õîëáîãäñîíûõîî äàðàà ping(8) çýðýã õÿëáàð õýðýãñë³³äèéã àøèãëààä ÿìàð ÷ àþóëã³é áàéäëûí òîõèðãîîã îíîøèëæ áîëíî. wpa_supplicant íü èë³³ äèáàã õèéõ äýìæëýãòýé áàéäàã; ³³íèéã -dd ñîíãîëòòîé ãàðààð àæèëëóóëæ ñèñòåìèéí á³ðòãýë³³äèéã øàëãàõ õýðýãòýé. Ì°í îëîí äîîä ò³âøíèé äèáàã õèéõ õýðýãñë³³ä áàñ áàéäàã. Òà 802.11 ïðîòîêîëûí äýìæëýã äàâõàðãàä äèáàã ìýäýãäë³³äèéã /usr/src/tools/tools/net80211 äàõü wlandebug ïðîãðàìûã àøèãëàí èäýâõæ³³ëæ áîëíî. Æèøýý íü: # wlandebug -i ath0 +scan+auth+debug+assoc
net.wlan.0.debug: 0 => 0xc80000
òóøààë íü õàíäàëòûí öýã³³äèéã õàéõ áîëîí õîëáîîã çîõèîí áàéãóóëàõ 802.11 ïðîòîêîëûí ìýäýýëýë ñîëèëöîîíóóäûã õèéõòýé õîëáîîòîé êîíñîëûí ìýäýãäë³³äèéã èäýâõæ³³ëýõýä àøèãëàãäàæ áîëîõ þì. 802.11 äàâõàðãûí àð÷èëæ áàéäàã îëîí àøèãòàé ñòàòèñòèêóóä áàñ áàéäàã; ýäãýýð ìýäýýëë³³äèéã wlanstats õýðýãñýë õàðóóëàõ áîëíî. Ýäãýýð ñòàòèñòèêóóä íü 802.11 äàâõàðãààð òàíèãäñàí á³õ àëäààíóóäûã òàíèõ ¼ñòîé. ýõäýý 802.11 äàâõàðãààñ äîîø îðøèõ ò°õ°°ð°ìæèéí äðàéâåðóóä äýýð 889
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
òàíèãäñàí çàðèì àëäààíóóä íü õàðóóëàãäàõã³é áàéæ áîëîõûã ñàíààðàé. Ò°õ°°ð°ìæòýé õîëáîîòîé àñóóäëóóäûã îíîøëîõûí òóëä òà äðàéâåðèéí áàðèìòààñ ëàâëàõ õýðýãòýé þì. Õýðýâ äýýðõ ìýäýýëýë àñóóäëûã òîäðóóëàõàä òàíü òóñëàõã³é áàéãàà áîë äýýðõ õýðýãñë³³äýýñ ãàðñàí ãàðàëòûã îðóóëæ àñóóäëûíõàà òàéëàíã èëãýýãýýðýé. 31.4 Bluetooth
Áè÷ñýí Ïàâ Ëóêèñòíèê. 31.4.1
Òàíèëöóóëãà
Bluetooth íü 10 ìåòðèéí äîòîð 2.4 GHz äàâòàìæèéí ëèöåíçæ³³ëýýã³é çóðâàñò àæèëëàõ õóâèéí ñ³ëæýýí³³ä ³³ñãýõýä çîðèóëàãäñàí óòàñã³é òåõíîëîãè þì. ѳëæýýí³³ä íü ³³ðýí óòàñ, ãàðûí öàõèì æèæèã õýðýãñë³³ä, áîëîí ç°°âðèéí êîìïüþòåðóóä çýðýã ç°°âðèéí ò°õ°°ð°ìæ³³äýýñ ad-hoc èõýâ÷ëýí á³ðä³³ëäýã. Áóñàä ò³ãýýìýë óòàñã³é òåõíîëîãèóäààñ ÿëãààòàé òàë íü Wi-Fi, Bluetooth íü èë³³ °íä°ð ò³âøíèé ³éë÷èëãýýíèé õóâèéí òîõèðãîîíóóäûã ñàíàë áîëãîäîã, °°ð°°ð õýëáýë FTP-òýé àäèë àéëûí ñåðâåð³³ä, àéë ò³ëõýõ, äóó äàìæóóëàëò, öóâàà øóãàìûí ýìóëÿö çýðýã îëíûã äóðäàæ áîëíî.
FreeBSD äýõ Bluetooth ñòåê íü Netgraph òîãòîëöîîã àøèãëàí õèéãäñýí áàéäàã (netgraph(4)-ã ³çíý ³³). Îëîí ò°ðëèéí Bluetooth USB õàìãààëàõ ò°õ°°ð°ìæ³³ä (dongle) ng_ubt(4) äðàéâåðààð äýìæèãäñýí áàéäàã. Broadcom BCM2033 áè÷èë ñõåì äýýð ñóóðèëñàí Bluetooth ò°õ°°ð°ìæ³³ä íü ubtbcmfw(4) áîëîí ng_ubt(4) äðàéâåðóóäààð äýìæèãäñýí áàéäàã. 3Com Bluetooth PC Êàðò 3CRWB60-A íü ng_bt3c(4) äðàéâåðààð äýìæèãäñýí áàéäàã. Öóâàà áîëîí UART äýýð ñóóðèëñàí Bluetooth ò°õ°°ð°ìæ³³ä íü sio(4), ng_h4(4) áîëîí hcseriald(8) äðàéâåðóóäààð äýìæèãäñýí. Ýíý õýñýã íü USB Bluetooth dongle-èéí õýðýãëýýã òàéëáàðëàõ áîëíî.
31.4.2
Ò°õ°°ð°ìæèä çàëãàõ íü
Àíõäàã÷ààð Bluetooth ò°õ°°ð°ìæèéí äðàéâåðóóä íü ö°ìèéí ìîäóëü õýëáýðýýð áàéäàã. Ò°õ°°ð°ìæèéã çàëãàõààñàà °ìí° òà äðàéâåðèéã ö°ìä äóóäàæ à÷ààëàõ õýðýãòýé áîëíî: # kldload ng_ubt
Õýðýâ Bluetooth ò°õ°°ð°ìæ ñèñòåìèéã ýõë³³ëýõ ÿâöàä ñèñòåìä áàéõ þì áîë /boot/loader.conf àéëààñ ìîäóëèéã äóóäíà: ng_ubt_load="YES"
°ðèéí USB dongle-èéã çàëãà. Êîíñîë (ýñâýë syslog) äýýð äîîð äóðäñàíòàé ò°ñòýé ãàðàëò ãàð÷ èðýõ áîëíî: ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, wMaxPacketSize=49, nframes=6, buffer size=294
890
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
ñêðèïò íü Bluetooth ñòåêèéã ýõë³³ëýõ áîëîí çîãñîîõîä õýðýãëýãääýã. Ò°õ°°ð°ìæèéã ñàëãàõààñàà °ìí° ñòåêèéã çîãñîîõ íü ç°â áàéäàã, ãýõäýý ýíý íü (èõýâ÷ëýí) ñ³éðëèéí áèø áàéäàã. Ñòåêèéã ýõë³³ëæ áàéõàä äîîð äóðäñàíòàé ò°ñòýé ãàðàëòûã òà õ³ëýýí àâàõ áîëíî: /etc/rc.d/bluetooth
# /etc/rc.d/bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a Features: 0xff 0xff 0xf 00 00 00 00 00 <3-Slot> <5-Slot> <Encryption> <Slot offset> <Timing accuracy> <Switch> <Sniff mode> <Park mode> <SCO link> <Paging scheme> Max. ACL packet size: 192 bytes Number of ACL packets: 8 Max. SCO packet size: 64 bytes Number of SCO packets: 8
31.4.3 Host Controller Interface (HCI)
áóþó Õîñòûí Õÿíàã÷èéí Èíòåðýéñ
Host Controller Interface (HCI) áóþó Õîñòûí Õÿíàã÷èéí Èíòåðýéñ íü ³íäñýí çóðâàñûí õÿíàã÷ áîëîí õîëáîëòûí ìåíåæåðò òóøààëûí èíòåðýéñèéã, òîíîã ò°õ°°ð°ìæèéí ò°ë°â áîëîí õÿíàëòûí ðåãèñòð³³äýä õàíäàëòûã °ãä°ã áàéíà. Ýíý èíòåðýéñ íü Bluetooth-èéí ³íäñýí çóðâàñûí áîëîìæóóäàä õàíäàõ íýãýí õýâèéí àðãûã îëãîäîã. Õîñò äýýðõ HCI äàâõàðãà íü °ã°ãä°ë áîëîí òóøààëóóäûã Bluetooth òîíîã ò°õ°°ð°ìæ äýýðõ HCI firmware-òýé ñîëèëöäîã. Õîñòûí Õÿíàã÷èéí Òýýâðèéí Äàâõàðãûí (°°ð°°ð õýëáýë èçèê øóãàì) äðàéâåð íü HCI äàâõàðãóóäàä íýã íü í°ã°°ä°° ìýäýýëýë ñîëèëöîõ áîëîìæîîð õàíãàæ °ãä°ã. hci ò°ðëèéí ãàíö Netgraph öýã ãàíö Bluetooth ò°õ°°ð°ìæèéí õóâüä ³³ñäýã. HCI öýã íü Bluetooth ò°õ°°ð°ìæèéí äðàéâåðèéí öýãò (äîîø) áîëîí L2CAP öýãò (äýýø) èõýâ÷ëýí õîëáîãääîã. Á³õ HCI ³éëäë³³ä íü ò°õ°°ð°ìæèéí äðàéâåðèéí öýã äýýð áèø HCI öýã äýýð õèéãäýõ ¼ñòîé. HCI öýãèéí àíõäàã÷ íýð íü “devicehci” þì. Èë³³ äýëãýðýíã³é ìýäýýëëèéã ng_hci(4) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. Õàìãèéí íèéòëýã àæëóóäûí íýã íü RF-èéí îéð Bluetooth ò°õ°°ð°ìæ³³äèéã îëîõ ÿâäàë þì. Ýíý ³éëäëèéã inquiry áóþó ëàâëàãàà ãýäýã. Ëàâëàãàà áîëîí áóñàä HCI-òýé õîëáîîòîé ³éëäë³³ä íü hccontrol(8) õýðýãñëýýð õèéãääýã. Äîîðõ æèøýý íü îéð îð÷èì ÿìàð Bluetooth ò°õ°°ð°ìæ³³ä áàéãààã õýðõýí îëîõûã õàðóóëæ áàéíà. Òà ò°õ°°ð°ìæ³³äèéí æàãñààëòûã õýäõýí ñåêóíäýä àâàõ ¼ñòîé. Àëñûí ò°õ°°ð°ìæ íü èëð³³ëýãäýõ ãîðèìä áàéãàà òîõèîëäîëä ëàâëàãààíä ç°âõ°í õàðèóëàõ áîëíî ãýäãèéã ñàíààðàé. % hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1 Inquiry result #0 BD_ADDR: 00:80:37:29:19:a4 Page Scan Rep. Mode: 0x1 Page Scan Period Mode: 00 Page Scan Mode: 00 Class: 52:02:04 Clock offset: 0x78ef Inquiry complete. Status: No error [00]
891
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä BD_ADDR íü Bluetooth ò°õ°°ð°ìæèéí ñ³ëæýýíèé êàðòàíä áàéäàã MAC õàÿãóóä øèã äàâòàãäàøã³é õàÿã þì. Ýíý õàÿã íü ò°õ°°ð°ìæòýé õîëáîãäîõîä öààøèä õýðýã áîëäîã. BD_ADDR-ò õ³í óíøèæ áîëîõîîð íýð °ã°õ áîëîìæòîé áàéäàã. /etc/bluetooth/hosts àéë íü ìýäýãäýæ áàéãàà Bluetooth õîñòóóäûí òóõàé ìýäýýëëèéã àãóóëäàã. Äàðààõ æèøýý íü àëñûí ò°õ°°ð°ìæèä °ãñ°í õ³í óíøèæ áîëîõîîð íýðèéã õýðõýí àâ÷ áîëîõû㠳糳ëæ áàéíà: % hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4 Name: Pav’s T39
Õýðýâ òà ëàâëàãààã àëñûí Bluetooth ò°õ°°ð°ìæ äýýð õèéõ þì áîë ýíý íü òàíû êîìïüþòåðèéã “your.host.name (ubt0)” õýëáýðýýð îëîõ áîëíî. Ëîêàë ò°õ°°ð°ìæèä °ãñ°í íýðèéã ÿìàð ÷ ³åä °°ð÷èëæ áîëíî. Bluetooth ñèñòåì íü öýãýýñ-öýãò-õ³ðýõ (point-to-point) ýñâýë öýãýýñ-îëîí-öýãò-õ³ðýõ (point-to-multipoint) õîëáîëòûí áîëîìæèéã îëãîäîã. Öýãýýñ-îëîí-öýãò-õ³ðýõ (point-to-multipoint) õîëáîëòîä õîëáîëò íü õýä õýäýí Bluetooth ò°õ°°ð°ìæ³³äèéí õîîðîíä õóâààëöàí õýðýãëýãääýã. Äàðààõ æèøýý íü ëîêàë ò°õ°°ð°ìæèéí õóâüä èäýâõòýé ³íäñýí çóðâàñûí õîëáîëòóóäûí æàãñààëòûã õýðõýí àâàõû㠳糳ëæ áàéíà: % hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State 00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN
connection handle áóþó õîëáîëòûí ãàð íü ³íäñýí çóðâàñûí õîëáîëòûã äóóñãàõ øààðäëàãàòàé ³åä àøèãòàé áàéäàã. ³íèéã ãàðààð õèéõèéã åð°íõèéä°° øààðääàãã³éã ñàíààðàé. Ñòåê íü èäýâõã³é áàéãàà ³íäñýí çóðâàñûí õîëáîëòóóäûã àâòîìàòààð äóóñãàõ áîëíî. # hccontrol -n ubt0hci disconnect 41
Connection handle: 41 Reason: Connection terminated by local host [0x16]
HCI òóøààëóóäûí á³ðýí æàãñààëûã hccontrol help ãýæ ëàâëàíà óó. HCI òóøààëóóäûí èõýíõ íü ñóïåð õýðýãëýã÷èéí ç°âø°°ðë³³äèéã øààðääàãã³é.
31.4.4 Logical Link Control and Adaptation Protocol (L2CAP)
Õîëáîëòûí Õÿíàëò áà Òààðóóëàõ Ïðîòîêîë
áóþó Ëîãèê
Ëîãèê Õîëáîëòûí Õÿíàëò áà Òààðóóëàõ Ïðîòîêîë (L2CAP) íü õîëáîëò äýýð òóëãóóðëàñàí áîëîí õîëáîëòã³é (connection-oriented and connectionless) °ã°ãäëèéí ³éë÷èëãýýí³³äèéã ïðîòîêîë îëîí õóâààãäàõ (multiplex) ÷àäâàð áîëîí ñåãìåíò áîëãîæ äàõèí öóãëóóëàõ ³éëäýëòýé öóã äýýä ò³âøíèé ïðîòîêîëóóäàä õàíãàæ °ãä°ã. L2CAP íü óðòààðàà 64 êèëîáàéò õ³ðòýë õýìæýýíèé L2CAP ïàêåòóóäûã äàìæóóëæ õ³ëýýí àâàõûã °íä°ð ò³âøíèé ïðîòîêîëóóä áîëîí ïðîãðàìóóäàä ç°âø°°ðä°ã. L2CAP íü ñóâãóóä ãýñýí îéëãîëò äýýð òóëãóóðëàäàã. Ñóâàã íü ³íäñýí çóðâàñûí õîëáîëò äýýðõ ëîãèê õîëáîëò þì. Ñóâàã á³ð ãàíö ïðîòîêîëä îëíîîñ íýã óðóó ÷èãëýñýí çàãâàðààð óÿãäñàí áàéäàã. Îëîí ñóâãóóä íýã ïðîòîêîëä óÿãäàæ áîëäîã áîëîâ÷ íýã ñóâãèéã îëîí ïðîòîêîëä óÿæ áîëäîãã³é. Ñóâàã äýýð õ³ëýýí àâñàí L2CAP ïàêåò á³ð çîõèõ äýýä ò³âøíèé ïðîòîêîë óðóó ÷èãë³³ëýãääýã. Îëîí ñóâãóóä íü íýã ³íäñýí çóðâàñûí õîëáîëòûã õóâààëöàæ áîëíî.
892
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä l2cap ò°ðëèéí ãàíö Netgraph öýã ãàíö Bluetooth ò°õ°°ð°ìæèéí õóâüä ³³ñãýãääýã. L2CAP öýã íü Bluetooth HCI öýã (äîîø) áîëîí Bluetooth ñîêåòóóäàä (äýýø) èõýâ÷ëýí õîëáîãääîã. Èë³³ äýëãýðýíã³é ìýäýýëëèéã ng_l2cap(4) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó.
Àøèãòàé òóøààë áîë áóñàä õýðýãñë³³ä óðóó ping õèéõýä õýðýãëýãääýã l2ping(8) òóøààë þì. Çàðèì íýã Bluetooth øèéäë³³ä íü òýäýí óðóó èëãýýñýí á³õ °ã°ãäëèéã áóöààõã³é áàéæ áîëîõ ó÷ðààñ äàðààõ æèøýýí äýýðõ 0 bytes ãýäýã íü õýâèéí þì. # l2ping -a 00:80:37:29:19:a4
0 0 0 0
bytes bytes bytes bytes
from from from from
0:80:37:29:19:a4 0:80:37:29:19:a4 0:80:37:29:19:a4 0:80:37:29:19:a4
seq_no=0 seq_no=1 seq_no=2 seq_no=3
time=48.633 time=37.551 time=28.324 time=46.150
ms ms ms ms
result=0 result=0 result=0 result=0
l2control(8) õýðýãñýë íü L2CAP öýã³³ä äýýð ò°ð°ë á³ðèéí ³éëäë³³äèéã õèéäýã. Ýíý æèøýý íü ëîãèê õîëáîëòóóäûí (ñóâãóóä) æàãñààëò áîëîí ëîêàë ò°õ°°ð°ìæèéí õóâüä ³íäñýí çóðâàñûí æàãñààëòûã õýðõýí àâàõû㠳糳ëæ áàéíà: % l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels: Remote BD_ADDR 00:07:e0:00:0b:ca
SCID/ DCID 66/ 64
PSM 3
IMTU/ OMTU State 132/ 672 OPEN
% l2control -a 00:02:72:00:d4:1a read_connection_list
L2CAP connections: Remote BD_ADDR Handle Flags Pending State 00:07:e0:00:0b:ca 41 O 0 OPEN
°ð íýã îíîøëîãîîíû õýðýãñýë áîë btsockstat(1) þì. Ýíý íü netstat(1)-èéí õèéäýãòýé ò°ñòýéã õèéäýã, ãýõäýý ç°âõ°í Bluetooth ñ³ëæýýòýé õîëáîîòîé °ã°ãäëèéí á³òö³³äèéí õóâüä õèéäýã. Äîîðõ æèøýý íü äýýðõ l2control(8)-èéí íýãýí àäèë ëîãèê õîëáîëòûã õàðóóëæ áàéíà. % btsockstat
Active L2CAP sockets PCB Recv-Q Send-Q c2afe900 0 0 Active RFCOMM sessions L2PCB PCB Flag c2afe900 c2b53380 1 Active RFCOMM sockets PCB Recv-Q Send-Q c2e8bc80 0 250
31.4.5 RFCOMM
Local address/PSM 00:02:72:00:d4:1a/3 MTU 127
Foreign address CID 00:07:e0:00:0b:ca 66
State OPEN
Out-Q DLCs State 0 Yes OPEN
Local address Foreign address Chan DLCI State 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN
Ïðîòîêîë
RFCOMM ïðîòîêîë íü L2CAP ïðîòîêîëûí äýýã³³ð öóâàà ïîðòóóäûã ýìóëÿö õèéõ áîëîìæèéã õàíãàäàã. Ýíý ïðîòîêîë íü ETSI ñòàíäàðò TS 07.10 äýýð ñóóðèëñàí þì. RFCOMM íü RS-232 (EIATIA-232-E) öóâàà ïîðòóóäûí 9 çàìûã ýìóëÿö õèéõ íýìýëò áýëòãýë á³õèé åðäèéí òýýâýðëýõ ïðîòîêîë þì. RFCOMM ïðîòîêîë íü õî¼ð Bluetooth ò°õ°°ð°ìæèéí õîîðîíä 60 õ³ðòýëõ çýðýã õîëáîëòóóäûã (RFCOMM ñóâãóóä) äýìæäýã.
893
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä RFCOMM-èéí õóâüä °°ð °°ð ò°õ°°ð°ìæ³³ä (õîëáîîíû ò°ãñã°ëèéí öýã³³ä) äýýð àæèëëàæ áàéãàà õî¼ð ïðîãðàì áîëîí òýäãýýðèéí õîîðîíäûí õîëáîîíû ñåãìåíò õîëáîîíû á³ðýí çàìä îðäîã. RFCOMM íü ò°õ°°ð°ìæ³³ä äýýð áàéãàà öóâàà ïîðòóóäûã àøèãëàäàã ïðîãðàìóóäàä çîðèóëàãäñàí þì. Õîëáîîíû ñåãìåíò íü íýã ò°õ°°ð°ìæ°°ñ í°ã°° óðóó õîëáîãäñîí (øóóä õîëáîëò) Bluetooth õîëáîîñ þì. RFCOMM íü øóóä õîëáîëòûí ³åä ò°õ°°ð°ìæ³³äèéí õîîðîíäîõ õîëáîëò ýñâýë ñ³ëæýýíèé õóâüä ò°õ°°ð°ìæ áîëîí ìîäåìèéí õîîðîíäîõ õîëáîëòîä ç°âõ°í ñàíàà òàâüäàã. RFCOMM íü íýã òàëäàà Bluetooth óòàñã³é òåõíîëîãèéã àøèãëàæ õîëáîãääîã á°ã°°ä í°ã°° òàëäàà óòàñòàé èíòåðýéñýýð õàíãàäàã ìîäóëèóä çýðýã áóñàä òîõèðãîîíóóäûã äýìæäýã. FreeBSD äýýð RFCOMM ïðîòîêîë íü Bluetooth ñîêåòóóäûí äàâõàðãàä õèéãääýã.
31.4.6
Ò°õ°°ð°ìæ³³äèéã õîñëîõ
Àíõäàã÷ààð Bluetooth õîëáîîíä íýâòðýëò òàíèëò õèéãääýãã³é á°ã°°ä ÿìàð ÷ ò°õ°°ð°ìæ ÿìàð ÷ ò°õ°°ð°ìæòýé ÿðèëöàæ ÷àääàã. Bluetooth ò°õ°°ð°ìæ (æèøýý íü ³³ðýí óòàñ) òóõàéí íýã ³éë÷èëãýýã (æèøýý íü Dial-Up ³éë÷èëãýý) õàíãàõûí òóëä íýâòðýëò òàíèëòûã øààðääàã áàéõààð áàéæ áîëíî. Bluetooth íýâòðýëò òàíèëò íü õýâèéí ³åä PIN êîäóóäààð õèéãääýã. Õî¼ð ò°õ°°ð°ìæèéí õóâüä õýðýãëýã÷ àäèë PIN êîäûã îðóóëàõ øààðäëàãàòàé. Õýðýãëýã÷ PIN êîä îðóóëñíû äàðàà õî¼ð ò°õ°°ð°ìæ õîëáîëòûí ò³ëõ³³ð ³³ñãýíý. Ò³³íèé äàðàà õîëáîëòûí ò³ëõ³³ð íü óã ò°õ°°ð°ìæ³³ä äýýðýý ýñâýë áàéíãûí õàäãàëàëòàä õàäãàëàãäàæ áîëíî. Äàðààãèéí óäàà õî¼ð ò°õ°°ð°ìæ íü óðüä íü ³³ñãýñýí õîëáîëòûí ò³ëõ³³ðýý àøèãëàõ áîëíî. Ýíý òàéëáàðëàñàí ïðîöåäóðûã pairing áóþó õîñëîõ ãýæ íýðëýäýã. ßìàð íýã ò°õ°°ð°ìæ õîëáîëòûí ò³ëõ³³ðèéã ãýýõ þì áîë õîñëîëòûã äàõèí õèéõ ¼ñòîé. hcsecd(8) äýìîí íü á³õ Bluetooth íýâòðýëò òàíèëòûí õ³ñýëò³³äòýé àæèëëàõ ³³ðýãòýé. Àíõäàã÷ òîõèðãîîíû àéë íü /etc/bluetooth/hcsecd.conf þì. Äóðûí “1234” ãýæ òîõèðóóëàãäñàí PIN êîäòîé ³³ðýí óòàñíû æèøýý õýñãèéã äîîð ³ç³³ëýâ: device { bdaddr name key pin }
00:80:37:29:19:a4; "Pav’s T39"; nokey; "1234";
PIN êîä äýýð õÿçãààðëàëò áàéäàãã³é (óðòààñ ãàäíà). Çàðèì ò°õ°°ð°ìæ³³äýä (æèøýý íü Bluetooth ÷èõýâ÷í³³ä) òîãòìîë PIN êîä öóã á³òýýãäñýí áàéæ áîëîõ þì. -d òîõèðóóëãà íü hcsecd(8) äýìîíã í³³ðýíä ³ëäýæ àæèëëàõûã çààäàã á°ã°°ä èíãýñíýýð þó áîëæ áàéãààã õàðàõ áîëîìæòîé þì. Õîñëîëûã õ³ëýýí àâ÷ àëñûí ò°õ°°ð°ìæ óðóó Bluetooth õîëáîëò ýõë³³ëýõýýð àëñûí ò°õ°°ð°ìæèéã òîõèðóóëíà. Àëñûí ò°õ°°ð°ìæ íü õîñëîë õèéëòèéã õ³ëýýí àâñàí ãýäãýý õýëæ PIN êîä õ³ñýõ ¼ñòîé. hcsecd.conf àéëä áàéãààòàé àäèë PIN êîä îðóóëààðàé. Îäîî òàíû PC áîëîí àëñûí ò°õ°°ð°ìæ õîñîëñîí áàéíà. °ð°°ð òà õîñëîë õèéëòèéã àëñûí ò°õ°°ð°ìæ äýýð ýõë³³ëæ áîëíî.
FreeBSD 5.5, 6.1 áîëîí ò³³íýýñ øèíý õóâèëáàðóóäàä hcsecd-ã ñèñòåì ýõëýõýä àâòîìàòààð ýõë³³ëýõèéí òóëä äàðààõ ì°ðèéã /etc/rc.conf àéëä íýìýí õèéæ áîëíî: hcsecd_enable="YES"
hcsecd äýìîíû ãàðàëòûí æèøýýã äîîð ³ç³³ëýâ:
hcsecd[16484]: Got Link_Key_Request event from ’ubt0hci’, remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name ’Pav’s T39’, link key do
894
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä hcsecd[16484]: hcsecd[16484]: hcsecd[16484]: hcsecd[16484]:
Sending Link_Key_Negative_Reply to ’ubt0hci’ for remote bdaddr 0:80:37:29:19:a4 Got PIN_Code_Request event from ’ubt0hci’, remote bdaddr 0:80:37:29:19:a4 Found matching entry, remote bdaddr 0:80:37:29:19:a4, name ’Pav’s T39’, PIN code ex Sending PIN_Code_Reply to ’ubt0hci’ for remote bdaddr 0:80:37:29:19:a4
31.4.7 Service Discovery Protocol (SDP)
áóþó éë÷èëãýý Èëð³³ëýõ Ïðîòîêîë
Service Discovery Protocol (SDP) áóþó éë÷èëãýý Èëð³³ëýõ Ïðîòîêîë íü ñåðâåð ïðîãðàìóóäûí ³ç³³ëäýã
³éë÷èëãýýí³³äèéí áàéãàà ýñýõ áîëîí òýäãýýð ³éë÷èëãýýí³³äèéí øèíæ ÷àíàðóóäûã èëð³³ëýõ áîëîìæèéã êëèåíò ïðîãðàìóóäàä îëãîäîã. éë÷èëãýýíèé øèíæ ÷àíàðóóä íü ñàíàë áîëãîñîí ³éë÷èëãýýíèé ò°ð°ë ýñâýë àíãèëàë áîëîí ³éë÷èëãýýã õýðýãëýõýä øààðäàãäàõ àðãà çàì þì óó ýñâýë ïðîòîêîëûí ìýäýýëëèéã àãóóëäàã. SDP-ä SDP ñåðâåð áîëîí SDP êëèåíòèéí õîîðîíäîõ õîëáîî îðäîã. Ñåðâåð íü ñåðâåðòýé õîëáîîòîé ³éë÷èëãýýí³³äèéí øèíæ ÷àíàðóóäûã òàéëáàðëàäàã ³éë÷èëãýýíèé áè÷ëýã³³äèéí æàãñààëòûã àð÷èëæ áàéäàã. éë÷èëãýýíèé áè÷ëýã á³ð ãàíö ³éë÷èëãýýíèé òàëààð ìýäýýëëèéã àãóóëäàã. SDP ñåðâåðèéí àð÷èëæ áàéäàã ³éë÷èëãýýíèé áè÷ëýãýýñ êëèåíò SDP õ³ñýëò èëãýýí ìýäýýëëèéã àâ÷ áîëíî. Õýðýâ êëèåíò ýñâýë êëèåíòòýé õîëáîîòîé ïðîãðàì íü ³éë÷èëãýýã àøèãëàõààð øèéäâýë ³éë÷èëãýýã õýðýãëýõèéí òóëä ³éë÷èëãýý ³ç³³ëýã÷ óðóó òóñäàà õîëáîëò íýýõ ¼ñòîé. SDP íü ³éë÷èëãýýí³³ä áîëîí òýäãýýðèéí øèíæ ÷àíàðóóäûã èëð³³ëýõ àðãà çàìààð õàíãàäàã áîëîâ÷ òýäãýýð ³éë÷èëãýýí³³äèéã õýðýãëýõ àðãà çàìóóäààð õàíãàäàãã³é þì. Õýâèéí ³åä SDP êëèåíò íü ³éë÷èëãýýí³³äèéí çàðèì õ³ññýí îíöãîé øèíæ³³ä äýýð òóëãóóðëàí ³éë÷èëãýýí³³äèéã õàéäàã. ýõäýý ³éë÷èëãýýí³³äèéí òàëààð óðüä íü ÿìàð ÷ ìýäýýëýë áàéõã³é áàéõàä SDP ñåðâåðèéí ³éë÷èëãýýíèé áè÷ëýã³³äýýð òàéëáàðëàãäñàí ³éë÷èëãýýí³³äèéí ÿìàð ò°ðë³³ä áàéãààã îëîõûã õ³ñýõ ³å³³ä áàéäàã. Ñàíàë áîëãîñîí äóðûí ³éë÷èëãýýí³³äèéã õàéõ ïðîöåññ íü browsing áóþó ³çýõ ãýãääýã. Bluetooth SDP ñåðâåð sdpd(8) áîëîí òóøààëûí ì°ðèéí êëèåíò sdpcontrol(8) íü ñòàíäàðò FreeBSD ñóóëãàöàä îðñîí áàéäàã. Äàðààõ æèøýý íü SDP ³çýõ õ³ñýëòèéã õýðõýí õèéæ áàéãàà õàðóóëæ áàéíà. % sdpcontrol -a 00:01:03:fc:6e:ec browse
Record Handle: 00000000 Service Class ID List: Service Discovery Server (0x1000) Protocol Descriptor List: L2CAP (0x0100) Protocol specific parameter #1: u/int/uuid16 1 Protocol specific parameter #2: u/int/uuid16 1 Record Handle: 0x00000001 Service Class ID List: Browse Group Descriptor (0x1001) Record Handle: 0x00000002 Service Class ID List: LAN Access Using PPP (0x1102) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 1
895
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä Bluetooth Profile Descriptor List: LAN Access Using PPP (0x1102) ver. 1.0
... ãýõ ìýò áàéíà. éë÷èëãýý áîëãîí øèíæ ÷àíàðóóäòàé áàéãààã àíõààðààðàé (æèøýý íü RFCOMM ñóâàã). éë÷èëãýýíýýñ õàìààðààä òà çàðèì íýã øèíæ ÷àíàðóóäûí òàëààð òýìäýãëýãýý õèéæ àâàõ õýðýãòýé áîëæ áîëîõ þì. Çàðèì Bluetooth øèéäë³³ä íü ³éë÷èëãýý ³çýõ áîëîìæèéã äýìæäýãã³é á°ã°°ä õîîñîí æàãñààëò áóöààæ áîëîõ þì. Ýíý òîõèîëäîëä òîäîðõîé ³éë÷èëãýýã õàéõ áîëîìæòîé áàéäàã. Äîîðõ æèøýý íü OBEX-èéí Îáüåêò Ò³ëõýõ (OPUSH) ³éë÷èëãýýã õýðõýí õàéõû㠳糳ëæ áàéíà: % sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH
FreeBSD äýýð Bluetooth êëèåíò³³äýä ³éë÷èëãýýí³³äèéã ñàíàë áîëîõäîî sdpd(8) ñåðâåðèéí òóñëàìæòàéãààð õèéäýã. FreeBSD 5.5, 6.1 áîëîí ò³³íýýñ äýýø õóâèëáàðóóä äýýð /etc/rc.conf àéëä äàðààõ ì°ðèéã íýìæ áîëíî: sdpd_enable="YES"
Äàðàà íü sdpd äýìîíã èíãýæ ýõë³³ëæ áîëíî: # /etc/rc.d/sdpd start
Àëñûí êëèåíò³³äýä Bluetooth ³éë÷èëãýý㠳糳ëýõèéã õ³ññýí ëîêàë ñåðâåðèéí ïðîãðàì íü ³éë÷èëãýýã SDP äýìîíä á³ðòãýõ áîëíî. Èéì ïðîãðàìóóäûí íýã íü rfcomm_pppd(8) þì. Ýõýëñíèéõýý äàðàà ýíý íü Bluetooth LAN ³éë÷èëãýýã ëîêàë SDP äýìîíä á³ðòãýõ áîëíî. Ëîêàë SDP ñåðâåðò á³ðòãýñýí ³éë÷èëãýýí³³äèéí æàãñààëòûã ëîêàë õÿíàëòûí ñóâãààð SDP-èéí ³çýõ õ³ñýëòèéã èëãýýí àâ÷ áîëíî: # sdpcontrol -l browse
31.4.8 Dial-Up
òîõèðãîîíóóä
ñ³ëæýý (DUN) áà PPP àøèãëàõ ѳëæýýíèé Õàíäàëò (LAN) õóâèéí
Dial-Up ñ³ëæýý (DUN) õóâèéí òîõèðãîî íü ìîäåìóóä áîëîí ³³ðýí óòàñíóóäòàé èõýâ÷ëýí àøèãëàãääàã. Ýíý õóâèéí òîõèðãîîíä õàìààðàõ òîõèîëäëóóäûã äîîð äóðäàâ:
³³ðýí óòàñ ýñâýë ìîäåìèéã êîìïüþòåð äýýðýý Èíòåðíýòèéí õàíäàëòûí ñåðâåð óðóó çàëãàæ õîëáîãäîõ þì óó ýñâýë áóñàä dial-up ³éë÷èëãýýí³³äýä õýðýãëýõýýð óòàñã³é ìîäåì ìàÿãààð àøèãëàõ; • ³³ðýí óòàñ ýñâýë ìîäåìèéã êîìïüþòåð äýýðýý °ã°ãäëèéí äóóäëàãóóäûã õ³ëýýí àâàõàä àøèãëàõ. PPP àøèãëàõ ѳëæýýíèé Õàíäàëò (LAN) õóâèéí òîõèðãîî äàðààõ òîõèîëäëóóäàä àøèãëàãäàæ áîëíî: •
àíö Bluetooth ò°õ°°ð°ìæèä çîðèóëñàí LAN õàíäàëò; • Îëîí Bluetooth ò°õ°°ð°ìæèä çîðèóëñàí LAN õàíäàëò; • PC-ýýñ PC óðóó (öóâàà êàáåëèéí ýìóëÿöààð PPP ñ³ëæýý àøèãëàí). FreeBSD äýýð ýíý õî¼ð õóâèéí òîõèðãîî íü ppp(8) áîëîí rfcomm_pppd(8) ïðîãðàìóóäààð õèéãääýã. rfcomm_pppd(8) íü RFCOMM Bluetooth õîëáîëòûã PPP-èéí àæèëëàæ ÷àäàõ ÿìàð íýãýí ç³éë áîëãîæ õóâèðãàäàã ã³éöýòãýë õÿëáàðøóóëàã÷ þì. Àëü ÷ õóâèéí òîõèðãîîã àøèãëàõààñàà °ìí° •
896
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
àéëä øèíý PPP õàÿã ³³ñãýãäñýí áàéõ ¼ñòîé. Æèøýýí³³äèéí òàëààð rfcomm_pppd(8) ãàðûí àâëàãààñ ëàâëàíà óó. /etc/ppp/ppp.conf
Äàðààõ æèøýýí äýýð rfcomm_pppd(8) íü DUN RFCOMM ñóâàã äýýð BD_ADDR 00:80:37:29:19:a4 õàÿãòàé àëñûí ò°õ°°ð°ìæ óðóó RFCOMM õîëáîëò õèéõýä àøèãëàãäàõ áîëíî. RFCOMM ñóâãèéí äóãààðûã àëñûí ò°õ°°ð°ìæ°°ñ SDP-ýýð àâàõ áîëíî. RFCOMM ñóâãèéã ãàðààð çààæ °ã°õ áîëîìæòîé á°ã°°ä ýíý òîõèîëäîëä rfcomm_pppd(8) íü SDP õ³ñýëò õèéõã³é áàéõ áîëíî. Àëñûí ò°õ°°ð°ìæ äýýð RFCOMM ñóâãèéã îëîõûí òóëä sdpcontrol(8)-ã àøèãëààðàé. # rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup
PPP àøèãëàõ ѳëæýýíèé Õàíäàëòûí (LAN) ³éë÷èëãýýã õàíãàõûí òóëä sdpd(8) ñåðâåð àæèëëàæ áàéõ ¼ñòîé. LAN êëèåíò³³äýä çîðèóëñàí øèíý îðóóëãóóä /etc/ppp/ppp.conf àéëä ³³ñãýãäñýí áàéõ ¼ñòîé. Æèøýýí³³äèéí òàëààð rfcomm_pppd(8) ãàðûí àâëàãûí õóóäàñíààñ ëàâëàíà óó. Ò°ãñã°ëä íü RFCOMM PPP ñåðâåðèéã ç°â RFCOMM ñóâãèéí äóãààð äýýð ýõë³³ëíý. RFCOMM PPP ñåðâåð íü Bluetooth LAN ³éë÷èëãýýã ëîêàë SDP äýìîíä àâòîìàòààð á³ðòãýõ áîëíî. Äîîðõ æèøýý íü RFCOMM PPP ñåðâåðèéã õýðõýí ýõë³³ëýõèé㠳糳ëæ áàéíà. # rfcomm_pppd -s -C 7 -l rfcomm-server
31.4.9 OBEX Object Push (OPUSH)
áóþó OBEX Îáüåêò Ò³ëõýõ õóâèéí òîõèðãîî
OBEX íü õ°ä°ëã°°íò ò°õ°°ð°ìæ³³äèéí õîîðîíä ýíãèéí àéë äàìæóóëàëò õèéõýä çîðèóëàãäñàí °ðã°í àøèãëàãääàã ïðîòîêîë þì. ³íèé ãîë õýðýãëýý íü õýò ÿãààí òóÿàíû õîëáîî á°ã°°ä ç°°âðèéí êîìïüþòåðóóä ýñâýë PDA-óóäûí õîîðîíä åðäèéí àéë äàìæóóëàõàä, íýðèéí õóóäàñ ýñâýë öàãàëáàðûã ³³ðýí óòàñ áîëîí PIM ïðîãðàìóóäòàé áóñàä ò°õ°°ð°ìæ³³äèéí õîîðîíä èëãýýõýä õýðýãëýãääýã. OBEX ñåðâåð áîëîí êëèåíò íü ãóðàâäàã÷ òàëûí áàãö obexapp õýëáýðýýð õèéãäñýí áàéäàã á°ã°°ä ýíý íü comms/obexapp ïîðò õýëáýðýýð áàéäàã. OBEX êëèåíò íü OBEX ñåðâåðò îáüåêòóóäûã ò³ëõýæ îðóóëàõ áóþó/ýñâýë òàòàõàä õýðýãëýãääýã. Îáüåêò íü æèøýý íü íýðèéí õóóäàñ þì óó ýñâýë óóëçàëò áàéæ áîëíî. OBEX êëèåíò íü àëñûí ò°õ°°ð°ìæ°°ñ SDP-ýýð RFCOMM ñóâãèéí äóãààðûã àâ÷ áîëíî. RFCOMM ñóâãèéí äóãààðûí îðîíä ³éë÷èëãýýíèé íýðèéã çààæ ³³íèéã õèéæ áîëíî. Äýìæèãäñýí ³éë÷èëãýýíèé íýðñýä: IrMC, FTRN, áîëîí OPUSH îðäîã. RFCOMM ñóâãèéã äóãààð áîëãîí çààæ °ã°õ áîëîìæòîé áàéäàã. Ò°õ°°ð°ìæèéí ìýäýýëëèéí îáüåêòèéã ³³ðýí óòàñíààñ òàòàæ àâ÷ áàéãàà áîëîí øèíý îáüåêòèéã (íýðèéí õóóäàñ) óòàñíû ñàí óðóó õèéæ áàéãàà OBEX ñåññèéí æèøýýã äîîð ³ç³³ëýâ. % obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt devinfo-t39.txt Success, response: OK, Success (0x20) obex> put new.vcf Success, response: OK, Success (0x20) obex> di Success, response: OK, Success (0x20)
OBEX-èéí Îáüåêò Ò³ëõýõ ³éë÷èëãýýã õàíãàõûí òóëä sdpd(8) ñåðâåð àæèëëàæ áàéõ ¼ñòîé. Á³õ èðæ áàéãàà îáüåêòóóä õàäãàëàãäàõ root õàâòàñ ³³ñãýãäýõ ¼ñòîé. root ñàíãèéí àíõäàã÷ çàì íü /var/spool/obex áàéíà. Ò°ãñã°ëä íü OBEX ñåðâåðèéã ç°â RFCOMM ñóâãèéí äóãààð äýýð ýõë³³ëíý. OBEX ñåðâåð íü OBEX-èéí Îáüåêò Ò³ëõýõ ³éë÷èëãýýã ëîêàë SDP äýìîíä àâòîìàòààð á³ðòã³³ëýõ áîëíî. Äîîðõ æèøýý íü OBEX ñåðâåðèéã õýðõýí ýõë³³ëýõèéã õàðóóëæ áàéíà.
897
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä # obexapp -s -C 10
31.4.10 Serial Port Profile (SPP)
áóþó Öóâàà ïîðòûí õóâèéí òîõèðãîî
Serial Port Profile (SPP) áóþó Öóâàà ïîðòûí õóâèéí òîõèðãîî íü Bluetooth ò°õ°°ð°ìæ³³äýä RS232 (ýñâýë ò³³íòýé ò°ñòýé) öóâàà êàáåëèéí ýìóëÿö õèéõèéã ç°âø°°ðä°ã. Ýíý õóâèéí òîõèðãîîíä õàìààòàé òîõèîëäîë íü êàáåëèéí îðîíä âèðòóàë öóâàà ïîðòûí õèéñâýðëýëòèéí òóñëàìæòàé Bluetooth-èéã àøèãëàäàã õóó÷èí ïðîãðàìóóäòàé õàðüöäàã. rfcomm_sppd(1) õýðýãñýë íü öóâàà ïîðòûí õóâèéí òîõèðãîîã õèéäýã. Ïñåâäî tty íü âèðòóàë öóâàà ïîðòûí õèéñâýðëýëò áîëîí àøèãëàãääàã. Äîîðõ æèøýý íü àëñûí ò°õ°°ð°ìæèéí öóâàà ïîðòûí ³éë÷èëãýý óðóó õýðõýí õîëáîãäîõûã õàðóóëæ áàéíà. Òà RFCOMM ñóâãèéã çààõ øààðäëàãàã³éã ñàíààðàé - rfcomm_sppd(1) íü àëñûí ò°õ°°ð°ìæ°°ñ SDP-ýýð àâ÷ ÷àääàã. Õýðýâ òà ³³íèéã äàðæ °°ð÷ë°õèéã õ³ñâýë òóøààëûí ì°ð°íä RFCOMM ñóâãèéã çààæ °ã°õ õýðýãòýé. # rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...
Õîëáîãäñîíû äàðàà ïñåâäî tty íü öóâàà ïîðò øèã àøèãëàãäàæ áîëíî: # cu -l ttyp6
31.4.11
Àëäààã îëæ çàñâàðëàõ
31.4.11.1 Àëñûí ò°õ°°ð°ìæ õîëáîãäîæ ÷àäàõã³é áàéõ
Çàðèì íýã õóó÷èí Bluetooth ò°õ°°ð°ìæ³³ä íü ³³ðýã øèëæ³³ëýëòèéã äýìæäýãã³é. Àíõäàã÷ààð FreeBSD íü øèíý õîëáîëòûã õ³ëýýí àâàõäàà ³³ðãèéã °°ð÷èëæ ìàñòåð áîëîõûã îðîëääîã. ³íèéã äýìæäýãã³é ò°õ°°ð°ìæ³³ä íü õîëáîãäîæ ÷àääàãã³é. Øèíý õîëáîëò õèéãäýõýä ³³ðýã øèëæ³³ëýëò õèéãääýãèéã ñàíààðàé. Òèéì ó÷ðààñ àëñûí ò°õ°°ð°ìæ°°ñ ³³ðýã øèëæ³³ëýëòèéã äýìæäýã ýñýõèéã íü àñóóõ áîëîìæã³é þì. Ëîêàë òàë äýýðýý ³³ðýã øèëæ³³ëýëòèéã õààõ HCI òîõèðóóëãà áàéäàã: # hccontrol -n ubt0hci write_node_role_switch 0
31.4.11.2 ßìàð íýãýí þì áóðóó áîëîîä áàéíà, áè ÿã þó áîëîîä áàéãààã õàðæ áîëîõ óó?
Òèéìýý, òà õàðæ áîëíî. comms/hcidump ïîðò õýëáýðýýð áàéäàã ãóðàâäàã÷ òàëûí áàãö hcidump-ã àøèãëàíà. hcidump õýðýãñýë íü tcpdump(1)-òàé ò°ñòýé. Ýíý íü Bluetooth ïàêåòóóäûí àãóóëãûã òåðìèíàë äýýð õàðóóëæ Bluetooth ïàêåòóóäûã àéë óðóó ãàðãàõàä õýðýãëýãäýæ áîëíî.
898
31.5
³³ð
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Áè÷ñýí Ýíäðþ Òîìïñîí. 31.5.1
Òàíèëöóóëãà
Çàðèìäàà íýã èçèê ñ³ëæýýã (Ethernet ñåãìåíò çýðýã) IP äýä ñ³ëæýýí³³ä ³³ñãýæ ñåãìåíò³³äèéã õîîðîíä íü ÷èãë³³ëýã÷ýýð öóãò íü õîëáîæ àøèãëàëã³éãýýð õî¼ð òóñäàà ñ³ëæýýíèé ñåãìåíò áîëãîõ íü àøèãòàé áàéäàã. Èéì ìàÿãààð õî¼ð ñ³ëæýýã õîîðîíä íü õîëáîäîã ò°õ°°ð°ìæèéã “bridge” áóþó “ã³³ð” ãýäýã. Õî¼ð ñ³ëæýýíèé èíòåðýéñ êàðòòàé FreeBSD ñèñòåì ã³³ð ìàÿãààð àæèëëàæ ÷àääàã. ³³ð íü °°ðèéí ñ³ëæýýíèé èíòåðýéñ á³ðèéí ò°õ°°ð°ìæèéí MAC äàâõàðãûí õàÿãóóäûã (Ethernet õàÿãóóä) ñóð÷ àæèëëàäàã. Ò³³íèé ýõ áîëîí ò°ãñã°ë íü ç°âõ°í °°ð °°ð ñ³ëæýýíä áàéãàà òîõèîëäîëä õî¼ð ñ³ëæýýíèé õîîðîíä óðñãàëûã äàìæóóëäàã. Îëîí òàëààðàà ã³³ð íü ìàø ö°°í ïîðòòîé Ethernet øèëæ³³ëýã÷òýé àäèë þì. 31.5.2
³³ð õèéõýä òîõèðîõ òîõèîëäëóóä
í°°ä°ð ã³³ð àøèãëàãääàã îëîí íèéòëýã òîõèîëäîë áàéäàã. 31.5.2.1 ѳëæýýí³³äèéã õîëáîõ íü
³³ðíèé ³íäñýí ³éëäýë íü õî¼ð áóþó ò³³íýýñ îëîí ñ³ëæýýíèé ñåãìåíò³³äèéã õîîðîíä íü õîëáîõ ÿâäàë þì. Êàáåëèéí õÿçãààðëàëò, ãàëò õàíà õèéõ ýñâýë âèðòóàë ìàøèíû èíòåðýéñ çýðýã ïñåâäî ñ³ëæýýí³³äèéã õîëáîõ çýðýã ñ³ëæýýíèé ýíãèéí ò°õ°°ð°ìæèéí îðîíä õîñò äýýð òóëãóóðëàñàí ã³³ðèéã àøèãëàõ øàëòãààí îëîí áàéäàã. ³³ð íü áàñ hostap ãîðèìä àæèëëàæ áàéãàà óòàñã³é ñ³ëæýýíèé èíòåðýéñèéã óòàñòàé ñ³ëæýý ð³³ õîëáîæ õàíäàëòûí öýã ìàÿãààð àæèëëàõ ÷àäâàðòàé. 31.5.2.2 س³õ/óðñãàë õýëáýðæ³³ëýõ ãàëò õàíà
Íèéòëýã òîõèîëäîë áîë ÷èãë³³ëýëò þì óó ýñâýë ñ³ëæýýíèé õàÿãèéí õ°ðâ³³ëýëòã³é (NAT) ãàëò õàíûí àæèëëàãàà øààðäëàãàòàé òîõèîëäîë þì. ³íèé æèøýý íü DSL þì óó ýñâýë ISDN-ýýð ISP óðóóãàà õîëáîãäñîí æèæèã êîìïàíè þì. Òýä 13 øèðõýã ãàäíààñ õàíäàõ áîëîìæòîé IP õàÿãèéã °°ðñäèéí ISP-ýýñ àâäàã á°ã°°ä ñ³ëæýýíäýý 10 PC-òýé. Ýíý òîõèîëäîëä ÷èãë³³ëýã÷ äýýð òóëãóóðëàñàí ãàëò õàíà íü äýä ñ³ëæýýíèé àñóóäëóóäààñ áîëîîä ò°â°ãòýé áàéíà. ³³ð äýýð òóëãóóðëàñàí ãàëò õàíûã òîõèðóóëæ òýäíèé DSL/ISDN ÷èãë³³ëýã÷èéí çàìä ÿìàð íýãýí IP õàÿãëàëòûí àñóóäàëã³éãýýð òàâüæ áîëíî. 31.5.2.3 ѳëæýý ñîíñîã÷ (Network tap)
³³ð íü ñ³ëæýýíèé õî¼ð ñåãìåíòèéã õîëáîæ òýäãýýðèéí õîîðîíä äàìæèæ áàéãàà á³õ Ethernet óðñãàëûã øàëãàõàä õýðýãëýãäýæ áîëíî. Ýíý íü ã³³ð èíòåðýéñ äýýð bpf(4)/tcpdump(1) àøèãëàõ þì óó ýñâýë á³õ óðñãàëûí õóóëáàðûã íýìýëò èíòåðýéñ (span ïîðò) óðóó èëãýýõ çàìààð áàéæ áîëíî.
899
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.5.2.4 Ò³âøèí 2 VPN
Õî¼ð Ethernet ñ³ëæýý íü IP õîëáîîñûí äàãóó EtherIP òóííåëü þì óó ýñâýë OpenVPN çýðýã tap(4) äýýð òóëãóóðëàñàí øèéäë³³äèéí òóñëàìæòàéãààð õîëáîãäîæ áîëíî. 31.5.2.5 Ò³âøèí 2 Äàâõöàë
ѳëæýý íü õîîðîíäîî îëîí õîëáîîñîîð õîëáîãäîæ äàâõàöñàí çàìóóäûã õààõûí òóëä Spanning Tree ïðîòîêîëûã àøèãëàæ áîëíî. Ethernet ñ³ëæýý íü ç°â àæèëëàäàã áàéõûí òóëä õî¼ð ò°õ°°ð°ìæèéí õîîðîíä ç°âõ°í íýã èäýâõòýé çàì áàéõ ¼ñòîé áàéäàã á°ã°°ä Spanning Tree íü äàâòàëòûã èëð³³ëæ äàâõàöñàí õîëáîîñóóäûã õààëòòàé ò°ë°âò îðóóëäàã. Àëü íýã èäýâõòýé õîëáîîñ àìæèëòã³é áîëñîí òîõèîëäîëä óã ïðîòîêîë °°ð ìîäûã òîîöîîëæ ñ³ëæýýí äýõ á³õ öýã³³äýä õ³ðýõ õîëáîëòûã ñýðãýýõèéí òóëä àëü íýã õààëòòàé çàìûã äàõèí èäýâõæ³³ëäýã. 31.5.3
Ö°ìèéí òîõèðãîî
Ýíý õýñýã íü if_bridge(4) ã³³ðíèé øèéäëèéí òóõàé °ã³³ëýõ áîëíî, netgraph ã³³ðíèé äðàéâåð áàñ áàéäàã á°ã°°ä èë³³ äýëãýðýíã³é ìýäýýëëèéã ng_bridge(4) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. ³³ðíèé äðàéâåð íü ö°ìèéí ìîäóëü á°ã°°ä ifconfig(8)-îîð ã³³ð èíòåðýéñèéã ³³ñãýõ ³åä àâòîìàòààð äóóäàãääàã. °ðèéí ö°ìèéí òîõèðãîîíû àéëä device if_bridge ãýæ íýìýí ã³³ðèéã ö°ìä ýìõýòãýæ áîëíî. pfil(9) òîãòîëöîîãîîð õîëáîãääîã ãàëò õàíûí äóðûí áàãöòàé ïàêåò ø³³ëòèéã àøèãëàæ áîëäîã. àëò õàíà íü ìîäóëü õýëáýðýýð äóóäàãäàõ þì óó ýñâýë ö°ìä ýìõýòãýãäýæ áîëíî. ³³ð íü altq(4) ýñâýë dummynet(4)-òýé öóã óðñãàë õýëáýðæ³³ëýã÷ áîëîí àøèãëàãäàæ áîëíî. 31.5.4
³³ðèéã èäýâõæ³³ëýõ íü
Èíòåðýéñ õóóëáàðëàëòûã àøèãëàí ã³³ðèéã ³³ñãýäýã. ³³ðèéã ³³ñãýõèéí òóëä ifconfig(8)-èéã àøèãëàíà. Õýðýâ ã³³ðíèé äðàéâåð ö°ìä áàéõã³é áîë àâòîìàòààð äóóäàãääàã. # ifconfig bridge create
bridge0 # ifconfig bridge0
bridge0: flags=8802 metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0
³³ð èíòåðýéñ ³³ñ÷ ò³³íä ñàíàìñàðã³éãýýð ³³ñãýãäñýí Ethernet õàÿã àâòîìàòààð °ã°ãää°ã. maxaddr áîëîí timeout íýìýëò °ã°ãäë³³ä íü °°ðèéí äàìæóóëàõ õ³ñíýãòýä õè÷íýýí MAC õàÿãèéã õàäãàëàõ áîëîí ñ³³ëä õàðàãäñàíààñàà õîéø îðóóëãà á³ð õè÷íýýí ñåêóíäûí äàðàà óñòãàãäàõ âý ãýäãèéã õÿíàäàã. Áóñàä íýìýëò °ã°ãäë³³ä íü Spanning Tree õýðõýí àæèëëàõûã õÿíàäàã. èø³³í ñ³ëæýýíèé èíòåðýéñèéã ã³³ðýíä íýìýõ õýðýãòýé. ³³ðíèé õóâüä ïàêåòóóäûã äàìæóóëàõûí òóëä á³õ ãèø³³í èíòåðýéñ³³ä áîëîí 㳳𠰰𰰠èäýâõæñýí áàéõ øààðäëàãàòàé:
900
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä # ifconfig bridge0 addm fxp0 addm fxp1 up # ifconfig fxp0 up # ifconfig fxp1 up
³³ð íü îäîî Ethernet õ³ðýýí³³äèéã fxp0 áîëîí fxp1-èéí õîîðîíä äàìæóóëæ áàéíà. ³³ð íü à÷ààëàõ ³åä ³³ñãýãäýõ /etc/rc.conf-èéí òîõèðãîî èéì áàéíà: cloned_interfaces="bridge0" ifconfig_bridge0="addm fxp0 addm fxp1 up" ifconfig_fxp0="up" ifconfig_fxp1="up"
Õýðýâ ã³³ð õîñòîä IP õàÿã õýðýãòýé áîë ³³íèéã òîõèðóóëàõ ç°â ãàçàð áîë ãèø³³í èíòåðýéñèéí àëü íýã áèø õàðèí ã³³ð èíòåðýéñ °°ð°° þì. ³íèéã ñòàòèêààð ýñâýë DHCP-ýýð òîõèðóóëæ áîëíî: # ifconfig bridge0 inet 192.168.0.1/24
³³ð èíòåðýéñä IPv6 õàÿãèéã °ã÷ áàñ áîëíî. 31.5.5
àëò õàíà
Ïàêåò ø³³ëò èäýâõæñýí òîõèîëäîëä ã³³ð õèéãäñýí ïàêåòóóä íü ãàð÷ áàéãàà èíòåðýéñ áà ã³³ð èíòåðýéñ äýýðýý ãàðàõ ø³³ëòýýð, òîõèðîõ èíòåðýéñ äýýðýý îðîõ ø³³ëòýýð äàìæäàã. Àëü ÷ øàòûã õààæ áîëäîã. Ïàêåòèéí óðñãàëûí ÷èãëýë íü ÷óõàë áîë ã³³ðýí äýýð ãàëò õàíà õèéñíýýñ ãèø³³í èíòåðýéñ³³ä äýýð õèéñýí íü äýýð áàéäàã. ³³ð íü IP áóñ áà ARP ïàêåòóóäûã äàìæóóëàõ áîëîí IPFW-èéí òóñëàìæòàé õèéãäýõ õî¼ðäóãààð ò³âøíèé ãàëò õàíàíä çîðèóëñàí õýä õýäýí òîõèðóóëæ áîëîõ òîõèðóóëãóóäòàé áàéäàã. Äýëãýðýíã³é ìýäýýëëèéã if_bridge(4)-ýýñ ³çíý ³³. 31.5.6 Spanning Tree
³³ðíèé äðàéâåð íü õóó÷èí Spanning Tree Ïðîòîêîëòîé (STP) íèéöòýé Rapid Spanning Tree Protocol (RSTP ýñâýë 802.1w) áóþó Ò³ðãýí Spanning Tree Ïðîòîêîëûã õèéæ ã³éöýòãýñýí áàéäàã. Spanning Tree íü ñ³ëæýýí äýõ äàâòàëòóóäûã èëð³³ëæ àðèëãàõàä õýðýãëýãääýã. RSTP íü õóó÷èí STP-ã áîäîõ þì áîë èë³³ ò³ðãýí íèéëýõ áîëîìæèéã îëãîäîã. Ýíý ïðîòîêîë íü äàâõöàë ³³ñãýëã³éãýýð äàìæóóëàëòàä õóðäàí øèëæèõèéí òóëä õ°ðø øèëæ³³ëýã÷èäòýéãýý ìýäýýëýë ñîëèëöäîã. Äîîð äóðäñàí õ³ñíýãò íü äýìæèãäñýí àæèëëàõ ãîðèìóóäû㠳糳ëæ áàéíà: OS õóâèëáàð FreeBSD 5.4—FreeBSD 6.2 FreeBSD 6.3+ FreeBSD 7.0+
STP ãîðèìóóä STP
RSTP ýñâýë STP RSTP ýñâýë STP
Àíõäàã÷ ãîðèì STP STP RSTP
Spanning Tree-ã stp òóøààë àøèãëàí ãèø³³í èíòåðýéñ³³ä äýýð èäýâõæ³³ëæ áîëíî. Îäîî fxp0 áîëîí fxp1 èíòåðýéñ³³äòýé ã³³ðíèé õóâüä STP-ã èäýâõæ³³ëýõèéí òóëä äîîð äóðäñàíûã õèéíý: # ifconfig bridge0 stp fxp0 stp fxp1
bridge0: flags=8843 metric 0 mtu 1500
901
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä ether d6:cf:d5:a0:94:6d id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0 member: fxp0 flags=1c7 port 3 priority 128 path cost 200000 proto rstp role designated state forwarding member: fxp1 flags=1c7 port 4 priority 128 path cost 200000 proto rstp role designated state forwarding
Ýíý ã³³ð íü 00:01:02:4b:d4:50 ãýñýí ID áîëîí 32768 ãýñýí ýýëæ á³õèé spanning tree-òýé áàéíà. root àäèë áàéãàà íü ìîäíû õóâüä root ã³³ð ãýäãèéã èëòãýæ áàéíà. ѳëæýýí äýõ °°ð íýã ã³³ð áàñ èäýâõæñýí spanning tree-òýé áàéíà:
id
bridge0: flags=8843 metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 member: fxp0 flags=1c7 port 4 priority 128 path cost 200000 proto rstp role root state forwarding member: fxp1 flags=1c7 port 5 priority 128 path cost 200000 proto rstp role designated state forwarding root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 ì°ð íü root ã³³ð íü äýýð äóðäñàíòàé àäèë 00:01:02:4b:d4:50 á°ã°°ä ýíý ã³³ðíýýñ 400000 ãýñýí çàìûí °ðò°ãòýé, root ã³³ð ð³³ õ³ðýõ çàì íü fxp0 áîëîõ port 4-°°ð äàìæèíà ãýäãèé㠳糳ëæ áàéíà.
31.5.7
³³ðíèé íýìýëò òîõèðãîî
31.5.7.1 Óðñãàëûã á³òýýõ/øèíý÷ëýõ
³³ð íü ìîíèòîð áóþó õÿíàõ ãîðèìûã äýìæäýã á°ã°°ä ýíý ãîðèìä ïàêåòóóä íü bpf(4) ïðîöåññ õèéãäñýíèé äàðàà õàÿãäàæ öààø ïðîöåññ õèéãäýõã³é ýñâýë äàìæóóëàãäàõã³é áîëäîã. Õî¼ð áóþó ò³³íýýñ äýýø òîîíû èíòåðýéñ³³äèéí îðîëòûã íýãòãýæ íýã bpf(4) óðñãàë ðóó ãàðãàõàä ³³íèéã àøèãëàæ áîëíî. RX/TX äîõèîíóóäûã ãàäàãø õî¼ð òóñäàà èíòåðýéñýýð äàìæóóëàõ ñ³ëæýýíèé ñîíñîã÷èä çîðèóëñàí óðñãàë á³òýýõýä ýíý íü àøèãòàé áàéäàã. ѳëæýýíèé ä°ðâ°í èíòåðýéñýýñ îðîëòûã íýã óðñãàë óðóó óíøèõûí òóëä: # ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up # tcpdump -i bridge0
902
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.5.7.2 Span ïîðòóóä
³³ðíèé õ³ëýýí àâñàí Ethernet õ³ðýý á³ðèéí õóóëáàð òîìèëîãäñîí span ïîðò óðóó äàìæäàã. ³³ðýí äýýð òîõèðóóëàãäñàí span ïîðòóóäûí òîî õÿçãààðã³é áàéäàã, õýðýâ èíòåðýéñ íü span ïîðò ãýæ òîìèëîãäñîí áîë ýíý íü åðäèéí ã³³ðíèé ïîðò ìàÿãààð àøèãëàãäàõ áîëîìæã³é áàéæ áîëîõ þì. Ýíý íü ã³³ðíèé àëü íýã span ïîðò ðóó õîëáîãäñîí °°ð íýã õîñò äýýðýýñ ã³³ð õèéãäñýí ñ³ëæýýã èäýâõã³éãýýð õóëãàéãààð ³çýõýä èõ àøèãòàé áàéäàã. Á³õ õ³ðýýí³³äèéí õóóëáàðûã fxp4 ãýæ íýðëýãäñýí èíòåðýéñ ð³³ èëãýýõèéí òóëä: # ifconfig bridge0 span fxp4
31.5.7.3 Õóâèéí èíòåðýéñ³³ä
Õóâèéí èíòåðýéñ íü áóñàä õóâèéí èíòåðýéñ³³ä ð³³ ÿìàð ÷ óðñãàëûã äàìæóóëäàãã³é. Óðñãàë íü ÿìàð íýã í°õö°ëã³éãýýð õààãääàã á°ã°°ä ARP çýðýã ÿìàð ÷ Ethernet õ³ðýýí³³ä äàìæóóëàãäàõã³é. Õýðýâ óðñãàë íü ñîíãîëòûí äàãóó õààãäàõ õýðýãòýé áîë ³³íèé îðîíä ãàëò õàíà àøèãëàõ ¼ñòîé áàéäàã. 31.5.7.4 Íààëòòàé èíòåðýéñ³³ä
Õýðýâ ã³³ðíèé ãèø³³í èíòåðýéñ íü íààëòòàé ãýæ òýìäýãëýãäñýí áîë äèíàìèêààð òîãòîîñîí õàÿãèéí îðóóëãóóäûã äàìæóóëàëòûí êýøä îðîõîä ñòàòèê ãýæ ³çäýã. Õàÿã °°ð èíòåðýéñ äýýð ³çýãäñýí áàéëàà ÷ ãýñýí íààëòòàé îðóóëãóóä íü õýçýý ÷ êýøýýñ ãàð÷ õóó÷èðäàãã³é ýñâýë ñîëèãääîãã³é. Ýíý íü äàìæóóëàëòûí õ³ñíýãòèéã óðüä÷èëàí íóòàãøóóëàõ øààðäëàãàã³é áîëãîæ ñòàòèê õàÿãèéí îðóóëãóóäûí àøãèéã °ãä°ã á°ã°°ä ã³³ðíèé òîäîðõîé íýã ñåãìåíò äýýð òîãòîîãäñîí õýðýãëýã÷èä °°ð ñåãìåíò ð³³ òýí³³÷èëæ ÷àääàãã³é. Íààëòòàé õàÿãóóäûã àøèãëàõ °°ð íýã æèøýý íü IP õàÿãèéí òàëáàðûã äýìèé ³ðýëã³éãýýð õýðýãëýã÷èéí ñ³ëæýýí³³ä íü òóñãààðëàãäñàí ÷èãë³³ëýã÷èéã ³³ñãýõèéí òóëä ã³³ðèéã VLAN-óóäòàé íýãòãýõ ÿâäàë þì. CustomerA íü vlan100 äýýð CustomerB íü vlan101 äýýð ãýæ ³çüå. ³³ð íü 192.168.0.1 ãýñýí õàÿãòàé á°ã°°ä áàñ èíòåðíýò ÷èãë³³ëýã÷ þì. # ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101 # ifconfig bridge0 inet 192.168.0.1/24
Õî¼ð êëèåíò õî¼óëàà 192.168.0.1-ã °°ðñäèéí àíõäàã÷ ãàðö ãýæ õàðàõ á°ã°°ä ã³³ðíèé êýø íü íààëòòàé áîëîõîîð òýä °°ðñäèéí óðñãàëûã äóíäààñ íü îðóóëàõ ãýæ í°ã°° õýðýãëýã÷èéíõýý MAC õàÿãèéã àøèãëàí õóóð÷ ÷àäàõã³é þì. VLAN-óóäûí õîîðîíäîõ ÿìàð ÷ õîëáîîã õóâèéí èíòåðýéñ³³ä (ýñâýë ãàëò õàíà) àøèãëàí õààæ áîëíî: # ifconfig bridge0 private vlan100 private vlan101
Õýðýãëýã÷èä íü íýã íýãíýýñýý á³ð ì°ñ°í òóñãààðëàãäñàí á°ã°°ä á³õ /24 õàÿãèéí á³ñèéã äýä ñ³ëæýý áîëãîí õóâààëã³éãýýð õóâààðèëæ áîëíî. 31.5.7.5 Õàÿãèéí õÿçãààðóóä
Èíòåðýéñèéí öààíà áàéãàà äàâòàãäàøã³é ýõ MAC õàÿãóóäûí òîî õÿçãààðòàé áàéæ áîëíî. Òýð õÿçãààðò õ³ðýõ ³åä ìýäýãäýõã³é ýõ õàÿãòàé ïàêåòóóä íü òóõàéí ³åä áàéãàà õîñòûí êýø îðóóëãûí
903
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
õóãàöàà äóóñàõ þì óó ýñâýë óñòãàãäàõ õ³ðòýë õàÿãäñààð áàéõ áîëíî. Äîîð äóðäñàí æèøýý íü vlan100 äýýð áàéãàà CustomerA-ä çîðèóëæ Ethernet ò°õ°°ð°ìæ³³äèéí õàìãèéí èõ òîîã 10 áîëãîí òîõèðóóëæ áàéíà. # ifconfig bridge0 ifmaxaddr vlan100 10
31.5.7.6 SNMP ìîíèòîð õèéõ
³³ð èíòåðýéñ áîëîí STP ïàðàìåòð³³äèéã FreeBSD-èéí ³íäñýí ñèñòåìä îðñîí áàéäàã SNMP äåìîíû òóñëàìæòàéãààð ìîíèòîð õèéæ áîëíî. Ýêñïîðò õèéãäñýí ã³³ðíèé MIB-³³ä íü IETF-èéí ñòàíäàðòóóäûã õàíãàæ áàéäàã. Òèéì áîëîõîîð äóðûí SNMP êëèåíò ýñâýë ìîíèòîð õèéäýã áàãöûã °ã°ãäëèéã õ³ëýýí àâàõàä õýðýãëýæ áîëíî. ³³ð ìàøèí äýýð /etc/snmp.config àéëä begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so" ì°ðèéã òàéëáàð áîëãîñíûã áîëèóëæ bsnmpd äýìîíûã ýõë³³ëýõ õýðýãòýé. Community áóþó íèéãìèéí íýðñ áîëîí õàíäàëòûí æàãñààëòóóä çýðýã áóñàä òîõèðãîîíóóäûã °°ð÷ë°õ øààðäëàãàòàé áàéæ áîëíî. Äýëãýðýíã³é ìýäýýëëèéã bsnmpd(1) áîëîí snmp_bridge(3)-ñ ³çíý ³³. Äîîð äóðäñàí æèøýýí³³ä íü ã³³ðýíä õ³ñýëò èëãýýõèéí òóëä Net-SNMP ïðîãðàì õàíãàìæèéã (net-mgmt/net-snmp) àøèãëàæ áàéãàà á°ã°°ä net-mgmt/bsnmptools ïîðòûã áàñ àøèãëàæ áîëíî. ³³ðíèé MIB òîäîðõîéëîëòóóäûã Net-SNMP ðóó îðóóëæ èðýõèéí òóëä SNMP êëèåíò õîñò äýýðýý $HOME/.snmp/snmp.conf àéëä äîîð äóðäñàí ì°ð³³äèéã íýìýõ õýðýãòýé: mibdirs +/usr/share/snmp/mibs mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB
àíö ã³³ðèéã IETF BRIDGE-MIB (RFC4188)-ýýð ìîíèòîð õèéõèéí òóëä äîîð äóðäñàíûã õèéíý % snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge
BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44 BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2 BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50 ... BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5) BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1) BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000 BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0 BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80 BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1 RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2) dot1dStpTopChanges.0-èéí óòãà õî¼ð á°ã°°ä ýíý íü STP ã³³ðíèé á³òýö õî¼ð óäàà °°ð÷ë°ãäñ°í ãýäãèéã õàðóóëæ áàéíà. Á³òöèéí °°ð÷ë°ëò ãýäýã íü ñ³ëæýýí äýõ íýã áóþó îëîí õîëáîîñóóä °°ð÷ë°ãäñ°í þì óó ýñâýë àìæèëòã³é áîëñîí á°ã°°ä øèíý ìîä òîîöîîëîãäñîí ãýñýí ³ã þì. dot1dStpTimeSinceTopologyChange.0-èéí óòãà èéì ç³éë õýçýý áîëñíûã õàðóóëàõ áîëíî. Îëîí ã³³ðíèé èíòåðýéñèéã ìîíèòîð õèéõèéí òóëä õóâèéí BEGEMOT-BRIDGE-MIB-ã àøèãëàæ áîëíî:
904
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä % snmpwalk -v 2c -c public bridge1.example.com
enterprises.fokus.begemot.begemotBridge BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1 ... BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:2 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9 mib-2.dot1dBridge
äóðäñàíûã õèéíý:
äýä ìîäîîð ìîíèòîð õèéãäýæ áàéãàà ã³³ðíèé èíòåðýéñèéã ñîëèõûí òóëä äîîð
% snmpset -v 2c -c private bridge1.example.com
BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2
Õîëáîîñ íýãòãýëò áà îñëûã òîéðîí ãàðàõ (Link Aggregation
31.6 and Failover)
Áè÷ñýí Ýíäðþ Òîìïñîí. 31.6.1
Òàíèëöóóëãà
lagg(4) èíòåðýéñ íü fault-tolerance áóþó àëäààíä òýñâýðòýé áàéäàë áîëîí °íä°ð õóðäíû õîëáîîñóóäûã õàíãàõ çîðèëãîîð ñ³ëæýýíèé îëîí èíòåðýéñ³³äèéã íýã âèðòóàë èíòåðýéñ áîëãîí íýãòãýõ áîëîìæèéã îëãîäîã.
31.6.2
Àæèëëàãààíû ãîðèìóóä
Failover
Ç°âõ°í ìàñòåð ïîðòîîð óðñãàëûã èëãýýæ õ³ëýýí àâíà. Õýðýâ ìàñòåð ïîðò áàéõã³é áîëâîë äàðààãèéí èäýâõòýé ïîðò àøèãëàãäàíà. Ýõíèé íýìýãäñýí èíòåðýéñ íü ìàñòåð ïîðò áîëîõ á°ã°°ä ³³íèé äàðàà íýìýãäñýí³³ä íü îñëûã òîéðîí ãàðàõ ò°õ°°ð°ìæ³³ä áîëîí àøèãëàãäàõ áîëíî. Cisco® Fast EtherChannel® Cisco Fast EtherChannel (FEC) íü ñòàòèê òîõèðóóëãà á°ã°°ä í°ã°° òàëòàéãàà íýãòãýëò õèéõýä òîõèðîëöäîãã³é ýñâýë õîëáîîñûã ìîíèòîð õèéõèéí òóëä õ³ðýýí³³ä ñîëèëöäîãã³é. Õýðýâ øèëæ³³ëýã÷ LACP-ã äýìæäýã áîë ò³³íèéã àøèãëàõ ¼ñòîé.
905
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä FEC íü õýø õèéãäñýí ïðîòîêîëûí òîëãîéí ìýäýýëýë äýýð ³íäýñëýí èäýâõòýé ïîðòóóäààð ãàð÷ áàéãàà óðñãàëûã òýíöâýðæ³³ëæ äóðûí èäýâõòýé ïîðòîîñ èðæ áàéãàà óðñãàëûã õ³ëýýí àâíà. Õýø íü Ethernet ýõëýë áîëîí î÷èõ õàÿã áà õýðýâ áàéãàà áîë VLAN õàÿã áîëîí IPv4/IPv6 ýõëýë áîëîí î÷èõ õàÿãèéã áàãòààäàã. LACP IEEE 802.3ad Link Aggregation Control Protocol (LACP) áóþó Õîëáîîñ Íýãòãýëò Õÿíàõ Ïðîòîêîë áîëîí Marker áóþó Òýìäýãëýãýýíèé Ïðîòîêîë. LACP íü íýãòãýæ áîëîõ õîëáîîñóóäûã í°ã°° òàëòàé íü íýã áóþó õýä õýäýí Link Aggregated Group áóþó Õîëáîîñ Íýãòãýãäñýí á³ëã³³ä (LAG) áîëãîí òîõèðîëöóóëäàã. LAG á³ð íü àäèë õóðäòàé, ã³éöýä äóïëåêñ àæèëëàãààíä òîõèðóóëñàí ïîðòóóäààñ òîãòîíî. Óðñãàë íü LAG äàõü ïîðòóóäûí äàãóó õàìãèéí èõ íèéò õóðäààð òýíöâýðæ³³ëýãäýõ á°ã°°ä èõýíõ òîõèîëäîëä á³õ ïîðòóóäûã àãóóëñàí ç°âõ°í íýã LAG áàéõ áîëíî. Ôèçèê õîëáîëò °°ð÷ë°ãä°õ°ä Õîëáîîñ Íýãòãýëò øèíý òîõèðãîî óðóó õóðäàí øèëæèõ áîëíî. LACP íü õýø õèéãäñýí ïðîòîêîëûí òîëãîéí ìýäýýëýë äýýð ³íäýñëýí èäýâõòýé ïîðòóóäààð ãàð÷ áàéãàà óðñãàëûã òýíöâýðæ³³ëæ äóðûí èäýâõòýé ïîðòîîñ èðæ áàéãàà óðñãàëûã õ³ëýýí àâíà. Õýø íü Ethernet ýõëýë áîëîí î÷èõ õàÿã áà õýðýâ áàéãàà áîë VLAN õàÿã áîëîí IPv4/IPv6 ýõëýë áîëîí î÷èõ õàÿãèéã áàãòààäàã. Loadbalance
Ýíý íü FEC ãîðèìûí õóóëáàð þì. Round-robin
Òîéðîí ýðãýõ õóâààðèëàëòûã àøèãëàí ãàð÷ áàéãàà óðñãàëûã á³õ èäýâõòýé ïîðòóóäààð òàðààæ äóðûí èäýâõòýé ïîðòîîñ èðæ áàéãàà óðñãàëûã õ³ëýýí àâíà. Ýíý ãîðèì íü Ethernet õ³ðýýíèé äàðààëëûã ç°ð÷èõ á°ã°°ä áîëãîîìæòîé àøèãëàõ øààðäëàãàòàé áàéäàã. 31.6.3
Æèøýýí³³ä
Example 31-1. Cisco®
øèëæ³³ëýã÷òýé LACP íýãòãýëò
Ýíý æèøýý íü FreeBSD ìàøèíû õî¼ð èíòåðýéñèéã øèëæ³³ëýã÷ ð³³ à÷ààëàë òýíöâýðæ³³ëñýí, àëäààíä òýñâýðòýé ãàíö õîëáîîñîîð õîëáîæ áàéíà. Äàìæóóëàõ ÷àíàð áîëîí àëäààíä òýñâýðòýé áàéäëûã ñàéæðóóëàõ çîðèëãîîð èë³³ îëîí èíòåðýéñ³³äèéã íýìæ áîëíî. Ethernet õîëáîîñóóä äýýð õ³ðýýíèé äàðààëàë ÷óõàë áàéäàã ó÷ðààñ õî¼ð ñòàíöûí õîîðîíäîõ ÿìàð ÷ óðñãàë àëü íýã èíòåðýéñèéí õàìãèéí èõ õóðäààð õÿçãààðëàãäàí òýð èçèê õîëáîîñîîð ³ðãýëæ óðñàæ áàéäàã. Äàìæóóëàõ àëãîðèòì íü °°ð °°ð óðñãàëóóäûã ÿëãàæ, áàéãàà èíòåðýéñ³³äýýð òýäãýýðèéã òýíöâýðæ³³ëýõèéí òóëä àëü áîëîõ èõ ìýäýýëëèéã àøèãëàõûã îðîëääîã. Cisco øèëæ³³ëýã÷ äýýð FastEthernet0/1 áîëîí FastEthernet0/2 èíòåðýéñ³³äèéã 1 ñóâãèéí á³ëýãò íýìíý. interface FastEthernet0/1 channel-group 1 mode active channel-protocol lacp
! interface FastEthernet0/2 channel-group 1 mode active channel-protocol lacp
906
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä FreeBSD ìàøèí äýýð fxp0 áîëîí fxp1-ã àøèãëàí lagg(4) èíòåðýéñèéã ³³ñãýíý: # ifconfig lagg0 create # ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1
Äîîðõ òóøààëûã àæèëëóóëæ èíòåðýéñèéí ò°ëâèéã õàðíà: # ifconfig lagg0
ACTIVE ãýæ òýìäýãëýãäñýí ïîðòóóä íü àëñûí øèëæ³³ëýã÷òýé òîõèðîëöñîí, èäýâõòýé íýãòãýëòèéí á³ëãèéí õýñýã á°ã°°ä óðñãàë íü äàìæóóëàãäàæ õ³ëýýí àâàãäàõ áîëíî. LAG òàíèõ òýìäã³³äèéã ³çýõèéí òóëä ifconfig(8)-èéí äýëãýðýíã³é ãàðàëòûã àøèãëààðàé. lagg0: flags=8843 metric 0 mtu 1500 options=8 ether 00:05:5d:71:8d:b8 media: Ethernet autoselect status: active laggproto lacp laggport: fxp1 flags=1c laggport: fxp0 flags=1c
Øèëæ³³ëýã÷ äýýð ïîðòûí ò°ëâèéã õàðàõûí òóëä show
lacp neighbor
òóøààëûã àøèãëàõ õýðýãòýé.
switch# show lacp neighbor Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode Channel group 1 neighbors Partner’s information:
Port Fa0/1 Fa0/2
Flags SA SA
LACP port Priority Dev ID Age 32768 0005.5d71.8db8 29s 32768 0005.5d71.8db8 29s
Äýëãýðýíã³éã õàðàõûã õ³ñâýë show Example 31-2. Failover
lacp neighbor detail
Oper Key 0x146 0x146
Port Number 0x3 0x4
Port State 0x3D 0x3D
òóøààëûã àøèãëàíà.
ãîðèì
Failover áóþó îñëûã òîéðîí ãàðàõ ãîðèìûã ìàñòåð èíòåðýéñ äýýð õîëáîîñ òàñàðñàí òîõèîëäîëä õî¼ð äàõü èíòåðýéñ óðóó øèëæèõýä àøèãëàæ áîëíî. fxp0 íü ìàñòåð èíòåðýéñ, fxp1 íü õî¼ð äàõü èíòåðýéñ áàéõààð lagg0 èíòåðýéñèéã ³³ñãýæ òîõèðóóëíà: # ifconfig lagg0 create # ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1
Èíòåðýéñ íü ³³íòýé ò°ñòýé áàéõ á°ã°°ä ãîë ÿëãàà íü MAC õàÿã áîëîí ò°õ°°ð°ìæèéí íýðñ áàéõ áîëíî: # ifconfig lagg0
lagg0: flags=8843 metric 0 mtu 1500 options=8 ether 00:05:5d:71:8d:b8 media: Ethernet autoselect
907
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä status: active laggproto failover laggport: fxp1 flags=0<> laggport: fxp0 flags=5<MASTER,ACTIVE>
Óðñãàë fxp0 äýýð õ³ëýýí àâàãäàæ äàìæèõ áîëíî. Õýðýâ õîëáîîñ fxp0 äýýð òàñàðñàí áîë fxp1 íü èäýâõòýé õîëáîîñ áîëíî. Õýðýâ õîëáîîñ íü ìàñòåð èíòåðýéñ äýýð ñýðãýýãäñýí áîë ýíý íü ýðãýýä èäýâõòýé õîëáîîñ áîëíî.
31.7
Äèñêã³é àæèëëàãàà
Øèíý÷èëñýí Æàí-Ôðàíñóà Äîêüå. Äàõèí çîõèîí áàéãóóëæ °ðã°òã°ñ°í Àëåêñ Äþïðå. FreeBSD ìàøèí ñ³ëæýýãýýð à÷ààëàí ëîêàë äèñêã³éãýýð NFS ñåðâåð äýýð õîëáîãäñîí àéëûí ñèñòåì³³ä àøèãëààä àæèëëàæ ÷àääàã. Ñòàíäàðò òîõèðãîîíû àéëóóäààñ °°ð ñèñòåìèéí °°ð÷ë°ëò øààðäëàãàã³é. Èéì ñèñòåìèéã õàðüöàíãóé õÿëáàðààð òîõèðóóëæ áîëäîã. Ó÷èð íü øààðäëàãàòàé á³õ ýëåìåíò³³ä áýëýí áàéäàã: •
Ö°ìèéã ñ³ëæýýãýýð à÷ààëàõ õî¼ð áîëîìæèò àðãà õàìãèéí áàãààð áîäîõîä áàéäàã: • PXE: Intel-èéí Preboot eXecution Environment áóþó à÷ààëàëò õèéãäýõýýñ °ìí°õ àæèëëóóëàõ îð÷íû ñèñòåì íü çàðèì ñ³ëæýýíèé êàðòóóä ýñâýë ýõ õàâòàíãóóäàä öóã á³òýýãäñýí áàéäàã óõààëàã à÷ààëàõ ROM-èéí íýã õýëáýð þì. Èë³³ äýëãýðýíã³éã pxeboot(8)-ñ ³çíý ³³. • Etherboot ïîðò (net/etherboot) íü ö°ìèéã ñ³ëæýýãýýð à÷ààëàõ ROM õèéãäýõ áîëîìæòîé êîä ³³ñãýäýã. Êîä íü ñ³ëæýýíèé êàðòàí äýýð à÷ààëàõ ROM óðóó øàðàãäñàí áàéõ þì óó ýñâýë ëîêàë óÿí (ýñâýë õàòóó) äèñêíèé õ°ò÷°°ñ ýñâýë àæèëëàæ áàéãàà MS-DOS ñèñòåìýýñ äóóäàãäàõààð áàéäàã. Îëîí ñ³ëæýýíèé êàðò äýìæèãäñýí áàéãàà.
Æèøýý ñêðèïò (/usr/share/examples/diskless/clone_root) íü ñåðâåð äýýð àæëûí ñòàíöûí root àéëûí ñèñòåìèéã ³³ñãýõ áîëîí ò³³íèé àæèëëàãààã õàíãàõ ³éëäëèéã õ°íã°â÷èëä°ã. Ñêðèïò íü ìàãàäã³é æèæèã °°ð÷ë°ëòèéã øààðäàæ áîëîõ áîëîâ÷ ýíý íü òàíûã õóðäàí ýõë³³ëýõ áîëíî. • Äèñêã³é ñèñòåìèéí ýõë³³ëýëòèéã èëð³³ëæ äýìæèõ ñòàíäàðò ñèñòåìèéí ýõë³³ëýã÷ àéëóóä /etc ñàíä áàéäàã. • swap õèéõ õýðýâ øààðäëàãàòàé áîë NFS àéë ýñâýë ëîêàë äèñê óðóó õèéæ áîëîõ þì. Äèñêã³é àæëûí ñòàíöóóäûã òîõèðóóëàõ îëîí àðãà áàéäàã. Îëîí ýëåìåíò³³ä ³³íä õàìðàãääàã á°ã°°ä °°ðèéí ñîíèðõëîîð èõýíõèéã íü °°ð÷èëæ áîëíî. Äàðààõ íü á³ðýí ñèñòåìèéã òîõèðóóëàõ òàëààð õóâèëáàðóóäûã òàéëáàðëàõ áîëíî. Èíãýõäýý ñòàíäàðò FreeBSD ýõë³³ëýõ ñêðèïò³³äòýé õÿëáàð, íèéöòýé áàéõûã ÷óõàë÷ëàõ áîëíî. Òàéëáàðëàñàí ñèñòåì íü äàðààõ øèíæ³³äòýé áàéíà: •
•
Äèñêã³é àæëûí ñòàíöóóä íü õóâààëöñàí, ç°âõ°í óíøèãäàõ / àéëûí ñèñòåì áîëîí õóâààëöñàí, ç°âõ°í óíøèãäàõ /usr-ã àøèãëàäàã.
908
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä root àéëûí ñèñòåì íü ç°âõ°í äèñêã³é àæèëëàãààòàé õîëáîîòîé ýñâýë òýäãýýðèéí õàðüÿàëàãäàõ àæëûí ñòàíöòàé õîëáîîòîé çàðèì òîõèðãîîíû àéëóóä íü °°ð÷ë°ãäñ°í ñòàíäàðò FreeBSD root-èéí (èõýâ÷ëýí ñåðâåðèéí) õóóëáàð þì.
•
Áè÷èãäýõ áîëîìæòîé áàéõ root-èéí õýñýã íü md(4) àéëûí ñèñòåìýýð äýýð òàâèãääàã (overlaid). Ñèñòåì äàõèí à÷ààëàõàä õèéãäñýí °°ð÷ë°ëò³³ä àëãà áîëîõ áîëíî. Ö°ì äàìæóóëàãäàæ Etherboot ýñâýë PXE-èéí àëü íýãýýð äóóäàãääàã á°ã°°ä çàðèì òîõèîëäîëä ç°âõ°í àëü íýã àðãûã àøèãëàõûã øààðäàæ áîëîõ þì.
Caution: Òàéëáàðëàñíû äàãóó ýíý ñèñòåì íü àþóëòàé þì. Ýíý íü ñ³ëæýýíèé õàìãààëàãäñàí òàëáàðò áàéõ ¼ñòîé á°ã°°ä áóñàä õîñòóóäààñ õàíäàõààðã³é áàéõ ¼ñòîé.
Ýíý õýñãèéí á³õ ìýäýýëëèéã FreeBSD 5.2.1-RELEASE àøèãëàí òåñò õèéñýí áîëíî. 31.7.1
íäñýí ìýäýýëýë
Äèñêã³é àæëûí ñòàíöóóäûã òîõèðóóëàõ íü õàðüöàíãóé àìàðõàí áîëîâ÷ àëäààíä °ðò°õ õàíäëàãàòàé áàéäàã. Õýä õýäýí øàëòãààíààñ áîëîîä ýäãýýðèéã çàðèìäàà îíîøëîõ ò°â°ãòýé áàéäàã. Æèøýý íü: Ýìõýòãýëòèéí ³åèéí òîõèðóóëãóóä íü àæèëëàõ ³åä °°ð°°ð àæèëëàõûã òîäîðõîéëæ áîëîõ þì. • Àëäààíû ìýäýãäë³³ä íü èõýâ÷ëýí íóóãäìàë ýñâýë á³ð áàéõã³é ÷ áàéæ áîëíî. Ýíä ãàð÷ áîëçîøã³é àñóóäëóóäûã øèéäýõýä ³íäñýí àðãà çàìóóäûí çàðèì íýã ìýäëýãèéã àøèãëàõ íü ìàø àøèãòàé áàéäàã. Àìæèëòòàéãààð ýõë³³ëýõèéí òóëä õýä õýäýí ³éëäë³³äèéã õèéõ õýðýãòýé: •
•
•
•
Ìàøèí °°ðèéí IP õàÿã, àæèëëàõ àéëûí íýð, ñåðâåðèéí íýð, root çàì çýðýã ýõíèé ïàðàìåòð³³äèéã àâàõ õýðýãòýé. ³íèéã DHCP ýñâýë BOOTP ïðîòîêîëóóäûã àøèãëàí õèéäýã. DHCP íü BOOTP-èéí íèéöòýé °ðã°òã°ë á°ã°°ä àäèë ïîðòûí äóãààðóóä áîëîí ³íäñýí ïàêåòèéí õýëáýðø³³ëýëòèéã àøèãëàäàã. Ç°âõ°í BOOTP àøèãëàõààð ñèñòåìèéã òîõèðóóëàõ áîëîìæòîé. bootpd(8) ñåðâåðèéí ïðîãðàì íü ³íäñýí FreeBSD ñèñòåìä îðñîí áàéäàã. ýõäýý DHCP íü BOOTP-ýýñ õýä õýäýí äàâóó òàëòàé áàéäàã (èë³³ ñàéõàí òîõèðãîîíû àéëóóä, PXE àøèãëàõ áîëîìæ, äèñêã³é àæèëëàãààòàé øóóä õîëáîîã³é áóñàä îëîí äàâóó òàëóóä) á°ã°°ä áèä ãîë÷ëîí DHCP òîõèðãîîã áîëîìæòîé áîë bootpd(8) àøèãëàí òààðàõ æèøýýí³³äòýé íü õàìò òàéëáàðëàõ áîëíî. Æèøýý òîõèðãîî íü ISC DHCP ïðîãðàì õàíãàìæèéí áàãöûã (òåñò ñåðâåð äýýð 3.0.1.r12 õóâèëáàð ñóóëãàãäñàí) àøèãëàõ áîëíî. Ìàøèí íü íýã áóþó õýä õýäýí ïðîãðàìóóäûã ëîêàë ñàíàõ îé óðóóãàà äàìæóóëàõ õýðýãòýé áîëíî. TFTP þì óó ýñâýë NFS àøèãëàãäàíà. TFTP áîëîí NFS-èéí ñîíãîëòûã õýä õýäýí ãàçàð ýìõýòãýõ ³åèéí òîõèðóóëãààð õèéäýã. Àëäààíû ò³ãýýìýë ýõ ³³ñâýð íü áóðóó ïðîòîêîëä çîðèóëæ àéëûí íýð³³äèéã çààõ ÿâäàë þì: TFTP íü ñåðâåð äýýðõ ãàíö ñàíãààñ á³õ àéëóóäûã èõýâ÷ëýí äàìæóóëäàã á°ã°°ä ýíý ñàíòàé õàðüöàíãóé àéëûí íýðñèéã õ³ëýýäýã. NFS-ä àéëûí òóéëûí (àáñîëþò) çàìóóä õýðýãòýé áàéäàã. Áîëîìæèò äóíäûí ýõë³³ëýõ ïðîãðàìóóä áîëîí ö°ì íü ýõëýí òîõèðóóëàãäàæ àæèëëàõ øààðäëàãàòàé. Ýíä õýä õýäýí ÷óõàë õóâèëáàðóóä áàéäàã: 909
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä PXE íü FreeBSD-èéí ãóðàâ äàõü øàòíû äóóäàã÷èéí °°ð÷ë°ãäñ°í õóâèëáàð áîëîõ pxeboot(8)-èéã à÷ààëíà. pxeboot(8) íü ñèñòåìèéã ýõë³³ëýõýä øààðäëàãàòàé èõýíõ ïàðàìåòð³³äèéã àâ÷ õÿíàëòûã äàìæóóëàõààñàà °ìí° òýäãýýðèéã ö°ìèéí îð÷èíä ³ëäýýõ áîëíî. Ýíý òîõèîëäîëä GENERIC ö°ìèéã àøèãëàõ áîëîìæòîé. • Etherboot íü áàãà áýëòãýëòýéãýýð ö°ìèéã øóóä à÷ààëàõ áîëíî. Òà ö°ìèéã òóñãàé òîõèðóóëãóóäòàé á³òýýõ õýðýãòýé áîëíî. PXE áîëîí Etherboot íü àäèëõàí àæèëëàíà; ãýõäýý ö°ì³³ä íü loader(8)-èéí òýäýíä çîðèóëæ èë³³ àæèë õèéõ áîëîìæèéã îëãîäîã áîëîõîîð PXE íü çîõèìæòîé àðãà þì. Õýðýâ òàíû BIOS áîëîí ñ³ëæýýíèé êàðòóóä íü PXE-ã äýìæäýã áîë òà ³³íèéã àøèãëàõ õýðýãòýé áàéæ áîëîõ þì. • Ýöýñò íü ìàøèí °°ðèéí àéëûí ñèñòåì³³äýä õàíäàõ õýðýãòýé áîëíî. NFS íü á³õ òîõèîëäîëä õýðýãëýãäýíý. diskless(8) ãàðûí àâëàãûí õóóäñûã áàñ ³çíý ³³. •
31.7.2
Òîõèðóóëàõ çààâðóóä
31.7.2.1 ISC DHCP àøèãëàõ òîõèðãîî
ISC DHCP ñåðâåð BOOTP áîëîí DHCP õ³ñýëò³³äýä õàðèóëæ ÷àääàã.
ISC DHCP 3.0 íü ³íäñýí ñèñòåìèéí õýñýã áèø þì. Òà ýõëýýä net/isc-dhcp30-server ïîðò þì óó ýñâýë òîõèðîõ áàãöûã ñóóëãàõ õýðýãòýé.
ISC DHCP ñóóëãàãäñàíû äàðàà àæèëëàõûí òóëä òîõèðãîîíû àéë õýðýãòýé áîëíî (èõýâ÷ëýí /usr/local/etc/dhcpd.conf ãýæ íýðëýãääýã). Äîîð margaux õîñò Etherboot-èéã àøèãëàñàí áà corbieres õîñò PXE-ã àøèãëàæ áàéãàà òàéëáàð õèéãäñýí æèøýý áàéíà: default-lease-time 600; max-lease-time 7200; authoritative; option domain-name "example.com"; option domain-name-servers 192.168.4.1; option routers 192.168.4.1; subnet 192.168.4.0 netmask 255.255.255.0 { use-host-decl-names on; ➊ option subnet-mask 255.255.255.0; option broadcast-address 192.168.4.255; host margaux { hardware ethernet 01:23:45:67:89:ab; fixed-address margaux.example.com; next-server 192.168.4.4; ➋ filename "/data/misc/kernel.diskless"; ➌ option root-path "192.168.4.4:/data/misc/diskless"; ➍ } host corbieres { hardware ethernet 00:02:b3:27:62:df;
910
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä fixed-address corbieres.example.com; next-server 192.168.4.4; filename "pxeboot"; option root-path "192.168.4.4:/data/misc/diskless"; } }
➊
➋ ➌
➍
Ýíý òîõèðóóëãà íü host çàðëàëòóóä äàõü óòãûã äèñêã³é õîñòûí õóâüä õîñòûí íýð áîëãîí èëãýýõèéã dhcpd-ä õýëíý. °ð íýã àðãà íü option host-name margaux ì°ðèéã host çàðëàëòóóäûí äîòîð íýìýõ ÿâäàë þì. next-server òîõèðóóëãà íü äóóäàã÷ ýñâýë ö°ìèéí àéëûã äóóäàõàä çîðèóëæ TFTP ýñâýë NFS ñåðâåðèéã àøèãëàõûã çààæ °ãí° (àíõäàã÷ààð DHCP ñåðâåð áàéãàà õîñòûã àøèãëàíà). filename òîõèðóóëãà íü Etherboot ýñâýë PXE-èéí äàðààãèéí àæèëëóóëàõ àëõàìä äóóäàõ àéëûã òîäîðõîéëíî. ³íèéã àøèãëàõ äàìæóóëàëòûí àðãûí äàãóó çààñàí áàéõ ¼ñòîé. Etherboot-èéã NFS ýñâýë TFTP àøèãëàõààð ýìõýòãýæ áîëíî. FreeBSD ïîðò íü NFS-èéã àíõäàã÷ààð òîõèðóóëäàã. PXE íü TFTP-ã àøèãëàäàã. Ýíä ÿàãààä õàðüöàíãóé àéëûí íýð õýðýãëýãääýãèéí ó÷èð íü òýð þì (ýíý íü TFTP ñåðâåðèéí òîõèðãîîíîîñ õàìààðàõ áîëîâ÷ åð°íõèéä°° íýëýýí ýíãèéí áàéõ áîëíî). PXE íü ö°ìèéã áèø áàñ pxeboot-ã äóóääàã. FreeBSD CD-ROM /boot ñàíãààñ pxeboot-èéã äóóäàõ çýðýã áóñàä ñîíèðõîëòîé áîëîìæóóä áàéäàã (pxeboot(8) íü GENERIC ö°ìèéã à÷ààëæ ÷àääàã á°ã°°ä ýíý íü àëñûí CD-ROM-ñ à÷ààëàõûí òóëä PXE-ã àøèãëàõ áîëîìæòîé áîëãîäîã þì). root-path òîõèðóóëãà íü root àéëûí ñèñòåì õ³ðýõ çàìûã ýíãèéí NFS áè÷ëýãýýð òîäîðõîéëäîã. PXE àøèãëàæ áàéãàà ³åä ö°ìèéí òîõèðãîî BOOTP-ã èäýâõæ³³ëýýã³é áàéõàä õîñòûí IP-ã îðõèãäóóëàõ áîëîìæòîé áàéäàã. NFS ñåðâåð äàðàà íü TFTP ñåðâåðòýé àäèë áîëîõ áîëíî.
31.7.2.2 BOOTP àøèãëàõ òîõèðãîî
Ýíä bootpd-èéí àäèë òîõèðãîî (íýã êëèåíò áîëãîæ áàãàñãàñàí) áàéíà. ³íèéã /etc/bootptab àéëààñ îëæ áîëíî. BOOTP-ã àøèãëàõûí òóëä Etherboot-èéã àíõäàã÷ áèø òîõèðóóëãà NO_DHCP_SUPPORT-òîéãîîð ýìõýòãýõ ¼ñòîé á°ã°°ä PXE-ä DHCP õýðýãòýé ãýäãèéã ñàíààðàé. bootpd-èéí öîðûí ãàíö èëýðõèé äàâóó òàë áîë ³íäñýí ñèñòåìä îðñîí áàéäàã ÿâäàë þì. .def100:\ :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\ :sm=255.255.255.0:\ :ds=192.168.4.1:\ :gw=192.168.4.1:\ :hd="/tftpboot":\ :bf="/kernel.diskless":\ :rp="192.168.4.4:/data/misc/diskless": margaux:ha=0123456789ab:tc=.def100
911
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.7.2.3 À÷ààëàõ ïðîãðàìûã Etherboot-ýýð áýëäýõ
Etherboot-èéí âýá ñàéò (http://etherboot.sourceforge.net) íü Ëèíóêñ ñèñòåìä ãîë÷ëîí çîðèóëàãäñàí áîëîâ÷ àøèãòàé ìýäýýëýë àãóóëñàí °ðã°òã°ñ°í áàðèìò (http://etherboot.sourceforge.net/doc/html/userman/t1.html)ûã àãóóëäàã. Äàðààõ íü FreeBSD ñèñòåì äýýð Etherboot-ã õýðõýí àøèãëàõ òàëààð òàéëáàðëàõ áîëíî. Òà ýõëýýä net/etherboot áàãö þì óó ýñâýë ïîðòûã ñóóëãàõ ¼ñòîé. Etherboot-èéí òîõèðãîîã Etherboot-èéí ýõ áàéãàà ñàí äàõü Config àéëûã çàñâàðëàæ (°°ð°°ð õýëáýë NFS-èéí îðîíä TFTP-ã àøèãëàõûí òóëä) °°ð÷èëæ áîëíî. Áèäíèé òîõèðãîîíû õóâüä áèä à÷ààëàõ óÿí äèñêèéã àøèãëàõ áîëíî. Áóñàä àðãóóäûí õóâüä (PROM, ýñâýë MS-DOS ïðîãðàì) Etherboot-èéí áàðèìòààñ ëàâëàíà óó. À÷ààëàõ óÿí äèñêèéã õèéõèéí òóëä Etherboot ñóóëãàñàí ìàøèí äýýðõ õ°ò°÷ óðóóãàà óÿí äèñêýý õèéãýýä Etherboot ìîä äàõü src ñàí óðóó áîëãîæ îäîîãèéí ñàíãàà ñîëèîä äîîð äóðäñàí òóøààëûã áè÷íý: # gmake bin32/devicetype.fd0
íü äèñêã³é àæëûí ñòàíö äàõü Ethernet êàðòûí ò°ðë°°ñ õàìààðíà. Ç°â devicetype áóþó ò°õ°°ð°ìæèéí ò°ðëèéã òîäîðõîéëîõûí òóëä òýð ñàí äàõü NIC àéëä õàíäàíà.
devicetype
31.7.2.4 PXE-ýýð à÷ààëàõ
Àíõäàã÷ààð pxeboot(8) äóóäàã÷ íü NFS-ýýð ö°ìèéã äóóääàã. /etc/make.conf àéëä LOADER_TFTP_SUPPORT òîõèðóóëãà çààõûí îðîíä TFTP-ã àøèãëàõààð ýìõýòãýãäýæ áîëíî. Çààâðóóäûí òàëààð /usr/share/examples/etc/make.conf àéë äàõü òàéëáàðóóäûã ³çíý ³³. Öóâàà êîíñîë äèñêã³é ìàøèí òîõèðóóëàõàä àøèãòàé áàéæ áîëîõ make.conf àéëûí °°ð õî¼ð òîõèðóóëãà áàéäàã: ýäãýýð íü BOOT_PXELDR_PROBE_KEYBOARD, áîëîí BOOT_PXELDR_ALWAYS_SERIAL þì. Ìàøèí ýõëýõýä PXE-ã àøèãëàõûí òóëä òà °°ðèéí BIOS-èéí òîõèðóóëãààñ Boot from network áóþó ѳëæýýíýýñ à÷ààëàõ ñîíãîëòûã ñîíãîõ þì óó ýñâýë PC-ã ýõë³³ëæ áàéõ ³åä óíêöèéí òîâ÷ëóóðûã äàðàõ õýðýãòýé. 31.7.2.5 TFTP áîëîí NFS ñåðâåð³³äèéã òîõèðóóëàõ
Õýðýâ òà TFTP àøèãëàõààð òîõèðóóëñàí PXE þì óó ýñâýë Etherboot-ã àøèãëàæ áàéãàà áîë àéë ñåðâåð äýýðýý tftpd-ã èäýâõæ³³ëýõ õýðýãòýé: 1. 2.
tftpd-ä çîðèóëæ àéëóóä áàéõ ñàí ³³ñãýíý, °°ð°°ð õýëáýë /tftpboot.
Ýíý ì°ðèéã °°ðèéí /etc/inetd.conf àéëä íýìíý:
tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot Note: Çàðèì íýãýí PXE õóâèëáàðóóä íü TFTP-èéí TCP õóâèëáàðûã õ³ñäýã áàéíà. Ýíý òîõèîëäîëä dgram udp ì°ðèéã stream tcp áîëãîí ñîëüæ õî¼ð äàõü ì°ðèéã íýìíý.
3.
inetd-ä °°ðèéí òîõèðãîîíû àéëàà äàõèí óíøèõûã õýëýýðýé. Ýíý òóøààëûã ç°â àæèëëóóëàõûí òóëä /etc/rc.conf àéëä inetd_enable="YES" òîõèðóóëãà çààãäñàí áàéõ ¼ñòîé:
912
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä # /etc/rc.d/inetd restart
Òà tftpboot ñàíã ñåðâåðèéíõýý õààíà ÷ áàéðëóóëæ áîëíî. inetd.conf áîëîí dhcpd.conf àéëóóä äýýðýý áàéðëàëàà çààñàí ýñýõýý øàëãààðàé. Àëü ÷ òîõèîëäîëä òà áàñ NFS-ýý èäýâõæ³³ëæ NFS ñåðâåð äýýðýý òîõèðîõ àéëûí ñèñòåìýý ýêñïîðò õèéõ õýðýãòýé þì. 1.
³íèéã /etc/rc.conf-ä íýìíý: nfs_server_enable="YES"
2.
Äîîð äóðäñàíûã /etc/exports àéë óðóó íýìæ äèñêã³é root ñàí áàéãàà àéëûí ñèñòåìýý ýêñïîðò õèéíý (ýçëýõ³³íèé õîëáîõ öýãèéã òààðóóëæ margaux corbieres ãýñíèéã äèñêã³é àæëûí ñòàíöóóäûí íýðñýýð ñîëèõ õýðýãòýé): /data/misc -alldirs -ro margaux corbieres
3.
mountd-ä °°ðèéí òîõèðãîîíû àéëàà äàõèí óíøèõûã õýëíý. Õýðýâ òà ýõíèé øàòàíäàà NFS-ã /etc/rc.conf
àéëä èäýâõæ³³ëýõ õýðýãòýé áîëñîí áîë õàðèí äàõèí à÷ààëàõûã õ³ñýæ áîëîõ þì.
# /etc/rc.d/mountd restart
31.7.2.6 Äèñêã³é ö°ìèéã á³òýýõ
Õýðýâ Etherboot-ã àøèãëàæ áàéãàà áîë äèñêã³é êëèåíòäýý çîðèóëæ äàðààõ òîõèðóóëãóóäòàéãààð (åðäèéí òîõèðóóëãóóäûí õàìòààð) ö°ìèéí òîõèðãîîíû àéë ³³ñãýõ õýðýãòýé: options options
BOOTP BOOTP_NFSROOT
# Use BOOTP to obtain IP address/hostname # NFS mount root file system using BOOTP info
Òà áàñ BOOTP_NFSV3, BOOT_COMPAT áîëîí BOOTP_WIRED_TO (NOTES àéëààñ ëàâëàíà óó) òîõèðóóëãóóäûã àøèãëàõûã õ³ñýæ áîëîõ þì. Ýäãýýð òîõèðóóëãóóäûí íýðñ íü óëàìæëàëò á°ã°°ä òýäãýýð íü ÿã ³íýíäýý DHCP áîëîí BOOTP-èéí °°ð õýðýãëýýã ö°ì äîòîð èäýâõæ³³ëäýã áîëîõîîð íýëýýí ò°°ð°ãä°ëä õ³ðãýæ áîëîõ þì (ç°âõ°í BOOTP ýñâýë DHCP-èéí õýðýãëýýã àøèãëàõààð áîëãîõ áàñ áîëîìæòîé áàéäàã). Ö°ìèéã á³òýýæ (Chapter 8-ã ³çíý ³³), dhcpd.conf àéëä çààñàí áàéðëàë óðóó õóóëàõ õýðýãòýé. Note: PXE-ã àøèãëàæ áàéãàà ³åä äýýðõ òîõèðóóëãóóäòàéãààð ö°ìèéã á³òýýõ íü çààâàë øààðäëàãàã³é (õýäèéãýýð ç°âë°ä°ã áîëîâ÷). Òýäãýýðèéã èäýâõæ³³ëýõ íü ö°ìèéã ýõë³³ëýõ ÿâöàä èë³³ îëîí DHCP õ³ñýëò³³äèéã ³³ñãýæ øèíý óòãóóä áîëîí çàðèì òóñãàé òîõèîëäëóóäàä pxeboot(8)-èéí àâñàí óòãóóäûí õîîðîíä íèéöýìæã³é áàéäëûí æèæèã ýðñäýë ãàðãàõàä õ³ðãýäýã. Òýäãýýðèéã àøèãëàõûí äàâóó òàë íü áóðóó í°ë°°ëë°°ñ áîëîîä õîñòûí íýð òîõèðóóëàãääàã ÿâäàë þì. ã³é áîë òà õîñòûí íýðèéã °°ð àðãààð, æèøýý íü êëèåíòýä òóñãàéëàí çîðèóëñàí rc.conf àéëä òîõèðóóëàõ õýðýãòýé áîëíî.
Note: Etherboot-ýýð äóóäàãäàõ áîëîìæòîé áàéõûí òóëä ö°ìä ò°õ°°ð°ìæèéí áÿöõàí çààâðóóä ýìõýòãýãäñýí áàéõ õýðýãòýé áàéäàã. Èíãýõäýý òà äàðààõ òîõèðóóëãûã òîõèðãîîíû àéëäàà òîõèðóóëàõ áîëíî (NOTES òîõèðãîîíû òàéëáàðóóäûí àéëûã ³çíý ³³): hints "GENERIC.hints"
913
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
31.7.2.7 Root àéëûí ñèñòåìèéã áýëäýõ
Äèñêã³é àæëûí ñòàíöàä çîðèóëæ dhcpd.conf àéëä root-path ãýæ æàãñààãäñàí áàéðëàëä root àéëûí ñèñòåìèéã òà ³³ñãýõ õýðýãòýé. 31.7.2.7.1 root-èéã ñóóðüøóóëàõûí òóëä make world
òóøààë àøèãëàõ
Ýíý àðãà íü õóðäàí áàéõ á°ã°°ä á³ðýí îíãîí ñèñòåìèéã (ç°âõ°í root àéëûí ñèñòåì áèø) DESTDIR óðóó ñóóëãàõ áîëíî. Òà äàðààõ ñêðèïòèéã ë åðä°° àæèëëóóëàõ õýðýãòýé áîëíî: #!/bin/sh export DESTDIR=/data/misc/diskless mkdir -p ${DESTDIR} cd /usr/src; make buildworld && make buildkernel cd /usr/src/etc; make distribution
³íèéã õèéñíèé äàðàà òàíä °°ðèéíõ°° õýðýãöýýíèé äàãóó DESTDIR-ä áàéðëóóëàãäñàí °°ðèéí /etc/rc.conf áîëîí /etc/fstab àéëóóäàà °°ð÷ë°í òîõèðóóëàõ øààðäëàãà ãàð÷ áîëîõ þì. 31.7.2.8 Swap-èéã òîõèðóóëàõ
Øààðäëàãàòàé áîë ñåðâåð äýýð áàéðëàñàí swap àéëä NFS-ýýð õàíäàæ áîëíî. 31.7.2.8.1 NFS Swap
Ö°ì íü à÷ààëàõ ³åä NFS swap-èéã èäýâõæ³³ëýõèéã äýìæäýãã³é. Áè÷èãäýõ àéëûí ñèñòåìèéã õîëáîæ swap àéëûã ³³ñãýí èäýâõæ³³ëýõ çàìààð ýõë³³ëýõ ñêðèïò³³äýýð swap íü èäýâõæ³³ëýãäýõ ¼ñòîé. Çîõèõ õýìæýý á³õèé swap àéëûã ³³ñãýõäýý òà èíãýæ õèéæ áîëíî: # dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000
³íèéã èäýâõæ³³ëýõèéí òóëä òà äàðààõ ì°ðèéã °°ðèéí rc.conf àéëä íýìýõ õýðýãòýé: swapfile=/path/to/swapfile
31.7.2.9 Áóñàä àñóóäëóóä 31.7.2.9.1 Ç°âõ°í óíøèãäàõ /usr
ñàíòàéãààð àæèëëàõ
Õýðýâ äèñêã³é àæëûí ñòàíö íü X-èéã àæèëëóóëàõààð òîõèðóóëàãäñàí áîë àíõäàã÷ààð /usr-ò àëäààíû á³ðòãýëèéã õèéäýã XDM òîõèðãîîíû àéëûã òà òààðóóëàõ õýðýãòýé áîëíî.
914
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 31.7.2.9.2 FreeBSD áèø ñåðâåð àøèãëàõ
root àéëûí ñèñòåìä çîðèóëñàí ñåðâåð íü FreeBSD-ã àæèëëóóëààã³é áîë òà FreeBSD ìàøèí äýýð root
àéëûí ñèñòåì ³³ñãýýä õýðýãòýé áàéðëàë óðóó íü tar ýñâýë cpio òóøààë àøèãëàí õóóëàõ õýðýãòýé áîëíî. Ýíý òîõèîëäîëä á³õýë òîîíû èõ/áàãà (major/minor) õýìæýýí³³äèéí ÿëãààíààñ áîëîîä /dev äàõü òóñãàé àéëóóäàä çàðèìäàà àñóóäàë ãàðäàã. Ýíý àñóóäëûí øèéäýë íü FreeBSD áèø ñåðâåðýýñ óã ñàíã ýêñïîðò õèéæ ýíý ñàíãàà FreeBSD ìàøèí äýýð õîëáîí õýðýãëýã÷èéí õóâüä ò°õ°°ð°ìæèéí öýã³³äèéã õàðàãäàõã³éãýýð (transparently) õóâààðèëàõûí òóëä devfs(5)-èéã àøèãëàõ ÿâäàë þì.
31.8 ISDN ISDN òåõíîëîãè áîëîí òîíîã ò°õ°°ð°ìæèéí òóõàé ìýäýýëëèéí ñàéí ýõ ³³ñâýð íü Äàí Êåãåëèéí ISDN õóóäàñ (http://www.alumni.caltech.edu/~dank/isdn/) þì.
ISDN-èé òóõàé õÿëáàð çààâðóóäûã äîîð äóðäàâ:
Õýðýâ òà Åâðîïä àìüäàð÷ áàéãàà áîë ISDN êàðòûí õýñãèéã òà ìàãàäã³é øàëãàõûã õ³ñýæ áîëîõ þì. • Õýðýâ òà Èíòåðíýò óðóó Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷òýé dial-up-ààð áàéíãûí áèøýýð õîëáîãäîõäîî ISDN-èéã ãîë÷ëîí õýðýãëýõýýð ò°ë°âë°æ áàéãàà áîë òà Òåðìèíàë Õóâèðãàã÷äûã ³çýæ áîëîõ þì. Õýðýâ òà ³éë÷èëãýý ³ç³³ëýã÷äýý ñîëèõ áîë ýíý íü àñóóäëóóä õàìãèéí áàãàòàéãààð õàìãèéí óÿí õàòàí ÷àíàðûã òàíä °ã°õ áîëíî. • Õýðýâ òà õî¼ð LAN-èéã õîîðîíä íü õîëáîæ áàéãàà áîë ýñâýë Èíòåðíýò óðóó çîðèóëàãäñàí ISDN õîëáîëòîîð õîëáîãäîæ áàéãàà áîë çîðèóëàãäñàí ÷èãë³³ëýã÷/ã³³ð ñîíãîëòûã áîäîëöîæ áîëîõ þì. Àëü øèéäëèéã ñîíãîõûã òîäîðõîéëîõîä ÷óõàë õ³÷èí ç³éë íü °ðò°ã þì. Äàðààõ ñîíãîëòóóäûã õàìãèéí áàãà °ðò°ãòýéã°°ñ íü ýõëýýä õàìãèéí èõ °ðò°ãòýé õ³ðòýë æàãñààâ. •
31.8.1 ISDN
êàðòóóä
Õóâü íýìýð áîëãîí îðóóëñàí Õýëìóò Ìèõàåëèñ. FreeBSD-èéí ISDN øèéäýë íü èäýâõã³é êàðòûã àøèãëààä ç°âõ°í DSS1/Q.931 (áóþó Euro-ISDN) ñòàíäàðòûã äýìæäýã. Firmware íü áàñ áóñàä äîõèîíû ïðîòîêîëóóäûã äýìæäýã çàðèì èäýâõòýé êàðòóóäûã äýìæäýã; ýíý íü áàñ õàìãèéí ýõýíä äýìæèãäñýí Primary Rate (PRI) áóþó Àíõäàã÷ Õóðä á³õèé ISDN êàðòûã îðóóëäàã. isdn4bsd ïðîãðàì õàíãàìæ íü áóñàä ISDN ÷èãë³³ëýã÷³³äòýé ò³³õèé HDLC äýýã³³ðõ IP þì óó ýñâýë ñèíõðîí PPP: °°ð÷ë°í çàñâàðëàñàí sppp(4) äðàéâåð isppp-òýé ö°ìèéí PPP þì óó ýñâýë õýðýãëýã÷èéí òàëáàðûí ppp(8) àøèãëàí õîëáîãäîõ áîëîìæèéã îëãîäîã. Õýðýãëýã÷èéí òàëáàðûí ppp(8) àøèãëàí õî¼ð áóþó ò³³íýýñ äýýø ISDN B-ñóâãóóäûí ñóâàã õîëáîëòûã (channel bonding) õèéõ áîëîìæòîé áàéäàã. Óòàñ õàðèóëàã÷ ìàøèíû õýðýãëýý áàñ áàéäàã áàéäàã á°ã°°ä áàñ ïðîãðàì õàíãàìæèéí 300 baud ìîäåì çýðýã îëîí õýðýãñë³³ä áàéäàã. FreeBSD äýýð äýìæèãäñýí çàðèì PC ISDN êàðòóóäûí òîî °ñ°í íýìýãäýæ áàéãàà á°ã°°ä ýíý íü á³õ ë Åâðîï áîëîí äýëõèéí áóñàä îëîí õýñýãò àìæèëòòàéãààð àøèãëàãäàæ áàéãàà ìýäýýëë³³ä áàéäàã.
915
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Äýìæèãäñýí èäýâõã³é (ïàññèâ) ISDN êàðòóóä íü èõýâ÷ëýí Infineon (õóó÷èí Siemens) ISAC/HSCX/IPAC ISDN áè÷èë ñõåìòýé áàéäàã, ãýõäýý áàñ Cologne Chip-èéí (ç°âõ°í ISA øóãàìä) áè÷èë ñõåì³³äòýé ISDN êàðòóóä, Winbond W6692 áè÷èë ñõåì³³äòýé PCI êàðòóóä, Tiger300/320/ISAC áè÷èë ñõåìèéí õîñëîëóóäòîé çàðèì êàðòóóä áîëîí AVM Fritz!Card PCI V.1.0 áîëîí AVM Fritz!Card PnP çýðýã çàðèì íýãýí ³éëäâýðëýã÷ýýñ õàìààðàëòàé áè÷èë ñõåì á³õèé êàðòóóä îðäîã. Îäîîãîîð èäýâõòýé äýìæèãäñýí ISDN êàðòóóä íü AVM B1 (ISA áîëîí PCI) BRI êàðòóóä áîëîí AVM T1 PCI PRI êàðòóóä þì. isdn4bsd-èéí áàðèìòûí òàëààð °°ðèéí FreeBSD ñèñòåì äýýðýý /usr/share/examples/isdn/ ñàíãààñ ýñâýë áÿöõàí ç°âë°ã°°, àëäààíû ìýäýýëýë áîëîí isdn4bsd ãàðûí àâëàãà (http://people.FreeBSD.org/~hm/) çýðýã èë³³ áàðèìòûã çààñàí isdn4bsd-èéí ýõ õóóäàñ isdn4bsd (http://www.freebsd-support.de/i4b/) õàÿãààñ ³çýýðýé. Õýðýâ òà °°ð ISDN ïðîòîêîë, îäîîãîîð äýìæèãäýýã³é áàéãàà ISDN PC êàðòàíä çîðèóëæ äýìæëýã íýìýõ ýñâýë isdn4bsd-èéã °ðã°æ³³ëýõ ñîíèðõîëòîé áàéãàà áîë Hellmuth Michaelis -òàé õîëáîî áàðüíà óó. isdn4bsd-èéí ñóóëãàëò, òîõèðãîî áîëîí àëäààã îëæ çàñâàðëàõ òóõàé àñóóëòóóäàä çîðèóëàãäñàí freebsd-isdn (http://lists.FreeBSD.org/mailman/listinfo/freebsd-isdn) çàõèäëûí æàãñààëò áàéäàã. 31.8.2 ISDN
Òåðìèíàë Õóâèðãàã÷èä
Òåðìèíàë õóâèðãàã÷èä (TA) íü ìîäåìóóä íü åðäèéí óòàñíû øóãàìä çîðèóëàãäñàí áàéäàã øèã ISDN-èé õóâüä çîðèóëàãäñàí áàéäàã. Èõýíõ TA íü ñòàíäàðò Hayes ìîäåìèéí AT òóøààëûí îëîíëîãèéã àøèãëàäàã á°ã°°ä ìîäåìèéã øóóä ñîëèõ çîðèóëàëòààð àøèãëàæ áîëíî. TA íü åð°íõèéä°° ìîäåìòîé àäèë àæèëëàäàã. ßëãààòàé òàë íü õîëáîëò áîëîí äàìæóóëàõ õóðäíû õóâüä òàíû õóó÷èí ìîäåìîîñ õàìààã³é õóðäàí áàéäàã ÿâäàë þì. Òà ìîäåìèéí òîõèðãîîòîé ÿã àäèë PPP-ã òîõèðóóëàõ õýðýãòýé áîëíî. Öóâàà õóðäûã õàìãèéí °íäð°°ð àëü áîëîõ òàâüñàí ýñýõýý øàëãààðàé. TA-ã àøèãëàõûí ãîë äàâóó òàë íü äèíàìèê PPP-ýýð õèéæ áîëäîãòîé àäèë Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷òýé õîëáîãäîõ ÿâäàë þì. IP õàÿãèéí õýìæýý °ä°ð èðýõ òóòàì áàãàñàæ áàéãàà °í°° ³åä èõýíõ ³éë÷èëãýý ³ç³³ëýã÷èä òàíä ñòàòèê IP °ã°õ õ³ñýëã³é áàéäàã. Èõýíõ çîðèóëàãäñàí ÷èãë³³ëýã÷èä äèíàìèê IP õóâààðèëàëòòàé çîõèöîæ ÷àääàãã³é. TA-óóäûí áîëîìæóóä áîëîí õîëáîëòûí òîãòâîðòîé áàéäàëä çîðèóëàí òàíû àæèëëóóëæ áàéäàã PPP äýìîíä TA-óóä íü á³ðýí íàéääàã. Õýðýâ òà PPP-ã àëü õýäèéí òîõèðóóëñàí áîë ýíý íü FreeBSD ìàøèí äýýð ìîäåìèéã àøèãëàæ áàéãààä ISDN óðóó õÿëáàðààð ñàéæðóóëàõ áîëîìæèéã îëãîäîã. ýõäýý òàíä òóëãàðñàí PPP ïðîãðàì äýýð áàéñàí àñóóäëóóä áàñ õýâýýð ³ëäýõ áîëíî. Õýðýâ òà ìàêñèìóì òîãòâîðòîé áàéäëûã õ³ñýæ áàéãàà áîë õýðýãëýã÷èéí òàëáàðûí PPP áèø ö°ìèéí PPP òîõèðóóëãûã àøèãëààðàé. Äàðààõ TA-óóä íü FreeBSD-òýé àæèëëàäàã: •
Motorola BitSurfer áîëîí Bitsurfer Pro
•
Adtran
Èõýíõ áóñàä TA-óóä íü ìàãàäã³é áàñ àæèëëàõ áàéõ. TA ³éëäâýðëýã÷èä íü °°ðñäèéíõ°° á³òýýãäýõ³³íèéã ñòàíäàðò ìîäåìèéí AT òóøààëûí îëîíëîãèéí èõýíõèéã õ³ëýýí àâ÷ ÷àääàãààð õèéõèéã îðîëääîã.
916
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
àäààä TA-èéí æèíõýíý àñóóäàë íü ìîäåìóóäûí àäèë òàíû êîìïüþòåð äýýð ñàéí öóâàà êàðò õýðýãòýé ÿâäàë þì. Òà öóâàà ò°õ°°ð°ìæ³³äèéí òóõàé äýëãýðýíã³é îéëãîëò áîëîí àñèíõðîí áà ñèíõðîí öóâàà ïîðòóóäûí ÿëãààíóóäûí òàëààð FreeBSD Öóâàà Òîíîã Ò°õ°°ð°ìæ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/serial-uart/index.html)èéí çààâðààñ óíøèõ øààðäëàãàòàé. Ñòàíäàðò PC öóâàà ïîðò (àñèíõðîí) äýýð àæèëëàæ áàéãàà TA íü òàíûã 128 Kbs õîëáîëòòîé áàéñàí ÷ ãýñýí 115.2 Kbs õóðäààð õÿçãààðëàäàã. ISDN-èé ÷àääàã 128 Kbs õóðäûã á³ðýí àøèãëàõûí òóëä òà TA-ã ñèíõðîí öóâàà êàðò óðóó øèëæ³³ëýõ øààðäëàãàòàé. Äîòîîä TA õóäàëäàí àâ÷ ñèíõðîí/àñèíõðîí àñóóäëààñ òîéðîí ãàð÷èõëàà ãýæ áèòãèé òýíýãòýýðýé. Äîòîîä TA-óóä íü åðä°° ë °°ð äýýðýý á³òýýãäñýí ñòàíäàðò PC öóâàà ïîðòûí áè÷èë ñõåìòýé áàéäàã. Ýíý íü åðä°° ë °°ð öóâàà êàáåëü õóäàëäàí àâ÷ °°ð õîîñîí öàõèëãààí ñîêåò îëîõ àñóóäëûã õ°íã°â÷èëä°ã. TA-òýé ñèíõðîí êàðò íü ÿäàæ äàíãààðàà çîðèóëàãäñàí ÷èãë³³ëýã÷òýé àäèë õóðäàí áàéäàã á°ã°°ä ò³³íèéã ýíãèéí FreeBSD õàéðöàã óäèðäàæ áàéãàà íü ìàãàäã³é èë³³ óÿí õàòàí þì. Ñèíõðîí êàðò/TA áîëîí çîðèóëàãäñàí ÷èãë³³ëýã÷èéí àëèéã ñîíãîõ íü ãîë÷ëîí ñ³ñýã áèøðýëèéí àñóóäàë áàéäàã. Ýíý òàëààð çàðèì õýëýëö³³ëýã çàõèäëûí æàãñààëòóóäààð ÿâàãäñàí áàéãàà. Á³ðýí õýëýëö³³ëãèéã àðõèâóóä (http://www.FreeBSD.org/search/index.html)ààñ õàéõûã áèä ñàíàë áîëãîæ áàéíà. 31.8.3
Çîðèóëàãäñàí ISDN ³³ðí³³ä/×èãë³³ëýã÷èä
ISDN ã³³ðí³³ä ýñâýë ÷èãë³³ëýã÷èä íü ç°âõ°í FreeBSD ýñâýë áóñàä ³éëäëèéí ñèñòåìèéí õóâüä áèø þì.
×èãë³³ëýëò áîëîí ã³³ð õèéõ òåõíîëîãèéí òàëààð èë³³ äýëãýðýíã³é òàéëáàðûã ñ³ëæýýíèé ÿìàð íýã íîìíîîñ ³çíý ³³. Ýíý õýñãèéí õóâüä ÷èãë³³ëýã÷ áîëîí ã³³ð ãýñýí óõàãäàõóóíóóä íü õàðèëöàí ñîëèãäîæ àøèãëàãäàíà. Äîîä çýðýãëýëèéí ISDN ÷èãë³³ëýã÷èä/ã³³ðí³³äèéí ³íý áàãàñàæ áàéãàà áîëîõîîð ýíý íü óëàì èë³³ ò³ãýýìýë ñîíãîëò áîëîõ þì. ISDN ÷èãë³³ëýã÷ íü òàíû ëîêàë Ethernet ñ³ëæýý óðóó øóóä çàëãàãääàã æèæèã õàéðöàã áàéäàã á°ã°°ä áóñàä ã³³ð/÷èãë³³ëýã÷òýé õèéõ °°ðèéí õîëáîëòîî óäèðääàã. Ýíý íü PPP áîëîí áóñàä ò³ãýýìýë ïðîòîêîëóóäûí òóñëàìæòàé õîëáîëò õèéõ °°ðò°° öóã á³òýýãäñýí ïðîãðàì õàíãàìæòàé áàéäàã. ×èãë³³ëýã÷ íü á³ðýí ISDN õîëáîëòûã àøèãëàõ áîëîõîîð ñòàíäàðò TA-ààñ õàìààã³é èë³³ õóðäàí äàìæóóëàõ áîëîìæèéã îëãîäîã. ISDN ÷èãë³³ëýã÷èä áîëîí ã³³ðí³³äèéí ãîë àñóóäàë íü ³éëäâýðëýã÷èä õîîðîíäûí õàðèëöàí àæèëëàõ áîëîìæ àñóóäàë õýâýýð áàéãàà ÿâäàë þì. Õýðýâ òà Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷òýé õîëáîãäîõîîð ò°ë°âë°æ áàéãàà áîë òýä íàðòàé °°ðèéí õýðýãöýýíèé òàëààð õýëýëöýõ íü ç³éòýé þì. Õýðýâ òà °°ðèéí ãýðèéí LAN-èéã îèñèéí LAN-òàé õîëáîõ çýðãýýð õî¼ð LAN ñåãìåíòèéã õîîðîíä íü õîëáîõîîð ò°ë°âë°æ áàéãàà áîë ýíý íü õàìãèéí õÿëáàð àæèëëàãàà áàãàòàé øèéäýë þì. Òà õîëáîëò õèéãäýõ ãýæ áàéãàà õî¼ð òàëäàà õî¼óëàíä íü çîðèóëàí ò°õ°°ð°ìæ àâàõ áîëîõîîð õîëáîëò àæèëëàõ òàë äýýð èòãýëòýé áàéæ áîëíî. Æèøýý íü ãýðèéí êîìïüþòåð ýñâýë ñàëáàð îèñèéí ñ³ëæýýã ãîë îèñèéí ñ³ëæýýòýé õîëáîõûí òóëä äàðààõ òîõèðóóëãûã àøèãëàæ áîëíî:
917
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä Example 31-3.
Ñàëáàð îèñ ýñâýë ýðèéí ñ³ëæýý
ѳëæýý íü 10 base 2 Ethernet (“thinnet”) ñ³ëæýýíèé øóãàìàí õýëáýðèéã àøèãëàíà. Øààðäëàãàòàé áîë ÷èãë³³ëýã÷èéã ñ³ëæýýíèé êàáåëüòàé AUI/10BT õóâèðãàã÷ààð õîëáîíî. Router ISDN BRI Line FreeBSD Box
The Internet
Windows 95
Sun Workstation
Õýðýâ òàíû ãýð/ñàëáàð îèñ íü ç°âõ°í íýã êîìïüþòåð áîë òà çîðèóëàãäñàí ÷èãë³³ëýã÷èéã õîëáîõûí òóëä ýð÷èëñýí õîñ ç°ðñ°í êàáåëèéã (twisted pair crossover cable) àøèãëàæ áîëíî. Example 31-4.
îë îèñ ýñâýë áóñàä LAN
ѳëæýý íü 10 base T Ethernet (“Twisted Pair”) ñ³ëæýýíèé îä õýëáýðèéã àøèãëàíà. Hub
Router ISDN BRI Line FreeBSD Box
Novell Server
Windows 95
The Internet Sun Workstation
Èõýíõ ÷èãë³³ëýã÷èä/ã³³ðí³³äèéí íýã òîì äàâóó òàë íü íýã çýðýã 2 òóñäàà ñàéò óðóó 2 òóñäàà ÷°ë°°òýé PPP õîëáîëòóóäòàé áàéõ áîëîìæèéã îëãîäîã ÿâäàë þì. Õî¼ð öóâàà ïîðòòîé òóñãàé (èõýâ÷ëýí ³íýòýé)
918
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
çàãâàðóóäûã òîîöîõã³é áîë ýíý íü èõýíõ TA-óóä äýýð äýìæèãäýýã³é áàéäàã. ³íèéã ñóâàã õîëáîëò (channel bonding), MPP çýðýãòýé àíäóóð÷ áîëîõã³é. Æèøýý íü õýðýâ òà îèñ äýýðýý çîðèóëàãäñàí ISDN õîëáîëòòîé á°ã°°ä ò³³íèéã ÷àãíàõûã õ³ñýæ áàéãàà áîëîâ÷ °°ð íýã ISDN øóãàì àâàõûã õ³ñýõã³é áàéãàà áîë ýíý íü ìàø àøèãòàé áîëîìæ áàéæ áîëîõ þì. Îèñò áàéãàà ÷èãë³³ëýã÷ íü Èíòåðíýò óðóó õèéõ çîðèóëàãäñàí B ñóâãèéí õîëáîëòûã (64 Kbps) óäèðäàæ òóñäàà °ã°ãäëèéí õîëáîëòîä çîðèóëæ °°ð B ñóâãèéã àøèãëàæ ÷àäíà. Õî¼ð äàõü B ñóâàã íü ãàäíààñ çàëãàõ, ãàäàãø çàëãàõ þì óó ýñâýë èë³³ °ðã°í çóðâàñò çîðèóëæ ýõíèé B ñóâàãòàé öóã äèíàìèêààð õîëáîëò (bonding) õèéõýä (MPP çýðýã) àøèãëàãäàæ áîëíî. Ethernet ã³³ð íü ç°âõ°í IP óðñãàë áèø áàñ °°ð èë³³ã äàìæóóëàõ áîëîìæèéã òàíä îëãîäîã. Òà IPX/SPX ýñâýë °°ðèéí àøèãëàäàã áóñàä ïðîòîêîëóóäûíõàà àëèéã ÷ áàñ èëãýýæ áîëîõ þì. 31.9 Network Address Translation
Õ°ðâ³³ëýëò
áóþó ѳëæýýíèé Õàÿãèéí
Õóâü íýìýð áîëãîí îðóóëñàí Øåðí Ëè.
31.9.1
Òîéì
FreeBSD-èéí Network Address Translation áóþó ѳëæýýíèé Õàÿãèéí Õ°ðâ³³ëýëòèéí äýìîí íü natd(8) ãýãääýã á°ã°°ä èðæ áàéãàà ò³³õèé IP ïàêåòóóäûã õ³ëýýí àâ÷ ýõ õàÿãèéã ëîêàë ìàøèíûõààð ñîëüæ ýäãýýð ïàêåòóóäûã ãàð÷ áàéãàà IP ïàêåòèéí óðñãàëä áóöààæ äàõèí îðóóëäàã. natd(8) íü °ã°ãäëèéã áóöààí õ³ëýýí àâàõàä °ã°ãäëèéí àíõíû áàéðëàëûã òîäîðõîéëæ ÷àääàã áàéõààð ýõëýë IP õàÿã áîëîí ïîðòûã °°ð÷èëæ ò³³íèéã àíõëàí õ³ñýã÷èä áóöààæ äàìæóóëäàã.
NAT-èéí õàìãèéí ò³ãýýìýë õýðýãëýý áîë Èíòåðíýòèéí õîëáîëò õóâààëöàõ ãýãääýãèéã õèéæ ã³éöýòãýõ ÿâäàë þì.
31.9.2
Àíõíû òîõèðóóëãà
IP õàÿãèéí õýìæýý áàãàñàæ áàéãàà áîëîí êàáåëü ýñâýë DSL çýðýã °íä°ð õóðäíû õýðýãëýã÷èéí øóãàìóóä
àøèãëàõ õýðýãëýã÷äèéí òîî èõýññýíýýñ áîëîîä õ³ì³³ñò Èíòåðíýòèéí õîëáîëò õóâààëöàõ øèéäëèéí õýðýãöýý íýìýãäýõ áîëñîí áèëýý. Õýä õýäýí êîìïüþòåðóóäûã øóóä íýã õîëáîëòîîð õîëáîõ ÷àäâàð áîëîí IP õàÿã íü natd(8)-ã áîëîìæèéí ñîíãîëò áîëãîäîã. Õàìãèéí ò³ãýýìýë òîõèîëäîë íü õýðýãëýã÷ êàáåëü ýñâýë DSL øóãàìàíä íýã IP õàÿãòàé õîëáîãäñîí ìàøèíòàé á°ã°°ä LAN-ààð äàìæóóëàí õýä õýäýí êîìïüþòåðóóäàä Èíòåðíýòèéí õàíäàëò °ã°õèéí òóëä ýíý õîëáîãäñîí íýã êîìïüþòåðàà àøèãëàõûã õ³ñäýã ÿâäàë þì. ³íèéã õèéõèéí òóëä Èíòåðíýò äýõ FreeBSD ìàøèí íü ãàðö ìàÿãààð àæèëëàõ ¼ñòîé. Ýíý ãàðö ìàøèí íü õî¼ð NIC-òýé áàéõ ¼ñòîé—íýã íü Èíòåðíýòèéí ÷èãë³³ëýã÷ óðóó õîëáîãäîõûí òóëä, í°ã°°õ íü LAN óðóó õîëáîãäîõûí òóëä àøèãëàãäàõ ¼ñòîé. LAN äàõü á³õ ìàøèíóóä íü õîëáîõ ò°õ°°ð°ìæ (hub) þì óó ýñâýë øèëæ³³ëýã÷ýýð (switch) õîëáîãäñîí áàéíà. Note: FreeBSD ãàðöààð LAN-èéã Èíòåðíýòòýé õîëáîõ îëîí àðãà çàìóóä áàéäàã. Ýíý æèøýý íü õàìãèéí áàãààð áîäîõîä õî¼ð NIC-òýé ãàðöûã ç°âõ°í òàéëáàðëàõ áîëíî.
919
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Hub
Client A
Router
Client B (FreeBSD Gateway)
The Internet
³íòýé àäèë òîõèðãîîã Èíòåðíýòèéí õîëáîëòûã õóâààëöàõûí òóëä ò³ãýýìýë àøèãëàäàã. LAN ìàøèíóóäûí íýã íü Èíòåðíýòýä õîëáîãäñîí. Áóñàä ìàøèíóóä íü òýð “ãàðö” ìàøèíààð Èíòåðíýòýä õàíääàã. 31.9.3
Òîõèðãîî
Äàðààõ òîõèðóóëãóóä ö°ìèéí òîõèðãîîíû àéëä áàéõ ¼ñòîé: options IPFIREWALL options IPDIVERT
Ì°í íýìýëòýýð äàðààõ íü áàñ òîõèðîìæòîé áàéæ áîëîõ þì: options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE
Äàðààõ íü /etc/rc.conf àéëä áàéõ ¼ñòîé: gateway_enable="YES" ➊ firewall_enable="YES" ➋ firewall_type="OPEN" ➌ natd_enable="YES" natd_interface="fxp0" ➍ natd_flags="" ➎
Ìàøèíûã ãàðö ìàÿãààð àæèëëàõûã òîõèðóóëíà. sysctl net.inet.ip.forwarding=1 òóøààëûã àæèëëóóëàõ íü áàñ àäèë ³ð ä³íòýé. ➋ /etc/rc.firewall àéë äàõü ãàëò õàíûí ä³ðì³³äèéã à÷ààëàõ ³åä èäýâõæ³³ëíý. ➌ Ýíý íü óðüä÷èëàí òîäîðõîéëñîí áàéäàã á³ãäèéã îðóóëàõûã ç°âø°°ðä°ã ãàëò õàíûí ä³ðìèéí îëîíëîãèéã çààíà. Íýìýëò ò°ðë³³äèéí òàëààð /etc/rc.firewall àéëààñ ³çíý ³³. ➍ Àëü èíòåðýéñ ïàêåòóóäûã íýâòð³³ëýí äàìæóóëàõûã çààíà (Èíòåðíýòýä õîëáîãäñîí èíòåðýéñ). ➎ À÷ààëàõ ³åä natd(8)-ä äàìæóóëàõ íýìýëò òîõèðãîîíû ñîíãîëòóóä. ìí°õ òîõèðóóëãóóäûã /etc/rc.conf àéëä òîäîðõîéëñíîîð natd -interface fxp0 òóøààëûã à÷ààëàõ ³åä àæèëëóóëíà. ³íèéã ãàðààð áàñ àæèëëóóëæ áîëíî. ➊
Note: Èõ îëîí ñîíãîëòóóäûã äàìæóóëàõ áîë natd(8)-ä çîðèóëæ òîõèðãîîíû
àéëûã àøèãëàæ áàñ áîëíî. Ýíý òîõèîëäîëä äàðààõ ì°ðèéã /etc/rc.conf àéëä íýìæ òîõèðãîîíû àéëûã òîäîðõîéëîõ øààðäëàãàòàé:
920
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä natd_flags="-f /etc/natd.conf" /etc/natd.conf àéë íü òîõèðãîîíû ñîíãîëòóóäûí æàãñààëòûã íýã ì°ð°íä íýãèéã áàéõààð àãóóëäàã. Æèøýý íü äàðààõ õýñãèéí õóâüä äîîðõ àéëûã àøèãëàõ áîëíî: redirect_port tcp 192.168.0.2:6667 6667 redirect_port tcp 192.168.0.3:80 80
Òîõèðãîîíû àéëûí òóõàé äýëãýðýíã³é ìýäýýëëèéã natd(8) ãàðûí àâëàãûí õóóäàñíû -f òîõèðóóëãûí òàëààð áè÷ñýíýýñ ëàâëàíà óó. LAN-èé àðä áàéãàà ìàøèí áîëîí èíòåðýéñ á³ð RFC 1918 (ftp://ftp.isi.edu/in-notes/rfc1918.txt)-ä òîäîðõîéëîãäñîí õóâèéí ñ³ëæýýíèé õàÿãààñ çààãäñàí IP õàÿãòàé, natd ìàøèíû äîòîîä IP õàÿãèéã àíõäàã÷ ãàðö áîëãîí çààñàí áàéõ ¼ñòîé.
Æèøýý íü LAN-èé öààíà áàéãàà êëèåíò A áîëîí B íü 192.168.0.2 áîëîí 192.168.0.3 ãýñýí IP õàÿãòàé áàéõ áîë natd ìàøèíû LAN èíòåðýéñ íü 192.168.0.1 ãýñýí IP õàÿãòàé áàéíà. Êëèåíò A áîëîí B-èéí àíõäàã÷ ãàðö natd ìàøèíû 192.168.0.1-ýýð òîõèðóóëàãäàõ ¼ñòîé. natd ìàøèíû ãàäààä áóþó Èíòåðíýòèéí èíòåðýéñ íü natd(8)-ã àæèëëóóëàõûí òóëä ÿìàð íýãýí òóñãàéëñàí °°ð÷ë°ëòèéã øààðääàãã³é. 31.9.4
Ïîðò äàõèí ÷èãë³³ëýëò
natd(8)-èéí ñóë òàë íü LAN êëèåíò³³äýä Èíòåðíýòýýñ õàíäàõ áîëîìæã³é áàéäàã. LAN äàõü êëèåíò³³ä íü ãàäíàõ åðò°íö óðóó ÷èãëýñýí ãàäàãøàà õîëáîëòóóäûã õèéæ ÷àäàõ áîëîâ÷ èðæ áàéãààã õ³ëýýí àâ÷ ÷àääàãã³é. LAN êëèåíò ìàøèíóóäûí àëü íýãýí äýýð Èíòåðíýòèéí ³éë÷èëãýýí³³äèéã àæèëëóóëàõûã îðîëäîõ ³åä ýíý íü àñóóäàë ³³ñãýäýã. ³íèéã òîéðîõ õÿëáàð àðãà áîë natd ìàøèíû ñîíãîñîí Èíòåðíýòèéí ïîðòóóäûã LAN êëèåíò óðóó äàõèí ÷èãë³³ëýõ ÿâäàë þì. Æèøýý íü A êëèåíò äýýð IRC ñåðâåð, B êëèåíò äýýð âýá ñåðâåð àæèëëàæ áàéíà ãýæ ³çüå. Ýäãýýð íü ç°â àæèëëàõûí òóëä 6667 (IRC) áîëîí 80 (âýá) ïîðòóóä äýýð õ³ëýýí àâñàí õîëáîëòóóä íü òîõèðîõ ìàøèíóóä óðóó äàõèí ÷èãë³³ëýãäýõ ¼ñòîé þì. natd(8) óðóó -redirect_port òîõèðóóëãà çîõèõ ñîíãîëòóóäòàé äàìæóóëàãäàõ ¼ñòîé. Ç°â áè÷èõ ä³ðýì íü èéì áàéíà: -redirect_port proto targetIP:targetPORT[-targetPORT] [aliasIP:]aliasPORT[-aliasPORT] [remoteIP[:remotePORT[-remotePORT]]]
Äýýðõ æèøýýíèé õóâüä íýìýëò °ã°ãä°ë íü èéì áàéõ ¼ñòîé: -redirect_port tcp 192.168.0.2:6667 6667 -redirect_port tcp 192.168.0.3:80 80
Ýíý íü ç°â tcp ïîðòóóäûã LAN êëèåíò ìàøèíóóä óðóó äàõèí ÷èãë³³ëýõ áîëíî. -redirect_port íýìýëò °ã°ãäëèéã ïîðò òóñ á³ðèéã çààõàä àøèãëàõààñ ãàäíà áàñ á³ëýã ïîðòóóäûã çààõàä õýðýãëýæ áîëíî. Æèøýý íü tcp 192.168.0.2:2000-3000 2000-3000 íü 2000-ààñ 3000 õ³ðòýëõ ïîðòóóä äýýð õ³ëýýí àâñàí á³õ õîëáîëòóóäûã A êëèåíòèéí 2000-ààñ 3000 õ³ðòýëõ ïîðòóóä óðóó äàõèí ÷èãë³³ëýõ áîëíî.
921
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Ýäãýýð òîõèðóóëãóóäûã natd(8)-ã øóóä àæèëëóóëæ áàéõ ³åä /etc/rc.conf àéëä natd_flags="" òîõèðóóëãà äîòîð îðóóëæ àøèãëàæ áîëîõîîñ ãàäíà òîõèðãîîíû àéëûí òóñëàìæòàé äàìæóóëæ áîëíî. Òîõèðãîîíû ñîíãîëòóóäûí òàëààð natd(8)-ñ ëàâëàíà óó 31.9.5
Õàÿã äàõèí ÷èãë³³ëýëò
Õàÿãèéí äàõèí ÷èãë³³ëýëò íü õýä õýäýí IP õàÿãóóä áàéãàà á°ã°°ä òýäãýýð íü íýã ìàøèí äýýð áàéõ ¼ñòîé ³åä àøèãòàé áàéäàã. ³íèéã àøèãëààä natd(8) íü °°ðèéí LAN êëèåíò á³ðäýý °°ðèéí ãàäààä IP õàÿãóóäûã °ã÷ ÷àääàã. Äàðàà íü natd(8) íü LAN êëèåíò³³äýýñ èðýõ ãàäàãø ÷èãëýñýí ïàêåòóóäûã ç°â ãàäààä IP õàÿãààñ áîëãîí äàõèí áè÷èæ òóõàéí IP õàÿã äýýð èðæ áàéãàà á³õ óðñãàëûã òîõèðîõ LAN êëèåíò óðóó äàõèí ÷èãë³³ëäýã. Ýíý íü áàñ ñòàòèê NAT ãýæ íýðëýãääýã. Æèøýý íü 128.1.1.1, 128.1.1.2, áîëîí 128.1.1.3 ãýñýí IP õàÿãóóä íü natd ãàðö ìàøèíä õàðüÿàëàãäàæ áàéíà ãýæ ³çüå. 128.1.1.1 íü natd ãàðö ìàøèíû ãàäààä IP õàÿã áîëîí àøèãëàãäàæ áîëîõ áîë 128.1.1.2 áîëîí 128.1.1.3 íü A áîëîí B LAN êëèåíò³³ä óðóó áóöààæ äàìæóóëàãäàõààð áàéæ áîëíî. -redirect_address áè÷ëýã íü äàðààõ ìàÿãèéí áàéíà: -redirect_address localIP publicIP
LAN êëèåíòèéí äîòîîä IP õàÿã. LAN êëèåíòýä òîõèðîõ ãàäààä IP õàÿã.
localIP publicIP
Ýíý æèøýýíèé õóâüä ýíýõ³³ íýìýëò °ã°ãä°ë íü èíãýæ óíøèãäàæ áîëíî: -redirect_address 192.168.0.2 128.1.1.2 -redirect_address 192.168.0.3 128.1.1.3
òîõèðóóëãûí íýãýí àäèë ýäãýýð íýìýëò °ã°ãäë³³äèéã /etc/rc.conf àéëûí òîõèðóóëãàä õèéæ °ã÷ áîëîõîîñ ãàäíà òîõèðãîîíû àéëààð äàìæóóëæ áîëíî. Õàÿãèéí äàõèí ÷èãë³³ëýëò äýýð òóõàéí íýã IP õàÿã äýýð õ³ëýýí àâñàí á³õ °ã°ãä°ë äàõèí ÷èãë³³ëýãääýã ó÷ðààñ ïîðòûí äàõèí ÷èãë³³ëýëò øààðäëàãàã³é áàéäàã. natd ìàøèíû ãàäààä IP õàÿãóóä íü èäýâõòýé áàéæ ãàäààä èíòåðýéñèéí íýðýýð íýðëýãäñýí áàéõ ¼ñòîé. ³íèéã õèéõèéí òóëä rc.conf(5)-ã ³çíý ³³. -redirect_port natd_flags=""
31.10 Parallel Line IP (PLIP)
áóþó Çýðýãöýý Øóãàìûí IP
PLIP íü ïàðàëëåë áóþó çýðýãöýý ïîðòóóäûí õîîðîíä TCP/IP àæèëëóóëàõ áîëîìæ îëãîäîã. Ýíý íü ñ³ëæýýíèé êàðòã³é ìàøèíóóä äýýð ýñâýë ç°°âðèéí êîìïüþòåð äýýð ñóóëãàõàä àøèãòàé áàéäàã. Ýíý õýñýãò áèä äàðààõ ç³éëñèéã õýëýëöýõ áîëíî: • •
Çýðýãöýý (laplink) êàáåëèéã õèéõ. PLIP-ýýð õî¼ð êîìïüþòåðèéã õîëáîõ.
922
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
31.10.1
Çýðýãöýý êàáåëèéã õèéõ
Òà çýðýãöýý êàáåëèéã èõýíõ êîìïüþòåðèéí õàíãàìæèéí äýëã³³ðýýñ õóäàëäàí àâ÷ áîëíî. Õýðýâ òà òýãæ ÷àäàõã³é áîë ýñâýë òà ç³ãýýð ë ÿàæ õèéãääýãèéã ìýäýõèéã õ³ñýæ áàéãàà áîë äàðààõ õ³ñíýãò íü åðäèéí çýðýãöýý õýâëýã÷èéí êàáåëèàñ òèéì êàáåëü õýðõýí õèéõèéã õàðóóëæ áàéíà. Table 31-1.
ѳëæýýíä çîðèóëæ çýðýãöýý êàáåëü õèéõ íü
A-íýð
A-Ò°ãñã°ë
B-Ò°ãñã°ë
DATA0 -ERROR
2 15
15 2
DATA1 +SLCT
3 13
13 3
DATA2 +PE
4 12
12 4
DATA3 -ACK
5 10
10 5
DATA4 BUSY
6 11
11 6
GND
18-25
18-25
Òàéëáàð ã°ãä°ë ã°ãä°ë ã°ãä°ë Strobe
ã°ãä°ë GND
Post/Bit 0/0x01 1/0x08 0/0x02 1/0x10 0/0x04 1/0x20 0/0x08 1/0x40 0/0x10 1/0x80 -
èéã òîõèðóóëàõ
31.10.2 PLIP-
Ýõëýýä òà laplink êàáåëü îëæ àâàõ õýðýãòýé. Äàðàà íü õî¼ð êîìïüþòåð õî¼óëàà lpt(4) äðàéâåðèéí äýìæëýãòýé ö°ìòýé ýñýõèéã øàëãààðàé: # grep lp /var/run/dmesg.boot
lpt0: on ppbus0 lpt0: Interrupt-driven port
Çýðýãöýý ïîðò íü òàñàëäëààð óäèðäàãääàã ïîðò áàéõ ¼ñòîé á°ã°°ä òà °°ðèéí /boot/device.hints àéëäàà äîîð äóðäñàíòàé ò°ñòýé ì°ð³³äòýé áàéõ ¼ñòîé: hint.ppc.0.at="isa" hint.ppc.0.irq="7"
Äàðàà íü ö°ìèéí òîõèðãîîíû àéëä device plip ì°ð áàéãàà ýñýõ ýñâýë ö°ìèéí plip.ko ìîäóëü äóóäàãäñàí ýñýõèéã øàëãàíà. Àëü ÷ òîõèîëäîëä òàíûã ifconfig(8) àøèãëàí ³ç³³ëýõ ³åä çýðýãöýý ñ³ëæýýíèé èíòåðýéñ ãàð÷ èðýõ ¼ñòîé: # ifconfig plip0
plip0: flags=8810 mtu 1500
Êîìïüþòåð á³ðèéí çýðýãöýý èíòåðýéñ óðóó laplink êàáåëèà çàëãàíà. ѳëæýýíèé èíòåðýéñèéí °ã°ãäë³³äèéã õî¼ð òàëûí õî¼óëàí äýýð root õýðýãëýã÷ýýð òîõèðóóëíà. Æèøýý íü õýðýâ òà host1 õîñòûã °°ð host2 ìàøèíòàé õîëáîõûã õ³ñâýë: host1 <-----> host2
923
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä IP Address host1
10.0.0.1
10.0.0.2
äýýðõ èíòåðýéñèéã äîîð äóðäñàíûã õèéæ òîõèðóóëíà:
# ifconfig plip0 10.0.0.1 10.0.0.2
host2
äýýðõ èíòåðýéñèéã äîîð äóðäñàíûã õèéæ òîõèðóóëíà:
# ifconfig plip0 10.0.0.2 10.0.0.1
Òà îäîî àæèëëàäàã õîëáîëòòîé áîëñîí áàéõ ¼ñòîé. Äýëãýðýíã³é ìýäýýëëèéã lp(4) áîëîí lpt(4) ãàðûí àâëàãûí õóóäàñíóóäààñ óíøèíà óó. Òà õî¼ð õîñòûã õî¼óëàíã íü /etc/hosts àéëä íýìýõ õýðýãòýé: 127.0.0.1 10.0.0.1 10.0.0.2
localhost.my.domain localhost host1.my.domain host1 host2.my.domain host2
Õîëáîëò àæèëëàæ áàéãààã áàòàëãààæóóëàõûí òóëä õîñò á³ð óðóó î÷îîä í°ã°° òàë óðóó ping õèéíý. Æèøýý íü host1 äýýð: # ifconfig plip0
plip0: flags=8851 mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 # netstat -r
Routing tables Internet: Destination host2
Gateway host1
Flags UH
Refs 0
Use 0
Netif Expire plip0
# ping -c 4 host2
PING host2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255
time=2.774 time=2.530 time=2.556 time=2.714
ms ms ms ms
--- host2 ping statistics --4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
31.11 IPv6
Àíõëàí áè÷ñýí Ààðîí Êàïëàí. Äàõèí á³òöèéã °°ð÷èëæ íýìñýí Òîì °³äñ. ðã°òã°ñ°í Áðýä Äýéâèñ. IPv6 (áàñ IPng “IP next generation” áóþó äàðàà ³åèéí IP ãýãääýã) íü îëîíä òàíèãäñàí IP ïðîòîêîëûí (áàñ IPv4 ãýãääýã) øèíý õóâèëáàð þì. Îäîîãèéí áóñàä *BSD ñèñòåì³³äèéí àäèë FreeBSD íü KAME IPv6 ëàâëàãàà øèéäëèéã àãóóëäàã. Òýãýõýýð òàíû FreeBSD ñèñòåì òàíûã IPv6-ã òóðøèõàä õýðýãòýé á³õíèéã àãóóëñàí áàéäàã. Ýíý õýñýã íü IPv6-ã òîõèðóóëæ àæèëëóóëàõ òàëààð àíõààðëàà õàíäóóëàõ áîëíî.
924
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 1990 îíû ýõýí ³åýñ õ³ì³³ñ IPv4-èéí õàÿãèéí õýìæýý õóðäàöòàé áàãàñàæ áàéãààã ìýäýõ áîëñîí. Èíòåðíýòèéí °ñ°ëòèéí õóðäààñ õàìààðààä õî¼ð ãîë àñóóäàë ãàð÷ èðñýí:
Õàÿãã³é áîëæ ýõýëñýí. RFC1918 õóâèéí õàÿãèéí òàëáàð (10.0.0.0/8, 172.16.0.0/12, áîëîí 192.168.0.0/16) áîëîí Network Address Translation (NAT) áóþó ѳëæýýíèé õàÿãèéí õ°ðâ³³ëýëòèéã àøèãëàäàã áîëñîí áîëîõîîð °í°°ä°ð ýíý íü òèéì ÷ ÷óõàë àñóóäàë áàéõàà áîëüñîí. • ×èãë³³ëýã÷èéí õ³ñíýãòèéí îðóóëãóóä õýòýðõèé èõñýæ áàéãàà ÿâäàë. Ýíý íü °í°°ä°ð àñóóäàë õýâýýð áàéãàà áèëýý. IPv6 íü ýäãýýð àñóóäëóóä áîëîí °°ð áóñàä îëíûã øèéääýã: •
•
128 áèòèéí õàÿãèéí òàëáàð. °ð°°ð õýëáýë îíîëûí õóâüä 340,282,366,920,938,463,463,374,607,431,768,211,456 õàÿã áàéíà. Ýíý íü ìàíàé ãàðèã äýýðõ íýã êâàäðàò ìåòð á³ðò îéðîëöîîãîîð 6.67 * 10^27 IPv6 õàÿã áàéíà ãýñýí ³ã þì.
×èãë³³ëýã÷³³ä íü ç°âõ°í ñ³ëæýýíèé íèéëáýð õàÿãóóäûã °°ðñäèéí ÷èãë³³ëýëòèéí õ³ñíýãò³³äýä õàäãàëàõ á°ã°°ä èíãýñíýýð ÷èãë³³ëýëòèéí õ³ñíýãòèéí äóíäàæ õýìæýýã 8192 õ³ðòýë áóóðóóëäàã. IPv6-èéí áóñàä àøèãòàé îëîí áîëîìæóóä áàñ áàéäàã, òýäãýýðýýñ äóðäâàë: •
Õàÿãèéí àâòîìàò òîõèðãîî (RFC2462 (http://www.ietf.org/rfc/rfc2462.txt)) • Anycast õàÿãóóä (“one-out-of many” áóþó îëíîîñ ãàíö) • Çàéëøã³é øààðäëàãàòàé (mandatory) multicast õàÿãóóä • IPsec (IP security áóþó íóóöëàã) • Õÿëáàðøóóëñàí òîëãîéí á³òýö • Õ°ä°ëã°°íò IP • IPv6-to-IPv4 øèëæèëòèéí àðãà çàìóóä Äýëãýðýíã³é ìýäýýëëèéí òàëààð äîîðîîñ ³çíý ³³: •
•
playground.sun.com (http://playground.sun.com/pub/ipng/html/ipng-main.html) äýõ IPv6-èéí òóõàé òîéì
•
KAME.net (http://www.kame.net)
31.11.1 IPv6
õàÿãóóäûí òóõàé ñóóðü ìýäýýëýë
IPv6 õàÿãóóäûí °°ð °°ð ò°ðë³³ä áàéäàã: Unicast, Anycast, áîëîí Multicast.
Unicast õàÿãóóä íü áèäíèé ìýääýã õàÿãóóä þì. Unicast õàÿã óðóó èëãýýñýí ïàêåò íü ÿã òýð õàÿãò õàðãàëçàõ èíòåðýéñ äýýð èðäýã.
Anycast õàÿãóóäûã unicast õàÿãóóäààñ ÿëãàõ áîëîìæã³é áàéäàã áîëîâ÷ òýäãýýð íü á³ëýã èíòåðýéñ³³äèéã õàÿãëàäàã. Anycast õàÿã óðóó ÷èãëýñýí ïàêåò õàìãèéí îéðûí (÷èãë³³ëýã÷èéí õýìæèëòèéí õóâüä) èíòåðýéñ äýýð èðýõ áîëíî. Anycast õàÿãóóäûã ç°âõ°í ÷èãë³³ëýã÷èä àøèãëàæ áîëîõ þì.
Multicast õàÿãóóä íü á³ëýã èíòåðýéñ³³äèéã òàíüäàã. Multicast õàÿã óðóó ÷èãëýñýí ïàêåò íü multicast á³ëýãò õàðüÿàëàãäàõ á³õ èíòåðýéñ³³ä äýýð èðýõ áîëíî.
925
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä Note: IPv4 öàöàõ (broadcast) õàÿã (èõýâ÷ëýí xxx.xxx.xxx.255) íü IPv6-èéí multicast õàÿãóóäààð èëýðõèéëýãääýã.
Table 31-2.
Í°°ö IPv6 õàÿãóóä
IPv6 õàÿã
Prefixlength áóþó óãòâàðûí óðò (áèòýýð)
Òàéëáàð
Òýìäýãëýë
::
128 áèò
òîäîðõîéëîãäîîã³é
õàðüöóóëáàë IPv4 äýõ
::1
128 áèò
loopback áóþó áóöàõ õàÿã
õàðüöóóëáàë IPv4 äýõ
::00:xx:xx:xx:xx
96 áèò
::ff:xx:xx:xx:xx
96 áèò
fe80:: - feb::
10 áèò
fec0:: - fef::
10 áèò
ff:: 001 (
8 áèò
õî¼ðòûí ñèñòåìýýð) 3 áèò
31.11.2 IPv6
ñóóëãàãäñàí IPv4
0.0.0.0
127.0.0.1
Áàãà 32 áèò íü IPv4 õàÿã þì. Áàñ “IPv4 íèéöòýé IPv6 õàÿã” ãýãääýã IPv4-ð èëýðõèéëýãäñýí Áàãà 32 áèò íü IPv4 õàÿã IPv6 õàÿã þì. IPv6-ã äýìæäýãã³é õîñòóóäàä çîðèóëñàí. link-local õàðüöóóëáàë IPv4 äýõ loopback áóþó áóöàõ õàÿã site-local multicast
ãëîáàë unicast
Á³õ ãëîáàë unicast õàÿãóóä íü ýíý ö°°ðì°°ñ çààãäàíà. Ýõíèé 3 áèò íü “001” áàéíà.
õàÿãóóäûã óíøèõ íü
ijðìèéí äàãóó èéì õýëáýðòýé áàéíà: x:x:x:x:x:x:x:x õýëáýðèéí áàéõ á°ã°°ä “x” á³ð íü 16 áèòèéí àðâàí çóðãààò óòãà áàéíà. Æèøýý íü FEBC:A574:382B:23C1:AA49:4592:4EFE:9982 Õàÿã íü èõýíõäýý äàíäàà òýã³³äýýñ òîãòîõ óðò äýä õýñã³³äýýñ òîãòîæ áîëîõ á°ã°°ä õàÿãèéí òèéì õýñãèéã “::” ãýæ õóðààíãóéëæ áîëíî. Ä°ðâ°í àðâàí çóðãààò òîîíû ãóðàâ õ³ðòýëõ ýõíèé “0”-³³äèéã îðõèæ áàñ áîëíî. Æèøýý íü fe80::1 íü ä³ðýìä çààñàí õýëáýðýýð áîë fe80:0000:0000:0000:0000:0000:0000:0001 áàéíà. óðàâ äàõü õýëáýð íü ñ³³ëèéí 32 áèò õýñãèéã áèäíèé ìýääýã (àðàâòûí) IPv4 çàãâàðûí öýã³³äýýð “.” òóñãààðëàæ áè÷èõ ÿâäàë þì. Æèøýý íü 2002::10.0.0.1 íü (àðâàí çóðãààòûí) ä³ðýìä çààñíààð 2002:0000:0000:0000:0000:0000:0a00:0001 áîëîõ á°ã°°ä ³³íèéã áàñ 2002::a00:1 ãýæ áè÷èæ áîëîõ þì. Ýíý õ³ðòýë óíøèã÷ äîîð äóðäñàíûã îéëãîæ ÷àäàæ áàéõ ¼ñòîé: # ifconfig
rl0: flags=8943 mtu 1500 inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
926
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 ether 00:00:21:03:08:e1 media: Ethernet autoselect (100baseTX ) status: active fe80::200:21ff:fe03:8e1%rl0 íü àâòîìàòààð òîõèðóóëàãäñàí link-local õàÿã þì. Ýíý íü MAC õàÿãààñ àâòîìàò òîõèðãîîíû õýñýã áîëîí ³³ñãýãääýã. IPv6 õàÿãóóäûí á³òöèéí òóõàé äýëãýðýíã³é ìýäýýëëèéã RFC3513 (http://www.ietf.org/rfc/rfc3513.txt) õàÿãààñ ³çíý ³³.
31.11.3
Õîëáîãäîõ íü
Îäîîãîîð áóñàä IPv6 õîñòóóä áîëîí ñ³ëæýýí³³äòýé õîëáîãäîõ ä°ðâ°í àðãà áàéäàã: •
•
• •
IPv6 ³éë÷èëãýý ³ç³³ëäýã ýñýõèéã ìýäýõèéí òóëä °°ðèéí Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷èä õàíäàõ õýðýãòýé. SixXS (http://www.sixxs.net) íü äýëõèé äàÿàð ýöñèéí õýðýãëýã÷äèéí õîîðîíä òóííåëèéí ³éë÷èëãýý ³ç³³ëäýã. 6-ààñ-4 óðóó òóííåëü õèéõ (RFC3068 (http://www.ietf.org/rfc/rfc3068.txt))
Õýðýâ òà dial-up õîëáîëò äýýð áàéãàà áîë net/freenet6 ïîðòûã àøèãëàõ õýðýãòýé.
31.11.4 IPv6
åðò°íö äýõ DNS
IPv6-ä çîðèóëñàí õî¼ð ò°ðëèéí DNS áè÷ëýã áàéäàã. IETF íü A6 áè÷ëýãèéã õóó÷èí, õýðýãöýýíýýñ ãàðñàí ãýæ çàðëàñàí. AAAA áè÷ëýã³³ä íü îäîî ñòàíäàðò áîëñîí áàéãàà.
AAAA áè÷ëýã³³äèéã àøèãëàõ íü àìàðõàí. °ðèéí õîñòûí íýðèéã ä°íã°æ àâñàí øèíý IPv6 õàÿãò çààæ äîîð äóðäñàíûã: MYHOSTNAME
AAAA
MYIPv6ADDR
°°ðèéí àíõäàã÷ á³ñèéí DNS àéë óðóó íýìæ °ãí°. Òà °°ðèéí DNS á³ñ³³äèéã óäèðääàãã³é áîë °°ðèéí DNS ³éë÷èëãýý ³ç³³ëýã÷ýýñ àñóóõ õýðýãòýé. bind (8.3 áà 9 õóâèëáàð) áîëîí dns/djbdns-èéí (IPv6 çàñâàðòàé) îäîîãèéí õóâèëáàðóóä AAAA áè÷ëýã³³äèéã äýìæäýã. 31.11.5 /etc/rc.conf
àéëä õýðýãöýýòýé °°ð÷ë°ëò³³äèéã õèéõ íü
31.11.5.1 IPv6 êëèåíòèéí òîõèðãîîíóóä
Ýäãýýð òîõèðãîîíóóä íü òàíû LAN-ä áàéõ ìàøèíûã ÷èãë³³ëýã÷ áèø êëèåíò ìàÿãààð àæèëëóóëàõààð òîõèðóóëàõàä òàíä òóñëàõ áîëíî. Òàíû èíòåðýéñèéã à÷ààëàõ ³åä àâòîìàòààð rtsol(8)-îîð òîõèðóóëóóëàõûí òóëä òàíû íýìýõ ¼ñòîé ç³éë áîë äàðààõ ì°ð þì: ipv6_enable="YES"
927
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä 2001:471:1f11:251:290:27ff:fee0:2093
°ã°õèéí òóëä äîîð äóðäñàíûã íýìíý:
çýðýã IP õàÿãèéã °°ðèéí fxp0 èíòåðýéñä ñòàòèêààð
ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093" 2001:471:1f11:251::1
íýìíý:
àíõäàã÷ ÷èãë³³ëýã÷èéã çààæ °ã°õä°° äîîð äóðäñàíûã /etc/rc.conf àéëä
ipv6_defaultrouter="2001:471:1f11:251::1"
31.11.5.2 IPv6 ÷èãë³³ëýã÷/ãàðöûí òîõèðãîîíóóä
Ýíý íü òàíû òóííåëèéí ³éë÷èëãýý ³ç³³ëýã÷èéí °ãñ°í ÷èãëýë³³äèéã àâ÷ òýäãýýðèéã äàõèí à÷ààëñàí ÷ ãýñýí ³ëäýõýýð áîëãîæ òîõèðãîî áîëãîí õ°ðâ³³ëýõýä òàíä òóñëàõ áîëíî. Ýõë³³ëýõ ³åä °°ðèéí òóííåëèéã ñýðãýýõèéí òóëä äîîð äóðäñàíòàé ò°ñòýéã /etc/rc.conf àéëä àøèãëàíà: Òîõèðóóëàõ Åðäèéí Òóííåëü õèéõ èíòåðýéñ³³äèéã æàãñààíà. Æèøýý íü gif0: gif_interfaces="gif0" MY_IPv4_ADDR ãýñýí ëîêàë ò°ãñã°ëòýé èíòåðýéñèéã REMOTE_IPv4_ADDR ãýñýí àëñûí ò°ãñã°ë óðóó òîõèðóóëàõûí òóëä: gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR"
°ðèéí IPv6 òóííåëèéí ò°ãñã°ë áîëãîí àøèãëàõààð òàíû çààæ °ãñ°í IPv6 õàÿãèéã õàìààðóóëàõûí òóëä äîîð äóðäñàíûã íýìíý: ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR"
Òýãýýä òàíû õèéõ ç³éë ÷èíü IPv6-ä çîðèóëæ àíõäàã÷ ÷èãë³³ëýëò òîõèðóóëàõ ÿâäàë þì. Ýíý íü IPv6 òóííåëèéí í°ã°° òàë áàéõ áîëíî: ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR"
31.11.5.3 IPv6 òóííåëèéí òîõèðãîîíóóä
Õýðýâ ñåðâåð íü òàíû áóñàä ñ³ëæýý áîëîí ãàäààä åðò°íöèéí õîîðîíä IPv6-ã ÷èãë³³ëýõ áîë äàðààõ /etc/rc.conf òîõèðóóëãà áàñ õýðýãòýé áîëíî: ipv6_gateway_enable="YES"
31.11.6
×èãë³³ëýã÷èéí çàðëàëò áà Õîñòûí àâòîìàò òîõèðãîî
Ýíý õýñýã íü IPv6 àíõäàã÷ ÷èãë³³ëýëòèéã çàðëàõûí òóëä rtadvd(8)-ã òîõèðóóëàõàä òàíü òóñëàõ áîëíî. rtadvd(8)-ã èäýâõæ³³ëýõèéí òóëä òàíû /etc/rc.conf àéëä äàðààõ òîõèðãîî õýðýãòýé áîëíî: rtadvd_enable="YES"
928
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä IPv6 ÷èãë³³ëýã÷èéí ò°ë°°ë°ëò õèéãäýõ èíòåðýéñèéã çààõ íü ÷óõàë þì. Æèøýý íü rtadvd(8)-ä fxp0-ã àøèãëàõûã õýëæ °ã°õèéí òóëä äîîð äóðäñàíûã íýìíý: rtadvd_interfaces="fxp0"
Îäîî áèä /etc/rtadvd.conf òîõèðãîîíû àéë ³³ñãýõ ¼ñòîé. Ýíä æèøýý áàéíà: fxp0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
ã °°ðèéí àøèãëàõ èíòåðýéñýýð ñîëèõ õýðýãòýé. Äàðàà íü 2001:471:1f11:246::-ã °°ðèéí õóâààðèëàëòûí óãòâàðààð ñîëèîðîé. Õýðýâ òà /64 äýä ñ³ëæýýã çîðèóëñàí áîë °°ð áóñàä ÿìàð ÷ °°ð÷ë°ëò õèéõ õýðýãã³é. Õýðýâ òèéì áèø áîë òà prefixlen# áóþó óãòâàðûí óðòûã ç°â óòãààð °°ð÷ë°õ øààðäëàãàòàé.
fxp0-
31.12 Asynchronous Transfer Mode (ATM)
Äàìæóóëàõ îðèì
áóþó Àñèíõðîí
Õóâü íýìýð áîëãîí îðóóëñàí Õàðòè Áðàíäò.
31.12.1 ATM
äýýã³³ð êëàññèê IP òîõèðóóëàõ íü (PVC-í³³ä)
Classical IP over ATM (CLIP) áóþó ATM äýýã³³ðõ êëàññèê IP íü Asynchronous Transfer Mode (ATM) áóþó Àñèíõðîí Äàìæóóëàõ îðèìûã IP-òàé àøèãëàõ õàìãèéí ýíãèéí àðãà þì. Ýíý íü switched áóþó øèëæ³³ëýãäñýí (SVC-í³³ä) áà permanent áóþó áàéíãûí (PVC-í³³ä) õîëáîëòóóäòàé àøèãëàãäàæ áîëäîã. Ýíý õýñýã íü ñ³ëæýýí äýýð òóëãóóðëàñíûã PVC-í³³ä äýýð õýðõýí òîõèðóóëàõ òàëààð òàéëáàðëàäàã. 31.12.1.1 Á³ðýí òîð õýëáýðèéí òîõèðãîîíóóä
CLIP-èéã PVC-í³³äòýé òîõèðóóëàõ ýõíèé àðãà íü ìàøèí á³ðèéã ñ³ëæýýí äýõ áóñàä ìàøèí á³ðòýé çîðèóëàãäñàí PVC-ýýð õîëáîõ ÿâäàë þì. ³íèéã òîõèðóóëàõ õÿëáàð áàéäàã áîëîâ÷ èõ îëîí òîîíû ìàøèíóóä äýýð á³òýøã³é áàéäàã. Ýíý æèøýý íü ñ³ëæýýíä áèäýíä ä°ðâ°í ìàøèí áàéãàà á°ã°°ä ìàøèí á³ð ATM ñ³ëæýýíä ATM õóâèðãàã÷ êàðòûí òóñëàìæòàé õîëáîãäñîí ãýæ ³çäýã. Ýõíèé àëõàì íü IP õàÿãóóä áîëîí ìàøèíóóäûí õîîðîíä ATM õîëáîëòóóäûã ò°ë°âë°õ ÿâäàë þì. Áèä äîîð äóðäñàíûã àøèãëàíà:
Õîñò
IP õàÿã
hostA
192.168.173.1
hostB
192.168.173.2
hostC
192.168.173.3
hostD
192.168.173.4
Á³ðýí òîð õýëáýðèéí ñ³ëæýýã á³òýýõèéí òóëä ìàøèíóóäûí õîñëîë á³ðèéí õîîðîíä íýã ATM õîëáîëò áèäýíä õýðýãòýé:
929
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Ìàøèíóóä
VPI.VCI
hostA - hostB hostA - hostC
0.100 0.101
hostA - hostD
0.102
hostB - hostC hostB - hostD
0.103 0.104
hostC - hostD
0.105
õîñëîë
Õîëáîëòûí ò°ãñã°ë á³ð äýõ VPI áîëîí VCI óòãóóä íü ìýäýýæ ÿëãààòàé áàéõ áîëîâ÷ àìàðõàí áàéëãàõ ³³äíýýñ áèä òýäãýýðèéã àäèë ãýæ ³çíý. Äàðàà íü áèä ATM èíòåðýéñ³³äèéã õîñò á³ð äýýð òîõèðóóëàõ õýðýãòýé áîëíî: hostA# hostB# hostC# hostD#
ifconfig ifconfig ifconfig ifconfig
hatm0 hatm0 hatm0 hatm0
192.168.173.1 192.168.173.2 192.168.173.3 192.168.173.4
up up up up
Èíãýõäýý á³õ õîñòóóä äýýð ATM èíòåðýéñ íü hatm0 ãýæ ³çýõ áîëíî. Îäîî PVC-í³³ä íü hostA äýýð òîõèðóóëàãäàõ øààðäëàãàòàé (áèä òýäãýýðèéã ATM øèëæ³³ëýã÷ äýýð àëü õýäèéí òîõèðóóëàãäñàí ãýæ ³çíý, ³³íèéã õýðõýí õèéõèéã øèëæ³³ëýã÷èéí ãàðûí àâëàãààñ ëàâëàõ õýðýãòýé). hostA# atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr hostA# atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr hostA# atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr hostB# atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr hostB# atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr hostB# atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr hostC# atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr hostC# atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr hostC# atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr hostD# atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr hostD# atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr hostD# atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr
Ìýäýýæ õýðýã UBR-ñ áóñàä óðñãàëûí õýëýëöýýí³³ä õýðýâ ATM õóâèðãàã÷ òýäãýýðèéã äýìæäýã áîë àøèãëàãäàæ áîëíî. Ýíý òîõèîëäîëä óðñãàëûí õýëýëöýýíèé íýð íü óðñãàëûí íýìýëò °ã°ãäë³³äèéí äàðàà îðæ áàéíà. atmconfig(8) õýðýãñýëä çîðèóëñàí òóñëàìæèéã äàðààõ òóøààëûã àøèãëàí: # atmconfig help natm add
àâ÷ áîëîõ á°ã°°ä ýñâýë atmconfig(8) ãàðûí àâëàãààñ àâ÷ áîëíî. ³íòýé àäèë òîõèðãîîã /etc/rc.conf àøèãëàí áàñ õèéæ áîëíî. hostA-èéí õóâüä ýíý íü èéìýðõ³³ õàðàãäàíà: network_interfaces="lo0 hatm0" ifconfig_hatm0="inet 192.168.173.1 up" natm_static_routes="hostB hostC hostD"
930
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr" route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr" route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"
Á³õ CLIP ÷èãë³³ëýëò³³äèéí òóõàéí ³åèéí ò°ëâèéã äàðààõ òóøààëààð àâ÷ áîëíî: hostA# atmconfig natm show
31.13 Common Access Redundancy Protocol (CARP)
õàíäàëòûí íèéòëýã ïðîòîêîë
áóþó Îëîí
Õóâü íýìýð áîëãîí îðóóëñàí Òîì °³äñ. Common Access Redundancy Protocol áóþó CARP íü îëîí õîñòóóäàä íýã IP õàÿã õóâààëöàõ áîëîìæèéã îëãîäîã. Çàðèì òîõèðãîîíóóäûí õóâüä ³³íèéã áàéíãûí áýëýí áàéäàë þì óó ýñâýë à÷ààëàë òýãø õóâààðèëàõàä àøèãëàæ áîëîõ þì. Ýíä äóðäñàí æèøýýíèé àäèëààð õîñòóóä íü áàñ °°ð °°ð IP õàÿãóóä àøèãëàæ áîëîõ þì. CARP-èéí äýìæëýãèéã èäýâõæ³³ëýõèéí òóëä FreeBSD ö°ìèéã äàðààõ òîõèðóóëãàòàéãààð á³òýýñýí áàéõ õýðýãòýé: device carp
CARP áîëîìæ íü îäîî õ³ðòýýìæòýé áîëñîí áàéõ ¼ñòîé á°ã°°ä ò³³íèéã õýä õýäýí sysctl-èéí OID-óóäûí òóñëàìæòàéãààð òààðóóëæ áîëíî: OID net.inet.carp.allow net.inet.carp.preempt
net.inet.carp.log
net.inet.carp.arpbalance
Òàéëáàð Èðæ áàéãàà CARP ïàêåòóóäûã õ³ëýýæ àâàõ. Àíõäàã÷ààð èäýâõæñýí áàéäàã. Ýíý òîõèðóóëãà íü õîñò äýýðõ á³õ CARP èíòåðýéñ³³äèéã àëü íýã íü çîãññîí òîõèîëäîëä çîãñîîäîã. Àíõäàã÷ààð èäýâõæýýã³é áàéäàã. 0 ãýñýí óòãà íü á³ðòãýëèéã èäýâõæ³³ëäýãã³é. 1 ãýñýí óòãà íü ìóó CARP ïàêåòóóäûí á³ðòãýëèéã èäýâõæ³³ëäýã. 1-ýýñ èõ óòãóóä íü CARP èíòåðýéñ³³äèéí õóâüä ò°ëâèéí °°ð÷ë°ëò³³äèéí á³ðòãýëèéã èäýâõæ³³ëäýã. Àíõäàã÷ óòãà íü 1 áàéíà. ARP àøèãëàí äîòîîä ñ³ëæýýíèé óðñãàëûã òýíöâýðæ³³ëíý. Àíõäàã÷ààð èäýâõæýýã³é áàéäàã.
931
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
Òàéëáàð
OID
Preemption áóþó °°ð èë³³ °íä°ð äàâóó ýðõ á³õèé áîäëîãî/óðñãàëààð ñîëèãäîõ áîëîìæèéã õààñàí õîðèãëîëòûí ò°ëâèé㠳糳ëýõ ç°âõ°í óíøèãäàõ OID. Õýðýâ èíòåðýéñ äýýðõ õîëáîîñ áîñîîã³é áîë èë³³ °íä°ð äàâóó ýðõ á³õèé áîäëîãî/óðñãàëààð ñîëèãäîõ áîëîìæèéã õààæ áîëíî. 0 óòãà íü èë³³ °íä°ð äàâóó ýðõ á³õèé áîäëîãî/óðñãàëààð ñîëèãäîõ áîëîìæ õààãäààã³é ãýñýí óòãàòàé. Àñóóäàë á³ð ýíý OID-èéã íýãýýð àõèóëæ íýìýãä³³ëíý. CARP ò°õ°°ð°ìæ³³äèéã ifconfig òóøààëààð ³³ñãýæ áîëíî: net.inet.carp.suppress_preempt
# ifconfig carp0 create
Æèíõýíý àìüäðàë äýýð ýäãýýð èíòåðýéñ³³äýä VHID ãýãääýã äàâõàðäàõã³é äóãààðóóä õýðýãòýé áîëíî. Ýíý VHID áóþó Âèðòóàë Õîñòûí íýìëýõ íü ñ³ëæýýí äýõ õîñòûã ÿëãàõàä õýðýãëýãäýõ áîëíî. 31.13.1 (CARP)
Ñåðâåðò õàíäàõ áîëîìæèéã áàéíãà õàíãàõûí òóëä CARP-èéã àøèãëàõ íü
Äýýð äóðäñàí CARP-èéí íýã õýðýãëýý íü ñåðâåðèéí áýëýí áàéäàëä çîðèóëàãäæýý. Ýíý æèøýý íü °°ð °°ð IP õàÿãóóäòàé, èæèë âýáèéí àãóóëãà á³õèé ãóðâàí õîñòûí õóâüä áàéíãûí áýëýí áàéäàëä áàéõ äýìæëýãèéã õàðóóëàõ áîëíî. Ýäãýýð ìàøèíóóä íü Òîéðîí Ýðãýõ DNS òîõèðãîîòîéãîîð àæèëëàõ áîëíî. Àìæèëòã³é áîëñîí ³åä õàíäàõ í°°ö ìàøèí íü õî¼ð íýìýëò CARP èíòåðýéñòýé áàéõ á°ã°°ä àãóóëãûí ñåðâåð á³ðèéí IP-íèé õóâüä àøèãëàãäàíà. Õàíäàëò àìæèëòã³é áîëîõîä àìæèëòã³é áîëñîí ìàøèíû IP õàÿãèéã í°°ö ñåðâåð àâàõ ¼ñòîé. Ýíý íü õýðýãëýã÷èä àìæèëòã³é áîëñîí íü ìýäýãäýõã³é ãýñýí ³ã þì. Í°°ö ñåðâåð íü à÷ààëëûã àâàõ ¼ñòîé áîë áóñàä àãóóëãûí ñåðâåð³³äòýé èæèë àãóóëãà áîëîí ³éë÷èëãýýí³³äòýé áàéõ ¼ñòîé. Õî¼ð ìàøèí íü °ã°ãäñ°í õîñòûí íýð áîëîí VHID-³³äýýñ áóñäààðàà àäèëõàí òîõèðóóëàãäñàí áàéõ ¼ñòîé. Ýíý æèøýýí äýýð ýäãýýð ìàøèíóóäûã hosta.example.org áîëîí hostb.example.org ãýæ íýðëýñýí áàéãàà. Ýõëýýä CARP-èéí òîõèðãîîíä øààðäëàãàòàé ì°ð³³äèéã rc.conf àéëä íýìýõ õýðýãòýé. hosta.example.org õîñòûí õóâüä rc.conf àéë äîîð äóðäñàí ì°ð³³äèéã àãóóëñàí áàéõ ¼ñòîé: hostname="hosta.example.org" ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24" hostb.example.org
äýýð äîîð äóðäñàí ì°ð³³äèéã rc.conf àéë àãóóëñàí áàéõ ¼ñòîé:
hostname="hostb.example.org" ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24" Note: Õàìãèéí ÷óõàë íü ifconfig
òóøààëä pass òîõèðóóëãààð çààãäñàí íóóö ³ãñ íü àäèë áàéõ ¼ñòîé. carp ò°õ°°ð°ìæ³³ä íü ç°âõ°í ç°â íóóö ³ã á³õèé ìàøèíóóäààñ èðýõ çàðëàëòóóäûã ñîíñîõ áîëíî. VHID íü ìàøèí á³ðèéí õóâüä °°ð °°ð áàéõ ¼ñòîé.
932
Chapter 31 ѳëæýýíèé íýìýëò îéëãîëòóóä
óðàâ äàõü provider.example.org ìàøèíûã àëü íýã õîñò ðóó õàíäàõàä àìæèëòã³é áîëîõîä õàíäàæ áîëîõîîð áîëãîæ áýëäýõ õýðýãòýé. Ýíý ìàøèíä õî¼ð carp ò°õ°°ð°ìæ õýðýãòýé áîëîõ á°ã°°ä íýã íýãýýðýý õî¼ð õîñòòîé àæèëëàõ þì. rc.conf-èéí ç°â òîõèðãîîíû ì°ð³³ä äîîð äóðäñàíòàé ò°ñ°°òýé áàéõ áîëíî: hostname="provider.example.org" ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0" cloned_interfaces="carp0 carp1" ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24" ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"
Õî¼ð carp ò°õ°°ð°ìæòýé áàéõ íü õàðèó °ã°õ°° áàéñàí àëü íýã ìàøèíûã ìýäýæ IP õàÿãèéã íü àâàõ áîëîìæèéã provider.example.org õîñòîä îëãîõ áîëíî. Note: Àíõäàã÷ FreeBSD ö°ì äýýð preemption áóþó °°ð èë³³ °íä°ð äàâóó ýðõ á³õèé áîäëîãî/óðñãàëààð ñîëèãäîõ áîëîìæ èäýâõæñýí áàéæ áîëîõ þì. Õýðýâ òèéì áîë provider.example.org íü IP õàÿãèéã àíõäàã÷ àãóóëãûí ñåðâåð ð³³ ñóëëàõã³é áàéæ áîëîõ þì. Ýíý òîõèîëäîëä àäìèíèñòðàòîð ìàñòåð óðóó áóöààæ IP-ã õ³÷èëæ áîëîõ þì. Äàðààõ òóøààëûã provider.example.org äýýð àæèëëóóëàõ øààðäëàãàòàé: # ifconfig carp0 down && ifconfig carp0 up
Õîñòîä òîõèðîõ carp èíòåðýéñ äýýð ³³íèéã õèéõ ¼ñòîé.
Ýíý õ³ðýõýä CARP á³ðì°ñ°í èäýâõæèæ òåñò õèéõýä áýëýí áîëñîí áàéõ ¼ñòîé. ѳëæýýã äàõèí ýõë³³ëýõ áóþó ýñâýë ìàøèíóóäûã äàõèí à÷ààëààä òåñò õèéãýýðýé. Äýëãýðýíã³é ìýäýýëëèéã carp(4) ãàðûí àâëàãûí õóóäàñíààñ îëæ áîëíî.
933
V. Õàâñðàëòóóä
ã îëæ àâàõ íü
Appendix A. FreeBSDA.1 CDROM A.1.1
áîëîí DVD Íèéòëýã÷èä
Æèæèãëýíãèéí õàéðöàãëàñàí á³òýýãäýõ³³í³³ä
FreeBSD íü õàéðöàãëàñàí á³òýýãäýõ³³í õýëáýðýýð (FreeBSD CD-³³ä, íýìýëò ïðîãðàì õàíãàìæ, áîëîí õýâëýñýí áàðèìò) õýä õýäýí æèæèãëýí õóäàëäààëàã÷äààñ ãàðäàã: •
CompUSA WWW: http://www.compusa.com/
•
Frys Electronics WWW: http://www.frys.com/
A.1.2 CD
áîëîí DVD öóãëóóëãóóä
FreeBSD CD áîëîí DVD öóãëóóëãóóäûã îëîí æèæèãëýí õóäàëäààëàã÷äààñ øóóä õóäàëäàí àâàõ áîëîìæòîé áàéäàã: •
FreeBSD Mall, Inc. 700 Harvest Park Ste F Brentwood, CA 94513 USA Óòàñ: +1 925 240-6652 Ôàêñ: +1 925 674-0821 Email: WWW: http://www.freebsdmall.com/
•
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Óòàñ: (089) 428 419 WWW: http://www.hinner.de/linux/freebsd.html
•
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW: http://ikarios.com/form/#freebsd
•
JMC Software Ireland Óòàñ: 353 1 6291282 WWW: http://www.thelinuxmall.com
•
The Linux Emporium
935
Appendix A. FreeBSD-ã îëæ àâàõ íü Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Óòàñ: +44 1491 837010 Ôàêñ: +44 1491 837016 WWW: http://www.linuxemporium.co.uk/products/bsd/ •
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Óòàñ: +48 22 860 18 18 Email: <[email protected] > WWW: http://www.lpmagazine.org/
•
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Óòàñ: +61 3 9857 5918 Ôàêñ: +61 3 9857 8974 WWW: http://www.lsl.com.au
•
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Óòàñ: +7-812-3125208 Email: WWW: http://linuxcenter.ru/shop/freebsd
A.1.3
Ò³ãýýã÷èä
Õýðýâ òà äàõèí õóäàëäàã÷ á°ã°°ä FreeBSD CDROM á³òýýãäýõ³³í³³äèéã òàðààõûã õ³ñýæ áàéãàà áîë ò³ãýýã÷ áóþó äèñòðèáüþòîðò õàíäàíà óó: •
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Óòàñ: +1 650 694-4949 Ôàêñ: +1 650 694-4953 Email: <[email protected] > WWW: http://www.cylogistics.com/
936
Appendix A. FreeBSD-ã îëæ àâàõ íü •
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Óòàñ: 1 (800) 456-8000 WWW: http://www.ingrammicro.com/
•
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Óòàñ: +1 952 947-0822 Ôàêñ: +1 952 947-0876 Email: <[email protected] >
•
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Óòàñ: +7-812-3125208 Email: WWW: http://linuxcenter.ru/freebsd
•
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Óòàñ: +1 763 535-8333 Ôàêñ: +1 763 535-0341 WWW: http://www.navarre.com/
A.2 FTP
ñàéòóóä
FreeBSD-ä çîðèóëñàí àáàí ¼ñíû ýõ³³äèéã äýëõèé äàÿàð áàéðëàñàí òîëèí òóñãàë ñàéòóóäààñ àâ÷ áîëíî. ftp://ftp.FreeBSD.org/pub/FreeBSD/ ñàéò íü ñàéí õîëáîãäñîí á°ã°°ä ìàø îëîí òîîíû õîëáîëòóóäûã ç°âø°°ðä°ã. ýõäýý òà “èë³³ îéð” òîëèí òóñãàë ñàéòûã õàéæ îëñîí íü äýýð áèç ýý (ÿëàíãóÿà õýðýâ òà ÿìàð íýãýí òîëèí òóñãàë ìàÿãèéí ñàéò òîõèðóóëæ àæèëëóóëàõûã õ³ñâýë). FreeBSD òîëèí òóñãàë ñàéòóóäûí ìýäýýëëèéí áààç (http://mirrorlist.FreeBSD.org/) íü àðûí àâëàãà äàõü òîëèí òóñãàëûí æàãñààëòààñ èë³³ ç°â áàéäàã. Ó÷èð íü ýíý íü õîñòóóäûí ñòàòèê æàãñààëòàä òóëãóóðëàëã³é °°ðèéí ìýäýýëëýý DNS ñåðâåðýýñ àâäàã þì.
Ì°í FreeBSD íü äàðààõ òîëèí òóñãàë ñàéòóóä äàõü íýðã³é FTP-ýýñ àâ÷ áîëîõîîð áàéäàã. Õýðýâ òà íýðã³é FTP-ýýñ FreeBSD-ã àâàõûã ñîíãîâîë °°ðò°° àëü áîëîõ îéð ñàéòûã àøèãëààä ³çýýðýé. “Primary Mirror Sites” áóþó ³íäñýí òîëèí òóñãàë ñàéòóóä äàõü òîëèí òóñãàë ñàéòóóä íü á³õýë FreeBSD àðõèâûã (àðõèòåêòóð áîëãîíä çîðèóëñàí îäîî áàéãàà á³õ õóâèëáàðóóä) èõýâ÷ëýí àãóóëäàã áîëîâ÷ òàíàé óëñ þì óó ýñâýë á³ñýä áàéðëàæ áàéãàà ñàéòààñ òàòàæ àâàõàä òàíä èë³³ õóðäàí áàéõ áîëîâ óó. Á³ñèéí ñàéòóóä íü õàìãèéí ò³ãýýìýë àðõèòåêòóðóóäàä çîðèóëñàí õàìãèéí ñ³³ëèéí ³åèéí õóâèëáàðóóäûã àãóóëäàã
937
Appendix A. FreeBSD-ã îëæ àâàõ íü
áîëîâ÷ FreeBSD-èéí á³õ àðõèâûã àãóóëààã³é áàéæ áîëîõ þì. Á³õ ñàéòóóä íü íýðã³é FTP-ýýð õàíäàõ áîëîìæèéã îëãîäîã. Çàðèì ñàéòóóä íü áàñ áóñàä àðãóóäààð õàíäàõ áîëîìæèéã îëãîäîã. Ñàéò áîëãîíû õóâüä õàíäàõ àðãóóä íü õîñòûí íýðèéí äàðàà õààëòàíä °ã°ãäñ°í áàéãàà áîëíî. Ò°â ñåðâåð³³ä, íäñýí òîëèí òóñãàë ñàéòóóä, ÀÍÓ, Àâñòðàë, Àâñòðè, Àðãåíòèí, Àðìåí, Áîëãàð, Áðàçèë, åðìàí, ðåê, Äàíè, Èçðàéëü, Èíäîíåç, Èðëàíä, Èñëàíä, Èñïàíè, Èòàë, Èõ Áðèòàíè, Êàíàä, Ëàòâè, Ëèòâà, Íèäåðëàíä, Íîðâåã, Îðîñ, Ïîëüø, Ïîðòóãàë, óìûí, Ñàóäûí Àðàá, Ñèíãàïóð, Ñëîâàê, Ñëîâåí, Ñîëîíãîñ, Òàéâàíü, Òóðê, Óêðàéí, Óíãàð, Ôèíëàíä, Ôðàíö, Õîíã Êîíã, Õîðâàò, Õÿòàä, ×åõ, Øâåä, Øâåéöàðü, Øèíý Çåëàíä, Ýñòîí, ßïîí, ìí°ä Àðèê. (as of 2009/02/23 12:27:32 UTC)
Ò°â ñåðâåð³³ä •
ftp://ftp.FreeBSD.org/pub/FreeBSD/ (ftp)
íäñýí òîëèí òóñãàë ñàéòóóä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð <[email protected] >-ò õàíäàíà óó. •
ftp://ftp1.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp4.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp6.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp7.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp8.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp9.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp10.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp11.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp12.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp13.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp14.FreeBSD.org/pub/FreeBSD/ (ftp)
ÀÍÓ Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp1.us.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.us.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.us.FreeBSD.org/pub/FreeBSD/ (ftp)
938
Appendix A. FreeBSD-ã îëæ àâàõ íü •
ftp://ftp4.us.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)
•
ftp://ftp5.us.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
•
ftp://ftp6.us.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp6.us.FreeBSD.org/pub/FreeBSD/))
•
ftp://ftp7.us.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp7.us.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp8.us.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp9.us.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp9.us.FreeBSD.org/pub/os/FreeBSD/))
•
ftp://ftp10.us.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp11.us.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp12.us.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
•
ftp://ftp13.us.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp13.us.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp14.us.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp15.us.FreeBSD.org/pub/FreeBSD/ (ftp)
Àâñòðàë Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.au.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.au.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.au.FreeBSD.org/pub/FreeBSD/ (ftp)
Àâñòðè Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.at.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.at.FreeBSD.org/pub/FreeBSD/))
•
ftp://ftp2.at.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp2.at.freebsd.org/pub/FreeBSD/) / rsync)
Àðãåíòèí Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.ar.FreeBSD.org/pub/FreeBSD/ (ftp)
Àðìåí Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp1.am.FreeBSD.org/pub/FreeBSD/ (ftp)
939
Appendix A. FreeBSD-ã îëæ àâàõ íü
Áîëãàð Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.bg.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
•
ftp://ftp2.bg.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
Áðàçèë Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.br.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.br.FreeBSD.org/))
•
ftp://ftp2.br.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.br.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
•
ftp://ftp4.br.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.br.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp6.br.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp7.br.FreeBSD.org/pub/FreeBSD/ (ftp)
åðìàí Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð <[email protected] >-ò õàíäàíà óó. •
ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp2.de.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp3.de.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp4.de.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp4.de.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp6.de.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp7.de.FreeBSD.org/pub/FreeBSD/))
•
ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp)
ðåê Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.gr.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.gr.FreeBSD.org/pub/FreeBSD/ (ftp)
940
Appendix A. FreeBSD-ã îëæ àâàõ íü
Äàíè Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.dk.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)
•
ftp://ftp2.dk.FreeBSD.org/pub/FreeBSD/ (ftp)
Èçðàéëü Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.il.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)
Èíäîíåç Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.id.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.id.FreeBSD.org/) / rsync)
Èðëàíä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.ie.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.ie.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp2.ie.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp3.ie.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp3.ie.FreeBSD.org/pub/FreeBSD/) / rsync)
Èñëàíä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.is.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
Èñïàíè Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.es.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.es.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.es.FreeBSD.org/pub/FreeBSD/ (ftp)
Èòàë Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.it.FreeBSD.org/pub/FreeBSD/ (ftp)
941
Appendix A. FreeBSD-ã îëæ àâàõ íü
Èõ Áðèòàíè Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.uk.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.uk.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp2.uk.FreeBSD.org/) / rsync)
•
ftp://ftp3.uk.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp4.uk.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.uk.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp6.uk.FreeBSD.org/pub/FreeBSD/ (ftp)
Êàíàä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.ca.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.ca.FreeBSD.org/ (ftp)
•
ftp://ftp3.ca.FreeBSD.org/pub/FreeBSD/ (ftp)
Ëàòâè Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.lv.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.lv.FreeBSD.org/pub/FreeBSD/))
•
ftp://ftp2.lv.FreeBSD.org/pub/FreeBSD/ (ftp)
Ëèòâà Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.lt.FreeBSD.org/pub/FreeBSD/ (ftp)
Íèäåðëàíä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.nl.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.nl.FreeBSD.org/os/FreeBSD/) / rsync)
•
ftp://ftp2.nl.FreeBSD.org/pub/FreeBSD/ (ftp)
Íîðâåã Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.no.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
•
ftp://ftp3.no.FreeBSD.org/pub/FreeBSD/ (ftp)
942
Appendix A. FreeBSD-ã îëæ àâàõ íü
Îðîñ Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.ru.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.ru.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp2.ru.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp3.ru.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp4.ru.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.ru.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp5.ru.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp6.ru.FreeBSD.org/pub/FreeBSD/ (ftp)
Ïîëüø Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.pl.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.pl.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.pl.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.pl.FreeBSD.org/pub/FreeBSD/ (ftp)
Ïîðòóãàë Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.pt.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.pt.FreeBSD.org/pub/freebsd/ (ftp)
•
ftp://ftp4.pt.FreeBSD.org/pub/ISO/FreeBSD/ (ftp)
óìûí Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.ro.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp1.ro.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6)
Ñàóäûí Àðàá Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.isu.net.sa/pub/mirrors/ftp.freebsd.org/ (ftp)
943
Appendix A. FreeBSD-ã îëæ àâàõ íü
Ñèíãàïóð Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.sg.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.sg.FreeBSD.org/pub/FreeBSD/) / rsync)
Ñëîâàê Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 (ftp://ftp.sk.FreeBSD.org/pub/FreeBSD/) / http (http://ftp.sk.FreeBSD.org/pub/FreeBSD/) / httpv6 (http://ftp.sk.FreeBSD.org/pub/FreeBSD/))
Ñëîâåí Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.si.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.si.FreeBSD.org/pub/FreeBSD/ (ftp)
Ñîëîíãîñ Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.kr.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
•
ftp://ftp2.kr.FreeBSD.org/pub/FreeBSD/ (ftp)
Òàéâàíü Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 (ftp://ftp.tw.FreeBSD.org/pub/FreeBSD/) / rsync / rsyncv6)
•
ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/ (ftp / ftpv6 (ftp://ftp2.tw.FreeBSD.org/pub/FreeBSD/) / http (http://ftp2.tw.FreeBSD.org/pub/FreeBSD/) / httpv6 (http://ftp2.tw.FreeBSD.org/pub/FreeBSD/) / rsync / rsyncv6)
•
ftp://ftp3.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp4.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp6.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp6.tw.FreeBSD.org/) / rsync)
•
ftp://ftp7.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp8.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp9.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp10.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp11.tw.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp11.tw.FreeBSD.org/FreeBSD/))
944
Appendix A. FreeBSD-ã îëæ àâàõ íü •
ftp://ftp12.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp13.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp14.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp15.tw.FreeBSD.org/pub/FreeBSD/ (ftp)
Òóðê •
ftp://ftp.tr.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.tr.freebsd.org/pub/FreeBSD/) / rsync)
•
ftp://ftp2.tr.FreeBSD.org/pub/FreeBSD/ (ftp / rsync)
Óêðàéí •
ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.ua.freebsd.org/pub/FreeBSD/))
•
ftp://ftp2.ua.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp2.ua.freebsd.org/pub/FreeBSD/))
•
ftp://ftp7.ua.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp8.ua.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp8.ua.freebsd.org/FreeBSD/))
•
ftp://ftp11.ua.FreeBSD.org/pub/FreeBSD/ (ftp)
Óíãàð Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.hu.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.hu.FreeBSD.org/) / rsync)
•
ftp://ftp2.hu.FreeBSD.org/pub/FreeBSD/ (ftp)
Ôèíëàíä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.fi.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.fi.FreeBSD.org/pub/FreeBSD/ (ftp)
Ôðàíö Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp1.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
945
Appendix A. FreeBSD-ã îëæ àâàõ íü •
ftp://ftp3.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp6.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp7.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp8.fr.FreeBSD.org/pub/FreeBSD/ (ftp)
Õîíã Êîíã •
ftp://ftp.hk.FreeBSD.org/pub/FreeBSD/ (ftp)
Õîðâàò Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.hr.FreeBSD.org/pub/FreeBSD/ (ftp)
Õÿòàä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó.
×åõ
•
ftp://ftp.cn.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.cn.FreeBSD.org/pub/FreeBSD/ (ftp)
Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.cz.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp.cz.FreeBSD.org/pub/FreeBSD/) / rsync)
•
ftp://ftp2.cz.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp2.cz.FreeBSD.org/pub/FreeBSD/))
Øâåä Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.se.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.se.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.se.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.se.FreeBSD.org/pub/FreeBSD/ (ftp / http (http://ftp5.se.FreeBSD.org/) / rsync)
946
Appendix A. FreeBSD-ã îëæ àâàõ íü
Øâåéöàðü Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.ch.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.ch.FreeBSD.org/pub/FreeBSD/ (ftp)
Øèíý Çåëàíä •
ftp://ftp.nz.FreeBSD.org/pub/FreeBSD/ (ftp)
Ýñòîí Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.ee.FreeBSD.org/pub/FreeBSD/ (ftp)
ßïîí Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp4.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp5.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp6.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp7.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp8.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp9.jp.FreeBSD.org/pub/FreeBSD/ (ftp)
ìí°ä Àðèê Àñóóäëóóä ãàðâàë ýíý äîìýéíû àäìèíèñòðàòîð -ò õàíäàíà óó. •
ftp://ftp.za.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp2.za.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp3.za.FreeBSD.org/pub/FreeBSD/ (ftp)
•
ftp://ftp4.za.FreeBSD.org/pub/FreeBSD/ (ftp)
947
Appendix A. FreeBSD-ã îëæ àâàõ íü
A.3 BitTorrent
íäñýí õóâèëáàðûí CD-³³äèéí ISO ä³ðñ³³äèéã BitTorrent-îîð äàìæóóëàí àâàõ áîëîìæòîé áàéäàã. ijðñ³³äèéã òàòàæ àâàõ torrent àéëûí öóãëóóëãà http://torrents.freebsd.org:8080 (http://torrents.freebsd.org:8080/) õàÿã äýýð áèé. BitTorrent-èéí êëèåíò ïðîãðàì õàíãàìæ íü net-p2p/py-bittorrent ïîðò ýñâýë °ìí° íü ýìõýòãýñýí áàãö õýëáýðýýð áàéäàã. BitTorrent-îîð ISO ä³ðñèéã òàòàæ àâñíû äàðààãààð òà Section 18.6.3 burncd-èéí òàëààð òàéëáàðëàñíààð CD ýñâýë DVD äýýð øàðæ áîëîõ þì. A.4
Íýðã³é CVS
A.4.1
Òàíèëöóóëãà
Íýðã³é CVS (ýñâýë °°ð°°ð anoncvs ãýãääýã) íü àëñûí CVS àðõèâòàé ñèíõðîí÷ëîë õèéãäýõýä çîðèóëàãäñàí FreeBSD-òýé öóã áàãöëàãäñàí CVS õýðýãñë³³äèéí ³ç³³ëäýã áîëîìæ þì. Ì°í FreeBSD-èéí õýðýãëýã÷äýä ÿìàð íýãýí ç°âø°°ðë³³äã³éãýýð ç°âõ°í óíøèõ ýðõòýé CVS ³éëäë³³äèéã FreeBSD ò°ñëèéí àëáàí ¼ñíû anoncvs ñåðâåð³³äèéí àëü íýã äýýð õèéõ áîëîìæèéã îëãîäîã. Àøèãëàõûí òóëä CVSROOT îð÷íû õóâüñàã÷èéã òîõèðîõ anoncvs ñåðâåð ðóó çààæ cvs login òóøààëä á³ãäèéí ìýääýã “anoncvs” íóóö ³ãèéã °ã÷ äàðàà íü cvs(1) òóøààë àøèãëàí ëîêàë àðõèâò õàíäàæ áàéãàà øèãýýð õàíäàíà. Note: cvs login òóøààë íü CVS ñåðâåðò °°ðèéãýý òàíèóëàí íýâòðýõýä õýðýãëýãäñýí íóóö ³ãñèéã òàíû HOME ñàíä .cvspass àéëä õàäãàëäàã.Õýðýâ ýíý àéë áàéõã³é áîë òàíûã cvs login òóøààëûã ýõíèé óäàà àøèãëàõààð îðîëäîõîä àëäàà ãàð÷ áîëîõ þì. Åðä°° ë õîîñîí .cvspass àéë ³³ñãýýä íýâòðýõèéã îðîëäîîðîé.
CVSup áîëîí anoncvs ³éë÷èëãýýí³³ä íü õîþóë ³íäñýíäýý àäèë ³³ðãèéã ã³éöýòãýäýã ãýæ áàñ õýëæ áîëîõ áîëîâ÷ ñèíõðîí÷ëîë õèéõ àðãóóäûí õýðýãëýã÷èéí ñîíãîëòîä í°ë°°ëæ áîëîõ ò°ð°ë á³ðèéí ñóë áîëîí äàâóó òàëóóäòàé áàéäàã. Òîâ÷õîíäîî CVSup íü °°ðèéí ñ³ëæýýíèé ýõ ³³ñâýð³³äèéí õýðýãëýýíäýý èë³³ ³ð àøèãòàé á°ã°°ä òåõíèêèéí õóâüä õàìãèéí óõààëàã íü áîëîâ÷ àæèëëàãàà èõòýé áàéäàã. CVSup-ã àøèãëàõûí òóëä ýõ³³äèéã àâ÷ ýõëýõýýñýý °ìí° òóñãàé êëèåíòèéã ýõëýýä ñóóëãàæ òîõèðóóëñàí áàéõ ¼ñòîé á°ã°°ä ç°âõ°í äàðàà íü íýëýýí òîì õýìæýýòýé õýñã³³äýýð CVSup íü öóãëóóëãóóäûã äóóääàã. Õàðèí Anoncvs-ã íýã àéëààñ àâàõóóëààä òóñãàé ïðîãðàì (ls ýñâýë grep ãýõ çýðýã) õ³ðòýëõ á³ãäèéã CVS ìîäóëèéí íýðýýð íü øàëãàõàä àøèãëàæ áîëíî. Ìýäýýæ anoncvs íü CVS àðõèâ äýýðõ ç°âõ°í óíøèãäàõ ³éëäë³³äýä áàñ ñàéí áîëîõîîð õýðýâ òà FreeBSD ò°ñëèéí õýñã³³äòýé õóâààëöñàí íýã àðõèâ äàõü ëîêàë õ°ãæ³³ëýëòèéã äýìæèõ çîðèëãîòîé áàéãàà áîë CVSup íü òàíû öîðûí ãàíö ñîíãîëò áàéõ þì.
A.4.2
Íýðã³é CVS-ã àøèãëàõ íü
Åðä°° ë CVSROOT îð÷íû õóâüñàã÷èéã FreeBSD ò°ñëèéí anoncvs ñåðâåð³³äèéí àëü íýã óðóó çààñíààð cvs(1)-èéã íýðã³é CVS àðõèâ àøèãëàõààð òîõèðóóëàõ þì. Áèäíèéã ýíý áàðèìòûã áè÷èæ áàéõ ³åä äàðààõ ñåðâåð³³ä áàéãààã äóðäàâ: •
Ôðàíö : :pserver:[email protected] :/home/ncvs (pserver (íóóö ³ã “anoncvs”), ssh (íóóö ³ãã³é)) 948
Appendix A. FreeBSD-ã îëæ àâàõ íü •
•
ßïîí : :pserver:[email protected] :/home/ncvs (cvs login òóøààëûã àøèãëàæ àñóóõ ³åä íü “anoncvs” íóóö ³ãèéã îðóóëíà.) Òàéâàíü : :pserver:[email protected] :/home/ncvs (pserver (cvs login òóøààëûã àøèãëàæ àñóóõ ³åä íü äóðûí íóóö ³ã îðóóëíà), ssh (íóóö ³ãã³é))
SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub •
ÀÍÓ : [email protected] :/home/ncvs (ç°âõ°í ssh - íóóö ³ãã³é) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 [email protected] SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub
•
ÀÍÓ : [email protected] :/home/ncvs (ç°âõ°í ssh2 - íóóö ³ãã³é)
SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub
CVS íü FreeBSD-èéí õýçýý íýãýí öàãò áàéñàí (ýñâýë çàðèì òîõèîëäîëä èðýýä³éä áàéõ) ýõ³³äèéí áàðàã ë äóðûí õóâèëáàðûã “check out” áóþó øàëãàæ àâàõ áîëîìæèéã îëãîäîã áîëîõîîð òà cvs(1)-èéí çàëðóóëàëò (-r) òóã áîëîí ò³³íä çîðèóëàãäñàí çàðèì ç°âø°°ð°ãä°õ ÿìàð óòãóóä FreeBSD ò°ñëèéí àðõèâò áàéäãèéã ìýääýã áàéõ õýðýãòýé.
Çàëðóóëàëòûí õàÿãóóä áîëîí ñàëáàðûí õàÿãóóä ãýñýí õî¼ð ò°ðëèéí õàÿã áàéäàã. Çàëðóóëàëòûí õàÿã íü òóõàéí çàëðóóëàëòûã çààäàã. ³íèé óòãà íü °äð°°ñ °ä°ðò èæèë õýâýýð áàéíà. Í°ã°° òàëààñ ñàëáàðûí õàÿã íü ÿìàð ÷ ³åä õ°ãæ³³ëýëòèéí °ã°ãäñ°í øóãàì äàõü õàìãèéí ñ³³ëèéí çàëðóóëàëòûã çààäàã. Ñàëáàðûí õàÿã íü òóõàéí íýã çàëðóóëàëòûã çààäàãã³é áîëîõîîð ³³íèé ìàðãààøèéí óòãà íü °í°°äðèéíõ°°ñ °°ð áàéæ áîëîõ þì. Section A.7 íü õýðýãëýã÷äèéí ñîíèðõîæ áîëîõ çàëðóóëàëòóóäûí õàÿãóóäûã àãóóëäàã. Äàõèí õýëýõýä ïîðòûí öóãëóóëãà íü õ°ãæ³³ëýëòèéí îëîí ñàëáàðã³é ó÷èð ýäãýýðèéí àëü íü ÷ ïîðòûí öóãëóóëãûí õóâüä ç°â áèø þì. Òà ñàëáàðûí õàÿãèéã çààõ þì áîë òýð õ°ãæ³³ëýëòèéí øóãàì äàõü àéëóóäûí ñ³³ëèéí õóâèëáàðóóäûã õ³ëýýí àâàõ áîëíî. Õýðýâ òà ÿìàð íýã °íã°ðñ°í õóâèëáàðûã õ³ëýýí àâàõûã õ³ñýæ áàéãàà áîë -D date òóãààð îãíîîã çààí òýãæ õèéæ áîëíî. Èë³³ äýëãýðýíã³éã cvs(1) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
A.4.3
Æèøýýí³³ä
ßìàð íýã þì õèéõýýñýý °ìí° cvs(1)-èéí ãàðûí àâëàãûí õóóäñûã íýã á³ð÷ëýí óíøèõûã ç°âë°ä°ã õýäèé ÷ íýðã³é CVS-èéã õýðõýí àøèãëàõûã õàðóóëæ áàéãàà çàðèì æèøýýí³³äèéã ýíä ³ç³³ëýâ: Example A-1. -CURRENT-
ñ ÿìàð íýãýí ç³éë øàëãàæ àâàõ íü (ls(1)):
% setenv CVSROOT :pserver:[email protected] :/home/ncvs % cvs login
Õ³ëýýõ ì°ð°í äýýð äóðûí ³ãèéã “íóóö ³ã” áîëãîí àøèãëààðàé. % cvs co ls
Example A-2. src/
ìîäûã øàëãàæ àâàõûí òóëä SSH-ã àøèãëàõ íü:
% cvs -d [email protected] :/home/ncvs co src
The authenticity of host ’anoncvs.freebsd.org (128.46.156.46)’ can’t be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
949
Appendix A. FreeBSD-ã îëæ àâàõ íü Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ’anoncvs.freebsd.org’ (DSA) to the list of known hosts.
Example A-3. 6-STABLE
ñàëáàð äàõü ls(1)-èéí õóâèëáàðûã øàëãàæ àâàõ íü:
% setenv CVSROOT :pserver:[email protected] :/home/ncvs % cvs login
Õ³ëýýõ ì°ð°í äýýð äóðûí ³ãèéã “íóóö ³ã” áîëãîí àøèãëààðàé. % cvs co -rRELENG_6 ls
Example A-4. ls(1)-
³³ñãýõ íü
ä õèéãäñýí °°ð÷ë°ëò³³äèéí æàãñààëòûã (íýãäñýí ÿëãààíóóä õýëáýðýýð)
% setenv CVSROOT :pserver:[email protected] :/home/ncvs % cvs login
Õ³ëýýõ ì°ð°í äýýð äóðûí ³ãèéã “íóóö ³ã” áîëãîí àøèãëààðàé. % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
Example A-5.
°ð áóñàä ÿìàð ìîäóëèéí íýðñ àøèãëàãäàæ áîëîõûã îëîõ íü:
% setenv CVSROOT :pserver:[email protected] :/home/ncvs % cvs login
Õ³ëýýõ ì°ð°í äýýð äóðûí ³ãèéã “íóóö ³ã” áîëãîí àøèãëààðàé. % cvs co modules % more modules/modules
A.4.4
Áóñàä ýõ ³³ñâýð³³ä
Äàðààõ íýìýëò ýõ ³³ñâýð³³ä íü CVS-èéã ñóðàõàä òóñ áîëæ áîëîõ þì: • • •
Êàë Ïîëèãèéí CVS çààâàð (http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/). CVS ãýð (http://ximbiot.com/cvs/wiki/), CVS-èéí õ°ãæ³³ëýëò áîëîí äýìæëýãèéí íèéãýì. CVSweb (http://www.FreeBSD.org/cgi/cvsweb.cgi) íü FreeBSD ò°ñëèéí CVS-ä çîðèóëñàí âýá èíòåðýéñ þì.
A.5 CTM-
ã àøèãëàõ íü
CTM íü àëñûí ñàíãèéí ìîäûã ò°âòýé ñèíõðîí÷ëîë õèéõýä çîðèóëñàí àðãà þì. Ýíý íü FreeBSD-èéí ýõ
ìîäíóóäòàé àøèãëàõàä çîðèóëàãäàæ õ°ãæ³³ëýãäñýí á°ã°°ä öàã õóãàöàà °íã°ð°õ òóñàì áóñàä õ³ì³³ñ áóñàä çîðèëãîîð õýðýãëýõýä àøèãòàéã ìýäýæ áîëîõ þì. Äåëüòàíóóä ³³ñãýõ ïðîöåññèéí òàëààð áàðàã áàðèìò áàéõã³é áîëîõîîð áàñ õýðýâ òà CTM-ã áóñàä ç³éëñýä çîðèóëæ àøèãëàõûã õ³ñýæ áàéãàà áîë
950
Appendix A. FreeBSD-ã îëæ àâàõ íü
äýëãýðýíã³é ìýäýýëëèéí òàëààð ctm-users (http://lists.FreeBSD.org/mailman/listinfo/ctm-users) çàõèäëûí æàãñààëòàä õàíäàíà óó.
ã áè ÿàãààä àøèãëàõ ¼ñòîé âý?
A.5.1 CTM-
CTM íü òàíä FreeBSD ýõ ìîäíóóäûí ëîêàë õóóëáàðûã °ãä°ã. Ìîäíû ò°ð°ë á³ðèéí “õýëáýð³³ä” áàéäàã. Òàíû á³õýë CVS ìîä ýñâýë àëü íýã ñàëáàðóóäûí íýãèéã äàãàõûã õ³ñýæ áàéãààãààñ õàìààð÷ CTM íü òàíä ìýäýýëýë °ã÷ ÷àäíà. Òà FreeBSD-èéí èäýâõòýé õ°ãæ³³ëýã÷ áîëîâ÷ îëèãã³é þì óó ýñâýë TCP/IP
õîëáîëò áàéõã³é ýñâýë °°ð÷ë°ëò³³äèéã àâòîìàòààð òàí ðóó èëãýýãääýã áàéëãàõûã õ³ñýæ áàéãàà áîë CTM íü òàíä çîðèóëàãäæýý. Òà õàìãèéí èäýâõòýé ñàëáàðóóäûí õóâüä °ä°ðò ãóðàâ õ³ðòýëõ äåëüòàíóóäûã àâàõ õýðýãòýé áîëíî. ýõäýý òà òýäãýýðèéã àâòîìàò öàõèì çàõèäëààð èëãýýãääýã áàéõûã áîäîõ õýðýãòýé. Øèíý÷ëýëò³³äèéí õýìæýýã ³ðãýëæ àëü áîëîõ áàãà áàéëãàäàã. Ýíý èõýâ÷ëýí 5K-ñ áàãà áàéäàã, õààÿà (àðâààñ íýãò) 10-50K õýìæýýòýé áàéäàã á°ã°°ä çàðèìäàà òîì 100K+ ýñâýë èë³³ áàñ áàéäàã. Òà óðüä÷èëàí áàãöàëñàí õóâèëáàðûí îðîíä õ°ãæ³³ëýëòèéí ýõ³³ä äýýð øóóä àæèëëàõòàé õîëáîîòîé ãàðäàã ò°ð°ë á³ðèéí àíõààðóóëãóóäûí òàëààð áàñ ìýäýæ áàéõ õýðýãòýé áîëíî. Ýíý íü òàíûã “current” ýõ³³äèéã ñîíãîõ òîõèîëäîëä ÿëàíãóÿà ³íýí áàéäàã. Òàíûã FreeBSD-èéí îäîî ³åèéí õýëáýðò áàéõ íü õýñãèéã óíøèõûã ç°âë°ä°ã.
ã àøèãëàõàä íàäàä þó õýðýãòýé âý?
A.5.2 CTM-
Òàíä õî¼ð ç³éë õýðýãòýé: CTM ïðîãðàì áîëîí ò³³íèéã òýæýýõ ýõíèé äåëüòàíóóä (“current” ò³âøèíã³³äýä õ³ðýõèéí òóëä). CTM ïðîãðàì íü õóâèëáàð 2.0 ãàðñíààñ õîéø FreeBSD-èéí õýñýã áîëæ èðñýí á°ã°°ä õýðýâ òàíä ýõ áàéãàà áîë ýíý íü /usr/src/usr.sbin/ctm ñàíä áàéäàã. CTM-ã òýæýýõ “äåëüòàíóóäûã” íü FTP ýñâýë öàõèì çàõèäàë ãýñýí õî¼ð àðãààð àâ÷ áîëíî. Õýðýâ òàíä Èíòåðíåò óðóó õàíäàõ åð°íõèé FTP õàíäàëò áàéãàà áîë äàðààõ FTP ñàéòóóä íü CTM-ä õàíäàõûã äýìæäýã: ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/
ýñâýë òîëèí òóñãàëóóä õàÿãèéã ³çíý ³³. òîõèðîõ ñàí ðóó FTP õèéãýýä README àéëûã òàòàæ àâààä òýíäýýñ ýõëýýðýé. Õýðýâ òà °°ðèéí äåëüòàíóóäûã öàõèì çàõèäëààð àâàõûã õ³ñýæ áàéãàà áîë: CTM ò³ãýýëòèéí æàãñààëòóóäûí àëü íýãýíä á³ðòã³³ëýõ õýðýãòýé. ctm-cvs-cur (http://lists.FreeBSD.org/mailman/listinfo/ctm-cvs-cur) íü á³õýë CVS ìîäûã äýìæäýã. ctm-src-cur (http://lists.FreeBSD.org/mailman/listinfo/ctm-src-cur) íü õ°ãæ³³ëýëòèéí ñàëáàðûí òîëãîéã äýìæäýã. ctm-src-4 (http://lists.FreeBSD.org/mailman/listinfo/ctm-src-4) íü 4.X õóâèëáàðûã äýìæäýã, ãýõ ìýò. (Õýðýâ òà °°ðèéã°° æàãñààëòàä õýðõýí á³ðòã³³ëýõèéã ìýäýõã³é áàéãàà áîë äýýðõ æàãñààëòûí íýðýí äýýð äàðàõ þì óó ýñâýë http://lists.FreeBSD.org/mailman/listinfo óðóó î÷îîä °°ðèéí õ³ñýæ áàéãàà æàãñààëòàí äýýðýý äàðàõ õýðýãòýé. Á³ðòãýõýä øààðäëàãàòàé á³ãäèéã æàãñààëòûí õóóäàñ àãóóëñàí áàéõ ¼ñòîé.) °ðèéí CTM øèíý÷ëýëò³³äèéã õ³ëýýí àâ÷ ýõëýõäýý òà òýäãýýðèéã çàäàëæ àøèãëàõäàà ctm_rmail òóøààë àøèãëàæ áîëîõ þì. Õýðýâ òà ïðîöåññèéã á³ðýí àâòîìàò çàãâàðààð àæèëëàäàã áàéëãàõûã õ³ñýæ áàéãàà áîë /etc/aliases àéë äàõü îðóóëãààñ ctm_rmail ïðîãðàìûã øóóä àøèãëàæ áîëîõ þì. Èë³³ äýëãýðýíã³éã ctm_rmail-èéí ãàðûí àâëàãûí õóóäàñíààñ øàëãàíà óó.
951
Appendix A. FreeBSD-ã îëæ àâàõ íü Note: CTM äåëüòàíóóäûã àâàõ ÿìàð àðãûã àøèãëàæ áàéãààãààñ ³ë õàìààðàí òà ctm-announce (http://lists.FreeBSD.org/mailman/listinfo/ctm-announce) çàõèäëûí æàãñààëòàä á³ðòã³³ëýõ õýðýãòýé. Èðýýä³éä CTM ñèñòåìèéí àæèëëàãààíû òóõàé çàðëàëóóä èëãýýãäýõ ãàçàð íü ç°âõ°í ýíý áîëîõ þì. Äýýðõ æàãñààëòûí íýðýí äýýð äàðæ æàãñààëòàä á³ðòã³³ëýõèéí òóëä çààâðóóäûã äàãàõ õýðýãòýé.
ã ýõíèé óäàà õýðýãëýõ
A.5.3 CTM-
CTM äåëüòàíóóäûã àøèãëàæ ýõëýõýýñýý °ìí° äåëüòàíóóä äàðàà äàðààãèéí óäàà ³³ñãýãäýõýä íü çîðèóëæ òà ýõëýõ öýã äýýð èðýõ õýðýãòýé áîëíî.
Òàíä þó áàéãààã ýõëýýä òîäîðõîéëîõ õýðýãòýé. Á³ãä “õîîñîí” ñàíãààñ ýõýëæ áîëíî. °ðèéí CTM-ýýð äýìæèãäñýí ìîäûã ýõë³³ëýõèéí òóëä òà ýõíèé “Empty” áóþó õîîñîí äåëüòàã àøèãëàõ ¼ñòîé. Òîäîðõîé íýã öýãò ýäãýýð “started” áóþó ýõýëñýí äåëüòàíóóäûí àëü íýãèéã °°ðèéí õ³ñëýýð CD äýýð ò³ãýýæ áîëîõîîð ýíý íü çîðèóëàãäñàí áîëîâ÷ îäîîãîîð òèéì þì áîëîîã³é áàéãàà áèëýý. Ìîäíóóä íü õýäýí àðâàí ìåãàáàéò áàéäàã áîëîõîîð °°ðò°° áàéãààãààñ ýõëýõèéã ýðõýìëýõ ¼ñòîé þì. Õýðýâ òàíä -RELEASE CD áàéãàà áîë òà ýõíèé ýõèéã ò³³íýñ õóóëæ ýñâýë çàäàëæ áîëîõ þì. Ýíý íü °ã°ãäëèéí ÷óõàë äàìæóóëàëòûã õýìíýõ áîëíî. Òà ýäãýýð “starter” áóþó ýõëýõ äåëüòàíóóäûã äóãààðò íýìýãäñýí X-ýýð òàíüæ áîëíî (æèøýý íü src-cur.3210XEmpty.gz). X-èéí äàðààõ òýìäýãëýýñ íü òàíû ýõíèé “seed” áóþó ³ðèéí ³³ñýëä õàðãàëçàíà. ijðìýýð áîë Empty áóþó õîîñíîîñ øèëæèõ ³íäñýí øèëæèëò íü 100 äåëüòà á³ðýýñ ³³ñãýãäýíý. Èíãýõýä òýäãýýð íü òîì áàéíà! XEmpty äåëüòàíóóäûí õóâüä 70-ààñ 80 ìåãàáàéò gzip õèéãäñýí °ã°ãä°ë íü íèéòëýã áàéäàã. Ýõëýõ àíõäàã÷ äåëüòàã ñîíãîñíû äàðàà òàíä ò³³íèé äàðààõ °íä°ð äóãààðóóäòàé á³õ äåëüòàíóóä õýðýãòýé áîëíî. A.5.4
°ðèéí °ä°ð òóòìûí àìüäðàëäàà CTM-ã àøèãëàõ íü
Äåëüòàíóóäûã °ã°õèéí òóëä åðä°° ë äîîð äóðäñàíûã õèéíý: # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.*
CTM íü gzip-ýýð òàâèãäñàí äåëüòàíóóäûã îéëãîäîã áîëîõîîð òà òýäãýýðèéã ýõëýýä gunzip õèéõ õýðýãã³é þì. Ýíý íü äèñêíèé çàé õýìíýõ áîëíî.
Á³õ ïðîöåññèéí òàëààð ìàø íóóöëàã ãýæ áîäîîã³é ë áîë CTM íü òàíû ìîäûã õ°íä°õã³é áàéõ áîëíî. Äåëüòàã øàëãàõûí òóëä òà -c òóãèéã áàñ àøèãëàæ áîëîõ á°ã°°ä CTM íü òàíû ìîäûã ³íýíäýý õ°íä°õã³é; ýíý íü ç°âõ°í äåëüòàíû á³ðýí á³òýí áàéäëûã øàëãàæ òàíû îäîîãèéí ìîäîíä öýâýð õèéãäýõ ýñýõèéã ë ³çäýã. CTM-ä °ã°ãä°õ áóñàä ñîíãîëòóóä áàñ áàéäàã á°ã°°ä ýäãýýðèéã ãàðûí àâëàãûí õóóäàñíóóäààñ ³çíý ³³, ýñâýë èë³³ äýëãýðýíã³éã ýõ³³äýýñ õàéíà óó. Èíãýýä ë á³ãä áàðàã áîëæ áàéíà. Øèíý äåëüòà àâàõ á³ðòýý °°ðèéí ýõ³³äèéã õàìãèéí ñ³³ëèéí õóâèëáàðò àâàà÷èõûí òóëä ò³³íèéã CTM-ýýð àæèëëóóëàõ õýðýãòýé.
952
Appendix A. FreeBSD-ã îëæ àâàõ íü
Äåëüòàíóóäûã äàõèí òàòàæ àâàõàä õýö³³ áàéãàà áîë áèòãèé óñòãààðàé. ßìàð íýã ìóó þì áîëæ áîëçîøã³é ãýæ ³çýýä òýäãýýðèéã òà õàà íýãòýé õàäãàëàõûã õ³ñýæ áîëîõ þì. Òàíä ç°âõ°í óÿí äèñê áàéñàí ÷ ãýñýí fdwrite òóøààëûã àøèãëàí õóóëáàð õèéõ íü ç³éòýé. A.5.5
°ðèéí ëîêàë °°ð÷ë°ëò³³äèéã õàäãàëàõ íü
Õ°ãæ³³ëýã÷èéí õóâüä ýõ ìîäûã °°ð÷ë°õ ýñâýë ò³³í äýýð òóðøèõ õ³ñýë ò°ðæ áîëîõ þì. CTM íü ëîêàë °°ð÷ë°ëò³³äèéã õÿçãààðëàëòòàéãààð äýìæäýã: foo àéëûã áàéãàà ýñýõèéã øàëãàõûí °ìí° foo.ctm àéëûã ýõëýýä õàéäàã. Õýðýâ ýíý àéë áàéâàë CTM íü foo-èéí îðîíä ýíý àéë äýýð àæèëëàäàã. Ýíý íü áèäýíä ëîêàë °°ð÷ë°ëò³³äèéã õÿëáàðààð àð÷ëàõ áîëîìæèéã îëãîäîã: °°ðèéí °°ð÷ë°õ ò°ë°âë°ã°°òýé áàéãàà àéëóóäàà .ctm °ðã°òã°ëòýé áîëãîí õóóëàõ õýðýãòýé. Äàðàà íü òà êîäûã ÷°ë°°òýé îðîëäîæ áîëîõ á°ã°°ä CTM íü .ctm àéëûã õàìãèéí ñ³³ëèéí õýëáýðò áàéëãàõ áîëíî.
èéí áóñàä ñîíèðõîëòîé ñîíãîëòóóä
A.5.6 CTM-
A.5.6.1 Øèíý÷ëýëòýýð ÿã þó õ°íä°ãä°õèéã îëîõ
Òà °°ðèéí ýõ àðõèâò CTM-èéí õèéõ °°ð÷ë°ëò³³äèéí æàãñààëòûã -l ñîíãîëòûã CTM-ä °ã°í òîäîðõîéëæ áîëíî. Òà °°ð÷ë°ëò³³äèéí á³ðòãýë³³äèéã õàäãàëàõ, °°ð÷ë°ãäñ°í àéëóóäàä óðüä÷èëàí ýñâýë äàðàà íü áîëîâñðóóëàëò õèéõ ýñâýë åðä°° ë õýòýðõèé çîâíèæ áàéãàà áîë ýíý íü àøèãòàé þì. A.5.6.2 Øèíý÷ëýõýýñýý °ìí° í°°öë°ëò³³ä õèéõ
Çàðèìäàà òà CTM øèíý÷ëýëòýýð °°ð÷ë°ãä°õ á³õ àéëóóäûã í°°ö°ëæ àâàõûã õ³ñýæ áîëîõ þì. -B backup-file ñîíãîëòûã çààñíààð CTM-èéã °ã°ãäñ°í CTM äåëüòàãààð õ°íä°ãä°õ á³õ àéëóóäûã í°°ö°ëæ backup-file ðóó õàäãàëàõàä õ³ðãýíý.
A.5.6.3 Øèíý÷ëýëòýýð õ°íä°ãä°õ àéëóóäûã õÿçãààðëàõ
Çàðèìäàà òà °ã°ãäñ°í CTM øèíý÷ëýëòèéí õ³ðýýã õÿçãààðëàõ ñîíèðõîëòîé ýñâýë äåëüòàíóóäûí äàðààëëààñ ö°°í õýäýí àéëóóäûã çàäëàõ ñîíèðõîëòîé áàéæ áîëîõ þì. CTM-èéí àæèëëàäàã àéëóóäûí æàãñààëòûã òà -e áîëîí -x ñîíãîëòóóäûã àøèãëàí ø³³ëò õèéõ ðåãóëàð èëýðõèéëë³³äèéã çààí õÿíàæ áîëíî. Æèøýý íü °°ðèéí õàäãàëñàí CTM äåëüòàíóóäûí öóãëóóëãààñ lib/libc/Makefile-èéí õàìãèéí ñ³³ëèéí õóóëáàðûã çàäàëæ àâàõûí òóëä äàðààõ òóøààëóóäûã àæèëëóóëíà: # cd /where/ever/you/want/to/extract/it/ # ctm -e ’^lib/libc/Makefile’ ~ctm/src-xxx.*
CTM äåëüòàíä çààãäñàí àéë á³ðèéí õóâüä òóøààëûí ì°ð°íä °ã°ãäñ°í äàðààëëààð -e áîëîí -x ñîíãîëòóóäûã °ãñ°í. Ôàéë íü á³õ -e áîëîí -x ñîíãîëòóóä ò³³íä °ã°ãäñ°íèé äàðàà ç°âõ°í ñîíãîãäîõ ýðõòýé ãýæ òýìäýãëýãäñýí áîë CTM-ýýð áîëîâñðóóëàãääàã.
953
Appendix A. FreeBSD-ã îëæ àâàõ íü
èéí èðýýä³éí ò°ë°âë°ã°°í³³ä
A.5.7 CTM-
Ìàø èõ: •
•
CTM-èéí õóóðàì÷ øèíý÷ëýëò³³äèéã èëð³³ëýõèéí òóëä CTM ñèñòåìä ÿìàð íýãýí íýâòðýëò òàíèëò àøèãëàõ. CTM-èéí ñîíãîëòóóäûã öýâýðëýõ, òýäãýýð íü òîëãîé ýðã³³ëýì, ç°í ñîâèíãèéí ýñðýã áîëñîí.
A.5.8
Áóñàä ç³éëñ
ports öóãëóóëãàä çîðèóëñàí äåëüòàíóóäûí äàðààëàë áàñ áàéäàã áîëîâ÷ ñîíèðõîë òèéì ÷ °íä°ð áàéäàãã³é.
A.5.9 CTM
òîëèí òóñãàëóóä
CTM/FreeBSD íü äàðààõ òîëèí òóñãàë ñàéòóóä äàõü íýðã³é FTP-ýýð õàíäàæ àâàõ áîëîìæòîé áàéäàã. Õýðýâ òà CTM-ã íýðã³é FTP-ýýð àâàõûã ñîíãîñîí áîë °°ðò°° îéð ñàéòûã îðîëäîæ ³çíý ³³.
Àñóóäàë ãàðñàí òîõèîëäîëä ctm-users (http://lists.FreeBSD.org/mailman/listinfo/ctm-users) çàõèäëûí æàãñààëòàä õàíäàíà óó. Êàëèîðíè, Bay Area, àëáàí ¼ñíû ýõ •
ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/
ìí°ä Àðèê, õóó÷èí äåëüòàíóóäàä çîðèóëñàí í°°ö ñåðâåð •
ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/
Òàéâàíü/R.O.C. •
ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/
•
ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/
•
ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/
Õýðýâ òà °°ðò°° îéðõîí òîëèí òóñãàëûã îëîîã³é áîë ýñâýë òîëèí òóñãàë íü á³ðýí áèø áàéãàà áîë alltheweb (http://www.alltheweb.com/) çýðýã õàéëòûí ñèñòåìèéã àøèãëààä ³çýýðýé.
954
A.6 CVSupA.6.1
ã àøèãëàõ íü
Appendix A. FreeBSD-ã îëæ àâàõ íü
Òàíèëöóóëãà
CVSup íü àëñûí ñåðâåð õîñò äýýð áàéãàà ìàñòåð CVS àðõèâààñ ýõ ìîäûã øèíý÷ëýõ áîëîí ò³ãýýõýä çîðèóëàãäñàí ïðîãðàì õàíãàìæèéí áàãö þì. FreeBSD-èéí ýõ³³ä Êàëèîðíè äàõü ò°â õ°ãæ³³ëýëòèéí ìàøèí äýýðõ CVS àðõèâò àð÷ëàãäàæ áàéäàã. CVSup-èéí òóñëàìæòàé FreeBSD õýðýãëýã÷èä °°ðñäèéí ýõ ìîäûã õÿëáàðààð õàìãèéí ñ³³ëèéí õýëáýðò àâàà÷èæ ÷àääàã áàéíà. CVSup íü øèíý÷ëýëòèéí pull áóþó òàòàõ çàãâàðûã àøèãëàäàã. Òàòàõ çàãâàð äýýð êëèåíò á³ð ñåðâåðýýñ øèíý÷ëýëòèéã õ³ññýí ³åäýý ýñâýë õýðýãòýé ³åäýý àñóóäàã. Ñåðâåð íü °°ðèéí õýðýãëýã÷äýýñ èðýõ õ³ñýëò³³äèéã èäýâõã³éãýýð õ³ëýýæ áàéäàã. Ñåðâåð õýçýý ÷ õ³ñýýã³é øèíý÷ëýëò³³äèéã èëãýýäýãã³é. Õýðýãëýã÷èä íü øèíý÷ëýëòèéã àâàõûí òóëä CVSup êëèåíòèéã ãàðààð àæèëëóóëàõ þì óó ýñâýë ò³³íèéã àâòîìàòààð äàâòàìæòàéãààð àæèëëóóëàõûí òóëä cron àæèë òîõèðóóëàõ ¼ñòîé áîëíî. Èíãýæ òîì ³ñãýýð áè÷ñýí CVSup óõàãäàõóóí íü á³õýë ïðîãðàì õàíãàìæèéí áàãöûã õýëíý. Ò³³íèé ãîë á³ðýëäýõ³³í õýñã³³ä íü õýðýãëýã÷ á³ðèé ìàøèí äýýð àæèëëàäàã cvsup êëèåíò, áà FreeBSD-èéí òîëèí òóñãàë ñàéòóóä äýýð àæèëëàæ áàéäàã cvsupd ñåðâåð þì. FreeBSD-èéí áàðèìò áîëîí çàõèäëûí æàãñààëòóóäûã óíøèæ áàéõäàà òà sup ãýæ õýëñíèéã õàðæ áîëîõ þì. Sup íü CVSup-èéí °ìí°õ ³å á°ã°°ä èæèë çîðèëãîîð àøèãëàãääàã áàéñàí. CVSup íü sup-òàé áàðàã ë àäèëààð àøèãëàãääàã á°ã°°ä ³íýíäýý sup àøèãëàæ áîëîõîîð òîõèðãîîíû àéëóóäûã àøèãëàäàã. CVSup íü èë³³ õóðäàí á°ã°°ä óÿí õàòàí ó÷ðààñ Sup íü FreeBSD ò°ñ°ëä àøèãëàãäàõàà áîëüñîí. Note: csup õýðýãñýë íü CVSup-ã C äýýð áè÷ñýí õóâèëáàð þì. ³íèé õàìãèéí òîì äàâóó òàë áîë èë³³ õóðäàí á°ã°°ä Modula-3 õýëýýñ õàìààðäàãã³é, òèéìýýñ òà ò³³íèéã ñóóëãàõ øààðäëàãàã³é áàéäàã. Ì°í õýðýâ òà FreeBSD 6.2 þì óó ýñâýë ò³³íýýñ õîéøõ õóâèëáàðóóäûã àøèãëàæ áàéãàà áîë ò³³íèéã øóóä àøèãëàæ áîëíî, ó÷èð íü ýíý íü ³íäñýí ñèñòåìä îðñîí áàéäàã. Õóó÷èí FreeBSD õóâèëáàðóóäûí ³íäñýí ñèñòåìä csup(1) áàéäàãã³é, ãýõäýý òà net/csup ïîðòóóä þì óó ýñâýë óðüä÷èëàí ýìõýòãýñýí áàãöûã õÿëáàðõàí ñóóëãàæ áîëíî. csup õýðýãñýë íü ãýõäýý CVS ãîðèìûã äýìæäýãã³é. Õýðýâ òà á³ðýí àðõèâûã òîëèí òóñãàë õèéõèéã õ³ñýæ áàéãàà áîë CVSup-ã àøèãëàõ õýðýãòýé áîëíî. Õýðýâ òà csup-ã àøèãëàõààð øèéäñýí áîë CVSup-èéí ñóóëãàëò äàõü àëõìóóäûã àëãàñàæ ýíý íèéòëýëèéí ³ëäñýí õýñãèéã äàãàæ áàéõäàà CVSup ãýñíèéã csup áîëãîæ ñîëèîðîé.
A.6.2
Ñóóëãàëò
CVSup-ã ñóóëãàõ õàìãèéí õÿëáàð àðãà áîë FreeBSD-èéí áàãöûí öóãëóóëãààñ óðüä÷èëàí ýìõýòãýñýí net/cvsup áàãöûã àøèãëàõ ÿâäàë þì. Õýðýâ òà CVSup-ã ýõýýñ á³òýýõèéã ýðõýìëýæ áàéãàà áîë net/cvsup ïîðòûã àøèãëààðàé. ýõäýý óðüä÷èëàí àíõààðóóëúÿ: net/cvsup ïîðò íü Modula-3 ñèñòåìýýñ
õàìààðäàã á°ã°°ä ³³íèéã òàòàí àâ÷ ñóóëãàõàä èõýýõýí õýìæýýíèé äèñêíèé çàé áîëîí õóãàöàà øààðääàã.
Note: Õýðýâ òà XFree86 ýñâýë Xorg çýðýã ñóóëãàãäààã³é ñåðâåð ìàøèí äýýð CVSup-ã àøèãëàõ ãýæ áàéãàà áîë CVSup GUI-ã àãóóëààã³é net/cvsup-without-gui ïîðòûã àøèãëàõ õýðýãòýé.
Õýðýâ òà csup-ã FreeBSD 6.1 ýñâýë ò³³íýýñ °ìí°õ õóâèëáàðóóäàä ñóóëãàõûã õ³ñýæ áàéãàà áîë FreeBSD-èéí áàãöûí öóãëóóëãààñ óðüä÷èëàí ýìõýòãýñýí net/csup áàãöûã àøèãëàæ áîëíî. Õýðýâ òà csup-ã ýõýýñ á³òýýõèéã ýðõýìëýæ áàéãàà áîë net/csup ïîðòûã àøèãëàæ áîëíî. 955
Appendix A. FreeBSD-ã îëæ àâàõ íü
A.6.3 CVSup
òîõèðãîî
CVSup-èéí àæèëëàãàà supfile ãýãääýã òîõèðãîîíû àéëààð õÿíàãääàã. /usr/share/examples/cvsup/ ñàíä çàðèì æèøýý supfiles áàéäàã. supfile
äàõü ìýäýýëýë CVSup-ä çîðèóëæ äàðààõ àñóóëòóóäàä õàðèóëäàã:
ßìàð àéëóóäûã òà õ³ëýýí àâàõûã õ³ñýæ áàéíà âý? • Òýäãýýðèéí ÿìàð õóâèëáàðóóäûã òà õ³ñýæ áàéíà âý? • Òýäãýýðèéã òà õààíààñ àâàõûã õ³ñýæ áàéíà âý? • Òà òýäãýýðèéã °°ðèéí ìàøèíûõàà õààíà áàéðëóóëàõûã õ³ñýæ áàéíà âý? • Òà °°ðèéí ò°ëâèéí àéëóóäûã õààíà áàéðëóóëàõûã õ³ñýæ áàéíà âý? Äàðààõ õýñã³³äýä áèä ýäãýýð àñóóëòóóäàä õàðèóëàí ò³ãýýìýë supfile-ã á³òýýõ áîëíî. Ýõëýýä áèä supfile-èéí åð°íõèé á³òöèéã òàéëáàðëàõ áîëíî. supfile íü òåêñò àéë þì. Òàéëáàðóóä íü # òýìäýãòýýñ ýõýëæ ì°ð äóóñòàë ³ðãýëæèëíý. Õîîñîí ì°ðí³³ä áîëîí ç°âõ°í òàéëáàðààñ òîãòîõ ì°ð³³äèéã îðõèäîã. ëäýæ áàéãàà ì°ð áîëãîí õýðýãëýã÷èéí àâàõûã õ³ñýæ áàéãàà àéëóóäûí öóãëóóëãûã òàéëáàðëàäàã. Ì°ð íü àéëóóäûí “öóãëóóëãà” áóþó àéëóóäûí ëîãèê á³ëýãëýëèéí íýðýýñ ýõýëäýã á°ã°°ä ýäãýýðèéã ñåðâåð òîäîðõîéëäîã. Öóãëóóëãûí íýð òàíû àëü àéëóóäûã õ³ñýæ áàéãààã ñåðâåðò õýëäýã. Öóãëóóëãûí íýðèéí äàðàà òàëáàðóóä áàéõã³é ýñâýë áàéæ áîëîõ á°ã°°ä çàéãààð òóñãààðëàãäñàí áàéíà. Ýäãýýð òàëáàðóóä íü äýýðõ àñóóëòóóäàä õàðèóëäàã. Õî¼ð ò°ðëèéí òàëáàð áàéäàã: òóãíû òàëáàðóóä áà óòãûí òàëáàðóóä. Òóãíû òàëáàð íü ãàíöààðàà áàéãàà ò³ëõ³³ð ³ãíýýñ òîãòäîã, °°ð°°ð õýëáýë delete ýñâýë compress áàéíà. Óòãûí òàëáàð íü áàñ ò³ëõ³³ð ³ãýýñ ýõëýõ áîëîâ÷ õîîñîí çàéãààð òóñãààðëàãäàëã³éãýýð = áîëîí õî¼ð äàõü ³ãýýñ òîãòîíî. Æèøýý íü release=cvs íü óòãûí òàëáàð þì. supfile èõýâ÷ëýí íýãýýñ èë³³ öóãëóóëãûã õ³ëýýí àâàõààð çààñàí áàéäàã. supfile-ã çîõèîí áàéãóóëàõ íýã àðãà íü öóãëóóëãà á³ðèéí õóâüä õàðãàëçàõ á³õ òàëáàðóóäûã çààæ °ã°õ ÿâäàë þì. ýõäýý ýíý íü supfile-èé ì°ð³³äèéã íýëýýí óðò áîëãîäîã á°ã°°ä supfile äàõü öóãëóóëãóóäûí á³ãäèéí õóâüä èõýíõ òàëáàðóóä íü èæèë áàéäàã áîëîõîîð òààã³é þì. CVSup íü ýäãýýð àñóóäëóóäûã òîéðîí ãàðàõ àíõäàã÷ áîëãîõ àðãà çàìòàé áàéäàã. Òóñãàé ïñåâäî öóãëóóëãûí íýð *default-ð ýõýëñýí ì°ð³³ä íü òóãíóóä áîëîí supfile äàõü äàðàà äàðàà÷èéí öóãëóóëãóóäûí õóâüä àíõäàã÷ áîëæ àøèãëàãäàõ óòãóóäûã çààõàä õýðýãëýãääýã. Àíõäàã÷ óòãûã öóãëóóëãàòàé öóã °°ð óòãûã çààí °ã÷ òóõàéí öóãëóóëãûí õóâüä °°ð÷èëæ áîëäîã. Àíõäàã÷óóäûã äóíäûí supfile-ä íýìýëò *default ì°ð³³äýýð °°ð÷èëæ ýñâýë äàðæ áîëäîã. Èéì ìýäýýëýëòýéãýýð áèä îäîî FreeBSD-CURRENT-èéí ãîë ýõ ìîäûã õ³ëýýí àâ÷ øèíý÷ëýõýä çîðèóëñàí supfile-ã á³òýýõ áîëíî. •
•
ßìàð àéëóóäûã òà õ³ëýýí àâàõûã õ³ñýæ áàéíà âý? CVSup-ààð àâàõ áîëîìæòîé àéëóóä íü “collections” áóþó öóãëóóëãóóä ãýãääýã á³ëã³³äýä õóâààãäàí çîõèîí áàéãóóëàãääàã. Áàéãàà öóãëóóëãóóä íü äàðààõ õýñýãò òàéëáàðëàãäñàí áàéãàà. Ýíý æèøýýí äýýð áèä FreeBSD-èéí õóâüä á³õ ãîë ýõèéã àâàõûã õ³ñýæ áàéíà. src-all ãýñýí ãàíö òîì öóãëóóëãà áèäýíä ³³íèéã °ã°õ áîëíî. supfile-àà á³òýýõ ýõíèé àëõàì áîëãîæ áèä öóãëóóëãóóäûã íýã ì°ð°íä íýãèéã òàâüæ æàãñààíà (ýíý òîõèîëäîëä ç°âõ°í íýã ì°ð áàéíà): src-all
•
Òýäãýýðèéí ÿìàð õóâèëáàðóóäûã òà õ³ñýæ áàéíà âý?
956
Appendix A. FreeBSD-ã îëæ àâàõ íü CVSup-èéí òóñëàìæòàé òà õýçýý ÷ þì áàéñàí ýõ³³äèéí áàðàã ÿìàð ÷ õóâèëáàðûã õ³ëýýí àâ÷ ÷àäíà. cvsupd ñåðâåð íü á³õ õóâèëáàðóóäûã àãóóëñàí CVS àðõèâààñ øóóä àæèëëàäàã áîëîõîîð ýíý íü áîëîìæòîé þì. Òà òýäãýýðèéí àëèéã õ³ñýæ áàéãààãàà tag= áîëîí date= óòãà òàëáàðóóäûã àøèãëàí çààæ °ã÷ áîëíî. Warning: tag= òàëáàðûã ç°â çààæ °ã°õä°° àíõààðàëòàé áàéõ õýðýãòýé. Çàðèì õàÿãóóä íü ç°âõ°í àéëóóäûí çàðèì öóãëóóëãóóäûí õóâüä ç°â áàéäàã. Õýðýâ òà áóðóó ýñâýë áóðóó áè÷ñýí õàÿãèéã çààæ °ã°õ þì áîë ìàãàäã³é òàíû óñòãàõûã õ³ñýýã³é àéëóóäûã CVSup íü óñòãàõ þì. ßëàíãóÿà ports-* öóãëóóëãóóäûí õóâüä ç°âõ°í tag=.-ã àøèãëààðàé. tag= òàëáàð íü ñèìáîëûí õàÿãèéã àðõèâò íýðëýäýã. Õî¼ð ò°ðëèéí õàÿã áàéäàã á°ã°°ä ýäãýýð íü çàëðóóëàëòûí õàÿãóóä áîëîí ñàëáàðûí õàÿãóóä þì. Çàëðóóëàëòûí õàÿã íü òóõàéí íýã çàëðóóëàëòûã çààäàã. ³íèé óòãà íü °äð°°ñ °ä°ðò èæèë õýâýýð áàéíà. Í°ã°° òàëààñ ñàëáàðûí õàÿã íü ÿìàð ÷ ³åä õ°ãæ³³ëýëòèéí °ã°ãäñ°í øóãàì äàõü õàìãèéí ñ³³ëèéí çàëðóóëàëòûã çààäàã. Ñàëáàðûí õàÿã íü òóõàéí íýã çàëðóóëàëòûã çààäàãã³é áîëîõîîð ³³íèé ìàðãààøèéí óòãà íü °í°°äðèéíõ°°ñ °°ð áàéæ áîëîõ þì. Section A.7 íü õýðýãëýã÷äèéí ñîíèðõîæ áîëîõ ñàëáàðûí õàÿãóóäûã àãóóëäàã. CVSup-èéí òîõèðãîîíû àéëä õàÿãèéã çààæ °ã°õä°° °ìí° íü tag= ãýæ °ã°õ ¼ñòîé (RELENG_4 íü tag=RELENG_4 áîëíî). Ç°âõ°í tag=. íü ïîðòûí öóãëóóëãàä õàìààðàëòàé áîëîõûã ñàíààðàé. Warning: Õàÿãèéí íýðèéã ÿ㠳糳ëñýí øèã áè÷èõäýý àíõààðàëòàé áàéãààðàé. CVSup íü ç°â áîëîí áóðóó õàÿãóóäûã ÿëãàæ ÷àääàãã³é. Õýðýâ òà õàÿãèéã áóðóó áè÷âýë CVSup íü òàíûã ç°â õàÿã °ãñ°í ãýæ îéëãîí àæèëëàõ á°ã°°ä ýíý íü ÿìàð ÷ àéëóóäûã çààãààã³éä õ³ðãýæ áîëîõ þì. Ýíý òîõèîëäîëä ýíý íü òàíä áàéãàà ýõ³³äèéã óñòãàõ áîëíî.
Ñàëáàðûí õàÿãèéã çààõàä òà òýð õ°ãæ³³ëýëòèéí øóãàìûí àéëóóäûí õàìãèéí ñ³³ëèéí õóâèëáàðóóäûã àâàõ áîëíî. Õýðýâ òà ÿìàð íýã °íã°ðñ°í õóâèëáàðûã àâàõûã õ³ñâýë date= òàëáàðò îãíîîã çààí õèéæ °ã÷ áîëíî. cvsup(1) ãàðûí àâëàãûí õóóäàñ ³³íèéã õýðõýí õèéõèéã òàéëáàðëàäàã. Áèäíèé æèøýýíèé õóâüä FreeBSD-CURRENT-ã àâàõûã áèä õ³ñýæ áàéíà. Áèä ýíý ì°ðèéã °°ðñäèéí supfile-èéí ýõýíä íýìíý: *default tag=.
•
Õýðýâ òà tag= òàëáàð ýñâýë date= òàëáàðûí àëèéã ÷ çààæ °ã°°ã³é áîë ÷óõàë òóñãàé òîõèîëäîë ãàð÷ èðíý. Ýíý òîõèîëäîëä òîäîðõîé íýã õóâèëáàðûã õ³ëýýí àâàõûí îðîíä ñåðâåðèéí CVS àðõèâààñ RCS àéëóóäûã øóóä õ³ëýýí àâäàã. Àæèëëàãààíû èéì ãîðèìûã õ°ãæ³³ëýã÷èä åð°íõèéä°° ýðõýìëýäýã. °ðñäèéí ñèñòåì³³ä äýýð àðõèâûí õóóëáàðûã àð÷èëñíààð òýä çàëðóóëàëòûí ò³³õèéã õàéæ àéëóóäûí °íã°ðñ°í õóâèëáàðóóäûã øàëãàõ áîëîìæòîé áîëîõ þì. ýõäýý ýíý õîíæîî íü äèñêíèé çàéíû õóâüä èõ °ðò°ãòýéãýýð îðæ èðäýã. Òýäãýýðèéã òà õààíààñ àâàõûã õ³ñýæ áàéíà âý? Áèä host= òàëáàðûã àøèãëàí cvsup-ä °°ðèéí øèíý÷ëýëò³³äèéã õààíààñ àâàõûã õýëæ °ãä°ã. CVSup òîëèí òóñãàë ñàéòóóäûí àëü íü ÷ áîëîõ áîëîâ÷ òà °°ðèéí êèáåð åðò°íöä°° îéðõíûã òóðøèõ õýðýãòýé. Ýíý æèøýýí äýýð áèä çîõèîìîë FreeBSD ò³ãýýëòèéí ñàéò cvsup99.FreeBSD.org-ã àøèãëàõ áîëíî: *default host=cvsup99.FreeBSD.org
957
Appendix A. FreeBSD-ã îëæ àâàõ íü
•
Òà CVSup-ã àøèãëàõààñàà °ìí° ³íýí õýðýã äýýðýý áàéãàà æèíõýíý õîñòîîð ñîëèõ õýðýãòýé áîëíî. cvsup-ã àæèëëóóëàõ ³åäýý òà õîñòûí òîõèðóóëãûã òóøààëûí ì°ð°°ñ -h hostname ñîíãîëòîîð °°ð÷ë°í äàðæ áîëíî. Òà òýäãýýðèéã °°ðèéí ìàøèíûõàà õààíà áàéðëóóëàõûã õ³ñýæ áàéíà âý? prefix= òàëáàð íü õ³ëýýí àâñàí àéëóóäûã õààíà áàéðëóóëàõûã cvsup õýëíý. Ýíý æèøýýí äýýð áèä ýõ àéëóóäûã °°ðñäèéí ãîë ýõ ìîäíû /usr/src áàéðëàëä øóóä áàéðëóóëàõ áîëíî. src ñàí íü áèäíèé õ³ëýýí àâàõààð ñîíãîñîí öóãëóóëãàä äàëä áàéãàà áîëîõîîð ýíý íü ç°â þì: *default prefix=/usr
°°ðèéí ò°ëâèéí àéëóóäûã õààíà àð÷ëàõ ¼ñòîé âý? CVSup êëèåíò íü “base” áóþó ³íäñýí ãýãääýã ñàí äàõü çàðèì ò°ëâèéí àéëóóäûã àð÷èëæ áàéäàã. Ýäãýýð àéëóóä íü ÿìàð øèíý÷ëýëò³³äèéã òà àëü õýäèéí õ³ëýýí àâñíûã õÿíàæ CVSup-èéã èë³³ ³ð àøèãòàé àæèëëàõàä òóñàëäàã. Áèä ñòàíäàðò ³íäñýí ñàí /var/db-ã àøèãëàõ áîëíî:
• cvsup
*default base=/var/db
•
Õýðýâ òàíû ³íäñýí ñàí áàéõã³é áàéãàà áîë îäîî ò³³íèéã ³³ñãýõ õóãàöàà áîëñîí áàéíà. Õýðýâ ³íäñýí ñàí áàéõã³é áîë cvsup àæèëëàõààñ òàòãàëçàõ áîëíî. supfile-èéí áóñàä òîõèðãîîíóóä: supfile-ä åð°íõèéä°° áàéõ ¼ñòîé áàñ íýã ì°ð áàéäàã: *default release=cvs delete use-rel-suffix compress
•
release=cvs íü ñåðâåð ãîë FreeBSD CVS àðõèâààñ °°ðèéí ìýäýýëëèéã àâàõ ¼ñòîéã çààæ áàéíà. Ýíý íü áàðàã ³ðãýëæ òîõèîëääîã, õýäèéãýýð áóñàä áîëîìæóóä áàéäàã áîëîâ÷ ýíý õýëýëö³³ëãèéí õ³ðýýíýýñ õàëüäàã. delete íü CVSup-ä àéëóóä óñòãàõ ç°âø°°ð°ë °ãä°ã. CVSup íü òàíû ýõ ìîäûã áàéíãà õàìãèéí ñ³³ëèéí õýëáýðò áàéëãàäàã áàéõûí òóëä òà ³³íèéã ³ðãýëæ çààæ °ã°õ õýðýãòýé. CVSup íü °°ðèéí õàðèóöäàã ç°âõ°í òýð àéëóóäûã óñòãàõ òàë äýýð èõ àíõààðàëòàé àæèëëàäàã. Òàíä áàéæ áîëîõ íýìýëò àéëóóä òýð õýâýýðýý ³ëääýã. use-rel-suffix íü ... îéëãîõîä ò°â°ãòýé þì. Õýðýâ òà ³³íèé òóõàé æèíõýíýýñýý ìýäüå ãýæ õ³ñýæ áàéãàà áîë cvsup(1) ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³. Õýðýâ òèéì áèø áîë åðä°° çààãààä ë òýãýýä ñàíàà çîâîõ õýðýãã³é þì. compress íü õîëáîîíû ñóâàã äýýð gzip çàãâàðûí øàõàëòûí õýðýãëýýã èäýâõæ³³ëäýã. Õýðýâ òàíû ñ³ëæýýíèé õîëáîëò T1 ýñâýë ò³³íýýñ õóðäàí áîë òà ìàãàäã³é øàõàëòûã àøèãëàõ õýðýãã³é þì. Õýðýâ ³ã³é áîë ýíý íü áîäèòîéãîîð òóñàëäàã. Á³ãäèéã íèéë³³ëáýë: Ýíä áèäíèé æèøýýíä çîðèóëñàí á³õýë supfile áàéíà: *default *default *default *default *default
tag=. host=cvsup99.FreeBSD.org prefix=/usr base=/var/db release=cvs delete use-rel-suffix compress
src-all
958
Appendix A. FreeBSD-ã îëæ àâàõ íü A.6.3.1 refuse àéë
Äýýð äóðäñàíààð CVSup íü òàòàõ àðãûã àøèãëàäàã. Ýíý íü þó ãýñýí ³ã âý ãýõýýð òà CVSup ñåðâåð ðóó õîëáîãäîõ á°ã°°ä ýíý íü “Íàä äýýðýýñ òàòàæ àâàõ áîëîìæòîé ç³éëñ ýíý áàéíà...” ãýæ õýëýõ á°ã°°ä òàíû êëèåíò “OK, Áè ýíý,ýíý, ýíèéã àâíà.” ãýæ õàðèóëíà ãýñýí ³ã þì. Àíõäàã÷ òîõèðãîîí äýýð CVSup êëèåíò íü òàíû òîõèðãîîíû àéëä ñîíãîñîí õàÿã áîëîí öóãëóóëãàòàé õîëáîîòîé á³õ àéëûã àâíà. ýõäýý ³³íèéã òà ³ðãýëæ õ³ñýõã³é áàéõ, ÿëàíãóÿà õýðýâ òà doc, ports, ýñâýë www ìîäíóóäûã àâ÷ áàéãàà áîë ³³íèéã õèéõèéã õ³ñýõã³é áàéõ — èõýíõ õ³ì³³ñ ä°ð°â ýñâýë òàâàí õýëèéã óíøèæ ÷àääàãã³é á°ã°°ä òèéìýýñ òýäýíä õýëòýé õîëáîîòîé àéëóóäûã òàòàæ àâàõ õýðýãã³é áàéäàã. Õýðýâ òà ïîðòûí öóãëóóëãûã CVSup õèéæ áàéãàà áîë òà öóãëóóëãà á³ðèéã òóñàä íü çààí °ã÷ ³³íèéã òîéðîí ãàð÷ áîëíî (°°ð°°ð õýëáýë, ports-astrology, ports-biology, ãýõ ìýòýýð ports-all ãýõèéí îðîíä). ýõäýý doc áîëîí www ìîäíóóä íü õýëòýé õîëáîîòîé öóãëóóëãóóäòàé áàéäàãã³é áîëîõîîð òà CVSup-èéí îëîí ñàéí áîëîìæóóäûí íýãèéã àøèãëàõ ¼ñòîé íü refuse þì. refuse àéë íü ³íäñýíäýý CVSup-ä öóãëóóëãààñ àéë áîëãîíûã òàòàæ àâàõã³é ãýäãèéã õýëäýã; °°ð°°ð õýëáýë êëèåíòýä ñåðâåðýýñ çàðèì àéëóóä òàòàæ àâàõààñ òàòãàëçàõûã õýëæ °ãä°ã. refuse àéë íü base/sup/ ñàíãààñ îëäîæ áîëíî (ýñâýë õýðýâ òàíä èéì àéë áàéõã³é áàéãàà áîë ò³³íèéã äýýðõ ñàíä áàéðëóóëàõ õýðýãòýé). base íü òàíû supfile-ä òîäîðõîéëîãäñîí áàéäàã; áèäíèé òîäîðõîéëñîí base íü /var/db á°ã°°ä ýíý íü àíõäàã÷ààð refuse àéë íü /var/db/sup/refuse ãýñýí ³ã þì. refuse àéë íü ìàø õÿëáàð õýëáýðøèëòòýé áàéäàã; ýíý íü òàíû òàòàæ àâàõûã õ³ñýýã³é àéëóóä ýñâýë ñàíãóóäûí íýðèéã àãóóëäàã. Æèøýý íü õýðýâ òà Àíãëè áîëîí åðìàíààð áàãà çýðýã ÿðüäãààñ °°ð õýëýýð ÿðüäàãã³é á°ã°°ä áàðèìòûí åðìàí îð÷óóëãûã àâàõ ñîíèðõîëã³é áàéâàë °°ðèéí refuse àéëä äàðààõ: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_*
ì°ð³³ä áîëîí ãýõ ìýòýýð áóñàä õýëí³³äèéí õóâüä îðóóëæ °ã°õ õýðýãòýé (òà á³ðýí æàãñààëòûã FreeBSD
CVS àðõèâûã (http://www.FreeBSD.org/cgi/cvsweb.cgi/) øàëãàí îëæ áîëíî).
Ýíý àøèãòàé áîëîìæèéã àøèãëàí óäààí õîëáîëòòîé þì óó ýñâýë °°ðñäèéí Èíòåðíýòèéí õîëáîëòîä ìèíóòààð ò°ëä°ã õýðýãëýã÷èä ³íý öýíýòýé õóãàöààãàà õýìíýõ áîëíî. Ó÷èð íü òýä °°ðñäèéí õýçýý ÷ àøèãëàõã³é àéëàà òàòàæ àâàõ øààðäëàãàã³é áîëîõ þì. CVSup-èéí refuse àéëóóä áîëîí áóñàä ñàéõàí áîëîìæóóäûí òàëààð èë³³ ìýäýýëëèéã ò³³íèé ãàðûí àâëàãûí õóóäàñíààñ ³çíý ³³.
959
Appendix A. FreeBSD-ã îëæ àâàõ íü
ã àæèëëóóëàõ íü
A.6.4 CVSup-
Îäîî òà øèíý÷ëýëò õèéæ ³çýõýä áýëýí áîëëîî. ³íèéã õèéõ òóøààëûí ì°ð èõ àìàðõàí: # cvsup supfile
ýíä áàéãàà supfile íü òàíû ä°íã°æ ³³ñãýñýí supfile-èéí íýð þì. Òàíûã X11 äýýð àæèëëàæ áàéíà ãýæ ³çâýë cvsup íü ýíãèéí ç³éëñèéã õèéõ çàðèì òîâ÷ëóóðóóäòàé GUI öîíõû㠳糳ëýõ áîëíî. go òîâ÷ëóóðûã äàðæ àæèëëàõûã íü õàðààðàé. Òà ýíý æèøýýí äýýð °°ðèéí æèíõýíý /usr/src ìîäûã øèíý÷èëæ áàéãàà áîëîõîîð cvsup íü òàíû àéëóóäûã øèíý÷ëýõýä øààðäëàãàòàé ç°âø°°ðë³³äòýé áàéõûí òóëä òà ïðîãðàìûã root ýðõýýñ àæèëëóóëàõ õýðýãòýé áîëíî. °ðèéí òîõèðãîîíû àéëûã ä°íã°æ ³³ñãýñýí á°ã°°ä óðüä íü ýíý ïðîãðàìûã õýçýý ÷ àøèãëàæ áàéãààã³é áîë òàíûã áóõèìäóóëæ ìàãàäã³é þì. °ðèéí àéëóóäûã õ°íä°ëã³éãýýð òóðøèëòûí æóðìààð àæèëëóóëàõ õÿëáàð àðãà áàéäàã. Õàà íýãòýý õîîñîí ñàí ³³ñãýýä ò³³íèéã òóøààëûí ì°ð°íä íýìýëò °ã°ãäë°°ð îðóóëæ °ãí°: # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest
Òàíû çààñàí ñàí á³õ àéëûí øèíý÷ëýëò³³äèéí õóâüä î÷èõ ñàí áîëäîã. CVSup íü /usr/src ñàí äîòîðõ òàíû ýíãèéí àéëóóäûã øàëãàäàã, ãýõäýý òýäãýýðèéí àëèéã ÷ °°ð÷ë°õ áóþó óñòãàõã³é. Ôàéëûí øèíý÷ëýëò³³ä õàðèí /var/tmp/dest/usr/src ñàíä õèéãäýíý. CVSup íü èíãýæ àæèëëàõäàà áàñ °°ðèéí ³íäñýí ñàíãèéí ò°ëâèéí àéëóóäûã °°ð÷ë°ëã³éãýýð ³ëäýýäýã. Òýäãýýð àéëóóäûí øèíý õóâèëáàðóóä çààãäñàí ñàí óðóó áè÷èãäýõ áîëíî. Òàíä /usr/src ñàí óðóó óíøèõ ýðõ ë áàéõàä èéìýðõ³³ òóðøèëòûí àæèëëàãààã ã³éöýòãýõýä root ýðõ áàéõ çààâàë øààðäëàãàã³é þì. Õýðýâ òà X11-ã àæèëëóóëàõã³é áàéãàà þì óó ýñâýë òàíä GUI òààëàãääàãã³é áîë cvsup-ã àæèëëóóëàõäàà òóøààëûí ì°ð°í äýýð õî¼ð ñîíãîëòûã íýìæ °ã°õ õýðýãòýé: # cvsup -g -L 2 supfile
-g ñîíãîëò íü CVSup-ä °°ðèéí GUI-ã àøèãëàõã³éã õýëíý. Õýðýâ òà X11-èéã àæèëëóóëàõã³é áàéãàà áîë ýíý àâòîìàò áàéäàã, ³ã³é áîë òà ³³íèéã çààæ °ã°õ õýðýãòýé. -L 2 íü CVSup-ä õèéæ áàéãàà á³õ øèíý÷ëýëò³³äèéíõýý òàëààð äýëãýðýíã³é ìýäýýëëèé㠳糳ëýõèéã õýëæ °ãí°. óðâàí ò³âøíèé õàðóóëàõ ãîðèì áàéäàã á°ã°°ä ýíý íü -L 0-ñ -L 2 õ³ðòýë áàéíà. Àíõäàã÷ íü 0 áàéõ á°ã°°ä ýíý íü àëäààíû ìýäýãäëýýñ áóñäûã õàðóóëàõã³é. Áóñàä îëîí ñîíãîëòóóä áàéäàã. Òýäãýýðèéí òîâ÷ æàãñààëòûã ³çýõèéí òóëä cvsup -H ãýæ áè÷íý. Èë³³ äýëãýðýíã³é òàéëáàðóóäûí òàëààð ãàðûí àâëàãûí õóóäñûã ³çíý ³³. Øèíý÷ëýëò àæèëëàäàã àðãàä ñýòãýë õàíàìæòàé áîëñíûõîî äàðàà òà CVSup-ã äàâòàìæòàéãààð àæèëëóóëàõûí òóëä cron(8) àøèãëàí õèéæ °ã÷ áîëíî. Ìýäýýæ òà cron(8)-ñ CVSup-ã àæèëëóóëàõäàà °°ðèéíõ°° GUI-ã àøèãëàõã³é áîëãîõ õýðýãòýé.
èéí àéëûí öóãëóóëãóóä
A.6.5 CVSup-
CVSup-èéí àéëûí öóãëóóëãóóä íü øàòëàëòàéãààð çîõèîí áàéãóóëàãäñàí áàéäàã. Ö°°í òîì öóãëóóëãóóä áàéäàã á°ã°°ä òýäãýýð íü àðàé æèæèã äýä öóãëóóëãóóäàä õóâààãääàã. Òîì öóãëóóëãûã õ³ëýýí àâàõ íü ò³³íèé äýä öóãëóóëãóóä òóñ á³ðèéã õ³ëýýí àâàõòàé àäèë þì. Öóãëóóëãà õîîðîíäûí øàòàëñàí õîëáîîíóóä íü äîîðõ æàãñààëò äàõü äîãîë àøèãëàëòààð òóñãàãääàã.
960
Appendix A. FreeBSD-ã îëæ àâàõ íü
Õàìãèéí ò³ãýýìýë õýðýãëýãääýã öóãëóóëãóóä íü src-all, áîëîí ports-all þì. Áóñàä öóãëóóëãóóäûã òóñãàé çîðèëãîîð ç°âõ°í æèæèã á³ëýã õ³ì³³ñ àøèãëàäàã á°ã°°ä çàðèì òîëèí òóñãàë ñàéòóóä òýäãýýðèéã á³ãäèéã àãóóëäàãã³é áàéæ áîëîõ þì. cvs-all release=cvs
Êðèïòîãðà êîäûã îðîëöóóëààä FreeBSD-èéí ãîë CVS àðõèâ. distrib release=cvs
FreeBSD-èéí ò³ãýýëò áîëîí òîëèí òóñãàë õèéõòýé õîëáîîòîé àéëóóä. doc-all release=cvs
FreeBSD ãàðûí àâëàãûí ýõ³³ä áà áóñàä áàðèìò. Ýíý íü FreeBSD-èéí âýá ñàéòûí àéëóóäûã àãóóëäàãã³é. ports-all release=cvs
FreeBSD-èéí ïîðòûí öóãëóóëãà. Important: Õýðýâ òà á³õýë ports-all-ã (á³õ ïîðòûí ìîä) øèíý÷ëýõèéã õ³ñýõã³é áàéãàà á°ã°°ä äîîð æàãñààãäñàí äýä öóãëóóëãóóäûí íýãèéã àøèãëàæ áàéãàà áîë ports-base äýä öóãëóóëãûã øèíý÷èëñýí ýñýõýý ³ðãýëæ øàëãàæ áàéõ õýðýãòýé. ports-base-ýýð òàíèëöóóëàãäñàí ïîðòûí á³òýýëòèéí äýä á³òöýä ÿìàð íýãýí °°ð÷ë°ëò îðîõ áîëãîíä òýäãýýð °°ð÷ë°ëò³³ä íü “æèíõýíý” ïîðòóóäàä òóí óäàõã³é àøèãëàãäàõ íü áàðàã ë òîäîðõîé áàéäàã þì. Òèéìýýñ õýðýâ òà ç°âõ°í “æèíõýíý” ïîðòóóäûã øèíý÷èëæ òýäãýýð íü øèíý áîëîìæóóäûí çàðèìûã àøèãëàäàã áîë òýäãýýðèéí á³òýýëò íü çàðèì íýã èä øèäèéí àëäààíû ìýäýãäýëòýéãýýð àìæèëòã³é áîëîõ ìàø èõ ìàãàäëàëòàé þì. Ýíý òîõèîëäîëä õàìãèéí ýõýíä õèéõ ç³éë áîë òàíû ports-base äýä öóãëóóëãà õàìãèéí ñ³³ëèéí ³åèéíõ ýñýõèéã øàëãàõ õýðýãòýé þì.
Important: Õýðýâ òà ports/INDEX-èéí °°ðèéí ëîêàë õóóëáàðûã á³òýýõ ãýæ áàéãàà áîë ports-all áóþó á³õ ïîðòûã õ³ëýýæ àâàõ ¼ñòîé (á³õ ïîðòûí ìîä). ports/INDEX-ã õýñýã ìîäòîé á³òýýõèéã äýìæäýãã³é. FAQ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/faq/applications.html#MAKE-INDEX) õàÿãèéã ³çíý ³³.
ports-accessibility release=cvs
Õ°ãæëèéí áýðõøýýëòýé õýðýãëýã÷äýä òóñëàõàä çîðèóëñàí ïðîãðàì õàíãàìæ. ports-arabic release=cvs
Àðàá õýëíèé äýìæëýã. ports-archivers release=cvs
Àðõèâëàõ õýðýãñë³³ä.
961
Appendix A. FreeBSD-ã îëæ àâàõ íü ports-astro release=cvs
Îäîí îðîíòîé õîëáîîòîé ïîðòóóä. ports-audio release=cvs
Äóóíû äýìæëýã. ports-base release=cvs
Ïîðòûí öóãëóóëãûí á³òýýõ äýä á³òýö - ò°ð°ë á³ðèéí àéëóóä /usr/ports ñàíãèéí Mk/ áîëîí Tools/ äýä ñàíãóóäàä áàéðëàäàã. Note: Äýýðõ ÷óõàë àíõààðóóëãûã ³çíý ³³: òà FreeBSD-èéí ïîðòûí öóãëóóëãûí ÿìàð ÷ õýñãèéã øèíý÷ëýõäýý ýíý äýä öóãëóóëãûã ³ðãýëæ øèíý÷èëæ áàéõ õýðýãòýé!
ports-benchmarks release=cvs
Áåí÷ìàðêóóä. ports-biology release=cvs
Áèîëîãè. ports-cad release=cvs
Êîìïüþòåðèéí òóñëàìæòàé äèçàéí õèéõ õýðýãñë³³ä. ports-chinese release=cvs
Õÿòàä õýëíèé äýìæëýã. ports-comms release=cvs
Õîëáîîíû ïðîãðàì õàíãàìæ. ports-converters release=cvs
òýìäýãòèéí êîä õ°ðâ³³ëýã÷èä. ports-databases release=cvs
Ìýäýýëëèéí áààçóóä. ports-deskutils release=cvs
Êîìïüþòåð çîõèîí á³òýýãäýõýýñ °ìí° øèðýýí äýýð áàéäàã áàéñàí ç³éëñ. ports-devel release=cvs
Õ°ãæ³³ëýëòèéí áàãàæóóä. ports-dns release=cvs
DNS-òýé õîëáîîòîé ïðîãðàì õàíãàìæ.
962
Appendix A. FreeBSD-ã îëæ àâàõ íü ports-editors release=cvs
Çàñâàðëàã÷èä. ports-emulators release=cvs
Áóñàä ³éëäëèéí ñèñòåì³³äýä çîðèóëñàí ýìóëÿòîðóóä. ports-finance release=cvs
Áàíê, ñàíõ³³ áîëîí òýäãýýðòýé õîëáîîòîé ïðîãðàìóóä. ports-ftp release=cvs
FTP êëèåíò áà ñåðâåðèéí áàãàæóóä. ports-games release=cvs
Òîãëîîìóóä. ports-german release=cvs
åðìàí õýëíèé äýìæëýã. ports-graphics release=cvs
ðàèêèéí áàãàæóóä. ports-hebrew release=cvs
Õýáðþ õýëíèé äýìæëýã. ports-hungarian release=cvs
Óíãàð õýëíèé äýìæëýã. ports-irc release=cvs
Internet Relay Chat áóþó ÷àë÷èõ áàãàæóóä. ports-japanese release=cvs
ßïîí õýëíèé äýìæëýã. ports-java release=cvs
Java áàãàæóóä. ports-korean release=cvs
Ñîëîíãîñ õýëíèé äýìæëýã. ports-lang release=cvs
Ïðîãðàì÷ëàëûí õýëí³³ä. ports-mail release=cvs
Çàõèäëûí ïðîãðàìóóä.
963
Appendix A. FreeBSD-ã îëæ àâàõ íü ports-math release=cvs
Òîî òîîöîîëîõ ïðîãðàì õàíãàìæ. ports-mbone release=cvs
MBone ïðîãðàìóóä. ports-misc release=cvs
Áóñàä áàãàæóóä. ports-multimedia release=cvs
Ìóëüòèìåäèà ïðîãðàì õàíãàìæ. ports-net release=cvs
ѳëæýýíèé ïðîãðàì õàíãàìæ. ports-net-im release=cvs
Øóóðõàé ìýäýãäýë (instant messaging) èëãýýõ ïðîãðàì õàíãàìæ. ports-net-mgmt release=cvs
ѳëæýýíèé óäèðäëàãûí ïðîãðàì õàíãàìæ. ports-net-p2p release=cvs
p2p ñ³ëæýý. ports-news release=cvs
USENET ìýäýýíèé ïðîãðàì õàíãàìæ. ports-palm release=cvs
Palm™ ò°ðëèéí ò°õ°°ð°ìæ³³äýä çîðèóëñàí ïðîãðàì õàíãàìæèéí äýìæëýã. ports-polish release=cvs
Ïîëüø õýëíèé äýìæëýã. ports-ports-mgmt release=cvs
Ïîðòóóä áîëîí áàãöóóäûã óäèðäàõ áàãàæóóä. ports-portuguese release=cvs
Ïîðòóãàë õýëíèé äýìæëýã. ports-print release=cvs
Õýâëýëòèéí ïðîãðàì õàíãàìæ. ports-russian release=cvs
Îðîñ õýëíèé äýìæëýã.
964
Appendix A. FreeBSD-ã îëæ àâàõ íü ports-science release=cvs
Øèíæëýõ óõààí. ports-security release=cvs
Àþóëã³é áàéäëûí õýðýãñë³³ä. ports-shells release=cvs
Òóøààëûí ì°ðèéí á³ðõ³³ë³³ä. ports-sysutils release=cvs
Ñèñòåìèéí õýðýãñë³³ä. ports-textproc release=cvs
òåêñò áîëîâñðóóëàõ õýðýãñë³³ä (øèðýýíèé õýâëýë îðäîãã³é). ports-ukrainian release=cvs
Óêðàéí õýëíèé äýìæëýã. ports-vietnamese release=cvs
Âüåòíàì õýëíèé äýìæëýã. ports-www release=cvs
World Wide Web-òýé õîëáîîòîé ïðîãðàì õàíãàìæ. ports-x11 release=cvs
X Öîíõíû ñèñòåìèéã äýìæèõ ïîðòóóä. ports-x11-clocks release=cvs
X11 öàãíóóä. ports-x11-drivers release=cvs
X11 äðàéâåðóóä. ports-x11-fm release=cvs
X11 àéë ìåíåæåð³³ä. ports-x11-fonts release=cvs
X11 ³ñãèéí ìàÿãóóä áà ³ñãèéí ìàÿãèéí õýðýãñë³³ä. ports-x11-toolkits release=cvs
X11 áàãàæíû öóãëóóëãóóä. ports-x11-servers release=cvs
X11 ñåðâåð³³ä.
965
Appendix A. FreeBSD-ã îëæ àâàõ íü ports-x11-themes release=cvs
X11 õàðóóëàõ ìàÿãóóä. ports-x11-wm release=cvs
X11 öîíõíû ìåíåæåð³³ä.
projects-all release=cvs
FreeBSD ò°ñëèéí àðõèâ äàõü ýõ³³ä. src-all release=cvs
Êðèïòîãðà êîäûã îðîëöóóëààä FreeBSD-èéí ãîë ýõ³³ä. src-base release=cvs /usr/src
ñàíãèéí äýýð áàéðëàõ áóñàä àéëóóä.
src-bin release=cvs
àíö õýðýãëýã÷èéí ãîðèìä õýðýã áîëîõ õýðýãëýã÷èéí áàãàæóóä (/usr/src/bin). src-cddl release=cvs
CDDL ëèöåíçèéí äîîð áàéäàã õýðýãñë³³ä áîëîí ñàíãóóä (/usr/src/cddl). src-contrib release=cvs
Õàðüöàíãóé °°ð÷ë°ëòã³éãýýð õýðýãëýãääýã FreeBSD ò°ñë°°ñ ãàäíàõ õýðýãñë³³ä áà ñàíãóóä (/usr/src/contrib). src-crypto release=cvs
Õàðüöàíãóé °°ð÷ë°ëòã³éãýýð õýðýãëýãääýã FreeBSD ò°ñë°°ñ ãàäíàõ êðèïòîãðà õýðýãñë³³ä áà ñàíãóóä (/usr/src/crypto). src-eBones release=cvs
Kerberos áà DES (/usr/src/eBones). FreeBSD-èéí îäîîãèéí õóâèëáàðóóäàä àøèãëàäàãã³é. src-etc release=cvs
Ñèñòåìèéí òîõèðãîîíû àéëóóä (/usr/src/etc). src-games release=cvs
Òîãëîîìóóä (/usr/src/games). src-gnu release=cvs
GNU Íèéòèéí Ëèöåíçòýé õýðýãñë³³ä (/usr/src/gnu). src-include release=cvs
Òîëãîé àéëóóä (/usr/src/include).
966
Appendix A. FreeBSD-ã îëæ àâàõ íü src-kerberos5 release=cvs
Kerberos5 àþóëã³é áàéäëûí áàãö (/usr/src/kerberos5). src-kerberosIV release=cvs
KerberosIV àþóëã³é áàéäëûí áàãö (/usr/src/kerberosIV). src-lib release=cvs
Ñàíãóóä (/usr/src/lib). src-libexec release=cvs
Áóñàä ïðîãðàìóóäààð àæèëëàäàã ñèñòåìèéí ïðîãðàìóóä (/usr/src/libexec). src-release release=cvs
FreeBSD õóâèëáàð ãàðãàõàä øààðäàãäàõ àéëóóä (/usr/src/release). src-rescue release=cvs
ßàðàëòàé ñýðãýýëò õèéõýä çîðèóëñàí ñòàòèêààð õîëáîëò õèéãäñýí ïðîãðàìóóä; rescue(8)-ã ³çíý ³³ (/usr/src/rescue). src-sbin release=cvs
àíö õýðýãëýã÷èéí ãîðèìä çîðèóëñàí ñèñòåìèéí õýðýãñë³³ä (/usr/src/sbin). src-secure release=cvs
Êðèïòîãðà ñàíãóóä áà òóøààëóóä (/usr/src/secure). src-share release=cvs
Îëîí ñèñòåì³³äèéí õîîðîíä õóâààëöàæ áîëîõ àéëóóä (/usr/src/share). src-sys release=cvs
Ö°ì (/usr/src/sys). src-sys-crypto release=cvs
Ö°ìèéí êðèïòîãðà êîä (/usr/src/sys/crypto). src-tools release=cvs
FreeBSD-ã àð÷ëàõàä çîðèóëñàí ò°ð°ë á³ðèéí õýðýãñë³³ä (/usr/src/tools). src-usrbin release=cvs
Õýðýãëýã÷èéí õýðýãñë³³ä (/usr/src/usr.bin). src-usrsbin release=cvs
Ñèñòåìèéí õýðýãñë³³ä (/usr/src/usr.sbin).
967
Appendix A. FreeBSD-ã îëæ àâàõ íü www release=cvs
FreeBSD WWW ñàéòûí ýõ.
distrib release=self
CVSup ñåðâåðèéí °°ðèéí òîõèðãîîíû àéëóóä. CVSup òîëèí òóñãàë ñàéòóóäàä õýðýãëýãääýã. gnats release=current
GNATS àëäàà ì°ðä°õ ìýäýýëëèéí áààç. mail-archive release=current
FreeBSD çàõèäëûí æàãñààëòûí àðõèâ. www release=current
Óðüä÷èëàí áîëîâñðóóëñàí FreeBSD WWW ñàéòûí àéëóóä (ýõ àéëóóä áèø). WWW òîëèí òóñãàë ñàéòóóäàä õýðýãëýãääýã. A.6.6
Äýëãýðýíã³é ìýäýýëëèéã
CVSup FAQ áîëîí áóñàä CVSup-èéí òóõàé ìýäýýëëèéã CVSup ãýðèéí õóóäàñ (http://www.cvsup.org) õàÿãààñ ³çíý ³³.
Èõýíõ FreeBSD-òýé õîëáîîòîé CVSup-èéí õýëýëö³³ëýã FreeBSD òåõíèêèéí õýëýëö³³ëã³³äèéí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-hackers)-ä áîëäîã. Ïðîãðàìûí øèíý õóâèëáàð òýíä, áàñ FreeBSD çàðëàëûí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-announce)-ä çàðëàãääàã. CVSup-èéí òàëààð àñóóëòóóä ýñâýë àëäààíû òàéëàíãóóäûã CVSup FAQ (http://www.cvsup.org/faq.html#bugreports) õîëáîîñîîñ ³çíý ³³. A.6.7 CVSup
ñàéòóóä
FreeBSD-ä çîðèóëñàí CVSup ñåðâåð³³ä äàðààõ õàÿãóóä äýýð àæèëëàæ áàéãàà:
Ò°â ñåðâåð³³ä, íäñýí òîëèí òóñãàë ñàéòóóä, ÀÍÓ, Àâñòðàë, Àâñòðè, Àðãåíòèí, Àðìåí, Áîëãàð, Áðàçèë, åðìàí, ðåê, Äàíè, Èçðàéëü, Èíäîíåç, Èðëàíä, Èñëàíä, Èñïàíè, Èòàë, Èõ Áðèòàíè, Êàíàä, Êèðãûçñòàí, Êîñòà èêà, Êóâåéò, Ëàòâè, Ëèòâà, Íèäåðëàíä, Íîðâåã, Îðîñ, Ïîëüø, Ïîðòóãàë, óìûí, Ñàí Ìàðèíî, Ñèíãàïóð, Ñëîâàê, Ñëîâåí, Ñîëîíãîñ, Òàéâàíü, Òàéëàíä, Òóðê, Óêðàéí, Óíãàð, Ôèëèïïèí, Ôèíëàíä, Ôðàíö, Õÿòàä, ×åõ, Øâåä, Øâåéöàðü, Øèíý Çåëàíä, Ýñòîí, ßïîí, ìí°ä Àðèê. (as of 2009/02/23 12:27:32 UTC)
Ò°â ñåðâåð³³ä •
cvsup.FreeBSD.org
968
Appendix A. FreeBSD-ã îëæ àâàõ íü
íäñýí òîëèí òóñãàë ñàéòóóä •
cvsup1.FreeBSD.org
•
cvsup2.FreeBSD.org
•
cvsup3.FreeBSD.org
•
cvsup4.FreeBSD.org
•
cvsup5.FreeBSD.org
•
cvsup6.FreeBSD.org
•
cvsup7.FreeBSD.org
•
cvsup8.FreeBSD.org
•
cvsup9.FreeBSD.org
•
cvsup10.FreeBSD.org
•
cvsup11.FreeBSD.org
•
cvsup12.FreeBSD.org
•
cvsup13.FreeBSD.org
•
cvsup14.FreeBSD.org
•
cvsup15.FreeBSD.org
•
cvsup16.FreeBSD.org
•
cvsup18.FreeBSD.org
ÀÍÓ •
cvsup1.us.FreeBSD.org
•
cvsup2.us.FreeBSD.org
•
cvsup3.us.FreeBSD.org
•
cvsup4.us.FreeBSD.org
•
cvsup5.us.FreeBSD.org
•
cvsup6.us.FreeBSD.org
•
cvsup7.us.FreeBSD.org
•
cvsup8.us.FreeBSD.org
•
cvsup9.us.FreeBSD.org
•
cvsup10.us.FreeBSD.org
•
cvsup11.us.FreeBSD.org
•
cvsup12.us.FreeBSD.org
969
Appendix A. FreeBSD-ã îëæ àâàõ íü •
cvsup13.us.FreeBSD.org
•
cvsup14.us.FreeBSD.org
•
cvsup15.us.FreeBSD.org
•
cvsup16.us.FreeBSD.org
•
cvsup18.us.FreeBSD.org
Àâñòðàë •
cvsup.au.FreeBSD.org
Àâñòðè •
cvsup.at.FreeBSD.org
•
cvsup2.at.FreeBSD.org
Àðãåíòèí •
cvsup.ar.FreeBSD.org
Àðìåí •
cvsup1.am.FreeBSD.org
Áîëãàð •
cvsup.bg.FreeBSD.org
Áðàçèë •
cvsup.br.FreeBSD.org
•
cvsup2.br.FreeBSD.org
•
cvsup3.br.FreeBSD.org
•
cvsup4.br.FreeBSD.org
970
Appendix A. FreeBSD-ã îëæ àâàõ íü •
cvsup5.br.FreeBSD.org
åðìàí •
cvsup.de.FreeBSD.org
•
cvsup2.de.FreeBSD.org
•
cvsup3.de.FreeBSD.org
•
cvsup4.de.FreeBSD.org
•
cvsup5.de.FreeBSD.org
•
cvsup6.de.FreeBSD.org
•
cvsup7.de.FreeBSD.org
•
cvsup8.de.FreeBSD.org
ðåê •
cvsup.gr.FreeBSD.org
•
cvsup2.gr.FreeBSD.org
Äàíè •
cvsup.dk.FreeBSD.org
•
cvsup2.dk.FreeBSD.org
Èçðàéëü •
cvsup.il.FreeBSD.org
Èíäîíåç •
cvsup.id.FreeBSD.org
971
Appendix A. FreeBSD-ã îëæ àâàõ íü
Èðëàíä •
cvsup.ie.FreeBSD.org
•
cvsup2.ie.FreeBSD.org
Èñëàíä •
cvsup.is.FreeBSD.org
Èñïàíè •
cvsup.es.FreeBSD.org
•
cvsup2.es.FreeBSD.org
•
cvsup3.es.FreeBSD.org
Èòàë •
cvsup.it.FreeBSD.org
Èõ Áðèòàíè •
cvsup.uk.FreeBSD.org
•
cvsup2.uk.FreeBSD.org
•
cvsup3.uk.FreeBSD.org
•
cvsup4.uk.FreeBSD.org
Êàíàä •
cvsup1.ca.FreeBSD.org
Êèðãûçñòàí •
cvsup.kg.FreeBSD.org
972
Appendix A. FreeBSD-ã îëæ àâàõ íü
Êîñòà èêà •
cvsup1.cr.FreeBSD.org
Êóâåéò •
cvsup1.kw.FreeBSD.org
Ëàòâè •
cvsup.lv.FreeBSD.org
•
cvsup2.lv.FreeBSD.org
Ëèòâà •
cvsup.lt.FreeBSD.org
•
cvsup2.lt.FreeBSD.org
•
cvsup3.lt.FreeBSD.org
Íèäåðëàíä •
cvsup.nl.FreeBSD.org
•
cvsup2.nl.FreeBSD.org
•
cvsup3.nl.FreeBSD.org
Íîðâåã •
cvsup.no.FreeBSD.org
973
Appendix A. FreeBSD-ã îëæ àâàõ íü
Îðîñ •
cvsup.ru.FreeBSD.org
•
cvsup2.ru.FreeBSD.org
•
cvsup3.ru.FreeBSD.org
•
cvsup4.ru.FreeBSD.org
•
cvsup5.ru.FreeBSD.org
•
cvsup6.ru.FreeBSD.org
•
cvsup7.ru.FreeBSD.org
Ïîëüø •
cvsup.pl.FreeBSD.org
•
cvsup2.pl.FreeBSD.org
•
cvsup3.pl.FreeBSD.org
Ïîðòóãàë •
cvsup.pt.FreeBSD.org
•
cvsup2.pt.FreeBSD.org
•
cvsup3.pt.FreeBSD.org
óìûí •
cvsup.ro.FreeBSD.org
•
cvsup1.ro.FreeBSD.org
•
cvsup2.ro.FreeBSD.org
•
cvsup3.ro.FreeBSD.org
Ñàí Ìàðèíî •
cvsup.sm.FreeBSD.org
974
Appendix A. FreeBSD-ã îëæ àâàõ íü
Ñèíãàïóð •
cvsup.sg.FreeBSD.org
Ñëîâàê •
cvsup.sk.FreeBSD.org
Ñëîâåí •
cvsup.si.FreeBSD.org
•
cvsup2.si.FreeBSD.org
Ñîëîíãîñ •
cvsup.kr.FreeBSD.org
•
cvsup2.kr.FreeBSD.org
•
cvsup3.kr.FreeBSD.org
Òàéâàíü •
cvsup.tw.FreeBSD.org
•
cvsup3.tw.FreeBSD.org
•
cvsup4.tw.FreeBSD.org
•
cvsup5.tw.FreeBSD.org
•
cvsup6.tw.FreeBSD.org
•
cvsup7.tw.FreeBSD.org
•
cvsup8.tw.FreeBSD.org
•
cvsup9.tw.FreeBSD.org
•
cvsup10.tw.FreeBSD.org
•
cvsup11.tw.FreeBSD.org
•
cvsup12.tw.FreeBSD.org
•
cvsup13.tw.FreeBSD.org
•
cvsup14.tw.FreeBSD.org
975
Appendix A. FreeBSD-ã îëæ àâàõ íü
Òàéëàíä •
cvsup.th.FreeBSD.org
Òóðê •
cvsup.tr.FreeBSD.org
•
cvsup2.tr.FreeBSD.org
Óêðàéí •
cvsup2.ua.FreeBSD.org
•
cvsup3.ua.FreeBSD.org
•
cvsup4.ua.FreeBSD.org
•
cvsup5.ua.FreeBSD.org
•
cvsup6.ua.FreeBSD.org
•
cvsup7.ua.FreeBSD.org
Óíãàð •
cvsup.hu.FreeBSD.org
Ôèëèïïèí •
cvsup1.ph.FreeBSD.org
Ôèíëàíä •
cvsup.fi.FreeBSD.org
•
cvsup2.fi.FreeBSD.org
976
Appendix A. FreeBSD-ã îëæ àâàõ íü
Ôðàíö •
cvsup.fr.FreeBSD.org
•
cvsup1.fr.FreeBSD.org
•
cvsup2.fr.FreeBSD.org
•
cvsup3.fr.FreeBSD.org
•
cvsup4.fr.FreeBSD.org
•
cvsup5.fr.FreeBSD.org
•
cvsup8.fr.FreeBSD.org
Õÿòàä •
cvsup.cn.FreeBSD.org
•
cvsup2.cn.FreeBSD.org
•
cvsup3.cn.FreeBSD.org
•
cvsup4.cn.FreeBSD.org
•
cvsup5.cn.FreeBSD.org
•
cvsup.cz.FreeBSD.org
×åõ
Øâåä •
cvsup.se.FreeBSD.org
•
cvsup3.se.FreeBSD.org
Øâåéöàðü •
cvsup.ch.FreeBSD.org
977
Appendix A. FreeBSD-ã îëæ àâàõ íü
Øèíý Çåëàíä •
cvsup.nz.FreeBSD.org
•
cvsup2.nz.FreeBSD.org
Ýñòîí •
cvsup.ee.FreeBSD.org
ßïîí •
cvsup.jp.FreeBSD.org
•
cvsup2.jp.FreeBSD.org
•
cvsup3.jp.FreeBSD.org
•
cvsup4.jp.FreeBSD.org
•
cvsup5.jp.FreeBSD.org
•
cvsup6.jp.FreeBSD.org
ìí°ä Àðèê •
cvsup.za.FreeBSD.org
•
cvsup2.za.FreeBSD.org
A.7 CVS Tags
áóþó õàÿãóóä
cvs ýñâýë CVSup àøèãëàí ýõèéã àâàõ þì óó ýñâýë øèíý÷èëæ áàéãàà ³åä revision tag áóþó çàëðóóëàëòûí õàÿãèéã çààæ °ã°õ ¼ñòîé áàéäàã. Çàëðóóëàëòûí õàÿã íü FreeBSD õ°ãæ³³ëýëòèéí òîäîðõîé íýã áàéõ þì óó ýñâýë õóãàöààíû òîäîðõîé íýã öýã áàéäàã. Ýõíèéõ íü “branch tags” áóþó “ñàëáàðûí õàÿãóóä” ãýãääýã á°ã°°ä õî¼ð äàõü íü “õóâèëáàðûí õàÿãóóä” ãýãääýã.
A.7.1
Ñàëáàðûí õàÿãóóä
ñ ýíý íü ³ðãýëæ ç°â õàÿã áàéäàã) áóñàä á³õ õàÿãóóä ç°âõ°í src/ ìîäîíä õàìààðäàã. ports/, doc/, áîëîí ìîäíóóä íü ñàëáàðëàäàãã³é. HEAD- ( www/
978
Appendix A. FreeBSD-ã îëæ àâàõ íü HEAD
îë øóãàìûí ñèìáîëûí íýð, ýñâýë FreeBSD-CURRENT. Çàëðóóëàëò çààãààã³é òîõèîëäîëä áàñ àíõäàã÷ áàéäàã. CVSup-ä ýíý õàÿã íü . ãýñýí òýìäýãòýýð èëýðõèéëýãääýã (öýã áèø õàðèí . òýìäýãò). Note: CVS-ä ýíý íü çàëðóóëàëò çààãààã³é òîõèîëäîëä àíõäàã÷ áàéäàã. Õýðýâ òà °°ð°° õ³ñýýã³é STABLE ìàøèí äýýð CURRENT ýõèéã òàòàí àâ÷ øèíý÷ëýõ íü èõýâ÷ëýí òèéì ÷ ñàéí ñàíàà áèø
ë áîë þì.
RELENG_7 FreeBSD-7.X-ä çîðèóëñàí õ°ãæ³³ëýëòèéí øóãàì, áàñ FreeBSD 7-STABLE ãýãääýã RELENG_7_1 FreeBSD-7.1-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_7_0 FreeBSD-7.0-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_6 FreeBSD-6.X-ä çîðèóëñàí õ°ãæ³³ëýëòèéí øóãàì, áàñ FreeBSD 6-STABLE ãýãääýã RELENG_6_4 FreeBSD-6.4-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_6_3 FreeBSD-6.3-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_6_2 FreeBSD-6.2-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_6_1 FreeBSD-6.1-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_6_0 FreeBSD-6.0-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã.
979
Appendix A. FreeBSD-ã îëæ àâàõ íü RELENG_5 FreeBSD-5.X-ä çîðèóëñàí õ°ãæ³³ëýëòèéí øóãàì, áàñ FreeBSD 5-STABLE ãýãääýã. RELENG_5_5 FreeBSD-5.5-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_5_4 FreeBSD-5.4-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_5_3 FreeBSD-5.3-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_5_2 FreeBSD-5.2 áîëîí FreeBSD-5.2.1-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_5_1 FreeBSD-5.1-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_5_0 FreeBSD-5.0-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4 FreeBSD-4.X-ä çîðèóëñàí õ°ãæ³³ëýëòèéí øóãàì, áàñ FreeBSD 4-STABLE ãýãääýã. RELENG_4_11 FreeBSD-4.11-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4_10 FreeBSD-4.10-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4_9 FreeBSD-4.9-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4_8 FreeBSD-4.8-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã.
980
Appendix A. FreeBSD-ã îëæ àâàõ íü RELENG_4_7 FreeBSD-4.7-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4_6 FreeBSD-4.6 áîëîí FreeBSD-4.6.2-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4_5 FreeBSD-4.5-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4_4 FreeBSD-4.4-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_4_3 FreeBSD-4.3-ä çîðèóëñàí õóâèëáàðûí ñàëáàð, àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí áóñàä ÷óõàë çàñâàðóóäàä çîðèóëæ ç°âõ°í àøèãëàãääàã. RELENG_3 FreeBSD-3.X-ä çîðèóëñàí õ°ãæ³³ëýëòèéí øóãàì, áàñ 3.X-STABLE ãýãääýã. RELENG_2_2 FreeBSD-2.2.X-ä çîðèóëñàí õ°ãæ³³ëýëòèéí øóãàì, áàñ 2.2-STABLE ãýãääýã. Ýíý ñàëáàð íü ãîë ò°ë°â õóó÷èðñàí.
A.7.2
Õóâèëáàðûí õàÿãóóä
Ýäãýýð õàÿãóóä íü FreeBSD-èéí òîäîðõîé íýã õóâèëáàð ãàðñàí ³åèéí öàãèéí òîäîðõîé öýãèéã çààäàã. Õóâèëáàð èíæåíåð÷ëýëèéí ïðîöåññèéí òàëààð Õóâèëáàð èíæåíåð÷ëýëèéí ìýäýýëýë (http://www.FreeBSD.org/releng/) áîëîí Õóâèëáàðûí ïðîöåññ (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/releng/release-proc.html) áàðèìòóóäàä èë³³ äýëãýðýíã³é áàðèìòæóóëàãäñàí áàéäàã. src ìîä íü RELENG_ ãýæ ýõýëñýí õàÿãèéí íýðñèéã àøèãëàäàã. ports áîëîí doc ìîäíóóä íü RELEASE ãýæ ýõýëñýí õàÿãèéí íýðñèéã àøèãëàäàã. Ò°ãñã°ëä íü www ìîä íü õóâèëáàðóóäàä çîðèóëñàí ÿìàð íýã òóñãàé íýðýýð õàÿãëàãääàãã³é. RELENG_7_1_0_RELEASE FreeBSD 7.1 RELENG_7_0_0_RELEASE FreeBSD 7.0 RELENG_6_4_0_RELEASE FreeBSD 6.4
981
Appendix A. FreeBSD-ã îëæ àâàõ íü RELENG_6_3_0_RELEASE FreeBSD 6.3 RELENG_6_2_0_RELEASE FreeBSD 6.2 RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0
982
Appendix A. FreeBSD-ã îëæ àâàõ íü RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2
983
Appendix A. FreeBSD-ã îëæ àâàõ íü RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0
A.8 AFS
ñàéòóóä
FreeBSD-ä çîðèóëñàí AFS ñåðâåð³³ä íü äàðààõ ñàéòóóä äýýð àæèëëàæ áàéíà:
Øâåä Ôàéëóóäàä õ³ðýõ çàì íü: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se 130.237.234.43 130.237.237.230 130.237.234.3
# Stacken Computer Club, KTH, Sweden #hot.stacken.kth.se #fishburger.stacken.kth.se #milko.stacken.kth.se
Àð÷ëàã÷
984
A.9 rsync
ñàéòóóä
Appendix A. FreeBSD-ã îëæ àâàõ íü
Äàðààõ ñàéòóóä íü FreeBSD-ã rsync ïðîòîêîëîîð ò³ãýýãäýõ áîëîìæèéã á³ðä³³ëäýã. rsync õýðýãñýë íü rcp(1) òóøààëòàé áàðàã ò°ñòýéã°°ð àæèëëàäàã áîëîâ÷ èë³³ îëîí òîõèðóóëãóóäòàé á°ã°°ä õî¼ð òàëûí àéëóóäûí ç°âõ°í ÿëãààòàéã íü äàìæóóëäàã. Èíãýñíýýð ñ³ëæýýãýýð õèéõ õàìãèéí ñ³³ëèéí õýëáýðò àâàà÷èõ ³éëäëèéã èõýýõýí õóðäàñãàäàã áàéíà. Õýðýâ òà FreeBSD FTP ñåðâåð þì óó ýñâýë CVS àðõèâûí òîëèí òóñãàë ñàéò áîë ýíý íü èõ àøèãòàé áàéäàã. rsync öóãëóóëãà íü îëîí ³éëäëèéí ñèñòåì³³ä äýýð áàéäàã. FreeBSD-èéí õóâüä net/rsync ïîðò ýñâýë áàãöûã ³çíý ³³. Á³ãä Íàéðàìäàõ ×åõ Óëñ rsync://ftp.cz.FreeBSD.org/
Áàéãàà öóãëóóëãóóä: • ftp: FreeBSD FTP ñåðâåðèéí õýñýã÷èëñýí òîëèí òóñãàë. • FreeBSD: FreeBSD FTP ñåðâåðèéí á³ðýí òîëèí òóñãàë. Íèäåðëàíä rsync://ftp.nl.FreeBSD.org/
Áàéãàà öóãëóóëãóóä: •
vol/4/freebsd-core: FreeBSD FTP ñåðâåðèéí á³ðýí òîëèí òóñãàë.
Îðîñ rsync://cvsup4.ru.FreeBSD.org/
Áàéãàà öóãëóóëãóóä: •
FreeBSD-gnats: GNATS öîõ õÿíàõ ìýäýýëëèéí ñàí.
Òàéâàíü rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/
Áàéãàà öóãëóóëãóóä: •
FreeBSD: FreeBSD FTP ñåðâåðèéí á³ðýí òîëèí òóñãàë.
Èõ Áðèòàíè rsync://rsync.mirror.ac.uk/
Áàéãàà öóãëóóëãóóä: •
ftp.FreeBSD.org: FreeBSD FTP ñåðâåðèéí á³ðýí òîëèí òóñãàë.
985
Appendix A. FreeBSD-ã îëæ àâàõ íü
Àìåðèêèéí Íýãäñýí Óëñ rsync://ftp-master.FreeBSD.org/
Ýíý ñåðâåðèéã FreeBSD-èéí àíõäàã÷ òîëèí òóñãàë ñàéòóóä ç°âõ°í õýðýãëýæ áîëíî. Áàéãàà öóãëóóëãóóä: • FreeBSD: FreeBSD FTP ñåðâåðèéí ìàñòåð àðõèâ. • acl: FreeBSD-èéí ìàñòåð ACL æàãñààëò. rsync://ftp13.FreeBSD.org/
Áàéãàà öóãëóóëãóóä: •
FreeBSD: FreeBSD FTP ñåðâåðèéí á³ðýí òîëèí òóñãàë.
986
Appendix B.
Íîì ç³é
àðûí àâëàãûí õóóäàñíóóä íü FreeBSD ³éëäëèéí ñèñòåìèéí õóâü õýñã³³äýä çîðèóëñàí ýöñèéí ëàâëàãààã °ãä°ã áîëîâ÷ òýäãýýð õýñã³³äèéã õýðõýí íèéë³³ëæ á³õýë á³òýí ³éëäëèéí ñèñòåìèéã òýãø àæèëëóóëàõ òàëààð ä³ðñëýí ³ç³³ëäýãã³éãýýðýý çàðòàé þì. Èéì ó÷ðààñ UNIX, ñèñòåìèéí óäèðäëàãûí òàëààð áè÷ñýí ñàéí íîì áîëîí õýðýãëýã÷äèéí ñàéí ãàðûí àâëàãûã îðëîõîîð ç³éëñ áàéõã³é þì. B.1 FreeBSD-
èéí òàëààð òóñãàéëàí áè÷ñýí íîì & ñýò㳳볳ä
Îëîí óëñàä õýâëýãäñýí íîì & ñýò㳳볳ä: •
Using FreeBSD (http://jdli.tw.FreeBSD.org/publication/book/freebsd2/index.htm) (Óëàìæëàëò Õÿòàä õýë äýýð), õýâëýñýí Drmaster (http://www.drmaster.com.tw/), 1997. ISBN 9-578-39435-7.
•
FreeBSD Unleashed (Õÿëáàðøóóëñàí Õÿòàä îð÷óóëãà), õýâëýñýí China Machine Press (http://www.hzbook.com/). ISBN 7-111-10201-0.
•
FreeBSD From Scratch Ýõíèé õýâëýë (Õÿëáàðøóóëñàí Õÿòàä õýë äýýð), õýâëýñýí China Machine Press. ISBN 7-111-07482-3.
•
FreeBSD From Scratch Õî¼ð äàõü õýâëýë (Õÿëáàðøóóëñàí Õÿòàä õýë äýýð), õýâëýñýí China Machine Press. ISBN 7-111-10286-X.
•
FreeBSD Handbook Õî¼ð äàõü õýâëýë (Õÿëáàðøóóëñàí Õÿòàä îð÷óóëãà), õýâëýñýí Posts & Telecom Press (http://www.ptpress.com.cn/). ISBN 7-115-10541-3.
•
FreeBSD 3.x Internet (Õÿëáàðøóóëñàí Õÿòàä õýë äýýð), õýâëýñýí Tsinghua University Press (http://www.tup.tsinghua.edu.cn/). ISBN 7-900625-66-6.
•
FreeBSD & Windows (Õÿëáàðøóóëñàí Õÿòàä õýë äýýð), õýâëýñýí China Railway Publishing House (http://www.tdpress.com/). ISBN 7-113-03845-X
•
FreeBSD Internet Services HOWTO (Õÿëáàðøóóëñàí Õÿòàä õýë äýýð), õýâëýñýí China Railway Publishing House. ISBN 7-113-03423-3
•
FreeBSD for PC 98’ers (ßïîí õýë äýýð), õýâëýñýí SHUWA System Co, LTD. ISBN 4-87966-468-5 C3055 P2900E.
•
FreeBSD (ßïîí õýë äýýð), õýâëýñýí CUTT. ISBN 4-906391-22-2 C3055 P2400E.
•
•
• •
Complete Introduction to FreeBSD (http://www.shoeisha.com/book/Detail.asp?bid=650) (ßïîí õýë äýýð), õýâëýñýí Shoeisha Co., Ltd (http://www.shoeisha.co.jp/). ISBN 4-88135-473-6 P3600E.
Personal UNIX Starter Kit FreeBSD (http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html) (ßïîí õýë äýýð), õýâëýñýí ASCII (http://www.ascii.co.jp/). ISBN 4-7561-1733-3 P3000E. FreeBSD Handbook (ßïîí îð÷óóëãà), õýâëýñýí ASCII (http://www.ascii.co.jp/). ISBN 4-7561-1580-2 P3800E. FreeBSD mit Methode ( åðìàí õýë äýýð), õýâëýñýí Computer und Literatur Verlag (http://www.cul.de)/Vertrieb Hanser, 1998. ISBN 3-932311-31-0.
•
•
FreeBSD 4 - Installieren, Konfigurieren, Administrieren (http://www.cul.de/freebsd.html) ( åðìàí õýë äýýð), õýâëýñýí Computer und Literatur Verlag (http://www.cul.de), 2001. ISBN 3-932311-88-4. FreeBSD 5 - Installieren, Konfigurieren, Administrieren (http://www.cul.de/freebsd.html) ( åðìàí õýë äýýð), õýâëýñýí Computer und Literatur Verlag (http://www.cul.de), 2003. ISBN 3-936546-06-1.
987
Appendix B. Íîì ç³é •
FreeBSD de Luxe (http://www.mitp.de/vmi/mitp/detail/pWert/1343/) ( åðìàí õýë äýýð), õýâëýñýí Verlag Modere Industrie (http://www.mitp.de), 2003. ISBN 3-8266-1343-0.
•
FreeBSD Install and Utilization Manual (http://www.pc.mycom.co.jp/FreeBSD/install-manual.html) (ßïîí õýë äýýð), õýâëýñýí Mainichi Communications Inc, 1998. ISBN 4-8399-0112-0. (http://www.pc.mycom.co.jp/).
•
Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo Building Internet Server with FreeBSD (http://maxwell.itb.ac.id/) (Èíäîíåç õýë äýýð), published by Elex Media Komputindo (http://www.elexmedia.co.id/).
•
Absolute BSD: The Ultimate Guide to FreeBSD (Óëàìæëàëò Õÿòàä îð÷óóëãà), õýâëýñýí GrandTech Press (http://www.grandtech.com.tw/), 2003. ISBN 986-7944-92-5.
•
The FreeBSD 6.0 Book (http://www.twbsd.org/cht/book/) (Óëàìæëàëò Õÿòàä õýë äýýð), õýâëýñýí Drmaster, 2006. ISBN 9-575-27878-X.
Àíãëè õýë äýýðõ íîì & ñýò㳳볳ä: •
Absolute BSD: The Ultimate Guide to FreeBSD (http://www.AbsoluteBSD.com/), õýâëýñýí No Starch Press (http://www.nostarch.com/), 2002. ISBN: 1886411743
•
The Complete FreeBSD (http://www.freebsdmall.com/cgi-bin/fm/bsdcomp), õýâëýñýí O’Reilly (http://www.oreilly.com/), 2003. ISBN: 0596005164
•
The FreeBSD Corporate Networker’s Guide (http://www.freebsd-corp-net-guide.com/), õýâëýñýí Addison-Wesley (http://www.awl.com/aw/), 2000. ISBN: 0201704811
•
FreeBSD: An Open-Source Operating System for Your Personal Computer (http://andrsn.stanford.edu/FreeBSD/introbook/), õýâëýñýí The Bit Tree Press, 2001. ISBN: 0971204500
•
Teach Yourself FreeBSD in 24 Hours, õýâëýñýí Sams (http://www.samspublishing.com/), 2002. ISBN: 0672324245
•
FreeBSD 6 Unleashed, õýâëýñýí Sams (http://www.samspublishing.com/), 2006. ISBN: 0672328755
•
FreeBSD: The Complete Reference, õýâëýñýí McGrawHill (http://books.mcgraw-hill.com), 2003. ISBN: 0072224096
B.2
Õýðýãëýã÷äèéí ãàðûí àâëàãóóä
•
Computer Systems Research Group, UC Berkeley. 4.4BSD User’s Reference Manual. O’Reilly & Associates, Inc., 1994. ISBN 1-56592-075-9
•
Computer Systems Research Group, UC Berkeley. 4.4BSD User’s Supplementary Documents. O’Reilly & Associates, Inc., 1994. ISBN 1-56592-076-7
•
UNIX in a Nutshell. O’Reilly & Associates, Inc., 1990. ISBN 093717520X
•
Mui, Linda. What You Need To Know When You Can’t Find Your UNIX System Administrator. O’Reilly & Associates, Inc., 1995. ISBN 1-56592-104-6
•
Îõàéîãèéí Èõ Ñóðãóóëü
(http://www.osu.edu/) UNIX Introductory Course (http://8help.osu.edu/wks/unix_course/index.html) àâëàãûã áè÷ñýí á°ã°°ä ýíý íü øóóä âýáýýð ³çýõ áîëîìæòîéãîîð HTML áîëîí PostScript õýëáýðýýð áàéäàã.
988
Appendix B. Íîì ç³é
Ýíý áàðèìòûí Èòàë îð÷óóëãà
(http://www.FreeBSD.org/doc/it_IT.ISO8859-15/books/unix-introduction/index.html) Èòàëèéí FreeBSD-èéí Áàðèìòæóóëàõ Ò°ñëèéí õýñýã áîëîí àâàõ áîëîìæòîéãîîð áàéäàã.
•
•
Jpman Ò°ñ°ë, ßïîíû FreeBSD Õýðýãëýã÷äèéí Á³ëýã (http://www.jp.FreeBSD.org/). FreeBSD User’s Reference Manual (http://www.pc.mycom.co.jp/FreeBSD/urm.html) (ßïîí îð÷óóëãà). Mainichi Communications Inc. (http://www.pc.mycom.co.jp/), 1998. ISBN4-8399-0088-4 P3800E.
Ýäèíáóðãèéí Èõ Ñóðãóóëü (http://www.ed.ac.uk/) UNIX îð÷èíä øèíýýð èðæ áàéãàà õ³ì³³ñò çîðèóëæ Îíëàéí çààâàð (http://unixhelp.ed.ac.uk/) áè÷ñýí.
B.3
Àäìèíèñòðàòîðóóä çîðèóëñàí çààâðóóä
•
Albitz, Paul and Liu, Cricket. DNS and BIND, 4th Ed. O’Reilly & Associates, Inc., 2001. ISBN 1-59600-158-4
•
Computer Systems Research Group, UC Berkeley. 4.4BSD System Manager’s Manual. O’Reilly & Associates, Inc., 1994. ISBN 1-56592-080-5
•
Costales, Brian, et al. Sendmail, 2nd Ed. O’Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0
•
Frisch, Æleen. Essential System Administration, 2nd Ed. O’Reilly & Associates, Inc., 1995. ISBN 1-56592-127-5
•
Hunt, Craig. TCP/IP Network Administration, 2nd Ed. O’Reilly & Associates, Inc., 1997. ISBN 1-56592-322-7
•
Nemeth, Evi. UNIX System Administration Handbook. 3rd Ed. Prentice Hall, 2000. ISBN 0-13-020601-6
•
Stern, Hal Managing NFS and NIS O’Reilly & Associates, Inc., 1991. ISBN 0-937175-75-7
•
•
Jpman Ò°ñ°ë, ßïîíû FreeBSD Õýðýãëýã÷äèéí Á³ëýã (http://www.jp.FreeBSD.org/). FreeBSD System Administrator’s Manual (http://www.pc.mycom.co.jp/FreeBSD/sam.html) (ßïîí îð÷óóëãà). Mainichi Communications Inc. (http://www.pc.mycom.co.jp/), 1998. ISBN4-8399-0109-0 P3300E. Dreyfus, Emmanuel. Cahiers de l’Admin: BSD (http://www.eyrolles.com/Informatique/Livre/9782212114638/) 2nd Ed. (Ôðàíö õýë äýýð), Eyrolles, 2004. ISBN 2-212-11463-X
B.4
Ïðîãðàì çîõèîã÷äîä çîðèóëñàí çààâðóóä
•
Asente, Paul, Converse, Diana, and Swick, Ralph. X Window System Toolkit. Digital Press, 1998. ISBN 1-55558-178-1
•
Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer’s Reference Manual. O’Reilly & Associates, Inc., 1994. ISBN 1-56592-078-3
•
Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer’s Supplementary Documents. O’Reilly & Associates, Inc., 1994. ISBN 1-56592-079-1
•
Harbison, Samuel P. and Steele, Guy L. Jr. C: A Reference Manual. 4th ed. Prentice Hall, 1995. ISBN 0-13-326224-3
•
Kernighan, Brian and Dennis M. Ritchie. The C Programming Language. 2nd Ed. PTR Prentice Hall, 1988. ISBN 0-13-110362-8
•
Lehey, Greg. Porting UNIX Software. O’Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7
989
Appendix B. Íîì ç³é •
Plauger, P. J. The Standard C Library. Prentice Hall, 1992. ISBN 0-13-131509-9
•
Spinellis, Diomidis. Code Reading: The Open Source Perspective (http://www.spinellis.gr/codereading/). Addison-Wesley, 2003. ISBN 0-201-79940-5
•
Spinellis, Diomidis. Code Quality: The Open Source Perspective (http://www.spinellis.gr/codequality/). Addison-Wesley, 2006. ISBN 0-321-16607-8
•
Stevens, W. Richard and Stephen A. Rago. Advanced Programming in the UNIX Environment. 2nd Ed. Reading, Mass. : Addison-Wesley, 2005. ISBN 0-201-43307-9
•
Stevens, W. Richard. UNIX Network Programming. 2nd Ed, PTR Prentice Hall, 1998. ISBN 0-13-490012-X
•
Wells, Bill. “Writing Serial Drivers for UNIX”. Dr. Dobb’s Journal. 19(15), December 1994. pp68-71, 97-99.
B.5
éëäëèéí ñèñòåìèéí äîòîîä á³ðýëäýõ³³í³³äèéí òàëààð
•
Andleigh, Prabhat K. UNIX System Architecture. Prentice-Hall, Inc., 1990. ISBN 0-13-949843-5
•
Jolitz, William. “Porting UNIX to the 386”. Dr. Dobb’s Journal. January 1991-July 1992.
•
Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and John Quarterman The Design and Implementation of the 4.3BSD UNIX Operating System. Reading, Mass. : Addison-Wesley, 1989. ISBN 0-201-06196-1
•
Leffler, Samuel J., Marshall Kirk McKusick, The Design and Implementation of the 4.3BSD UNIX Operating System: Answer Book. Reading, Mass. : Addison-Wesley, 1991. ISBN 0-201-54629-9
•
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman. The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-54979-4 (Ýíý íîìûí 2-ð á³ëýã îíëàéí (http://www.FreeBSD.org/doc/mn_MN.UTF-8/books/design-44bsd/book.html)ààð FreeBSD áàðèìòæóóëàõ ò°ñëèéí õ³ðýýíä áàéãàà á°ã°°ä 9-ð á³ëýã ýíä (http://www.netapp.com/tech_library/nfsbook.html) áàéãàà.)
•
Marshall Kirk McKusick, George V. Neville-Neil The Design and Implementation of the FreeBSD Operating System. Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2
•
Stevens, W. Richard. TCP/IP Illustrated, Volume 1: The Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63346-9
•
Schimmel, Curt. Unix Systems for Modern Architectures. Reading, Mass. : Addison-Wesley, 1994. ISBN 0-201-63338-8
•
Stevens, W. Richard. TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63495-3
•
Vahalia, Uresh. UNIX Internals -- The New Frontiers. Prentice Hall, 1996. ISBN 0-13-101908-2
•
Wright, Gary R. and W. Richard Stevens. TCP/IP Illustrated, Volume 2: The Implementation. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X
990
B.6
Àþóëã³é áàéäëûí òóõàé íîìíóóä
Appendix B. Íîì ç³é
•
Cheswick, William R. and Steven M. Bellovin. Firewalls and Internet Security: Repelling the Wily Hacker. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63357-4
•
Garfinkel, Simson and Gene Spafford. Practical UNIX & Internet Security. 2nd Ed. O’Reilly & Associates, Inc., 1996. ISBN 1-56592-148-8
•
Garfinkel, Simson. PGP Pretty Good Privacy O’Reilly & Associates, Inc., 1995. ISBN 1-56592-098-8
B.7
Òîíîã ò°õ°°ð°ìæèéí òóõàé íîìíóóä
•
Anderson, Don and Tom Shanley. Pentium Processor System Architecture. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40992-5
•
Ferraro, Richard F. Programmer’s Guide to the EGA, VGA, and Super VGA Cards. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-62490-7
•
Èíòåë êîðïîðàöè °°ðñäèéí CPU-óóä, áè÷èë ñõåì³³ä áîëîí ñòàíäàðòóóäûí òóõàé áàðèìò áè÷ã³³äèéã õ°ãæ³³ëýã÷èéí âýá õóóäñàíä (http://developer.intel.com/) èõýâ÷ëýí PDF àéë õýëáýðýýð áàéðëóóëäàã.
•
Shanley, Tom. 80486 System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40994-1
•
Shanley, Tom. ISA System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40996-8
•
Shanley, Tom. PCI System Architecture. 4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN 0-201-30974-2
•
Van Gilluwe, Frank. The Undocumented PC, 2nd Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN 0-201-47950-8
•
Messmer, Hans-Peter. The Indispensable PC Hardware Book, 4th Ed. Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN 0-201-59616-4
B.8 UNIX-
èéí ò³³õ
•
Lion, John Lion’s Commentary on UNIX, 6th Ed. With Source Code. ITP Media Group, 1996. ISBN 1573980137
•
Raymond, Eric S. The New Hacker’s Dictionary, 3rd edition. MIT Press, 1996. ISBN 0-262-68092-0. Æàðãîí Ôàéë (http://www.catb.org/~esr/jargon/html/index.html) ãýæ áàñ õýëýãääýã.
•
Salus, Peter H. A quarter century of UNIX. Addison-Wesley Publishing Company, Inc., 1994. ISBN 0-201-54777-5
•
Simon Garfinkel, Daniel Weise, Steven Strassmann. The UNIX-HATERS Handbook. IDG Books Worldwide, Inc., 1994. ISBN 1-56884-203-1. Õýâëýãäýõýý áîëüñîí, ãýõäýý îíëàéí (http://research.microsoft.com/~daniel/unix-haters.html) áàéãàà.
•
Don Libes, Sandy Ressler Life with UNIX — special edition. Prentice-Hall, Inc., 1989. ISBN 0-13-536657-7
991
Appendix B. Íîì ç³é •
BSD-í óðãèéí áè÷èã . FreeBSD ìàøèí äýýðõ http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/misc/bsd-family-tree ýñâýë /usr/share/misc/bsd-family-tree
•
BSD-èéí Õóâèëáàðûí çàðëàëóóäûí öóãëóóëãà . 1997. http://www.de.FreeBSD.org/de/ftp/releases/
•
Networked Computer Science Technical Reports Library. http://www.ncstrl.org/
•
Computer Systems Research group (CSRG) áóþó Êîìïüþòåðèéí Ñèñòåì³³äèéí Ñóäàëãààíû Á³ëãèéí ãàðãàñàí õóó÷èí BSD õóâèëáàðóóä . http://www.mckusick.com/csrg/: 4 CD á³õèé öóãëóóëãà íü 1BSD-ýýñ àâàõóóëààä 4.4BSD áîëîí 4.4BSD-Lite2 (õàðàìñàëòàé íü 2.11BSD-ã áèø) õ³ðòýëõ á³õ BSD õóâèëáàðóóäûã õàìàðäàã. ѳ³ëèéí äèñê íü ò°ãñã°ëèéí ýõ³³äýýñ ãàäíà SCCS àéëóóäûã áàñ àãóóëäàã.
B.9
Ñîíèí, ñýò㳳볳ä
•
The C/C++ Users Journal. R&D Publications Inc. ISSN 1075-2838
•
Sys Admin — The Journal for UNIX System Administrators Miller Freeman, Inc., ISSN 1061-2688
•
freeX — Das Magazin für Linux - BSD - UNIX ( åðìàí õýë äýýð) Computer- und Literaturverlag GmbH, ISSN 1436-7033
992
Appendix C.
Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
FreeBSD-èéí äýâøëèéí õóðäàí àëõàà íü õàìãèéí ñ³³ëèéí õ°ãæ³³ëýëò³³äèéã äàãàõààñ õàìààðààä õýâëýí ãàðãàõ õýðýãöýýã³é áîëãîõîä õ³ðãýäýã. Öàõèì ýõ ³³ñâýð³³ä íü õàìãèéí øèëäýã íü á°ã°°ä õàìãèéí ñ³³ëèéí ³åèéí äýâøèëò³³äèéí òàëààð ìýäëýãòýé áàéõ áàðàã öîðûí ãàíö àðãà þì. FreeBSD íü ñàéí äóðûí ÷àðìàéëò áîëîõîîð õýðýãëýã÷èéí õ³ðýýíèéõýí íü °°ðñä°° öàõèì çàõèäàë, âýá õýëýëö³³ëã³³ä áîëîí òýð õ³ðýýíèéõýíä õ³ðýõ õàìãèéí ³ð àøèãòàé àðãà áîëîõ USENET ìýäýýí³³äèéí òóñëàìæòàéãààð åð°íõèéä°° íýãýí õýëáýðèéí “òåõíèêèéí äýìæëýãèéí õýëòýñ” ìàÿãààð ³éë÷èëäýã. FreeBSD-èéí õýðýãëýã÷èéí õ³ðýýíèéõýíä õàíäàõ õàìãèéí ÷óõàë öýã³³äèéã äîîð äóðäàâ. Õýðýâ òà ýíä
äóðäàãäñàíààñ °°ð ýõ ³³ñâýð³³äèéí òàëààð ìýäýæ áàéâàë òýäãýýðèéã áàñ ýíý æàãñààëòàä îðóóëàõààð FreeBSD áàðèìòæóóëàõ ò°ñëèéí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc) óðóó èëãýýíý ³³.
C.1
Çàõèäëûí æàãñààëòóóä
Çàõèäëûí æàãñààëòóóä íü FreeBSD-èéí õýðýãëýã÷äýä ÷èãëýñýí àñóóëòóóäàà òàâèõ ýñâýë òåõíèêèéí õýëýëö³³ëýã íýýõ õàìãèéí øóëóóí çàì þì. FreeBSD-èéí ò°ð°ë á³ðèéí ñýäâ³³äýýð îëîí ÿíçûí æàãñààëò áàéäàã. °ðèéí àñóóëòóóäàà õàìãèéí òîõèðîìæòîé çàõèäëûí æàãñààëò ðóó õàÿãëàñíààð èë³³ õóðäàí, ç°â õàðèó àâàõ áîëîìæòîé áîëãîäîã. Ýíý áàðèìòûí ñ³³ë õýñýãò ò°ð°ë á³ðèéí æàãñààëòóóäàä çîðèóëñàí ä³ðì³³ä áèé. Àëü íýã æàãñààëò óðóó ýëñýí îðîõ ýñâýë çàõèäàë èëãýýõýýñýý °ìí° æàãñààëòûí ä³ðìèéã óíøèíà óó . Îäîî ìàíàé çàõèäëûí æàãñààëòûí çàõèàëàã÷äûí èõýíõ íü FreeBSD-òýé õîëáîîòîé îëîí çóóí çàõèàíóóäûã °ä°ð á³ð àâäàã á°ã°°ä ç°â õýðýãëýõ òóõàé ä³ðýì, æóðìóóäûã ãàðãàñíààð áèä æàãñààëòóóäûí øóóãèàí, äîõèîíû õàðüöààã (signal-to-noise ratio) °íä°ð áàéëãàõûã õè÷ýýäýã. Áàãà õèéõ íü çàõèäëûí æàãñààëòûã ýíý ò°ñ°ëä çîðèóëñàí ³ð àøèãòàé õîëáîîíû ç°°â°ðë°ã÷ áàéõûã ýöñèéí ýöýñò áîëèóëæ áîëîõ þì. Note: Õýðýâ òà FreeBSD-èéí æàãñààëòóóä ðóó èëãýýæ ÷àäàæ áàéãàà ýñýõýý øàëãàæ òåñò õèéõèéã õ³ñâýë freebsd-test (http://lists.FreeBSD.org/mailman/listinfo/freebsd-test) ðóó òåñò çàõèäàë èëãýýíý ³³. °ð áóñàä æàãñààëò ðóó òåñò çàõèäàë áèòãèé èëãýýãýýðýé.
Àëü æàãñààëò óðóó àñóóëòàà èëãýýõýý ìýäýõã³é ýðãýëçýæ áàéãàà áîë FreeBSD-àñóóëòóóä çàõèäëûí æàãñààëòààñ õýðõýí õàìãèéí èõ àøãèéã àâ÷ áîëîõ âý (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/freebsd-questions) õýñãýýñ ³çíý ³³. Àëü íýã æàãñààëò óðóó èëãýýõýýñýý °ìí° áàéíãà äàâòàãääàã õýëýëö³³ëã³³äèéã ³³ñãýõã³é áàéõàä õýðõýí òóñëàõ çýðýã çàõèäëûí æàãñààëòûã õýðõýí õàìãèéí ³ð àøèãòàé àøèãëàõ òàëààð ñóðàõ õýðýãòýé. ³íèéã òóëä Çàõèäëûí æàãñààëòûí áàéíãà àñóóäàã àñóóëòóóä (http://www.FreeBSD.org/doc/mn_MN.UTF-8/articles/mailing-list-faq) (FAQ) áàðèìòûã óíøèõ íü ç³éòýé. Á³õ çàõèäëûí æàãñààëòóóäûí õóâüä àðõèâóóä õàäãàëàãääàã á°ã°°ä FreeBSD Äýëõèé Äàÿàðõ Âýá ñåðâåð (http://www.FreeBSD.org/search/index.html) àøèãëàí õàéëò õèéæ áîëíî. Ò³ëõ³³ð ³ãýýð õàéæ áîëîõ àðõèâ íü áàéíãà àñóóãääàã àñóóëòóóäàä çîðèóëñàí õàðèóëòóóäûã îëîõ õàìãèéí øèëäýã àðãûã ñàíàë áîëãîäîã á°ã°°ä àñóóëò èëãýýõýýñýý °ìí° ýäãýýðýýñ ëàâëàõ õýðýãòýé þì. Ýíý íü áàñ FreeBSD-èéí çàõèäëûí æàãñààëò ðóó èëãýýñýí çàõèàíóóäûã ³ðãýëæ õàäãàëæ áàéäàã ãýñýí ³ã þì. Õóâèéí íóóöûã õàìãààëàõ øààðäëàãàòàé áîë óñòãàõ áîëîìæòîé õî¼ð äàõü çàõèàíû õàÿã àøèãëàæ ç°âõ°í íèéòèéí ìýäýýëëèéã ÿâóóëàõ õýðýãòýé.
993
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
C.1.1
Æàãñààëòûí òîéì
Åð°íõèé æàãñààëòóóä: Äàðààõ íü åð°íõèé æàãñààëòóóä á°ã°°ä ýäãýýðò õýí ÷ ãýñýí ÷°ë°°òýé (çîðèãòîéãîîð) ýëñýæ áîëíî:
Æàãñààëò
Çîðèëãî
freebsd-advocacy (http://lists.FreeBSD.org/mailman/listinfo/freebsdadvocacy)
FreeBSD Evangelism
freebsd-announce (http://lists.FreeBSD.org/mailman/listinfo/freebsdannounce)
×óõàë ³éë ÿâäëóóä áîëîí ò°ñëèéí ãîë ãîë ³å øàòóóä
freebsd-arch Àðõèòåêòóð áîëîí äèçàéíû õýëýëö³³ëã³³ä (http://lists.FreeBSD.org/mailman/listinfo/freebsd-arch) FreeBSD-èéí àñóóäëûí òàéëàíãèéí ìýäýýëëèéí freebsd-bugbusters (http://lists.FreeBSD.org/mailman/listinfo/freebsdáààç áîëîí ò³³íòýé õîëáîîòîé õýðýãñë³³äèéí bugbusters) àð÷èëãààòàé õîëáîîòîé õýëýëö³³ëã³³ä freebsd-bugs Àëäààíû òàéëàíãóóä (http://lists.FreeBSD.org/mailman/listinfo/freebsd-bugs) FreeBSD õ³ðýýíèéõýíòýé õîëáîîòîé òåõíèêèéí áóñ freebsd-chat (http://lists.FreeBSD.org/mailman/listinfo/freebsd-chat) ç³éëñ freebsd-current (http://lists.FreeBSD.org/mailman/listinfo/freebsdcurrent) freebsd-isp (http://lists.FreeBSD.org/mailman/listinfo/freebsd-isp) freebsd-jobs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-jobs)
FreeBSD-CURRENT-í õýðýãëýýòýé õàìààòàé
õýëýëö³³ëýã
FreeBSD àøèãëàæ áàéãàà Èíòåðíýòèéí ³éë÷èëãýý
³ç³³ëýã÷äèéí àñóóäëóóä FreeBSD-òýé õîëáîîòîé àæèë áîëîí ç°âë°ã°°íèé áîëîìæóóä freebsd-policy FreeBSD-èéí îë áàãèéí áîäëîãûí øèéäâýð³³ä. (http://lists.FreeBSD.org/mailman/listinfo/freebsd-policy) Áàãà õýìæýýíèé á°ã°°ä ç°âõ°í óíøèõ áîëîìæòîé freebsd-questions Õýðýãëýã÷èéí àñóóëòóóä áîëîí òåõíèêèéí äýìæëýã (http://lists.FreeBSD.org/mailman/listinfo/freebsdquestions) freebsd-security-notifications (http://lists.FreeBSD.org/mailman/listinfo/freebsdsecurity-notifications)
Àþóëã³é áàéäëûí ìýäýãäë³³ä
freebsd-stable FreeBSD-STABLE-í õýðýãëýýòýé õîëáîîòîé (http://lists.FreeBSD.org/mailman/listinfo/freebsd-stable) õýëýëö³³ëýã freebsd-test Àëü íýã æàãñààëò óðóó òåñò çàõèà ÿâóóëàõûí îðîíä (http://lists.FreeBSD.org/mailman/listinfo/freebsd-test) ýíý æàãñààëò àøèãëàãäàíà
994
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Òåõíèêèéí æàãñààëòóóä: Äàðààõ æàãñààëòóóä íü òåõíèêèéí õýëýëö³³ëýãò çîðèóëàãäñàí. Ýäãýýð æàãñààëòûí àãóóëãà áîëîí õýðõýí àøèãëàõ òàëààð íàðèéí ÷àíä çààâðóóä áàéäàã ó÷ðààñ àëü íýã óðóó íü ýëñýõ þì óó ýñâýë çàõèäàë èëãýýõýýñýý °ìí° æàãñààëò áîëãîíû ä³ðýì, æóðìûã òà óíøèõ õýðýãòýé þì.
Æàãñààëò freebsd-acpi (http://lists.FreeBSD.org/mailman/listinfo/freebsd-acpi) freebsd-afs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-afs)
Çîðèëãî ACPI áîëîí òýæýýëèéí óäèðäëàãûí õ°ãæ³³ëýëò AFS-ã FreeBSD óðóó õ°ðâ³³ëýõ
freebsd-aic7xxx Adaptec AIC 7xxx-ä çîðèóëæ äðàéâåðóóä õ°ãæ³³ëýõ (http://lists.FreeBSD.org/mailman/listinfo/aic7xxx) FreeBSD-ã Alpha óðóó õ°ðâ³³ëýõ freebsd-alpha (http://lists.FreeBSD.org/mailman/listinfo/freebsd-alpha) freebsd-amd64 FreeBSD-ã AMD64 ñèñòåì³³ä óðóó õ°ðâ³³ëýõ (http://lists.FreeBSD.org/mailman/listinfo/freebsd-amd64) freebsd-apache (http://lists.FreeBSD.org/mailman/listinfo/freebsdapache) freebsd-arm (http://lists.FreeBSD.org/mailman/listinfo/freebsd-arm) freebsd-atm (http://lists.FreeBSD.org/mailman/listinfo/freebsd-atm) freebsd-audit (http://lists.FreeBSD.org/mailman/listinfo/freebsd-audit) freebsd-binup (http://lists.FreeBSD.org/mailman/listinfo/freebsd-binup) freebsd-bluetooth (http://lists.FreeBSD.org/mailman/listinfo/freebsdbluetooth)
Apache-òàé õîëáîîòîé ïîðòóóäûí òóõàé õýëýëö³³ëýã FreeBSD-ã ARM® ïðîöåññîðóóä óðóó õ°ðâ³³ëýõ FreeBSD äýýð ATM ñ³ëæýýã àøèãëàõ
Ýõ êîä àóäèò õèéõ ò°ñ°ë Õî¼ðòûí øèíý÷ëýë õèéõ ñèñòåìèéí äèçàéí áîëîí õ°ãæ³³ëýëò FreeBSD äýýð Bluetooth òåõíîëîãèéã àøèãëàõ
FreeBSD-ã êëàñòåð÷ëàãäñàí îð÷èíä àøèãëàõ freebsd-cluster (http://lists.FreeBSD.org/mailman/listinfo/freebsd-cluster) freebsd-cvsweb (http://lists.FreeBSD.org/mailman/listinfo/freebsdcvsweb) freebsd-database (http://lists.FreeBSD.org/mailman/listinfo/freebsddatabase)
CVSweb àð÷èëãàà
FreeBSD äýýðõ ìýäýýëëèéí áààç áîëîí õ°ãæ³³ëýëòèéí òàëààð õýëýëöýõ
995
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Æàãñààëò
Çîðèëãî
freebsd-eclipse (http://lists.FreeBSD.org/mailman/listinfo/freebsdeclipse)
Eclipse IDE, õýðýãñë³³ä, êëèåíòèéí áàÿëàã ïðîãðàìóóä áîëîí ïîðòóóäûí FreeBSD õýðýãëýã÷èä.
freebsd-doc FreeBSD-òýé õîëáîîòîé áàðèìòóóäûã ³³ñãýõ (http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc) FreeBSD-ä çîðèóëæ ò°õ°°ð°ìæèéí äðàéâåðóóäûã freebsd-drivers (http://lists.FreeBSD.org/mailman/listinfo/freebsd-drivers)áè÷èõ
freebsd-embedded (http://lists.FreeBSD.org/mailman/listinfo/freebsdembedded) freebsd-eol (http://lists.FreeBSD.org/mailman/listinfo/freebsd-eol) freebsd-emulation (http://lists.FreeBSD.org/mailman/listinfo/freebsdemulation) freebsd-firewire (http://lists.FreeBSD.org/mailman/listinfo/freebsdfirewire) freebsd-fs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-fs)
FreeBSD-ã àâñààð (embedded) ïðîãðàìóóäàä
àøèãëàõ
FreeBSD ò°ñë°°ð äýìæèãäýõýý áîëüñîí FreeBSD-òýé õîëáîîòîé ïðîãðàì õàíãàìæèéí äýìæëýã. Ëèíóêñ/MS-DOS/Windows çýðýã ñèñòåì³³äèéí ýìóëÿö FreeBSD FireWire® (iLink, IEEE 1394) òåõíèêèéí
õýëýëö³³ëýã
Ôàéëûí ñèñòåì³³ä
GEOM-òîé õîëáîîòîé õýëýëö³³ëã³³ä áîëîí freebsd-geom (http://lists.FreeBSD.org/mailman/listinfo/freebsd-geom) øèéäë³³ä GNOME áîëîí GNOME ïðîãðàìóóäûã õ°ðâ³³ëýõ freebsd-gnome (http://lists.FreeBSD.org/mailman/listinfo/freebsd-gnome) freebsd-hackers (http://lists.FreeBSD.org/mailman/listinfo/freebsdhackers) freebsd-hardware (http://lists.FreeBSD.org/mailman/listinfo/freebsdhardware)
Òåõíèêèéí åð°íõèé õýëýëö³³ëýã FreeBSD-ã òààðóóëàõòàé õîëáîîòîé òîíîã
ò°õ°°ð°ìæèéí åð°íõèé õýëýëö³³ëýã
freebsd-i18n FreeBSD Èíòåðíàöèîíàë÷ëàë (http://lists.FreeBSD.org/mailman/listinfo/freebsd-i18n)
IA-32 (Intel x86) òàâöàí äýýðõ FreeBSD freebsd-ia32 (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ia32) freebsd-ia64 FreeBSD-ã Intel-èéí èðæ áàéãàà IA64 ñèñòåì³³ä (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ia64) óðóó õ°ðâ³³ëýõ
996
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Æàãñààëò freebsd-ipfw (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ipfw) freebsd-isdn (http://lists.FreeBSD.org/mailman/listinfo/freebsd-isdn) freebsd-jail (http://lists.FreeBSD.org/mailman/listinfo/freebsd-jail) freebsd-java (http://lists.FreeBSD.org/mailman/listinfo/freebsd-java) freebsd-kde (https://mail.kde.org/mailman/listinfo/kde-freebsd) freebsd-lfs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-lfs) freebsd-libh (http://lists.FreeBSD.org/mailman/listinfo/freebsd-libh)
Çîðèëãî IP ãàëò õàíûí êîäíû øèíý äèçàéíû òóõàé òåõíèêèéí õýëýëö³³ëýã ISDN õ°ãæ³³ëýã÷èä jail(8) áîëîìæèéí òóõàé õýëýëö³³ëýã Java õ°ãæ³³ëýã÷èä áîëîí JDK-ã FreeBSD óðóó õ°ðâ³³ëæ áàéãàà õ³ì³³ñ KDE áîëîí KDE ïðîãðàìóóäûã ïîðò õèéõ LFS-ã FreeBSD ðóó ïîðò õèéõ
Õî¼ð äàõü ³åèéí ñóóëãàëò áîëîí áàãöûí ñèñòåì
freebsd-mips FreeBSD-ã MIPS® ð³³ ïîðò õèéõ; (http://lists.FreeBSD.org/mailman/listinfo/freebsd-mips) Õ°ä°ëã°°íò òîîöîîëëûí òóõàé õýëýëö³³ëã³³ä freebsd-mobile (http://lists.FreeBSD.org/mailman/listinfo/freebsdmobile) freebsd-mono FreeBSD äýýðõ Mono áîëîí C# ïðîãðàìóóä (http://lists.FreeBSD.org/mailman/listinfo/freebsd-mono) freebsd-mozilla Mozilla-ã FreeBSD ðóó ïîðò õèéõ (http://lists.FreeBSD.org/mailman/listinfo/freebsdmozilla) freebsd-multimedia (http://lists.FreeBSD.org/mailman/listinfo/freebsdmultimedia) freebsd-new-bus (http://lists.FreeBSD.org/mailman/listinfo/freebsd-newbus) freebsd-net (http://lists.FreeBSD.org/mailman/listinfo/freebsd-net)
Ìóëüòèìåäèà ïðîãðàìóóä Øóãàìûí àðõèòåêòóðûí òóõàé òåõíèêèéí õýëýëö³³ëã³³ä ѳëæýýíèé õýëýëö³³ëýã áà TCP/IP ýõ êîä OpenOffice.org áîëîí StarOffice-ã FreeBSD ðóó ïîðò
freebsd-openoffice (http://lists.FreeBSD.org/mailman/listinfo/freebsdopenoffice)
õèéõ
freebsd-performance (http://lists.FreeBSD.org/mailman/listinfo/freebsdperformance)
íä°ð õóðäòàé àæèëëàãàà/à÷ààëëûí ñóóëãàëòóóäàä çîðèóëñàí àæèëëàãààã òààðóóëàõ àñóóëòóóä
997
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Æàãñààëò freebsd-perl (http://lists.FreeBSD.org/mailman/listinfo/freebsd-perl) freebsd-pf (http://lists.FreeBSD.org/mailman/listinfo/freebsd-pf) freebsd-platforms (http://lists.FreeBSD.org/mailman/listinfo/freebsdplatforms) freebsd-ports (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports) freebsd-ports-bugs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-portsbugs) freebsd-ppc (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ppc) freebsd-proliant (http://lists.FreeBSD.org/mailman/listinfo/freebsdproliant) freebsd-python (http://lists.FreeBSD.org/mailman/listinfo/freebsdpython) freebsd-qa (http://lists.FreeBSD.org/mailman/listinfo/freebsd-qa) freebsd-rc (http://lists.FreeBSD.org/mailman/listinfo/freebsd-rc) freebsd-realtime (http://lists.FreeBSD.org/mailman/listinfo/freebsdrealtime)
Çîðèëãî Perl-òýé õîëáîîòîé ïîðòóóäûí àð÷èëãàà Ïàêåò ø³³ã÷ ãàëò õàíûí ñèñòåìèéí òóõàé õýëýëö³³ëýã áîëîí àñóóëòóóä Intel áèø àðõèòåêòóð òàâöàíãóóä ðóó ïîðò õèéõ òàëààð Ïîðòûí öóãëóóëãûí òóõàé õýëýëö³³ëýã Ïîðòûí àëäààíóóä/PR-óóäûí òóõàé õýëýëö³³ëýã FreeBSD-ã PowerPC® ðóó ïîðò õèéõ HP ProLiant ñåðâåð òàâöàíãóóä äýýðõ FreeBSD-èéí òóõàé òåõíèêèéí õýëýëö³³ëýã FreeBSD-òýé õîëáîîòîé Python-èé àñóóäëóóä
×àíàðûí áàòàëãààíû òóõàé õýëýëö³³ëýã, èõýâ÷ëýí ãàðàõ ãýæ áàéãàà õóâèëáàð rc.d ñèñòåì áîëîí ò³³íèé õ°ãæ³³ëýëòòýé õîëáîîòîé õýëýëö³³ëýã FreeBSD-èéí realtime °ðã°òã°ë³³äèéí õ°ãæ³³ëýëò
freebsd-ruby FreeBSD-òýé õîëáîîòîé Ruby-èéí õýëýëö³³ëýã (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ruby) freebsd-scsi SCSI äýä ñèñòåì (http://lists.FreeBSD.org/mailman/listinfo/freebsd-scsi) freebsd-security (http://lists.FreeBSD.org/mailman/listinfo/freebsdsecurity)
FreeBSD-ä í°ë°°ë°õ àþóëã³é áàéäëûí àñóóäëóóä
998
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Æàãñààëò
Çîðèëãî
freebsd-small Embedded áóþó àâñààð ïðîãðàìóóäàä FreeBSD-ã (http://lists.FreeBSD.org/mailman/listinfo/freebsd-small) àøèãëàõ (õóó÷èí; ³³íèé îðîíä freebsd-embedded (http://lists.FreeBSD.org/mailman/listinfo/freebsdembedded)-ã àøèãëà)
freebsd-smp (http://lists.FreeBSD.org/mailman/listinfo/freebsd-smp) freebsd-sparc64 (http://lists.FreeBSD.org/mailman/listinfo/freebsdsparc64) freebsd-standards (http://lists.FreeBSD.org/mailman/listinfo/freebsdstandards)
[A]Symmetric MultiProcessing áóþó íýã áà îëîí ïðîöåññîðòîé õîëáîîòîé äèçàéíû õýëýëö³³ëã³³ä FreeBSD-ã Sparc® äýýð ñóóðèëñàí ñèñòåì³³äýä ïîðò õèéõ C99 áîëîí POSIX ñòàíäàðòóóäòàé FreeBSD-èéí íèéöòýé áàéäàë
freebsd-sun4v FreeBSD-ã UltraSPARC T1 äýýð ñóóðèëñàí ñèñòåì³³ä (http://lists.FreeBSD.org/mailman/listinfo/freebsd-sun4v) óðóó ïîðò õèéõ FreeBSD äýýðõ óðñãàëæèëò freebsd-threads (http://lists.FreeBSD.org/mailman/listinfo/freebsdthreads) FreeBSD-èéí àæèëëàãàà áîëîí íàéäâàðòàé freebsd-testing (http://lists.FreeBSD.org/mailman/listinfo/freebsd-testing)áàéäëûí òåñò³³ä freebsd-tokenring (http://lists.FreeBSD.org/mailman/listinfo/freebsdtokenring) freebsd-usb (http://lists.FreeBSD.org/mailman/listinfo/freebsd-usb) freebsd-virtualization (http://lists.FreeBSD.org/mailman/listinfo/freebsdvirtualization)
FreeBSD äýýðõ Token Ring-èéí äýìæëýã
USB-ä çîðèóëñàí FreeBSD-èéí äýìæëýãèéí òóõàé õýëýëö³³ëýã FreeBSD-èéí äýìæäýã ò°ð°ë á³ðèéí âèðòóàë÷ëàëòûí òåõíèê³³äèéí òàëààðõ õýëýëö³³ëýã
freebsd-vuxml VuXML äýä á³òöèéí òóõàé õýëýëö³³ëýã (http://lists.FreeBSD.org/mailman/listinfo/freebsd-vuxml) freebsd-x11 (http://lists.FreeBSD.org/mailman/listinfo/freebsd-x11) freebsd-xen (http://lists.FreeBSD.org/mailman/listinfo/freebsd-xen)
FreeBSD äýýðõ X11-èéí àð÷èëãàà áà äýìæëýã
FreeBSD-èéí Xen ïîðòûí õýëýëö³³ëýã — øèéäýë áà õýðýãëýý Õÿçãààðëàãäìàë æàãñààëòóóä: Äàðààõ æàãñààëòóóä íü èë³³ òóñãàéëñàí (áîëîí øààðäàæ áàéãàà) îëîí íèéòýä çîðèóëàãäñàí á°ã°°ä åð°íõèé íèéòèéí ñîíèðõëûã òàòàõã³é áàéæ áîëîõ þì. Ýäãýýð õÿçãààðëàãäìàë æàãñààëòóóäûí àëü íýã óðóó ýëñýõýýñýý °ìí° òåõíèêèéí æàãñààëòóóäàä îðîõ íü
999
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
ç³éòýé þì. Èíãýñíýýð òà õàðèëöààíû ¼ñ ä³ðìèéã îéëãîõ áîëíî.
Æàãñààëò freebsd-hubs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs) freebsd-user-groups (http://lists.FreeBSD.org/mailman/listinfo/freebsd-usergroups) freebsd-vendors (http://lists.FreeBSD.org/mailman/listinfo/freebsdvendors) freebsd-wip-status (http://lists.FreeBSD.org/mailman/listinfo/freebsd-wipstatus)
Çîðèëãî Òîëèí òóñãàë ñàéòóóäûã àæèëëóóëæ áàéãàà õ³ì³³ñ (äýä á³òöèéí äýìæëýã) Õýðýãëýã÷èéí á³ëãèéí çîõèöóóëàëò éëäâýðëýã÷äèéí óðüä÷èëñàí õóâèëáàðûí çîõèöóóëàëò FreeBSD-èéí Work-In-Progress áóþó õèéãäýæ áàéãàà àæëóóäûí ò°ë°â
freebsd-www www.FreeBSD.org (http://lists.FreeBSD.org/mailman/listinfo/freebsd-www) (http://www.FreeBSD.org/index.html)-èéí àð÷ëàã÷èä Digest áóþó òîâ÷ ìýäýýëëèéí æàãñààëòóóä: Äýýðõ á³õ æàãñààëòóóä íü òîâ÷ õýëáýðýýð áàéäàã.
Æàãñààëòàä á³ðòã³³ëñíèé äàðàà òà °°ðèéí á³ðòãýëèéí òîõèðóóëãóóäûí õýñýãò òîâ÷ ìýäýýëýë õ³ëýýæ àâàõ òîõèðóóëãóóäûã °°ð÷èëæ áîëíî. CVS & SVN æàãñààëòóóä: Äàðààõ æàãñààëòóóä íü ýõ ìîäíû ò°ð°ë á³ðèéí òàëáàðóóä äàõü °°ð÷ë°ëò³³äèéí òóõàé á³ðòãýëèéí ìýäýãäë³³äèéã õàðàõûã õ³ññýí õ³ì³³ñò çîðèóëàãäñàí áàéäàã. Òýäãýýð íü Ç°âõ°í Óíøèãäàõ æàãñààëòóóä á°ã°°ä òýäãýýð ð³³ çàõèäàë èëãýýõ ¼ñã³é þì.
Æàãñààëò
Ýõ òàëáàð
/usr/(CVSROOT|doc|ports) cvs-all (http://lists.FreeBSD.org/mailman/listinfo/cvsall) /usr/(doc|www) cvs-doc (http://lists.FreeBSD.org/mailman/listinfo/cvsdoc) /usr/ports cvs-ports (http://lists.FreeBSD.org/mailman/listinfo/cvsports) /usr/projects cvs-projects (http://lists.FreeBSD.org/mailman/listinfo/cvsprojects)
Òàëáàðûí òàéëáàð
(çîðèóëàãäñàí ýõ)
Ìîäîí äàõü á³õ ãàçàð õèéãäñýí á³õ °°ð÷ë°ëò³³ä (áóñàä CVS èòãýìæëýí îðóóëàëòûí æàãñààëòóóäûí òîì íü) doc áîëîí www ìîäíóóäûí á³õ °°ð÷ë°ëò³³ä Ïîðòûí öóãëóóëãûí á³õ °°ð÷ë°ëò³³ä projects ìîäíû á³õ °°ð÷ë°ëò³³ä
1000
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Æàãñààëò
Ýõ òàëáàð
cvs-src /usr/src (http://lists.FreeBSD.org/mailman/listinfo/cvssrc)
Òàëáàðûí òàéëáàð
(çîðèóëàãäñàí ýõ)
src ìîäíû á³õ °°ð÷ë°ëò³³ä (svn-to-cvs èìïîðòëîã÷èéí
/usr/src svn-src-all (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-all)
èòãýìæëýí íèéë³³ëýëòýýð ³³ñãýãäñýí) Subversion ðåïîçèòîðûí á³õ °°ð÷ë°ëò³³ä (user áîëîí projects-ñ áóñàä)
/usr/src svn-src-head (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-head)
Subversion ðåïîçèòîðûí “head” ñàëáàðûí á³õ °°ð÷ë°ëò³³ä (FreeBSD-CURRENT ñàëáàð) src Subversion ðåïîçèòîðûí
/usr/projects svn-src-projects (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-projects)
projects òàëáàðûí á³õ °°ð÷ë°ëò³³ä
/usr/src svn-src-release (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-release)
òàëáàðûí á³õ °°ð÷ë°ëò³³ä
/usr/src svn-src-releng (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-releng) /usr/src svn-src-stable (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-stable)
src Subversion ðåïîçèòîðûí
releases
src Subversion ðåïîçèòîðûí releng
ñàëáàðóóäûí á³õ °°ð÷ë°ëò³³ä (àþóëã³é áàéäàë / õóâèëáàð èíæåíåð÷ëýëèéí ñàëáàðóóä) src Subversion ðåïîçèòîðûí á³õ òîãòâîðòîé ñàëáàðóóäûí á³õ °°ð÷ë°ëò³³ä src Subversion ðåïîçèòîðûí
/usr/src svn-src-stable-6 (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-stable-6)
stable/6 ñàëáàðûí á³õ °°ð÷ë°ëò³³ä
/usr/src svn-src-stable-7 (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-stable-7)
ñàëáàðûí á³õ °°ð÷ë°ëò³³ä
/usr/src svn-src-stable-other (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-stable-other)
stable
/usr/src svn-src-svnadmin (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-svnadmin)
src Subversion ðåïîçèòîðûí óäèðäëàãûí ñêðèïò³³ä, õóóêóóä, áîëîí áóñàä òîõèðãîîíû °ã°ãäëèéí á³õ °°ð÷ë°ëò³³ä
src Subversion ðåïîçèòîðûí
stable/7
src Subversion ðåïîçèòîðûí õóó÷èí
ñàëáàðóóäûí á³õ °°ð÷ë°ëò³³ä
1001
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Æàãñààëò
Ýõ òàëáàð
Òàëáàðûí òàéëáàð
(çîðèóëàãäñàí ýõ)
svn-src-user /usr/src (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-user)
src Subversion ðåïîçèòîðûí òóðøèëòûí user òàëáàðûí á³õ °°ð÷ë°ëò³³ä
/usr/src svn-src-vendor (http://lists.FreeBSD.org/mailman/listinfo/svnsrc-vendor)
src Subversion ðåïîçèòîðûí ³éëäâýðëýã÷èéí àæëûí òàëáàðûí á³õ °°ð÷ë°ëò³³ä
C.1.2
Õýðõýí á³ðòã³³ëýõ âý
Æàãñààëòàíä á³ðòã³³ëýõèéí òóëä äýýð áàéãàà æàãñààëòûí íýðýí äýýð äàðàõ þì óó ýñâýë http://lists.FreeBSD.org/mailman/listinfo ðóó î÷îîä ñîíèðõîæ áàéãàà æàãñààëò äýýðýý äàðàõ õýðýãòýé. Æàãñààëòûí õóóäàñ á³ðòã³³ëýõýä õýðýãòýé á³õ çààâðóóäûã àãóóëñàí áàéõ ¼ñòîé. ã°ãäñ°í æàãñààëò óðóó èëãýýõèéí òóëä åðä°° ë <æàãñààëòûí_íýð @FreeBSD.org> õàÿã óðóó çàõèäàë èëãýýíý. Äàðàà íü çàõèäëûí æàãñààëòûí äýëõèé äàÿàðõ ãèø³³äýä òàðààãäàõ áîëíî. Æàãñààëòààñ ãàðàõûí òóëä æàãñààëòààñ õ³ëýýí àâñàí öàõèì çàõèäàë á³ðèéí äîîð áàéðëàõ URL äýýð äàðàõ õýðýãòýé. °ðèéã°° á³ðòãýëýýñ õàñàõûí òóëä áàñ öàõèì çàõèäàë <æàãñààëòûí_íýð [email protected] > ðóó èëãýýæ áîëíî. Äàõèí õýëýõýä áèä òåõíèêèéí çàõèäëûí æàãñààëòóóäàä òåõíèêèéí òàëûí ç³éëñ õýëýëöýõèéã òàíààñ õ³ñýæ áàéíà. Õýðýâ òà ç°âõ°í ÷óõàë çàðëàëóóäûã ñîíèðõîæ áàéãàà áîë òà FreeBSD çàðëàëûí çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-announce)-ä á³ðòã³³ëýõ íü ç³éòýé þì. Ýíý æàãñààëò íü ç°âõ°í ìýäýýëëèéí ñèéðýã óðñãàëä çîðèóëàãäñàí þì. C.1.3
Æàãñààëòûí ä³ðýì, æóðìóóä
FreeBSD-èéí á³õ çàõèäëûí æàãñààëòóóä íü òîäîðõîé íýã ³íäñýí ä³ðì³³äòýé áàéäàã. Òýäãýýðèéã àøèãëàæ áàéãàà áîëãîí äàãàæ ì°ðä°õ ¼ñòîé. Ýäãýýð çààâðóóäûã äàãàõã³é áàéõ òîõèîëäîëä FreeBSD Postmaster <[email protected] >-ñ õî¼ð (2) àíõààðóóëãà áè÷ãýýð èðýõ á°ã°°ä ³³íèé äàðàà ãóðàâ äàõü óäààãàà ç°ð÷ñ°í òîõèîëäîëä èëãýýã÷èéã FreeBSD-èéí á³õ çàõèäëûí æàãñààëòààñ õàñàæ òýäãýýð ð³³ äàõèæ èëãýýõèéã íü ø³³õ áîëíî. Áèä èéì ä³ðì³³ä, àðãà õýìæýýí³³ä áàéãààä õàðàìñàæ áàéãàà áîëîâ÷ °í°°ãèéí Èíòåðíýò íü ìàø òàíõàé áàëìàä îð÷èí þì øèã ñàíàãääàã á°ã°°ä îëîí õ³ì³³ñ ýäãýýðèéí àðãà çàìóóä ÿìàð ýìçýã áîëîõûã õ³íäýòãýäýãã³é áèëýý. Äàãàæ ì°ðä°õ ä³ðýì, æóðìóóä: •
Àëü ÷ èëãýýëòèéí ñýäýâ íü èëãýýãäñýí æàãñààëòûíõàà ³íäñýí ä³ðýì, æóðìûã äàãàæ ì°ðä°æ áàéõ ¼ñòîé, °°ð°°ð õýëáýë õýðýâ æàãñààëò òåõíèêèéí àñóóäëóóäûí òàëààð áîë òàíû èëãýýæ áàéãàà çàõèäàë òåõíèêèéí õýëýëö³³ëýã àãóóëñàí áàéõ ¼ñòîé. Õàìààðàëã³é ³ðãýëæëýõ ÷àë÷àà ýñâýë óóðëàæ øàòñàí áàéäàë íü çàõèäëûí æàãñààëòûí óòãûã ò³³í äýýð áàéãàà á³õíèé õóâüä àëäàãäóóëæ òýâ÷èõã³é áàéäàëä õ³ðãýíý. ßìàð ÷ òîäîðõîé ñýäýâã³é ÷°ë°°ò õýëáýðèéí õýëýëö³³ëýãò çîðèóëñàí FreeBSD chat çàõèäëûí æàãñààëò (http://lists.FreeBSD.org/mailman/listinfo/freebsd-chat) õýëýëö³³ëýã ÷°ë°°òýé áàéäàã á°ã°°ä ³³íèéã àøèãëàõ ¼ñòîé þì.
1002
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä 2-îîñ èë³³ çàõèäëûí æàãñààëòàä çýðýã èëãýýæ áîëîõã³é á°ã°°ä ç°âõ°í 2 õ³ðòýëõèéã õýðýâ òîäîðõîé, èëò õýðýãöýý áàéãàà òîõèîëäîëä õî¼ð æàãñààëò óðóó èëãýýõèéã ç°âø°°ðä°ã. Èõýíõ æàãñààëòóóäûí õóâüä àëü õýäèéí ìàø èõ õýìæýýíèé á³ðòãýãäñýí õ³ì³³ñ äàâõàöäàã á°ã°°ä èõýíõ òóñãàé çîðèóëàãäñàí õîëèëäëóóäûã (“-stable & -scsi” ãýõ ìýò) òîîöîõã³é þì áîë íýãýí çýðýã íýã æàãñààëòààñ îëîí æàãñààëò óðóó èëãýýõ øàëòãààí æèíõýíýäýý áàéõã³é þì. Õýðýâ ìýäýý èéì çàìààð Cc ì°ð°í äýýð îëîí çàõèäëûí æàãñààëòòàéãààð òàíü ðóó èëãýýãäñýí áîë äàõèí èëãýýõýýñýý °ìí° Cc ì°ðèéã áàñ àâ÷ õàÿõ ¼ñòîé þì. Àíõëàí ýõëýã÷ íü õýí áàéãààãààñ ³ë õàìààðàí òà îëîí æàãñààëò óðóó èëãýýõ °°ðèéí èëãýýëò³³äèéíõýý ò°ë°° õàðèóöëàãà áàñ õ³ëýýõ ¼ñòîé þì. • Õóâü õ³í ð³³ ÷èãëýñýí õàëäëàãóóä áîëîí ãóòààí äîðîìæëîë íü (ìàðãààí) ç°âø°°ð°ãää°ãã³é á°ã°°ä ýíý íü õýðýãëýã÷èä áîëîí õ°ãæ³³ëýã÷äèéã àäèëõàí õàìàðäàã. Ç°âø°°ð°°ã³é áàéõàä ýñâýë ç°âø°°ð°ë °ã°ãä°õ°°ðã³é áàéõàä õóâèéí çàõèàã íýýõ ýñâýë äàõèí èëãýýõ çýðýã ñ³ëæýýí äýõ õàðèëöààíû á³ä³³ëýã ³éëäë³³ä ñàéøààãääàãã³é áîëîâ÷ õ³÷ýýð òàñëàí çîãñîîãääîãã³é. ýõäýý æàãñààëòûí ä³ðýì, æóðìûí õ³ðýýíä èéì àãóóëãà òààðàõ çàðèì ö°°í òîõèîëäîë áàñ áàéäàã á°ã°°ä èéì òîõèîëäîëä àíõààðóóëãà ÿâóóëàõ (ýñâýë õ°°õ) àðãà õýìæýýí³³äèéã òóõàé á³ðò íü àâ÷ áîëîõ þì. • FreeBSD-òýé õîëáîîã³é á³òýýãäýõ³³í³³ä ýñâýë ³éë÷èëãýýí³³äèéã ñóðòàë÷ëàõûã õàòóóãààð õîðèãëîäîã á°ã°°ä õýðýâ ç°ð÷èã÷ ñïàìààð ñóðòàë÷èëæ áàéãàà íü èëò áàéâàë ò³³íèéã íýí äàðóé õ°°õ°ä õ³ðãýíý. Æàãñààëò á³ðèéí ä³ðýì, æóðìóóä: •
freebsd-acpi (http://lists.FreeBSD.org/mailman/listinfo/freebsd-acpi) ACPI áîëîí òýæýýëèéí óäèðäëàãûí õ°ãæ³³ëýëò freebsd-afs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-afs) Andrew File System áóþó Ýíäðþ àéëûí ñèñòåì
Ýíý æàãñààëò íü AFS-ã CMU/Transarc-ààñ ïîðò õèéæ àøèãëàõ òóõàé õýëýëö³³ëýãò çîðèóëàãäñàí freebsd-announce (http://lists.FreeBSD.org/mailman/listinfo/freebsd-announce)
×óõàë ³éë ÿâäëóóä / ò³³õèéí ãîë ³å³³ä Ýíý íü FreeBSD-èéí ÷óõàë ³éë ÿâäëóóäûí òóõàé òîõèîëäëûí çàðëàëóóäûã ñîíèðõñîí õ³ì³³ñò çîðèóëàãäñàí çàõèäëûí æàãñààëò þì. ³íä õîðìûí õóâèëáàðóóä áîëîí áóñàä õóâèëáàðóóäûí òóõàé çàðëàëóóä áàãòäàã. Ýíý íü áàñ FreeBSD-èéí øèíý áîëîìæóóäûí çàðëàëóóäûã àãóóëäàã. Ñàéí äóðûíõíûã óðèàëàõ ãýõ ìýòèéã áàñ àãóóëæ áîëîõ þì. Ýíý íü áàãà à÷ààëàëòàé, ÷àíä õÿíàãäñàí çàõèäëûí æàãñààëò þì. freebsd-arch (http://lists.FreeBSD.org/mailman/listinfo/freebsd-arch)
Àðõèòåêòóð áîëîí äèçàéíû õýëýëö³³ëã³³ä Ýíý æàãñààëò íü FreeBSD-èéí àðõèòåêòóðûí õýëýëö³³ëýãò çîðèóëàãäñàí. Çàõèàíóóä íü èõýâ÷ëýí ìàø òåõíèêèéí øèíæ ÷àíàðòàé áàéõ áîëíî. Òîõèðîìæòîé ñýäâ³³äèéí æèøýýã äóðäâàë: • Íýãýí çýðýã õýä õýäýí °°ð÷ë°í òîõèðóóëñàí á³òýýëò³³äèéã àæèëëóóëàõûí òóëä á³òýýõ ñèñòåìèéã õýðõýí çàñàæ ñýëáýõ òàëààð. • Heidemann áóþó Õàéäåìàí äàâõàðãóóäûã àæèëëóóëàõûí òóëä VFS-ä þóã çàñâàðëàõ ¼ñòîé òàëààð.
1003
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä •
•
Èæèë äðàéâåðóóäûã îëîí øóãàìóóä áîëîí àðõèòåêòóðóóä äýýð öýâýðõýí àøèãëàæ ÷àääàã áàéõûí òóëä ò°õ°°ð°ìæèéí äðàéâåðèéí èíòåðýéñèéã õýðõýí °°ð÷ë°õ òàëààð. ѳëæýýíèé äðàéâåðèéã õýðõýí áè÷èõ òàëààð.
freebsd-audit (http://lists.FreeBSD.org/mailman/listinfo/freebsd-audit)
Ýõ êîäûí àóäèòèéí ò°ñ°ë Ýíý íü FreeBSD-èéí ýõ êîäûí àóäèò ò°ñ°ëä çîðèóëñàí çàõèäëûí æàãñààëò þì. Õýäèéãýýð ýíý íü àíõàíäàà àþóëã³é áàéäàëòàé õîëáîîòîé °°ð÷ë°ëò³³äýä çîðèóëàãäñàí áîëîâ÷ ³³íèé ä³ðýì, æóðàì êîäûí °°ð÷ë°ëò³³äèéã õÿíàõààð °ðã°æñ°í þì. Ýíý æàãñààëò íü çàñâàðóóäààð ìàø èõ äàðàãäñàí áàéäàã áîëîõîîð FreeBSD-èéí äóíäàæ õýðýãëýã÷èä ñîíèðõîëã³é áàéõ ìàãàäëàëòàé. ßìàð íýã êîäûí °°ð÷ë°ëòòýé õîëáîîã³é àþóëã³é áàéäëûí õýëýëö³³ëã³³ä freebsd-security æàãñààëòàä ÿâàãääàã. Á³õ õ°ãæ³³ëýã÷äýýñ °°ðñäèéí çàñâàðóóäûã õÿíóóëàõààð èëãýýõèéã äýìæäýã. Èéì òîõèîëäîë ÿëàíãóÿà àëäàà íü ñèñòåìèéí á³ðýí á³òýí áàéäàëä ñ°ðã°°ð í°ë°°ëñ°í òýð ñèñòåìèéí õýñãèéã òýäãýýð çàñâàðóóä íü õ°íä°æ áàéõ ³å þì. freebsd-binup (http://lists.FreeBSD.org/mailman/listinfo/freebsd-binup) FreeBSD-èéí Õî¼ðòûí øèíý÷ëýëèéí ò°ñ°ë
Ýíý æàãñààëò íü õî¼ðòûí øèíý÷ëýëèéí ò°ñ°ë áóþó binup-ä çîðèóëñàí õýëýëö³³ëãèéí áîëîìæèéã õàíãàõààð áàéäàã. Äèçàéíû àñóóäëóóä, øèéäëèéí òóõàé äýëãýðýíã³é ç³éëñ, çàñâàðóóä, àëäààíû òàéëàíãóóä, ò°ëâèéí òàéëàíãóóä, áîëîìæèéí õ³ñýëò³³ä, èòãýìæëýí îðóóëñàí ç³éëñèéí á³ðòãýë³³ä áîëîí binup-òàé õîëáîîòîé áóñàä á³õ ç³éëñ ýíý æàãñààëòààð õýëýëöýãääýã. freebsd-bluetooth (http://lists.FreeBSD.org/mailman/listinfo/freebsd-bluetooth) FreeBSD äýýðõ Bluetooth
Ýíý íü FreeBSD-èéí Bluetooth õýðýãëýã÷èä öóãëàäàã õýëýëö³³ëýã þì. Äèçàéíû àñóóäëóóä, øèéäëèéí òóõàé äýëãýðýíã³é ç³éëñ, çàñâàðóóä, àëäààíû òàéëàíãóóä, ò°ëâèéí òàéëàíãóóä, áîëîìæèéí õ³ñýëò³³ä, èòãýìæëýí îðóóëñàí ç³éëñèéí á³ðòãýë³³ä áîëîí Bluetooth-òàé õîëáîîòîé áóñàä á³õ ç³éëñ ýíý æàãñààëòààð õýëýëöýãääýã.
freebsd-bugbusters (http://lists.FreeBSD.org/mailman/listinfo/freebsd-bugbusters)
Àñóóäàë Òàéëàãíàëòòàé (Problem Report) àæèëëàõ õ³÷èí ÷àðìàéëòûí çîõèöóóëàëò Ýíý æàãñààëòûí çîðèëãî íü Àëäààíû ìàýñòðî (Bugmeister), ò³³íèé Öîõ íÿäëàã÷èä (Bugbusters) áîëîí PR ìýäýýëëèéí áààçàä ³íýí ñýòãýëýýñýý ñîíèðõîëòîé áóñàä òàëóóäàä çîðèóëñàí çîõèöóóëàëò áîëîí õýëýëö³³ëýã áîëîí ³éë÷ëýõ ÿâäàë þì. Ýíý æàãñààëò íü òóñãàéëñàí àëäààíóóä, çàñâàðóóä þì óó ýñâýë PR-óóäûí òóõàé õýëýëö³³ëã³³äýä çîðèóëàãäààã³é. freebsd-bugs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-bugs)
Àëäààíû òàéëàíãóóä Ýíý íü FreeBSD äýýðõ àëäààíóóäûã òàéëàãíàõàä çîðèóëàãäñàí çàõèäëûí æàãñààëò þì. Àëäààíóóäûã àëü áîëîõ send-pr(1) òóøààëûã àøèãëàõ þì óó ýñâýë ò³³íèé ÂÝÁ èíòåðýéñ (http://www.FreeBSD.org/send-pr.html)èéã àøèãëàí èëãýýõ ¼ñòîé.
1004
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä freebsd-chat (http://lists.FreeBSD.org/mailman/listinfo/freebsd-chat) FreeBSD-èéí õ³ðýýíèéõýíä õàìààã³é òåõíèêèéí áóñ ç³éëñ
Ýíý æàãñààëò íü áóñàä æàãñààëòààñ õàëüñàí òåõíèêèéí áóñ, íèéãìèéí ìýäýýëëèéã àãóóëäàã. Æîðäàí õ³³õýëäýéí êèíîíû °ìõèé õ³ðýíòýé àäèë óó ýñâýë ³ã³é þó, òîìîîð áè÷èõ ³³ ýñâýë ³ã³é þó, õýí õýòýðõèé èõ êîå óóæ áàéíà, õàìãèéí øèëäýã ïèâî õààíà èñãýæ áàéíà, õýí ïîäâàëäàà ïèâî èñãýæ áàéíà ãýõ ìýò õýëýëö³³ëã³³ä ³³íä áàãòäàã. ×óõàë ³éë ÿâäëóóäûí (áîëîõ ³äýøëýã³³ä, õóðèìíóóä, ò°ðñ°í °äð³³ä, øèíý àæëóóä ãýõ ìýò) òîõèîëäëûí çàðëàë òåõíèêèéí æàãñààëòóóä óðóó õèéãäýæ áîëîõ áîëîâ÷ äàðàà äàðààãèéí çàõèàíóóä ýíý -chat æàãñààëò óðóó çààãäàõ ¼ñòîé áàéäàã. freebsd-core FreeBSD ãîë áàã
Ýíý íü ãîë ãèø³³äèéí àøèãëàõàä çîðèóëñàí äîòîîä çàõèäëûí æàãñààëò þì. FreeBSD-òýé õîëáîîòîé ÷óõàë ç³éëèéã ø³³õ ýñâýë °íä°ð ò³âøíèé íàðèéâ÷èëñàí íÿãòëàë õèéõ øààðäëàãàòàé ³åä çàõèäëóóä ýíý æàãñààëò óðóó èëãýýãäýæ áîëíî. freebsd-current (http://lists.FreeBSD.org/mailman/listinfo/freebsd-current) FreeBSD-CURRENT-ã àøèãëàõ òóõàé õýëýëö³³ëýã
Ýíý íü FreeBSD-CURRENT-èéí õýðýãëýã÷äýä çîðèóëñàí çàõèäëûí æàãñààëò þì. Õýðýãëýã÷äýä í°ë°°ë°õ -CURRENT-ñ ãàðñàí øèíý áîëîìæóóäûí òóõàé àíõààðóóëãóóä áîëîí -CURRENT áàéõûí òóëä õèéõ àëõìóóäûí çààâðóóäûã ýíý æàãñààëò àãóóëäàã. “CURRENT”-ã àøèãëàæ áàéãàà õýí á³õýí ýíý æàãñààëòàä á³ðòã³³ëýõ ¼ñòîé. Ýíý íü òåõíèêèéí ÷àíàðòàé àãóóëãûã õàòóó ÷àíä õ³ëýýæ áàéäàã òåõíèêèéí çàõèäëûí æàãñààëò þì. freebsd-cvsweb (http://lists.FreeBSD.org/mailman/listinfo/freebsd-cvsweb) FreeBSD CVSweb ò°ñ°ë
FreeBSD-CVSweb-èéí õýðýãëýý, õ°ãæ³³ëýëò áîëîí àð÷èëãààíû òóõàé òåõíèêèéí õýëýëö³³ëã³³ä.
freebsd-doc (http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc)
Áàðèìòæóóëàõ ò°ñ°ë Ýíý çàõèäëûí æàãñààëò íü FreeBSD-ä çîðèóëñàí áàðèìòæóóëàëòûã ³³ñãýõòýé õîëáîîòîé ò°ñë³³ä áîëîí àñóóäëóóäûí õýëýëö³³ëýãò çîðèóëñàí áèëýý. Ýíý çàõèäëûí æàãñààëòûí ãèø³³äèéã á³õýëä íü “FreeBSD áàðèìòæóóëàõ ò°ñ°ë” ãýäýã. Ýíý íü íýýëòòýé æàãñààëò þì; ÷°ë°°òýé íýãäýæ õóâü íýìðýý îðóóëààðàé! freebsd-drivers (http://lists.FreeBSD.org/mailman/listinfo/freebsd-drivers) FreeBSD-ä çîðèóëæ ò°õ°°ð°ìæèéí äðàéâåðóóä áè÷èõ
Ýíý íü FreeBSD äýýðõ ò°õ°°ð°ìæèéí äðàéâåðóóäòàé õîëáîîòîé òåõíèêèéí õýëýëö³³ëã³³äýä çîðèóëñàí îðóì þì. FreeBSD ö°ì äýõ API-óóäûã àøèãëàí ò°õ°°ð°ìæèéí äðàéâåðóóäûã õýðõýí áè÷èõ òàëààð ò°õ°°ð°ìæèéí äðàéâåð áè÷èã÷äèéí àñóóõ òýð òàëáàð þì. freebsd-eclipse (http://lists.FreeBSD.org/mailman/listinfo/freebsd-eclipse) Eclipse IDE, õýðýãñë³³ä, êëèåíòèéí áàÿëàã ïðîãðàìóóä áîëîí ïîðòóóäûí FreeBSD õýðýãëýã÷èä.
1005
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Ýíý æàãñààëòûí çîðèëãî íü FreeBSD òàâöàí äýýð Eclipse IDE, õýðýãñë³³ä, êëèåíòèéí áàÿëàã ïðîãðàìóóäûã ñîíãîõ, ñóóëãàõ, àøèãëàõ, õ°ãæ³³ëýõ áîëîí àð÷ëàõ, Eclipse IDE áîëîí çàëãààñóóäûã FreeBSD îð÷èí óðóó ïîðò õèéõýä òóñëàõòàé õîëáîîòîé á³õ ç³éëñýä çîðèóëæ õàìòûí äýìæëýãèéã õàíãàõ ÿâäàë þì. Eclipse õ³ðýýíèéõýí áîëîí FreeBSD õ³ðýýíèéõýíä õî¼óëàíä íü àøèãòàé áàéõààð òýäãýýðèéí õîîðîíä ìýäýýëýë ñîëèëöîõûã õ°íã°â÷ë°õ áàñ çîðèëãîòîé þì. Ýíý æàãñààëò íü Eclipse õýðýãëýã÷äèéí õýðýãëýýí äýýð ³íäñýíäýý àíõààðàë òàâüäàã áîëîâ÷ áàñ Eclipse òîãòîëöîîã àøèãëàí FreeBSD ïðîãðàìóóäûã õ°ãæ³³ëýõèéã õ³ññýí õ³ì³³ñò çîðèóëñàí îðóì áîëäîã. freebsd-embedded (http://lists.FreeBSD.org/mailman/listinfo/freebsd-embedded) FreeBSD-ã ñóóëãàãäñàí àâñààð ïðîãðàìóóäàä àøèãëàõ
Ýíý æàãñààëò íü FreeBSD-ã ñóóëãàãäñàí ïðîãðàìóóäàä àøèãëàõòàé õîëáîîòîé ñýäâ³³äèéã õýëýëöäýã. Ýíý íü ç°âõ°í òåõíèêèéí àãóóëãà õ³ëýýæ áàéäàã òåõíèêèéí çàõèäëûí æàãñààëò þì. Ýíý æàãñààëòûí çîðèëãûí õóâüä áèä ñóóëãàãäñàí ñèñòåì³³äèéã òîäîðõîéëäîã á°ã°°ä ýäãýýð ñèñòåì³³ä íü øèðýýíèé ñèñòåì³³ä áèø á°ã°°ä òîîöîîëîõ åð°íõèé îð÷íóóäàä çîðèóëàãäààã³é òîäîðõîé íýã çîðèëãîîð àøèãëàãääàã òîîöîîëîõ ò°õ°°ð°ìæ³³ä þì. Æèøýýí³³äýä á³õ ò°ðëèéí óòàñíû õàðèëöóóðóóä, ÷èãë³³ëýã÷³³ä, øèëæ³³ëýã÷³³ä áîëîí PBX-³³ä, àëñûí õýìæèõ ò°õ°°ð°ìæ, PDA-óóä, Point of Sale áóþó POS ñèñòåì³³ä ãýõ çýðýã îðîõ á°ã°°ä ç°âõ°í ýíä äóðäàãäñàíààð õÿçãààðëàãäàõã³é þì. freebsd-emulation (http://lists.FreeBSD.org/mailman/listinfo/freebsd-emulation)
Ëèíóêñ/MS-DOS/Windows çýðýã áóñàä ñèñòåì³³äèéí ýìóëÿö Áóñàä ³éëäëèéí ñèñòåì³³äýä çîðèóëæ áè÷èãäñýí ïðîãðàìóóäûã FreeBSD äýýð àæèëëóóëàõòàé õîëáîîòîé òåõíèêèéí õýëýëö³³ëã³³äýä çîðèóëñàí îðóì þì. freebsd-eol (http://lists.FreeBSD.org/mailman/listinfo/freebsd-eol) FreeBSD ò°ñëèéí äýìæèõýý áîëüñîí FreeBSD-òýé õîëáîîòîé ïðîãðàì õàíãàìæóóäûí òýãø äýìæëýã.
Ýíý æàãñààëò íü FreeBSD ò°ñëèéí àëáàí ¼ñíû (°°ð°°ð õýëáýë àþóëã³é áàéäëûí ç°âë°ã°°í³³ä áîëîí çàñâàðóóäûí õýëáýðýýð) äýìæëý㠳糳ëýõýý áîëüñîí FreeBSD-òýé õîëáîîòîé ïðîãðàì õàíãàìæèéí äýìæëý㠳糳ëýõ ýñâýë àøèãëàõûã õ³ññýí õ³ì³³ñò çîðèóëàãäñàí þì. freebsd-firewire (http://lists.FreeBSD.org/mailman/listinfo/freebsd-firewire) FireWire (iLink, IEEE 1394)
Ýíý íü FreeBSD äýýð FireWire (IEEE 1394, áàñ iLink ãýãääýã) äýä ñèñòåìèéí äèçàéí áîëîí øèéäëèéí õýëýëö³³ëýãò çîðèóëñàí çàõèäëûí æàãñààëò þì. Õàìààðàëòàé ñýäâ³³äýä ÿëàíãóÿà ñòàíäàðòóóä, øóãàìûí ò°õ°°ð°ìæ³³ä áîëîí òýäãýýðèéí ïðîòîêîëóóä, àäàïòåð õàâòàíãóóä/êàðòóóä/áè÷èë ñõåì³³ä, òýäãýýðèéã ç°â äýìæèõ êîäûí àðõèòåêòóð áîëîí øèéäýë îðäîã. freebsd-fs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-fs)
Ôàéëûí ñèñòåì³³ä FreeBSD àéëûí ñèñòåìòýé õîëáîîòîé õýëýëö³³ëã³³ä. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã.
1006
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä freebsd-geom (http://lists.FreeBSD.org/mailman/listinfo/freebsd-geom) GEOM GEOM áîëîí ò³³íòýé õîëáîîòîé øèéäë³³äòýé õîëáîîòîé õýëýëö³³ëã³³ä. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-gnome (http://lists.FreeBSD.org/mailman/listinfo/freebsd-gnome) GNOME FreeBSD ñèñòåì³³äýä çîðèóëñàí GNOME Øèðýýíèé îð÷íû òóõàé õýëýëö³³ëã³³ä. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-ipfw (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ipfw) IP Firewall áóþó ãàëò õàíà
Ýíý íü FreeBSD äýýðõ IP ãàëò õàíûí êîäûã äàõèí äèçàéí õèéõòýé õîëáîîòîé òåõíèêèéí õýëýëö³³ëã³³äýä çîðèóëñàí îðóì þì. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-ia64 (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ia64) FreeBSD-ã IA64 ðóó ïîðò õèéõ
Ýíý íü FreeBSD-ã Intel-èéí IA-64 òàâöàí ðóó ïîðò õèéõýýð èäýâõòýéãýýð àæèëëàæ áàéãàà õóâü õ³ì³³ñò çîðèóëñàí, àñóóäëóóä ãàðãàæ òàâèõ þì óó ýñâýë °°ð øèéäë³³äèéí òàëààð õýëýëöýõ òåõíèêèéí çàõèäëûí æàãñààëò þì. Òåõíèêèéí õýëýëö³³ëãèéã äàãàõ ñîíèðõîëòîé õóâü õ³ì³³ñ áàñ íýãäýæ áîëîõ þì. freebsd-isdn (http://lists.FreeBSD.org/mailman/listinfo/freebsd-isdn) ISDN õîëáîîíóóä
Ýíý íü FreeBSD-ä çîðèóëñàí ISDN-èé äýìæëýãèéí õ°ãæ³³ëýëòèéã õýëýëöýõýä çîðèóëñàí çàõèäëûí æàãñààëò þì. freebsd-java (http://lists.FreeBSD.org/mailman/listinfo/freebsd-java) Java õ°ãæ³³ëýëò
Ýíý íü FreeBSD äýýð ÷óõàë Java ïðîãðàìóóäûã õ°ãæ³³ëýõ áîëîí JDK-ã ïîðò õèéõ áîëîí àð÷ëàõ òàëààð õýëýëöýõýä çîðèóëñàí çàõèäëûí æàãñààëò þì. freebsd-jobs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-jobs)
Ñàíàë áîëãîæ áàéãàà áîëîí õàéæ áàéãàà àæëóóä Ýíý íü FreeBSD-òýé ÿëàíãóÿà õîëáîîòîé àæëûí ìýäýãäë³³ä áîëîí CV/resume-³³äèéã èëãýýõ çîðèóëàëòòàé îðóì þì. °ð°°ð õýëáýë õýðýâ òà FreeBSD-òýé õîëáîîòîé àæèë õàéæ áàéãàà ýñâýë òàíä FreeBSD îðîëöñîí çàðëàõ àæèë áàéãàà áîë ýíý íü ç°â ãàçàð þì. Ýíý íü åð°íõèé àæèëòàé õîëáîîòîé àñóóäëóóäàä çîðèóëñàí çàõèäëûí æàãñààëò áèø þì. Ó÷èð íü ò³³íä çîðèóëñàí òîõèðñîí îðóìóóä õàà íýãòýý àëü õýäèéí áàéäàã. Ýíý æàãñààëò íü áóñàä FreeBSD.org çàõèäëûí æàãñààëòóóäûí àäèë äýëõèé äàÿàð òàðäàã. Òèéìýýñ òà áàéðëàë áîëîí àÿëàõ ýñâýë øèíý ãàçàð í³³õòýé õîëáîîòîé òóñëàëöàà áàéãàà ýñýõ òýð õèð õýìæýýã îéëãîñîí áàéõ õýðýãòýé.
1007
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Öàõèì çàõèäëóóä íü íýýëòòýé õýëáýðøèëò³³äèéã àøèãëàõ ¼ñòîé — öýâýð òåêñòèéã àëü áîëîõ ýðõýìëýñýí áàéõ ¼ñòîé áîëîâ÷ Portable Document Format (PDF), HTML, áîëîí áóñàä ö°°í õýäýí õýëáýðøèëò èõýíõ óíøèã÷äûí õóâüä õ³ëýýæ àâàõ áîëîìæòîé áàéäàã. Microsoft Word (.doc) çýðýã õààëòòàé õýëáýðøèëò³³äýýñ çàõèäëûí æàãñààëòûí ñåðâåð òàòãàëçàõ áîëíî. freebsd-kde (https://mail.kde.org/mailman/listinfo/kde-freebsd) KDE FreeBSD ñèñòåì³³ä äýýðõ KDE-òýé õîëáîîòîé õýëýëö³³ëã³³ä. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-hackers (http://lists.FreeBSD.org/mailman/listinfo/freebsd-hackers)
Òåõíèêèéí õýëýëö³³ëã³³ä Ýíý íü æàãñààëò íü FreeBSD-òýé õîëáîîòîé òåõíèêèéí õýëýëö³³ëã³³äýä çîðèóëàãäñàí. Ýíý íü òåõíèêèéí àíõäàã÷ çàõèäëûí æàãñààëò þì. Ýíý íü FreeBSD äýýð èäýâõòýéãýýð àæèëëàæ áàéãàà õóâü õ³ì³³ñò àñóóäëóóä ãàðãàæ òàâèõ ýñâýë °°ð øèéäë³³äèéã õýëýëöýõýä íü çîðèóëàãäæýý. Òåõíèêèéí õýëýëö³³ëãèéã äàãàõ ñîíèðõîëòîé õóâü õ³ì³³ñ íýãäýõýä äóðòàéÿà áàéõ áîëíî. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-hardware (http://lists.FreeBSD.org/mailman/listinfo/freebsd-hardware) FreeBSD òîíîã ò°õ°°ð°ìæèéí åð°íõèé õýëýëö³³ëýã
FreeBSD-èéí àæèëëàæ áàéãàà òîíîã ò°õ°°ð°ìæèéí ò°ðë³³ä, ò°ð°ë á³ðèéí àñóóäëóóä áîëîí þó õóäàëäàæ àâàõ ýñâýë àâàõã³é áàéõòàé õîëáîîòîé ñàíàëóóäûí òóõàé åð°íõèé õýëýëö³³ëýã. freebsd-hubs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-hubs)
Òîëèí òóñãàë ñàéòóóä FreeBSD òîëèí òóñãàë ñàéòóóäûã àæèëëóóëæ áàéãàà õ³ì³³ñò çîðèóëñàí çàðëàëóóä áà õýëýëö³³ëýã. freebsd-isp (http://lists.FreeBSD.org/mailman/listinfo/freebsd-isp)
Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷äýä çîðèóëñàí àñóóäëóóä Ýíý çàõèäëûí æàãñààëò íü FreeBSD àøèãëàæ áàéãàà Èíòåðíýòèéí ³éë÷èëãýý ³ç³³ëýã÷èäòýé (ISP-óóä) õîëáîîòîé ñýäâ³³äèéã õýëýëöýõýä çîðèóëàãäñàí. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-mono (http://lists.FreeBSD.org/mailman/listinfo/freebsd-mono) FreeBSD äýýðõ Mono áîëîí C# ïðîãðàìóóä
Ýíý íü FreeBSD äýýðõ Mono õ°ãæ³³ëýëòèéí òîãòîëöîîòîé õàìààðàëòàé õýëýëö³³ëã³³äýä çîðèóëàãäñàí æàãñààëò þì. Ýíý íü òåõíèêèéí çàõèäëûí æàãñààëò þì. Ýíý íü FreeBSD ð³³ Mono áîëîí C# ïðîãðàìóóäûã õ°ðâ³³ëýõýõýýð èäýâõòýéãýýð àæèëëàæ áàéãàà õ³ì³³ñ àñóóäëóóä òàâèõ ýñâýë °°ð áîëîìæèò øèéäë³³äèéã õýëýëöýõýä çîðèóëàãäñàí þì. Òåõíèêèéí õýëýëö³³ëã³³äèéã ñîíèðõîæ äàãàõ ãýñýí õ³ì³³ñ áàñ îðîëöîõ áîëîìæòîé þì. freebsd-openoffice (http://lists.FreeBSD.org/mailman/listinfo/freebsd-openoffice) OpenOffice.org
1008
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä OpenOffice.org áîëîí StarOffice-èéí àð÷èëãàà áîëîí òýäãýýðèéã ïîðò õèéòýé õîëáîîòîé õýëýëö³³ëã³³ä. freebsd-performance (http://lists.FreeBSD.org/mailman/listinfo/freebsd-performance) FreeBSD-ã òààðóóëàõ ýñâýë õóðäëóóëàõ òóõàé õýëýëö³³ëã³³ä
Ýíý çàõèäëûí æàãñààëò íü õàêåðóóä, àäìèíèñòðàòîðóóä áà/ýñâýë îðîëöîæ áàéãàà òàëóóä FreeBSD-òýé õàìààòàé àæèëëàãààòàé õîëáîîòîé ñýäâ³³äèéã õýëýëöýõýä çîðèóëñàí òàëáàð þì. Õ³ëýýæ àâàõ áîëîìæòîé ñýäâ³³äýä èõ à÷ààëàëòàé, àæèëëàãààíû àñóóäëóóäòàé ó÷èð÷ áàéãàà ýñâýë FreeBSD-èéí õÿçãààðóóäàä òóëæ áàéãàà FreeBSD ñóóëãàöóóäûí òóõàé õýëýëö³³ëýã îðäîã. FreeBSD-èéí àæèëëàãààã ñàéæðóóëàõ òàëààð àæèëëàõ ñîíèðõîëòîé òàëóóäûã ýíý æàãñààëòàä á³ðòã³³ëýõýä òóéëààñ äýìæäýã. Ýíý íü FreeBSD-ã õóðäàí, õ³÷èðõýã, °ðã°æèõ áîëîìæòîé áîëãîõ ñîíèðõîëòîé, òóðøëàãàòàé FreeBSD õýðýãëýã÷èä, õàêåðóóä ýñâýë àäìèíèñòðàòîðóóäàä òóéëûí òààðñàí òåõíèêèéí æàãñààëò þì. Ýíý íü áàðèìòûã óíøñàíààð îðëóóëæ áîëîõ àñóóëò õàðèóëòûí æàãñààëò áèø áîëîâ÷ õóâü íýìýð îðóóëàõ þì óó ýñâýë õàðèóëàãäààã³é á°ã°°ä àæèëëàãààòàé õîëáîîòîé ñýäâ³³äèéí òàëààð ëàâëàæ áîëîõ òàëáàð þì.
freebsd-pf (http://lists.FreeBSD.org/mailman/listinfo/freebsd-pf)
Ïàêåò ø³³ã÷ ãàëò õàíûí ñèñòåìèéí òóõàé õýëýëö³³ëýã áà àñóóëòóóä Ïàêåò ø³³ã÷ (pf) ãàëò õàíûí ñèñòåìèéí òóõàé FreeBSD-òýé õîëáîîòîé õýëýëö³³ëýã. Òåõíèêèéí õýëýëö³³ëýã áîëîí õýðýãëýã÷èéí àñóóëòóóä àëü àëèéã õýëýëöýõ áîëîìæòîé. Ýíý æàãñààëò íü ALTQ QoS òîãòîëöîîã õýëýëöýõ áàñ òàëáàð þì. freebsd-platforms (http://lists.FreeBSD.org/mailman/listinfo/freebsd-platforms) Intel áèø òàâöàíãóóä ðóó ïîðò õèéõ
Òàâöàí õîîðîíäîõ FreeBSD-èéí àñóóäëóóä, åð°íõèé õýëýëö³³ëýã áà Intel áèø FreeBSD ïîðòóóäàä çîðèóëàãäñàí ò°ñë³³ä. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-policy (http://lists.FreeBSD.org/mailman/listinfo/freebsd-policy)
îë áàãèéí áîäëîãûí øèéäâýð³³ä Ýíý íü FreeBSD-èéí ãîë áàãèéí áîäëîãûí øèéäâýð³³äýä çîðèóëàãäñàí áàãà à÷ààëàëòàé, ç°âõ°í óíøèãäàõ çàõèäëûí æàãñààëò þì. freebsd-ports (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports) “Ïîðòóóäûí” õýëýëö³³ëýã
FreeBSD-èéí “ïîðòûí öóãëóóëãà” (/usr/ports), ïîðòûí äýä á³òýö áîëîí ïîðòûí åð°íõèé çîõèöóóëàëòûí ÷àðìàéëòóóäûí òóõàé õýëýëö³³ëã³³ä. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-ports-bugs (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports-bugs) “Ïîðòóóäûí” àëäààíóóäûí õýëýëö³³ëýã
FreeBSD-èéí “ïîðòûí öóãëóóëãà”ä (/usr/ports) çîðèóëñàí àñóóäëûí òàéëàíãóóä, ñàíàë áîëãîãäîæ áàéãàà ïîðòóóä ýñâýë ïîðòóóäàä õèéãäýõ °°ð÷ë°ëò³³äòýé õîëáîîòîé õýëýëö³³ëã³³ä. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã.
1009
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä freebsd-proliant (http://lists.FreeBSD.org/mailman/listinfo/freebsd-proliant) HP Proliant ñåðâåð òàâöàíãóóä äýýðõ FreeBSD-èéí òåõíèêèéí õýëýëö³³ëýã
Ýíý çàõèäëûí æàãñààëò íü Proliant-òàé õîëáîîòîé äðàéâåðóóä, óäèðäëàãûí ïðîãðàì õàíãàìæ, òîõèðãîîíû õýðýãñë³³ä áà BIOS-èéí øèíý÷ëýëò³³äèéí õýëýëö³³ëýã çýðýã HP Proliant ñåðâåð³³ä äýýðõ FreeBSD-èéí õýðýãëýýíèé òåõíèêèéí õýëýëö³³ëýãò çîðèóëàãäñàí òàëáàð þì. Òèéìýýñ ýíý íü hpasmd, hpasmcli, áîëîí hpacucli ìîäóëèóäûí òàëààð õýëýëöýõ ³íäñýí ãàçàð þì. freebsd-python (http://lists.FreeBSD.org/mailman/listinfo/freebsd-python) FreeBSD äýýðõ Python
Ýíý íü FreeBSD äýýð Python äýìæëýãèéã ñàéæðóóëàõòàé õîëáîîòîé õýëýëö³³ëã³³äýä çîðèóëñàí æàãñààëò þì. Ýíý íü òåõíèêèéí çàõèäëûí æàãñààëò þì. Ýíý íü Python, ò³³íèé ãóðàâäàã÷ òàëóóäûí ìîäóëèóä áîëîí Zope-èéí þìñûã FreeBSD ðóó ïîðò õèéõýýð àæèëëàæ áàéãàà õóâü õ³ì³³ñò çîðèóëàãäñàí þì. Òåõíèêèéí õýëýëö³³ëãèéã äàãàõ ñîíèðõîëòîé õóâü õ³ì³³ñ íýãäýõýä áàñ äóðòàéÿà áàéõ áîëíî. freebsd-questions (http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions)
Õýðýãëýã÷èéí àñóóëòóóä Ýíý íü FreeBSD-èéí òóõàé àñóóëòóóäàä çîðèóëàãäñàí çàõèäëûí æàãñààëò þì. Òà àñóóëòàà íýëýýí òåõíèêèéí ãýæ ³çýæ áàéãààãààñ áóñàä òîõèîëäîëä “how to” áóþó “õýðõýí ÿàæ” ãýñýí àñóóëòóóäûã òåõíèêèéí æàãñààëòóóä ðóó èëãýýõ ¼ñã³é þì. freebsd-ruby (http://lists.FreeBSD.org/mailman/listinfo/freebsd-ruby) FreeBSD-òýé õîëáîîòîé Ruby-èéí õýëýëö³³ëýã
Ýíý íü FreeBSD äýýðõ Ruby-èéí äýìæëýãòýé õîëáîîòîé õýëýëö³³ëýãò çîðèóëñàí æàãñààëò þì. Ýíý íü òåõíèêèéí çàõèäëûí æàãñààëò þì. Ruby ïîðòóóä, ãóðàâäàã÷ ñàíãóóä áîëîí òîãòîëöîîíóóä äýýð àæèëëàæ áàéãàà õóâü õ³ì³³ñò çîðèóëñàí þì. Òåõíèêèéí õýëýëö³³ëãèéã äàãàõ ñîíèðõîëòîé õóâü õ³ì³³ñ íýãäýõýä áàñ äóðòàéÿà áàéõ áîëíî. freebsd-scsi (http://lists.FreeBSD.org/mailman/listinfo/freebsd-scsi) SCSI äýä ñèñòåì
Ýíý íü FreeBSD-ä çîðèóëàãäñàí SCSI äýä ñèñòåì äýýð àæèëëàæ áàéãàà õ³ì³³ñò çîðèóëñàí çàõèäëûí æàãñààëò þì. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-security (http://lists.FreeBSD.org/mailman/listinfo/freebsd-security)
Àþóëã³é áàéäëûí àñóóäëóóä FreeBSD êîìïüþòåðèéí àþóëã³é áàéäëûí àñóóäëóóä (DES, Kerberos, ìýäýãäýæ áàéãàà àþóëã³é áàéäëûí öîîðõîéíóóä áîëîí çàñâàðóóä ãýõ ìýò). Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. Ýíý íü àñóóëò, õàðèóëòûí æàãñààëò áèø ãýäãèéã ñàíàõ õýðýãòýé, ãýõäýý FAQ-ä õóâü íýìýð îðóóëàõûã (àñóóëò, õàðèóëòûí àëü íü ÷ áàéñàí ãýñýí) äýìæäýã. freebsd-security-notifications (http://lists.FreeBSD.org/mailman/listinfo/freebsd-security-notifications)
Àþóëã³é áàéäëûí ìýäýãäë³³ä
1010
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä FreeBSD-èéí àþóëã³é áàéäëûí àñóóäëóóä áà çàñâàðóóäûí ìýäýãäë³³ä. Ýíý íü õýëýëö³³ëãèéí æàãñààëò áèø þì. Õýëýëö³³ëãèéí æàãñààëò íü FreeBSD-security þì. freebsd-small (http://lists.FreeBSD.org/mailman/listinfo/freebsd-small) FreeBSD-ã ñóóëãàãäñàí ïðîãðàìóóä äýýð àøèãëàõ
Ýíý æàãñààëò íü åðäèéí áèø æèæèã áà ñóóëãàãäñàí àâñààð FreeBSD ñóóëãàöóóäòàé õîëáîîòîé ñýäâ³³äèéã õýëýëöäýã. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. Note: Ýíý æàãñààëò íü freebsd-embedded (http://lists.FreeBSD.org/mailman/listinfo/freebsd-embedded)-ð õóó÷èð÷ àøèãëàãäàõàà áîëüñîí.
freebsd-stable (http://lists.FreeBSD.org/mailman/listinfo/freebsd-stable) FreeBSD-STABLE-èéí õýðýãëýýíèé òóõàé õýëýëö³³ëýã
Ýíý íü FreeBSD-STABLE-èéí õýðýãëýã÷äýä çîðèóëñàí çàõèäëûí æàãñààëò þì. Õýðýãëýã÷äýä í°ë°°ë°õ -STABLE-ñ ãàðñàí øèíý áîëîìæóóäûí òóõàé àíõààðóóëãóóä áîëîí -STABLE áàéõûí òóëä õèéõ àëõìóóäûí çààâðóóäûã ýíý æàãñààëò àãóóëäàã. “STABLE”-ã àøèãëàæ áàéãàà õýí á³õýí ýíý æàãñààëòàä á³ðòã³³ëýõ õýðýãòýé. Ýíý æàãñààëò íü òåõíèêèéí çàõèäëûí æàãñààëò á°ã°°ä ç°âõ°í òåõíèêèéí àãóóëãûã õ³ëýýæ áàéäàã. freebsd-standards (http://lists.FreeBSD.org/mailman/listinfo/freebsd-standards) C99 & POSIX íèéöòýé áàéäàë
Ýíý íü C99 áîëîí POSIX ñòàíäàðòóóäòàé FreeBSD õýðõýí íèéöýæ áàéãààòàé õîëáîîòîé òåõíèêèéí õýëýëö³³ëã³³äýä çîðèóëàãäñàí îðóì þì.
freebsd-usb (http://lists.FreeBSD.org/mailman/listinfo/freebsd-usb) USB-ä çîðèóëñàí FreeBSD-èéí äýìæëýãèéã õýëýëöýõ
Ýíý íü USB-ä çîðèóëñàí FreeBSD-èéí äýìæëýãòýé õîëáîîòîé òåõíèêèéí õýëýëö³³ëã³³äýä çîðèóëñàí çàõèäëûí æàãñààëò þì. freebsd-user-groups (http://lists.FreeBSD.org/mailman/listinfo/freebsd-user-groups)
Õýðýãëýã÷èéí á³ëãèéí çîõèöóóëàëòûí æàãñààëò Ýíý íü á³ñ íóòãèéí Õýðýãëýã÷äèéí á³ëýã á³ðèéí çîõèöóóëàã÷èä íýã íýãýíòýéãýý áîëîí ãîë áàãèéí õàðèóöñàí õ³íòýé þìñ õýëýëöýõýä çîðèóëàãäñàí çàõèäëûí æàãñààëò þì. Ýíý çàõèäëûí æàãñààëò íü åð°íõèé àãóóëãóóä áîëîí õýðýãëýã÷èéí á³ëã³³äýä òàðõñàí ò°ñë³³äèéí çîõèöóóëàëòàä òààðàí õÿçãààðëàãäñàí áàéõ ¼ñòîé. freebsd-vendors (http://lists.FreeBSD.org/mailman/listinfo/freebsd-vendors)
éëäâýðëýã÷èä FreeBSD ò°ñ°ë áîëîí FreeBSD-ä çîðèóëñàí ïðîãðàì õàíãàìæ áà òîíîã ò°õ°°ð°ìæèéí ³éëäâýðëýã÷äèéí õîîðîíäîõ õýëýëö³³ëã³³äèéí çîõèöóóëàëò.
1011
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä freebsd-virtualization (http://lists.FreeBSD.org/mailman/listinfo/freebsd-virtualization) FreeBSD-èéí äýìæäýã ò°ð°ë á³ðèéí âèðòóàë÷ëàëûí òåõíèê³³äèéí òàëààðõ õýëýëö³³ëýã
FreeBSD-èéí äýìæäýã ò°ð°ë á³ðèéí âèðòóàë÷ëàëûí òåõíèê³³äèéí òàëààð õýëýëöýõ æàãñààëò. Íýã òàëààñàà ³íäñýí àæèëëàãààíû øèéäýë áîëîí øèíý òåõíèê³³ä íýìýõ òàë äýýð ò°âë°ð°õ áîëíî. Í°ã°° òàëààñàà õýðýãëýã÷äýä ÿìàð íýã àñóóäàë ãàðñàí ³åä òóñëàìæ ãóéõ ýñâýë °°ðñäèéíõ°° õýðýãëýýíèé òîõèîëäëóóäûã õýëýëöýõ õýëýëö³³ëýã áàéõ áîëíî. freebsd-wip-status (http://lists.FreeBSD.org/mailman/listinfo/freebsd-wip-status) FreeBSD-èéí Work-In-Progress áóþó õèéãäýæ áàéãàà àæëóóäûí ò°ë°â
Ýíýõ³³ çàõèäëûí æàãñààëòûã FreeBSD-òýé õîëáîîòîé °°ðèéí ýõë³³ëæ áàéãàà àæèë áîëîí ò³³íèé ÿâöûã çàðëàõàä àøèãëàæ áîëîõ þì. Çàõèäëóóä íü õÿíàãääàã. Èë³³ ñýäýâò îéð FreeBSD-èéí æàãñààëò ðóó "To:" äýýð õàÿãèéã áè÷èí, õàðèí ýíý æàãñààëò ðóó "BCC:" õèéæ çàõèäëûã èëãýýõ íü ç³éòýé þì. Ýíý æàãñààëòàä õýëýëö³³ëýã ç°âø°°ð°ãää°ãã³é ó÷èð èíãýñíýýð òàíû WIP áàñ òóõàéí ñýäýâòýé õîëáîîòîé æàãñààëòàä õýëýëöýãäýõ áîëîìæòîé þì. Òîõèðîìæòîé çàõèäëóóäûí æèøýýã àðõèâààñ ³çíý ³³. Ýíý æàãñààëòàä ÿâóóëñàí çàõèäëóóäûí ðåäàêòîðûí òîéìûã FreeBSD-èéí âýá õóóäñàíä õýäýí ñàð òóòàì Ò°ëâèéí Òàéëàíãèéí õýñýã áîëãîí òàâüæ áîëîõ þì. Òýíäýýñ èë³³ îëîí æèøýýí³³ä áîëîí õóó÷èí òàéëàíãóóäûã òà áàñ îëæ áîëîõ þì. 1
freebsd-xen (http://lists.FreeBSD.org/mailman/listinfo/freebsd-xen) FreeBSD-èéí Xen ïîðòûí õýëýëö³³ëýã — øèéäýë áà õýðýãëýý
Ýíý æàãñààëò íü FreeBSD-èéí Xen ïîðòûí òàëààð õýëýëöäýã. Çàõèäëûí óðñãàëûí ò³âøèí áàãà áîëîõîîð äèçàéíû íàðèéí ç³éëñ³³ä áà øèéäëèéí òåõíèêèéí õýëýëö³³ëýã áîëîí õýðýãæ³³ëýõòýé õîëáîîòîé óäèðäëàãûí àñóóäëóóäûã õýëýëöýõýýð çîðèóëàãäñàí.
C.1.4
Çàõèäëûí æàãñààëòóóä äýýðõ ø³³ëò
FreeBSD-èéí çàõèäëûí æàãñààëòóóä íü ñïàì, âèðóñ, áîëîí áóñàä õ³ñýýã³é öàõèì çàõèäëóóäààñ ñýðãèéëýõèéí òóëä îëîí àðãààð ø³³ãääýã. Ýíý õýñýãò òàéëáàðëàñàí ø³³ëò õèéõ ³éëäë³³ä íü çàõèäëûí æàãñààëòóóäûã õàìãààëàõàä õýðýãëýãääýã á³õ ç³éëñèéã õàìðàõã³é.
Çàõèäëûí æàãñààëòàä ç°âõ°í òîäîðõîé ò°ðëèéí õàâñðàëòóóä ç°âø°°ð°ãää°ã. Äîîðõ æàãñààëòàä äóðäàãäààã³é MIME àãóóëãûí ò°ð°ë á³õèé á³õ õàâñðàëòóóä çàõèäëûí æàãñààëòàä öàõèì çàõèäàë ò³ãýýãäýõýýñ °ìí° àâàãääàã.
•
application/octet-stream
•
application/pdf
•
application/pgp-signature
•
application/x-pkcs7-signature
•
message/rfc822
•
multipart/alternative
•
multipart/related
1012
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä •
multipart/signed
•
text/html
•
text/plain
•
text/x-diff
•
text/x-patch Note: Çàðèì çàõèäëûí æàãñààëòóóä áóñàä MIME àãóóëãûí ò°ðëèéí õàâñðàëòóóäûã ç°âø°°ð÷ áîëîõ áîëîâ÷ äýýðõ æàãñààëò íü çàõèäëûí æàãñààëòóóäûí èõýíõ õýñýãò õàìààðàõ áîëíî.
Õýðýâ öàõèì çàõèäàë HTML áîëîí öýâýð òåêñò õóâèëáàðûã õî¼óëàíã àãóóëæ áàéâàë HTML õóâèëáàðûã óñòãàõ áîëíî. Õýðýâ öàõèì çàõèäàë ç°âõ°í HTML õóâèëáàðûã àãóóëæ áàéâàë ýíý íü öýâýð òåêñò ð³³ õ°ðâ³³ëýãäýõ áîëíî. C.2 Usenet Newsgroups
áóþó ìýäýýíèé á³ëã³³ä
FreeBSD-èéí õî¼ð òóñãàé ìýäýýíèé á³ëãýýñ ãàäíà FreeBSD-í òàëààð õýëýëöäýã þì óó ýñâýë FreeBSD õýðýãëýã÷èäòýé õîëáîîòîé áóñàä îëîí á³ëã³³ä áàéäàã. Ýäãýýð ìýäýýíèé á³ëã³³äýä çîðèóëàãäñàí Ò³ëõ³³ð ³ãýýð õàéãäàõ áîëîìæòîé àðõèâóóä (http://minnie.tuhs.org/BSD-info/bsdnews_search.html)ûã Warren Toomey <[email protected] > ñàíàë áîëãîäîã.
òýé õîëáîîòîé ìýäýýíèé á³ëã³³ä
C.2.1 BSD•
comp.unix.bsd.freebsd.announce (news:comp.unix.bsd.freebsd.announce)
•
comp.unix.bsd.freebsd.misc (news:comp.unix.bsd.freebsd.misc)
•
de.comp.os.unix.bsd (news:de.comp.os.unix.bsd) (German)
•
fr.comp.os.bsd (news:fr.comp.os.bsd) (French)
•
it.comp.os.freebsd (news:it.comp.os.freebsd) (Italian)
•
tw.bbs.comp.386bsd (news:tw.bbs.comp.386bsd) (Traditional Chinese)
C.2.2
Áóñàä ñîíèðõîë òàòàõóéö UNIX-èéí ìýäýýíèé á³ëã³³ä
•
comp.unix (news:comp.unix)
•
comp.unix.questions (news:comp.unix.questions)
•
comp.unix.admin (news:comp.unix.admin)
•
comp.unix.programmer (news:comp.unix.programmer)
•
comp.unix.shell (news:comp.unix.shell)
•
comp.unix.user-friendly (news:comp.unix.user-friendly)
1013
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä •
comp.security.unix (news:comp.security.unix)
•
comp.sources.unix (news:comp.sources.unix)
•
comp.unix.advocacy (news:comp.unix.advocacy)
•
comp.unix.misc (news:comp.unix.misc)
•
comp.bugs.4bsd (news:comp.bugs.4bsd)
•
comp.bugs.4bsd.ucb-fixes (news:comp.bugs.4bsd.ucb-fixes)
•
comp.unix.bsd (news:comp.unix.bsd)
C.2.3 X
Öîíõîò Ñèñòåì
•
comp.windows.x.i386unix (news:comp.windows.x.i386unix)
•
comp.windows.x (news:comp.windows.x)
•
comp.windows.x.apps (news:comp.windows.x.apps)
•
comp.windows.x.announce (news:comp.windows.x.announce)
•
comp.windows.x.intrinsics (news:comp.windows.x.intrinsics)
•
comp.windows.x.motif (news:comp.windows.x.motif)
•
comp.windows.x.pex (news:comp.windows.x.pex)
•
comp.emulators.ms-windows.wine (news:comp.emulators.ms-windows.wine)
C.3 Word Wide Web C.3.1 •
•
•
ñåðâåð³³ä
Ôîðóì, áëîã, áîëîí íèéãìèéí ñ³ëæýýí³³ä
FreeBSD-èéí îðóìóóä (http://forums.freebsd.org/) íü FreeBSD-èéí àñóóëòóóä áîëîí òåõíèêèéí õýëýëö³³ëýãò çîðèóëñàí âýá äýýð ñóóðèëñàí õýëýëö³³ëãèéí îðóìóóä þì. FreeBSD-èéí åðò°íö (http://planet.freebsdish.org/) íü FreeBSD-èéí õ°ãæ³³ëýã÷äèéí áè÷ñýí õýäýí àðâàí áëîã äýýðõ ìýäýýëëèéã öóãëóóëæ õàðóóëàõ áîëîìæèéã á³ðä³³ëäýã. Îëîí õ°ãæ³³ëýã÷ þóí äýýð àæèëëàæ áàéãààãàà áîëîí øèíý í°õ°°ñ³³ä áà áóñàä õèéãäýæ áàéãàà àæëóóäûíõàà òàëààð èëãýýõäýý ³³íèéã àøèãëàäàã. YouTube ñóâàã äýýðõ BSD-èéí õóðëóóä (http://www.youtube.com/bsdconferences) íü äýëõèé äàÿàð áîëñîí BSD õóðëóóäûí °íä°ð ÷àíàðòàé âèäåîíóóäûí öóãëóóëãûã àãóóëäàã. Ýíý íü ãîë õ°ãæ³³ëýã÷äèéí FreeBSD äýýðõ °°ðñäèéí øèíý àæëóóäûíõàà òàëààð èëòãýë òàâèõûã íü ³çýõ øèëäýã àðãà þì.
C.3.2
Àëáàí ¼ñíû òîëèí õóóäàñíóóä
Ò°â ñåðâåð³³ä, ÀÍÓ, Àâñòðàë, Àâñòðè, Àðãåíòèí, Àðìåí, Áåëüãè, Áîëãàð, Áðàçèë, åðìàí, ðåê, Äàíè, Èíäîíåç, Èðëàíä, Èñëàíä, Èñïàíè, Èòàë, Èõ Áðèòàíè, Êàíàä, Êèðãûçñòàí, Êîñòà èêà, Êóâåéò, 1014
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Ëàòâè, Ëèòâà, Íèäåðëàíä, Íîðâåã, Îðîñ, Ïîëüø, Ïîðòóãàë, óìûí, Ñàí Ìàðèíî, Ñèíãàïóð, Ñëîâàê, Ñëîâåí, Ñîëîíãîñ, Òàéâàíü, Òàéëàíä, Òóðê, Óêðàéí, Óíãàð, Ôèëèïïèí, Ôèíëàíä, Ôðàíö, Õîíã Êîíã, Õÿòàä, ×åõ, Øâåä, Øâåéöàðü, Øèíý Çåëàíä, Ýñòîí, ßïîí, ìí°ä Àðèê. (as of 2009/02/23 12:27:32 UTC) •
Ò°â ñåðâåð³³ä •
http://www.FreeBSD.org/
•
ÀÍÓ •
http://www2.us.FreeBSD.org/
•
http://www4.us.FreeBSD.org/ (IPv6)
•
http://www5.us.FreeBSD.org/ (IPv6)
•
Àâñòðàë •
http://www.au.FreeBSD.org/
•
http://www2.au.FreeBSD.org/
•
Àâñòðè •
http://www.at.FreeBSD.org/
•
http://www2.at.FreeBSD.org/ (IPv6)
•
Àðãåíòèí •
http://www.ar.FreeBSD.org/
•
Àðìåí •
http://www1.am.FreeBSD.org/ (IPv6)
•
Áåëüãè •
http://freebsd.unixtech.be/
1015
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
•
Áîëãàð •
http://www.bg.FreeBSD.org/
•
http://www2.bg.FreeBSD.org/
•
Áðàçèë •
http://www.br.FreeBSD.org/
•
http://www2.br.FreeBSD.org/www.freebsd.org/
•
http://www3.br.FreeBSD.org/
•
åðìàí •
http://www.de.FreeBSD.org/
•
ðåê •
http://www.gr.FreeBSD.org/
•
Äàíè •
http://www.dk.FreeBSD.org/ (IPv6)
•
http://www3.dk.FreeBSD.org/
•
Èíäîíåç •
http://www.id.FreeBSD.org/
•
Èðëàíä •
http://www.ie.FreeBSD.org/
•
http://www2.ie.FreeBSD.org/
•
1016
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Èñëàíä •
http://www.is.FreeBSD.org/
•
Èñïàíè •
http://www.es.FreeBSD.org/
•
http://www2.es.FreeBSD.org/
•
http://www3.es.FreeBSD.org/
•
Èòàë •
http://www.it.FreeBSD.org/
•
http://www.gufi.org/mirrors/www.freebsd.org/data/
•
Èõ Áðèòàíè •
http://www1.uk.FreeBSD.org/
•
http://www3.uk.FreeBSD.org/
•
Êàíàä •
http://www.ca.FreeBSD.org/
•
http://www2.ca.FreeBSD.org/
•
Êèðãûçñòàí •
http://www.kg.FreeBSD.org/
•
Êîñòà èêà •
http://www1.cr.FreeBSD.org/
•
Êóâåéò •
http://www.kw.FreeBSD.org/
1017
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
•
Ëàòâè •
http://www.lv.FreeBSD.org/
•
http://www2.lv.FreeBSD.org/
•
Ëèòâà •
http://www.lt.FreeBSD.org/
•
Íèäåðëàíä •
http://www.nl.FreeBSD.org/
•
http://www2.nl.FreeBSD.org/
•
Íîðâåã •
http://www.no.FreeBSD.org/
•
Îðîñ •
http://www.ru.FreeBSD.org/
•
http://www2.ru.FreeBSD.org/
•
http://www3.ru.FreeBSD.org/
•
http://www4.ru.FreeBSD.org/
•
http://www5.ru.FreeBSD.org/
•
Ïîëüø •
http://www.pl.FreeBSD.org/
•
http://www2.pl.FreeBSD.org/
•
Ïîðòóãàë •
http://www.pt.FreeBSD.org/
1018
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä •
http://www1.pt.FreeBSD.org/
•
http://www4.pt.FreeBSD.org/
•
http://www5.pt.FreeBSD.org/
•
óìûí •
http://www.ro.FreeBSD.org/
•
http://www1.ro.FreeBSD.org/
•
http://www2.ro.FreeBSD.org/
•
http://www3.ro.FreeBSD.org/
•
Ñàí Ìàðèíî •
http://www.sm.FreeBSD.org/
•
Ñèíãàïóð •
http://www2.sg.FreeBSD.org/
•
Ñëîâàê •
http://www.sk.FreeBSD.org/
•
Ñëîâåí •
http://www.si.FreeBSD.org/
•
http://www2.si.FreeBSD.org/
•
Ñîëîíãîñ •
http://www.kr.FreeBSD.org/
•
http://www2.kr.FreeBSD.org/
•
Òàéâàíü 1019
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä •
http://www.tw.FreeBSD.org/ (IPv6)
•
http://www2.tw.FreeBSD.org/
•
http://www3.tw.FreeBSD.org/
•
http://www4.tw.FreeBSD.org/
•
http://www5.tw.FreeBSD.org/ (IPv6)
•
http://www6.tw.FreeBSD.org/
•
http://www7.tw.FreeBSD.org/
•
Òàéëàíä •
http://www.th.FreeBSD.org/
•
Òóðê •
http://www.tr.FreeBSD.org/
•
http://www2.tr.FreeBSD.org/
•
http://www3.tr.FreeBSD.org/ (IPv6)
•
Óêðàéí •
http://www.ua.FreeBSD.org/
•
http://www2.ua.FreeBSD.org/
•
http://www5.ua.FreeBSD.org/
•
http://www4.ua.FreeBSD.org/
•
Óíãàð •
http://www.hu.FreeBSD.org/
•
http://www2.hu.FreeBSD.org/
•
Ôèëèïïèí •
http://www.FreeBSD.org.ph/
•
1020
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä
Ôèíëàíä •
http://www.fi.FreeBSD.org/
•
http://www2.fi.FreeBSD.org/
•
Ôðàíö •
http://www.fr.FreeBSD.org/
•
http://www1.fr.FreeBSD.org/
•
Õîíã Êîíã •
http://www.hk.FreeBSD.org/
•
Õÿòàä •
http://www.cn.FreeBSD.org/
•
×åõ •
http://www.cz.FreeBSD.org/
•
Øâåä •
http://www.se.FreeBSD.org/
•
http://www2.se.FreeBSD.org/
•
Øâåéöàðü •
http://www.ch.FreeBSD.org/
•
http://www2.ch.FreeBSD.org/
•
Øèíý Çåëàíä •
http://www.nz.FreeBSD.org/
1021
Appendix C. Èíòåðíýò äýõ ýõ ³³ñâýð³³ä •
Ýñòîí •
http://www.ee.FreeBSD.org/
•
ßïîí •
http://www.jp.FreeBSD.org/www.FreeBSD.org/ (IPv6)
•
ìí°ä Àðèê •
http://www.za.FreeBSD.org/
•
http://www2.za.FreeBSD.org/
C.4
Öàõèì çàõèäëûí õàÿãóóä
Äàðààõ õýðýãëýã÷èéí á³ëã³³ä íü FreeBSD-òýé õîëáîîòîé öàõèì çàõèäëûí õàÿãóóäûã °°ðñäèéí ãèø³³ääýý õàíãàäàã. Æàãñààãäñàí àäìèíèñòðàòîð íü õàÿãèéã áóðóóãààð àøèãëàñàí òîõèîëäîëä öóöëàõ ýðõèéã ýäýëäýã.
Äîìýéí ukug.uk.FreeBSD.org
Áîëîìæóóä Ç°âõ°í äàìæóóëàõ
Õýðýãëýã÷èéí á³ëýã
Àäìèíèñòðàòîð
Notes 1. http://www.freebsd.org/news/status/
1022
Appendix D. PGP
ò³ëõ³³ð³³ä
Àëáàí õààã÷èä ýñâýë õ°ãæ³³ëýã÷äèéí àëü íýãíèé ãàðûí ³ñãèéã øàëãàõ ýñâýë òýäýíä øèðëýñýí öàõèì çàõèäàë èëãýýõ õýðýã ãàðàõ ³åä òàíû àÿ òóõàíä çîðèóëàí õýä õýäýí ò³ëõ³³ð³³äèéã ýíä òàâèâ. FreeBSD.org-èéí õýðýãëýã÷äèéí á³ðýí ã³éöýä ò³ëõ³³ð³³äèéã http://www.FreeBSD.org/doc/pgpkeyring.txt õàÿãààñ òàòàæ àâàõ áîëîìæòîé. D.1
Àëáàí õààã÷èä
D.1.1 pub sub
1024D/CA6CDFB2 2002-08-27 FreeBSD Security Officer <[email protected] > Key fingerprint = C374 0FC5 69A6 FBB1 4AED B131 15D6 8804 CA6C DFB2 2048g/A3071809 2002-08-27
D.1.2 pub
Àþóëã³é áàéäëûí Ò³øìýäèéí Áàã <[email protected] >
îë áàãèéí íàðèéí áè÷èã
1024R/FF8AE305 2002-01-08 [email protected] Key fingerprint = CE EF 8A 48 70 00 B5 A9 55 69 DE 87 E3 9A E1 CD
Ïîðòûí Óäèðäëàãûí Áàãèéí Íàðèéí áè÷èã
D.1.3 <[email protected] > pub uid sub
D.2
1024D/7414629C 2005-11-30 Key fingerprint = D50C BA61 8DC6 C42E 4C05 BF9A 79F6 E071 7414 629C FreeBSD portmgr secretary <[email protected] > 2048g/80B696E6 2005-11-30
îë áàãèéí ãèø³³ä
D.2.1 Wilko Bulte <[email protected] > pub uid sub
1024D/186B8DBD 2006-07-29 Key fingerprint = 07C2 6CB3 9C18 D290 6C5F 8879 CF83 EC86 186B 8DBD Wilko Bulte ([email protected] ) <[email protected] > 2048g/1C4683F1 2006-07-29
1023
Appendix D. PGP ò³ëõ³³ð³³ä
D.2.2 Brooks Davis pub uid uid uid sub sub
1024D/F2381AD4 2001-02-10 Brooks Davis (The Aerospace Corporation) Key fingerprint = 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 Brooks Davis Brooks Davis Brooks Davis 2048g/CFDACA7A 2003-01-25 [expires: 2008-01-24] 1024g/42921194 2001-02-10 [expires: 2009-02-08]
D.2.3 Giorgos Keramidas pub uid uid uid uid uid sub
1024D/318603B6 2001-09-21 Key fingerprint = C1EB 0653 DB8B Giorgos Keramidas Giorgos Keramidas Giorgos Keramidas Giorgos Keramidas Giorgos Keramidas 1024g/50FDBAD1 2001-09-21
A557 3829 00F9 D60F 941A 3186 03B6
D.2.4 George V. Neville-Neil pub uid uid sub
1024D/440A33D2 2002-09-17 Key fingerprint = AF66 410F CC8D 1FC9 17DB 6225 61D8 76C1 440A 33D2 George V. Neville-Neil George V. Neville-Neil 2048g/95A74F6E 2002-09-17
D.2.5 Hiroki Sato pub uid uid uid uid uid uid uid uid sub
1024D/2793CF2D 2001-06-12 Key fingerprint = BDB3 443F A5DD B3D0 A530 FFD7 4F2C D3D8 2793 CF2D Hiroki Sato Hiroki Sato Hiroki Sato Hiroki Sato Hiroki Sato Hiroki Sato Hiroki Sato Hiroki Sato 1024g/8CD251FF 2001-06-12
1024
Appendix D. PGP ò³ëõ³³ð³³ä
D.2.6 Murray Stokely <[email protected] > pub sub
1024D/0E451F7D 2001-02-12 Murray Stokely <[email protected] > Key fingerprint = E2CA 411D DD44 53FD BB4B 3CB5 B4D7 10A2 0E45 1F7D 1024g/965A770C 2001-02-12
D.2.7 Kris Kennaway pub uid uid sub
D.3
1024D/68E840A5 2000-01-14 Kris Kennaway Key fingerprint = E65D 0E7D 7E16 B212 1BD6 39EE 5ABC B405 68E8 40A5 Kris Kennaway Kris Kennaway 2048g/03A41C45 2000-01-14 [expires: 2006-01-14]
Õ°ãæ³³ëýã÷èä
D.3.1 Ariff Abdullah <[email protected] > pub uid uid uid sub
1024D/C5304CDA 2005-10-01 Key fingerprint = 5C7C 6BF4 8293 DE76 27D9 FD57 96BF 9D78 C530 4CDA Ariff Abdullah <[email protected] > Ariff Abdullah <[email protected] > Ariff Abdullah <[email protected] > 2048g/8958C1D3 2005-10-01
D.3.2 Shaun Amott <[email protected] > pub uid uid sub sub sub
1024D/6B387A9A 2001-03-19 Key fingerprint = B506 E6C7 74A1 CC11 9A23 5C13 9268 5D08 6B38 7A9A Shaun Amott <[email protected] > Shaun Amott <[email protected] > 2048g/26FA8703 2001-03-19 2048R/7FFF5151 2005-11-06 2048R/27C54137 2005-11-06
D.3.3 Henrik Brix Andersen pub uid uid sub
1024D/54E278F8 2003-04-09 Key fingerprint = 7B63 EF32 7831 A704 220D 7E61 BFE4 387E 54E2 78F8 Henrik Brix Andersen Henrik Brix Andersen 1024g/3B13C209 2003-04-09
1025
Appendix D. PGP ò³ëõ³³ð³³ä
D.3.4 Will Andrews <[email protected] > pub uid uid uid uid uid uid sub
1024D/F81672C5 2000-05-22 Will Andrews (Key for official matters) <[email protected] > Key fingerprint = 661F BBF7 9F5D 3D02 C862 5F6C 178E E274 F816 72C5 Will Andrews <[email protected] > Will Andrews <[email protected] > Will Andrews <[email protected] > Will Andrews <[email protected] > Will Andrews <[email protected] > Will Andrews <[email protected] > 1024g/55472804 2000-05-22
D.3.5 Eric Anholt pub uid uid sub
1024D/6CF0EAF7 2003-09-08 Key fingerprint = 76FE 2475 820B B75F DCA4 0F3E 1D47 6F60 6CF0 EAF7 Eric Anholt <[email protected] > Eric Anholt 1024g/80B404C1 2003-09-08
D.3.6 Mathieu Arnold <[email protected] > pub uid uid uid uid uid uid uid uid sub
1024D/FE6D850F 2005-04-25 Key fingerprint = 2771 11F4 0A7E 73F9 ADDD A542 26A4 7C6A FE6D 850F Mathieu Arnold <[email protected] > Mathieu Arnold <[email protected] > Mathieu Arnold <[email protected] > Mathieu Arnold <[email protected] > Mathieu Arnold <[email protected] > Mathieu Arnold <[email protected] > Mathieu Arnold <[email protected] > Mathieu Arnold <[email protected] > 2048g/EAD18BD9 2005-04-25
D.3.7 Marcelo Araujo <[email protected] > pub uid sub
1024D/53E4CFA8 2007-04-27 Key fingerprint = 9D6A 2339 925C 4F61 ED88 ED8B A2FC 4977 53E4 CFA8 Marcelo Araujo (Ports Committer) <[email protected] > 2048g/63CC012D 2007-04-27
D.3.8 Satoshi Asami pub uid
1024R/1E08D889 1997-07-23 Satoshi Asami Key fingerprint = EB 3C 68 9E FB 6C EB 3F DB 2E 0F 10 8F CE 79 CA Satoshi Asami
1026
Appendix D. PGP ò³ëõ³³ð³³ä
D.3.9 Philippe Audeoud <[email protected] > pub uid uid uid uid sub
1024D/C835D40E 2005-04-13 Key fingerprint = D090 8C96 3612 15C9 4E3E 7A4A E498 FC2B C835 D40E Philippe Audeoud <[email protected] > Philippe Audeoud Philippe Audeoud Philippe Audeoud <[email protected] > 2048g/EF8EA329 2005-04-13
D.3.10 Timur I. Bakeyev pub uid uid uid uid uid uid sub
1024D/60BA1F47 2002-04-27 Key fingerprint = 84BF EAD1 607D 362F 210E 69B3 0BF0 6412 60BA 1F47 Timur I. Bakeyev (BaT) Timur I. Bakeyev Timur I. Bakeyev (BaT) Timur I. Bakeyev (BaT) Timur I. Bakeyev (BaT) Timur I. Bakeyev